/* LOG11DX landing page (2026-11 redesign). Used only by landing.php. */
:root{
  color-scheme:dark;
  --void:#04080f; --deep:#071221; --panel:#0b1727; --panel-2:#0f1f33;
  --line:rgba(125,211,252,.14); --line-strong:rgba(125,211,252,.32);
  --ink:#e6f1fb; --ink-2:#9fb3c8; --ink-3:#6b8199;
  --cyan:#22d3ee; --green:#34d399; --amber:#f6a93b; --signal:#ef4444;
  --f-display:"Orbitron","Rajdhani",system-ui,sans-serif;
  --f-label:"Rajdhani","Space Grotesk",system-ui,sans-serif;
  --f-data:"Space Grotesk",ui-monospace,"Consolas",monospace;
  --f-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:14px; --ease:cubic-bezier(.2,.7,.1,1); --ease-io:cubic-bezier(.7,0,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--void);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{text-wrap:balance;margin:0}
.eyebrow{font-family:var(--f-label);font-weight:700;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan)}
.num{font-variant-numeric:tabular-nums}
.h2{font-family:var(--f-display);font-weight:700;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.1;margin-top:10px}
.skip{position:absolute;left:-9999px;top:8px;z-index:60;background:var(--cyan);color:#02131d;padding:8px 14px;border-radius:8px;font-weight:600}
.skip:focus{left:16px}

/* boot intro: only shown when landing.js marks <html class="l-boot"> */
#boot{display:none;position:fixed;inset:0;z-index:50;background:var(--void);place-items:center;transition:opacity .7s ease,transform .9s var(--ease),filter .7s;padding:16px}
.l-boot #boot{display:grid}
#boot.out{opacity:0;transform:scale(1.08);filter:blur(8px);pointer-events:none}
#boot::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);pointer-events:none}
#boot::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--cyan);box-shadow:0 0 30px var(--cyan);transform:scaleX(0);animation:crt .5s .05s var(--ease) forwards}
@keyframes crt{60%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.boot-in{display:grid;justify-items:center;gap:14px;text-align:center;animation:bootIn .6s .3s both}
@keyframes bootIn{from{opacity:0;transform:scale(.96)}}
.boot-in img{width:84px;height:84px}
.boot-freq{font-family:var(--f-display);font-weight:700;font-size:clamp(2.4rem,9vw,5rem);color:var(--amber);text-shadow:0 0 24px rgba(246,169,59,.6);letter-spacing:.02em}
.boot-freq small{font-size:.32em;color:var(--ink-3);margin-left:.4em;text-shadow:none}
.boot-meter{width:min(360px,80vw);height:8px;display:grid;grid-template-columns:repeat(24,1fr);gap:3px}
.boot-meter i{background:#16263a;border-radius:2px}
.boot-meter i.on{background:var(--amber);box-shadow:0 0 8px var(--amber)}
.boot-meter i.on.hi{background:var(--signal);box-shadow:0 0 8px var(--signal)}
.boot-txt{font-family:var(--f-label);font-weight:700;letter-spacing:.3em;text-transform:uppercase;font-size:.8rem;color:var(--ink-3)}
.boot-skip{font:500 .72rem var(--f-data);color:var(--ink-3);background:none;border:0;cursor:pointer;margin-top:8px}

/* nav + tuning dial */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--void)}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:rgba(4,8,15,.7);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:24px;height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:900;letter-spacing:.08em;font-size:1.05rem}
.brand img{width:36px;height:36px;transition:transform .6s var(--ease)}
.brand:hover img{transform:rotate(-8deg) scale(1.08)}
.brand em{font-style:normal;color:var(--signal)}
.nav-links{display:flex;gap:22px;margin-left:auto;font-family:var(--f-label);font-weight:600;font-size:1rem;letter-spacing:.06em;text-transform:uppercase}
.nav-links a{text-decoration:none;color:var(--ink-2);position:relative;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav-links a:hover,.nav-links a.cur{color:var(--ink)}
.nav-links a:hover::after,.nav-links a.cur::after{transform:scaleX(1);transform-origin:left}
.dial{position:relative;height:22px;border-top:1px solid var(--line);overflow:hidden;background:rgba(4,8,15,.6)}
.dial-scale{position:absolute;top:0;bottom:0;left:50%;width:3200px;background:
  repeating-linear-gradient(90deg,rgba(125,211,252,.55) 0 1px,transparent 1px 40px) 0 0/40px 9px repeat-x,
  repeating-linear-gradient(90deg,rgba(125,211,252,.22) 0 1px,transparent 1px 8px) 0 0/8px 5px repeat-x;will-change:transform}
.dial-scale span{position:absolute;top:8px;font:500 .62rem var(--f-data);color:var(--ink-3);transform:translateX(-50%)}
.dial-needle{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--amber);box-shadow:0 0 10px var(--amber)}
.dial-read{position:absolute;right:max(16px,env(safe-area-inset-right,0px));top:3px;font:600 .7rem var(--f-data);color:var(--amber);background:rgba(4,8,15,.85);padding:0 6px;border-radius:3px}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:8px;font-family:var(--f-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:10px;padding:10px 18px;font-size:.95rem;border:0;cursor:pointer;overflow:hidden;transition:translate .35s var(--ease),box-shadow .25s,background .25s,border-color .25s}
.btn-primary{background:linear-gradient(135deg,var(--cyan),#0ea5e9);color:#02131d;box-shadow:0 0 0 1px rgba(34,211,238,.4),0 10px 30px -8px rgba(34,211,238,.55)}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:sheen 4.5s 2.5s ease-in-out infinite}
@keyframes sheen{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.btn-primary:hover{box-shadow:0 0 0 1px rgba(34,211,238,.8),0 16px 44px -10px rgba(34,211,238,.9)}
.btn-ghost{color:var(--ink);border:1px solid var(--line-strong);background:rgba(255,255,255,.02)}
.btn-ghost:hover{border-color:var(--cyan);background:rgba(34,211,238,.06)}
.nav .btn{padding:8px 14px;font-size:.85rem}
.btn{white-space:nowrap}
@media (max-width:900px){.nav-links{display:none}.nav .btn-ghost{margin-left:auto}}
@media (max-width:420px){.nav .wrap{gap:10px}.nav .btn{padding:7px 10px;font-size:.78rem;letter-spacing:.05em}.brand{font-size:.95rem}.brand img{width:30px;height:30px}}

/* hero */
.hero{position:relative;overflow:hidden;isolation:isolate;padding-block:60px 0}
.hero-bg{position:absolute;inset:-40px;z-index:-2;will-change:translate}
.hero-bg div{position:absolute;inset:0;background:url(/images/dashboard_v2_logbook_earth.webp) center 18%/cover no-repeat;opacity:.92;animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.04)}to{transform:scale(1.12) translateY(-12px)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 10%,transparent 30%,var(--void) 78%),linear-gradient(180deg,rgba(4,8,15,.2),var(--void) 92%)}
#arcs{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:end;padding-top:min(16vw,160px)}
.hero-grid>*{min-width:0}
.hero h1{font-family:var(--f-display);font-weight:900;font-size:clamp(2.3rem,6vw,4.6rem);line-height:1.02;letter-spacing:.01em}
.hero h1 .band{display:block;color:transparent;-webkit-text-stroke:1.5px var(--cyan);text-shadow:0 0 40px rgba(34,211,238,.35);animation:flicker 7s 3s infinite}
@keyframes flicker{0%,92%,100%{opacity:1}93%{opacity:.4}94%{opacity:1}96%{opacity:.6}97%{opacity:1}}
.lede{color:var(--ink-2);font-size:1.12rem;max-width:56ch;margin:20px 0 28px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.freq{font-family:var(--f-data);font-size:.85rem;color:var(--ink-3);margin-top:22px;display:flex;gap:16px;flex-wrap:wrap}
.freq b{color:var(--green);font-weight:500}
.console{position:relative;background:rgba(7,18,33,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.05)}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
.console::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a,0deg),transparent 0 70%,var(--cyan) 85%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:orbit 5s linear infinite;pointer-events:none}
@keyframes orbit{to{--a:360deg}}
.console-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);font-family:var(--f-label);font-weight:700;letter-spacing:.14em;font-size:.78rem;text-transform:uppercase;color:var(--ink-2)}
.live-dot{display:inline-flex;align-items:center;gap:8px;color:var(--green)}
.live-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);animation:ping 1.6s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(52,211,153,.7)}70%{box-shadow:0 0 0 9px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.spots{list-style:none;margin:0;padding:6px 0;min-height:236px;font-family:var(--f-data);font-size:.82rem}
.spots li{display:grid;grid-template-columns:48px 58px minmax(0,1fr) auto;gap:10px;padding:6px 14px;border-bottom:1px solid rgba(125,211,252,.06);align-items:center}
.spots li.empty{display:block;color:var(--ink-3);padding:24px 14px}
.spots li.new{animation:spotIn .8s var(--ease) both;background:linear-gradient(90deg,rgba(34,211,238,.18),transparent 70%)}
.spots li.new .f{animation:fflash 1.2s ease}
@keyframes spotIn{from{opacity:0;transform:translateX(-24px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes fflash{0%{color:#fff;text-shadow:0 0 12px var(--amber)}}
.spots .t{color:var(--ink-3)}.spots .f{color:var(--amber)}.spots .c{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spots .m{color:var(--cyan);font-size:.72rem;border:1px solid var(--line-strong);border-radius:4px;padding:0 5px}
.console-foot{display:flex;justify-content:space-between;gap:10px;padding:8px 14px;font-size:.75rem;color:var(--ink-3);border-top:1px solid var(--line)}
.console-foot a{color:var(--cyan);text-decoration:none}
.waterfall{position:relative;margin-top:56px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line)}
#wf{display:block;width:100%;height:120px}
.wf-axis{display:flex;justify-content:space-between;font-family:var(--f-data);font-size:.72rem;color:var(--ink-3);padding:6px 0}
.wf-label{position:absolute;left:0;top:8px;font-family:var(--f-label);font-weight:700;font-size:.72rem;letter-spacing:.2em;color:var(--cyan);text-transform:uppercase;background:rgba(4,8,15,.7);padding:2px 8px;border-radius:4px}
.wf-cursor{position:absolute;top:0;height:120px;width:1px;background:rgba(246,169,59,.9);box-shadow:0 0 10px var(--amber);pointer-events:none;opacity:0;transition:opacity .2s}
.wf-tip{position:absolute;top:-24px;transform:translateX(-50%);font:600 .7rem var(--f-data);color:#02131d;background:var(--amber);border-radius:4px;padding:1px 6px;white-space:nowrap}
.waterfall:hover .wf-cursor{opacity:1}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:40px}
.stat{background:var(--deep);padding:22px 22px 18px}
.stat .v{font-family:var(--f-display);font-weight:700;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1;height:1em;display:flex;overflow:hidden}
.odo-d{display:inline-block;height:1em;overflow:hidden}
.odo-d b{display:block;font-weight:inherit;transition:transform 1.8s var(--ease);transition-delay:var(--dl,0s)}
.odo-d b i{display:block;height:1em;font-style:normal}
.stat .l{font-family:var(--f-label);font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:10px}
.stat .spark{height:3px;margin-top:14px;background:rgba(125,211,252,.12);border-radius:2px;overflow:hidden}
.stat .spark::after{content:"";display:block;height:100%;width:var(--p,60%);background:var(--cyan);box-shadow:0 0 10px var(--cyan);transform-origin:left;transition:transform 1.6s .3s var(--ease)}
.armed .stat .spark::after{transform:scaleX(0)}
.armed.in .stat .spark::after{transform:none}

/* marquee */
.marquee{margin-top:90px;border-block:1px solid var(--line);padding-block:14px;display:grid;gap:10px;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mq-track{display:flex;gap:40px;width:max-content;font-family:var(--f-data);font-size:.92rem;white-space:nowrap;will-change:transform}
.mq-track span{display:inline-flex;gap:10px;align-items:center;color:var(--ink-2)}
.mq-track span b{color:var(--amber);font-weight:500}
.mq-track span em{font-style:normal;color:var(--green)}
.mq-track.big{font-family:var(--f-display);font-weight:900;font-size:clamp(1.6rem,4vw,3rem);letter-spacing:.04em;gap:56px}
.mq-track.big span{color:transparent;-webkit-text-stroke:1px rgba(125,211,252,.35)}
.mq-track.big span.hot{color:var(--ink);-webkit-text-stroke:0}

section.block{padding-block:120px 0}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:40px}
.sec-head p{color:var(--ink-2);margin:0;max-width:52ch}

/* reveal system: landing.js arms only groups below the fold */
.armed .rv{opacity:0;translate:0 26px;filter:blur(4px)}
.armed.in .rv{opacity:1;translate:0 0;filter:none;transition:opacity .8s var(--ease),translate .9s var(--ease),filter .8s;transition-delay:calc(var(--i,0)*90ms)}

/* screenshot frame */
.screen{position:relative;border-radius:16px;border:1px solid var(--line-strong);overflow:hidden;background:var(--panel);box-shadow:0 60px 120px -50px rgba(34,211,238,.4),0 0 0 1px rgba(255,255,255,.03);transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease)}
.screen-bar{display:flex;gap:6px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);font-family:var(--f-data);font-size:.74rem;color:var(--ink-3);background:rgba(7,18,33,.9)}
.screen-bar i{width:10px;height:10px;border-radius:50%;background:#1e3a52}
.screen-bar span{margin-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.screen img{display:block;width:100%;height:auto;transition:transform 1.6s var(--ease)}
.screen .glare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.14),transparent 45%);opacity:0;transition:opacity .4s}
.shot:hover .screen .glare{opacity:1}
.screen .sweep{position:absolute;left:0;right:0;top:0;height:2px;background:var(--cyan);box-shadow:0 0 24px 4px rgba(34,211,238,.6);opacity:0;pointer-events:none}
.armed .screen{clip-path:inset(0 0 100% 0 round 16px)}
.armed .screen img{transform:scale(1.15)}
.armed.in .screen{clip-path:inset(0 0 0 0 round 16px);transition:clip-path 1.3s var(--ease-io),transform .5s var(--ease)}
.armed.in .screen img{transform:none}
.armed.in .screen .sweep{animation:sweep 1.3s var(--ease-io)}
@keyframes sweep{0%{top:0;opacity:1}90%{opacity:1}100%{top:100%;opacity:0}}
.scanline::after{content:"";position:absolute;left:0;right:0;top:0;height:30%;background:linear-gradient(180deg,transparent,rgba(34,211,238,.09),transparent);animation:scan 5s linear infinite;pointer-events:none}
@keyframes scan{from{transform:translateY(-100%)}to{transform:translateY(400%)}}

/* screen theatre */
.theatre{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.theatre>*{min-width:0}
.reel{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:6px}
.reel button{width:100%;text-align:left;display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;background:transparent;border:1px solid transparent;border-radius:10px;padding:10px 12px;color:var(--ink-2);font-family:var(--f-label);font-weight:700;font-size:1.05rem;letter-spacing:.04em;cursor:pointer;position:relative;overflow:hidden;transition:color .3s,background .3s,border-color .3s,translate .4s var(--ease)}
.reel button small{display:block;font-family:var(--f-body);font-weight:400;font-size:.8rem;color:var(--ink-3);letter-spacing:0}
.reel button .k{font-family:var(--f-data);font-size:.72rem;color:var(--ink-3)}
.reel button:hover{color:var(--ink);border-color:var(--line);translate:4px 0}
.reel button[aria-selected="true"]{color:var(--ink);background:linear-gradient(90deg,rgba(34,211,238,.14),rgba(34,211,238,0));border-color:var(--line-strong)}
.reel button[aria-selected="true"] .k{color:var(--cyan)}
.reel button .bar{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.reel.playing button[aria-selected="true"] .bar{animation:fill var(--dur,6s) linear forwards}
.reel.held button .bar{animation-play-state:paused!important}
@keyframes fill{to{width:100%}}
.stage{position:relative;aspect-ratio:16/10;max-width:100%;border-radius:16px;border:1px solid var(--line-strong);overflow:hidden;background:var(--deep);box-shadow:0 60px 140px -60px rgba(34,211,238,.5)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .2s .9s}
.slide.on{opacity:1;z-index:2;transition-delay:0s}
.slide.tune{animation:tuneIn 1s var(--ease-io)}
@keyframes tuneIn{0%{clip-path:inset(0 0 0 100%);filter:brightness(2.2) saturate(0) contrast(1.4)}45%{filter:brightness(1.2) saturate(1.6) hue-rotate(-25deg)}100%{clip-path:inset(0 0 0 0);filter:none}}
.slide::before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--cyan);box-shadow:0 0 30px 8px rgba(34,211,238,.6);z-index:3;opacity:0}
.slide.tune::before{animation:edge 1s var(--ease-io)}
@keyframes edge{0%{left:100%;opacity:1}90%{opacity:1}100%{left:0;opacity:0}}
.slide img{width:100%;height:100%;object-fit:cover;object-position:top center;transform:scale(1.04);transition:transform 7s ease-out}
.slide.on img{transform:scale(1.13) translateY(-2%)}
.slide .cap{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 18px;background:linear-gradient(180deg,transparent,rgba(4,8,15,.94));display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.slide .cap h3{font-family:var(--f-display);font-weight:700;font-size:clamp(1.1rem,2vw,1.5rem)}
.slide .cap p{margin:4px 0 0;color:var(--ink-2);font-size:.92rem;max-width:56ch}
.slide.tune .cap p{animation:capIn .8s .5s both var(--ease)}
@keyframes capIn{from{opacity:0;translate:0 12px}}
.slide .cap a{font-family:var(--f-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);text-decoration:none;white-space:nowrap}
.hud{position:absolute;top:14px;left:14px;display:flex;gap:8px;flex-wrap:wrap}
.hud span{font-family:var(--f-data);font-size:.72rem;background:rgba(4,8,15,.78);border:1px solid var(--line-strong);border-radius:999px;padding:3px 10px;color:var(--ink-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.slide.tune .hud span{animation:chipIn .6s both var(--ease)}
.slide.tune .hud span:nth-child(2){animation-delay:.12s}.slide.tune .hud span:nth-child(3){animation-delay:.24s}
@keyframes chipIn{from{opacity:0;translate:-12px 0;scale:.9}}
.hud span b{color:var(--green);font-weight:600}
#static{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;opacity:0;mix-blend-mode:screen;image-rendering:pixelated}
#static.flash{animation:staticFlash .45s ease-out}
@keyframes staticFlash{0%{opacity:.75}100%{opacity:0}}
.stage-ctl{position:absolute;top:12px;right:12px;z-index:5;font:600 .72rem var(--f-data);background:rgba(4,8,15,.78);color:var(--ink-2);border:1px solid var(--line-strong);border-radius:999px;padding:4px 10px;cursor:pointer}
.ch{position:absolute;right:14px;bottom:86px;z-index:5;font:700 .8rem var(--f-display);color:var(--amber);text-shadow:0 0 12px rgba(246,169,59,.7);opacity:0}
.ch.show{animation:chShow 1.4s ease}
@keyframes chShow{0%,70%{opacity:1}100%{opacity:0}}

/* feature chapters */
.chapter{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:center;padding-block:110px 0}
.chapter>*{min-width:0}
.chapter.flip{grid-template-columns:7fr 5fr}
.chapter.flip .copy{order:2}
.copy .meta{display:flex;align-items:center;gap:12px}
.copy p{color:var(--ink-2);margin:14px 0 0;max-width:48ch}
.ticks{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.ticks li{display:grid;grid-template-columns:18px 1fr;gap:10px;color:var(--ink-2);font-size:.95rem}
.ticks li::before{content:"";width:8px;height:8px;margin-top:8px;border:2px solid var(--green);border-radius:50%}
.armed.in .ticks li::before{animation:tickPing 1s both;animation-delay:calc(var(--i,0)*90ms + .4s)}
@keyframes tickPing{0%{box-shadow:0 0 0 0 rgba(52,211,153,.8)}100%{box-shadow:0 0 0 10px rgba(52,211,153,0)}}
.copy .link{display:inline-flex;gap:6px;margin-top:22px;font-family:var(--f-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);text-decoration:none}
.copy .link span{transition:translate .3s var(--ease)}
.copy .link:hover span{translate:6px 0}
.shot{position:relative;will-change:translate}
.float-chip{position:absolute;z-index:3;font-family:var(--f-data);font-size:.78rem;background:rgba(7,18,33,.92);border:1px solid var(--line-strong);border-radius:10px;padding:8px 12px;box-shadow:0 20px 40px -20px rgba(0,0,0,.9);animation:bob 6s ease-in-out infinite;will-change:translate}
.float-chip b{display:block;font-family:var(--f-display);font-size:1.05rem;color:var(--ink)}
.float-chip.amber b{color:var(--amber)}.float-chip.green b{color:var(--green)}.float-chip.cyan b{color:var(--cyan)}
@keyframes bob{50%{transform:translateY(-8px)}}
.armed .float-chip{opacity:0;scale:.8}
.armed.in .float-chip{opacity:1;scale:1;transition:opacity .6s 1.1s,scale .6s 1.1s var(--ease)}
.ver{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;font-family:var(--f-data);font-size:.8rem}
.ver span{border:1px solid var(--line-strong);border-radius:999px;padding:4px 12px;color:var(--ink-2)}
.ver span b{color:var(--cyan);font-weight:600}
.badge-new{font-family:var(--f-label);font-weight:700;font-size:.72rem;letter-spacing:.14em;color:#02131d;background:var(--amber);border-radius:4px;padding:1px 7px;animation:blink 2.4s infinite}
@keyframes blink{50%{box-shadow:0 0 14px var(--amber)}}

/* cinematic map: zoom scrubbed by scroll */
.cine{position:relative;margin-top:120px;height:min(82vh,760px);min-height:440px;overflow:hidden;border-block:1px solid var(--line)}
.cine img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 40%;transform:scale(var(--z,1.15)) translate(var(--tx,0%),0);will-change:transform}
.cine::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,8,15,.95) 0%,rgba(4,8,15,.55) 38%,transparent 65%),linear-gradient(0deg,var(--void),transparent 25%,transparent 80%,var(--void))}
.cine .radar{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(34,211,238,.10) 48%,rgba(34,211,238,.35) 50%,transparent 50.4%);background-size:200% 100%;animation:radar 6s linear infinite;mix-blend-mode:screen}
@keyframes radar{from{background-position:200% 0}to{background-position:-100% 0}}
.cine .wrap{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center}
.cine .copy{max-width:460px}

/* spotlight grid */
.more{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.more>*{position:relative;background:var(--deep);padding:20px;overflow:hidden}
.more>*::before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--x,-300px) var(--y,-300px),rgba(34,211,238,.16),transparent 60%);pointer-events:none}
.more b{display:block;font-family:var(--f-label);font-weight:700;font-size:1.08rem;letter-spacing:.04em}
.more span{display:block;color:var(--ink-3);font-size:.88rem;margin-top:4px}
.more i{display:block;font-style:normal;font-family:var(--f-data);font-size:.7rem;color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}

.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.chip{font-family:var(--f-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;padding:6px 14px;border-radius:999px;border:1px solid var(--line-strong)}
.chip.m{background:linear-gradient(90deg,#f59e0b33,#60a5fa22)}.chip.d{background:#33415555}.chip.s{background:linear-gradient(90deg,#fb718533,#7c3aed33)}.chip.n{background:#1e3a8a55}
.theme-frame{border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.theme-frame img{display:block;width:100%;height:auto}
.eqsl-strip{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border:1px solid var(--line-strong);border-radius:var(--r);padding:26px 28px;background:linear-gradient(110deg,rgba(14,116,144,.25),rgba(4,8,15,0) 60%)}
.eqsl-strip::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 40%,rgba(34,211,238,.12) 50%,transparent 60%);background-size:250% 100%;animation:radar 7s linear infinite;pointer-events:none}
.eqsl-strip h2{font-family:var(--f-label);font-size:1.5rem;letter-spacing:.03em}
.eqsl-strip p{margin:4px 0 0;color:var(--ink-2)}
.faq{display:grid;gap:10px;max-width:820px}
.faq details{border:1px solid var(--line);border-radius:12px;background:var(--deep);padding:16px 20px;transition:border-color .3s}
.faq details[open]{border-color:var(--line-strong)}
.faq summary{cursor:pointer;font-family:var(--f-label);font-weight:700;font-size:1.15rem;letter-spacing:.03em;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--cyan);font-family:var(--f-data);transition:rotate .3s var(--ease)}
.faq details[open] summary::after{rotate:45deg}
.faq details p{color:var(--ink-2);margin:10px 0 0}
.faq details[open] p{animation:capIn .5s var(--ease)}
.final{position:relative;isolation:isolate;text-align:center;padding-block:140px;margin-top:120px;overflow:hidden;border-top:1px solid var(--line)}
.final::before{content:"";position:absolute;left:50%;top:100%;width:1100px;height:1100px;transform:translate(-50%,-38%);border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.18),transparent 60%);z-index:-1}
.rings{position:absolute;left:50%;top:50%;z-index:-1}
.rings i{position:absolute;left:0;top:0;width:120px;height:120px;margin:-60px;border:1px solid rgba(34,211,238,.35);border-radius:50%;opacity:0}
.rings.idle i{animation:ring 4.5s linear infinite}
.rings.idle i:nth-child(2){animation-delay:1.5s}.rings.idle i:nth-child(3){animation-delay:3s}
@keyframes ring{from{transform:scale(.4);opacity:1}to{transform:scale(6);opacity:0}}
.morse{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-data);font-size:.8rem;color:var(--ink-3);letter-spacing:.2em}
.morse i{width:10px;height:10px;border-radius:50%;background:#1e3a52;transition:background .05s,box-shadow .05s}
.morse i.on{background:var(--signal);box-shadow:0 0 14px var(--signal)}
.final h2{font-family:var(--f-display);font-weight:900;font-size:clamp(2rem,5vw,3.6rem);margin-top:12px}
.final p{color:var(--ink-2);margin:14px auto 30px;max-width:48ch}
.site-footer{border-top:1px solid var(--line);padding-block:28px;color:var(--ink-3);font-size:.88rem}
.site-footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--ink)}

@media (max-width:980px){
  .hero-grid,.sec-head,.chapter,.chapter.flip,.theatre{grid-template-columns:1fr}
  .chapter.flip .copy{order:0}
  .chapter{gap:28px;padding-block:80px 0}
  .stats{grid-template-columns:repeat(2,1fr)}
  .more{grid-template-columns:repeat(2,1fr)}
  .reel{grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);overflow-x:auto;padding-bottom:6px}
  .reel button small{display:none}
}
@media (max-width:620px){
  .spots li{grid-template-columns:44px 56px minmax(0,1fr)}
  .spots .m{display:none}
  .hero-grid{padding-top:60px}
  .more{grid-template-columns:1fr}
  .stage{aspect-ratio:4/3}
  .float-chip{display:none}
  .cine::after{background:linear-gradient(0deg,rgba(4,8,15,.95) 10%,rgba(4,8,15,.4) 60%,var(--void))}
  .cine .wrap{justify-content:flex-end;padding-block:28px}
  .dial-read{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  #boot{display:none!important}
  .slide.on img{transform:none}
}
