/* =====================================================================
   Anthropophony™ — passive ISR · Level 42 AI®
   Palette from the Left of Boom deck (dark), footer from the brand family.
   ===================================================================== */
/* Self-hosted fonts (SIL OFL 1.1, licences in assets/fonts/). Latin subsets.
   Sora and Inter are variable: one file each covers every weight the site uses. */
@font-face{font-family:"Sora";src:url("../assets/fonts/sora-latin-var.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../assets/fonts/inter-latin-var.woff2") format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("../assets/fonts/jetbrains-mono-latin-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --void:#0A111E; --void2:#0C1523; --panel:#111B2B; --panel2:#16233A; --rule:#23314A;
  --ink:#EEF3F8; --mute:#A4B1C4; --dim:#6E7C93;
  --teal:#0E8278; --signal:#43CDBE; --amber:#F2BE5A; --threat:#FF7487; --threat2:#E0445C;
  --ftr:#101413; --green:#006B4D;
  --f-disp:"Sora","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --wrap:1280px; --gut:clamp(20px,4vw,48px);
  --hdr:76px;
  --ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + env(safe-area-inset-top,0px))}
html,body{overflow-x:clip}
body{margin:0;background:var(--void);color:var(--ink);font:400 1rem/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,h4{margin:0;overflow-wrap:break-word;text-wrap:balance;font-family:var(--f-disp);font-weight:600;letter-spacing:-.015em;line-height:1.12}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--signal);color:var(--void);padding:10px 16px;border-radius:8px;font-weight:600;text-decoration:none}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}

/* ------------------------------------------------------------ buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid var(--signal);background:var(--signal);color:#06201D;font:600 .95rem/1 var(--f-body);text-decoration:none;position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(67,205,190,.6)}
.btn:hover::after{transform:translateX(120%)}
.btn--ghost{background:transparent;color:var(--ink);border-color:rgba(238,243,248,.35)}
.btn--ghost:hover{border-color:var(--signal);box-shadow:none}
.btn--sm{min-height:40px;padding:0 18px;font-size:.88rem}
.btn--full{width:100%}

/* --------------------------------------------------- progress + header */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:120;pointer-events:none}
.progress span{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--teal),var(--signal),var(--amber))}
.hdr{position:fixed;inset:0 0 auto;z-index:100;padding-top:env(safe-area-inset-top,0px);transition:background .4s,border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent}
.hdr.is-solid{background:rgba(10,17,30,.78);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom-color:rgba(35,49,74,.7)}
.hdr__in{height:var(--hdr);display:flex;align-items:center;gap:28px;max-width:calc(var(--wrap) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.hdr__logo img{width:214px;height:auto}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{position:relative;padding:8px 12px;font-size:.88rem;color:var(--mute);text-decoration:none;border-radius:999px;transition:color .25s}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--ease)}
.nav a:hover,.nav a.is-active{color:var(--ink)}
.nav a.is-active::after{transform:scaleX(1)}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--rule);border-radius:50%;background:transparent;position:relative}
.burger span{position:absolute;left:13px;right:13px;height:1.5px;background:var(--ink);transition:transform .35s var(--ease),top .35s var(--ease)}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}
.mnav{position:fixed;inset:0;top:0;z-index:-1;background:rgba(10,17,30,.97);padding:calc(var(--hdr) + env(safe-area-inset-top,0px) + 16px) var(--gut) calc(32px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:24px;overflow-y:auto}
.mnav[hidden]{display:none}
.mnav nav{display:flex;flex-direction:column}
.mnav nav a{padding:12px 0;font:600 1.25rem/1.2 var(--f-disp);text-decoration:none;border-bottom:1px solid var(--rule);opacity:0;transform:translateY(12px);transition:opacity .4s var(--ease),transform .4s var(--ease);transition-delay:calc(var(--i,0) * 30ms)}
.mnav.is-open nav a{opacity:1;transform:none}

/* ----------------------------------------------------------------- hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:calc(var(--hdr) + env(safe-area-inset-top,0px) + 40px) 0 120px;isolation:isolate}
.hero__field{position:absolute;inset:0;width:100%;height:100%;z-index:-2;touch-action:pan-y}
.hero__shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(120% 90% at 0% 50%,rgba(10,17,30,.92) 20%,rgba(10,17,30,.55) 55%,rgba(10,17,30,0) 80%),
  linear-gradient(180deg,rgba(10,17,30,0) 70%,var(--void) 100%)}
.hero__in{position:relative;pointer-events:none}
.hero__in a,.hero__in button{pointer-events:auto}
.hero__pre{font-size:.9rem;color:var(--signal);margin-bottom:22px}
.hero__title{font-size:clamp(2.6rem,6.4vw,5.6rem);font-weight:600;letter-spacing:-.03em;line-height:1.02;max-width:12ch}
.hero__lead{margin-top:26px;font:400 clamp(1.15rem,1.9vw,1.5rem)/1.4 var(--f-disp);color:var(--mute);max-width:34ch}
.hero__text{margin-top:18px;max-width:52ch;color:var(--mute);font-size:1.05rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.hero__tags{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:40px;font-size:.85rem;color:var(--dim)}
.hero__tags span{display:inline-flex;align-items:center;gap:8px}
.hero__tags span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--signal);box-shadow:0 0 10px var(--signal)}
.hud{position:absolute;right:var(--gut);bottom:44px;width:230px;padding:14px 16px;border:1px solid rgba(67,205,190,.28);border-radius:12px;background:rgba(10,17,30,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:500 .78rem/1 var(--f-mono);color:var(--mute);pointer-events:none}
.hud::before{content:"";position:absolute;inset:-1px;border-radius:12px;padding:1px;background:linear-gradient(140deg,var(--signal),transparent 40%,transparent 70%,var(--threat));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.6}
.hud__row{display:flex;justify-content:space-between;gap:12px;padding:6px 0}
.hud__row+.hud__row{border-top:1px dashed rgba(35,49,74,.9)}
.hud b{font-weight:500;color:var(--ink)}
.hud b.is-alert{color:var(--threat)}
.hero__hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-size:.78rem;color:var(--dim);white-space:nowrap;pointer-events:none}

/* intro sequence (one orchestrated moment) */
.js [data-intro]{opacity:0;transform:translateY(18px);filter:blur(6px)}
.js .is-ready [data-intro],.js.is-ready [data-intro]{opacity:1;transform:none;filter:none;transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:calc(var(--n) * 110ms + 150ms)}
[data-intro="1"]{--n:0}[data-intro="2"]{--n:1}[data-intro="3"]{--n:3}[data-intro="4"]{--n:4}[data-intro="5"]{--n:5}[data-intro="6"]{--n:7}

/* ----------------------------------------------------- scan-line reveal */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .45s ease,transform .5s ease}
.js [data-reveal].from-top{transform:translateY(-24px)}
.js [data-reveal].is-in{opacity:1;transform:none;animation:scanIn 1s var(--ease) both;animation-delay:var(--d,0ms);transition:opacity .7s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}
.js [data-reveal].is-in.from-top{animation-name:scanInUp}
@keyframes scanIn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(-30% -30% -30% -30%)}}
@keyframes scanInUp{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(-30% -30% -30% -30%)}}

