/* =========================================================
   Constellation — Platform
   ========================================================= */
:root{
  --bg:#000; --bg1:#060608; --panel:#0c0c0f; --panel2:#121216;
  --line:rgba(255,255,255,.085); --line2:rgba(255,255,255,.16); --line3:rgba(255,255,255,.28);
  --fg:#f3f1ee; --fg2:#bdb9b4; --mute:#85817c; --dim:#55524f;
  --o1:#ffd6b3; --o2:#ffa66b; --o3:#ff7a2e; --o:#ff8f45;
  --grad:linear-gradient(92deg,#ffd9b8 0%,#ffae78 42%,#ff7a2e 100%);
  --green:#4fdc8b; --amber:#f5b942; --red:#ff5b4f; --blue:#7fb5ff;
  --paper:#e7e5e0; --paper2:#dcd9d3; --ink:#0e0e10; --ink2:#55524e; --inkline:rgba(14,14,16,.14);
  --display:"Inter Tight","Inter",system-ui,-apple-system,sans-serif;
  --body:"Inter",system-ui,-apple-system,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --pad:clamp(16px,3.4vw,52px);
  --ease:cubic-bezier(.2,.7,.1,1);
  --ease2:cubic-bezier(.7,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
html.is-loading body{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p{margin:0;font-weight:inherit}
ul,ol{list-style:none;margin:0;padding:0}
::selection{background:var(--o);color:#000}

.g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.mono{font-family:var(--mono)}
.lbl{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;line-height:1.35}
.lbl.o,.o{color:var(--o)}
.dim{color:var(--mute)}
.mute{color:var(--dim)}
.c{text-align:center}
.mark{width:22px;height:22px;flex:none}

.live{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(79,220,139,.6);animation:live 2s infinite;vertical-align:1px}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(79,220,139,.55)}70%{box-shadow:0 0 0 7px rgba(79,220,139,0)}100%{box-shadow:0 0 0 0 rgba(79,220,139,0)}}

.btn{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 18px;font-family:var(--body);font-size:14px;font-weight:500;border-radius:4px;transition:background .25s,color .25s,border-color .25s}
.btn-line{border:1px solid var(--line3);color:var(--fg)}
.btn-line:hover{background:var(--fg);color:#000;border-color:var(--fg)}
.lockup{display:flex;align-items:center;font-size:17px}
.logo-full,.mark-i{display:inline-block;flex:none;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.logo-full{--m:url(../img/logos/constellation.png);height:1.5em;aspect-ratio:1756/288}
.mark-i{--m:url(../img/logos/mark.png);aspect-ratio:300/288}

.sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;z-index:200;background:#000;display:flex;flex-direction:column;justify-content:space-between;padding:22px var(--pad);clip-path:inset(0% 0% 0% 0%)}
.ld-top,.ld-bot{display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--mute)}
.ld-mid{flex:1;display:flex;align-items:center;justify-content:center}
.ld-mark-wrap{position:relative;width:clamp(110px,11vw,150px);aspect-ratio:1;filter:drop-shadow(0 0 26px rgba(255,143,69,.18))}
.ld-mark{position:absolute;inset:0;margin:auto;width:62%;height:auto;aspect-ratio:300/288;-webkit-mask:url(../img/logos/mark.png) center/contain no-repeat;mask:url(../img/logos/mark.png) center/contain no-repeat;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.95) 50%,transparent 58%) 100% 0/300% 100% no-repeat,linear-gradient(92deg,#e9e5e0,#cdc8c2);opacity:0;animation:fadeIn .4s .15s forwards,shimmer 2.2s .4s ease-in-out infinite}
@keyframes fadeIn{to{opacity:1}}
@keyframes ldspin{to{transform:rotate(360deg)}}
.ld-log{font-size:clamp(11px,1.05vw,14px);line-height:2;color:var(--fg2)}
.ld-line{opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s var(--ease)}
.ld-line.on{opacity:1;transform:none}
.ld-line.o{color:var(--o)}
.ld-bar{flex:1;height:1px;background:var(--line2);position:relative;overflow:hidden}
.ld-bar i{position:absolute;inset:0;background:var(--grad);transform-origin:left;transform:scaleX(0)}
.ld-pct{min-width:60px;text-align:right;color:var(--fg)}
.ld-pct b{font-weight:400}

/* ---------- header ---------- */
.hdr{position:fixed;z-index:100;top:10px;left:10px;right:10px;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 18px;border-radius:6px;background:rgba(14,14,17,.55);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);transition:background .4s,color .4s,border-color .4s,transform .6s var(--ease)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.03em}
.brand .logo-full{height:23px}
.hdr-r{display:flex;align-items:center;gap:8px}
.hdr-link{font-size:14px;color:var(--fg2);padding:0 12px;transition:color .2s}
.hdr-link:hover{color:var(--fg)}
.hdr-cta{height:38px;white-space:nowrap}
.hdr-cta .sm{display:none}
@media (max-width:760px){.hdr-cta .lg{display:none}.hdr-cta .sm{display:inline}}
.ibtn{width:38px;height:38px;border:1px solid var(--line3);border-radius:4px;display:grid;place-items:center;transition:background .25s,border-color .25s}
.ibtn:hover{background:rgba(255,255,255,.08)}
.menu-btn{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.menu-btn span{width:15px;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
.menu-open .menu-btn span:first-child{transform:translateY(3.25px) rotate(45deg)}
.menu-open .menu-btn span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.hdr.is-light{background:rgba(231,229,224,.72);color:var(--ink);border-color:var(--inkline)}
.hdr.is-light .hdr-link{color:var(--ink2)}
.hdr.is-light .btn-line,.hdr.is-light .ibtn{border-color:rgba(14,14,16,.3);color:var(--ink)}
.hdr.is-light .btn-line:hover{background:var(--ink);color:var(--paper)}
.menu-open .hdr{background:rgba(14,14,17,.0);border-color:transparent;color:var(--fg)}
.menu-open .hdr .btn-line,.menu-open .hdr .ibtn{border-color:var(--line3);color:var(--fg)}

/* ---------- menu ---------- */
.menu{position:fixed;inset:0;z-index:90;background:#09090b;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease2);visibility:hidden}
.menu-open .menu{clip-path:inset(0 0 0 0);visibility:visible}
.menu-in{height:100%;display:grid;grid-template-columns:1.3fr 1fr;gap:var(--pad);padding:110px var(--pad) 40px;overflow:auto}
.menu-nav{margin-top:22px}
.menu-nav li{overflow:hidden}
.menu-nav a{display:block;font-family:var(--display);font-size:clamp(30px,4vw,56px);line-height:1.12;letter-spacing:-.03em;color:var(--fg);transform:translateY(105%);transition:transform .8s var(--ease),color .2s}
.menu-nav .sub a{font-size:clamp(20px,2.2vw,30px);color:var(--mute);padding-left:4px}
.menu-nav a:hover{color:var(--o)}
.menu-open .menu-nav a{transform:none}
.menu-nav li:nth-child(n) a{transition-delay:calc(var(--i,0) * 35ms + .15s)}
.news{display:block;margin-top:22px;border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:border-color .3s}
.news:hover{border-color:var(--line3)}
.news img{width:100%;aspect-ratio:16/6;object-fit:cover}
.news .lbl{display:block;padding:16px 18px 0}
.news-t{display:block;padding:8px 18px 18px;font-family:var(--display);font-size:22px;line-height:1.2;letter-spacing:-.02em}
.menu-meta{margin-top:28px;display:grid;gap:6px;color:var(--fg2)}
.menu-meta .lbl{margin-top:12px}

/* ---------- hero ---------- */
.hero{height:280vh;position:relative;background:#000}
#globe{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 80% at 50% 120%,rgba(0,0,0,0) 40%,rgba(0,0,0,.25) 100%),linear-gradient(to bottom,rgba(0,0,0,.35),rgba(0,0,0,0) 22%)}
.hud{position:absolute;top:84px;left:var(--pad);display:flex;gap:22px;color:var(--fg2)}
.hud b{font-weight:400;color:var(--fg)}
.hero-a{position:absolute;left:var(--pad);bottom:clamp(18px,3vh,40px);will-change:transform,opacity}
.hero-a .lockup{margin-bottom:clamp(6px,1.6vh,18px);margin-left:.4vw;font-size:clamp(14px,1.3vw,19px)}
.giant{font-family:var(--display);font-weight:400;font-size:clamp(84px,18.5vw,340px);line-height:.8;letter-spacing:-.055em;padding-bottom:.08em;margin-left:-.04em}
.giant .g{display:inline-block;padding-right:.06em}
.giant .kr{margin-right:.045em}
.split .ch{display:inline-block;will-change:transform}
.meta{position:absolute;right:var(--pad);bottom:clamp(22px,3.4vh,44px);display:grid;gap:18px;width:220px;color:var(--fg2)}
.meta div{display:flex;flex-direction:column;border-left:1px solid var(--line3);padding-left:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;line-height:1.55}
.meta div span:first-child{color:var(--fg)}
.hero-b{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:96px var(--pad) 0;text-align:center;pointer-events:none}
.hero-b > *{opacity:0}
.hb-row{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--fg2);margin-top:clamp(12px,3vh,40px)}
.hb-row > :first-child{justify-self:start}
.hb-row > :last-child{justify-self:end}
.hb-link{pointer-events:auto;border:1px solid var(--line3);padding:10px 14px;border-radius:3px;color:var(--fg);transition:background .25s,color .25s}
.hb-link:hover{background:var(--fg);color:#000}
.hb-h{font-family:var(--display);font-size:clamp(46px,8.2vw,138px);line-height:.9;letter-spacing:-.05em;margin-top:clamp(56px,12vh,130px);font-weight:400}
.hb-l{margin-top:clamp(18px,3.5vh,36px)}
.hb-sub{margin-top:clamp(18px,3vh,30px);max-width:560px;font-size:clamp(16px,1.35vw,20px);color:var(--fg2);line-height:1.45}
.scroll-cue{margin-top:clamp(16px,3vh,30px);color:var(--mute);display:flex;align-items:center;gap:10px}
.scroll-cue i{width:1px;height:28px;background:linear-gradient(var(--fg),transparent);animation:cue 2s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- era ---------- */
.era{height:420vh;position:relative;background:#000}
.era .sticky{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;padding:0 var(--pad)}
.era-rail{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px}
.era-tick{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--dim);padding-left:16px;position:relative;transition:color .5s}
.era-tick::before{content:"";position:absolute;left:0;top:50%;width:8px;height:1px;background:currentColor;transition:width .5s var(--ease)}
.era-tick.on{color:var(--fg)}
.era-tick.on::before{width:12px;background:var(--o)}
.era-txt{position:relative;z-index:4;height:300px;margin-left:clamp(48px,7vw,110px)}
.et{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0;filter:blur(14px);transition:opacity .9s var(--ease),filter .9s var(--ease),transform .9s var(--ease)}
.et.on{opacity:1;filter:blur(0)}
.et.out{transform:translateY(calc(-50% - 30px))}
.et-s{font-family:var(--display);font-size:clamp(20px,2.3vw,34px);color:var(--fg2);letter-spacing:-.02em;margin-bottom:6px}
.et-l{font-family:var(--display);font-size:clamp(48px,6.6vw,112px);line-height:.95;letter-spacing:-.05em;max-width:7.2em;text-wrap:balance}
.era-vis{position:relative;aspect-ratio:1;width:min(88vh,100%);justify-self:center}
.era-vis .pl{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(.9);transition:opacity 1.2s var(--ease),transform 1.6s var(--ease),filter 1.2s var(--ease);filter:blur(10px);-webkit-mask-image:radial-gradient(closest-side,#000 82%,transparent 100%);mask-image:radial-gradient(closest-side,#000 82%,transparent 100%)}
.era-vis .pl.on{opacity:1;transform:scale(1);filter:blur(0)}
.era-vis .pl-earth.small{transform:scale(.86)}
.orbits{position:absolute;inset:-6%;width:112%;height:112%;fill:none;stroke:rgba(255,255,255,.09);stroke-width:1;z-index:2;pointer-events:none;opacity:.0;transition:opacity 1.2s}
.era.st-0 .orbits,.era.st-2 .orbits,.era.st-3 .orbits{opacity:1}
.ob{animation:obr 60s linear infinite;transform-origin:0 0}
.ob2{animation-duration:84s;animation-direction:reverse}
.ob3{animation-duration:110s}
.ob4{stroke-dasharray:2 6}
@keyframes obr{to{transform:rotate(360deg)}}
.pl-cap{position:absolute;left:50%;bottom:-2%;transform:translateX(-50%);height:40px;width:100%;z-index:3}
.cap-i{position:absolute;inset:0;display:flex;justify-content:center;gap:16px;opacity:0;transition:opacity .6s}
.cap-i.on{opacity:1}
.cap-i .lbl:last-child{color:var(--fg2)}

/* ---------- complexity ---------- */
.cx{height:300vh;position:relative;background:#000}
.cx .sticky{display:flex;flex-direction:column;padding:104px var(--pad) 28px}
.cx-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.cx-cap{font-size:clamp(15px,1.2vw,18px);color:var(--fg2)}
.cx-num{font-family:var(--display);font-weight:300;font-size:clamp(60px,9vw,150px);line-height:.9;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:10px;transition:color .4s}
.cx-num.proj{color:var(--o)}
.cx-h{font-family:var(--display);font-size:clamp(28px,3.4vw,54px);line-height:1.02;letter-spacing:-.035em;max-width:13ch;text-align:right}
.cx-chart{flex:1;min-height:0;margin-top:24px;position:relative}
#cxSvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#cxSvg .gl{stroke:var(--line);stroke-width:1}
#cxSvg .ax{font-family:var(--mono);font-size:11px;fill:var(--dim);letter-spacing:.06em}
#cxSvg .solid{fill:none;stroke:url(#cxGrad);stroke-width:2.5;stroke-linecap:round}
#cxSvg .proj{fill:none;stroke:var(--o);stroke-width:2.5;stroke-dasharray:7 7;stroke-linecap:round}
#cxSvg .area{fill:url(#cxArea)}
#cxSvg .pt circle{fill:#fff;stroke:#000;stroke-width:3}
#cxSvg .pt text{font-family:var(--mono);font-size:12px;fill:var(--fg2);letter-spacing:.04em}
#cxSvg .pt{opacity:0;transition:opacity .4s}
#cxSvg .pt.on{opacity:1}
#cxSvg .today line{stroke:var(--o);stroke-width:1;stroke-dasharray:3 4}
#cxSvg .today text{fill:var(--o);font-family:var(--mono);font-size:11px;letter-spacing:.12em}
#cxSvg .today{opacity:0;transition:opacity .4s}
#cxSvg .today.on{opacity:1}
#cxSvg .head{fill:var(--o);filter:drop-shadow(0 0 8px var(--o))}
.src{font-size:10px;color:var(--dim);margin-top:10px;letter-spacing:.04em}

/* ---------- pains ---------- */
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pain{background:#000;padding:36px var(--pad) 48px;display:flex;flex-direction:column}
.pain h3{font-family:var(--display);font-size:clamp(24px,2.3vw,34px);letter-spacing:-.03em;margin:8px 0 10px}
.pain > p:last-child{color:var(--fg2);max-width:38ch}
.pain-vis{height:180px;margin-bottom:28px;border:1px solid var(--line);border-radius:8px;background:var(--bg1);position:relative;overflow:hidden}
.pv-link svg{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px)}
.pv-link .snr-band{fill:rgba(127,181,255,.12)}
.pv-link .snr-l{fill:none;stroke:var(--blue);stroke-width:1.6}
.pv-link .drops rect{fill:rgba(255,91,79,.18)}
.sched{position:absolute;inset:12px;display:grid;grid-template-columns:repeat(16,1fr);grid-template-rows:repeat(9,1fr);gap:4px}
.sched i{border-radius:2px;background:rgba(255,255,255,.04);transition:background .5s}
.sched i.b{background:rgba(255,255,255,.16)}
.sched i.r{background:rgba(255,91,79,.75);box-shadow:0 0 10px rgba(255,91,79,.4)}
.sched i.y{background:rgba(245,185,66,.8)}
.pv-frag .fw{position:absolute;border:1px solid var(--line2);border-radius:6px;background:#0d0d10;padding:22px 10px 10px;box-shadow:0 10px 30px rgba(0,0,0,.6);animation:jit 6s ease-in-out infinite}
.pv-frag .fw > i{position:absolute;top:8px;left:9px;width:28px;height:6px;background:radial-gradient(circle,#ff5f57 2.5px,transparent 3px) 0 0/10px 6px repeat-x;opacity:.8}
.fw1{left:6%;top:10%;width:48%;height:56%}
.fw1 svg{width:100%;height:100%}
.fw1 polyline{fill:none;stroke:var(--blue);stroke-width:1.3}
.fw1 polyline.b{stroke:var(--amber)}
.fw2{left:34%;top:32%;width:56%;height:58%;display:flex;flex-direction:column;gap:3px;font-size:9.5px;color:#8fd19e;animation-delay:-2s}
.fw2 .r{color:var(--red)}
.fw3{right:4%;top:6%;width:30%;height:44%;display:flex;flex-direction:column;gap:5px;animation-delay:-4s}
.fw3 b{height:7px;border-radius:2px;background:rgba(255,255,255,.12)}
.fw3 b.r{background:rgba(255,91,79,.55)}
@keyframes jit{0%,100%{transform:translate(0,0)}50%{transform:translate(4px,-3px)}}

/* ---------- mission ---------- */
.mission{position:relative;padding:clamp(120px,20vh,220px) var(--pad) 0;background:#000;overflow:hidden}
.mission-t{font-family:var(--display);font-size:clamp(30px,4.3vw,70px);line-height:1.06;letter-spacing:-.035em;max-width:22ch;margin-top:22px}
.mission-t .w{opacity:.14;transition:opacity .25s}
.mission-t .w.on{opacity:1}
.mission-t em{font-style:normal}
.intro{margin-top:clamp(80px,14vh,160px);text-align:center;position:relative;z-index:2}
.intro .lbl{color:var(--fg2)}
.intro-h{font-family:var(--display);font-size:clamp(34px,5vw,84px);line-height:1;letter-spacing:-.045em;margin:16px auto 0;max-width:16ch}
.mission-horizon{position:relative;margin:clamp(-20px,-2vw,0px) calc(var(--pad) * -1) 0;height:clamp(220px,34vw,520px);overflow:hidden}
.mission-horizon img{position:absolute;left:50%;top:0;width:max(1200px,110vw);transform:translateX(-50%);-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}

/* ---------- explore ---------- */
.explore{height:620vh;position:relative;background:#000}
.explore .sticky{display:flex;flex-direction:column;padding:90px var(--pad) 22px}
.ex-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.ex-title h2{font-family:var(--display);font-size:clamp(30px,3.6vw,58px);line-height:1.02;letter-spacing:-.035em}
.ex-title .mute{color:var(--dim)}
.tabs{display:flex;gap:8px}
.tab{width:clamp(118px,10.4vw,176px);height:68px;border:1px solid var(--line2);border-radius:4px;padding:10px 12px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;position:relative;overflow:hidden;transition:border-color .3s,background .3s}
.tab .tl{font-size:14px;font-weight:500;color:var(--mute);transition:color .3s,opacity .3s;white-space:nowrap}
.tab .tn{font-family:var(--display);font-size:22px;color:var(--dim);letter-spacing:-.02em;line-height:1;transition:color .3s}
.tab .tp{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--grad);transform-origin:left;transform:scaleX(0)}
.tab.on{border-color:var(--line3);background:rgba(255,255,255,.03)}
.tab.on .tl{color:var(--fg)}
.tab.on .tn{color:var(--fg)}
.tab:hover{border-color:var(--line3)}
.ex-frame{flex:1;min-height:0;margin-top:22px;border:1px solid var(--line2);border-radius:8px;background:linear-gradient(180deg,#0b0b0e,#060608);position:relative;display:flex;flex-direction:column;padding:26px 12px 12px}
.ex-lbl{color:var(--fg2);padding:2px 4px 10px}
.ex-stage{flex:1;min-height:0;position:relative}
.app-scale{position:absolute;left:50%;top:50%;width:1280px;height:720px;transform-origin:center;transform:translate(-50%,-50%) scale(.5)}
.ex-notes{display:none}

/* ---- app mock: the Platform as it ships (night theme tokens from its design guide) ---- */
.ico-sprite{position:absolute;width:0;height:0;overflow:hidden}
.app{--a-bg:#141417;--a-card:#1b1b1f;--a-s2:#222227;--a-l1:rgba(255,255,255,.085);--a-l2:rgba(255,255,255,.16);--a-l3:rgba(255,255,255,.28);--a-tx:#f3f1ee;--a-mu:#bdb9b4;--a-fa:#a39e98;--a-di:#55524f;--a-hl:rgba(236,196,128,.07);
  position:absolute;inset:0;background:var(--a-bg);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;font-family:var(--body);color:var(--a-tx);font-size:13.5px;line-height:1.35}
.app .ic{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.app .ic.sm{width:12px;height:12px}
.app .m{color:var(--a-fa);font-weight:400}
.app u{text-decoration:underline;text-decoration-color:var(--a-l3);text-underline-offset:3px}
.app-top{height:50px;display:flex;align-items:center;gap:14px;padding:0 16px;border-bottom:1px solid var(--a-l1)}
.app-brand{display:flex;align-items:center;gap:8px;color:var(--a-tx)}
.app-brand b{font-weight:500;font-size:16px;letter-spacing:-.01em}
.app-brand .ic{color:var(--a-fa);margin-left:-2px}
.app-mark{width:19px;height:19px;background:var(--a-tx);-webkit-mask:url(../img/logos/mark.png) center/contain no-repeat;mask:url(../img/logos/mark.png) center/contain no-repeat}
.app-nav{display:flex;gap:30px;margin-left:34px;height:100%}
.app-nav span{display:flex;align-items:center;gap:7px;color:var(--a-mu);font-size:14px;position:relative;transition:color .3s}
.app-nav span.on{color:var(--a-tx)}
.app-nav span.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--a-tx);border-radius:2px}
.app .bdg{font-style:normal;font-size:11px;line-height:17px;min-width:17px;text-align:center;border-radius:5px;background:var(--a-s2);color:var(--a-tx)}
.app-search{margin-left:auto;width:214px;height:32px;border:1px solid var(--a-l2);border-radius:8px;color:var(--a-fa);display:flex;align-items:center;gap:8px;padding:0 6px 0 10px;font-size:13px}
.app-search span{flex:1}
.app-search kbd{font-family:var(--body);font-size:10.5px;border:1px solid var(--a-l2);border-radius:5px;padding:1px 5px;color:var(--a-fa)}
.app-bell{width:32px;height:32px;border:1px solid var(--a-l2);border-radius:8px;display:grid;place-items:center;position:relative;color:var(--a-mu)}
.app-bell em{position:absolute;top:-6px;right:-6px;font:500 10px/16px var(--body);font-style:normal;min-width:16px;border-radius:8px;background:#4a4a52;color:var(--a-tx);text-align:center}
.app-av{width:28px;height:28px;border-radius:50%;background:var(--a-tx);color:#000;display:grid;place-items:center;font-size:12.5px;font-weight:600}

.app .view{position:absolute;top:50px;left:0;right:0;bottom:0;padding:12px;display:grid;grid-template-columns:288px minmax(0,1fr) 340px;gap:12px;opacity:0;visibility:hidden;transform:scale(.985);transition:opacity .55s var(--ease),transform .55s var(--ease),visibility .55s}
.app .view.on{opacity:1;visibility:visible;transform:none}

/* panes */
.app .pn{background:var(--a-card);border:1px solid var(--a-l1);border-radius:12px;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;position:relative}
.app .pn-h{flex:none;height:50px;display:flex;align-items:center;gap:12px;padding:0 14px 0 16px;border-bottom:1px solid var(--a-l1)}
.app .pn-h.tall{height:58px}
.app .pn-h h4{font-size:14.5px;font-weight:600;letter-spacing:-.005em;white-space:nowrap}
.app .pn-h h4.ell{min-width:0;overflow:hidden;text-overflow:ellipsis}
.app .pn-h .m{font-size:13px;white-space:nowrap}
.app .pn-h.tall .m{margin-top:2px}
.app .push{margin-left:auto}
.app .ib{width:30px;height:30px;flex:none;border:1px solid var(--a-l2);border-radius:8px;display:grid;place-items:center;color:var(--a-mu)}
.app .ib.x{border:0;width:22px}
.app .pn-b{flex:1;min-height:0;padding:14px 16px;display:flex;flex-direction:column;overflow:hidden}
.app .pn-b.fade{-webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent)}
.app .pn-f{flex:none;margin-top:auto;padding:12px 16px;border-top:1px solid var(--a-l1);display:flex;gap:8px}
.app .pn-f.row{flex-wrap:wrap}
.app .pn-meta{flex:none;margin-top:auto;padding:9px 16px 10px;border-top:1px solid var(--a-l1);font-size:12px;color:var(--a-fa)}
.app .pn-seg{padding:12px 14px 6px;display:flex}
.app .pn-seg.col{flex-direction:column;gap:8px}
.app .sg{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--a-l1);border-radius:999px;flex:none}
.app .sg.wide{display:flex}
.app .sg b{font-weight:400;font-size:13px;color:var(--a-mu);padding:4px 11px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid transparent}
.app .sg.wide b{flex:none}
.app .sg b em{font-style:normal;color:var(--a-fa)}
.app .sg b.on{background:rgba(255,255,255,.1);border-color:var(--a-l1);color:var(--a-tx)}
.app .sg.sel-g{border-color:var(--a-l2)}
.app .sg.sel-g b{color:var(--a-tx);padding:4px 10px}
.app .sg.sel-g b + b{border-left:1px solid var(--a-l1);border-radius:0 999px 999px 0}
.app .sg.sel-g .ic{color:var(--a-fa)}
.app .bt{height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--a-l2);display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;color:var(--a-tx);white-space:nowrap;transition:background .3s,border-color .3s,color .3s,box-shadow .3s;flex:none}
.app .bt.sm{height:28px;padding:0 10px}
.app .bt.w{background:var(--a-tx);color:#000;border-color:var(--a-tx)}
.app .bt.g{background:#5c5c60;border-color:#5c5c60;color:var(--a-tx)}
.app .bt.full{display:flex;width:100%}
.app .lv{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--a-mu)}
.app .lv i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(79,220,139,.15);animation:livePulse 2s ease-in-out infinite}
@keyframes livePulse{50%{box-shadow:0 0 0 5px rgba(79,220,139,.04)}}

/* status glyphs: fine, needs a look, quiet */
.app .gl{flex:none;display:inline-block;width:8px;height:8px;border-radius:50%}
.app .gl.ok{background:var(--green)}
.app .gl.q{border:1.5px solid var(--a-fa)}
.app .gl.warn{width:0;height:0;border-radius:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid var(--amber)}
.app .gl.dot-w{background:var(--amber)}

/* lists */
.app .ls{flex:none}
.app .ls li{display:flex;gap:10px;align-items:flex-start;padding:9px 14px 9px 16px;border-bottom:1px solid var(--a-l1);position:relative;transition:background .4s}
.app .ls li .gl{margin-top:5px}
.app .ls li .gl.warn{margin-top:4px}
.app .ls li > div{flex:1;min-width:0}
.app .ls li p{display:flex;justify-content:space-between;gap:10px;white-space:nowrap}
.app .ls li p b{font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis}
.app .ls li p b .m{font-weight:400;margin-left:4px}
.app .ls li p > span{font-size:13.5px}
.app .ls li p.m{display:block;font-size:13px;margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.app .ls li.sel{background:var(--a-hl)}
.app .ls li.sel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--o)}
.app .ls li.sel.o p b{color:var(--o)}
.app .ls-r li{padding-left:14px}
.app .ls-note{font-size:13px;color:var(--a-fa);padding:12px 16px 4px}
.app .ls-note.top{padding:12px 16px 8px;border-bottom:1px solid var(--a-l1)}

/* map */
.app .fl-b{gap:0}
.app .mp{flex:1;min-height:150px;position:relative;border:1px solid var(--a-l1);border-radius:10px;background:var(--a-bg);overflow:hidden}
.app .mp svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.app .mp .eq{stroke:var(--a-l1);stroke-width:1}
.app .mp .trk{fill:none;stroke:var(--a-l3);stroke-width:1.25}
.app .mp .trk.on{stroke:var(--o);stroke-width:2}
.app .mp .stn{fill:var(--a-tx);stroke:var(--a-bg);stroke-width:1.2}
.app .mp .rain{fill:none;stroke:var(--blue);stroke-width:1.6;opacity:.85}
.app .mp .sat{fill:var(--a-tx)}
.app .mp .sat-l{fill:var(--a-tx);font:500 6px var(--body)}
.app .mp .stn-l{fill:var(--o);font:500 6px var(--body);opacity:0;transition:opacity .4s}
.app .mp .stn-ring{fill:none;stroke:var(--o);stroke-width:1.2;opacity:0;transition:opacity .4s}
.app .key{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12.5px;color:var(--a-mu);margin-top:10px}
.app .key li{display:flex;align-items:center;gap:7px}
.app .key i{flex:none;display:inline-block}
.app .k-st{width:8px;height:8px;border-radius:50%;background:var(--a-tx)}
.app .k-now{width:6px;height:6px;border-radius:50%;background:var(--a-tx)}
.app .k-trk{width:16px;height:1.5px;background:var(--a-l3)}
.app .k-pass{width:16px;height:3px;border-radius:2px;background:var(--a-fa)}
.app .k-rain{width:9px;height:9px;border-radius:50%;border:1.6px solid var(--blue)}
.app .k-tk{width:3px;height:11px;border-radius:1px;background:rgba(255,143,69,.6)}
.app .k-tk.r{background:var(--amber)}
.app .k-rec{width:7px;height:7px;background:var(--o);transform:rotate(45deg)}
.app .k-now-l{width:0;height:12px;border-left:1.5px dashed var(--o)}
.app .sub-h{display:flex;align-items:center;gap:10px;margin:14px 0 6px;font-size:14px}
.app .sub-h b{font-weight:600}
.app .sub-h .m{font-size:13px}
.app .sub-h .sg{margin-left:auto}

/* timeline */
.app .tml{position:relative;flex:none;font-size:13px}
.app .tml-ax{position:relative;height:18px;margin-left:var(--tml-n,124px);font-size:12px;color:var(--a-fa)}
.app .tml-ax span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.app .tml-ax span.d{transform:none}
.app .tml-r{display:flex;align-items:center;height:21px;border-bottom:1px solid var(--a-l1)}
.app .tml-r:last-child{border-bottom:0}
.app .tml-n{flex:none;width:var(--tml-n,124px);color:var(--a-tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app .tml-n.sub{color:var(--a-fa);padding-left:12px}
.app .tml-t{position:relative;flex:1;height:100%}
.app .tml-t i{position:absolute;top:5px;width:3px;height:11px;margin-left:-1.5px;border-radius:1px;background:rgba(255,143,69,.58);transition:opacity .5s,transform .5s var(--ease)}
.app .tml-t i.r{background:var(--amber)}
.app .tml-t i.l{background:var(--o)}
.app .tml-t b{position:absolute;top:-2px;width:7px;height:7px;margin-left:-3.5px;background:var(--o);transform:rotate(45deg);transition:opacity .5s,background .5s}
.app .tml-g{position:absolute;top:18px;bottom:0;left:var(--tml-n,124px);right:0;pointer-events:none}
.app .tml-g span{position:absolute;top:0;bottom:0;border-left:1px solid var(--a-l1)}
.app .tml-g .now{border-left:1.5px dashed var(--o);opacity:.9}
.app .tml-bar{display:flex;justify-content:flex-end;margin:14px 0 6px}
.app .tml-lg .tml-r{height:24px}

/* KPI cards */
.app .kps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;flex:none}
.app .kp{border:1px solid var(--a-l1);border-radius:10px;padding:11px 14px 12px;min-height:118px}
.app .kl{font-size:13px;color:var(--a-mu)}
.app .kn{font-family:var(--display);font-weight:400;font-size:34px;letter-spacing:-.02em;line-height:1.1;margin:8px 0 5px;font-variant-numeric:tabular-nums}
.app .kn.o{color:var(--o)}
.app .ks{font-size:12.5px;color:var(--a-fa);line-height:1.4}
.app .ks u.w{color:var(--a-tx);text-decoration-color:var(--a-l3)}
.app .ks.d{color:var(--a-mu)}

/* detail panes */
.app .dt{gap:0}
.app .dt .lead{font-size:14px;line-height:1.45;color:var(--a-tx)}
.app .dt .lead.big{font-size:15px;line-height:1.4;padding:6px 8px;margin:4px -8px 0;border-radius:8px}
.app .dt .eyebrow{font-size:13.5px;font-weight:500;color:var(--a-mu)}
.app .dt hr{border:0;border-top:1px solid var(--a-l1);margin:14px 0 0}
.app .sec-h{font-size:14px;font-weight:600;margin:16px 0 8px;display:flex;gap:8px;align-items:baseline}
.app .sec-h .m{font-size:13px}
.app .kv{display:grid;grid-template-columns:136px 1fr;gap:7px 10px;font-size:13px}
.app .kv dt{color:var(--a-fa)}
.app .kv dd{margin:0;color:var(--a-tx);display:flex;flex-direction:column;align-items:flex-start}
.app .kv dd.st{flex-direction:row;align-items:center;gap:7px}
.app .kv dd small{font-size:12px;color:var(--a-fa)}
.app .kv.when{margin-top:10px;grid-template-columns:44px 1fr}
.app .box{border:1px solid var(--a-l1);border-radius:10px;padding:12px 14px;margin-bottom:10px}
.app .box-h{font-size:14px;font-weight:500;margin-bottom:6px}
.app .kv-h{font-size:12.5px;color:var(--a-fa);margin:8px 0 6px}
.app .swap .sw{position:absolute;inset:0;display:flex;flex-direction:column;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.app .swap .sw-b{opacity:0;transform:translateX(12px);visibility:hidden}

/* passes: the recommendation and its send flow */
.app .rec-st{display:flex;align-items:center;gap:10px;font-size:13.5px;margin-bottom:10px}
.app .rec-st > span{display:inline-flex;align-items:center;gap:7px}
.app .st-p{color:var(--amber)}
.app .st-f{color:var(--green);display:none!important}
.app .rec-st b{font-weight:500}
.app .act{margin-top:14px;position:relative}
.app .act-btns{display:flex;gap:8px}
.app .act-cf{display:none;border:1px solid var(--a-l2);border-radius:10px;padding:11px 12px;font-size:13px;color:var(--a-mu)}
.app .act-cf p{margin-bottom:10px;line-height:1.45}
.app .act-cf b{color:var(--a-tx);font-weight:500}
.app .act-ok{display:none;border:1px solid rgba(79,220,139,.45);background:rgba(79,220,139,.1);border-radius:10px;padding:11px 12px;font-size:13.5px;color:var(--a-tx)}
.app .v-passes .send{animation:sendPulse 1.5s ease-in-out infinite}
@keyframes sendPulse{50%{box-shadow:0 0 0 5px rgba(255,255,255,.08)}}
.app .v-passes.st-press .send{background:var(--o);border-color:var(--o);color:#000;animation:none}
.app .v-passes.st-confirm .act > .act-btns{display:none}
.app .v-passes.st-confirm .act-cf{display:block}
.app .v-passes.st-cfpress .cf{background:var(--o);border-color:var(--o)}
.app .v-passes.st-sent .act > .act-btns,.app .v-passes.st-sent .act-cf{display:none}
.app .v-passes.st-sent .act-ok{display:block;animation:logIn .45s var(--ease)}
.app .v-passes.st-sent .st-p{display:none}
.app .v-passes.st-sent .st-f{display:inline-flex!important}
.app .v-passes .rec-k2{transition:opacity .5s}
.app .v-passes.st-sent .rec-k2{opacity:0}
.app .rng{margin-top:2px}
.app .rng-b{position:relative;height:22px;border-radius:6px;background:rgba(255,255,255,.04);margin:0 4px}
.app .rng-b i{position:absolute;top:0;bottom:0;border-radius:6px;background:rgba(255,143,69,.16);border:1px dashed rgba(255,143,69,.45)}
.app .rng-b b{position:absolute;top:-5px;bottom:-5px;width:2px;background:var(--o);border-radius:1px}
.app .rng-ax{display:flex;justify-content:space-between;font-size:12px;color:var(--a-fa);margin-top:6px}
.app .xv{font-family:var(--display);font-size:20px;margin-top:8px;display:flex;flex-direction:column}
.app .xv small{font-family:var(--body);font-size:12px;color:var(--a-fa)}
.app .why{width:100%;border-collapse:collapse;font-size:13px}
.app .why th{text-align:left;font-weight:400;color:var(--a-fa);padding:0 0 6px}
.app .why th:last-child,.app .why td:last-child{text-align:right}
.app .why td{padding:7px 0;border-top:1px solid var(--a-l1);vertical-align:top}
.app .why td small{display:block;font-size:12px;color:var(--a-fa)}

/* forecasts */
.app .v-fc .ks.d{transition:opacity .6s}
.app .v-fc .lost li{transition:opacity .5s,transform .5s var(--ease)}

/* automations: the recipe */
.app .rc{align-items:center;justify-content:flex-start;padding-top:22px;gap:0}
.app .rc-s{width:min(100%,360px);border:1px solid var(--a-l1);border-radius:10px;padding:11px 14px;display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:var(--a-mu);background:var(--a-card);position:relative;transition:border-color .35s,box-shadow .35s,background .35s}
.app .rc-s b{color:var(--a-tx);font-weight:500}
.app .rc-s + .rc-s{margin-top:22px}
.app .rc-s + .rc-s::before{content:"";position:absolute;left:50%;top:-23px;height:22px;border-left:1px solid var(--a-l2)}
.app .rc-s.lit{border-color:var(--o);box-shadow:0 0 0 3px rgba(255,143,69,.12),0 0 28px rgba(255,143,69,.12);background:#1f1b18}
.app .rc-s.done{border-color:rgba(255,143,69,.35)}
.app .bt.run{align-self:flex-start;margin-top:14px}
.app .bt.run.press{background:var(--o);border-color:var(--o);color:#000}
.app .runs{display:flex;flex-direction:column;gap:10px;font-size:13px}
.app .runs li{display:grid;grid-template-columns:82px 10px 1fr;gap:8px;align-items:start;color:var(--a-mu)}
.app .runs li > span:first-child{color:var(--a-fa)}
.app .runs li .gl{margin-top:4px}
.app .runs li.new{animation:logIn .5s var(--ease)}

/* integrations: the flow */
.app .grp{padding:4px 0 0}
.app .grp-h{font-size:12.5px;color:var(--a-fa);padding:12px 16px 4px}
.app .grp .ls li{border-bottom:0;padding-top:7px;padding-bottom:7px}
.app .flw{position:relative;flex:none;width:720px;max-width:100%;height:210px;margin:6px auto 0}
.app .flw-l{position:absolute;inset:0;width:100%;height:100%}
.app .flw-l .fl{fill:none;stroke:var(--a-l2);stroke-width:1.2}
.app .flw-l .pulse{fill:var(--o)}
.app .flw-h{position:absolute;top:0;font-size:12.5px;color:var(--a-fa)}
.app .fn{position:absolute;width:200px;border:1px solid var(--a-l1);border-radius:10px;padding:9px 12px;background:var(--a-card);display:flex;flex-direction:column;gap:2px}
.app .fn b{font-weight:500;font-size:13.5px;display:flex;align-items:center;gap:8px}
.app .fn span{font-size:12.5px;color:var(--a-fa)}
.app .fn.core{width:150px;align-items:center;text-align:center;border-color:var(--a-l2)}
.app .fn.core span{color:var(--a-mu)}
.app .fn.on{border-color:var(--a-tx)}
.app .tlog{display:flex;flex-direction:column;font-size:13px;flex:1;min-height:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.app .tlog li{display:grid;grid-template-columns:52px 1fr auto;gap:12px;padding:7px 0;border-bottom:1px solid var(--a-l1);color:var(--a-tx)}
.app .tlog li span:first-child,.app .tlog li span:last-child{color:var(--a-fa)}
.app .tlog li.new{animation:logIn .45s var(--ease)}
.app .sm-l{font-size:12.5px;margin-bottom:6px}
.app .bt.sel1{align-self:flex-start}
.app .bt.sel1 .ic{color:var(--a-fa)}
.app .okline{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--a-mu);margin-top:8px}
.app .okline .ic{color:var(--green)}
.app .para{font-size:13px;line-height:1.5}

/* the selected station on the Fleet view, once its callout is up */
.app .v-fleet.s-b .r-aw{background:var(--a-hl)}
.app .v-fleet.s-b .r-aw::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--o)}
.app .v-fleet.s-b .mp .stn-l,.app .v-fleet.s-b .mp .stn-ring{opacity:1}
.app .v-fleet.s-b .swap .sw-a{opacity:0;transform:translateX(-12px);visibility:hidden}
.app .v-fleet.s-b .swap .sw-b{opacity:1;transform:none;visibility:visible}
@keyframes logIn{from{opacity:0;transform:translateY(6px)}}

/* callouts */
.co{position:absolute;z-index:5;display:flex;align-items:flex-start;gap:10px;opacity:0;transform:translateY(10px) scale(.98);transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none}
.co.on{opacity:1;transform:none}
.co b{flex:none;width:32px;height:32px;border-radius:50%;background:#ece9e4;color:#111;display:grid;place-items:center;font-family:var(--mono);font-weight:500;font-size:13px;box-shadow:0 0 0 7px rgba(236,233,228,.14),0 8px 24px rgba(0,0,0,.5)}
.co span{max-width:270px;background:rgba(14,14,17,.94);border:1px solid var(--line3);padding:11px 13px;border-radius:7px;font-size:13.5px;line-height:1.42;color:#f1eee9;box-shadow:0 18px 40px rgba(0,0,0,.55)}
.co.l{flex-direction:row-reverse}
.co span{max-width:250px}
.co-side{align-items:center}
.co-side span{background:rgba(236,233,228,.96);color:#111;border-color:transparent;font-weight:500;white-space:nowrap}

/* ---------- optimize automate execute ---------- */
.oae{padding:clamp(80px,14vh,160px) 0;background:#000;overflow:hidden}
.oae-w{display:flex;gap:.4em;white-space:nowrap;font-family:var(--display);font-size:clamp(64px,13vw,230px);line-height:.98;letter-spacing:-.055em;will-change:transform}
.oae-w .ghost{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14)}
.oae .w1{transform:translateX(4vw)}
.oae .w2{transform:translateX(-30vw)}
.oae .w3{transform:translateX(-58vw)}

/* ---------- capabilities (light) ---------- */
.light{background:var(--paper);color:var(--ink);padding:40px 0 60px}
.cap{padding:clamp(80px,12vh,130px) var(--pad) clamp(40px,6vh,70px);min-height:100vh;display:flex;flex-direction:column}
.cap + .cap{border-top:1px solid var(--inkline)}
.cap-prog{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink2);max-width:640px}
.cap-prog .on{color:var(--ink)}
.cap-prog i{width:22px;height:1px;background:rgba(14,14,16,.3)}
.cap-prog i.long{flex:1;min-width:80px}
.cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--pad);margin-top:clamp(28px,5vh,52px)}
.cap h2{font-family:var(--display);font-size:clamp(38px,4.7vw,76px);line-height:1;letter-spacing:-.045em;max-width:12ch}
.cap-r p{font-size:clamp(17px,1.45vw,22px);line-height:1.42;color:#2b2a28;max-width:34ch}
.seg{display:inline-flex;margin-top:24px;border:1px solid rgba(14,14,16,.25);border-radius:99px;padding:3px}
.seg button{font-family:var(--body);font-size:14px;font-weight:500;padding:8px 18px;border-radius:99px;color:var(--ink2);transition:background .3s,color .3s}
.seg button.on{background:var(--ink);color:var(--paper)}
.cap-media{margin-top:clamp(28px,5vh,56px);margin-left:calc(50% + var(--pad) / 2);position:relative;min-height:460px}
.pane{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease),visibility .5s}
.pane.on{position:relative;opacity:1;visibility:visible;transform:none}
.specs{border-top:1px solid var(--inkline)}
.specs div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--inkline)}
.specs dt{font-size:17px;font-weight:500;color:var(--ink)}
.specs dd{margin:0;font-size:17px;line-height:1.45}

/* 0.1 flow cards */
.flow-cards{position:relative;height:460px;perspective:1500px;border-radius:12px;background:#09090b;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.25)}
.fc{position:absolute;left:50%;top:50%;width:250px;height:340px;margin:-170px 0 0 -125px;border-radius:12px;background:#111114;border:1px solid rgba(255,255,255,.08);padding:12px;color:#f1eee9;transition:transform .9s var(--ease),opacity .9s var(--ease),border-color .5s;cursor:pointer;transform-style:preserve-3d}
.fc.c{border-color:rgba(255,143,69,.65);box-shadow:0 0 0 1px rgba(255,143,69,.15),0 30px 60px rgba(0,0,0,.6)}
.fc-v{height:226px;border-radius:8px;overflow:hidden;position:relative;background:#060608}
.fc-v canvas,.fc-v svg{width:100%;height:100%;display:block}
.fc-t{position:absolute;left:10px;bottom:8px;font-size:9.5px;letter-spacing:.04em}
.fc-t.r{color:#ff7a6f}.fc-t.b{color:#9cc7ff}.fc-t.o{color:var(--o)}
.fc h4{font-family:var(--display);font-size:22px;letter-spacing:-.02em;margin-top:14px}
.fc p{font-size:12.5px;color:#8b8782}
.fc-snr .band{fill:rgba(127,181,255,.15)}
.fc-snr .ln{fill:none;stroke:#9cc7ff;stroke-width:2}
.fc-snr .grid line{stroke:rgba(255,255,255,.05)}
.fc-ssa .pl{fill:#1a1a1f;stroke:rgba(255,255,255,.2)}
.fc-ssa .o1{fill:none;stroke:rgba(255,91,79,.7);stroke-width:1.3}
.fc-ssa .o2{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1}
.fc-ssa .s1{fill:#ff7a6f}

/* 0.2 ready */
.rb{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rb-c{background:#0c0c0f;color:#f1eee9;border-radius:12px;padding:12px 12px 18px;box-shadow:0 24px 60px rgba(0,0,0,.18)}
.rb-v{height:230px;border-radius:8px;background:#060608;position:relative;overflow:hidden}
.rb-c h4{font-family:var(--display);font-size:22px;letter-spacing:-.02em;margin-top:14px}
.rb-c p{font-size:13px;color:#8b8782}
.rb-map{background:#060608 url(../img/earth-night.jpg) center/cover;filter:saturate(.2)}
.rb-map::before{content:"";position:absolute;inset:0;background:rgba(10,10,12,.55)}
.rb-map i{position:absolute;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--o);box-shadow:0 0 10px var(--o);animation:tw 2.4s ease-in-out infinite}
@keyframes tw{50%{opacity:.25;transform:scale(.6)}}
.rb-day{display:grid;place-items:center}
.rb-day svg{position:absolute;width:150px;height:150px;left:50%;top:50%;margin:-75px;transform:rotate(-90deg)}
.rb-day .trk{fill:none;stroke:rgba(255,255,255,.08);stroke-width:2}
.rb-day .arc{fill:none;stroke:var(--o);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s var(--ease)}
.rb-day .day{position:relative;text-align:center;line-height:1}
.rb-day .day span{font-size:10px;letter-spacing:.2em;color:#8b8782}
.rb-day .day b{display:block;font-family:var(--display);font-weight:300;font-size:64px;letter-spacing:-.04em;margin-top:4px}
.rb-ft svg{position:absolute;inset:18px 12px 30px;width:calc(100% - 24px);height:calc(100% - 48px)}
.rb-ft .base{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1.5;stroke-dasharray:4 4}
.rb-ft .tuned{fill:none;stroke:var(--o);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.2s var(--ease) .3s}
.rb-ft .end{fill:var(--o);opacity:0;transition:opacity .4s 2.2s}
.rb-ft .tl{font-family:var(--mono);font-size:9px;fill:#77736e}
.rb-ft .tl.o{fill:var(--o)}
.rb-ax{position:absolute;left:12px;bottom:8px;font-size:9px;letter-spacing:.12em}
.rb.go .arc,.rb.go .tuned{stroke-dashoffset:0}
.rb.go .end{opacity:1}

/* 0.3 simulation */
.sim{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;background:#09090b;color:#f1eee9;border-radius:12px;padding:18px;box-shadow:0 30px 70px rgba(0,0,0,.25)}
#simCv{width:100%;aspect-ratio:1;display:block}
.sim-r{display:flex;flex-direction:column;justify-content:center;padding-right:8px}
.sim-r > .mono{font-size:10.5px;letter-spacing:.12em}
.sim-n{font-family:var(--display);font-weight:300;font-size:clamp(56px,6vw,96px);letter-spacing:-.04em;line-height:1;margin:8px 0 6px;font-variant-numeric:tabular-nums}
.sim-steps{margin:24px 0 26px;font-size:12px;display:grid;gap:10px;color:#5f5c58}
.sim-steps li{display:flex;gap:12px;transition:color .3s}
.sim-steps li span{color:inherit;opacity:.7}
.sim-steps li.on{color:#f1eee9}
.sim-steps li.on span{color:var(--o);opacity:1}
#simR{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:linear-gradient(90deg,var(--o) var(--v,0%),rgba(255,255,255,.15) var(--v,0%));outline:none;cursor:pointer}
#simR::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--o);box-shadow:0 0 12px rgba(255,143,69,.6)}
#simR::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--o)}
.sim-ax{display:flex;justify-content:space-between;font-size:9.5px;margin-top:10px}

/* 0.4 integrations */
.shot{margin:0;border-radius:10px;overflow:hidden;background:#0b0b0e;box-shadow:0 30px 70px rgba(0,0,0,.28)}
.shot-bar{height:34px;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.07)}
.shot-bar i{width:9px;height:9px;border-radius:50%;background:#2a2a2f}
.shot-bar span{margin-left:10px;font-size:13px;color:#a29e99}
.shot img{width:100%}
.integ{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.integ li{font-size:14px;padding:8px 14px;border:1px solid rgba(14,14,16,.2);border-radius:99px;color:var(--ink)}

/* 0.4 mission-control showcase */
.cap-media.wide{margin-left:0}
.mcs-deck{position:relative;aspect-ratio:1600/846;margin-top:6.5%}
.mcs-win{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#0b0b0e;box-shadow:0 40px 90px rgba(0,0,0,.26),0 0 0 1px rgba(14,14,16,.08);transform-origin:50% 0;transition:transform .9s var(--ease),filter .9s var(--ease);cursor:pointer}
.mcs-win video{display:block;width:100%;flex:1;min-height:0;object-fit:cover;object-position:top;background:#0b0b0e}
.mcs-win[data-pos="0"]{z-index:3;transform:none;cursor:default}
.mcs-win[data-pos="1"]{z-index:2;transform:translateY(-5.5%) scale(.93);filter:brightness(.62)}
.mcs-win[data-pos="2"]{z-index:1;transform:translateY(-10.5%) scale(.86);filter:brightness(.42)}
.mcs-win:not([data-pos="0"]):hover{filter:brightness(.85)}
.mcs-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}
.mcs-tab{position:relative;text-align:left;padding:14px 16px 16px;border:1px solid rgba(14,14,16,.18);border-radius:8px;overflow:hidden;transition:border-color .3s,background .3s}
.mcs-tab:hover{border-color:rgba(14,14,16,.4)}
.mcs-tab .mt-n{display:block;font-family:var(--display);font-size:clamp(17px,1.5vw,22px);letter-spacing:-.02em;color:var(--ink2);transition:color .3s}
.mcs-tab .mt-d{display:block;font-size:14px;color:var(--ink2);margin-top:3px;opacity:.85}
.mcs-tab.on{border-color:rgba(14,14,16,.5);background:rgba(255,255,255,.4)}
.mcs-tab.on .mt-n{color:var(--ink)}
.mcs-tab .mt-p{position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--grad);transform-origin:left;transform:scaleX(0)}
.mcs-tab.on .mt-p{transform:scaleX(var(--p,0))}
.mcs-also{margin-top:30px;color:var(--ink2);font-size:15px}
.mcs .integ{margin-top:10px}

/* ---------- impact ---------- */
.impact{padding:clamp(110px,18vh,190px) var(--pad);background:#000}
.imp-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;margin-top:40px;border-top:1px solid var(--line)}
.imp{padding:40px 30px 10px 0}
.imp + .imp{padding-left:30px;border-left:1px solid var(--line)}
.imp-pre{font-size:18px;color:var(--fg2)}
.imp-n{font-family:var(--display);font-weight:400;font-size:clamp(72px,9vw,150px);line-height:1;letter-spacing:-.05em;margin:12px 0 14px;font-variant-numeric:tabular-nums;display:inline-block;padding-right:.05em}
.imp-w{font-size:clamp(52px,6vw,104px);margin:26px 0 30px}
.imp-post{font-size:18px;color:var(--fg2);line-height:1.35}
.imp-2{display:flex;gap:clamp(20px,4vw,60px)}

/* ---------- missions ---------- */
.missions{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:var(--pad);padding:clamp(60px,10vh,120px) var(--pad) clamp(120px,18vh,200px);background:#000;border-top:1px solid var(--line)}
.ms-l{position:sticky;top:110px;align-self:start}
.ms-l h2{font-family:var(--display);font-size:clamp(34px,3.6vw,58px);line-height:1.02;letter-spacing:-.04em;max-width:14ch;margin-bottom:30px}
.ms-list li{display:block;padding:22px 0 20px;border-top:1px solid var(--line);cursor:default}
.ms-list li:last-child{border-bottom:1px solid var(--line)}
.ms-list .lbl{color:var(--dim);transition:color .4s}
.ms-n{font-family:var(--display);font-size:clamp(28px,3.4vw,56px);line-height:1.04;letter-spacing:-.035em;text-transform:uppercase;color:#2a2826;transition:color .5s}
.ms-d{font-size:15px;color:var(--mute);max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .5s,margin .5s;margin-top:0}
.ms-list li.on .ms-n{color:var(--fg)}
.ms-list li.on .lbl{color:var(--o)}
.ms-list li.on .ms-d{max-height:40px;opacity:1;margin-top:8px}
.ms-list li:hover .ms-n{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- operators ---------- */
.ops{padding:clamp(110px,18vh,200px) var(--pad) clamp(80px,12vh,140px);background:#000;border-top:1px solid var(--line)}
.ops-h{font-family:var(--display);font-size:clamp(52px,8vw,138px);line-height:.94;letter-spacing:-.055em;text-align:center}
.ops-sub{text-align:center;font-size:clamp(16px,1.3vw,19px);color:var(--fg2)}
.ops > .ops-sub{margin-top:44px}
.investors .ops-sub{margin-bottom:6px}
.alumni{display:flex;justify-content:center;align-items:center;gap:clamp(30px,6vw,90px);margin-top:20px;color:var(--fg2)}
.alumni img{width:auto;opacity:.88}
.al-sx{height:clamp(20px,2.2vw,30px)}
.al-na{height:clamp(24px,2.6vw,36px)}
.al-bo{height:clamp(17px,1.8vw,25px)}
.fde{display:grid;grid-template-columns:1fr 1fr;gap:var(--pad);align-items:center;margin:clamp(100px,16vh,180px) auto 0;max-width:1240px}
.fde h3{font-family:var(--display);font-size:clamp(28px,3vw,46px);line-height:1.06;letter-spacing:-.035em}
.fde h3.mute{color:var(--fg);margin-top:18px}
.fde h3.mute{color:#6f6b67}
.fde-l p{margin-top:26px;color:var(--fg2);font-size:17px;max-width:44ch}
.ck{border:1px solid var(--line2);border-radius:12px;background:#0b0b0e;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.ck-h{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 16px;font-size:15px;font-weight:500}
.ck-h .mono{font-size:10px;letter-spacing:.12em}
.ck li{display:flex;align-items:center;gap:14px;padding:16px 14px;margin-top:8px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#0f0f12;font-size:15px;color:var(--mute);transition:color .4s,border-color .4s}
.ck li i{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--dim);flex:none;position:relative;transition:border-color .3s,background .3s}
.ck li i::after{content:"";position:absolute;left:6px;top:2.5px;width:4px;height:9px;border:solid #000;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .3s var(--ease)}
.ck li em{margin-left:auto;font-style:normal;font-size:11px;color:var(--green);opacity:0;transition:opacity .3s}
.ck li.run i{border-color:var(--o);border-top-color:transparent;animation:spin .8s linear infinite}
.ck li.done{color:var(--fg);border-color:rgba(79,220,139,.18)}
.ck li.done i{border-color:var(--green);background:var(--green)}
.ck li.done i::after{transform:rotate(45deg) scale(1)}
.ck li.done em{opacity:1}
@keyframes spin{to{transform:rotate(360deg)}}
.investors{margin-top:clamp(100px,16vh,170px)}
.marquee{margin-top:30px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mq-track{display:flex;align-items:center;gap:clamp(48px,6vw,96px);width:max-content;animation:mq 40s linear infinite}
.mq-track img{height:28px;width:auto;opacity:.8}
.mq-track .lg-yc{height:30px}
.mq-track .lg-nvidia{height:30px}
.mq-track .lg-samsung-next{height:34px}
.mq-track .lg-standard{height:30px}
.mq-track .lg-gladebrook{height:34px}
.mq-track .lg-fellowsfund{height:38px}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- CTA ---------- */
.cta{position:relative;padding:clamp(120px,20vh,220px) var(--pad) 0;background:#000;text-align:center;overflow:hidden;border-top:1px solid var(--line)}
.cta-h{font-family:var(--display);font-size:clamp(46px,6.8vw,116px);line-height:.98;letter-spacing:-.05em;min-height:2em}
.cta-mark-wrap{position:relative;width:132px;height:132px;margin:clamp(30px,5vh,56px) auto 0;filter:drop-shadow(0 0 22px rgba(255,143,69,.35))}
.cta-mark{position:absolute;inset:0;margin:auto;width:92px;height:auto;aspect-ratio:300/288;-webkit-mask:url(../img/logos/mark.png) center/contain no-repeat;mask:url(../img/logos/mark.png) center/contain no-repeat;background:linear-gradient(105deg,transparent 42%,rgba(255,250,244,.85) 50%,transparent 58%) 100% 0/300% 100% no-repeat,var(--grad);animation:shimmer 4.8s 1s ease-in-out infinite}
/* flat brand mark with a light sweep: the highlight crosses in the first part of each cycle, then rests */
@keyframes shimmer{0%{background-position:100% 0,0 0}42%,100%{background-position:0 0,0 0}}
@media (prefers-reduced-motion:reduce){.cta-mark,.ld-mark{animation:fadeIn .01s forwards}}
.cta-cards{display:grid;grid-template-columns:repeat(2,minmax(0,440px));justify-content:center;gap:20px;margin-top:clamp(40px,6vh,70px);position:relative;z-index:2;text-align:left}
.ccard{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:10px;padding:22px;background:rgba(10,10,12,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .35s,transform .5s var(--ease),background .35s}
.ccard:hover{border-color:rgba(255,143,69,.6);transform:translateY(-4px);background:rgba(18,14,11,.8)}
.cc-top{display:flex;justify-content:space-between;align-items:center}
.cc-top h3{font-family:var(--display);font-size:clamp(22px,1.9vw,28px);letter-spacing:-.025em}
.circ{width:38px;height:38px;border-radius:50%;border:1px solid var(--line3);display:grid;place-items:center;font-size:16px;transition:background .3s,color .3s,border-color .3s}
.ccard:hover .circ{background:var(--o);color:#000;border-color:var(--o)}
.cc-art{height:150px;margin:22px 0;position:relative}
.layers i{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px;border:1px solid rgba(255,143,69,.5);background:linear-gradient(135deg,rgba(255,143,69,.18),rgba(255,143,69,.02));transform:rotateX(60deg) rotateZ(45deg);transition:transform .7s var(--ease)}
.layers i:nth-child(1){transform:translateY(-36px) rotateX(60deg) rotateZ(45deg)}
.layers i:nth-child(2){transform:translateY(-12px) rotateX(60deg) rotateZ(45deg);border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.03)}
.layers i:nth-child(3){transform:translateY(12px) rotateX(60deg) rotateZ(45deg);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.02)}
.layers i:nth-child(4){transform:translateY(36px) rotateX(60deg) rotateZ(45deg);border-color:rgba(255,255,255,.12);background:transparent}
.ccard:hover .layers i:nth-child(1){transform:translateY(-52px) rotateX(60deg) rotateZ(45deg)}
.ccard:hover .layers i:nth-child(4){transform:translateY(52px) rotateX(60deg) rotateZ(45deg)}
.screen{display:grid;place-items:center;perspective:600px}
.scr-in{width:190px;height:120px;border:1px solid var(--line3);border-radius:8px;background:#0e0e11;transform:rotateY(-18deg) rotateX(8deg);padding:12px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:8px;box-shadow:20px 20px 40px rgba(0,0,0,.6);transition:transform .7s var(--ease)}
.ccard:hover .scr-in{transform:rotateY(0) rotateX(0)}
.scr-in i{height:6px;border-radius:2px;background:rgba(255,255,255,.14)}
.scr-in i:nth-child(2){width:60%;background:var(--o)}
.scr-in i:nth-child(3){grid-column:1 / -1;height:auto;background:linear-gradient(180deg,rgba(255,143,69,.25),rgba(255,143,69,0));border-top:1.5px solid var(--o);border-radius:0;clip-path:polygon(0 70%,20% 50%,40% 60%,60% 25%,80% 35%,100% 0,100% 100%,0 100%)}
.scr-in b{display:none}
.ccard p{color:var(--fg2);font-size:15px;line-height:1.5}
.cta-horizon{position:relative;margin:clamp(-60px,-4vw,-20px) calc(var(--pad) * -1) 0;height:clamp(200px,30vw,480px);overflow:hidden;pointer-events:none}
.cta-horizon img{position:absolute;left:50%;top:0;width:max(1200px,104vw);transform:translateX(-50%)}

/* ---------- footer ---------- */
.ftr{background:#000;padding:clamp(60px,10vh,100px) var(--pad) 26px;border-top:1px solid var(--line);overflow:hidden}
.ftr-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:30px}
.ftr-brand{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.ftr-tag{font-family:var(--display);font-size:24px;letter-spacing:-.02em;color:var(--fg2);margin-top:6px}
.ftr-mail{font-size:15px;border-bottom:1px solid var(--line3);padding-bottom:2px}
.fh{font-size:14px;font-weight:500;color:var(--fg)}
.ftr-addr{font-size:15px;color:var(--mute)}
.ftr-status{display:inline-flex;align-items:center;gap:8px;color:var(--fg2);transition:color .2s}
.ftr-status:hover{color:var(--fg)}
.ftr-grid ul{margin-top:16px;display:grid;gap:9px}
.ftr-grid ul a{color:var(--fg2);font-size:15px;transition:color .2s}
.ftr-grid ul a:hover{color:var(--o)}
.ftr-giant{font-family:var(--display);font-weight:700;font-size:12.1vw;letter-spacing:-.045em;line-height:.8;margin:clamp(60px,10vh,120px) 0 0 -.03em;background:linear-gradient(180deg,#1d1c1b 10%,#000 95%);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap;user-select:none}
.ftr-bot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--mute)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .ex-head{flex-direction:column;align-items:stretch;gap:16px}
  .tab{flex:1;width:auto}
  .cap-media{margin-left:0}
  .imp-grid{grid-template-columns:1fr 1fr}
  .imp:nth-child(3){grid-column:1 / -1;border-left:0;padding-left:0;border-top:1px solid var(--line)}
  .ftr-grid{grid-template-columns:1fr 1fr 1fr}
  .ftr-brand{grid-column:1 / -1}
}
@media (max-width:760px){
  .hdr{height:52px;padding:0 6px 0 14px}
  .hdr-link,.hdr .ibtn:not(.menu-btn){display:none}
  .hdr-cta{height:36px;padding:0 12px;font-size:13px}
  .menu-in{grid-template-columns:1fr;padding-top:90px}
  .hud{top:76px;gap:14px;flex-wrap:wrap}
  .hud .lbl:last-child{display:none}
  .meta{display:none}
  .giant{font-size:clamp(76px,25vw,200px)}
  .hb-row{grid-template-columns:1fr auto}
  .hb-row > :nth-child(2){display:none}
  .hb-h{margin-top:clamp(30px,8vh,70px)}
  .era .sticky{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:center;padding-top:80px}
  .era-rail{display:none}
  .era-txt{margin:0;height:150px;order:2}
  .et{top:0;transform:none}
  .et.out{transform:translateY(-20px)}
  .et-l{font-size:clamp(40px,12vw,70px);white-space:normal}
  .era-vis{width:min(86vw,52vh);order:1}
  .cx .sticky{padding-top:84px}
  .cx-chart{flex:0 0 auto;height:min(52vh,420px);margin-top:28px}
  .cx-top{flex-direction:column;align-items:flex-start;gap:14px}
  .cx-h{text-align:left;font-size:clamp(26px,7vw,40px)}
  .pains{grid-template-columns:1fr}
  .mission-t{font-size:clamp(28px,8vw,44px)}
  .explore{height:560vh}
  .explore .sticky{padding-top:76px}
  .ex-head{flex-direction:column;align-items:stretch;gap:14px}
  .ex-title h2{font-size:clamp(26px,7.5vw,36px)}
  .tabs{gap:6px}
  .tab{flex:1 1 0;min-width:0;width:auto;height:58px;padding:9px 10px;transition:flex-grow .45s var(--ease),border-color .3s,background .3s}
  .tab.on{flex-grow:2.7}
  .tab:not(.on) .tl{opacity:0}
  .tab .tn{font-size:18px}
  .ex-frame{flex:0 0 auto;height:min(56vw,44vh);padding:8px}
  .ex-lbl{display:none}
  .co{display:none}
  .ex-notes{display:grid;gap:10px;margin-top:16px;counter-reset:n}
  .ex-notes li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--fg2);line-height:1.4;animation:logIn .5s var(--ease)}
  .ex-notes li b{flex:none;width:24px;height:24px;border-radius:50%;background:#ece9e4;color:#111;display:grid;place-items:center;font:500 11px var(--mono)}
  .oae-w{font-size:clamp(56px,19vw,120px)}
  .cap{min-height:0}
  .cap-grid{grid-template-columns:1fr;gap:18px}
  .cap-media{min-height:0}
  .flow-cards{height:380px}
  .fc{transform-origin:center}
  .rb{grid-template-columns:1fr}
  .rb-v{height:180px}
  .sim{grid-template-columns:1fr}
  .specs div{grid-template-columns:1fr;gap:6px}
  .imp-grid{grid-template-columns:1fr}
  .imp,.imp + .imp{padding:30px 0 10px;border-left:0}
  .imp + .imp{border-top:1px solid var(--line)}
  .imp:nth-child(3){grid-column:auto}
  .missions{grid-template-columns:1fr}
  .ms-l{position:relative;top:0}
  .ms-list li{grid-template-columns:40px 1fr}
  .alumni{gap:22px;flex-wrap:wrap}
  .fde{grid-template-columns:1fr}
  .cta-cards{grid-template-columns:1fr}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .ftr-bot{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

@media (max-width:760px){
  .mcs-tab{padding:10px 10px 12px}
  .mcs-tab .mt-d{display:none}
  .mcs-win .shot-bar span{display:none}
}

/* ---- audit pass ---- */
.cap{min-height:0;padding:clamp(80px,12vh,130px) var(--pad);display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);column-gap:clamp(40px,5vw,96px);align-items:center}
.cap-grid{grid-template-columns:1fr;gap:0;margin-top:0}
.cap-r{margin-top:24px}
.cap-media{margin:0;min-height:0}
.cap.cap-wide{display:block}
.cap.cap-wide .cap-grid{grid-template-columns:1fr 1fr;gap:var(--pad)}
.cap.cap-wide .cap-r{margin-top:0}
.cap.cap-wide .cap-media{margin-top:clamp(28px,5vh,56px)}
@media (max-width:1100px){
  .cap{display:block}
  .cap-grid{grid-template-columns:1fr 1fr;gap:var(--pad)}
  .cap-r{margin-top:0}
  .cap-media{margin-top:clamp(28px,5vh,56px)}
  .ftr-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ftr-brand{grid-column:1 / -1}
}
@media (max-width:760px){
  .cap-grid,.cap.cap-wide .cap-grid{grid-template-columns:1fr;gap:0}
  .cap-r,.cap.cap-wide .cap-r{margin-top:18px}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .era .sticky{grid-template-rows:auto auto;row-gap:clamp(14px,3.5vh,34px)}
  .era-txt{height:clamp(110px,15vh,150px)}
  .cta-h{font-size:clamp(30px,8.6vw,46px)}
  .alumni{gap:18px;flex-wrap:nowrap}
  .al-sx{height:15px}
  .al-na{height:19px}
  .al-bo{height:12px}
}

@media (min-width:761px) and (max-width:1100px){
  .mcs{max-width:680px;margin-left:auto;margin-right:auto}
}

.integ li.more{padding:0;border-style:dashed;border-color:rgba(14,14,16,.35);transition:border-color .25s,background .25s}
.integ li.more a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;color:var(--ink2);transition:color .25s}
.integ li.more a span{transition:transform .3s var(--ease)}
.integ li.more:hover{border-style:solid;border-color:var(--ink);background:var(--ink)}
.integ li.more:hover a{color:var(--paper)}
.integ li.more:hover a span{transform:translateX(3px)}

/* four mission-control windows */
.mcs-deck{margin-top:8.5%}
.mcs-win[data-pos="3"]{z-index:0;transform:translateY(-15%) scale(.79);filter:brightness(.3)}
.mcs-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.mcs-tab .mt-n{font-size:clamp(15px,1.25vw,19px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:760px){
  .mcs-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mcs-tab .mt-n{font-size:15px}
}
.mcs-tab{display:flex;flex-direction:column;justify-content:flex-start}
.mcs-tab .mt-d{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcs-tab .mt-d{font-size:clamp(12px,1vw,14px)}
@media (max-width:1100px){.mcs-tab{padding:12px 12px 14px}}

/* ---------- discovery-call form ---------- */
.btn-solid{background:var(--fg);color:#000;border:1px solid var(--fg)}
.btn-solid:hover{background:var(--o);border-color:var(--o);color:#000}
html.bk-open{overflow:hidden}
.bk{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#050506;color:var(--fg);overflow:hidden}
.bk[open]{display:block;animation:bkIn .55s var(--ease)}
.bk::backdrop{background:rgba(0,0,0,.7)}
.bk [hidden]{display:none!important}
@keyframes bkIn{from{opacity:0;transform:translateY(18px)}}
.bk-in{position:relative;height:100%;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}
.bk-top{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:16px var(--pad);border-bottom:1px solid var(--line);background:rgba(5,5,6,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.bk-top .logo-full{height:22px}
.bk-x{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.bk-x span{width:15px;height:1.5px;background:currentColor}
.bk-x span:first-child{transform:translateY(3.25px) rotate(45deg)}
.bk-x span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.bk-body{position:relative;z-index:2;width:100%;max-width:820px;margin:0 auto;padding:clamp(36px,7vh,84px) var(--pad) clamp(40px,8vh,90px);flex:1}
.bk-title{font-family:var(--display);font-weight:400;font-size:clamp(40px,5.2vw,76px);line-height:.98;letter-spacing:-.045em}
.bk-sub{margin-top:16px;font-size:clamp(17px,1.4vw,21px);line-height:1.45;color:var(--fg2);max-width:44ch}
.bk-prog{display:flex;align-items:center;gap:16px;margin-top:clamp(34px,6vh,56px)}
.bk-step{font-size:15px;color:var(--mute);white-space:nowrap;font-variant-numeric:tabular-nums}
.bk-bar{flex:1;height:2px;border-radius:2px;background:var(--line2);position:relative;overflow:hidden}
.bk-bar i{position:absolute;inset:0;background:var(--grad);transform-origin:left;transform:scaleX(.25);transition:transform .6s var(--ease)}
.bk-form{margin-top:clamp(26px,4.5vh,44px)}
.bk-pane{display:none}
.bk-pane.on{display:block;animation:bkStep .5s var(--ease)}
@keyframes bkStep{from{opacity:0;transform:translateX(calc(var(--dir,1) * 26px))}}
.bk-q{display:block;font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,38px);line-height:1.12;letter-spacing:-.03em}
.bk-hint{margin-top:8px;font-size:16px;color:var(--mute)}
.bk-input{display:block;width:100%;margin-top:26px;padding:10px 0 14px;border:0;border-bottom:1px solid var(--line3);border-radius:0;background:transparent;color:var(--fg);font-family:var(--display);font-size:clamp(26px,3.2vw,44px);letter-spacing:-.025em;outline:none;transition:border-color .3s}
.bk-input::placeholder{color:#3d3b39}
.bk-input:focus{border-bottom-color:var(--o)}
.bk-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}
.bk-opt{display:flex;align-items:center;gap:14px;min-height:60px;padding:14px 18px;text-align:left;font-size:16px;line-height:1.3;color:var(--fg2);border:1px solid var(--line2);border-radius:8px;background:rgba(255,255,255,.015);transition:border-color .25s,background .25s,color .25s,opacity .25s,transform .25s var(--ease)}
.bk-opt:hover{border-color:var(--line3);color:var(--fg)}
.bk-opt:active{transform:scale(.99)}
.bk-opt:focus-visible{outline:2px solid var(--o);outline-offset:2px}
.bk-opt[aria-pressed="true"]{color:var(--fg);border-color:rgba(255,143,69,.75);background:linear-gradient(90deg,rgba(255,143,69,.14),rgba(255,143,69,.03))}
.bk-opt.dim{opacity:.38}
.bk-ck{position:relative;flex:none;width:20px;height:20px;border-radius:5px;border:1.5px solid var(--line3);transition:background .25s,border-color .25s}
.bk-opts[data-mode="single"] .bk-ck{border-radius:50%}
.bk-opt[aria-pressed="true"] .bk-ck{background:var(--o);border-color:var(--o)}
.bk-opt[aria-pressed="true"] .bk-ck::after{content:"";position:absolute;left:5.5px;top:2px;width:5px;height:10px;border:solid #000;border-width:0 2px 2px 0;transform:rotate(45deg)}
.bk-opts[data-mode="single"] .bk-opt[aria-pressed="true"] .bk-ck::after{left:4.5px;top:4.5px;width:8px;height:8px;border:0;border-radius:50%;background:#000;transform:none}
.bk-err{min-height:24px;margin-top:12px;font-size:15px;color:#ff8a7f}
.bk-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:clamp(22px,4vh,40px);padding-top:22px;border-top:1px solid var(--line)}
.bk-nav .btn,.bk-done-actions .btn{height:48px;padding:0 24px;font-size:15px}
.bk-back:disabled{opacity:.3;pointer-events:none}
.bk-legal{margin-top:24px;font-size:14px;line-height:1.5;color:var(--mute)}
.bk-legal a{color:var(--fg2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line3)}
.bk-legal a:hover{color:var(--fg)}
.bk-done{padding-top:8px}
.bk-okmark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin-bottom:26px;background:radial-gradient(circle at 30% 30%,rgba(255,166,107,.35),rgba(255,122,46,.08));border:1px solid rgba(255,143,69,.5)}
.bk-okmark .mark-i{width:34px;background:var(--grad)}
.bk-done-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.bk-glow{position:absolute;left:0;right:0;bottom:0;height:42vh;z-index:1;overflow:hidden;pointer-events:none;opacity:.5}
.bk-glow img{position:absolute;left:50%;bottom:-38%;width:max(1200px,110vw);transform:translateX(-50%);-webkit-mask-image:linear-gradient(transparent,#000 55%);mask-image:linear-gradient(transparent,#000 55%)}
@media (max-width:760px){
  .bk-top .logo-full{height:19px}
  .bk-opts{grid-template-columns:1fr}
  .bk-opt{min-height:54px}
  .bk-glow{height:26vh;opacity:.35}
  .bk-nav{position:sticky;bottom:0;margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);padding:14px var(--pad);background:rgba(5,5,6,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
}
.bk-glow{position:relative;left:auto;right:auto;bottom:auto;flex:none;height:clamp(110px,20vh,230px);opacity:.6;margin-top:-20px}
.bk-glow img{bottom:auto;top:0;-webkit-mask-image:linear-gradient(transparent,#000 35%);mask-image:linear-gradient(transparent,#000 35%)}
.bk-body{flex:1 0 auto}
@media (max-width:760px){.bk-glow{height:110px;opacity:.45}}
