*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;font-size:var(--text-base);}body{font-family:var(--font-body);background:radial-gradient(50rem 32rem at 88% -6%,rgba(255,122,41,0.07),transparent 60%),radial-gradient(56rem 36rem at -10% 30%,rgba(58,160,255,0.08),transparent 62%),var(--bg-primary);color:var(--fg-primary);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;overflow-x:hidden;}a{color:inherit;text-decoration:none;}button{font-family:inherit;background:none;border:none;cursor:pointer;color:inherit;font-size:inherit;}img{max-width:100%;height:auto;display:block;}ul{list-style:none;}::selection{background:rgba(58,160,255,0.35);color:#fff;}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--border-radius);}.skip-link{position:absolute;top:-100%;left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--accent-cyan);color:#04121c;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;border-radius:var(--border-radius);z-index:var(--z-modal);transition:top var(--transition-fast);}.skip-link:focus{top:var(--space-4);}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-4);}.section{padding:var(--space-10) 0;position:relative;z-index:var(--z-content);}.section-header{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;}.section-number{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:500;background:var(--grad-blue);-webkit-background-clip:text;background-clip:text;color:transparent;}.section-title{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;letter-spacing:-0.035em;margin-bottom:var(--space-6);position:relative;display:inline-block;}.title-accent{background:var(--grad-blue);-webkit-background-clip:text;background-clip:text;color:transparent;}.title-accent-alt{background:var(--grad-orange);-webkit-background-clip:text;background-clip:text;color:transparent;}.section-intro{color:var(--fg-secondary);font-size:var(--text-base);line-height:1.75;max-width:700px;margin-bottom:var(--space-6);}.project-search{min-width:12rem;min-height:2.5rem;padding:0 var(--space-3);color:var(--fg-primary);background:rgba(8,14,28,0.72);border:1px solid var(--border-glass);border-radius:999px;font:0.72rem var(--font-mono);outline:none;}.project-search::placeholder{color:var(--fg-muted);}.project-search:focus{border-color:var(--accent-cyan);box-shadow:var(--focus-ring);}.project-card-links{display:inline-flex;gap:0.45rem;align-items:center;}.project-icon-link{display:inline-grid;place-items:center;width:2rem;height:2rem;color:var(--fg-secondary);border:1px solid var(--border-glass);border-radius:50%;background:rgba(8,14,28,0.56);transition:transform var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);}.project-icon-link svg{width:1rem;height:1rem;}.project-icon-link:hover,.project-icon-link:focus-visible{color:var(--accent-hot);border-color:var(--accent-cyan);background:rgba(58,160,255,0.14);transform:translateY(-2px);}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:700;letter-spacing:0.04em;border-radius:999px;position:relative;overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast);}.btn-primary{background:var(--grad-brand);color:#04121c;border:none;box-shadow:0 10px 28px rgba(58,160,255,0.3);}.btn-primary::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,0.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform 0.6s ease;}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(58,160,255,0.42);}.btn-primary:hover::after{transform:translateX(120%);}.btn-secondary{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--fg-primary);border:1px solid var(--border-glass);}.btn-secondary:hover{background:rgba(58,160,255,0.1);border-color:rgba(58,160,255,0.5);color:var(--accent-hot);transform:translateY(-2px);box-shadow:var(--glow-blue);}.nav{position:fixed;top:var(--space-4);left:50%;transform:translateX(-50%);z-index:var(--z-nav);background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:999px;padding:var(--space-2) var(--space-5);box-shadow:0 14px 44px rgba(2,6,16,0.55),inset 0 1px 0 rgba(255,255,255,0.06);transition:border-color var(--transition-normal),box-shadow var(--transition-normal);}.nav:hover{border-color:rgba(122,170,255,0.28);}.nav-container{display:flex;align-items:center;gap:var(--space-4);}.nav-logo{font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);letter-spacing:0.02em;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;transition:filter var(--transition-fast);}.nav-logo:hover{filter:brightness(1.2) drop-shadow(0 0 10px rgba(58,160,255,0.5));}.nav-menu{display:flex;gap:var(--space-1);}.nav-link{font-family:var(--font-mono);font-size:0.72rem;font-weight:500;letter-spacing:0.1em;color:var(--fg-secondary);padding:var(--space-2) var(--space-3);border-radius:999px;transition:color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);position:relative;}.nav-link:hover{color:var(--fg-primary);background:rgba(122,170,255,0.08);transform:translateY(-1px);}.nav-link.active{color:var(--accent-hot);background:rgba(58,160,255,0.12);box-shadow:inset 0 0 0 1px rgba(58,160,255,0.25);}.nav-toggle{display:none;width:44px;height:44px;position:relative;}.nav-chat{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:0.66rem;font-weight:700;letter-spacing:0.14em;color:#04121c;background:var(--grad-orange);border-radius:999px;padding:var(--space-2) var(--space-4);box-shadow:0 6px 18px rgba(255,122,41,0.3);transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast);}.nav-chat:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(255,122,41,0.45);filter:brightness(1.06);}.nav-chat-dot{width:6px;height:6px;border-radius:50%;background:#2a1005;animation:status-pulse 2.4s ease-in-out infinite;}.bgm-toggle{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-nav);display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:0.62rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-hot);background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:999px;padding:var(--space-2) var(--space-3);cursor:pointer;white-space:nowrap;box-shadow:0 10px 30px rgba(2,6,16,0.45);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);}.bgm-text{max-width:0;opacity:0;overflow:hidden;transform:translateX(4px);transition:max-width var(--transition-normal),opacity var(--transition-normal),transform var(--transition-normal);}.bgm-state{opacity:0.8;transition:opacity var(--transition-fast);}.bgm-icon{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;flex:none;}.bgm-icon svg{display:block;}.bgm-pause{display:none;}.bgm-toggle.is-playing .bgm-glyph{display:none;}.bgm-toggle.is-playing .bgm-pause{display:block;}.bgm-toggle:hover,.bgm-toggle:focus-visible{background:rgba(58,160,255,0.1);border-color:rgba(122,170,255,0.4);color:var(--fg-primary);box-shadow:var(--glow-blue);}.bgm-toggle:hover .bgm-text,.bgm-toggle:focus-visible .bgm-text{max-width:16rem;opacity:1;transform:translateX(0);}.bgm-toggle.is-playing{color:var(--accent-green);border-color:rgba(47,230,168,0.45);background:rgba(47,230,168,0.08);}.bgm-toggle.is-playing .bgm-state{opacity:1;}.hamburger,.hamburger::before,.hamburger::after{display:block;width:24px;height:2px;background:var(--fg-primary);position:absolute;left:50%;transform:translateX(-50%);transition:transform var(--transition-normal);}.hamburger{top:50%;transform:translate(-50%,-50%);}.hamburger::before{content:'';top:-7px;}.hamburger::after{content:'';top:7px;}.nav-toggle[aria-expanded="true"] .hamburger{background:transparent;}.nav-toggle[aria-expanded="true"] .hamburger::before{transform:translateX(-50%) rotate(45deg);top:0;}.nav-toggle[aria-expanded="true"] .hamburger::after{transform:translateX(-50%) rotate(-45deg);top:0;}.bg-scene{position:fixed;inset:0;z-index:1;pointer-events:none;}.bg-canvas{width:100%;height:100%;display:block;}.robot-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:12;pointer-events:none;}.journey-rail{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:var(--z-nav);display:flex;flex-direction:column;gap:14px;}.rail-dot{position:relative;width:12px;height:12px;border-radius:50%;background:transparent;border:2px solid var(--fg-muted);opacity:0.5;padding:0;transition:border-color var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);}.rail-dot:hover{border-color:var(--accent-cyan);opacity:1;transform:scale(1.25);}.rail-dot.active{border-color:var(--accent-cyan);opacity:1;transform:scale(1.2);background:var(--accent-cyan);box-shadow:0 0 14px rgba(58,160,255,0.8),0 0 4px rgba(58,160,255,0.9);}.rail-tip{position:absolute;right:22px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.08em;color:var(--accent-hot);background:rgba(6,10,20,0.92);border:1px solid var(--border-glass);padding:3px 8px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast);}.rail-dot:hover .rail-tip,.rail-dot:focus-visible .rail-tip{opacity:1;transform:translateY(-50%) translateX(-2px);}.hero{min-height:100vh;position:relative;overflow:hidden;}.hero-container{display:flex;align-items:center;min-height:100vh;width:100%;padding:var(--header-height) var(--space-6) 0;}.hero-content{text-align:left;max-width:640px;position:relative;z-index:2;}.hero-content::after{content:'';display:block;width:min(38vw,420px);height:1px;}.hero-label{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-muted);letter-spacing:0.2em;margin-bottom:var(--space-3);text-transform:uppercase;}.hero-label-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-green);box-shadow:0 0 10px var(--accent-green);animation:status-pulse 2.2s ease-in-out infinite;}.hero-title{font-family:var(--font-heading);font-size:var(--text-hero);font-weight:700;letter-spacing:-0.045em;line-height:1.02;margin-bottom:var(--space-4);}.hero-title-accent{background:var(--grad-orange);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(255,122,41,0.3));}.hero-subtitle{font-size:var(--text-lg);color:var(--fg-secondary);margin-bottom:var(--space-6);line-height:1.6;}.hero-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;}.webgl-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);z-index:var(--z-content);padding:var(--space-6);}.fallback-content{text-align:center;max-width:400px;color:var(--fg-secondary);}.fallback-content p{margin-bottom:var(--space-3);}.scroll-indicator{position:absolute;bottom:var(--space-6);left:50%;transform:translateX(-50%);opacity:0;transition:opacity 0.45s ease;}.scroll-indicator.is-visible{opacity:1;}.mouse{width:26px;height:42px;border:2px solid var(--border-strong);border-radius:13px;display:block;position:relative;}.mouse::before{content:'';position:absolute;top:8px;left:50%;width:4px;height:8px;background:var(--accent-cyan);border-radius:2px;transform:translateX(-50%);animation:scrollMove 1.5s infinite;}@keyframes scrollMove{0%{opacity:1;top:8px}100%{opacity:0;top:24px}}.glass-card{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);box-shadow:var(--shadow-card),inset 0 1px 0 rgba(255,255,255,0.05);}.about-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:var(--space-5);align-items:stretch;}.about-card{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:var(--shadow-card),inset 0 1px 0 rgba(255,255,255,0.05);transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal);}.about-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(92,214,255,0.5),transparent);opacity:0.6;}.about-card:hover{border-color:rgba(92,214,255,0.3);transform:translateY(-3px);}.about-card-alt::before{background:linear-gradient(90deg,transparent,rgba(255,122,41,0.5),transparent);}.about-card-alt:hover{border-color:rgba(255,122,41,0.3);}.about-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);}.about-file{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:0.72rem;color:var(--fg-muted);}.about-file-dot{width:10px;height:10px;border-radius:50%;background:var(--accent-green);box-shadow:0 0 8px var(--accent-green);animation:status-pulse 2.4s ease-in-out infinite;}.about-quote{font-family:var(--font-heading);font-size:clamp(1.25rem,2.2vw,1.9rem);line-height:1.35;letter-spacing:-0.02em;color:var(--fg-primary);}.about-notes{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border-glass);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr;}.about-notes p{font-size:var(--text-sm);color:var(--fg-secondary);line-height:1.6;}.about-notes strong{display:block;color:var(--fg-primary);margin-bottom:var(--space-1);font-size:var(--text-sm);}.about-os-label{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-hot);margin-bottom:var(--space-6);}.about-os{display:flex;flex-direction:column;gap:var(--space-4);flex:1;}.about-os li{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-heading);font-size:var(--text-lg);transition:transform var(--transition-fast);}.about-os li:hover{transform:translateX(4px);}.about-os li span{font-family:var(--font-mono);font-size:0.7rem;color:var(--accent-orange);}.about-os li i{width:28px;height:1px;background:var(--border-strong);}.about-stats{display:flex;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border-glass);}.stat{text-align:center;}.stat-value{display:block;font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:700;line-height:1;background:var(--grad-blue);-webkit-background-clip:text;background-clip:text;color:transparent;}.stat-label{display:block;font-size:0.68rem;color:var(--fg-muted);margin-top:var(--space-1);text-transform:uppercase;letter-spacing:0.1em;}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6);}.filter-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;border-radius:999px;background:var(--glass);color:var(--fg-secondary);border:1px solid var(--border-glass);transition:all var(--transition-fast);font-family:var(--font-mono);letter-spacing:0.05em;text-transform:uppercase;}.filter-btn:hover{color:var(--accent-hot);border-color:rgba(58,160,255,0.4);transform:translateY(-1px);}.filter-btn.active{background:var(--grad-brand);color:#04121c;border-color:transparent;box-shadow:0 8px 22px rgba(58,160,255,0.32);}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5);}.projects-more{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-3);padding:var(--space-4) var(--space-4);border:1px solid var(--border-glass);border-radius:var(--border-radius-lg);background:linear-gradient(180deg,rgba(8,14,28,0.55) 0%,rgba(8,14,28,0.25) 100%);text-align:center;}.projects-more-line{flex:1 1 3rem;height:1px;background:linear-gradient(90deg,transparent,var(--border-glass),transparent);}.projects-more-text{flex:1 1 100%;margin:0;font:0.74rem var(--font-mono);color:var(--fg-secondary);letter-spacing:0.06em;}.projects-more-text [data-more-count]{color:var(--accent-cyan);}.projects-more-btn{padding:0.55rem 1rem;color:var(--fg-primary);background:rgba(8,14,28,0.72);border:1px solid var(--border-glass);border-radius:999px;font:0.7rem var(--font-mono);letter-spacing:0.08em;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);}.projects-more-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan);box-shadow:0 0 0 1px rgba(92,214,255,0.2),0 10px 24px rgba(2,6,16,0.4);}.projects-more-btn:active{transform:translateY(1px);}.projects-more-btn:focus-visible{outline:none;box-shadow:var(--focus-ring);}.projects-more-sep{font:0.7rem var(--font-mono);color:var(--fg-muted);}.project-card{background:transparent;border:none;border-radius:var(--border-radius-lg);overflow:visible;transition:none;position:relative;perspective:1000px;}.project-card-inner{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--border-radius-lg);overflow:hidden;position:relative;transform-style:preserve-3d;box-shadow:var(--shadow-card),inset 0 1px 0 rgba(255,255,255,0.05);transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal);}.project-card:hover .project-card-inner{transform:translateY(-8px) rotateX(2deg);box-shadow:0 28px 60px rgba(2,6,16,0.65),var(--glow-blue);border-color:rgba(92,214,255,0.35);}.project-card-border{position:absolute;inset:0;border-radius:var(--border-radius-lg);border:1px solid transparent;background:var(--grad-brand);-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--transition-normal);pointer-events:none;}.project-card:hover .project-card-border{opacity:0.7;}.project-card-visual{position:relative;aspect-ratio:16/10;overflow:hidden;background:radial-gradient(18rem 10rem at 70% 0%,rgba(58,160,255,0.16),transparent 70%),radial-gradient(14rem 9rem at 12% 100%,rgba(255,122,41,0.1),transparent 70%),linear-gradient(160deg,#0b1426,#070d1a);}.project-card-visual::after{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--grid-color-strong) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color-strong) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(ellipse at 60% 40%,black,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at 60% 40%,black,transparent 80%);}.project-number{position:absolute;top:var(--space-3);left:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;background:rgba(6,10,20,0.8);color:var(--accent-hot);padding:var(--space-1) var(--space-2);border-radius:var(--border-radius);border:1px solid var(--border-glass);z-index:2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}.project-card-visual img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);}.project-card:hover .project-card-visual img{transform:scale(1.08);}.project-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--accent-cyan);opacity:0.5;transition:opacity var(--transition-normal),transform var(--transition-normal);}.project-card:hover .project-placeholder{opacity:0.95;transform:scale(1.06);}.project-placeholder svg{width:60%;height:60%;filter:drop-shadow(0 0 14px rgba(58,160,255,0.4));}.project-card-glow{position:absolute;inset:-50%;background:radial-gradient(circle at center,rgba(58,160,255,0.16) 0%,transparent 70%);opacity:0;transition:opacity var(--transition-normal),transform var(--transition-fast);pointer-events:none;}.project-card:hover .project-card-glow{opacity:1;}.project-card-content{padding:var(--space-4);display:flex;flex-direction:column;flex:1;}.project-card-header{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2);}.project-category{font-family:var(--font-mono);font-size:0.65rem;font-weight:500;color:var(--accent-orange);text-transform:uppercase;letter-spacing:0.12em;}.project-card-title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2);line-height:1.3;letter-spacing:-0.02em;}.project-card-desc{font-size:var(--text-sm);color:var(--fg-secondary);flex:1;margin-bottom:var(--space-3);line-height:1.6;}.project-card-chips{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-3);}.tech-chip{font-size:0.65rem;font-weight:500;padding:var(--space-1) var(--space-2);border-radius:999px;background:rgba(58,160,255,0.07);color:var(--fg-secondary);border:1px solid rgba(58,160,255,0.16);transition:all var(--transition-fast);font-family:var(--font-mono);}.project-card:hover .tech-chip{border-color:rgba(58,160,255,0.35);color:var(--accent-hot);}.project-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-3);border-top:1px solid var(--border-glass);}.explore-btn{font-family:var(--font-mono);font-size:0.7rem;font-weight:600;color:var(--accent-hot);display:flex;align-items:center;gap:var(--space-1);transition:gap var(--transition-fast);}.explore-btn .arrow{transition:transform var(--transition-fast);}.project-card:hover .explore-btn .arrow{transform:translateX(4px);}.case-study-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.4s ease,visibility 0.4s ease;}.case-study-overlay[hidden]{display:none;}.case-study-backdrop{position:absolute;inset:0;background:rgba(2,5,12,0.85);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);}.case-study-container{position:relative;z-index:1;width:95%;max-width:1200px;max-height:90vh;background:linear-gradient(165deg,rgba(16,27,50,0.96),rgba(8,13,26,0.98));border:1px solid var(--border-glass);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 40px 90px rgba(0,0,0,0.7),var(--glow-blue);}.case-study-close{position:absolute;top:var(--space-3);right:var(--space-3);width:40px;height:40px;border-radius:50%;background:var(--glass);border:1px solid var(--border-glass);display:flex;align-items:center;justify-content:center;color:var(--fg-secondary);transition:all var(--transition-fast);z-index:10;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}.case-study-close:hover{background:var(--grad-orange);color:#2a1005;border-color:transparent;transform:rotate(90deg);}.case-study-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-glass);background:rgba(6,10,20,0.6);}.nav-btn{width:40px;height:40px;border-radius:50%;background:var(--glass);border:1px solid var(--border-glass);display:flex;align-items:center;justify-content:center;color:var(--fg-secondary);transition:all var(--transition-fast);}.nav-btn:hover{background:var(--grad-brand);color:#04121c;border-color:transparent;transform:scale(1.06);}.nav-btn:disabled{opacity:0.3;pointer-events:none;}.project-progress{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-secondary);}.progress-separator{opacity:0.4;}.progress-bar{width:120px;height:3px;background:var(--border-subtle);border-radius:999px;overflow:hidden;}.progress-fill{height:100%;width:0%;background:var(--grad-brand);border-radius:999px;transition:width 0.4s ease;}.case-study-content{padding:var(--space-5);overflow-y:auto;max-height:calc(90vh - 120px);}.case-study-header{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-glass);}.case-study-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3);}.case-study-number{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--accent-hot);background:rgba(58,160,255,0.1);padding:var(--space-1) var(--space-3);border-radius:999px;border:1px solid rgba(58,160,255,0.3);}.case-study-category{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-muted);text-transform:uppercase;letter-spacing:0.05em;}.case-study-title{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:700;line-height:var(--leading-tight);color:var(--fg-primary);letter-spacing:-0.03em;}.case-study-body{display:grid;grid-template-columns:1fr;gap:var(--space-6);}@media (min-width:900px){.case-study-body{grid-template-columns:1fr 320px;}}.case-study-main{display:flex;flex-direction:column;gap:var(--space-5);}.case-study-text{display:flex;flex-direction:column;gap:var(--space-5);}.case-study-section h4{font-family:var(--font-mono);font-size:0.7rem;font-weight:600;color:var(--accent-hot);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-glass);}.case-study-section p{color:var(--fg-secondary);line-height:1.75;font-size:var(--text-base);}.learning-text{color:var(--fg-primary) !important;}.spec-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);}.spec-list li{position:relative;padding-left:var(--space-4);font-size:var(--text-sm);color:var(--fg-secondary);line-height:1.6;}.spec-list li::before{content:'';position:absolute;left:0;top:0.6em;width:6px;height:6px;border-radius:50%;background:var(--accent-cyan);box-shadow:0 0 8px rgba(58,160,255,0.7);}.tech-stack{display:flex;flex-wrap:wrap;gap:var(--space-2);}.case-study-links{display:flex;flex-wrap:wrap;gap:var(--space-3);}.case-study-link{font-size:var(--text-sm);font-weight:600;color:var(--accent-hot);display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid rgba(58,160,255,0.3);border-radius:var(--border-radius);transition:all var(--transition-fast);}.case-study-link:hover{background:var(--grad-brand);color:#04121c;border-color:transparent;transform:translateY(-1px);box-shadow:0 8px 20px rgba(58,160,255,0.3);}.case-study-link.disabled{color:var(--fg-muted);border-color:var(--border-subtle);background:var(--bg-secondary);cursor:not-allowed;opacity:0.6;}.case-study-link.disabled:hover{background:var(--bg-secondary);color:var(--fg-muted);border-color:var(--border-subtle);transform:none;box-shadow:none;}.case-study-sidebar{display:flex;flex-direction:column;gap:var(--space-4);}.spec-card{background:var(--glass);border:1px solid var(--border-glass);border-radius:var(--border-radius-lg);padding:var(--space-4);}.spec-card h4{font-family:var(--font-mono);font-size:0.7rem;font-weight:600;color:var(--accent-hot);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:var(--space-3);}.spec-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);}.spec-grid dt{color:var(--fg-muted);font-family:var(--font-mono);}.spec-grid dd{color:var(--fg-primary);font-weight:500;}.case-study-close-btn{width:100%;margin-top:var(--space-2);}.diagram-container{background:var(--glass);border:1px solid var(--border-glass);border-radius:var(--border-radius-lg);overflow:hidden;}.diagram-svg{width:100%;height:auto;min-height:300px;display:block;background:radial-gradient(30rem 18rem at 50% 0%,rgba(58,160,255,0.07),transparent 70%),var(--bg-secondary);}.diagram-node{cursor:default;}.node-bg{fill:rgba(14,23,43,0.9);stroke:var(--border-strong);stroke-width:1.5;transition:all var(--transition-fast);}.diagram-node.sensor .node-bg{stroke:var(--accent-green);}.diagram-node.process .node-bg{stroke:var(--accent-cyan);}.diagram-node.actuator .node-bg{stroke:var(--accent-orange);}.diagram-node.output .node-bg{stroke:var(--fg-primary);}.node-label{font-family:var(--font-mono);font-size:0.65rem;fill:var(--fg-primary);white-space:pre;line-height:1.2;}.conn-path{stroke-linecap:round;stroke-linejoin:round;}.conn-path.feedback{stroke-dasharray:8 4;}.conn-label{font-family:var(--font-mono);font-size:0.55rem;fill:var(--fg-muted);text-anchor:middle;}.diagram-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3);border-top:1px solid var(--border-glass);justify-content:center;}.legend-item{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:0.65rem;color:var(--fg-muted);}.legend-dot{width:8px;height:8px;border-radius:50%;}.legend-dot.sensor{background:var(--accent-green);box-shadow:0 0 8px var(--accent-green);}.legend-dot.process{background:var(--accent-cyan);box-shadow:0 0 8px var(--accent-cyan);}.legend-dot.actuator{background:var(--accent-orange);box-shadow:0 0 8px var(--accent-orange);}.legend-dot.output{background:var(--fg-primary);}.project-card:focus-visible .project-card-inner,.nav-btn:focus-visible,.case-study-close:focus-visible,.case-study-link:focus-visible,.case-study-close-btn:focus-visible,.filter-btn:focus-visible{outline:none;box-shadow:var(--focus-ring);}.skills-categories{display:flex;flex-direction:column;gap:var(--space-4);}.skill-line{display:grid;grid-template-columns:240px 1fr;gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-4);border:1px solid transparent;border-radius:var(--border-radius-lg);border-bottom-color:var(--border-glass);transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);}.skill-line:hover{transform:translateX(4px);background:rgba(58,160,255,0.04);border-color:rgba(58,160,255,0.2);}.skill-line-title{font-family:var(--font-heading);font-size:var(--text-base);font-weight:700;color:var(--fg-primary);display:flex;align-items:center;gap:var(--space-3);}.skill-line-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius);background:rgba(58,160,255,0.08);border:1px solid rgba(58,160,255,0.26);flex:none;}.skill-line-icon::before{content:'';width:17px;height:17px;background-color:var(--accent-hot);filter:drop-shadow(0 0 5px rgba(92,214,255,0.4));transition:background-color var(--transition-fast),filter var(--transition-fast);}.skill-line:hover .skill-line-icon::before{background-color:var(--accent-cyan);filter:drop-shadow(0 0 7px rgba(92,214,255,0.65));}.skill-line-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);}.skill-chip{font-family:var(--font-mono);font-size:0.72rem;color:var(--fg-secondary);background:rgba(58,160,255,0.06);border:1px solid rgba(58,160,255,0.18);padding:var(--space-1) var(--space-3);border-radius:999px;transition:color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);}.skill-chip:hover{color:var(--accent-hot);border-color:rgba(58,160,255,0.5);transform:translateY(-2px);background:rgba(58,160,255,0.12);box-shadow:0 6px 16px rgba(58,160,255,0.18);}.desk-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:var(--space-5);align-items:stretch;}.desk-surface{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-card),inset 0 1px 0 rgba(255,255,255,0.05);background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:26px 26px;}.desk-item{display:flex;flex-direction:column;justify-content:space-between;min-height:9rem;text-align:left;background:rgba(122,170,255,0.04);border:1px solid var(--border-glass);border-radius:var(--space-5);padding:var(--space-4);transition:transform var(--transition-normal),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-normal);}.desk-item:hover,.desk-item.is-active{transform:translateY(-4px);border-color:rgba(255,122,41,0.55);background:rgba(255,122,41,0.07);box-shadow:0 14px 34px rgba(2,6,16,0.5),0 0 24px rgba(255,122,41,0.12);}.desk-item:focus-visible{outline:none;box-shadow:var(--focus-ring);}.desk-item-top{display:flex;justify-content:space-between;align-items:flex-start;}.desk-mark{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--border-glass);border-radius:0.55rem;color:var(--fg-muted);font:0.6rem/1 var(--font-mono);transition:border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);}.desk-item.is-active .desk-mark{border-color:rgba(255,122,41,0.7);color:var(--accent-orange);box-shadow:0 0 18px rgba(255,122,41,0.2);}.desk-inspect{font-family:var(--font-mono);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(95,115,146,0.75);}.desk-item-label{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;margin-top:var(--space-6);color:var(--fg-primary);}.desk-item-line{display:block;width:40px;height:1px;background:var(--accent-orange);box-shadow:0 0 8px rgba(255,122,41,0.6);margin-top:var(--space-3);transition:width var(--transition-normal);}.desk-item:hover .desk-item-line,.desk-item.is-active .desk-item-line{width:64px;}.desk-detail{display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(160deg,rgba(28,22,16,0.5),rgba(10,17,34,0.7)),var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,122,41,0.25);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-card),inset 0 1px 0 rgba(255,176,87,0.08);}.desk-detail-head{display:flex;justify-content:space-between;align-items:center;}.desk-detail-kicker{font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent-orange);}.desk-detail-dot{width:9px;height:9px;border-radius:50%;background:var(--accent-orange);box-shadow:0 0 14px rgba(255,122,41,0.7);animation:status-pulse 2.4s ease-in-out infinite;}.desk-detail-title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.4rem);font-weight:700;letter-spacing:-0.045em;margin-top:var(--space-8);}.desk-detail-text{margin-top:var(--space-4);max-width:26rem;color:var(--fg-secondary);line-height:1.7;font-size:var(--text-base);}.desk-detail-note{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border-glass);font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(157,177,208,0.5);}.desk-detail-note span{color:var(--accent-orange);}.loop-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(157,177,208,0.6);}.loop-chip{border:1px solid var(--border-strong);border-radius:999px;padding:var(--space-2) var(--space-3);background:rgba(122,170,255,0.03);}.loop-chip.loop-idea{border-color:rgba(255,122,41,0.45);color:var(--accent-orange);}.loop-chip.loop-build{border-color:rgba(58,160,255,0.45);color:var(--accent-hot);}.loop-chip.loop-fail{border-color:rgba(47,230,168,0.45);color:var(--accent-green);}.loop-arrow{width:12px;height:1px;background:rgba(157,177,208,0.4);position:relative;}.loop-arrow::after{content:'';position:absolute;right:0;top:-2px;border-left:5px solid rgba(157,177,208,0.4);border-top:2.5px solid transparent;border-bottom:2.5px solid transparent;}.experiments-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);}.experiment-card{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--space-5);padding:var(--space-5);position:relative;overflow:hidden;transition:transform var(--transition-normal),border-color var(--transition-fast),box-shadow var(--transition-normal);}.experiment-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--grad-blue);opacity:0;transition:opacity var(--transition-normal);}.experiment-card:hover{transform:translateY(-5px);border-color:rgba(58,160,255,0.4);box-shadow:0 16px 40px rgba(2,6,16,0.5),var(--glow-blue);}.experiment-card:hover::before{opacity:1;}.experiment-head{display:flex;justify-content:space-between;gap:var(--space-3);font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;}.experiment-index{color:var(--accent-hot);}.experiment-status{color:var(--fg-muted);background:rgba(122,170,255,0.05);border:1px solid var(--border-glass);border-radius:999px;padding:2px var(--space-2);}.experiment-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;margin-top:var(--space-7);letter-spacing:-0.02em;}.experiment-phase{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-orange);margin-top:var(--space-1);}.experiment-note{margin-top:var(--space-4);color:var(--fg-secondary);font-size:var(--text-sm);line-height:1.65;max-width:26rem;}.experiments-honest{margin-top:var(--space-8);border:1px dashed rgba(255,122,41,0.3);border-radius:var(--space-5);padding:var(--space-5);font-family:var(--font-mono);font-size:0.72rem;line-height:1.8;color:var(--fg-muted);background:rgba(255,122,41,0.03);}.experiments-honest span{color:var(--accent-orange);}.timeline{position:relative;padding-left:4.2rem;display:flex;flex-direction:column;}.timeline-seg{position:absolute;width:2px;transform:translateX(-50%);background:rgba(122,170,255,0.12);border-radius:2px;z-index:0;}.timeline-seg-fill{width:100%;height:0%;background:linear-gradient(180deg,var(--accent-orange),var(--accent-hot));box-shadow:0 0 14px rgba(58,160,255,0.6);transition:height 0.15s linear;}.timeline-entry{position:relative;z-index:1;display:grid;grid-template-columns:3.7rem 1fr;align-items:start;gap:1.25rem;padding:var(--space-5) 0;opacity:0.4;filter:saturate(0.6);transition:opacity var(--transition-normal),filter var(--transition-normal);}.timeline-entry.is-active{opacity:1;filter:saturate(1);}.timeline-node{display:grid;place-items:center;width:3.7rem;height:3.7rem;border:1px solid rgba(58,160,255,0.4);border-radius:999px;background:var(--bg-panel);color:var(--accent-hot);font:0.52rem/1 var(--font-mono);transition:box-shadow var(--transition-normal),border-color var(--transition-normal),background var(--transition-normal),color var(--transition-normal),transform var(--transition-normal);}.timeline-node.is-lit{border-color:var(--accent-orange);background:radial-gradient(circle at 50% 40%,rgba(255,122,41,0.3),var(--bg-panel) 74%);color:var(--fg-primary);box-shadow:0 0 26px rgba(255,122,41,0.35);transform:scale(1.06);}.timeline-version{font-family:var(--font-mono);font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-hot);}.timeline-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;margin-top:var(--space-1);letter-spacing:-0.02em;}.timeline-detail{margin-top:var(--space-1);max-width:36rem;color:var(--fg-secondary);font-size:var(--text-sm);line-height:1.65;}.ideas-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:var(--space-10);align-items:center;}.ideas-title{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,4.2rem);font-weight:700;letter-spacing:-0.05em;line-height:1.02;}.ideas-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);}.ideas-card{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-6);transition:transform var(--transition-normal),border-color var(--transition-fast),box-shadow var(--transition-normal);}.ideas-card:hover{transform:translateY(-4px);border-color:rgba(58,160,255,0.4);box-shadow:var(--glow-blue);}.ideas-icon{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius);background:rgba(58,160,255,0.08);border:1px solid rgba(58,160,255,0.28);box-shadow:inset 0 0 12px rgba(58,160,255,0.06);}.ideas-icon::before{content:'';width:22px;height:22px;background-color:var(--accent-hot);filter:drop-shadow(0 0 6px rgba(92,214,255,0.45));transition:background-color var(--transition-fast),filter var(--transition-fast);}.ideas-card:hover .ideas-icon::before{background-color:var(--accent-cyan);filter:drop-shadow(0 0 8px rgba(92,214,255,0.7));}.ideas-card .ideas-icon{margin-bottom:var(--space-6);}.ideas-icon-sm{width:30px;height:30px;margin:0;border:none;background:transparent;box-shadow:none;}.ideas-icon-sm::before{width:16px;height:16px;background-color:var(--accent-orange);filter:drop-shadow(0 0 6px rgba(255,122,41,0.55));}.ideas-card h3{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;}.ideas-card p{margin-top:var(--space-3);color:var(--fg-secondary);font-size:var(--text-sm);line-height:1.65;}.ideas-card-wide{grid-column:1 / -1;}.ideas-card-head{display:flex;justify-content:space-between;align-items:center;}.ideas-card-head span{color:var(--accent-orange);filter:drop-shadow(0 0 8px rgba(255,122,41,0.5));}.loading-panel{display:grid;grid-template-columns:0.75fr 1.25fr;gap:var(--space-10);align-items:end;background:linear-gradient(160deg,rgba(22,38,72,0.75),rgba(8,14,28,0.85)),var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(58,160,255,0.28);border-radius:var(--radius-xl);padding:var(--space-10) var(--space-8);position:relative;overflow:hidden;box-shadow:var(--shadow-card),inset 0 1px 0 rgba(255,255,255,0.06);}.loading-panel::before{content:'';position:absolute;right:-5rem;top:-5rem;width:16rem;height:16rem;border-radius:999px;border:1px solid rgba(58,160,255,0.2);animation:ring-pulse 4s ease-in-out infinite;}.loading-panel::after{content:'';position:absolute;right:-2rem;top:-2rem;width:8rem;height:8rem;border-radius:999px;border:1px solid rgba(255,122,41,0.18);animation:ring-pulse 4s ease-in-out infinite reverse;}@keyframes ring-pulse{0%,100%{transform:scale(1);opacity:0.6;}50%{transform:scale(1.08);opacity:1;}}.loading-title{font-family:var(--font-heading);font-size:clamp(2.6rem,6vw,5rem);font-weight:700;letter-spacing:-0.055em;line-height:0.95;}.loading-text{margin-top:var(--space-5);max-width:24rem;color:var(--fg-secondary);line-height:1.7;font-size:var(--text-base);}.loading-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);}.loading-chip{display:flex;align-items:center;gap:var(--space-3);background:rgba(122,170,255,0.05);border:1px solid var(--border-glass);border-radius:var(--space-4);padding:var(--space-4);font-family:var(--font-heading);font-size:var(--text-lg);transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);}.loading-chip:hover{transform:translateX(4px);border-color:rgba(58,160,255,0.5);background:rgba(58,160,255,0.09);box-shadow:0 8px 22px rgba(58,160,255,0.14);}.loading-chip span{font-family:var(--font-mono);font-size:0.62rem;color:var(--accent-orange);}.loading-chip i{margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--accent-cyan);box-shadow:0 0 10px rgba(58,160,255,0.8);animation:status-pulse 2.4s ease-in-out infinite;}.achievements-grid{display:flex;flex-direction:column;gap:var(--space-3);}.ach-row{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:start;background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--border-radius-lg);padding:var(--space-4) var(--space-5);transition:border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);}.ach-row:hover{border-color:rgba(255,122,41,0.45);transform:translateX(6px);background:rgba(255,122,41,0.05);box-shadow:0 10px 28px rgba(2,6,16,0.45),0 0 20px rgba(255,122,41,0.1);}.ach-icon{width:42px;height:42px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius);background:rgba(255,122,41,0.08);border:1px solid rgba(255,122,41,0.28);box-shadow:inset 0 0 12px rgba(255,122,41,0.06);}.ach-icon::before{content:'';width:20px;height:20px;background-color:var(--accent-orange-hot);transition:background-color var(--transition-fast),filter var(--transition-fast);}.ach-row:hover .ach-icon::before{background-color:var(--accent-orange);filter:drop-shadow(0 0 6px rgba(255,122,41,0.55));}.ach-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-2);}.ach-head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;}.ach-description{color:var(--fg-secondary);font-size:var(--text-sm);line-height:1.55;max-width:62ch;}.ach-title{font-family:var(--font-heading);font-size:var(--text-base);font-weight:700;margin:0;}.ach-rank{font-family:var(--font-mono);font-size:0.65rem;color:var(--accent-orange);background:rgba(255,122,41,0.1);border:1px solid rgba(255,122,41,0.35);padding:2px var(--space-2);border-radius:999px;white-space:nowrap;}.ach-year{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-muted);white-space:nowrap;}.contact-hero{display:grid;grid-template-columns:1fr 0.8fr;gap:var(--space-8);align-items:end;margin-bottom:var(--space-10);}.contact-title{font-family:var(--font-heading);font-size:clamp(2.6rem,7vw,6rem);font-weight:700;letter-spacing:-0.06em;line-height:0.95;}.contact-lead{margin-top:var(--space-6);max-width:30rem;font-size:var(--text-lg);line-height:1.7;color:var(--fg-secondary);}.contact-chat-card{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-6);transition:transform var(--transition-normal),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-normal);}.contact-chat-card:hover{transform:translateY(-4px);border-color:rgba(58,160,255,0.55);background:rgba(58,160,255,0.07);box-shadow:0 0 36px rgba(58,160,255,0.14);}.contact-chat-inner{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;}.contact-chat-copy strong{font-family:var(--font-heading);font-size:var(--text-base);display:block;color:var(--fg-primary);}.contact-chat-copy small{font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-muted);}.contact-chat-note{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-glass);font-family:var(--font-mono);font-size:0.72rem;line-height:1.8;color:var(--fg-secondary);}.contact-grid{display:grid;grid-template-columns:minmax(260px,0.9fr) 1.4fr;gap:var(--space-8);align-items:start;}.contact-aside{display:flex;flex-direction:column;gap:var(--space-3);}.contact-status{display:inline-flex;align-items:center;gap:var(--space-2);width:fit-content;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent-green);background:rgba(47,230,168,0.06);border:1px solid rgba(47,230,168,0.3);border-radius:999px;padding:var(--space-2) var(--space-3);}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-green);box-shadow:0 0 8px var(--accent-green);animation:status-pulse 2.2s ease-in-out infinite;}@keyframes status-pulse{0%,100%{opacity:1;}50%{opacity:0.35;}}.contact-card{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--border-radius);padding:var(--space-3) var(--space-4);transition:border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);}.contact-card:hover{border-color:rgba(58,160,255,0.45);transform:translateY(-2px);box-shadow:0 8px 22px rgba(2,6,16,0.4);}.contact-card-label{display:block;font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:var(--space-1);}.contact-icons{display:flex;gap:var(--space-3);flex-wrap:wrap;}.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--border-radius-lg);background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);color:var(--fg-secondary);transition:transform var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);}.contact-icon svg{width:22px;height:22px;}.contact-icon:hover{transform:translateY(-4px);color:#04121c;box-shadow:0 10px 26px rgba(2,6,16,0.5);}.contact-icon[data-kind="email"]:hover{background:var(--grad-orange);border-color:transparent;}.contact-icon[data-kind="whatsapp"]:hover{background:#25d366;border-color:transparent;}.contact-icon[data-kind="youtube"]:hover{background:#ff0033;border-color:transparent;}.contact-icon[hidden]{display:none;}.contact-card-value{color:var(--fg-primary);font-size:var(--text-sm);text-decoration:none;word-break:break-all;}a.contact-card-value:hover{color:var(--accent-hot);}.contact-card.is-empty{display:none;}.contact-note{font-size:var(--text-sm);color:var(--fg-muted);font-family:var(--font-mono);}.contact-form{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);box-shadow:var(--shadow-card),inset 0 1px 0 rgba(255,255,255,0.05);}.form-group{position:relative;}.form-group input,.form-group textarea{width:100%;background:rgba(6,10,20,0.55);border:1px solid var(--border-subtle);border-radius:var(--border-radius);padding:1.15rem var(--space-4) 0.55rem;color:var(--fg-primary);font-family:inherit;font-size:var(--text-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);resize:vertical;}.form-group label{position:absolute;left:var(--space-4);top:0.95rem;font-size:var(--text-sm);font-weight:500;color:var(--fg-muted);pointer-events:none;transition:top var(--transition-fast),font-size var(--transition-fast),color var(--transition-fast),letter-spacing var(--transition-fast);}.form-group input:focus + label,.form-group textarea:focus + label,.form-group input:not(:placeholder-shown) + label,.form-group textarea:not(:placeholder-shown) + label{top:0.35rem;font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent-hot);}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-cyan);background:rgba(6,10,20,0.75);box-shadow:0 0 0 3px rgba(58,160,255,0.16),var(--glow-blue);outline:none;}.form-group.has-error input,.form-group.has-error textarea{border-color:#ff5470;}.form-error{display:block;min-height:1.1em;margin-top:var(--space-1);font-family:var(--font-mono);font-size:0.65rem;color:#ff5470;}.contact-submit-row{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;}.contact-submit{display:inline-flex;align-items:center;gap:var(--space-3);}.submit-arrow{display:inline-block;transition:transform var(--transition-fast);}.contact-submit:hover .submit-arrow{transform:translateX(4px);}.submit-status{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-muted);}.submit-status.is-success{color:var(--accent-green);}.submit-status.is-error{color:#ff5470;}.footer{position:relative;z-index:5;background:linear-gradient(180deg,rgba(4,7,15,0.4),rgba(4,7,15,0.96) 30%),var(--bg-primary);border-top:1px solid var(--border-glass);padding:var(--space-6) 0 var(--space-4);}.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-5);}.footer-kicker{font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent-hot);}.footer-logo{font-family:var(--font-heading);font-size:clamp(1.4rem,3.2vw,2rem);font-weight:700;letter-spacing:-0.04em;margin-top:var(--space-2);background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(58,160,255,0.25));}.footer-tagline{margin-top:var(--space-2);font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.04em;color:var(--fg-muted);}.footer-status{display:grid;grid-template-columns:repeat(3,auto);gap:var(--space-6);font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-muted);}.footer-status span{display:block;color:var(--accent-hot);}.footer-status strong{display:block;margin-top:var(--space-1);color:var(--fg-primary);font-weight:500;font-size:var(--text-sm);letter-spacing:0.04em;}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid rgba(122,170,255,0.08);}.footer-nav{display:flex;gap:var(--space-4);flex-wrap:wrap;}.footer-nav a[hidden]{display:none;}.footer-nav a{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-secondary);transition:color var(--transition-fast),transform var(--transition-fast);display:inline-block;}.footer-nav a:hover{color:var(--accent-hot);transform:translateY(-2px);}.copyright{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.06em;color:rgba(157,177,208,0.5);}@media (pointer:coarse){.cursor{display:none;}}.section{z-index:var(--z-content);}@media (min-width:1100px){.container{max-width:calc(var(--container-max) - 240px);}}.chat-fab{position:fixed;right:1.1rem;bottom:1.1rem;z-index:var(--z-chat);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);border:1px solid rgba(58,160,255,0.4);border-radius:999px;background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--fg-primary);font:700 0.68rem/1 var(--font-mono);letter-spacing:0.12em;box-shadow:0 12px 34px rgba(2,6,16,0.55),var(--glow-blue);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);}.chat-fab:hover{transform:translateY(-3px);border-color:var(--accent-cyan);box-shadow:0 16px 40px rgba(2,6,16,0.6),0 0 34px rgba(58,160,255,0.3);}.chat-fab.is-open{transform:translateY(3px);opacity:0.85;}.chat-fab-avatar{display:inline-flex;gap:3px;padding:4px 6px;background:rgba(58,160,255,0.1);border:1px solid rgba(58,160,255,0.35);border-radius:999px;}.chat-fab-avatar i{width:4px;height:8px;border-radius:1px;background:var(--accent-hot);box-shadow:0 0 6px rgba(58,160,255,0.8);animation:chat-blink 5.2s ease-in-out infinite;}.chat-fab-avatar i:last-child{animation-delay:0.08s;}@keyframes chat-blink{0%,42%,48%,100%{transform:scaleY(1);}45%{transform:scaleY(0.15);}}.chat-panel{position:fixed;right:1.1rem;bottom:4.6rem;z-index:var(--z-chat);width:min(24rem,calc(100vw - 2rem));max-height:min(32rem,calc(100dvh - 7rem));display:flex;flex-direction:column;background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(58,160,255,0.35);border-radius:1.4rem;overflow:hidden;box-shadow:0 34px 90px rgba(0,0,0,0.65),0 0 44px rgba(58,160,255,0.12);animation:chat-in 0.32s cubic-bezier(0.22,1,0.36,1) both;}.chat-panel[hidden]{display:none;}@keyframes chat-in{from{opacity:0;transform:translateY(14px) scale(0.98);}to{opacity:1;transform:translateY(0) scale(1);}}.chat-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:rgba(4,7,15,0.75);border-bottom:1px solid var(--border-glass);}.chat-head-copy{flex:1;min-width:0;}.chat-name{font:700 0.82rem/1.2 var(--font-heading);letter-spacing:0.04em;}.chat-status{font:400 0.58rem/1.4 var(--font-mono);letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-hot);}.chat-close{width:32px;height:32px;border-radius:50%;color:var(--fg-secondary);border:1px solid transparent;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);}.chat-close:hover{background:rgba(122,170,255,0.1);color:var(--fg-primary);border-color:var(--border-glass);transform:rotate(90deg);}.chat-avatar{display:inline-flex;gap:4px;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;background:rgba(58,160,255,0.1);border:1px solid rgba(58,160,255,0.4);border-radius:999px;box-shadow:inset 0 0 12px rgba(58,160,255,0.15);}.chat-avatar i{width:4px;height:12px;border-radius:2px;background:var(--accent-hot);box-shadow:0 0 8px rgba(58,160,255,0.8);animation:chat-blink 5.2s ease-in-out infinite;}.chat-avatar i:last-child{animation-delay:0.08s;}.chat-avatar-lg{width:46px;height:46px;}.chat-log{flex:1;min-height:8rem;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);scrollbar-width:thin;scrollbar-color:rgba(58,160,255,0.3) transparent;}.chat-msg{max-width:88%;display:flex;flex-direction:column;gap:3px;}.chat-msg-who{font:500 0.55rem/1 var(--font-mono);letter-spacing:0.14em;color:var(--fg-muted);}.chat-msg-text{padding:var(--space-2) var(--space-3);border-radius:0.9rem;font-size:0.82rem;line-height:1.55;}.chat-msg-bot .chat-msg-text{background:rgba(122,170,255,0.07);border:1px solid var(--border-glass);border-top-left-radius:0.2rem;color:var(--fg-primary);}.chat-msg-user{align-self:flex-end;align-items:flex-end;}.chat-msg-user .chat-msg-text{background:var(--grad-orange);color:#2a1005;border-top-right-radius:0.2rem;font-weight:600;}.chat-msg-typing .chat-msg-text{display:inline-flex;gap:4px;align-items:center;}.chat-msg-typing i{width:5px;height:5px;border-radius:50%;background:var(--accent-hot);opacity:0.4;animation:chat-typing 1s ease-in-out infinite;}.chat-msg-typing i:nth-child(2){animation-delay:0.15s;}.chat-msg-typing i:nth-child(3){animation-delay:0.3s;}@keyframes chat-typing{0%,100%{opacity:0.3;transform:translateY(0);}50%{opacity:1;transform:translateY(-3px);}}.chat-suggest{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0 var(--space-4) var(--space-3);}.chat-suggest:empty{display:none;}.chat-chip{font:500 0.62rem/1 var(--font-mono);color:var(--accent-hot);background:rgba(58,160,255,0.07);border:1px solid rgba(58,160,255,0.3);border-radius:999px;padding:var(--space-2) var(--space-3);transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);}.chat-chip:hover{background:rgba(58,160,255,0.16);border-color:var(--accent-cyan);transform:translateY(-1px);}.chat-input-row{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border-glass);background:rgba(4,7,15,0.75);}.chat-input-row input{flex:1;min-width:0;background:rgba(6,10,20,0.6);border:1px solid var(--border-subtle);border-radius:999px;padding:var(--space-2) var(--space-4);color:var(--fg-primary);font-family:inherit;font-size:0.85rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);}.chat-input-row input:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px rgba(58,160,255,0.16);}.chat-send{width:38px;height:38px;flex-shrink:0;border-radius:50%;background:var(--grad-orange);color:#2a1005;font-size:1rem;font-weight:700;box-shadow:0 6px 16px rgba(255,122,41,0.3);transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast);}.chat-send:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(255,122,41,0.45);filter:brightness(1.08);}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}.section.is-pinned{z-index:var(--z-content);}[data-parallax]{will-change:transform;}.project-card{will-change:transform,opacity;}.project-card-inner{will-change:transform,box-shadow,border-color;}.ach-row{will-change:transform,opacity;}@media (prefers-reduced-motion:reduce){.boot-screen .boot-line,.chat-panel,.chat-fab,.loading-panel::before,.loading-panel::after{animation:none !important;}.timeline-seg-fill{transition:none !important;}.btn-primary::after{display:none;}}@media (prefers-reduced-motion:reduce){.section.is-pinned{position:static !important;}[data-parallax]{transform:none !important;}.project-card,.ach-row{animation:none !important;transform:none !important;opacity:1 !important;}}html{scroll-behavior:auto;}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:stretch;}.service-card{position:relative;display:flex;flex-direction:column;background:radial-gradient(22rem 14rem at 85% -10%,rgba(58,160,255,0.1),transparent 65%),linear-gradient(165deg,rgba(16,27,50,0.75),rgba(8,14,28,0.85)),var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-card),inset 0 1px 0 rgba(255,255,255,0.05);transition:transform var(--transition-normal),border-color var(--transition-fast),box-shadow var(--transition-normal);}.service-card:hover{transform:translateY(-5px);}.service-card--blue:hover{border-color:rgba(58,160,255,0.45);box-shadow:0 22px 55px rgba(2,6,16,0.6),var(--glow-blue);}.service-card--orange:hover{border-color:rgba(255,122,41,0.45);box-shadow:0 22px 55px rgba(2,6,16,0.6),var(--glow-orange);}.service-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);}.service-icon{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;font-size:1.5rem;background:rgba(122,170,255,0.07);border:1px solid var(--border-glass);border-radius:var(--border-radius-lg);}.service-card--orange .service-icon{background:rgba(255,122,41,0.07);}.service-icon svg{width:2.1rem;height:2.1rem;}.service-icon svg [stroke]{filter:drop-shadow(0 0 6px rgba(58,160,255,0.35));}.service-card--orange .service-icon svg [stroke]{filter:drop-shadow(0 0 6px rgba(255,122,41,0.35));}.service-icon{transition:transform var(--transition-normal),box-shadow var(--transition-normal);}.service-card:hover .service-icon{transform:translateY(-3px) rotate(-4deg);}.service-modal-icon svg{width:1.9rem;height:1.9rem;}.service-modal-icon svg [stroke]{filter:drop-shadow(0 0 6px rgba(58,160,255,0.35));}.services-tagline{margin-top:var(--space-4);font-family:var(--font-heading);font-size:clamp(1.5rem,3.4vw,2.1rem);font-weight:700;letter-spacing:-0.02em;color:var(--fg-primary);}.services-tagline .title-accent-alt{background:var(--grad-orange);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(255,122,41,0.3));}.services-stats{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-8);}.service-stat{display:flex;align-items:baseline;gap:var(--space-3);background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--border-radius-lg);padding:var(--space-4) var(--space-5);transition:border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);}.service-stat:hover{border-color:rgba(58,160,255,0.45);transform:translateY(-3px);box-shadow:0 10px 26px rgba(2,6,16,0.45),var(--glow-blue);}.service-stat .stat-value{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;line-height:1;background:var(--grad-blue);-webkit-background-clip:text;background-clip:text;color:transparent;}.service-stat .stat-label{font:500 0.62rem/1.4 var(--font-mono);letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-muted);}.service-indicator{display:inline-flex;align-items:center;gap:var(--space-2);font:500 0.6rem/1 var(--font-mono);letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-hot);background:rgba(58,160,255,0.06);border:1px solid rgba(58,160,255,0.25);border-radius:999px;padding:var(--space-2) var(--space-3);}.service-card--orange .service-indicator{color:var(--accent-orange);background:rgba(255,122,41,0.06);border-color:rgba(255,122,41,0.3);}.service-indicator i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;animation:status-pulse 2.4s ease-in-out infinite;}.service-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;letter-spacing:-0.02em;}.service-tagline{margin-top:var(--space-2);color:var(--fg-secondary);font-size:var(--text-sm);line-height:1.6;}.service-levels{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5);}.service-level{border:1px solid var(--border-glass);border-radius:var(--border-radius-lg);padding:var(--space-3) var(--space-4);background:rgba(122,170,255,0.03);transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);}.service-level:hover{border-color:rgba(58,160,255,0.4);background:rgba(58,160,255,0.06);transform:translateX(4px);}.service-level-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);}.service-level-num{font:600 0.62rem/1 var(--font-mono);color:var(--accent-hot);letter-spacing:0.1em;}.service-level h4{font-family:var(--font-heading);font-size:var(--text-base);font-weight:700;}.service-level ul{display:flex;flex-direction:column;gap:3px;}.service-level li{position:relative;padding-left:var(--space-4);font-size:0.8rem;color:var(--fg-secondary);line-height:1.55;}.service-level li::before{content:'';position:absolute;left:0;top:0.55em;width:5px;height:5px;border-radius:50%;background:var(--accent-cyan);box-shadow:0 0 6px rgba(58,160,255,0.7);}.service-range{margin-top:var(--space-5);}.service-range-kicker{display:block;font:500 0.6rem/1 var(--font-mono);letter-spacing:0.16em;color:var(--accent-orange);margin-bottom:var(--space-3);}.service-range-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);}.service-range-chip{font:500 0.72rem/1 var(--font-mono);color:var(--fg-secondary);background:rgba(255,122,41,0.05);border:1px solid rgba(255,122,41,0.22);border-radius:999px;padding:var(--space-2) var(--space-3);transition:color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),background var(--transition-fast);}.service-range-chip:hover{color:var(--accent-orange);border-color:rgba(255,122,41,0.5);background:rgba(255,122,41,0.1);transform:translateY(-2px);}.service-pricing{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-glass);}.service-pricing-label{display:inline-block;font-family:var(--font-heading);font-weight:700;font-size:var(--text-base);background:var(--grad-orange);-webkit-background-clip:text;background-clip:text;color:transparent;}.service-pricing p{margin-top:var(--space-1);font-size:0.78rem;color:var(--fg-muted);line-height:1.6;}.service-request-btn{margin-top:var(--space-5);width:100%;}.service-modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);opacity:0;transition:opacity 0.28s ease;}.service-modal-overlay[hidden]{display:none;}.service-modal-overlay.is-open{opacity:1;}.service-modal-backdrop{position:absolute;inset:0;background:rgba(2,5,12,0.82);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);}.service-modal{position:relative;z-index:1;width:min(40rem,100%);max-height:min(46rem,calc(100dvh - 2rem));display:flex;flex-direction:column;background:linear-gradient(165deg,rgba(16,27,50,0.97),rgba(8,14,28,0.98));border:1px solid rgba(58,160,255,0.3);border-radius:var(--radius-xl);box-shadow:0 40px 90px rgba(0,0,0,0.7),var(--glow-blue);transform:translateY(16px) scale(0.985);transition:transform 0.32s cubic-bezier(0.22,1,0.36,1);}.service-modal-overlay.is-open .service-modal{transform:translateY(0) scale(1);}.service-modal-close{position:absolute;top:var(--space-4);right:var(--space-4);width:38px;height:38px;border-radius:50%;background:var(--glass);border:1px solid var(--border-glass);color:var(--fg-secondary);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);z-index:2;}.service-modal-close:hover{background:var(--grad-orange);color:#2a1005;border-color:transparent;transform:rotate(90deg);}.service-modal-head{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--border-glass);}.service-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;font-size:1.4rem;background:rgba(122,170,255,0.08);border:1px solid var(--border-glass);border-radius:var(--border-radius-lg);flex-shrink:0;}.service-modal-head h3{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;letter-spacing:-0.02em;}.service-modal-sub{margin-top:2px;font-size:0.78rem;color:var(--fg-muted);}.service-form{overflow-y:auto;padding:var(--space-5) var(--space-6) var(--space-6);-webkit-overflow-scrolling:touch;}.service-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);}.form-group--full,.service-extra{grid-column:1 / -1;display:flex;flex-direction:column;}.service-extra{gap:var(--space-4);}.service-form select{width:100%;appearance:none;-webkit-appearance:none;background:rgba(6,10,20,0.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235f7392' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 1rem center;border:1px solid var(--border-subtle);border-radius:var(--border-radius);padding:1.15rem var(--space-4) 0.55rem;color:var(--fg-primary);font-family:inherit;font-size:var(--text-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);}.service-form select:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px rgba(58,160,255,0.16),var(--glow-blue);}.service-form select:invalid{color:var(--fg-muted);}.service-form select option{background:#0a1120;color:var(--fg-primary);}.service-form select:focus + label,.service-form select:valid + label{top:0.35rem;font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent-hot);}.service-form-note{margin-top:var(--space-4);font:400 0.68rem/1.6 var(--font-mono);color:var(--fg-muted);}.service-form-actions{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-4);}.service-send{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--grad-orange);color:#2a1005;box-shadow:0 10px 26px rgba(255,122,41,0.3);}.service-send:hover{box-shadow:0 14px 34px rgba(255,122,41,0.45);}.service-send:disabled{opacity:0.6;pointer-events:none;}.service-send-icon{display:inline-flex;}.service-mailto{font:500 0.72rem/1 var(--font-mono);color:var(--fg-secondary);text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast);}.service-mailto:hover{color:var(--accent-hot);}.service-status{min-height:1.2em;margin-top:var(--space-2);font:500 0.72rem/1.5 var(--font-mono);}.service-status.is-success{color:var(--accent-green);}.service-status.is-error{color:#ff5470;}@media (max-width:900px){.services-grid{grid-template-columns:1fr;}}@media (max-width:640px){.service-form-grid{grid-template-columns:1fr;}.service-modal-head{padding:var(--space-5) var(--space-4) var(--space-3);}.service-form{padding:var(--space-4);}.service-modal{max-height:calc(100dvh - 1.5rem);}}