:root{--blue: #1234f2;--blue-50: #e8ecfe;--blue-100: #c5ccfd;--blue-200: #8899fb;--blue-300: #4a66f9;--blue-500: #2348f5;--blue-600: #0e2ac2;--blue-700: #0a1f91;--blue-800: #071561;--blue-900: #030a30;--ink: #161616;--paper: #f0f0f8;--red: #ef4444;--green: #22c55e;--font-display: "Orbitron", "General Sans", system-ui, sans-serif;--font-body: "General Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-code: "Share Tech Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--track: 1300vh;--gutter: clamp(16px, 4vw, 64px);--topbar-h: 64px}@font-face{font-family:General Sans;src:url(/fonts/general-sans-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Orbitron;src:url(/fonts/orbitron-var.woff2) format("woff2");font-weight:400 900;font-display:swap}@font-face{font-family:Share Tech Mono;src:url(/fonts/share-tech-mono.woff2) format("woff2");font-weight:400;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body{margin:0;background:var(--blue-900);color:var(--paper);font-family:var(--font-body);font-size:clamp(15px,1.05vw,18px);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}body[data-mode=boot] .scene{opacity:0}a{color:inherit}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em;text-wrap:balance}h1{font-size:clamp(1.7rem,3.4vw,3rem);line-height:1.12}h2{font-size:clamp(1.5rem,2.9vw,2.6rem);line-height:1.15}h3{font-size:clamp(1.05rem,1.3vw,1.3rem);line-height:1.3}p{margin:0}ul,ol,dl{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit}#gl,#scrub,#ambient{position:fixed;inset:0;width:100%;height:100%;display:block;pointer-events:none}#gl{z-index:0}#ambient{z-index:1;opacity:0}#ambient video{width:100%;height:100%;object-fit:cover}#scrub{z-index:2;opacity:0}.track{height:var(--track);width:1px;pointer-events:none}#scenes{position:relative;z-index:3}.scene{position:fixed;inset:0;padding:calc(var(--topbar-h) + 24px) var(--gutter) 64px;opacity:0;pointer-events:none}.panel{position:relative;max-width:62rem;margin:0 auto;opacity:0;will-change:transform,opacity;transform-origin:50% 50%;pointer-events:none}.panel.is-active{pointer-events:auto}.panel h1,.panel h2,.panel h3,.panel p,.panel li{text-shadow:0 2px 18px rgba(3,10,48,.9),0 0 2px rgba(3,10,48,.8)}.panel-hero{max-width:36rem;margin:min(4vh,40px) 0 0 0}.panel-hero h1{font-size:clamp(1.6rem,2.7vw,2.5rem)}.panel-top{text-align:center;max-width:52rem}.panel-top .lead{margin:.9rem auto 0;max-width:40rem}.panel-about{max-width:40rem;margin-left:0;margin-top:min(6vh,60px)}.panel-about p+p{margin-top:.8rem}.panel-contact{text-align:center;max-width:44rem;margin-top:min(4vh,40px)}.panel-contact .lead{margin:.9rem auto 0}.panel-loop{position:absolute;left:var(--gutter);right:var(--gutter);bottom:5vh;text-align:center;max-width:none;margin:0}.code-motif{font-family:var(--font-code);color:var(--blue-200);font-size:.95rem;letter-spacing:.02em;margin-bottom:.9rem}.tagline{font-family:var(--font-display);font-weight:500;font-size:clamp(.75rem,.95vw,1rem);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-100);margin-top:1rem}.tagline .dot{color:var(--blue-300)}.lead{color:#c9cde6;font-size:clamp(.98rem,1.15vw,1.2rem);margin-top:1rem;max-width:40rem}.eyebrow{font-family:var(--font-display);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-200);margin-bottom:.7rem}.proof{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1.4rem;color:#dfe3fb;font-weight:500}.proof li:before{content:"✓";color:var(--green);margin-right:.5rem;font-weight:700}.badge{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.2rem;padding:.4rem .9rem;border:1px solid rgba(136,153,251,.45);border-radius:999px;font-size:.85rem;font-weight:500;background:#1234f224}.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 #22c55e99;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #22c55e99}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 #22c55e00}}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.panel-top .actions,.panel-contact .actions,.panel-loop .actions{justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.4rem;border-radius:10px;font-weight:600;text-decoration:none;border:1px solid transparent;transition:transform .2s ease,background-color .2s ease,border-color .2s ease;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-blue{background:var(--blue);color:#fff;box-shadow:0 10px 30px -12px #1234f2cc}.btn-blue:hover{background:var(--blue-500)}.btn-ghost{background:#f0f0f80f;border-color:#f0f0f840;color:var(--paper)}.btn-ghost:hover{border-color:#f0f0f899}.btn-sm{padding:.55rem 1rem;font-size:.9rem;border-radius:8px}.a3d-group{position:absolute;inset:0;pointer-events:none}.a3d{position:absolute;left:50%;top:50%;transform-origin:50% 50%;will-change:transform,opacity;opacity:0;pointer-events:none;backface-visibility:hidden}.card,.col,.gate,.stat,.qa{background:linear-gradient(160deg,#14226ed1,#071561c7);border:1px solid rgba(136,153,251,.4);border-radius:16px;padding:1.2rem 1.4rem;box-shadow:0 18px 40px -24px #030a30e6}.card{width:17rem}.card-icon{display:block;font-family:var(--font-code);color:var(--blue-200);font-size:1.4rem;margin-bottom:.4rem}.card p{margin-top:.5rem;color:#c9cde6;font-size:.95rem}.col{width:19rem}.col p{margin-top:.6rem;color:#c9cde6;font-size:.95rem}.col ul{margin-top:.8rem;display:grid;gap:.35rem;font-size:.92rem}.col li:before{content:"›";color:var(--blue-200);margin-right:.5rem;font-weight:700}.gate{width:22rem;text-align:center;padding-top:1.6rem}.gate-num{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin-bottom:.7rem;box-shadow:0 0 40px #1234f299}.gate p{margin-top:.5rem;color:#c9cde6;font-size:.95rem}.stat{width:13rem;text-align:center}.stat strong{display:block;font-family:var(--font-display);font-weight:700;font-size:2rem;color:#fff}.stat span{color:var(--blue-100);font-size:.9rem}.qa{width:24rem}.qa dt{font-weight:600;display:flex;gap:.7rem;align-items:baseline}.qa .num{font-family:var(--font-code);color:var(--blue-200);font-size:.85rem}.qa dd{margin:.55rem 0 0;color:#c9cde6;font-size:.93rem}.contact-details{font-style:normal;margin-top:1.8rem;display:grid;gap:.9rem;color:#dfe3fb}.contact-details small{color:#aeb5dc}.footer{margin-top:1.4rem;color:#aeb5dc;font-size:.9rem;display:grid;gap:.9rem;justify-items:center}.legal{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;justify-content:center}.legal a{color:var(--blue-100);text-decoration:none}.legal a:hover{text-decoration:underline}.topbar{position:fixed;top:0;left:0;right:0;z-index:10;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 var(--gutter);background:linear-gradient(to bottom,#030a30d9,#030a3000)}.brand{display:inline-flex;align-items:baseline;gap:.6rem;text-decoration:none}.brand-word{font-family:var(--font-display);font-weight:700;letter-spacing:.04em;font-size:1.05rem}.brand-code{font-family:var(--font-code);color:var(--blue-200);font-size:.8rem}.topnav{display:flex;gap:1.4rem;font-size:.9rem;font-weight:500}.topnav a{text-decoration:none;color:#d7dbf5;opacity:.85}.topnav a:hover,.topnav a.is-active{opacity:1;color:#fff}.topbar-actions{display:flex;align-items:center;gap:.8rem}.mode-toggle{background:transparent;border:1px solid rgba(240,240,248,.25);border-radius:8px;padding:.5rem .8rem;font-size:.8rem;cursor:pointer;color:#d7dbf5}.mode-toggle:hover{border-color:#f0f0f899}.dots{position:fixed;right:max(14px,calc(var(--gutter) / 2));top:50%;transform:translateY(-50%);z-index:10;display:grid;gap:14px}.dots button{width:24px;height:24px;display:grid;place-items:center;background:none;border:0;padding:0;cursor:pointer}.dots button span{width:8px;height:8px;border-radius:50%;background:#f0f0f859;transition:transform .25s ease,background-color .25s ease}.dots button.is-active span{background:var(--blue-200);transform:scale(1.6);box-shadow:0 0 14px #8899fbe6}.hint{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:10;display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-100);transition:opacity .4s ease}.hint-arrow{width:18px;height:28px;border:1px solid rgba(197,204,253,.6);border-radius:10px;position:relative}.hint-arrow:after{content:"";position:absolute;left:50%;top:6px;width:3px;height:6px;margin-left:-1.5px;border-radius:2px;background:var(--blue-100);animation:wheel 1.6s infinite}@keyframes wheel{0%{transform:translateY(0);opacity:1}to{transform:translateY(10px);opacity:0}}.debug{position:fixed;left:12px;bottom:12px;z-index:20;font-family:var(--font-code);font-size:12px;color:var(--blue-100);background:#030a30b3;padding:6px 10px;border-radius:6px;white-space:pre}.simple-word{display:none}body[data-mode=simple]{overflow-x:hidden}body[data-mode=simple] #gl,body[data-mode=simple] #scrub,body[data-mode=simple] #ambient,body[data-mode=simple] .track,body[data-mode=simple] .dots,body[data-mode=simple] .hint{display:none}body[data-mode=simple]{background:radial-gradient(60% 40% at 20% 10%,rgba(18,52,242,.35),transparent 70%),radial-gradient(50% 40% at 85% 80%,rgba(14,42,194,.35),transparent 70%),var(--blue-900)}body[data-mode=simple] .topbar{background:#030a30cc;backdrop-filter:blur(8px)}body[data-mode=simple] .scene{position:relative;inset:auto;min-height:auto;padding:clamp(56px,10vh,120px) var(--gutter);opacity:1;pointer-events:auto;overflow:hidden;border-bottom:1px solid rgba(136,153,251,.12);background-image:linear-gradient(rgba(136,153,251,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(136,153,251,.06) 1px,transparent 1px);background-size:48px 48px}body[data-mode=simple] .scene-hero{padding-top:calc(var(--topbar-h) + 48px)}body[data-mode=simple] .panel{transform:none;opacity:1;pointer-events:auto;position:relative;inset:auto}body[data-mode=simple] .panel-loop{position:relative;left:auto;right:auto;bottom:auto}body[data-mode=simple] .panel-about,body[data-mode=simple] .panel-hero{margin-left:auto;margin-right:auto;max-width:42rem}body[data-mode=simple] .a3d-group{position:relative;inset:auto;display:grid;gap:1rem;margin:2rem auto 0;max-width:62rem;pointer-events:auto}body[data-mode=simple] .cards,body[data-mode=simple] .stats{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}body[data-mode=simple] .columns,body[data-mode=simple] .faq{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}body[data-mode=simple] .a3d{position:static;width:auto;opacity:1;transform:none;pointer-events:auto;transition:opacity .6s ease,transform .6s ease}body[data-mode=simple] .scene:not(.in) .a3d,body[data-mode=simple] .scene:not(.in) .panel{opacity:0;transform:scale(1.06)}body[data-mode=simple] .scene.in .a3d,body[data-mode=simple] .scene.in .panel{opacity:1;transform:none}body[data-mode=simple] .panel{transition:opacity .6s ease,transform .6s ease}body[data-mode=simple] .simple-word{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(1.3);margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(4rem,22vw,20rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(136,153,251,.25);pointer-events:none;opacity:.6;transition:transform .9s ease,opacity .9s ease;z-index:-1}body[data-mode=simple] .scene.in .simple-word{transform:translate(-50%,-50%) scale(1);opacity:.35}body[data-mode=simple] .topnav{display:none}body[data-mode=simple] .panel-loop{margin-top:0}body[data-mode=simple] #back-to-top,body[data-mode=simple] .topbar-actions .btn{display:none}@media(max-width:899px){.topnav,.brand-code{display:none}}@media(prefers-reduced-motion:reduce){body[data-mode=simple] .a3d,body[data-mode=simple] .panel,body[data-mode=simple] .simple-word,.btn,.dots button span{transition:none!important}.pulse,.hint-arrow:after{animation:none!important}}
