/* ============================================================
   11 · ORBIT, BRANDED — navy night, amber sun
   02-orbit's layout, diagrams and motion, with the PromptPartner.AI
   identity layer: v4 palette only, Space Grotesk + Inter (+ Space Mono
   for diagram readouts), the real logo. Colour is assigned by ROLE:
   all ambient light is the navy ramp; amber (#FCA311) is the one
   focal light per section.
   ============================================================ */
@property --ang { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
:root{
  /* space (navy 100 / 90 / 80 + dark-mode card/border tokens) */
  --void:#0A111F; --deep:#0F192E; --nebula:#14213D; --card:#172339; --edge:#2A3A5C;
  /* text: white · soft = navy 10 · dim = muted on dark */
  --star:#FFFFFF; --soft:#D7DFF2; --dim:#B9C0CE;
  /* ambient light = navy ramp light tones */
  --mint:#AEBFE5; --peri:#5D80CB; --orchid:#86A0D8; --orchid-l:#D7DFF2; --n50:#3B62B7;
  --aurora:linear-gradient(90deg,#D7DFF2 0%,#5D80CB 52%,#AEBFE5 100%);
  /* the one focal light */
  --amber:#FCA311; --amber-40:#FDBA4D; --amber-30:#FEDCA6; --amber-20:#FEE8C4; --amber-60:#EA9102; --on-amber:#14213D;
  --line:rgba(215,223,242,.09); --line2:rgba(215,223,242,.16);
  --fd:'Space Grotesk','Segoe UI',Helvetica,Arial,sans-serif; --fb:'Inter','Segoe UI',Helvetica,Arial,sans-serif;
  --fm:'Space Mono',ui-monospace,monospace; --fl:'Inter','Segoe UI',Helvetica,Arial,sans-serif;
  --gut:clamp(16px,4vw,48px); --maxw:1240px; --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--void);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;color:var(--star);font-family:var(--fb);font-size:17px;line-height:1.62;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:var(--dust,none);background-size:640px 640px;opacity:.55}
body::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(120% 70% at 50% 120%,rgba(20,33,61,.55),transparent 60%)}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0}
ul,ol{list-style:none;margin:0;padding:0}
:focus-visible{outline:2px solid var(--amber);outline-offset:4px;border-radius:8px;box-shadow:0 0 0 5px rgba(252,163,17,.35)}
::selection{background:rgba(59,98,183,.6);color:#fff}
.wrap{width:min(var(--maxw),100% - 2*var(--gut));margin-inline:auto}

/* ---------- type ---------- */
.eyebrow{display:flex;align-items:center;gap:14px;font-family:var(--fl);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin:0 0 24px}
.ey-n{color:var(--dim);letter-spacing:.12em}
.ey-t{display:flex;align-items:center;gap:14px}
.ey-t::before{content:"";width:38px;height:1px;background:linear-gradient(90deg,rgba(93,128,203,0),var(--peri))}
.center{text-align:center}
.center .eyebrow{justify-content:center}
.h2{font-family:var(--fd);font-weight:700;font-size:clamp(2.1rem,1.35rem + 3.85vw,4.85rem);line-height:1.02;letter-spacing:-.03em;text-wrap:balance}
.sub{font-size:clamp(1.02rem,.95rem + .32vw,1.2rem);line-height:1.62;color:var(--soft);max-width:690px;margin-top:26px;text-wrap:pretty}
.center .sub{margin-inline:auto}
.sec-head{max-width:900px;margin-bottom:clamp(52px,6.5vw,96px)}
.sec-head.center{margin-inline:auto}
.sec-head.wide{max-width:1160px}
.sec-head.split{max-width:none;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:clamp(40px,6vw,96px);align-items:end}
.sec-head.split .eyebrow{grid-column:1 / -1}
.sec-head.split .sub,.sec-head.split .lead{margin-top:0;padding-bottom:6px}
.aur{background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.nw{white-space:nowrap}
@media (min-width:700px){.nwd{white-space:nowrap}.brk{display:block}}
h3{font-family:var(--fd);font-weight:700;letter-spacing:-.02em;line-height:1.12;text-wrap:balance}

/* ---------- buttons & links ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 28px;border-radius:999px;font-family:var(--fb);font-weight:700;font-size:16px;letter-spacing:.005em;text-decoration:none;white-space:nowrap;transition:box-shadow .4s var(--ease),background .4s var(--ease),border-color .4s var(--ease),transform .5s var(--ease);will-change:transform}
.btn .arr{display:inline-block;transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-prime{background:var(--amber);color:var(--on-amber);box-shadow:0 0 0 1px rgba(253,186,77,.7),0 14px 44px -14px rgba(234,145,2,.8),0 0 80px -26px rgba(252,163,17,.75)}
.btn-prime:hover{background:var(--amber-40);box-shadow:0 0 0 1px var(--amber-30),0 18px 56px -12px rgba(234,145,2,.95),0 0 110px -18px rgba(252,163,17,.85)}
.btn-ghost{color:var(--star);background:rgba(215,223,242,.04);border:1px solid rgba(215,223,242,.22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn-ghost:hover{border-color:rgba(215,223,242,.7);background:rgba(215,223,242,.07)}
.btn-sm{min-height:42px;padding:0 20px;font-size:14.5px}
.ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.more{margin-top:clamp(40px,5vw,64px);display:flex;justify-content:center}
.link{display:inline-flex;align-items:center;gap:10px;font-family:var(--fl);font-size:13.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--star);padding:12px 4px;border-bottom:1px solid rgba(134,160,216,.55);transition:border-color .3s,color .3s}
.link:hover{color:var(--soft);border-color:var(--soft)}
.link .arr{transition:transform .35s var(--ease)}
.link:hover .arr{transform:translateX(5px)}
.assure{font-size:14.5px;color:var(--dim);max-width:560px;margin:24px auto 0;text-wrap:balance}

/* ---------- glass ---------- */
.glass{position:relative;background:linear-gradient(180deg,rgba(20,33,61,.5),rgba(15,25,46,.55));border:1px solid var(--line);border-radius:22px;-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);box-shadow:inset 0 1px 0 rgba(215,223,242,.06),0 40px 90px -50px rgba(0,0,0,.9)}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .5s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(93,128,203,.14),transparent 60%)}
.spot:hover::after{opacity:1}