/* ------------------------------------------------------------- sections */
.sec{position:relative;padding:clamp(88px,11vw,150px) 0}
.sec--alt{background:var(--void2)}
.sec::before{content:"";position:absolute;top:0;right:0;width:min(420px,50vw);height:280px;pointer-events:none;opacity:.35;background:
  radial-gradient(circle at 20px 20px,rgba(67,205,190,.16) 17px,transparent 18px) 0 0/72px 72px;
  -webkit-mask:linear-gradient(225deg,#000,transparent 60%);mask:linear-gradient(225deg,#000,transparent 60%)}
.sec--alt::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpath d='M20 3h17v34H3V20h17z' fill='%23FF7487' fill-opacity='.18'/%3E%3C/svg%3E") 0 0/72px 72px}
.kicker{font-size:.92rem;color:var(--signal);margin-bottom:16px}
.h2{font-size:clamp(1.9rem,3.7vw,3.3rem);letter-spacing:-.025em;max-width:22ch}
.lead{margin-top:20px;max-width:64ch;font-size:clamp(1.02rem,1.25vw,1.15rem);color:var(--mute)}
.titlerow{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}

/* status chips: the deck's real maturity states */
.st{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font:500 .78rem/1 var(--f-body);white-space:nowrap;border:1px solid}
.st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.st--demo{color:var(--signal);border-color:rgba(67,205,190,.4);background:rgba(67,205,190,.08)}
.st--demo::before{box-shadow:0 0 0 0 rgba(67,205,190,.6);animation:ping 2.4s infinite}
.st--integ{color:var(--amber);border-color:rgba(242,190,90,.4);background:rgba(242,190,90,.08)}
.st--dev{color:var(--amber);border-color:rgba(242,190,90,.35);background:transparent}
.st--dev::before{background:transparent;border:1.5px solid currentColor}
.st--plan{color:var(--mute);border-color:var(--rule);background:transparent}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(67,205,190,.55)}70%,100%{box-shadow:0 0 0 7px rgba(67,205,190,0)}}

svg path,svg circle,svg rect,svg line{vector-effect:non-scaling-stroke}

/* -------------------------------------------------------- problem (2) */
.boom{display:grid;grid-template-columns:1fr 120px 1fr;margin-top:56px;align-items:stretch}
.boom__side{padding:32px;border-radius:18px;border:1px solid}
.boom__side h3{font-size:1.6rem}
.boom__sub{margin-top:6px;font-weight:600;color:var(--ink);opacity:.85}
.boom__side--left{background:linear-gradient(160deg,rgba(14,130,120,.22),rgba(14,38,41,.4));border-color:rgba(67,205,190,.45)}
.boom__side--left h3{color:var(--signal)}
.boom__side--right{background:linear-gradient(200deg,rgba(224,68,92,.18),rgba(42,22,30,.4));border-color:rgba(255,116,135,.4)}
.boom__side--right h3{color:var(--threat)}
.ticks,.crosses{margin-top:22px;display:grid;gap:12px}
.ticks li,.crosses li{position:relative;padding-left:30px;color:var(--ink)}
.ticks li::before,.crosses li::before{position:absolute;left:0;top:.1em;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:700}
.ticks li::before{content:"✓";background:rgba(67,205,190,.16);color:var(--signal)}
.crosses li::before{content:"✕";background:rgba(255,116,135,.16);color:var(--threat)}
.boom.is-in li{animation:itemIn .6s var(--ease) both;animation-delay:calc(var(--i) * 90ms + 400ms)}
@keyframes itemIn{from{opacity:0;transform:translateX(-10px)}}
.boom__mid{position:relative;display:grid;place-items:center}
.boom__mid::before{content:"";position:absolute;top:8%;bottom:8%;left:50%;width:1px;background:linear-gradient(var(--signal),var(--amber),var(--threat))}
.boom__word{position:relative;padding:8px 14px;border-radius:999px;background:var(--void);border:1px solid var(--amber);color:var(--amber);font:600 .82rem/1 var(--f-disp)}
.boom__flash{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:1px solid var(--amber);opacity:0}
.boom.is-in .boom__flash{animation:flash 3.2s var(--ease) 1s infinite}
@keyframes flash{0%{transform:scale(.2);opacity:.9}70%,100%{transform:scale(1.3);opacity:0}}

