:root{
  --void:#080f1c;--navy:#0e1a2c;--lift:#142338;--line:#1c2c45;--hot:#2a4062;
  --apex:#3b8ff5;--apex-hi:#6aa9f8;--apex-lo:#2b6fc4;--apex-tx:#7cb2fa;
  --live:#4fcf9c;--next:#e8b64e;--plan:#9aa5b4;--exp:#8fa0ba;
  --ink:#e9f0f9;--ink2:#c2cdda;--ink3:#aab7c8;--ink4:#97a4b6;
  --sans:"Archivo",system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
  --max:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--void);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
svg{display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2,h3{font-weight:700;letter-spacing:-.028em;line-height:1.15}
.accent{color:var(--apex-tx)}
.lead{color:var(--ink2);font-size:18.5px;max-width:68ch}
.lead.big{font-size:21px;color:var(--ink);font-style:italic;border-left:2px solid var(--apex-lo);padding-left:18px}
.fine{font:400 15px/1.7 var(--mono);color:var(--ink4);margin-top:18px}
.eyebrow{font:600 13px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--apex-tx);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--apex-tx);opacity:.6}

.nav{border-bottom:1px solid var(--line);background:rgba(8,15,28,.9);position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}
.nav .wrap{display:flex;align-items:center;gap:30px;height:86px}
.lk{display:flex;align-items:center;gap:11px}
.wm{font-weight:700;letter-spacing:-.03em;font-size:24px}
.wm i{font-style:normal;color:var(--apex);font-weight:600}
.links{display:flex;gap:24px;margin-left:auto;align-items:center}
.links a{font-size:14.5px;color:var(--ink2)}
.links a:hover{color:var(--ink)}
.cta{font:600 14px var(--sans);padding:11px 19px;border-radius:7px;background:var(--apex);color:#04101f;border:none;cursor:pointer;display:inline-block}
.cta:hover{background:var(--apex-hi)}
.cta.ghost{background:transparent;border:1px solid var(--hot);color:var(--ink);font-weight:500}
.cta.ghost:hover{border-color:var(--apex);background:var(--lift)}

.phead{padding:56px 0 34px;border-bottom:1px solid var(--line)}
.phead h1{font-size:clamp(30px,5vw,50px);margin-bottom:16px}
.back{font:500 14px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);display:inline-block;margin-bottom:20px}
.back:hover{color:var(--apex-tx)}
.ptop{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.ptop h1{margin:0}
.statusline{font:500 15px var(--mono);color:var(--ink3);margin-top:12px}

.band{padding:64px 0}
.band.alt{background:var(--navy);border-block:1px solid var(--line)}
.head{max-width:70ch;margin-bottom:36px}
.head h2{font-size:clamp(24px,3.6vw,36px);margin-bottom:14px}
.sub{color:var(--ink2);font-size:15.5px;margin-bottom:20px}

.badge{font:600 12.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:4px}
.b-live{background:rgba(63,185,138,.14);color:var(--live)}
.b-next{background:rgba(217,165,60,.14);color:var(--next)}
.b-planned{background:rgba(125,136,150,.13);color:var(--plan)}
.b-exploring{background:rgba(91,109,135,.16);color:var(--exp)}

.grp{margin-bottom:48px}
.grp h2{font-size:14px;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin-bottom:6px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}
.fcard{background:var(--navy);border:1px solid var(--line);border-radius:11px;padding:20px;transition:.2s;display:block}
.fcard:hover{border-color:var(--apex-lo);transform:translateY(-2px)}
.fcard .tp{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.fcard h3{font-size:19px;margin-right:auto}
.fcard p{font-size:17px;color:var(--ink2);line-height:1.62}
.fcard .cnt{font:500 13.5px var(--mono);color:var(--ink4);margin-top:12px;letter-spacing:.05em}
.fcard.s-live{border-color:rgba(63,185,138,.4)}

.split{display:grid;grid-template-columns:1.35fr 1fr;gap:44px;align-items:start}
.conds{display:flex;flex-direction:column;gap:2px}
.cond{background:var(--navy);border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.cond h3{font-size:17.5px;margin-bottom:6px}
.cond p{font-size:17px;color:var(--ink2);margin-bottom:11px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font:600 12.5px var(--mono);letter-spacing:.09em;text-transform:uppercase;padding:4px 9px;border-radius:4px;border:1px solid var(--line);color:var(--ink3);cursor:help}
.p-measurement{color:#3fa8a0;border-color:rgba(63,168,160,.34)}
.p-event{color:#d9a53c;border-color:rgba(217,165,60,.34)}
.p-model{color:#9a8fc4;border-color:rgba(154,143,196,.34)}
.p-computed{color:#6aa9f8;border-color:rgba(106,169,248,.42);background:rgba(59,143,245,.08)}
.s-station{color:#8fa8c4}.s-areal{color:#c08a5a}.s-planetary{color:#a87ec4}
.t-instrument{color:#c2cdda}.t-analysis{color:#c2cdda}
.t-self-reported{color:#d9853c;border-color:rgba(217,133,60,.44)}

.aside>div{background:var(--navy);border:1px solid var(--line);border-radius:11px;padding:20px;margin-bottom:12px}
.aside h3{font:600 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin-bottom:12px}
.aside p{font-size:17px;color:var(--ink2);line-height:1.66}
.legend .lg{display:flex;gap:11px;align-items:flex-start;margin-bottom:11px}
.legend .lg p{font-size:14px}
.legend .chip{flex:0 0 auto;margin-top:2px}
.cmp{border-left:2px solid var(--apex-lo)!important}
.sources ul{list-style:none;margin-top:10px}
.sources li{padding:5px 0;font-size:17px}
.sources a{color:var(--apex-tx)}
.sources.pending{border-left:2px solid var(--next)!important}
.caveat{border-left:2px solid var(--hot)!important}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.stat{background:var(--navy);padding:24px 20px}
.stat .v{font-size:34px;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--apex-tx)}
.stat .k{font:600 13px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink2);margin-top:11px}
.stat .s{font-size:15px;color:var(--ink4);margin-top:5px}

.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tier{background:var(--void);border:1px solid var(--line);border-radius:12px;padding:26px 22px;display:flex;flex-direction:column}
.tier h3{font-size:21px;margin-bottom:8px}
.tier .price{font-size:29px;font-weight:700;letter-spacing:-.03em;margin:8px 0 4px}
.tier .who{font-size:14.5px;color:var(--ink2);margin-bottom:16px}
.tier ul{list-style:none;margin-bottom:20px}
.tier li{font-size:17px;color:var(--ink2);padding:7px 0 7px 20px;position:relative;border-bottom:1px solid var(--line)}
.tier li:last-child{border-bottom:none}
.tier li::before{content:"";position:absolute;left:2px;top:14px;width:6px;height:6px;border-radius:50%;background:var(--apex-lo)}
.tier .go{margin-top:auto;text-align:center}

.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rung{background:var(--void);border:1px solid var(--line);border-radius:10px;padding:18px}
.rung b{display:block;font:600 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--apex-tx);margin-bottom:9px}
.rung p{font-size:17px;color:var(--ink2)}

.req{display:grid;gap:16px;max-width:60ch}
.req label{display:grid;gap:7px;font:600 14px var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink2)}
.req input,.req textarea{background:var(--navy);border:1px solid var(--line);border-radius:8px;padding:12px 14px;color:var(--ink);font:16px/1.5 var(--sans);resize:vertical}
.req input:focus,.req textarea:focus{outline:none;border-color:var(--apex-lo)}
.req button{justify-self:start}
.req .fine{margin-top:0}
.req-out{margin-top:20px;background:var(--navy);border:1px solid var(--apex-lo);border-radius:11px;padding:20px;max-width:70ch}
.req-out h3{font-size:18px;margin-bottom:10px}
.req-out pre{white-space:pre-wrap;font:14px/1.6 var(--mono);color:var(--ink2);background:var(--void);border:1px solid var(--line);border-radius:8px;padding:14px;margin:12px 0;overflow-x:auto}
.req-out .row{display:flex;gap:10px;flex-wrap:wrap}

footer{border-top:1px solid var(--line);background:var(--navy);padding:34px 0}
.fbot{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.fbot .c{font:400 14.5px var(--mono);color:var(--ink4)}
.fbot .sp{flex:1}

/* Back to top — the apex mark itself, which already points up. */
.totop{position:fixed;right:22px;bottom:22px;z-index:90;width:46px;height:46px;display:grid;place-items:center;padding:0;border-radius:12px;background:var(--navy);border:1px solid var(--hot);color:var(--apex-tx);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s,transform .22s,visibility .22s,border-color .18s,background .18s}
.totop.on{opacity:1;visibility:visible;transform:none}
.totop:hover{border-color:var(--apex);background:var(--lift)}
.totop:focus-visible{outline:2px solid var(--apex-tx);outline-offset:3px}

@media(max-width:900px){
  .split{grid-template-columns:1fr;gap:30px}
  .stats,.ladder{grid-template-columns:repeat(2,1fr)}
  .tiers{grid-template-columns:1fr}
}
@media(max-width:640px){.totop{right:14px;bottom:14px;width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
