:root{--ion:#5cc8ff;--ion2:#2b7bff;--flare:#ff9a3c;--void:#02040a;--line:rgba(92,200,255,.22);--glass:rgba(8,18,38,.55)}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
html{scroll-behavior:auto}
body{margin:0;min-height:100vh;background:radial-gradient(1200px 700px at 70% -10%,#0b1b3a 0%,transparent 60%),var(--void)}
body.is-booting{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.accent{background:linear-gradient(90deg,#bfe9ff,var(--ion) 40%,var(--ion2));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 18px rgba(92,200,255,.45))}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.kicker{font-size:12px;letter-spacing:.28em;color:var(--ion);display:flex;align-items:center;gap:10px;margin:0 0 14px}
.sec{position:relative;z-index:2;padding:130px 0}
.sec-title{font-weight:800;font-size:clamp(34px,5.4vw,68px);line-height:1.02;letter-spacing:-.01em;margin:0 0 18px}
.sec-lead{color:#9fb3cf;max-width:640px;font-size:18px;line-height:1.6;margin:0 0 40px}
.editable{display:inline-block;margin-left:6px;font-size:11px;letter-spacing:.12em;color:var(--flare);border:1px dashed rgba(255,154,60,.5);padding:2px 8px;border-radius:4px;text-transform:uppercase}

/* bg */
#space,#mesh{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
#mesh{z-index:1;opacity:.7}
.scanlines{position:fixed;inset:0;z-index:60;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.7))}

/* satellite rig */
.sat-rig{position:relative;aspect-ratio:1192/372}
.sat-rig img{position:absolute;top:0;height:100%;width:auto;max-width:none;pointer-events:none;user-select:none}
.sat-rig .wing-l{left:0;width:46.98%;height:100%;transform-origin:100% 50%}
.sat-rig .mast{left:46.98%;width:8.72%;filter:drop-shadow(0 0 12px rgba(92,200,255,.35))}
.sat-rig .wing-r{left:55.7%;width:44.3%;transform-origin:0 50%}
.sat-rig .wing{filter:drop-shadow(0 0 24px rgba(43,123,255,.25))}

/* boot */
#boot{position:fixed;inset:0;z-index:100;background:#010207;display:flex;align-items:center;justify-content:center;overflow:hidden}
.boot-grid{position:absolute;inset:-50%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:60px 60px;transform:perspective(600px) rotateX(62deg) translateY(10%);opacity:.35;animation:gridmove 4s linear infinite;mask-image:radial-gradient(ellipse at center,#000 20%,transparent 65%)}
@keyframes gridmove{to{background-position:0 60px}}
.boot-top{position:absolute;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.2em;color:#6f87a8}
.boot-center{position:relative;width:min(760px,90vw);text-align:center}
.boot-count{font-size:clamp(90px,16vw,180px);font-weight:700;color:#e8f6ff;line-height:1;text-shadow:0 0 40px rgba(92,200,255,.7);letter-spacing:.05em}
.boot-sat{width:min(560px,86vw);margin:10px auto 0;opacity:0}
.boot-sat .wing{transform:scaleX(0)}
.boot-wave{margin:24px auto 8px;width:min(600px,86vw)}
.boot-wave canvas{width:100%;height:60px}
.boot-status{font-size:13px;letter-spacing:.35em;color:var(--ion)}
.boot-bar{height:2px;background:rgba(92,200,255,.15);width:min(420px,80vw);margin:16px auto 0;overflow:hidden}
.boot-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ion2),var(--ion),#fff);box-shadow:0 0 12px var(--ion)}
.boot-log{position:absolute;left:24px;bottom:22px;font-size:11px;line-height:1.7;color:#4f6a8f;text-align:left;max-width:60vw}
#bootSkip{position:absolute;right:24px;bottom:22px;background:none;border:1px solid rgba(92,200,255,.35);color:#9fd8ff;font-size:11px;letter-spacing:.2em;padding:8px 14px;border-radius:999px;cursor:pointer}
#bootSkip:hover{background:rgba(92,200,255,.12)}
.blink{animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}
.boot-flash{position:absolute;inset:0;background:radial-gradient(circle at center,#bfe9ff,transparent 60%);opacity:0;pointer-events:none}

/* topbar */
.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:linear-gradient(180deg,rgba(2,4,10,.85),transparent)}
.brand{display:flex;align-items:center;gap:10px;font-size:20px}
.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--ion);box-shadow:0 0 0 4px rgba(92,200,255,.18),0 0 16px var(--ion);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(92,200,255,0),0 0 16px var(--ion)}}
.brand-sub{font-size:10px;letter-spacing:.25em;color:#6f9cc8;border-left:1px solid var(--line);padding-left:10px}
.top-actions{display:flex;gap:10px;align-items:center}
.icon-btn{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(8px);transition:.25s}
.icon-btn img{width:18px;height:18px;filter:invert(1)}
.icon-btn:hover{border-color:var(--ion);box-shadow:0 0 18px rgba(92,200,255,.35)}
.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:auto}
.icon-btn.is-disabled{position:relative}
.icon-btn.is-disabled::after{content:'SOON';position:absolute;bottom:-14px;font:600 8px "JetBrains Mono";letter-spacing:.15em;color:var(--flare)}

/* buttons */
.btn-buy,.btn-ghost{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:14px;font-weight:700;letter-spacing:.02em;transition:transform .25s,box-shadow .25s,background .25s;position:relative;overflow:hidden;cursor:pointer;white-space:nowrap}
.btn-buy img,.btn-ghost img{width:22px;height:22px;object-fit:contain;border-radius:5px}
.btn-buy{background:linear-gradient(135deg,#7fd6ff,#2b7bff);color:#021022;box-shadow:0 10px 40px -8px rgba(43,123,255,.7),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-buy::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.btn-buy:hover::before{transform:translateX(120%)}
.btn-buy:hover,.btn-ghost:hover{transform:translateY(-2px)}
.btn-buy.small{padding:9px 14px;font-size:14px;border-radius:12px}
.btn-buy.small img{width:18px;height:18px}
.btn-ghost{border:1px solid rgba(92,200,255,.35);background:rgba(8,18,38,.6);backdrop-filter:blur(8px);color:#dff3ff}
.btn-ghost img[src$=".svg"]{filter:invert(1);width:18px;height:18px}
.btn-ghost:hover{border-color:var(--ion);box-shadow:0 0 26px rgba(92,200,255,.25)}
.is-tba{filter:saturate(.4);opacity:.75}
.is-tba::after{content:'TBA';position:absolute;top:4px;right:6px;font:700 8px "JetBrains Mono";letter-spacing:.12em;color:#021022;background:var(--flare);padding:1px 4px;border-radius:3px}
.btn-ghost.is-tba::after{color:#021022}

/* CA */
.ca-module{display:flex;align-items:center;gap:12px;margin-top:22px;padding:8px 8px 8px 16px;border:1px solid var(--line);border-radius:14px;background:var(--glass);backdrop-filter:blur(10px);max-width:560px}
.ca-label{font-size:10px;letter-spacing:.25em;color:#6f9cc8}
.ca-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#e8f6ff}
.ca-copy{display:inline-flex;align-items:center;gap:6px;background:rgba(92,200,255,.12);color:var(--ion);border:1px solid rgba(92,200,255,.35);border-radius:10px;padding:9px 12px;font:700 11px "JetBrains Mono";letter-spacing:.15em;cursor:pointer;transition:.2s}
.ca-copy:hover{background:rgba(92,200,255,.25)}
.ca-module.big{max-width:none;margin-top:10px}
.ca-module.big .ca-value{font-size:16px}

/* tuner nav */
.tuner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:55;display:flex;align-items:center;gap:14px;padding:8px 14px 8px 8px;border:1px solid var(--line);border-radius:18px;background:rgba(4,10,24,.78);backdrop-filter:blur(14px);box-shadow:0 20px 60px -20px #000,inset 0 1px 0 rgba(255,255,255,.05);max-width:calc(100vw - 20px)}
.tuner-band{position:relative;display:flex;overflow-x:auto;scrollbar-width:none;border-radius:12px;background:linear-gradient(180deg,#071328,#030912);border:1px solid rgba(92,200,255,.12)}
.tuner-band::-webkit-scrollbar{display:none}
.tuner-ticks{position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(90deg,rgba(92,200,255,.35) 0 1px,transparent 1px 8px);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);pointer-events:none}
.tuner-band button{position:relative;z-index:2;background:none;border:0;color:#6f87a8;padding:8px 14px 14px;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:color .3s;min-width:78px}
.tuner-band button b{font:700 13px "JetBrains Mono";letter-spacing:.04em}
.tuner-band button span{font:600 8.5px "JetBrains Mono";letter-spacing:.2em;margin-top:2px}
.tuner-band button.on{color:#e8f6ff}
.tuner-band button.on b{color:var(--ion);text-shadow:0 0 10px var(--ion)}
.tuner-needle{position:absolute;top:0;bottom:0;left:0;width:78px;z-index:1;pointer-events:none;transition:none}
.tuner-needle::before{content:'';position:absolute;inset:3px;border-radius:9px;background:radial-gradient(ellipse at 50% 100%,rgba(92,200,255,.28),transparent 70%);border:1px solid rgba(92,200,255,.3)}
.tuner-needle i{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:linear-gradient(180deg,transparent,#ff6a3c 40%,#ffb27a);box-shadow:0 0 8px #ff6a3c}
.tuner-read{font-size:12px;color:#9fd8ff;letter-spacing:.08em;display:flex;align-items:center;gap:8px;white-space:nowrap}
.tuner-read #tunerFreq{font-weight:700;color:#fff;min-width:44px;text-align:right}
.sig{display:flex;gap:2px;align-items:flex-end;height:14px}
.sig i{width:3px;background:var(--ion);border-radius:1px;animation:sig 1.2s ease-in-out infinite}
.sig i:nth-child(1){height:30%}.sig i:nth-child(2){height:55%;animation-delay:.1s}.sig i:nth-child(3){height:80%;animation-delay:.2s}.sig i:nth-child(4){height:100%;animation-delay:.3s}
@keyframes sig{50%{opacity:.35}}

/* hero */
.hero{position:relative;z-index:2;min-height:100vh;min-height:100svh;overflow:hidden;display:flex;align-items:center}
.earth-wrap{position:absolute;left:50%;bottom:-118vmax;width:150vmax;height:150vmax;transform:translateX(-50%);border-radius:50%;background:#000 url(assets/img/moon.jpg) center 43%/104% no-repeat}
.earth{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:transparent;box-shadow:inset 0 0 80px rgba(0,0,0,.55),inset 0 -140px 180px #000}
.earth-tex{position:absolute;inset:-5%;pointer-events:none}
.earth-night{position:absolute;inset:0;background:rgba(0,0,0,.68)}
.atmo{position:absolute;inset:-1.2%;border-radius:50%;box-shadow:0 0 60px 12px rgba(92,200,255,.55),0 0 180px 40px rgba(43,123,255,.35),inset 0 0 40px 8px rgba(160,220,255,.5);pointer-events:none}
.sunrise{position:absolute;left:32%;top:-6%;width:30%;height:14%;background:radial-gradient(ellipse at center,rgba(255,170,90,.9),rgba(255,120,40,.35) 35%,transparent 70%);filter:blur(10px);mix-blend-mode:screen;animation:breathe 6s ease-in-out infinite}
@keyframes breathe{50%{opacity:.6}}
.orbit-path{position:absolute;left:50%;top:44%;width:min(1300px,140vw);height:340px;transform:translate(-50%,-50%) rotate(-8deg);border-radius:50%;border:1px dashed rgba(92,200,255,.22);pointer-events:none}
.hero-sat-track{position:absolute;left:50%;top:44%;width:0;height:0;z-index:3;pointer-events:none}
.hero-sat{width:min(520px,70vw);transform:translate(-50%,-50%)}
.scan-beam{position:absolute;left:51.3%;top:60%;width:420px;height:70vh;transform:translateX(-50%);background:conic-gradient(from 168deg at 50% 0,transparent 0deg,rgba(92,200,255,.28) 12deg,transparent 24deg);mask-image:linear-gradient(180deg,#000,transparent);transform-origin:50% 0;animation:scan 5s ease-in-out infinite;mix-blend-mode:screen}
@keyframes scan{0%,100%{transform:translateX(-50%) rotate(-14deg)}50%{transform:translateX(-50%) rotate(14deg)}}
.hero-copy{position:relative;z-index:5;padding:120px 24px 150px;max-width:1180px;margin:0 auto;width:100%}
.live{width:8px;height:8px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 10px #ff4d4d;animation:blink 1.2s steps(2) infinite}
.hero-title{margin:0;font-weight:900;font-size:clamp(46px,8.6vw,124px);line-height:.92;letter-spacing:-.02em;text-shadow:0 0 60px rgba(92,200,255,.25)}
.hero-title .split{display:block}
.hero-ticker{margin:18px 0 0;font-size:clamp(14px,1.6vw,18px);letter-spacing:.32em;color:#cfe9ff}
.hero-ticker em{color:var(--flare);font-style:normal;margin:0 6px}
.hero-tag{max-width:540px;color:#a9bed9;font-size:clamp(16px,1.5vw,19px);line-height:1.6;margin:18px 0 26px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-hud{position:absolute;right:24px;top:50%;transform:translateY(-50%);z-index:5;display:grid;gap:10px;font-size:11px;letter-spacing:.18em;color:#6f9cc8}
.hero-hud div{border-left:2px solid var(--ion);padding:6px 12px;background:linear-gradient(90deg,rgba(92,200,255,.1),transparent);min-width:150px}
.hero-hud span{display:block;font-size:9px;opacity:.8}
.hero-hud b{color:#e8f6ff;font-size:16px;letter-spacing:.05em}
.scroll-cue{position:absolute;left:50%;bottom:96px;transform:translateX(-50%);z-index:5;font-size:10px;letter-spacing:.3em;color:#8fb7dd;display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-cue i{width:1px;height:36px;background:linear-gradient(var(--ion),transparent);animation:cue 1.8s infinite}
@keyframes cue{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}}

/* uplink */
.uplink{position:relative;z-index:2}
.uplink-stage{position:relative;height:100vh;height:100svh;overflow:hidden;background:linear-gradient(180deg,transparent,rgba(2,6,16,.9) 30%,#02060f)}
#cityCanvas{position:absolute;left:0;right:0;bottom:0;width:100%;height:62%}
.uplink-sat{position:absolute;left:50%;top:9%;width:min(380px,62vw);transform:translateX(-50%)}
.beam{position:absolute;left:50%;top:calc(9% + min(380px,62vw)*.17);width:240px;height:0;transform:translateX(-50%);pointer-events:none;mix-blend-mode:screen}
.beam::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(190,235,255,.95),rgba(92,200,255,.55) 40%,rgba(43,123,255,.0));clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);filter:blur(2px)}
.beam i{position:absolute;left:50%;top:0;width:3px;height:100%;margin-left:-1.5px;background:#fff;box-shadow:0 0 18px 4px var(--ion)}
.uplink-copy{position:absolute;left:24px;top:50%;transform:translateY(-50%);max-width:440px;z-index:3}
.uplink-copy .sec-title{font-size:clamp(30px,4vw,54px)}
.uplink-lines p{margin:6px 0;font-size:12.5px;color:#4f6a8f;transition:color .4s}
.uplink-lines p.on{color:#bfe9ff;text-shadow:0 0 8px rgba(92,200,255,.4)}
.uplink-meter{position:absolute;right:24px;top:50%;transform:translateY(-50%);text-align:right;z-index:3}
.uplink-meter span{display:block;font-size:11px;letter-spacing:.25em;color:#6f9cc8}
.uplink-meter b{font-size:clamp(56px,8vw,110px);color:#fff;line-height:1;text-shadow:0 0 30px rgba(255,180,90,.6)}
.uplink-meter em{font-style:normal;font-size:30px;color:var(--flare)}
.meter{width:200px;height:3px;background:rgba(255,255,255,.1);margin:10px 0 0 auto}
.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--flare),#ffd29a);box-shadow:0 0 10px var(--flare)}

/* telemetry */
.tele-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tele{position:relative;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(10,24,50,.7),rgba(4,10,22,.7));overflow:hidden;min-height:180px}
.tele::before{content:'';position:absolute;top:0;left:22px;right:22px;height:1px;background:linear-gradient(90deg,transparent,var(--ion),transparent)}
.tele-k{display:block;font-size:10px;letter-spacing:.25em;color:#6f9cc8}
.tele-v{display:block;font:800 clamp(26px,3vw,38px) "Exo 2";margin:14px 0 4px;color:#fff;word-break:break-all}
.tele-u{font-size:11px;letter-spacing:.14em;color:var(--ion)}
.tele-spark{position:absolute;left:0;right:0;bottom:0;width:100%;height:40px;opacity:.5}
.tele-spark polyline{fill:none;stroke:var(--ion);stroke-width:1.5;vector-effect:non-scaling-stroke}
.tele-wide{margin-top:16px;display:flex;gap:20px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--glass)}
.tele-wide-l{flex:1;min-width:260px}
.tele-wide-r{display:flex;gap:12px;flex-wrap:wrap}

/* ring gallery */
.gallery-sec{overflow:hidden}
.ring-stage{position:relative;height:min(620px,90vw);perspective:1400px;cursor:grab;touch-action:pan-y;outline:none;margin-top:10px}
.ring-stage:active{cursor:grabbing}
.ring-stage:focus-visible{box-shadow:inset 0 0 0 1px var(--ion)}
.ring{position:absolute;left:50%;top:46%;width:0;height:0;transform-style:preserve-3d}
.card{position:absolute;width:var(--cw);height:var(--cw);left:calc(var(--cw)/-2);top:calc(var(--cw)/-2);border-radius:18px;overflow:hidden;border:1px solid rgba(92,200,255,.35);background:#061022;box-shadow:0 30px 60px -20px #000,0 0 40px -10px rgba(92,200,255,.35);backface-visibility:hidden;transition:border-color .3s,box-shadow .3s}
.card img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.card .pkt{position:absolute;left:10px;top:10px;font:700 10px "JetBrains Mono";letter-spacing:.2em;background:rgba(2,6,16,.75);color:var(--ion);padding:4px 8px;border-radius:6px;border:1px solid var(--line)}
.card.front{border-color:#bfe9ff;box-shadow:0 30px 60px -20px #000,0 0 60px -4px rgba(92,200,255,.7)}
.card::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(92,200,255,.06) 0 1px,transparent 1px 4px);pointer-events:none}
.ring-core{position:absolute;left:50%;top:46%;width:90px;transform:translate(-50%,-50%);z-index:0}
.core-glow{position:absolute;inset:-60px;border-radius:50%;background:radial-gradient(circle,rgba(92,200,255,.5),transparent 65%);animation:breathe 3s infinite}
.ring-core img{position:relative;height:200px;width:auto;margin:0 auto}
.ring-floor{position:absolute;left:50%;top:80%;width:min(1100px,110vw);height:160px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(92,200,255,.25),transparent 65%);border:1px solid rgba(92,200,255,.15)}
.ring-ctrl{position:relative;z-index:3;display:flex;justify-content:center;align-items:center;gap:18px;font-size:12px;letter-spacing:.15em;color:#9fd8ff;padding:0 16px;text-align:center}
.ring-ctrl b{color:#fff}.ring-ctrl em{font-style:normal;color:var(--flare)}
.ring-ctrl button{width:46px;height:46px;flex:none;border-radius:50%;border:1px solid var(--line);background:var(--glass);color:var(--ion);display:grid;place-items:center;cursor:pointer;transition:.2s}
.ring-ctrl button:hover{border-color:var(--ion);box-shadow:0 0 18px rgba(92,200,255,.35)}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(1,3,8,.92);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}
.lightbox[hidden]{display:none}
.lightbox img{max-height:78vh;width:auto;border-radius:16px;border:1px solid var(--ion);box-shadow:0 0 80px rgba(92,200,255,.35)}
.lightbox p{color:var(--ion);letter-spacing:.2em;font-size:12px;margin-top:14px}
.lb-x{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;background:var(--glass);border:1px solid var(--line);color:#fff;display:grid;place-items:center;cursor:pointer}

/* trajectory */
.trajectory{position:relative;margin-top:30px}
.traj-line{position:absolute;left:0;right:0;top:-10px;width:100%;height:120px;overflow:visible}
.traj-line path{fill:none;stroke:url(#g);stroke:var(--ion);stroke-width:2;stroke-dasharray:6 8;opacity:.6;vector-effect:non-scaling-stroke}
.stages{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;padding-top:110px}
.stage{position:relative;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(10,24,50,.75),rgba(4,10,22,.6))}
.stage:nth-child(1){transform:translateY(40px)}.stage:nth-child(2){transform:translateY(20px)}.stage:nth-child(3){transform:translateY(0)}.stage:nth-child(4){transform:translateY(-20px)}
.st-n{font-size:10px;letter-spacing:.25em;color:var(--flare)}
.st-i{width:44px;height:44px;margin:16px 0 12px;color:var(--ion);filter:drop-shadow(0 0 10px rgba(92,200,255,.5))}
.st-i.img{border-radius:10px;object-fit:contain;filter:none}
.stage h3{font-size:22px;font-weight:800;margin:0 0 8px}
.stage p{color:#9fb3cf;font-size:15px;line-height:1.6;margin:0}
.launch-cta{margin-top:70px;display:flex;justify-content:center}

/* tweet */
.tx-frame{max-width:640px;margin:0 auto;border:1px solid rgba(92,200,255,.4);border-radius:20px;background:linear-gradient(180deg,rgba(8,20,44,.85),rgba(3,8,18,.9));box-shadow:0 0 80px -20px rgba(92,200,255,.5);overflow:hidden}
.tx-head{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:10px;letter-spacing:.15em;color:#9fd8ff;border-bottom:1px solid var(--line);background:rgba(92,200,255,.06);white-space:nowrap;overflow:hidden}
.rec{width:8px;height:8px;flex:none;border-radius:50%;background:#ff4d4d;box-shadow:0 0 8px #ff4d4d;animation:blink 1s steps(2) infinite}
.tx-sig{margin-left:auto;display:flex;gap:2px;align-items:flex-end;height:12px}
.tx-sig i{width:3px;background:var(--ion);animation:sig 1s infinite}
.tx-sig i:nth-child(1){height:20%}.tx-sig i:nth-child(2){height:40%}.tx-sig i:nth-child(3){height:60%}.tx-sig i:nth-child(4){height:80%}.tx-sig i:nth-child(5){height:100%}
.tx-body{position:relative;padding:22px;min-height:260px}
.tx-corners i{position:absolute;width:18px;height:18px;border-color:var(--ion);border-style:solid}
.tx-corners i:nth-child(1){top:8px;left:8px;border-width:2px 0 0 2px}.tx-corners i:nth-child(2){top:8px;right:8px;border-width:2px 2px 0 0}.tx-corners i:nth-child(3){bottom:8px;left:8px;border-width:0 0 2px 2px}.tx-corners i:nth-child(4){bottom:8px;right:8px;border-width:0 2px 2px 0}
.tweet-slot .twitter-tweet{margin:0 auto!important}
.tweet-slot blockquote.twitter-tweet{color:#9fd8ff;font-family:"JetBrains Mono";text-align:center;padding:40px 0}
.tweet-fallback{text-align:center;padding:20px 10px}
.tweet-fallback img{margin:0 auto 12px;filter:invert(1)}
.tweet-fallback p.font-mono{font-size:11px;letter-spacing:.25em;color:var(--flare)}
.tweet-fallback h3{font-size:24px;font-weight:800;margin:6px 0}
.tweet-fallback p{color:#9fb3cf}
.tweet-fallback .btn-ghost{margin-top:16px}
.tx-foot{display:flex;align-items:center;gap:12px;padding:10px 16px;font-size:10px;letter-spacing:.2em;color:#6f9cc8;border-top:1px solid var(--line)}
.tx-wave{flex:1;height:14px;background:repeating-linear-gradient(90deg,var(--ion) 0 2px,transparent 2px 6px);mask-image:linear-gradient(90deg,transparent,#000,transparent);opacity:.5;animation:wave 1.2s linear infinite}
@keyframes wave{to{background-position:24px 0}}

/* monitor */
.monitor{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#030914}
.mon-head{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:11px;letter-spacing:.18em;color:#9fd8ff;border-bottom:1px solid var(--line)}
.mon-head img{width:20px;height:20px}
.mon-head a{margin-left:auto;color:var(--ion);border:1px solid var(--line);padding:4px 10px;border-radius:8px}
.mon-body{position:relative;height:560px}
.mon-body iframe{width:100%;height:100%;border:0}
.mon-wait{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:radial-gradient(circle at center,rgba(92,200,255,.08),transparent 60%),repeating-linear-gradient(90deg,rgba(92,200,255,.05) 0 1px,transparent 1px 60px),repeating-linear-gradient(0deg,rgba(92,200,255,.05) 0 1px,transparent 1px 60px)}
.mon-wait p{letter-spacing:.3em;color:#e8f6ff;margin:22px 0 6px}
.mon-wait span{color:#7f95b3}
.radar{width:160px;height:160px;border-radius:50%;border:1px solid rgba(92,200,255,.4);position:relative;background:repeating-radial-gradient(circle,transparent 0 24px,rgba(92,200,255,.18) 24px 25px);overflow:hidden}
.radar i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(92,200,255,.55),transparent 70deg);animation:rot 2.6s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}

/* footer */
.foot{position:relative;z-index:2;padding:80px 0 130px;border-top:1px solid var(--line);background:linear-gradient(180deg,transparent,#010309)}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.foot-brand img{width:min(420px,100%);border-radius:14px;border:1px solid var(--line)}
.foot-links{display:flex;gap:10px;flex-wrap:wrap}
.foot-links a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--glass);font-size:14px;transition:.2s;position:relative}
.foot-links a img{width:18px;height:18px;object-fit:contain}
.foot-links a img[src$=".svg"]{filter:invert(1)}
.foot-links a:hover{border-color:var(--ion)}
.foot-links a.is-disabled::after{content:'SOON';font:700 8px "JetBrains Mono";color:var(--flare);margin-left:4px}
.disclaimer{margin-top:40px;color:#7f95b3;font-size:13.5px;line-height:1.7;max-width:860px}
.copy{margin-top:18px;font-size:10px;letter-spacing:.25em;color:#3f5878}

/* toast */
.toast{position:fixed;left:50%;top:84px;transform:translate(-50%,-20px);z-index:95;background:rgba(6,16,36,.95);border:1px solid var(--ion);color:#e8f6ff;padding:12px 18px;border-radius:12px;font-size:12px;letter-spacing:.12em;opacity:0;pointer-events:none;transition:.3s;box-shadow:0 0 30px rgba(92,200,255,.35);max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* reveal fallback: visible by default */
.reveal{opacity:1}

/* responsive */
@media (max-width:1024px){.tele-grid{grid-template-columns:repeat(2,1fr)}.stages{grid-template-columns:repeat(2,1fr);padding-top:40px}.traj-line{display:none}.stage:nth-child(n){transform:none}.hero-hud{display:none}}
@media (max-width:640px){
  .sec{padding:90px 0}
  .brand-sub{display:none}
  .topbar{padding:12px 14px}
  .icon-btn{width:36px;height:36px}
  .btn-buy.small span{display:none}
  .hero-copy{padding:100px 18px 170px}
  .hero-sat-track{top:34%}
  .hero-sat{width:86vw;opacity:.55}
  .orbit-path{top:34%;height:200px}
  .earth-wrap{bottom:-128vmax}
  .hero-cta .btn-buy,.hero-cta .btn-ghost{padding:12px 16px}
  .ca-label{display:none}
  .tele-grid{grid-template-columns:1fr 1fr;gap:10px}
  .tele{padding:16px;min-height:150px}
  .tele-v{font-size:22px}
  .stages{grid-template-columns:1fr}
  .uplink-copy{left:18px;right:18px;top:auto;bottom:28%;transform:none;max-width:none}
  .uplink-meter{right:18px;top:auto;bottom:calc(28% - 0px);transform:translateY(100%);display:none}
  .uplink-copy .sec-title{font-size:30px}
  .uplink-sat{top:12%}
  .tuner{bottom:10px;padding:6px;gap:0;left:10px;right:10px;transform:none;max-width:none}
  .tuner-read{display:none}
  .tuner-band{flex:1}
  .tuner-band button{min-width:72px;padding:7px 8px 12px}
  .tuner-needle{width:72px}
  .mon-body{height:440px}
  .ring-ctrl em{display:none}
  .scroll-cue{bottom:100px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
}

.hero-title .wd{display:inline-block;white-space:nowrap}
.hero-title .ch{display:inline-block}
.hero-title .accent .ch{background:linear-gradient(90deg,#bfe9ff,var(--ion) 60%,var(--ion2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-title .accent{filter:drop-shadow(0 0 18px rgba(92,200,255,.45))}
@media (max-width:640px){
  .hero-title{font-size:clamp(38px,11vw,56px)}
  .uplink-sat{top:7%;width:70vw}
  .uplink-copy{bottom:96px;padding:16px;border-radius:16px;background:rgba(2,6,16,.72);backdrop-filter:blur(8px);border:1px solid var(--line)}
  .uplink-copy .sec-title{font-size:26px}
  .uplink-lines p{font-size:10.5px}
  .uplink-meter{display:block;top:auto;bottom:auto;top:calc(7% + 70vw*.33);right:14px;transform:none}
  .uplink-meter b{font-size:40px}.uplink-meter em{font-size:18px}.meter{width:110px}
}