.chain{display:grid;grid-template-columns:repeat(5,1fr);margin-top:28px;counter-reset:c}
.chain li{position:relative;height:54px;display:grid;place-items:center;font:600 .92rem/1 var(--f-disp);color:var(--ink);background:var(--panel);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,16px 50%);margin-right:-8px;overflow:hidden}
.chain li:first-child{clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%)}
.chain li::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(67,205,190,.55),transparent);transform:translateX(-100%)}
.chain.is-in li::after{animation:sweep 5s linear infinite;animation-delay:calc(var(--i) * 260ms)}
.chain li:nth-child(1),.chain li:nth-child(2){background:#0D4E4A}
.chain li:nth-child(3){background:#1C2F55}
.chain li:nth-child(4){background:#7A5B1E}
.chain li:nth-child(5){background:#173E3E}
@keyframes sweep{0%{transform:translateX(-100%)}26%,100%{transform:translateX(100%)}}
.urgency{margin-top:28px;max-width:80ch;color:var(--mute)}
.urgency strong{color:var(--threat)}

/* -------------------------------------------------------- insight (3) */
.insight{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,4vw,56px);margin-top:56px;align-items:start}
.insight__media{position:sticky;top:calc(var(--hdr) + 24px);margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--rule);aspect-ratio:1141/941}
.insight__media img{width:100%;height:100%;object-fit:cover}
.ripples{position:absolute;left:62%;top:44%;width:0;height:0}
.ripples i{position:absolute;left:0;top:0;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;border:1.5px solid rgba(255,116,135,.9);opacity:0;animation:ripple 4s var(--ease) infinite}
.ripples i:nth-child(2){animation-delay:1s}.ripples i:nth-child(3){animation-delay:2s}.ripples i:nth-child(4){animation-delay:3s}
@keyframes ripple{0%{transform:scale(.05);opacity:1}100%{transform:scale(1.6);opacity:0}}
.scanline{position:absolute;left:0;right:0;height:80px;top:-80px;background:linear-gradient(180deg,transparent,rgba(67,205,190,.22) 80%,rgba(67,205,190,.9) 100%);mix-blend-mode:screen;animation:scan 6s linear infinite}
@keyframes scan{to{top:100%}}
.steps{display:grid;gap:16px}
.step{display:flex;gap:20px;padding:26px;border-radius:16px;background:var(--panel);border:1px solid var(--rule);transition:border-color .5s,background .5s,transform .5s var(--ease)}
.step__n{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font:600 .9rem/1 var(--f-disp);background:var(--panel2);color:var(--mute);border:1px solid var(--rule);transition:inherit}
.step h3{font-size:1.2rem}
.step p{margin-top:8px;color:var(--mute)}
.step.is-focus{transform:translateX(-6px)}
.step.is-focus{border-color:rgba(67,205,190,.6);background:linear-gradient(120deg,rgba(14,130,120,.18),var(--panel))}
.step.is-focus .step__n{background:var(--signal);color:var(--void);border-color:var(--signal)}
.step--break.is-focus{border-color:rgba(255,116,135,.6);background:linear-gradient(120deg,rgba(224,68,92,.16),var(--panel))}
.step--break.is-focus .step__n{background:var(--threat);border-color:var(--threat)}
.nots{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.nots li{padding:12px 18px;border-radius:999px;border:1px solid rgba(67,205,190,.4);color:var(--signal);font-weight:600}

/* ------------------------------------------------------- paradigm (4) */
.para{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(28px,4vw,56px);margin-top:56px;align-items:center}
.map{position:relative;margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--rule);aspect-ratio:16/9}
.map img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.7) hue-rotate(-10deg)}
.map::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,17,30,.45),rgba(10,17,30,.25) 40%,rgba(10,17,30,.75));pointer-events:none}
.map__over{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.map__bearing{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:6 6;fill:none;opacity:.9}
.map.is-in .map__bearing{animation:dash 1.2s linear infinite}
@keyframes dash{to{stroke-dashoffset:-12}}
.map__node{position:absolute;z-index:2;left:13.75%;top:84.4%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 6px rgba(14,130,120,.3),0 0 24px var(--signal)}
.map__node::after{content:"";position:absolute;inset:11px;border-radius:50%;border:2px solid var(--ink)}
.map__target{position:absolute;z-index:2;left:70%;top:35.5%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:2px solid var(--threat);box-shadow:0 0 20px rgba(255,116,135,.6)}
.map__target::before{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--threat)}
.map__target i{position:absolute;inset:-2px;border-radius:50%;border:1.5px solid var(--threat);animation:ripple 2.4s var(--ease) infinite}
.map__cap{position:absolute;z-index:3;left:16px;right:16px;top:14px;bottom:14px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;pointer-events:none}
.map__label{font-size:.8rem;color:var(--mute)}
.map__break{align-self:flex-end;padding:8px 14px;border-radius:999px;background:rgba(10,17,30,.85);border:1px solid var(--rule);font-size:.85rem}
.map__break b{color:var(--threat);font-weight:600}
.points{display:grid;gap:26px}
.points li{display:flex;gap:18px}
.points svg,.gains svg,.sensor>svg,.cap>svg{flex:none;width:48px;height:48px;padding:12px;border-radius:50%;background:var(--teal);fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.points h3{font-size:1.1rem}
.points p{margin-top:6px;color:var(--mute);font-size:.96rem}

/* ------------------------------------------------------- spectrum (5) */
.scope{margin-top:52px;padding:clamp(18px,3vw,32px);border-radius:20px;background:var(--panel);border:1px solid var(--rule)}
.scope__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.scope__read span{display:block;font:600 clamp(2rem,4vw,3rem)/1 var(--f-disp);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.scope__read small{display:block;margin-top:8px;font-size:.92rem;color:var(--signal)}
.scope__read.is-beyond small{color:var(--amber)}
.scope__note{max-width:44ch;color:var(--mute);font-size:.92rem}
.scope__stage{position:relative;height:clamp(170px,22vw,240px)}
.scope__stage canvas{position:absolute;inset:0;width:100%;height:100%}
.scope__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.scope__range:focus-visible+*{outline:none}
.scope:focus-within{border-color:rgba(67,205,190,.6)}
.scope__ticks{display:flex;justify-content:space-between;margin-top:12px;font:500 .72rem/1 var(--f-mono);color:var(--dim)}
.perceive{display:grid;grid-template-columns:2.4fr 1fr;align-items:center;gap:clamp(16px,3vw,40px);margin:20px 0 0;padding:clamp(18px,3vw,32px);border-radius:20px;background:#FBFBFB;border:1px solid #E4E8EE;overflow:hidden;color:#0A111E}
.perceive video{width:100%;max-width:820px;justify-self:start;aspect-ratio:800/216;object-fit:cover;background:#FBFBFB}
.perceive figcaption{color:#4A5872;max-width:32ch}
.perceive figcaption b{display:block;margin-bottom:8px;font:600 1.15rem/1.3 var(--f-disp);color:#0A111E}

.cycle{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,56px);margin-top:56px}
.cycle::before{content:"";position:absolute;left:28px;right:28px;top:28px;height:1px;background:linear-gradient(90deg,#7FA6E8,var(--signal),var(--amber));opacity:.45}
.cycle::after{content:"";position:absolute;top:25px;left:28px;width:7px;height:7px;border-radius:50%;background:var(--ink);box-shadow:0 0 12px var(--signal);opacity:0}
.cycle.is-in::after{animation:cycleRun 4.8s var(--ease) .6s infinite}
@keyframes cycleRun{0%{left:28px;opacity:0}8%{opacity:1}88%{opacity:1}100%{left:calc(100% - 35px);opacity:0}}
.cycle__s{position:relative;display:flex;flex-direction:column;gap:10px}
.cycle__ic{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--void2);border:1.5px solid var(--c);box-shadow:0 0 0 6px var(--void2);position:relative;z-index:1}
.cycle__ic svg{width:26px;height:26px;fill:none;stroke:var(--c);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cycle__ic::after{content:"";position:absolute;inset:-1.5px;border-radius:50%;border:1.5px solid var(--c);opacity:0}
.cycle.is-in .cycle__ic::after{animation:ripple 2.6s var(--ease) infinite;animation-delay:calc(var(--i) * .8s + .6s)}
.cycle__s b{font:600 clamp(1.15rem,1.6vw,1.4rem)/1.2 var(--f-disp);color:var(--c);margin-top:6px}
.cycle__d{color:var(--mute);font-size:.95rem;max-width:30ch}
.cycle__s--sense{--c:#7FA6E8}.cycle__s--act{--c:var(--signal)}.cycle__s--win{--c:var(--amber)}

/* ---------------------------------------------------------- stack (6) */
.stack{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);margin-top:56px;align-items:center}
.stack__media{position:relative;margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--rule);background:#fff}
.stack__media img{width:100%}
.stack__beam{position:absolute;left:0;right:0;height:18%;top:var(--y,4%);background:linear-gradient(180deg,transparent,rgba(67,205,190,.28) 50%,transparent);border-top:1px solid rgba(67,205,190,.8);border-bottom:1px solid rgba(67,205,190,.8);mix-blend-mode:multiply;transition:top 1s var(--ease);pointer-events:none}
.stack__beam::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(14,130,120,.35) 0 1px,transparent 1px 14px)}
.layers{display:grid;gap:10px}
.layer button{width:100%;display:grid;grid-template-columns:40px 1fr;column-gap:16px;text-align:left;padding:16px 18px;border-radius:14px;background:var(--panel);border:1px solid var(--rule);transition:background .4s,border-color .4s}
.layer__n{grid-row:span 2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:600 .95rem/1 var(--f-disp);background:var(--panel2);transition:background .4s,color .4s}
.layer__t{font:600 1.05rem/1.3 var(--f-disp);align-self:center}
.layer__d{color:var(--mute);font-size:.93rem;max-height:0;overflow:hidden;opacity:0;transition:max-height .6s var(--ease),opacity .4s,margin .4s}
.layer:nth-child(1) .layer__n{--c:var(--signal)}.layer:nth-child(2) .layer__n{--c:#7FA6E8}.layer:nth-child(3) .layer__n{--c:var(--amber)}.layer:nth-child(4) .layer__n{--c:var(--threat)}.layer:nth-child(5) .layer__n{--c:var(--signal)}
.layer.is-on button{border-color:rgba(67,205,190,.5);background:linear-gradient(120deg,rgba(14,130,120,.16),var(--panel))}
.layer.is-on .layer__n{background:var(--c);color:var(--void)}
.layer.is-on .layer__t{color:var(--c)}
.layer.is-on .layer__d{max-height:120px;opacity:1;margin-top:6px}
.principle{margin-top:40px;font-size:1.08rem;color:var(--mute);max-width:80ch}
.principle strong{color:var(--signal)}

/* ---------------------------------------------------------- asset (7) */
.speeds{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.speed{padding:22px 22px 26px;border-radius:16px;background:var(--panel);border:1px solid var(--rule)}
.speed svg{width:100%;height:auto;fill:none;margin-bottom:12px}
.speed__base{stroke:var(--rule);stroke-width:1;stroke-dasharray:3 5}
.speed__ghost{stroke:rgba(238,243,248,.08);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.speed__curve{stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:none}
.speed--fast .speed__curve,.speed--fast .speed__dot{stroke:var(--threat);fill:none}.speed--fast .speed__dot{fill:var(--threat)}
.speed--slow .speed__curve{stroke:var(--amber)}.speed--slow .speed__dot{fill:var(--amber)}
.speed--slowest .speed__curve{stroke:#7FA6E8}.speed--slowest .speed__dot{fill:#7FA6E8}
.speed__dot{filter:drop-shadow(0 0 6px currentColor)}
.speed h3{font-size:1.25rem}
.speed h3 span{font:400 .9rem var(--f-body);color:var(--mute);margin-left:8px;letter-spacing:0}
.speed p{margin-top:4px;color:var(--mute)}
.fleet{display:grid;grid-template-columns:1.1fr 1fr 1fr;align-items:center;gap:20px;margin-top:40px}
.fleet img{width:100%;filter:drop-shadow(0 30px 30px rgba(0,0,0,.5))}
.fleet.is-in .fleet__a{animation:hover 6s ease-in-out infinite}
.fleet.is-in .fleet__b{animation:hover 7s ease-in-out -2s infinite}
.fleet.is-in .fleet__c{animation:hover 8s ease-in-out -4s infinite}
@keyframes hover{50%{transform:translateY(-12px)}}

/* ------------------------------------------------------- platform (8) */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.stat{padding:26px 22px;border-radius:16px;background:var(--panel);border:1px solid var(--rule)}
.stat b{display:block;font:600 clamp(2.2rem,3.6vw,3.2rem)/1 var(--f-disp);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat h3{margin-top:14px;font:600 .98rem/1.3 var(--f-body);letter-spacing:0}
.stat p{margin-top:8px;font-size:.88rem;color:var(--mute)}
.stat--hi{background:linear-gradient(150deg,var(--teal),#0B5F59);border-color:var(--teal)}
.stat--hi p{color:#CBEFEA}
.platform{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.bars,.airframe{padding:28px;border-radius:16px;background:var(--panel);border:1px solid var(--rule);position:relative;overflow:hidden}
.bars h3,.airframe h3{font-size:1.1rem}
.bar{display:grid;grid-template-columns:150px 1fr 48px;align-items:center;gap:14px;margin-top:22px;font-size:.9rem;color:var(--mute)}
.bar__t{height:22px;border-radius:4px;background:rgba(35,49,74,.6);overflow:hidden}
.bar__t i{display:block;height:100%;width:var(--w);background:#3B4E73;transform-origin:0 50%;transform:scaleX(0);transition:transform 1.4s var(--ease) .4s}
.bar--us .bar__t i{background:linear-gradient(90deg,var(--teal),var(--signal));transition-delay:.9s}
.bars.is-in .bar__t i{transform:scaleX(1)}
.bar__v{color:var(--ink);font-weight:600}
.airframe{padding-right:44%}
.airframe .ticks{margin-top:16px}
.airframe__img{position:absolute;right:2%;top:50%;width:46%;transform:translateY(-50%) rotate(-4deg);filter:drop-shadow(0 0 18px rgba(67,160,230,.3)) brightness(1.12)}
.airframe.is-in .airframe__img{animation:fly 5s ease-in-out infinite}
@keyframes fly{50%{transform:translateY(-58%) rotate(-3deg)}}

/* -------------------------------------------------------- payload (9) */
.payload{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin-top:52px;align-items:start}
.sensors{display:grid;gap:14px}
.sensor{display:grid;grid-template-columns:48px 1fr auto;gap:18px;align-items:center;padding:20px 22px;border-radius:16px;background:var(--panel);border:1px solid var(--rule)}
.sensor h3{font-size:1.06rem}
.sensor p{margin-top:4px;color:var(--mute);font-size:.92rem}
.sensor--hi{background:linear-gradient(130deg,var(--teal),#0B5F59);border-color:var(--teal)}
.sensor--hi p{color:#CBEFEA}
.sensor--hi>svg{background:rgba(10,17,30,.35)}
.sensor--hi .st--demo{background:#EEF3F8;color:#0B5F59;border-color:#EEF3F8}
.swap{margin-top:8px;color:var(--mute)}
.swap strong{color:var(--signal)}
.cue{padding:28px;border-radius:18px;background:var(--panel);border:1px solid var(--rule)}
.cue__title{font:600 .9rem/1.3 var(--f-body);color:var(--mute);letter-spacing:0}
.cue__list{position:relative;margin-top:22px;display:grid;gap:30px}
.cue__list::before{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:2px;background:var(--rule)}
.cue__list::after{content:"";position:absolute;left:24px;top:28px;width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 12px var(--signal);opacity:0}
.cue.is-in .cue__list::after{animation:drop 3.6s var(--ease) 1s infinite}
@keyframes drop{0%{top:28px;opacity:0}10%{opacity:1}45%{background:var(--threat);box-shadow:0 0 12px var(--threat)}90%{opacity:1;top:calc(100% - 36px)}100%{top:calc(100% - 36px);opacity:0}}
.cue__step{position:relative;display:flex;gap:18px;align-items:flex-start}
.cue__ic{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#1C2F55;position:relative;z-index:1}
.cue__ic svg{width:26px;height:26px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cue__step--fix .cue__ic{background:var(--threat2)}
.cue__step h4{font-size:1.15rem}
.cue__step p{margin-top:4px;color:var(--mute);font-size:.93rem}

/* --------------------------------------------------------- engine (10) */
.engine{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:52px;padding-top:24px}
.engine__rail{position:absolute;left:0;right:0;top:0;height:2px;background:var(--rule);border-radius:2px}
.engine__pulse{position:absolute;top:-3px;left:calc(var(--k,0) * 20% + 10% - 20px);width:40px;height:8px;border-radius:8px;background:var(--signal);box-shadow:0 0 18px var(--signal);transition:left .9s var(--ease)}
.hl{display:flex;flex-direction:column;gap:8px;padding:22px 20px;border-radius:16px;background:var(--panel);border:1px solid var(--rule);min-height:300px;transition:transform .5s var(--ease),border-color .5s,background .5s;outline:none;cursor:default}
.hl__role{font-size:.8rem;color:var(--signal)}
.hl h3{font-size:1.06rem;line-height:1.25}
.hl h3 b{display:block;font:700 2.2rem/1 var(--f-disp);color:var(--signal);margin-bottom:10px;letter-spacing:-.02em}
.hl--dev h3 b,.hl--dev .hl__role{color:var(--amber)}
.hl__m{font-size:.86rem;color:var(--dim);font-style:italic}
.hl__d{color:var(--mute);font-size:.93rem;margin-top:auto}
.hl .st{align-self:flex-start;margin-top:12px}
.hl.is-on,.hl:hover,.hl:focus-visible{transform:translateY(-8px);border-color:rgba(67,205,190,.55);background:linear-gradient(170deg,rgba(14,130,120,.22),var(--panel) 60%)}
.hl--dev.is-on,.hl--dev:hover{border-color:rgba(242,190,90,.55);background:linear-gradient(170deg,rgba(242,190,90,.14),var(--panel) 60%)}
.mendeleev{display:flex;align-items:center;gap:24px;margin:28px 0 0;padding:18px 22px;border-radius:16px;border:1px solid rgba(67,205,190,.35);background:rgba(14,130,120,.08)}
.mendeleev figcaption{color:var(--mute)}
.mendeleev strong{color:var(--signal);font-weight:600}
.ptable{flex:none;display:grid;grid-template-columns:repeat(9,10px);gap:3px}
.ptable i{width:10px;height:10px;border-radius:2px;background:rgba(67,205,190,.35)}
.ptable i.gap{background:transparent;border:1px dashed var(--amber);animation:blink 2.4s ease-in-out infinite}
.ptable i.off{visibility:hidden}
@keyframes blink{50%{background:rgba(242,190,90,.6)}}

/* ------------------------------------------------------ interface (11) */
.iface{display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(24px,4vw,48px);margin-top:48px;align-items:center}
.laptop{position:relative;margin:0}
.laptop__screen{position:absolute;left:12.68%;right:12.68%;top:6.72%;bottom:15.91%;background:#000;overflow:hidden}
.laptop__screen video{width:100%;height:100%;object-fit:cover}
.laptop__screen::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0 1px,transparent 1px 3px);pointer-events:none}
.laptop__frame{position:relative;width:100%;pointer-events:none}
.laptop figcaption{margin-top:14px;text-align:center;color:var(--mute);font-size:.95rem}
.laptop strong{color:var(--signal)}
.senses{display:grid;gap:14px}
.senses li{display:flex;align-items:center;gap:18px;padding:22px;border-radius:16px;border:1px solid rgba(67,205,190,.4);background:linear-gradient(120deg,rgba(14,130,120,.2),rgba(14,38,41,.3));transition:transform .5s var(--ease)}
.senses li:hover{transform:translateX(-6px)}
.senses svg{flex:none;width:52px;height:52px;padding:13px;border-radius:50%;background:var(--teal);fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.senses b{display:block;font:600 1.6rem/1.1 var(--f-disp);color:var(--signal)}
.senses p{color:var(--mute)}

/* --------------------------------------------------------- silent (12) */
.silent{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;margin-top:52px}
.zero{position:relative;overflow:hidden;padding:32px;border-radius:20px;background:linear-gradient(160deg,var(--teal),#09534D);min-height:440px;display:flex;flex-direction:column;justify-content:flex-end}
.zero__radar{position:absolute;right:-90px;top:-90px;width:360px;height:360px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 44px,rgba(238,243,248,.16) 44px 45px);border:1px solid rgba(238,243,248,.2)}
.zero__radar::before,.zero__radar::after{content:"";position:absolute;background:rgba(238,243,248,.14)}
.zero__radar::before{left:50%;top:0;bottom:0;width:1px}.zero__radar::after{top:50%;left:0;right:0;height:1px}
.zero__sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(238,243,248,.32),transparent 60deg);animation:spin 4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.zero__n{position:absolute;left:32px;top:16px;font:700 clamp(7rem,13vw,10rem)/1 var(--f-disp);letter-spacing:-.05em}
.zero h3{font-size:1.4rem;position:relative}
.zero p{position:relative;margin-top:10px;color:#D4F0EC;max-width:40ch}
.zero__img{position:absolute;right:16px;top:20%;width:46%;filter:drop-shadow(0 18px 18px rgba(0,0,0,.45))}
.caps{display:grid;gap:14px}
.cap{display:flex;gap:20px;padding:24px;border-radius:16px;background:var(--panel);border:1px solid var(--rule)}
.cap>svg{background:#1C2F55}
.cap h3{font-size:1.15rem;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.cap p{margin-top:8px;color:var(--mute)}

/* -------------------------------------------- silent: warfighter film */
.sec--film{overflow:hidden;padding-top:clamp(150px,17vw,250px)}
.film{position:absolute;left:0;right:0;top:0;height:min(720px,92vh);z-index:0;pointer-events:none;
  -webkit-mask:linear-gradient(180deg,transparent 0,#000 14%,#000 58%,transparent 100%);mask:linear-gradient(180deg,transparent 0,#000 14%,#000 58%,transparent 100%)}
.film video{width:100%;height:100%;object-fit:cover;object-position:20% 35%;transform:scaleX(-1);opacity:.72;filter:saturate(.55) contrast(1.1) brightness(.95)}
.film::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(10,17,30,.95) 0%,rgba(10,17,30,.8) 35%,rgba(10,17,30,.25) 70%,rgba(10,17,30,.1) 100%),
  repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px),
  linear-gradient(180deg,rgba(14,130,120,.18),transparent 60%)}
.sec--film>.wrap{position:relative;z-index:1}

/* -------------------------------------------------------- domains (13) */
.domains{display:grid;grid-template-columns:1.5fr 1fr;grid-template-areas:"tabs tabs" "stage panel";gap:20px;margin-top:48px}
.dtabs{grid-area:tabs;display:flex;gap:8px;padding:6px;border-radius:999px;background:var(--panel);border:1px solid var(--rule);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.dtabs button{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border-radius:999px;border:0;background:transparent;color:var(--mute);font-weight:600;white-space:nowrap;transition:background .4s,color .4s}
.dtabs svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dtabs button[aria-selected="true"]{background:var(--teal);color:var(--ink)}
.dstage{grid-area:stage;position:relative;min-height:380px;border-radius:18px;overflow:hidden;background:#08101C;border:1px solid var(--rule)}
.dstage canvas{position:absolute;inset:0;width:100%;height:100%}
.dstage__tag{position:absolute;left:16px;bottom:16px;padding:8px 14px;border-radius:999px;background:rgba(10,17,30,.85);border:1px solid rgba(255,116,135,.5);color:var(--threat);font-size:.85rem}
.dpanels{grid-area:panel}
.dpanel[hidden]{display:none}
.dpanel{height:100%;display:flex;flex-direction:column;padding:28px;border-radius:18px;background:var(--panel);border:1px solid var(--rule);animation:panelIn .6s var(--ease)}
@keyframes panelIn{from{opacity:0;transform:translateY(10px)}}
.dpanel dl{margin:0}
.dpanel dt{font-size:.85rem;color:var(--dim);margin-top:22px}
.dpanel dt:first-child{margin-top:0}
.dpanel dt:nth-of-type(2){color:var(--threat)}
.dpanel dd{margin:6px 0 0;font:600 1.2rem/1.35 var(--f-disp)}
.dpanel__out{margin-top:auto;padding:16px 18px;border-radius:12px;border:1px solid rgba(67,205,190,.45);background:rgba(14,130,120,.12);color:var(--signal);font-weight:600}

/* --------------------------------------------------- architecture (14) */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:52px;position:relative}
.flow__s{position:relative;padding:24px 22px;border-radius:16px;background:var(--panel);border:1px solid var(--rule)}
.flow__s:not(:last-child)::after{content:"";position:absolute;left:100%;top:50%;width:40px;height:2px;background:repeating-linear-gradient(90deg,var(--signal) 0 6px,transparent 6px 12px);background-size:24px 2px;animation:flowdash 0.8s linear infinite}
@keyframes flowdash{to{background-position:24px 0}}
.flow__s--hi{background:linear-gradient(150deg,var(--teal),#0B5F59);border-color:var(--teal)}
.flow__ic{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(67,205,190,.12);margin-bottom:16px}
.flow__s--hi .flow__ic{background:rgba(10,17,30,.3)}
.flow__ic svg{width:26px;height:26px;fill:none;stroke:var(--signal);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.flow__s--hi .flow__ic svg{stroke:var(--ink)}
.flow h3{font-size:.95rem;color:var(--signal)}
.flow__s--hi h3{color:var(--ink)}
.flow p{margin-top:8px;font-size:.95rem}
.flow.is-in .flow__s{animation:lift .7s var(--ease) both;animation-delay:calc(var(--i) * 150ms + 200ms)}
@keyframes lift{from{opacity:0;transform:translateY(16px) scale(.98)}}
.gains{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
.gains li{display:flex;gap:18px}
.gains svg{background:#1C2F55}
.gains h3{font-size:1.08rem}
.gains p{margin-top:6px;color:var(--mute);font-size:.94rem}

/* -------------------------------------------------- validation (15) */
.proof{display:grid;grid-template-columns:1.25fr .85fr 1.1fr;grid-template-rows:310px 310px;gap:14px;margin-top:52px}
.proof__ph{position:relative;margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--rule);background:var(--panel)}
.proof__ph--a{grid-row:1/3}.proof__ph--d{grid-column:3;grid-row:1/3}
.proof__ph picture,.proof__ph img{width:100%;height:100%}
.proof__ph img{object-fit:cover;transition:transform 1.2s var(--ease)}
.proof__ph:hover img{transform:scale(1.04)}
.proof__ph::before{content:"";position:absolute;inset:14px;z-index:1;pointer-events:none;opacity:.7;
  background:linear-gradient(var(--signal),var(--signal)) 0 0/18px 1.5px,linear-gradient(var(--signal),var(--signal)) 0 0/1.5px 18px,
  linear-gradient(var(--signal),var(--signal)) 100% 0/18px 1.5px,linear-gradient(var(--signal),var(--signal)) 100% 0/1.5px 18px,
  linear-gradient(var(--signal),var(--signal)) 0 100%/18px 1.5px,linear-gradient(var(--signal),var(--signal)) 0 100%/1.5px 18px,
  linear-gradient(var(--signal),var(--signal)) 100% 100%/18px 1.5px,linear-gradient(var(--signal),var(--signal)) 100% 100%/1.5px 18px;
  background-repeat:no-repeat;transition:inset .5s var(--ease),opacity .5s}
.proof__ph:hover::before{inset:8px;opacity:1}
.proof__ph figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:44px 18px 16px;font:600 .95rem/1.3 var(--f-disp);background:linear-gradient(180deg,transparent,rgba(10,17,30,.92))}

/* ----------------------------------------------------- roadmap (19) */
.road{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px;padding-top:34px}
.road::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--rule) 0 8px,transparent 8px 14px)}
.road::after{content:"";position:absolute;left:0;top:9px;height:2px;width:0;border-radius:2px;background:linear-gradient(90deg,var(--teal),var(--signal));transition:width 1.6s var(--ease) .5s}
.road.is-in::after{width:calc(33.333% - 12px)}
.road__s{position:relative;padding:24px 24px 26px;border-radius:16px;background:var(--panel);border:1px solid var(--rule);display:flex;flex-direction:column;gap:12px}
.road__s::before{content:"";position:absolute;left:24px;top:-31px;width:14px;height:14px;border-radius:50%;background:var(--void);border:2px solid var(--c)}
.road__s--now{--c:var(--signal);border-color:rgba(67,205,190,.5);background:linear-gradient(160deg,rgba(14,130,120,.2),var(--panel) 60%)}
.road__s--now::before{background:var(--signal);animation:ping 2.4s infinite}
.road__s--int{--c:var(--amber)}.road__s--next{--c:var(--dim)}
.road__when{font:600 1.5rem/1.1 var(--f-disp);color:var(--c);letter-spacing:-.01em}
.road__s .st{align-self:flex-start}
.road__s h3{font:500 .95rem/1.3 var(--f-body);color:var(--mute);letter-spacing:0}
.road__s ul{display:grid;gap:10px;margin-top:4px}
.road__s ul li{position:relative;padding-left:20px}
.road__s ul li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:2px;background:var(--c);opacity:.85}
.road.is-in .road__s{animation:lift .7s var(--ease) both;animation-delay:calc(var(--i) * 160ms + 300ms)}

/* ------------------------------------------------------------- contact */
.cta{position:relative;overflow:hidden;padding:clamp(100px,13vw,170px) 0;text-align:center;background:var(--void);isolation:isolate}
.cta__field{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.9}
.cta::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 50% 50%,rgba(10,17,30,.9),rgba(10,17,30,.2))}
.cta__title{font-size:clamp(2.2rem,5vw,4.4rem);letter-spacing:-.03em;max-width:20ch;margin:0 auto}
.cta__lead{margin-top:18px;font-size:1.15rem;color:var(--mute)}
.cta__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 28px;margin-top:36px}
.cta__line{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(238,243,248,.3);padding-bottom:2px;transition:border-color .3s,color .3s}
.cta__line:hover{color:var(--signal);border-color:var(--signal)}

/* -------------------------------------------------------------- footer */
.ftr{position:relative;overflow:hidden;background:var(--void);padding:clamp(64px,8vw,96px) 0 calc(28px + env(safe-area-inset-bottom,0px))}
.ftr::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--teal) 20%,var(--signal) 50%,var(--amber) 75%,var(--threat) 90%,transparent)}
.ftr::after{content:"";position:absolute;right:0;bottom:0;width:min(520px,70vw);height:320px;pointer-events:none;opacity:.5;
  background:radial-gradient(circle at 20px 20px,rgba(67,205,190,.16) 15px,transparent 16px) 0 0/72px 72px;
  -webkit-mask:linear-gradient(315deg,#000,transparent 65%);mask:linear-gradient(315deg,#000,transparent 65%)}
.ftr .wrap{position:relative;z-index:1}
.ftr__grid{display:grid;grid-template-columns:1.6fr 1fr 1.1fr;gap:40px clamp(32px,5vw,80px)}
.ftr__logo img{width:300px;max-width:72vw}
.ftr__tag{margin-top:22px;color:var(--mute);max-width:36ch}
.ftr__social{display:flex;gap:12px;margin-top:26px}
.ftr__social a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(67,205,190,.4);transition:background .3s,border-color .3s,transform .3s var(--ease)}
.ftr__social svg{width:19px;height:19px;fill:var(--ink)}
.ftr__social a:hover{background:var(--teal);border-color:var(--teal);transform:translateY(-2px)}
.ftr__col h2{font:500 .9rem/1.2 var(--f-body);color:var(--signal);letter-spacing:0;margin-bottom:18px}
.ftr__col ul{display:grid;gap:10px}
.ftr__col a{text-decoration:none;color:var(--mute);background:linear-gradient(var(--signal),var(--signal)) 0 100%/0 1px no-repeat;transition:color .3s,background-size .4s var(--ease)}
.ftr__col a:hover{color:var(--ink);background-size:100% 1px}
.ftr__addr{font-style:normal;color:var(--ink);line-height:1.55}
.ftr__lines{display:flex;flex-direction:column;gap:6px;margin-top:16px}
.ftr__lines a{color:var(--ink)}
.ftr__base{display:flex;justify-content:space-between;align-items:center;gap:16px 32px;flex-wrap:wrap;margin-top:clamp(48px,6vw,72px);padding-top:24px;border-top:1px solid var(--rule);color:var(--dim);font-size:.85rem}
.ftr__priv{color:var(--mute);text-decoration:none;margin-left:auto;transition:color .3s}
.ftr__priv:hover{color:var(--signal)}
.ftr__top{display:inline-flex;align-items:center;gap:8px;color:var(--mute);text-decoration:none;transition:color .3s}
.ftr__top svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.ftr__top:hover{color:var(--signal)}
.ftr__top:hover svg{transform:translateY(-3px)}

/* --------------------------------------------------------------- modal */
.modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px}
.modal[hidden]{display:none}
.modal__bg{position:absolute;inset:0;background:rgba(5,9,16,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade .3s}
.modal__card{position:relative;width:min(560px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:36px;border-radius:20px;background:var(--panel);border:1px solid var(--rule);box-shadow:0 40px 80px -20px rgba(0,0,0,.7);animation:pop .45s var(--ease)}
@keyframes fade{from{opacity:0}}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.97)}}
.modal__x{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;border:1px solid var(--rule);background:transparent;display:grid;place-items:center}
.modal__x svg{width:18px;height:18px;stroke:var(--ink);stroke-width:2;fill:none}
.modal__title{font-size:1.8rem}
.modal__lead{margin-top:8px;color:var(--mute)}
form{margin-top:24px;display:grid;gap:14px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:grid;gap:6px}
.fld span{font-size:.85rem;color:var(--mute)}
.fld input,.fld select,.fld textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--rule);background:var(--void);color:var(--ink);font:inherit;font-size:1rem;transition:border-color .3s}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--signal)}
.fld textarea{resize:vertical}
.hp{position:absolute;left:-9999px}
.fnote{font-size:.82rem;color:var(--dim);line-height:1.45}
.fnote a{color:var(--mute)}
.ferr{color:var(--threat);font-size:.9rem;display:none}
.fok{text-align:center;padding:24px 0 8px;outline:none}
.fok svg{width:56px;height:56px;margin:0 auto 12px;fill:none;stroke:var(--signal);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fok h3{font-size:1.5rem}
.fok p{margin-top:8px;color:var(--mute)}

/* =========================================================== responsive */
@media (max-width:1180px){
  .nav{display:none}
  .burger{display:block}
  .hdr__cta{margin-left:auto}
  .burger{margin-left:0}
  .engine{grid-template-columns:repeat(5,minmax(200px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;margin-left:calc(var(--gut) * -1);margin-right:calc(var(--gut) * -1);padding-left:var(--gut);padding-right:var(--gut);scrollbar-width:thin}
  .engine__rail{display:none}
  .hl{scroll-snap-align:start}
  .ftr__grid{grid-template-columns:1fr 1fr}
  .ftr__brand{grid-column:1/-1}
}
@media (max-width:960px){
  .boom{grid-template-columns:1fr;gap:0}
  .boom__mid{height:84px}
  .boom__mid::before{top:0;bottom:0}
  .insight,.para,.stack,.payload,.iface,.silent,.platform{grid-template-columns:1fr}
  .insight__media{position:relative;top:0}
  .stats{grid-template-columns:repeat(2,1fr)}
  .speeds{grid-template-columns:1fr}
  .domains{grid-template-columns:1fr;grid-template-areas:"tabs" "stage" "panel"}
  .dstage{min-height:300px}
  .flow{grid-template-columns:1fr 1fr;gap:20px}
  .flow__s::after{display:none}
  .gains{grid-template-columns:1fr}
  .proof{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .proof__ph--a,.proof__ph--d{grid-row:auto;grid-column:auto;aspect-ratio:3/4}
  .proof__ph--b,.proof__ph--c{aspect-ratio:4/5}
  .road{grid-template-columns:1fr;padding-top:0;padding-left:34px}
  .road::before{left:9px;right:auto;top:0;bottom:0;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--rule) 0 8px,transparent 8px 14px)}
  .road::after{left:9px;top:0;width:2px;height:0;transition:height 1.6s var(--ease) .5s}
  .road.is-in::after{width:2px;height:calc(33.333% - 12px)}
  .road__s::before{left:-31px;top:26px}
  .perceive{grid-template-columns:1fr}
  .perceive video{justify-self:stretch;max-width:none}
  .hud{display:none}
}
@media (max-width:640px){
  :root{--hdr:64px}
  .hdr__logo img{width:168px}
  .hdr__cta{display:none}
  .burger{margin-left:auto}
  .hero{align-items:flex-end;padding-bottom:84px}
  .hero__shade{background:linear-gradient(180deg,rgba(10,17,30,.15) 0%,rgba(10,17,30,.75) 45%,var(--void) 100%)}
  .hero__hint{display:none}
  .chain{grid-template-columns:1fr;gap:6px}
  .chain li{clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),50% 100%,0 calc(100% - 10px));margin:0;height:50px}
  .chain li:first-child{clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),50% 100%,0 calc(100% - 10px))}
  .boom__side{padding:24px}
  .step{padding:20px;gap:16px}
  .cycle{grid-template-columns:1fr;gap:26px}
  .cycle::before{left:28px;right:auto;top:28px;bottom:28px;width:1px;height:auto;background:linear-gradient(180deg,#7FA6E8,var(--signal),var(--amber))}
  .cycle::after{display:none}
  .cycle__s{display:grid;grid-template-columns:56px 1fr;column-gap:18px}
  .cycle__ic{grid-row:span 2}
  .cycle__s b{margin-top:4px}

  .fleet{grid-template-columns:1fr 1fr}
  .fleet__a{grid-column:1/-1}
  .stats{grid-template-columns:1fr 1fr;gap:10px}
  .stat{padding:20px 16px}
  .bar{grid-template-columns:1fr 44px;row-gap:8px}
  .bar__l{grid-column:1/-1}
  .airframe{padding-right:28px;padding-bottom:180px}
  .airframe__img{top:auto;bottom:0;right:50%;transform:translateX(50%) rotate(-6deg);width:70%}
  @keyframes fly{50%{transform:translateX(50%) translateY(-8px) rotate(-3deg)}}
  .sensor{grid-template-columns:48px 1fr}
  .sensor .st{grid-column:2;justify-self:start}
  .zero{min-height:480px}
  .zero__img{width:70%;top:30%}
  .flow{grid-template-columns:1fr}
  .mendeleev{flex-direction:column;align-items:flex-start}
  .dtabs{width:100%}
  .dtabs button{flex:1;justify-content:center;padding:0 10px;gap:6px}
  .dtabs .long,.dtabs svg{display:none}
  .scope__ticks li:nth-child(even){visibility:hidden}
  .map__label{display:none}
  .map__break{font-size:.78rem;padding:6px 10px}
  .zero__img{top:26%;width:62%}
  .f2{grid-template-columns:1fr}
  .proof{gap:10px}
  .proof__ph--a,.proof__ph--d{grid-column:1/-1;aspect-ratio:4/5}
  .proof__ph figcaption{font-size:.85rem;padding:36px 14px 12px}
  .film{height:620px}
  .film video{object-position:35% 40%;opacity:.55}
  .film::after{background:linear-gradient(180deg,rgba(10,17,30,.35),rgba(10,17,30,.85)),repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px)}
  .ftr__priv{margin-left:0}
  .modal__card{padding:28px 22px}
  .ftr__grid{grid-template-columns:1fr}
  .ftr__col ul{grid-template-columns:1fr 1fr;column-gap:16px}
}

/* ------------------------------------------------------- reduced motion */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .js [data-reveal],.js [data-intro]{opacity:1;transform:none;clip-path:none;filter:none}
  .scanline,.zero__sweep,.cue__list::after,.cycle::after{display:none}
  .speed__curve{stroke-dasharray:none!important}
}