/* ---------- reveal (blur → sharp) ---------- */
.js .rv{opacity:0;filter:blur(12px);transform:translateY(24px);transition:opacity 1s var(--ease) var(--d,0s),filter 1.1s var(--ease) var(--d,0s),transform 1.1s var(--ease) var(--d,0s)}
.js .rv.in{opacity:1;filter:none;transform:none}

/* ---------- scene frame ---------- */
.scene{position:relative;padding:clamp(72px,8.5vw,132px) 0;overflow-x:clip}
.sky-arc{position:absolute;left:0;width:100%;height:100%;top:0;pointer-events:none;z-index:-1}
.sky-arc ellipse,.sky-arc path{fill:none;stroke:rgba(215,223,242,.07);stroke-width:1;vector-effect:non-scaling-stroke}

/* ============================================================
   HEADER
   ============================================================ */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .5s,border-color .5s,-webkit-backdrop-filter .5s,backdrop-filter .5s;border-bottom:1px solid transparent}
.hdr.scrolled{background:rgba(10,17,31,.62);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border-bottom-color:var(--line)}
.hdr-in{display:flex;align-items:center;gap:28px;height:76px;width:min(1360px,100% - 2*var(--gut));margin-inline:auto}
.brand{display:inline-flex;align-items:center;flex:none;text-decoration:none;line-height:0;border-radius:4px}
.brand img{display:block;height:58px;width:auto}
.nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.nav ul{display:flex;gap:26px}
.nav ul a{font-size:14.5px;font-weight:600;color:var(--soft);text-decoration:none;position:relative;padding:6px 0;white-space:nowrap;transition:color .3s}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--aurora);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav ul a:hover{color:var(--star)}
.nav ul a:hover::after{transform:scaleX(1)}
.menu-btn{display:none}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none}
.progress i{display:block;height:100%;background:var(--aurora);transform-origin:left;transform:scaleX(var(--p,0))}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;padding:clamp(118px,17vh,164px) 0 clamp(64px,8vw,112px);overflow:hidden;isolation:isolate}
.stars{position:absolute;inset:0;width:100%;height:100%;z-index:-1;display:block}
.hero-copy{position:relative;z-index:3;text-align:center}
.hero .eyebrow{justify-content:center;color:var(--star);letter-spacing:.16em}
.hero .eyebrow .pip{width:7px;height:7px;border-radius:50%;background:var(--orchid-l);box-shadow:0 0 0 4px rgba(93,128,203,.22),0 0 18px var(--peri);flex:none}
.h1{font-family:var(--fd);font-weight:700;font-size:clamp(2.1rem,1.05rem + 4.55vw,5.05rem);line-height:1;letter-spacing:-.032em;max-width:1180px;margin:0 auto;text-wrap:balance;background:linear-gradient(180deg,#fff 0%,#FFFFFF 55%,#D7DFF2 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.h1 .aur{background:linear-gradient(90deg,#D7DFF2 0%,#AEBFE5 45%,#86A0D8 100%);-webkit-background-clip:text;background-clip:text}
.h1 .l2{display:block}
.lede{font-size:clamp(1.05rem,.98rem + .35vw,1.25rem);line-height:1.6;color:var(--soft);max-width:780px;margin:32px auto 0;text-wrap:pretty}
.hero .ctas{margin-top:42px}
.film{position:relative;z-index:2;width:min(820px,100% - 2*var(--gut));margin:clamp(110px,13vw,190px) auto 0}
.planet{position:absolute;z-index:-1;left:50%;top:-76px;width:clamp(1150px,250vw,3900px);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(22% 9% at 50% 0%,rgba(252,163,17,.34),rgba(234,145,2,.12) 40%,transparent 100%),radial-gradient(closest-side at 50% 0%,rgba(46,77,142,.55),rgba(15,25,46,.9) 22%,#0A111F 46%,#0A111F 70%);
  box-shadow:inset 0 36px 90px -40px rgba(59,98,183,.7)}
.planet::before,.planet::after{content:"";position:absolute;inset:0;border-radius:50%;padding:2px;background:linear-gradient(90deg,transparent 28%,#3B62B7 36%,#FDBA4D 45.5%,#FFFFFF 50%,#FDBA4D 54.5%,#3B62B7 64%,transparent 72%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.planet::after{padding:10px;filter:blur(16px);opacity:.75}
.film::before{content:"";position:absolute;z-index:-2;left:50%;top:-76px;width:min(2600px,260vw);height:min(900px,150vw);transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(30% 26% at 50% 50%,rgba(252,163,17,.36),rgba(234,145,2,.12) 45%,rgba(234,145,2,0) 100%),radial-gradient(50% 50% at 50% 50%,rgba(59,98,183,.42),rgba(46,77,142,.16) 45%,rgba(46,77,142,0) 100%)}
.hero-halo{position:absolute;z-index:-1;left:50%;top:10%;width:min(1400px,160vw);height:60%;transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 60%,rgba(59,98,183,.28),rgba(93,128,203,.08) 45%,transparent 70%);filter:blur(10px);pointer-events:none}
.film-frame{position:relative;padding:10px;border-radius:26px;background:rgba(15,25,46,.55);border:1px solid rgba(215,223,242,.14);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:0 0 0 1px rgba(93,128,203,.12),0 40px 140px -30px rgba(59,98,183,.6),0 0 70px -16px rgba(174,191,229,.3);transform-origin:50% 100%;will-change:transform}
.film-frame::before{content:"";position:absolute;inset:-1px;border-radius:27px;padding:1px;background:linear-gradient(120deg,rgba(174,191,229,.8),rgba(93,128,203,.2) 35%,rgba(134,160,216,.1) 60%,rgba(134,160,216,.75));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none}
.film-ratio{position:relative;aspect-ratio:16/9;border-radius:17px;overflow:hidden;background:radial-gradient(80% 90% at 50% 40%,#14213D,#0A111F)}
.film-ratio iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film figcaption{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:22px;font-family:var(--fl);font-size:14px;font-weight:500;letter-spacing:.01em;color:var(--soft);text-align:center}
.film figcaption::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orchid);box-shadow:0 0 12px var(--orchid);flex:none}

/* ============================================================
   LOGOS — two slow opposite marquees
   ============================================================ */
.logos{position:relative;padding:clamp(56px,7vw,96px) 0 clamp(40px,5vw,72px)}
.logos-label{font-family:var(--fl);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-align:center;margin-bottom:40px}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.marquee+.marquee{margin-top:34px}
.track{display:flex;width:max-content;animation:mq 70s linear infinite}
.marquee.rev .track{animation-direction:reverse;animation-duration:82s}
.marquee:hover .track{animation-play-state:paused}
.set{display:flex;align-items:center;gap:76px;padding-right:76px}
.set img{height:calc(var(--h,28px) * var(--k,1));width:auto;max-width:190px;object-fit:contain;filter:brightness(0) invert(1);opacity:.55;transition:opacity .4s}
.set img:hover{opacity:.95}
@keyframes mq{to{transform:translateX(-50%)}}

/* ============================================================
   PROBLEMS
   ============================================================ */
.prob-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;align-items:start;padding-bottom:40px}
.prob{padding:36px 36px 38px;min-height:320px;display:flex;flex-direction:column}
.prob:nth-child(2),.prob:nth-child(4){margin-top:72px}
.prob-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}
.prob-label{font-family:var(--fl);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);display:flex;align-items:center;gap:12px}
.prob-top .num{font-family:var(--fl);font-weight:600;font-variant-numeric:tabular-nums;font-size:12px;color:var(--dim);letter-spacing:.12em}
.moon{width:40px;height:40px;flex:none}
.prob h3{font-size:clamp(1.59rem,1.21rem + .99vw,2.15rem);margin-bottom:18px}
.prob p.body{color:var(--soft);font-size:16.5px;text-wrap:pretty}
.prob-side{display:flex;align-items:center;gap:16px}

/* ============================================================
   SHIFT — Diagram A
   ============================================================ */
.h2 .h2-second{display:block;font-size:.44em;line-height:1.28;letter-spacing:-.012em;color:var(--soft);margin-top:22px;font-weight:700}
.shift-dia{display:grid;grid-template-columns:minmax(0,1fr) 116px minmax(0,1fr);align-items:stretch}
.shift-card{position:relative;border-radius:26px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
.shift-card.before{background:linear-gradient(180deg,rgba(20,33,61,.28),rgba(15,25,46,.4))}
.shift-card.after{background:radial-gradient(120% 90% at 50% 0%,rgba(252,163,17,.09),rgba(20,33,61,.5) 45%,rgba(15,25,46,.6) 70%);border-color:rgba(252,163,17,.34);box-shadow:0 0 0 1px rgba(253,186,77,.06),0 50px 120px -50px rgba(234,145,2,.45)}
.field{display:block;width:100%;height:auto;aspect-ratio:400/220;border-bottom:1px solid var(--line)}
.shift-txt{padding:30px 34px 36px}
.k{display:inline-flex;align-items:center;gap:10px;font-family:var(--fl);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:6px 12px;border-radius:999px;border:1px solid var(--line2);color:var(--dim)}
.after .k{color:var(--star);border-color:rgba(215,223,242,.45)}
.after .shift-title .aur{background:linear-gradient(90deg,#FCA311 0%,#FDBA4D 55%,#FEDCA6 100%);-webkit-background-clip:text;background-clip:text}
.shift-title{font-size:clamp(3rem,2.1rem + 3vw,4.9rem);line-height:1;letter-spacing:-.035em;margin:22px 0 10px;font-weight:700}
.before .shift-title{color:#B9C0CE}
.shift-line{font-size:1.22rem;font-weight:600;color:var(--soft)}
.after .shift-line{color:var(--star)}
.tags{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:6px 6px;margin-top:22px;font-size:15.5px;color:var(--soft)}
.tags::before{content:"·"}
.tags::before,.tags i{font-style:normal;font-size:26px;line-height:.6;color:var(--dim);text-align:center}
.after .tags{color:var(--star)}
.after .tags::before,.after .tags i{color:var(--mint);text-shadow:0 0 10px var(--mint)}
.shift-bridge{position:relative;display:flex;align-items:center;justify-content:center}
.shift-bridge .beam{position:absolute;left:-2px;right:-2px;top:50%;height:1px;background:linear-gradient(90deg,rgba(185,192,206,.3),rgba(174,191,229,.9),rgba(93,128,203,.9));overflow:hidden}
.shift-bridge .beam::after{content:"";position:absolute;top:-1px;left:-30%;width:30%;height:3px;background:linear-gradient(90deg,transparent,#fff,transparent);animation:beam 2.6s var(--ease) infinite}
.shift-bridge .orb{position:relative;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:var(--star);background:radial-gradient(circle at 35% 30%,rgba(93,128,203,.5),rgba(15,25,46,.95) 70%);border:1px solid rgba(93,128,203,.55);box-shadow:0 0 30px -4px rgba(93,128,203,.8)}
@keyframes beam{to{left:110%}}
.field .edge{stroke:rgba(253,186,77,.55);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s var(--ease)}
.after.lit .field .edge{stroke-dashoffset:0}
.field .halo{opacity:0;transition:opacity 1.2s var(--ease)}
.after.lit .field .halo{opacity:1}

/* ============================================================
   WHO SHOWS UP — binary star
   ============================================================ */
.pair-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px) minmax(0,1fr);align-items:center;gap:24px}
.pair-card{padding:8px 0}
.pair-card.eng{text-align:right}
.pair-star{display:inline-block;width:14px;height:14px;border-radius:50%;margin-bottom:22px}
.eng .pair-star{background:var(--orchid-l);box-shadow:0 0 0 5px rgba(215,223,242,.14),0 0 22px var(--orchid-l)}
.op .pair-star{background:var(--peri);box-shadow:0 0 0 5px rgba(93,128,203,.2),0 0 22px var(--peri)}
.pair-card h3{font-size:clamp(1.76rem,1.32rem + 1.32vw,2.53rem);margin-bottom:16px}
.pair-card p{color:var(--soft);font-size:16.5px;text-wrap:pretty;max-width:400px}
.pair-card.eng p{margin-left:auto}
.binary svg{display:block;width:100%;height:auto;overflow:visible}

/* ============================================================
   METHOD — Diagram B trajectory
   ============================================================ */
.h2-method{font-size:clamp(1.95rem,1.05rem + 4.15vw,4.95rem);letter-spacing:-.02em}
.h2-method .d{color:var(--peri);text-shadow:0 0 18px rgba(93,128,203,.9)}
.traj{position:relative}
.traj-svg{display:block;width:100%;height:auto;overflow:hidden}
.traj-svg .wp-l{font-family:var(--fm);font-size:14px;font-weight:700;letter-spacing:.2em;fill:var(--soft)}
.traj-svg .wp-l.hot{fill:var(--star)}
.beacon-ping{transform-box:fill-box;transform-origin:center;animation:ping 2.8s var(--ease) infinite}
.beacon-ping.b2{animation-delay:.9s}.beacon-ping.b3{animation-delay:1.8s}
@keyframes ping{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.beacon-core{transition:r .4s}
.stops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:-2px}
.stops .wp{display:none}
.stop{padding:30px 30px 30px;display:flex;flex-direction:column}
.stop::before{content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--c,var(--mint));box-shadow:0 0 16px var(--c,var(--mint))}
.stop .num{font-family:var(--fl);font-weight:600;font-variant-numeric:tabular-nums;font-size:12px;letter-spacing:.14em;color:var(--dim);margin-bottom:18px}
.stop h3{font-size:1.59rem;margin-bottom:14px}
.tl{font-family:var(--fb);font-weight:700}
.stop p.body{color:var(--soft);font-size:16px;text-wrap:pretty;flex:1}
.status{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:7px 14px 7px 12px;border-radius:999px;font-family:var(--fm);font-size:12.5px;font-weight:400;letter-spacing:.02em;color:var(--c,var(--mint));border:1px solid color-mix(in srgb,var(--c,var(--mint)) 50%,transparent);background:color-mix(in srgb,var(--c,var(--mint)) 9%,transparent)}
.stop.s1{--c:#AEBFE5}.stop.s2{--c:#86A0D8}.stop.s3{--c:#D7DFF2}

/* ============================================================
   HUB — Diagram C orrery
   ============================================================ */
.orrery{position:relative;margin:0 auto}
.orr-svg{display:none}
.orr-core{display:flex;justify-content:center;margin-bottom:24px}
.orr-core span{font-family:var(--fm);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--on-amber);background:radial-gradient(circle at 40% 35%,#fff,#FEE8C4 40%,#FCA311 100%);padding:20px 22px;border-radius:50%;box-shadow:0 0 60px rgba(252,163,17,.6)}
.orr-sys{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.orr-lab{display:inline-block;font-family:var(--fm);font-weight:400;font-size:13px;letter-spacing:.02em;line-height:1;white-space:nowrap;padding:9px 13px;border-radius:999px;color:var(--star);background:rgba(15,25,46,.78);border:1px solid rgba(215,223,242,.2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.orrery.ready .orr-svg{display:block;position:absolute;left:0;top:0;overflow:visible}
.orrery.ready .orr-stage{position:absolute;left:0;top:0;transform-origin:0 0}
.orrery.ready .orr-core{position:absolute;margin:0;left:0;top:0;transform:translate(-50%,-50%)}
.orrery.ready .orr-core span{display:block;padding:0;width:104px;height:104px;line-height:104px;text-align:center;background:none;box-shadow:none}
.orrery.ready .orr-sys{display:block}
.orrery.ready .orr-sys li{position:absolute;left:0;top:0;will-change:transform}
.moves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px);margin-top:clamp(48px,6vw,80px)}
.move{position:relative;padding-top:30px;border-top:1px solid var(--line2)}
.move::before{content:"";position:absolute;left:0;top:-1px;width:64px;height:1px;background:var(--aurora);box-shadow:0 0 12px rgba(93,128,203,.9)}
.move .num{display:block;font-family:var(--fl);font-weight:600;font-variant-numeric:tabular-nums;font-size:12.5px;letter-spacing:.14em;color:var(--dim);margin-bottom:14px}
.move h3{font-size:clamp(1.76rem,1.32rem + 1.1vw,2.31rem);margin-bottom:14px}
.move p{color:var(--soft);font-size:16.5px;text-wrap:pretty}
.models{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 40px;margin-top:clamp(56px,6vw,88px);padding:22px 32px;border-radius:999px;border:1px solid var(--line);background:rgba(15,25,46,.5);width:fit-content;margin-inline:auto}
.models p{font-family:var(--fl);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.models img{filter:brightness(0) invert(1);opacity:.82}

/* ============================================================
   PROOF — Diagram D
   ============================================================ */
.proof .h2 .l2{display:block}
.chain{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.7fr);align-items:stretch;gap:0 10px}
.chain-beam{position:absolute;left:2%;right:2%;top:92px;height:1px;background:linear-gradient(90deg,rgba(174,191,229,.2),rgba(174,191,229,.8),rgba(93,128,203,.9),rgba(134,160,216,.9));pointer-events:none}
.chain-beam::after{content:"";position:absolute;top:-2px;left:0;width:120px;height:5px;border-radius:5px;background:linear-gradient(90deg,transparent,#fff,transparent);filter:blur(1px);animation:beam2 3.6s var(--ease) infinite}
@keyframes beam2{from{transform:translateX(-120px)}to{transform:translateX(1400px)}}
.readout{position:relative;z-index:1;padding:34px 28px 30px;border-radius:20px;background:linear-gradient(180deg,rgba(20,33,61,.72),rgba(15,25,46,.8));border:1px solid var(--line);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.readout::before,.readout::after{content:"";position:absolute;width:18px;height:18px;border:1px solid rgba(174,191,229,.7);pointer-events:none}
.readout::before{left:10px;top:10px;border-right:0;border-bottom:0;border-top-left-radius:8px}
.readout::after{right:10px;bottom:10px;border-left:0;border-top:0;border-bottom-right-radius:8px}
.ro-num{font-family:var(--fm);font-weight:400;font-size:clamp(3.4rem,2rem + 4vw,6.2rem);line-height:1.05;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--star);text-shadow:0 0 40px rgba(93,128,203,.55)}
.readout.eur .ro-num{font-size:clamp(2.2rem,1.2rem + 2.9vw,4.4rem);line-height:1.45;letter-spacing:-.05em;background:linear-gradient(90deg,#FCA311 0%,#FDBA4D 55%,#FEDCA6 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 0 22px rgba(234,145,2,.45))}
.readout.eur{border-color:rgba(252,163,17,.42);box-shadow:0 0 90px -30px rgba(234,145,2,.65)}
.proof .h2 .aur{background:linear-gradient(90deg,#FCA311 0%,#FDBA4D 60%,#FEDCA6 100%);-webkit-background-clip:text;background-clip:text}
.ro-lab{margin-top:14px;color:var(--soft);font-size:16px;text-wrap:balance}
.ro-ticks{display:block;height:6px;margin:14px auto 0;width:70%;background:repeating-linear-gradient(90deg,rgba(215,223,242,.28) 0 1px,transparent 1px 9px);-webkit-mask:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);mask:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
.chev{position:relative;z-index:1;align-self:start;margin-top:50px;font-family:var(--fd);font-weight:700;font-size:88px;line-height:1;background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 14px rgba(93,128,203,.9));padding:0 4px}

/* ============================================================
   INDEPENDENCE — Diagram E planet cross-section
   ============================================================ */
.xsec{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:40px 104px;align-items:center}
.xsec-planet{position:relative}
.xsec-planet svg{display:block;width:100%;max-width:560px;height:auto;margin-inline:auto;overflow:visible}
.hn text{font-family:var(--fm);font-size:13px;font-weight:700;fill:#FFFFFF}
.rot-slow{transform-origin:280px 280px;animation:spin 90s linear infinite}
.rot-rev{transform-origin:280px 280px;animation:spin 140s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.xsec-leaders{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
.xsec-leaders .ld{fill:none;stroke-width:1}
.xsec-leaders .ld.swap{stroke:rgba(134,160,216,.7);stroke-dasharray:4 5}
.xsec-leaders .ld.stay{stroke:rgba(215,223,242,.7)}
.xsec-leaders .ld.conn{stroke:rgba(252,163,17,.8)}
.xsec-leaders .ld.gov{stroke:rgba(93,128,203,.6);stroke-dasharray:2 6}
.xsec-leaders .dot.swap{fill:#86A0D8}.xsec-leaders .dot.stay{fill:var(--orchid-l)}.xsec-leaders .dot.conn{fill:var(--amber)}
.xsec-leaders .ring{fill:none;stroke-width:1}.xsec-leaders .ring.swap{stroke:rgba(134,160,216,.7)}.xsec-leaders .ring.stay{stroke:rgba(215,223,242,.7)}.xsec-leaders .ring.conn{stroke:rgba(252,163,17,.7)}
.bands{display:flex;flex-direction:column;gap:14px}
.band{position:relative;border-radius:20px;padding:20px 22px 20px 22px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"g h s" "c c c";gap:4px 16px;align-items:center}
.band.swap{border:1px dashed rgba(134,160,216,.55);background:linear-gradient(100deg,rgba(93,128,203,.07),rgba(134,160,216,.05))}
.band.stay{border:1px solid rgba(215,223,242,.42);background:linear-gradient(100deg,rgba(174,191,229,.10),rgba(15,25,46,.7));box-shadow:inset 0 0 0 1px rgba(215,223,242,.06)}
.band.stay.conn{border-color:rgba(252,163,17,.6);box-shadow:inset 0 0 0 1px rgba(252,163,17,.06),0 0 40px -18px rgba(234,145,2,.55)}
.band-glyph{grid-area:g;width:44px;height:44px}
.band-head{grid-area:h;min-width:0}
.band h3{font-size:1.43rem}
.band-sub{font-family:var(--fl);font-size:13.5px;font-weight:500;letter-spacing:0;color:var(--dim);margin-top:4px}
.band .tag{grid-area:s;justify-self:end;font-family:var(--fl);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:999px;white-space:nowrap}
.band.swap .tag{color:var(--orchid-l);border:1px dashed rgba(134,160,216,.8);background:rgba(134,160,216,.08)}
.band.stay .tag{color:var(--on-amber);background:var(--orchid-l);box-shadow:0 0 22px -6px rgba(215,223,242,.6)}
.chips{grid-area:c;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:5px 12px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--star);background:rgba(15,25,46,.66);border:1px solid rgba(215,223,242,.14);white-space:nowrap}
.chip img{height:16px;width:auto;filter:brightness(0) invert(1)}
.chip.logo{background:#FFFFFF;border-color:#fff;padding:5px 14px;color:#0A111F}
.chip.logo img{filter:none;height:22px}
.chip.logo img.sf{height:28px}
.chip.logo img.gw{height:30px}
.chip.logo img.ms{height:18px}
.chip.logo{min-height:38px}
.gov{grid-column:1 / -1;padding:34px 36px 30px;border-radius:26px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px 48px;border-color:rgba(93,128,203,.3)}
.gov::before{content:"";position:absolute;inset:-1px;border-radius:27px;padding:1px;background:linear-gradient(90deg,rgba(174,191,229,.8),rgba(93,128,203,.6),rgba(134,160,216,.8));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none;opacity:.8}
.gov-head{display:flex;flex-direction:column;gap:14px}
.gov-head svg{width:64px;height:64px}
.gov-head h3{font-size:2.09rem}
.gov-head p{font-family:var(--fl);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.gov-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 30px;margin:0}
.gov-list>div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 10px;align-content:start}
.gov-list .gn{grid-row:1 / span 2;font-family:var(--fl);font-weight:600;font-size:12.5px;color:var(--peri);padding-top:3px}
.gov-list dt{font-weight:700;font-size:15.5px;color:var(--star)}
.gov-list dd{margin:0;color:var(--soft);font-size:14.5px;line-height:1.5}
.gov-enf{grid-column:1 / -1;padding-top:20px;border-top:1px solid var(--line);color:var(--soft);font-size:15.5px;display:flex;align-items:baseline;gap:12px}
.gov-enf::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--amber);box-shadow:0 0 14px var(--amber-60);transform:translateY(1px)}
.gov-enf strong{color:var(--star);font-weight:700}
.xsec-notes{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 64px;align-items:end}
.note-big{font-family:var(--fd);font-weight:700;font-size:clamp(1.7rem,1.25rem + 1.4vw,2.65rem);line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
.note{color:var(--soft);font-size:16.5px;text-wrap:pretty}
.note em{color:var(--star);font-style:italic}
.fine{grid-column:1 / -1;font-family:var(--fl);font-size:12.5px;letter-spacing:.01em;color:var(--dim)}

/* ============================================================
   WHERE WE START
   ============================================================ */
.start .lead{font-size:clamp(1.05rem,.98rem + .35vw,1.25rem);color:var(--soft);max-width:760px;margin-top:26px;text-wrap:pretty}
.steps{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);align-items:center}
.step{padding:34px 34px 36px;display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 26px;align-items:start}
.step-vis{grid-row:1 / span 3;width:110px;height:110px}
.step .num{font-family:var(--fl);font-weight:600;font-variant-numeric:tabular-nums;font-size:12px;letter-spacing:.14em;color:var(--dim);margin-bottom:10px}
.step h3{font-size:clamp(1.65rem,1.32rem + .99vw,2.2rem);margin-bottom:12px}
.step p{color:var(--soft);font-size:16.5px;text-wrap:pretty}
.step-path svg{display:block;width:100%;height:auto;overflow:visible}
.ripple{transform-box:fill-box;transform-origin:center;animation:ripple 3.6s cubic-bezier(.2,.6,.3,1) infinite}
.ripple.r2{animation-delay:1.2s}.ripple.r3{animation-delay:2.4s}
@keyframes ripple{0%{transform:scale(.25);opacity:.95}100%{transform:scale(1);opacity:0}}
.probe{animation:probe 4.2s var(--ease) infinite}
@keyframes probe{0%{transform:translate(18px,-30px);opacity:0}15%{opacity:1}60%,100%{transform:translate(0,0);opacity:1}}
.land-flash{transform-box:fill-box;transform-origin:center;animation:flash 4.2s var(--ease) infinite}
@keyframes flash{0%,55%{transform:scale(.2);opacity:0}62%{opacity:.9}100%{transform:scale(1.6);opacity:0}}

/* ============================================================
   BEYOND THE NUMBER — constellation of four
   ============================================================ */
.const4{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}
.const-line{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.const-line polyline{fill:none;stroke:rgba(174,191,229,.45);stroke-width:1;stroke-dasharray:3 6}
.bn{position:relative;padding-top:var(--sy,40px)}
.bn-star{position:relative;display:block;width:16px;height:16px;margin-bottom:32px}
.bn-star::before{content:"";position:absolute;inset:3px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(93,128,203,.16),0 0 24px 4px rgba(93,128,203,.9)}
.bn-star::after{content:"";position:absolute;left:50%;top:50%;width:46px;height:46px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent 47%,rgba(215,223,242,.7) 50%,transparent 53%),linear-gradient(0deg,transparent 47%,rgba(215,223,242,.7) 50%,transparent 53%);-webkit-mask:radial-gradient(circle,#000 20%,transparent 70%);mask:radial-gradient(circle,#000 20%,transparent 70%)}
.bn .num{font-family:var(--fl);font-weight:600;font-variant-numeric:tabular-nums;font-size:12px;letter-spacing:.14em;color:var(--dim);margin-bottom:14px}
.bn h3{font-size:clamp(1.43rem,1.16rem + .66vw,1.76rem);margin-bottom:14px}
.bn p{color:var(--soft);font-size:16px;text-wrap:pretty}

/* ============================================================
   CASE STUDIES — dossiers
   ============================================================ */
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.case{padding:36px 36px 0;overflow:hidden;display:flex;flex-direction:column}
.case-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.case-k{font-family:var(--fl);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.case-orbit{width:54px;height:54px}
.case-orbit g{transform-origin:27px 27px;animation:spin 14s linear infinite}
.case h3{font-size:clamp(1.71rem,1.32rem + 1.1vw,2.37rem);margin-bottom:28px;max-width:520px}
.case-dl{margin:0;display:grid;gap:0}
.case-dl>div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:18px;padding:14px 0;border-top:1px solid var(--line)}
.case-dl dt{font-family:var(--fl);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding-top:3px}
.case-dl dd{margin:0;color:var(--soft);font-size:16px}
.case-out{margin:18px -36px 0;padding:22px 36px 26px;display:flex;align-items:baseline;gap:14px;font-weight:700;font-size:16.5px;color:var(--star);background:linear-gradient(90deg,rgba(174,191,229,.12),rgba(93,128,203,.08) 60%,transparent);border-top:1px solid rgba(174,191,229,.3);margin-top:auto}
.case-out::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 14px var(--mint)}
.case-dl{margin-bottom:18px}

/* ============================================================
   GO-TO-MARKET
   ============================================================ */
.motions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.motion{padding:26px 22px 26px;border-radius:20px;display:flex;flex-direction:column}
.m-glyph{width:64px;height:64px;margin-bottom:26px;overflow:visible}
.m-glyph .sp{transform-origin:32px 32px;animation:spin var(--t,20s) linear infinite}
.motion h3{font-size:1.32rem;margin-bottom:8px}
.motion p{color:var(--soft);font-size:15px}
.channel{margin-top:16px;padding:30px 36px;border-radius:22px;display:flex;gap:28px;align-items:center}
.channel::before{content:"";position:absolute;inset:-1px;border-radius:23px;padding:1px;background:linear-gradient(90deg,rgba(174,191,229,.7),rgba(93,128,203,.35),rgba(134,160,216,.7));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none}
.channel svg{width:54px;height:54px;flex:none}
.channel p{color:var(--soft);font-size:17px;text-wrap:pretty}
.channel strong{color:var(--star);font-family:var(--fd);font-weight:700;font-size:1.12em;margin-right:6px}

/* ============================================================
   THE GAP
   ============================================================ */
.gap-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr);gap:24px;align-items:center}
.gap-col{position:relative;padding:36px 32px;border-radius:24px;border:1px solid var(--line)}
.gap-col.dim{background:rgba(15,25,46,.4)}
.gap-col.dim h3{color:#B9C0CE}
.gap-col h3{font-size:1.76rem;margin-bottom:16px}
.gap-col p{color:var(--soft);font-size:16.5px;text-wrap:pretty}
.gap-col.lit{padding:52px 38px;border-color:transparent;background:radial-gradient(120% 80% at 50% 0%,rgba(93,128,203,.22),rgba(15,25,46,.92) 60%);box-shadow:0 0 120px -34px rgba(234,145,2,.5),0 0 60px -30px rgba(252,163,17,.4)}
.gap-col.lit::before{content:"";position:absolute;inset:-1px;border-radius:25px;padding:1.5px;background:conic-gradient(from var(--ang),#FCA311,#FEDCA6,#EA9102,#FDBA4D,#FCA311);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:ang 9s linear infinite;pointer-events:none}
@keyframes ang{to{--ang:360deg}}
.gap-col.lit h3{font-size:clamp(1.6rem,1rem + 1.6vw,2rem);font-weight:700}
.gap-col.lit p{color:var(--star)}
.gap-sun{display:block;width:56px;height:56px;margin-bottom:24px}

/* ============================================================
   FINAL — eclipse
   ============================================================ */
.final{padding-top:clamp(72px,9vw,130px);padding-bottom:clamp(56px,6vw,96px);text-align:center}
.eclipse{position:relative;width:min(700px,100%);aspect-ratio:1;margin:0 auto;display:grid;place-items:center}
.corona{position:absolute;inset:-16%;border-radius:50%;background:conic-gradient(from 0deg,rgba(215,223,242,0),rgba(215,223,242,.75) 8%,rgba(93,128,203,.28) 18%,rgba(174,191,229,.78) 30%,rgba(134,160,216,.3) 42%,rgba(255,255,255,.72) 55%,rgba(93,128,203,.22) 66%,rgba(215,223,242,.66) 80%,rgba(215,223,242,0) 100%);-webkit-mask:radial-gradient(closest-side,transparent 62%,#000 70%,rgba(0,0,0,.35) 86%,transparent 100%);mask:radial-gradient(closest-side,transparent 62%,#000 70%,rgba(0,0,0,.35) 86%,transparent 100%);filter:blur(18px);opacity:1;animation:spin 60s linear infinite}
.corona::after{content:"";position:absolute;inset:14%;border-radius:50%;box-shadow:0 0 80px 30px rgba(93,128,203,.28),0 0 30px 6px rgba(134,160,216,.25)}
.moon-disc{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 42%,#0F192E,#0A111F 72%);box-shadow:0 0 0 1.5px rgba(215,223,242,.9),0 0 26px 3px rgba(215,223,242,.55),0 0 90px 16px rgba(93,128,203,.35)}
.diamond{position:absolute;right:14.6%;top:14.6%;width:14px;height:14px;margin:-7px -7px 0 0;border-radius:50%;background:#fff;box-shadow:0 0 18px 6px #fff,0 0 60px 18px rgba(174,191,229,.6),0 0 120px 30px rgba(93,128,203,.35)}
.diamond::before,.diamond::after{content:"";position:absolute;left:50%;top:50%;width:140px;height:1.5px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#fff,transparent)}
.diamond::after{transform:translate(-50%,-50%) rotate(90deg);width:90px}
.final-h{position:relative;z-index:2;max-width:78%;font-size:clamp(1.95rem,1.15rem + 3.2vw,4rem)}
.final .sub{margin:clamp(40px,5vw,64px) auto 0}
.final .ctas{margin-top:38px}

/* ============================================================
   FOOTER
   ============================================================ */
.foot{position:relative;padding:clamp(64px,7vw,96px) 0 28px;border-top:1px solid var(--line);margin-top:clamp(16px,3vw,40px);overflow:hidden}
.foot-grid{display:grid;grid-template-columns:1.3fr repeat(3,minmax(0,1fr));gap:40px}
.foot-brand .brand img{height:168px}
.foot-social{display:flex;gap:18px;margin-top:26px}
.foot-social a{font-size:14.5px;font-weight:600;color:var(--soft);text-decoration:none;padding:8px 14px;border:1px solid var(--line2);border-radius:999px;transition:border-color .3s,color .3s}
.foot-social a:hover{color:var(--star);border-color:var(--mint)}
.foot-h{font-family:var(--fl);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:18px}
.foot-col ul{display:grid;gap:10px}
.foot-col a{color:var(--soft);text-decoration:none;font-size:15px;transition:color .3s}
.foot-col a:hover{color:var(--star)}
.legal{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:13.5px;color:var(--dim)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (min-width:901px) and (max-width:1200px){
  .hdr-in{gap:18px}
  .nav{gap:18px}
  .nav ul{gap:15px}
  .nav ul a{font-size:13.5px}
  .nav-cta{min-height:40px;padding:0 16px;font-size:13.5px}
}
@media (min-width:901px) and (max-width:1080px){ .nav-cta{display:none} }
@media (max-width:1180px){
  .motions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gov-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1040px){
  .xsec{grid-template-columns:minmax(0,1fr);gap:40px}
  .xsec-planet svg{max-width:440px}
  .xsec-leaders{display:none}
  .gov{grid-template-columns:minmax(0,1fr)}
  .const4{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px}
  .const-line{display:none}
  .bn{padding-top:0}
  .pair-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .binary{grid-column:1 / -1;grid-row:1;max-width:420px;margin:0 auto;width:100%}
  .pair-card.eng{text-align:left}
  .pair-card.eng p{margin-left:0}
}
@media (max-width:900px){
  .hdr-in{height:64px;gap:14px}
  .hdr .brand img{height:34px}
  .foot-brand .brand img{height:140px}
  .sec-head.split{display:block}
  .sec-head.split .sub,.sec-head.split .lead{margin-top:24px;padding-bottom:0}
  .menu-btn{display:inline-flex;align-items:center;gap:9px;margin-left:auto;flex:none;height:40px;padding:0 13px;border-radius:999px;border:1px solid var(--line2);background:rgba(15,25,46,.6);color:var(--star);font-family:var(--fl);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .menu-ico{position:relative;width:16px;height:8px}
  .menu-ico::before,.menu-ico::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .35s var(--ease)}
  .menu-ico::before{top:0}.menu-ico::after{bottom:0}
  .hdr.open .menu-ico::before{transform:translateY(3.25px) rotate(45deg)}
  .hdr.open .menu-ico::after{transform:translateY(-3.25px) rotate(-45deg)}
  .nav{position:fixed;left:0;right:0;top:64px;bottom:0;margin:0;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:32px;padding:36px var(--gut) 40px;background:rgba(10,17,31,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s .35s;overflow-y:auto}
  .hdr.open .nav{visibility:visible;opacity:1;transform:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
  .hdr.open{background:rgba(10,17,31,.94)}
  .nav ul{flex-direction:column;gap:6px;width:100%}
  .nav ul a{display:block;font-family:var(--fd);font-weight:700;font-size:28px;letter-spacing:-.02em;color:var(--star);padding:10px 0;border-bottom:1px solid var(--line)}
  .nav ul a::after{display:none}
  .nav-cta{min-height:54px;font-size:16px}
  .stops{grid-template-columns:minmax(0,1fr);gap:0;position:relative;padding-left:34px;margin-top:0}
  .stops::before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:1.5px;background:linear-gradient(180deg,#AEBFE5,#5D80CB 50%,#86A0D8);box-shadow:0 0 10px rgba(93,128,203,.7)}
  .stops::after{content:"";position:absolute;left:5px;top:0;width:10px;height:10px;border-radius:50%;background:#FEE8C4;box-shadow:0 0 14px 4px rgba(252,163,17,.85);animation:comet-v 6s var(--ease) infinite}
  @keyframes comet-v{0%{top:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{top:calc(100% - 10px);opacity:0}}
  .stops .wp{display:flex;align-items:center;gap:12px;position:relative;font-family:var(--fm);font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--soft);padding:14px 0}
  .stops .wp::before{content:"";position:absolute;left:-30px;width:10px;height:10px;border-radius:50%;background:var(--void);border:1.5px solid var(--peri)}
  .stops .wp.hot{color:var(--star)}
  .stops .wp.hot::before{background:var(--star);border-color:#fff;box-shadow:0 0 12px 2px rgba(93,128,203,.9)}
  .stop{margin:4px 0 12px}
  .stop::before{display:none}
  .traj-svg{display:none}
  .chain{grid-template-columns:minmax(0,1fr);gap:0}
  .chain-beam{left:50%;right:auto;top:4%;bottom:4%;width:1px;height:auto;background:linear-gradient(180deg,rgba(174,191,229,.3),rgba(93,128,203,.9),rgba(134,160,216,.9))}
  .chain-beam::after{display:none}
  .chev{justify-self:center;margin:0;transform:rotate(90deg);font-size:52px;padding:0}
  .steps{grid-template-columns:minmax(0,1fr)}
  .step-path{height:90px;width:120px;justify-self:center}
  .step-path svg{transform:rotate(90deg) translateX(-10px);width:120px}
  .gap-grid{grid-template-columns:minmax(0,1fr)}
  .gap-col.lit{padding:42px 30px}
  .case-grid{grid-template-columns:minmax(0,1fr)}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-brand{grid-column:1 / -1}
  .shift-dia{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 96px auto}
  .shift-bridge .beam{left:50%;right:auto;top:-2px;bottom:-2px;width:1px;height:auto;background:linear-gradient(180deg,rgba(185,192,206,.3),rgba(174,191,229,.9),rgba(93,128,203,.9))}
  .shift-bridge .beam::after{display:none}
  .shift-bridge .orb{transform:rotate(90deg)}
  .moves{grid-template-columns:minmax(0,1fr);gap:36px}
  .xsec-notes{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  body{font-size:16px}
  .prob-grid{grid-template-columns:minmax(0,1fr);gap:18px;padding-bottom:0}
  .prob:nth-child(2),.prob:nth-child(4){margin-top:0}
  .prob{padding:28px 24px 30px;min-height:0}
  .prob-top{margin-bottom:26px}
  .shift-txt{padding:24px 22px 28px}
  .pair-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .binary{max-width:340px}
  .motions{grid-template-columns:minmax(0,1fr);gap:10px}
  .motion{padding:18px 18px;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;align-items:center}
  .m-glyph{grid-row:1 / span 2;width:48px;height:48px;margin:0}
  .motion h3{margin-bottom:2px}
  .channel{flex-direction:column;align-items:flex-start;padding:26px 22px;gap:18px}
  .const4{grid-template-columns:minmax(0,1fr);gap:0;padding-left:34px}
  .const4::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:repeating-linear-gradient(180deg,rgba(174,191,229,.5) 0 3px,transparent 3px 9px)}
  .bn{padding:0 0 40px}
  .bn-star{position:absolute;left:-34px;top:0;margin:0}
  .case{padding:28px 22px 0}
  .case-out{margin:14px -22px 0;padding:20px 22px 22px}
  .case-dl>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .step{grid-template-columns:minmax(0,1fr);padding:28px 24px 30px}
  .step-vis{grid-row:auto;width:84px;height:84px;margin-bottom:18px}
  .band{grid-template-columns:40px minmax(0,1fr);grid-template-areas:"g h" "s s" "c c";padding:18px 16px}
  .band-glyph{width:40px;height:40px}
  .band .tag{justify-self:start;margin-top:10px}
  .chips{margin-top:12px}
  .chip{white-space:normal}
  .gov{padding:28px 22px 26px}
  .gov-list{grid-template-columns:minmax(0,1fr);gap:16px}
  .readout{padding:28px 18px 24px}
  .final-h{max-width:84%}
  .foot-grid{gap:34px 24px}
  .hero .ctas .btn{width:100%}
  .set{gap:46px;padding-right:46px}
  .set img{--k:.8}
  .film figcaption::before{display:none}
  .h2 .h2-second{font-size:.56em}
  .hero{padding-top:108px}
  .final .ctas .btn{width:100%}
}
@media (max-width:420px){
  .h1{letter-spacing:-.03em;font-size:clamp(1.9rem,8.7vw,2.2rem)}
  .eyebrow{letter-spacing:.16em;gap:10px}
  .ey-t::before{width:22px}
  .hero .eyebrow{font-size:11px;letter-spacing:.07em;gap:8px}
  .btn{padding:0 22px}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .js .rv{opacity:1;filter:none;transform:none;transition:none}
  .track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
  .track .set[aria-hidden]{display:none}
  .set{flex-wrap:wrap;justify-content:center;gap:34px 56px;padding:0 var(--gut)}
  .marquee{-webkit-mask-image:none;mask-image:none}
  .rot-slow,.rot-rev,.case-orbit g,.m-glyph .sp,.corona,.beacon-ping,.ripple,.probe,.land-flash,.gap-col.lit::before,.shift-bridge .beam::after,.chain-beam::after,.stops::after{animation:none}
  .beacon-ping,.land-flash{opacity:0}
  .probe{transform:none;opacity:1}
  .btn,.link .arr,.btn .arr{transition:none}
}
