@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-wght-normal.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--bg:#070c18;--navy:#0b1632;--gold:#14d0f7;--copper:#1a9fd8;--cyan:#14d0f7;--ink:#f2f7fb;--mute:#8d9fb3}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);color:var(--ink);scroll-behavior:auto}
body{font-family:"Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;background:var(--bg)}
#gl{position:fixed;inset:0;width:100vw;height:100vh;height:100lvh;display:block;z-index:0}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(3,6,14,.55) 100%)}
.topbar{position:fixed;z-index:6;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(16px,3vw,40px);pointer-events:none}
.mark{font-weight:600;letter-spacing:-.02em;font-size:22px}.mark b{color:var(--cyan);font-weight:600;text-shadow:0 0 14px rgba(20,208,247,.7)}
.demo-tag{font:400 11px "JetBrains Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:#9fe9fb;border:1px solid rgba(20,208,247,.35);padding:6px 10px;border-radius:99px;background:rgba(7,12,24,.45);backdrop-filter:blur(6px)}

#story{position:relative;height:calc(var(--hv,100vh)*14);z-index:2}
.stage{position:sticky;top:0;height:var(--hv,100svh);overflow:hidden}
.hero{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;will-change:opacity,transform}
.headline{font-weight:500;font-size:clamp(110px,22vw,300px);line-height:.82;letter-spacing:-.065em;display:flex;
  background:linear-gradient(180deg,#fff 10%,#e7edf2 45%,#9fb0bd 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 28px rgba(20,208,247,.18)) drop-shadow(0 2px 0 rgba(0,0,0,.4));padding:.06em .08em .1em}
.headline span{display:inline-block}
.headline .two{background:linear-gradient(180deg,#d9fcff 0%,var(--cyan) 55%,#16b7d6 100%);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 -.01em;filter:drop-shadow(0 0 22px rgba(20,208,247,.55))}
.tagline{margin-top:clamp(8px,1.6vw,22px);font-size:clamp(17px,2.2vw,30px);font-weight:300;letter-spacing:.22em;text-transform:lowercase;color:#dbe4ea;text-shadow:0 0 18px rgba(7,12,24,.9)}
.arrow{color:var(--gold);margin:0 .25em}
.cta{pointer-events:auto;margin-top:clamp(22px,3vw,40px);display:inline-flex;gap:10px;align-items:center;padding:13px 26px;border-radius:99px;font-size:15px;font-weight:500;letter-spacing:.02em;color:#070c18;text-decoration:none;
  background:linear-gradient(135deg,#6fe6ff,var(--cyan) 60%,#0fb4ea);box-shadow:0 0 0 1px rgba(190,245,255,.35) inset,0 10px 40px -8px rgba(20,208,247,.55);transition:transform .25s,box-shadow .25s}
.cta:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(190,245,255,.5) inset,0 14px 50px -6px rgba(20,208,247,.8)}
.cta:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.scroll-hint{position:absolute;bottom:28px;display:flex;flex-direction:column;align-items:center;gap:10px;font:400 11px "JetBrains Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.scroll-hint i{width:1px;height:34px;background:linear-gradient(var(--cyan),transparent);animation:drip 2s ease-in-out infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.node{position:absolute;left:0;top:0;width:min(280px,72vw);padding:16px 18px;border-radius:14px;opacity:0;pointer-events:none;will-change:transform,opacity;
  background:linear-gradient(160deg,rgba(14,20,28,.78),rgba(6,9,14,.82));border:1px solid rgba(20,208,247,.4);backdrop-filter:blur(10px);box-shadow:0 0 0 1px rgba(20,208,247,.08),0 12px 50px -10px rgba(0,0,0,.8),0 0 40px -12px rgba(20,208,247,.35)}
.node::before{content:"";position:absolute;left:-1px;top:16px;bottom:16px;width:2px;background:linear-gradient(var(--cyan),var(--gold));border-radius:2px;box-shadow:0 0 12px var(--cyan)}
.node small{font:400 10.5px "JetBrains Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:#7fdcf7}
.node h3{font-size:26px;font-weight:600;letter-spacing:-.02em;margin:6px 0 6px}
.node p{font-size:14px;line-height:1.45;color:#aab7c2;font-weight:400}
.finale{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;pointer-events:none;padding:0 24px}
.finale::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(7,12,24,.78),rgba(7,12,24,0) 62%)}
.finale>*{position:relative}
.finale h2{font-size:clamp(40px,7vw,96px);font-weight:600;letter-spacing:-.04em;text-shadow:0 0 40px rgba(20,208,247,.35),0 0 12px rgba(7,12,24,.9)}
.finale p{margin-top:14px;color:var(--mute);font:400 12px "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase}
.progress{position:absolute;right:clamp(14px,2.4vw,34px);top:50%;height:120px;width:2px;margin-top:-60px;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden}
.progress i{display:block;width:100%;height:100%;background:linear-gradient(var(--cyan),var(--gold));transform-origin:top;transform:scaleY(0);box-shadow:0 0 10px var(--cyan)}
.foot{position:relative;z-index:4;background:var(--bg);border-top:1px solid rgba(20,208,247,.25);padding:56px 24px;text-align:center;color:var(--mute);font-size:14px}
.foot .mark{display:block;color:var(--ink);margin-bottom:10px;font-size:28px}
.ns{position:fixed;z-index:9;top:50%;left:0;right:0;text-align:center}

/* reduced motion / no-WebGL: static fallback */
.static #story{height:auto}
.static .stage{position:relative;height:auto;min-height:100svh;overflow:visible;display:flex;flex-direction:column}
.static #gl{position:absolute;height:100svh;z-index:0}
.static .hero{position:relative;min-height:100svh}
.static .scroll-hint,.static .progress{display:none}
.static .node{position:relative;opacity:1!important;transform:none!important;margin:16px auto;width:min(420px,88vw);z-index:3}
.static .stage{padding-bottom:40px}
.static .vignette{position:absolute;height:100svh}
.nogl body{background:radial-gradient(circle at 50% 45%,#10202a,#070c18 65%)}
@media (max-width:640px){.demo-tag{font-size:9.5px}.node{width:min(250px,70vw);padding:13px 15px}.node h3{font-size:22px}.progress{display:none}}

/* v2 */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero{justify-content:flex-start;padding-top:var(--tag-top,56vh)}
.tagline{margin-top:clamp(14px,1.7vw,24px)}
.logo-fallback-img{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-62%);width:min(420px,70vw);height:auto}
.nogl .logo-fallback-img,.logo-fallback .logo-fallback-img{display:block}
.nogl .hero,.logo-fallback .hero{padding-top:calc(50% + 40px)}

/* ===== v3 ===== */
.topbar .brand{position:relative;display:block;width:44px;height:44px;pointer-events:auto;border-radius:11px}
.topbar .brand img{position:absolute;inset:0;width:44px;height:44px;display:block;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}
.topbar .b-light{clip-path:inset(0 0 100% 0)}   /* clip is driven continuously by theme.js (scroll-linked) */
.demo-tag{transition:color .25s,border-color .25s,background-color .25s}
.topbar.on-light .demo-tag{color:#0b1632;border-color:rgba(11,22,50,.35);background:rgba(255,255,255,.55)}
.hero .tagline{margin-top:clamp(18px,2.2vw,30px)}
.light,.dark2{position:relative;z-index:4;padding:clamp(72px,12vw,150px) 24px}
.light{background:#f1f6fb;color:var(--navy)}
.dark2{background:var(--bg);color:var(--ink)}
.wrap{max-width:1040px;margin:0 auto}
.light h2,.dark2 h2{font-size:clamp(34px,5.6vw,68px);font-weight:600;letter-spacing:-.035em;line-height:1.05}
.light .lead,.dark2 .lead{margin-top:18px;max-width:620px;font-size:clamp(16px,1.6vw,19px);line-height:1.55;color:#4a5b75}
.dark2 .lead{color:var(--mute)}
.light .tile{display:block;margin-bottom:28px;border-radius:22px;box-shadow:0 18px 40px -16px rgba(11,22,50,.5)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:48px}
.cards article{background:#fff;border:1px solid rgba(11,22,50,.08);border-radius:18px;padding:24px;box-shadow:0 18px 40px -26px rgba(11,22,50,.45)}
.cards small{font:400 11px "JetBrains Mono",monospace;letter-spacing:.14em;color:#0aa6cf}
.cards h3{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:8px 0 8px}
.cards p{font-size:15px;line-height:1.5;color:#4a5b75}
.foot{border-top:1px solid rgba(20,208,247,.25)}
.foot .tile{display:block;margin:0 auto 14px;border-radius:14px}
.logo-fallback-img{width:min(300px,56vw);border-radius:22%}
.nogl .logo-fallback-img,.logo-fallback .logo-fallback-img{transform:translate(-50%,-70%)}
.nogl .hero,.logo-fallback .hero{padding-top:calc(50% + 120px)}
.static .stage{position:relative}

.flash{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle at 50% 50%,#eaffff 0,#a8f1ff 16%,rgba(20,208,247,.55) 40%,rgba(20,208,247,0) 72%)}

/* ===== v4: the chip becomes a screen; the screen is the second section of the site ===== */
.screen{position:fixed;left:0;top:0;z-index:3;width:100px;height:100px;transform-origin:0 0;pointer-events:none;visibility:hidden;contain:layout style}
.scr-glass{position:absolute;inset:0;background:#040813;
  background-image:linear-gradient(rgba(20,208,247,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(20,208,247,.07) 1px,transparent 1px);background-size:32px 32px;
  box-shadow:0 0 0 2px rgba(120,230,255,.95),0 0 70px 6px rgba(20,208,247,.65),inset 0 0 90px rgba(20,208,247,.22)}
.scr-site{position:absolute;overflow:hidden;background:var(--bg);transform-origin:50% 50%}
.scr-flare{position:absolute;inset:0;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle at 50% 50%,#eaffff 0,#8eeaff 25%,rgba(20,208,247,.6) 55%,rgba(20,208,247,.25) 100%)}
.scr-scan{position:absolute;inset:0;opacity:.5;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 2px,rgba(0,0,0,.28) 3px,rgba(0,0,0,0) 4px)}

.s2{position:relative;z-index:4;margin-top:calc(var(--hv,100svh)*-1);min-height:var(--hv,100svh);visibility:hidden;color:var(--ink);overflow:hidden;
  background:radial-gradient(ellipse 80% 60% at 50% 0,rgba(20,208,247,.16),rgba(20,208,247,0) 70%),radial-gradient(ellipse 60% 50% at 85% 100%,rgba(26,159,216,.14),rgba(20,208,247,0) 70%),#070c18;
  display:flex;align-items:center;padding:clamp(88px,12vh,130px) 24px clamp(40px,7vh,80px)}
.s2.on{visibility:visible}
.s2::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:linear-gradient(rgba(20,208,247,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(20,208,247,.06) 1px,transparent 1px);background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 40%,#000,transparent 85%);mask-image:radial-gradient(ellipse 75% 70% at 50% 40%,#000,transparent 85%)}
.s2-in{position:relative;width:100%;max-width:1040px;margin:0 auto}
.s2 .eyebrow{font:400 12px "JetBrains Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:#7fdcf7}
.s2 h2{margin-top:14px;font-size:clamp(38px,6.4vw,84px);font-weight:600;letter-spacing:-.04em;line-height:1.02}
.s2 .grad{background:linear-gradient(100deg,#fff 0%,#aef0ff 35%,#14d0f7 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.s2 .lead{margin-top:20px;max-width:640px;font-size:clamp(16px,1.6vw,20px);line-height:1.55;color:#9fb2c6}
.s2-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:clamp(28px,5vh,52px)}
.s2-cards article{position:relative;padding:22px 22px 24px;border-radius:18px;background:linear-gradient(160deg,rgba(18,30,52,.85),rgba(8,14,28,.9));border:1px solid rgba(20,208,247,.28);
  box-shadow:0 0 0 1px rgba(20,208,247,.06),0 24px 60px -30px rgba(0,0,0,.9),0 0 50px -24px rgba(20,208,247,.5)}
.s2-cards small{font:400 11px "JetBrains Mono",monospace;letter-spacing:.14em;color:#14d0f7}
.s2-cards h3{font-size:25px;font-weight:600;letter-spacing:-.02em;margin:8px 0 8px}
.s2-cards p{font-size:15px;line-height:1.5;color:#9fb2c6}
.s2-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:clamp(24px,4vh,40px)}
.s2-cta .cta{margin-top:0}
.s2-note{font:400 11px "JetBrains Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.scr-site .s2{visibility:visible;margin:0;min-height:100%;height:auto;z-index:auto}

.static .screen{display:none}
.static .s2{visibility:visible;margin-top:0;min-height:auto}
@media (max-width:640px){.s2{align-items:flex-start}.s2-note{display:none}}
