    /* ─────────────────────────────────────────────────────────
       T—MINUS · "VIDEOCASSETTE" (direction 1D)
       Retro 70s futurism: diagonal exhaust bands, 3px ink rules,
       boxed spec codes, arc-ray ground, Archivo 900 display.
       Palette is unchanged — void / deep / ink / paper / paper2 /
       rust / rustdeep / teal + the orange ramp.
       ───────────────────────────────────────────────────────── */
    :root{
      --rust:#E85303; --rustdeep:#BF400A; --ramp2:#F2842E; --ramp3:#F4A24A; --ramp4:#F6C079;
      --teal:#2E877C; --ink:#17130B; --paper:#EFE3C9;
      --shell:1320px; --gut:clamp(20px,5vw,72px);
    }
    :root[data-theme="light"]{
      --bg:#E6D6B4; --panel:#EFE3C9; --fg:#17130B; --fg-rgb:23,19,11; --bg-rgb:239,227,201; --accent:#BF400A;
      --title-stroke:#EFE3C9;
    }
    :root[data-theme="dark"]{
      --bg:#0C0F13; --panel:#08090B; --fg:#EFE3C9; --fg-rgb:239,227,201; --bg-rgb:8,9,11; --accent:#E85303;
      --title-stroke:#17130B;
    }

    *{margin:0;padding:0;box-sizing:border-box}
    /* Tried adding overflow-x here to fight the wide layout the rotated
       stripe bands produce (scrollWidth was reading ~950px at a 390px
       viewport). Reverted: the browser's CSSOM confirms overflow declared
       on <html> is silently dropped — overflow propagates from body to the
       real viewport/root scroller when both exist, and body already has
       overflow-x:clip. Verified with an actual scroll attempt, not just the
       scrollWidth number: window.scrollTo(500,0) left scrollX at 0, so the
       page cannot really be panned sideways despite the inflated metric.
       What was actually reachable is native pinch-zoom-out, which lives
       outside CSS entirely — that's what minimum-scale=1.0 on the viewport
       meta (every page) fixes. */
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
    body{
      background:var(--bg); color:var(--fg);
      font-family:'Space Grotesk',system-ui,sans-serif; line-height:1.5;
      overflow-x:hidden; overflow-x:clip; touch-action:pan-y; -webkit-font-smoothing:antialiased;
      transition:background .3s ease, color .3s ease;
    }
    ::selection{background:var(--rust);color:var(--ink)}
    a{color:inherit;text-decoration:none}
    a:hover{color:var(--rustdeep)}
    :focus-visible{outline:2px solid var(--rust);outline-offset:3px}
    img{display:block}

    .shell{max-width:min(var(--shell),100%);margin-inline:auto;padding-inline:var(--gut)}
    .display{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.82}
    .mono{font-family:'Space Mono',monospace}
    .eyebrow{font-family:'Space Grotesk',sans-serif;font-style:italic;font-weight:600;font-size:13px;letter-spacing:.22em;text-transform:uppercase}
    /* small orange/muted labels sit on the exhaust — hug them with the
       page colour so they stay readable without covering the stripes */
    .eyebrow,
    .hero-eyebrow,
    .page-eyebrow,
    .intel-eyebrow,
    .filter-section-label,
    .launches-section-label{
      display:inline-flex;align-items:center;width:auto;max-width:100%;
      background:var(--bg);padding:3px 8px;
      -webkit-box-decoration-break:clone;box-decoration-break:clone}

    /* ── diagonal exhaust field ── */
    .stripes{position:absolute;inset:0;pointer-events:none;overflow:visible}
    .stripes-inner{position:absolute;left:-14%;top:-36%;width:140%;height:195%;transform:rotate(-28deg);display:flex;flex-direction:column;gap:26px}
    .stripes-inner .hair{height:8px;background:rgba(var(--fg-rgb),.14)}
    .stripes-inner .band{height:54px;opacity:.9}
    .stripes-inner .b1{background:var(--rustdeep)}
    .stripes-inner .b2{background:var(--rust);margin-top:-20px}
    .stripes-inner .b3{background:var(--ramp2);margin-top:-20px}
    /* one cluster only — stretch those same ribbons so they are not
       sliced at the hero edge. do not tile a second set */
    .hero .stripes-inner .hair,
    .hero .stripes-inner .band,
    .pk-headsec .stripes-inner .hair,
    .pk-headsec .stripes-inner .band{
      width:220%;margin-left:-40%;flex-shrink:0}
    /* ── arc rays (faint ground) ── */
    .arcs{display:none}

    /* ── header ── */
    .hdr{position:sticky;top:0;z-index:100;background:var(--ink);border-bottom:3px solid var(--ink);
      width:100%;max-width:100%;box-sizing:border-box}
    .hdr-in{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;position:relative}
    .hdr-logo{flex-shrink:0}
    .hdr-logo img{height:32px;width:auto}
    .nav-links{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;padding:8px 0;min-width:0}
    .chip{font-family:'Archivo',sans-serif;font-weight:800;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
      background:var(--paper);color:var(--ink);border:2px solid var(--paper);padding:7px 12px;line-height:1.2;
      transition:background .18s,color .18s,border-color .18s}
    .chip:hover{background:var(--rust);border-color:var(--rust);color:var(--ink)}
    .chip.chip-loyalty{border-color:var(--teal);color:var(--teal)}
    .chip.chip-loyalty:hover{background:var(--teal);color:var(--paper)}
    .hdr-right{display:flex;align-items:center;gap:8px;padding:8px 0;flex-shrink:0}
    .theme-btn{font-family:'Space Mono',monospace;font-weight:700;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
      background:transparent;color:var(--paper);border:2px solid rgba(239,227,201,.4);padding:9px 12px;cursor:pointer;
      transition:border-color .18s,color .18s;white-space:nowrap;flex-shrink:0}
    .theme-btn:hover{border-color:var(--rust);color:var(--rust)}
    .alert-btn{font-family:'Archivo',sans-serif;font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
      background:var(--rust);color:var(--ink);border:2px solid var(--rust);padding:9px 14px;cursor:pointer;transition:background .18s,border-color .18s;
      white-space:nowrap;flex-shrink:0}
    .alert-btn:hover{background:var(--paper);border-color:var(--paper)}
    .alert-btn.granted{background:transparent;color:var(--rust)}
    .clock{display:flex;align-items:center;gap:9px;border:2px solid rgba(239,227,201,.22);padding:6px 11px;flex-shrink:0}
    .clock .lbl{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.28em;color:rgba(239,227,201,.45);line-height:1}
    .clock .val{font-family:'Space Mono',monospace;font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--paper);line-height:1;margin-top:3px}
    .dot{width:7px;height:7px;border-radius:50%;background:var(--rust);animation:blink 1.4s ease-in-out infinite}
    @keyframes blink{0%,100%{opacity:1}50%{opacity:.15}}

    .hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px;flex-shrink:0}
    .hamburger span{display:block;width:24px;height:3px;background:var(--paper)}
    .mobile-menu{display:none;position:fixed;top:68px;right:0;width:min(320px,86vw);z-index:200;background:var(--ink);
      border-left:3px solid var(--rust);border-bottom:3px solid var(--rust);padding:8px;
      max-height:calc(100vh - 68px);overflow-y:auto;-webkit-overflow-scrolling:touch}
    .mobile-menu.open{display:block}
    .mobile-menu a{display:flex;align-items:center;gap:12px;padding:15px 16px;font-family:'Archivo',sans-serif;font-weight:800;
      font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper);border-bottom:1px solid rgba(239,227,201,.16)}
    .mobile-menu a:last-of-type{border-bottom:none}
    .mobile-menu a .fig{font-family:'Space Mono',monospace;font-size:10px;color:var(--rust)}
    .mob-loyalty{color:var(--teal)!important}

    /* ── buttons ── */
    .btn{font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:15px;
      display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 28px;border:3px solid var(--fg);cursor:pointer;
      transition:background .18s,color .18s,transform .18s}
    .btn .arw{transition:transform .18s ease}
    .btn:hover .arw{transform:translateX(4px)}
    .btn-rust{background:var(--rust);color:var(--ink)}
    .btn-rust:hover{background:var(--ramp2);transform:translateY(-2px);color:var(--ink)}
    .btn-ink{background:var(--fg);color:var(--panel)}
    .btn-ink:hover{background:var(--rust);color:var(--ink)}

    /* ── hero ── */
    .hero,.pk-headsec{
      position:relative;overflow:visible;background:var(--bg);z-index:0}
    body > .band,body > .sec,body > .orbital,body > .final,body > .footer,
    .page-container > .shell,.page-container > .footer,.main-feed,.section{
      position:relative;z-index:1}
    .hero-in{position:relative;z-index:2;padding-top:clamp(48px,7vw,86px);padding-bottom:clamp(52px,6vw,78px)}
    .hero-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:36px}
    .hero-hed{font-size:clamp(32px,8vw,104px);color:var(--fg);overflow-wrap:anywhere;max-width:100%}
    .hero-hed-out{font-size:clamp(32px,8vw,104px);margin-top:6px;overflow-wrap:anywhere;max-width:100%}
    .hero-hed,.hero-hed-out,.pk-title,.pk-title-out,.sec-title,.hero-pagetitle,.page-title,.intel-hed,
    .hero-title,.hero-title-line2,.launches-title,.final-title,.next-name,.dir-name,.pk-card-name,
    .pk-article-title,.feat h3,.section-title,.hero-mission,.launch-card-mission,
    .article-card-title,.linked-card-title,
    .hero-pagetitle .accent,.page-title .accent,.intel-hed .accent,.final-title .out{
      -webkit-text-fill-color:var(--fg);-webkit-text-stroke:3px var(--title-stroke);paint-order:stroke fill}
    .dir-name,.pk-card-name,.pk-article-title,.feat h3,.next-name,.hero-mission,.launch-card-mission,
    .article-card-title,.linked-card-title{
      -webkit-text-stroke-width:2px}
    .orbital .sec-title{
      -webkit-text-fill-color:var(--bg);-webkit-text-stroke:3px var(--fg)}
    .final-title,.final-title .out{
      -webkit-text-fill-color:var(--ink);-webkit-text-stroke:3px var(--paper)}
    .hero-lede{max-width:470px;font-size:15px;line-height:1.7;color:rgba(var(--fg-rgb),.75);margin-top:26px}
    .t0{font-family:'Archivo',sans-serif;font-weight:900;font-size:36px;letter-spacing:.04em;border:3px solid var(--fg);
      padding:10px 20px;display:inline-block;background:var(--panel);color:var(--fg)}
    .t0-bands{display:flex;flex-direction:column;margin-top:14px;border:3px solid var(--fg);background:var(--panel)}
    .t0-bands div{height:16px}

    .panel{background:var(--panel);border:3px solid var(--fg)}
    .next{display:flex;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-top:clamp(40px,5vw,64px);padding:26px 30px}
    .next-lbl{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(var(--fg-rgb),.55);margin-bottom:8px}
    .next-name{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(22px,3vw,32px);text-transform:uppercase;line-height:1}
    .next-meta{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;color:rgba(var(--fg-rgb),.62);margin-top:8px}
    .hc{margin-left:auto;font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(28px,5vw,68px);line-height:.9;
      letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap;max-width:100%;overflow-wrap:break-word;word-break:break-word}
    .hc-static{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(24px,3vw,38px);letter-spacing:.02em;color:var(--accent);overflow-wrap:break-word;word-break:break-word}

    .specs{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:32px}
    .spec-solid{font-family:'Archivo',sans-serif;font-weight:900;font-size:18px;letter-spacing:.06em;background:var(--fg);color:var(--panel);padding:12px 20px}
    .spec-line{font-family:'Archivo',sans-serif;font-weight:900;font-size:18px;letter-spacing:.06em;border:3px solid var(--fg);color:var(--fg);padding:9px 20px}
    .telemetry{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:26px;font-family:'Space Mono',monospace;
      font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(var(--fg-rgb),.5)}
    .telemetry strong{color:var(--fg)}
    .live{display:flex;align-items:center;gap:7px;color:var(--accent);letter-spacing:.22em}

    /* ── provider band ── */
    .band{background:var(--rust);color:var(--ink);overflow:hidden;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
    .band-track{display:flex;gap:52px;white-space:nowrap;padding:13px 0;font-family:'Space Mono',monospace;font-weight:700;
      font-size:11px;letter-spacing:.24em;animation:marq 34s linear infinite}
    .band:hover .band-track{animation-play-state:paused}
    .band-track span{display:inline-flex;gap:52px}
    @keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

    /* ── sections ── */
    .sec{position:relative;overflow:hidden;background:transparent}
    .sec-in{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px);position:relative;z-index:2}
    .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,52px)}
    .sec-title{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;line-height:.86;
      font-size:clamp(26px,5vw,68px);letter-spacing:-.02em;overflow-wrap:break-word;word-break:break-word}
    .grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:22px}
    .feat{padding:30px 28px 34px}
    .feat-fig{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.2em;color:var(--accent);margin-bottom:22px}
    .feat h3{font-family:'Archivo',sans-serif;font-weight:800;font-size:21px;text-transform:uppercase;margin:18px 0 10px}
    .feat p{font-size:14px;line-height:1.65;color:rgba(var(--fg-rgb),.72)}

    /* ── orbital (inverse block) ── */
    .orbital{background:var(--fg);color:var(--bg);position:relative;overflow:hidden}
    .orbital .plaid{position:absolute;inset:0;opacity:.16;pointer-events:none;
      background:repeating-linear-gradient(115deg,rgba(var(--bg-rgb),1) 0 3px,transparent 3px 44px)}
    .orbital-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:clamp(32px,5vw,72px);align-items:center}
    .orbital-visual{max-width:460px;width:100%;margin-inline:auto}
    .ostat{border:3px solid rgba(var(--bg-rgb),.5);padding:14px 20px}
    .ostat .n{font-family:'Archivo',sans-serif;font-weight:900;font-size:30px;line-height:1}
    .ostat .k{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-top:6px}
    .btn-invert{background:var(--bg);color:var(--fg);border-color:var(--bg)}
    .btn-invert:hover{background:var(--rust);color:var(--ink);border-color:var(--rust)}

    /* ── directory ── */
    .dir{display:flex;flex-direction:column;gap:14px}
    .dir-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:20px 24px;transition:background .18s,transform .18s}
    .dir-row:hover{background:var(--rust);transform:translateX(6px);color:var(--ink)}
    .dir-row:hover .dir-desc,.dir-row:hover .dir-fig{color:var(--ink)}
    .dir-fig{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;color:var(--accent);flex-shrink:0}
    .dir-name{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(20px,2.4vw,28px);text-transform:uppercase;flex:0 0 auto;min-width:230px}
    .dir-desc{font-size:13.5px;line-height:1.55;color:rgba(var(--fg-rgb),.7);flex:1 1 240px}
    .dir-go{font-family:'Space Mono',monospace;font-size:20px;margin-left:auto}

    /* ── final CTA ── */
    .final{background:var(--rust);color:var(--ink);position:relative;overflow:hidden;border-top:3px solid var(--ink)}
    .final .stripes-inner{gap:30px}
    .final .hair{background:rgba(23,19,11,.16);height:10px}
    .final .band{border:none;height:56px}
    .final-title{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;line-height:.84;
      font-size:clamp(46px,7.5vw,104px);letter-spacing:-.02em;overflow-wrap:break-word;word-break:break-word}
    .final-title .out{color:var(--ink)}
    .btn-final{background:var(--ink);color:var(--paper);border-color:var(--ink)}
    .btn-final:hover{background:var(--paper);color:var(--ink)}

    /* ── footer ── */
    .footer{background:var(--ink);color:var(--paper)}
    .footer-top{display:flex;height:6px}
    .footer-top div{flex:1}
    .footer-in{padding-top:34px;padding-bottom:34px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px}
    .footer-brand{font-family:'Archivo',sans-serif;font-weight:900;font-size:26px;letter-spacing:.06em}
    .footer-meta{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.14em;color:rgba(239,227,201,.42)}

    /* ── reveal + motion ── */
    .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
    .reveal.in{opacity:1;transform:none}
    @keyframes spin{to{transform:rotate(360deg)}}
    @keyframes spinR{to{transform:rotate(-360deg)}}
    .p-orbit1{transform-origin:200px 200px;animation:spin 62s linear infinite}
    .p-orbit2{transform-origin:200px 200px;animation:spinR 90s linear infinite}
    @media (prefers-reduced-motion:reduce){
      *{animation:none!important;scroll-behavior:auto!important}
      .reveal{opacity:1;transform:none;transition:none}
    }

    /* ── responsive ── */
    @media(max-width:760px){
      .hero-top{grid-template-columns:1fr;gap:22px}
      .t0-stack{display:none}
      .next{padding:20px 22px}
      .hc{margin-left:0}
      .specs .btn{margin-left:0;width:100%}
      .dir-name{min-width:0;flex:1 1 100%}
      .dir-desc{flex:1 1 100%}
      .dir-go{margin-left:0}
    }
  
    /* ── T MINUS · area nav (two tier, added for the multi-sector site) ── */
    .tm-areas{display:flex;align-items:center;gap:2px;flex-wrap:nowrap;min-width:0}
    .tm-area{font-family:'Archivo',sans-serif;font-weight:800;font-size:11px;letter-spacing:.12em;
      text-transform:uppercase;color:rgba(239,227,201,.6);padding:9px 9px;line-height:1;
      border:2px solid transparent;transition:color .16s,border-color .16s,background .16s;white-space:nowrap}
    .tm-area:hover{color:#EFE3C9;border-color:rgba(239,227,201,.3)}
    .tm-area.is-active{color:#E85303;border-color:#E85303}
    .tm-area.tm-loyalty{color:#2E877C;border-color:#2E877C;margin-left:4px}
    .tm-area.tm-loyalty:hover{background:#2E877C;color:#17130B}
    .tm-subbar{background:#17130B;border-bottom:2px solid #E85303;width:100%;max-width:100%;box-sizing:border-box;position:relative;z-index:90}
    .tm-sub{display:flex;gap:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x}
    .tm-sub::-webkit-scrollbar{height:0}
    .tm-sublink{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.18em;
      text-transform:uppercase;color:rgba(239,227,201,.5);padding:13px 15px;line-height:1;
      border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .16s,border-color .16s;flex-shrink:0}
    .tm-sublink:hover{color:#EFE3C9}
    .tm-sublink.is-active{color:#E85303;border-bottom-color:#E85303}
    /* hide the area row AFTER .tm-areas{display:flex} so this wins; 1280 is where 8 links stop fitting */
    @media(max-width:1280px){
      .nav-links,.tm-areas,.clock{display:none!important}
      .hamburger{
        display:flex!important;align-items:center;justify-content:center;
        width:44px;min-width:44px;height:44px;flex-shrink:0;
        border:2px solid var(--paper)}
      .hdr-right{margin-left:auto}
    }
    @media(max-width:760px){
      .alert-btn{display:none!important}
      .theme-btn{padding:9px 10px}
    }
  
    /* ── PAGE KIT · hubs, ranked tables, mission + watch ──────────
       Built only from the vocabulary above: cream panels, 3px ink
       rules, Archivo 900 figures, Space Mono labels. ───────────── */
    .pk-head-top{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap}
    .pk-title{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;
      line-height:.84;font-size:clamp(26px,7.2vw,88px);color:var(--fg);max-width:100%;overflow-wrap:break-word;word-break:break-word}
    .pk-title-out{color:var(--fg)}
    /* Removed per George — the sector/hub descriptions sitting over the
       exhaust field were unreadable and not worth boxing, just gone. */
    .pk-lede{display:none}
    .pk-lbl{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(var(--fg-rgb),.55)}
    .pk-val{font-family:'Archivo',sans-serif;font-weight:900;color:var(--fg);font-variant-numeric:tabular-nums}
    .pk-mono{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;color:rgba(var(--fg-rgb),.62)}

    .pk-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:18px}
    .pk-card{padding:24px 26px 26px;display:flex;flex-direction:column;gap:16px;transition:transform .18s,border-color .18s}
    .pk-card:hover{transform:translateY(-3px);border-color:var(--rustdeep)}
    .pk-card-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
    .pk-card-name{font-family:'Archivo',sans-serif;font-weight:900;font-size:21px;text-transform:uppercase;letter-spacing:.01em;line-height:1.05;min-width:0}
    .pk-flag{font-family:'Space Mono',monospace;font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;
      border:2px solid var(--fg);padding:4px 7px;color:rgba(var(--fg-rgb),.6);white-space:nowrap}
    .pk-flag.is-on{background:var(--rust);border-color:var(--rust);color:var(--ink)}
    .pk-rows{display:flex;flex-direction:column;gap:10px}
    .pk-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
      border-bottom:1px solid rgba(var(--fg-rgb),.18);padding-bottom:8px}
    .pk-row:last-child{border-bottom:none;padding-bottom:0}
    .pk-row .pk-val{font-size:17px}
    .pk-card-num{font-family:'Archivo',sans-serif;font-weight:900;font-size:40px;line-height:.9;letter-spacing:-.02em;
      color:var(--accent);font-variant-numeric:tabular-nums}

    /* record hero */
    .pk-rec{display:flex;gap:34px;flex-wrap:wrap;align-items:flex-end;padding:30px 32px}
    .pk-rec-big{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(56px,10vw,124px);line-height:.86;
      letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums;overflow-wrap:break-word;word-break:break-word}
    .pk-rec-meta{display:flex;gap:26px;flex-wrap:wrap}
    .pk-rec-cell{min-width:130px}
    .pk-rec-cell .pk-val{font-size:20px;margin-top:7px;display:block}

    /* table */
    .pk-tablewrap{border:3px solid var(--fg);background:var(--panel);overflow-x:auto;-webkit-overflow-scrolling:touch}
    .pk-table{width:100%;min-width:880px;border-collapse:collapse}
    .pk-table th{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.26em;text-transform:uppercase;
      color:rgba(var(--fg-rgb),.55);text-align:left;padding:15px 20px;border-bottom:3px solid var(--fg);white-space:nowrap}
    .pk-table td{padding:18px 20px;border-bottom:1px solid rgba(var(--fg-rgb),.18);vertical-align:middle;white-space:nowrap}
    .pk-table tr:last-child td{border-bottom:none}
    .pk-table tbody tr{transition:background .16s}
    .pk-table tbody tr:hover{background:rgba(232,83,3,.1)}
    .pk-table tbody tr:has(a[href]:not([href="#"])){cursor:pointer}
    /* long names ("China Aerospace Science and Technology Corporation") wrap
       rather than push the table past its box and hide the last columns */
    .pk-table td.pk-td-name,.pk-table td.pk-td-meta:nth-child(n+5){white-space:normal}
    /* Phones: the tables are 880–1,750px wide, so the ranked number sat off-screen
       behind a sideways scroll. Each row becomes two lines instead — rank, name and
       the number first, the remaining columns as a small line underneath (indented
       under the name: the rank cell sits in the row's left padding). The
       ::before is a zero-height full-width item that forces that line break. */
    @media(max-width:760px){
      .pk-tablewrap{overflow-x:visible}
      .pk-table{min-width:0}
      .pk-table thead{display:none}
      .pk-table tbody tr{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;row-gap:5px;
        padding:14px 16px 14px 54px;border-bottom:1px solid rgba(var(--fg-rgb),.18)}
      .pk-table tbody tr:last-child{border-bottom:none}
      .pk-table tbody tr::before{content:'';order:1;flex-basis:100%;height:0}
      .pk-table td{display:block;padding:0;border:0;white-space:normal;min-width:0;width:auto}
      .pk-table td:nth-child(1){flex:0 0 26px;margin-left:-38px;font-size:11px}
      .pk-table td:nth-child(2){flex:1 1 0;overflow-wrap:break-word;font-size:15px;line-height:1.2}
      .pk-table td:nth-child(3){flex:0 1 auto;max-width:48%;text-align:right;font-size:15px;line-height:1.2}
      .pk-table td:nth-child(n+4){order:2;flex:0 1 auto;font-size:11px;line-height:1.3}
      .pk-table td:nth-child(n+5)::before{content:'\00b7  '}
      .pk-table td.pk-td-go{display:none}
      .pk-table .pk-mob{display:inline;font-family:"Space Mono",monospace;font-size:10px;font-weight:400;letter-spacing:.08em;opacity:.75}
    }
    .pk-mob{display:none}
    .pk-td-rank{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;color:var(--accent);width:82px}
    .pk-td-name{font-family:'Archivo',sans-serif;font-weight:900;font-size:19px;text-transform:uppercase;letter-spacing:.01em}
    .pk-td-num{font-family:'Archivo',sans-serif;font-weight:900;font-size:22px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
    .pk-td-meta{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.12em;color:rgba(var(--fg-rgb),.62)}
    .pk-td-go{font-family:'Space Mono',monospace;font-size:18px;text-align:right;width:60px}
    .pk-scrollnote{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;
      color:rgba(var(--fg-rgb),.45);margin-top:10px}

    /* notify + source */
    .pk-notify{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:24px 28px;margin-top:22px}
    .pk-source{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:20px;font-family:'Space Mono',monospace;
      font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(var(--fg-rgb),.5)}
    .pk-source strong{color:var(--fg)}

    /* mission + watch */
    .pk-state{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;
      background:var(--fg);color:var(--panel);padding:8px 12px;display:inline-block;margin-bottom:18px}
    .pk-specgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:0;border-top:3px solid var(--fg)}
    .pk-specgrid > div{padding:18px 20px;border-right:1px solid rgba(var(--fg-rgb),.18);border-bottom:1px solid rgba(var(--fg-rgb),.18)}
    .pk-specgrid > div:last-child{border-right:none}
    .pk-specgrid .pk-val{font-size:18px;margin-top:8px;display:block}
    .pk-clock{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(28px,6.2vw,88px);line-height:1;
      letter-spacing:-.02em;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;max-width:100%;overflow-wrap:break-word;word-break:break-word}
    .pk-screen{aspect-ratio:16/9;background:var(--bg);border:3px solid var(--fg);display:flex;align-items:center;
      justify-content:center;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.28em;
      text-transform:uppercase;color:rgba(var(--fg-rgb),.45)}
    .pk-search{background:var(--bg);color:var(--fg);border:3px solid var(--fg);padding:15px 18px;
      font-family:'Space Grotesk',sans-serif;font-size:14px;letter-spacing:.04em;flex:1 1 260px;min-width:0}
    .pk-search::placeholder{color:rgba(var(--fg-rgb),.4)}
    .pk-chips{display:flex;gap:10px;flex-wrap:wrap}
    .pk-chip{font-family:'Archivo',sans-serif;font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
      border:3px solid var(--fg);background:var(--panel);color:var(--fg);padding:9px 14px;cursor:pointer;transition:background .18s,color .18s}
    .pk-chip:hover,.pk-chip.is-active{background:var(--rust);color:var(--ink)}
    .pk-articles{display:flex;flex-direction:column;gap:14px}
    .pk-article{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:20px 24px;transition:background .18s,transform .18s}
    .pk-article:hover{background:var(--rust);transform:translateX(6px);color:var(--ink)}
    .pk-article-title{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(18px,2.2vw,24px);
      text-transform:uppercase;flex:1 1 260px;min-width:0}
    @media(max-width:760px){
      .pk-rec{gap:22px;padding:22px 22px}
      .pk-notify{padding:20px 22px}
      .pk-head-top{flex-direction:column;align-items:flex-start}
      .pk-headsec .specs{width:100%}
    }

    /* new page heads run shorter than the home hero, so give them the
       same vertical scale — the exhaust ribbons read as ribbons, not a field */
    .hero.pk-headsec{min-height:0;display:flex;align-items:center;overflow:visible}
    .hero.pk-headsec .hero-in{width:100%;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}
    .hero.pk-headsec .stripes-inner{top:-24%;height:170%}

    .hero-hed,.hero-hed-out,.pk-title,.hero-pagetitle,.page-title,.intel-hed,.hero-title,.hero-title-line2{
      display:block;max-width:100%}

    @media(max-width:760px){
      .pk-title,.hero-hed,.hero-hed-out,.hero-pagetitle,.page-title,.intel-hed,.hero-title,.hero-title-line2{
        font-size:clamp(22px,6.2vw,64px);letter-spacing:-.04em}
    }

    /* ── EMPTY STATE ─────────────────────────────────────────────
       The ranked pages render before any data exists. Left alone
       they read as broken — bare em-dashes in boxes built for
       numbers, stacked down the loudest part of the stripe field.
       Flagged by the marker script at the foot of each page. */
    .pk-lede.is-empty-lede{display:none}
    .spec-line.is-empty{border-style:dashed;opacity:.6}
    .pk-val.is-empty{opacity:.4;font-weight:700}
    .pk-lbl{color:rgba(var(--fg-rgb),.72)}
    .pk-awaiting{display:inline-flex;align-items:center;gap:10px;
      font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.22em;
      text-transform:uppercase;color:var(--accent);background:var(--panel);
      border:2px solid var(--accent);padding:9px 14px;margin-top:20px}
    .pk-awaiting::before{content:'';width:7px;height:7px;border-radius:50%;
      background:var(--accent);flex-shrink:0}

    @media(max-width:760px){
      /* lie the stat chips flat instead of stacking them down the bands */
      .pk-head-top .specs{flex-direction:row!important;flex-wrap:wrap;
        gap:8px!important;margin-top:18px}
      .pk-head-top .spec-line{font-size:11.5px;padding:7px 11px}
      /* the empty header was leaving a long run of bare stripes */
      .pk-headsec .hero-in{padding-top:clamp(28px,6vw,48px);
        padding-bottom:clamp(20px,4vw,30px)}
    }

    /* ── BADGE ROW ───────────────────────────────────────────────
       Eight pills wrap to four rows on a phone and push the launch
       list off screen, so it starts collapsed. Same behaviour the
       iOS app already uses. The choice is remembered. */
    .badge-toggle{font-family:'Space Mono',monospace;font-size:10px;
      letter-spacing:.2em;text-transform:uppercase;color:var(--fg);
      background:transparent;border:2px solid rgba(var(--fg-rgb),.28);
      padding:7px 12px;cursor:pointer;display:inline-flex;align-items:center;
      gap:8px;line-height:1;transition:border-color .16s,color .16s}
    .badge-toggle:hover{border-color:var(--accent);color:var(--accent)}
    .badge-toggle .chev{transition:transform .18s ease;font-size:9px}
    .badge-toggle[aria-expanded="true"] .chev{transform:rotate(180deg)}
    #badgeList[hidden]{display:none!important}

    /* ── CHIPS OVER THE STRIPE FIELD ─────────────────────────────
       Outlined chips with no fill disappear where the exhaust
       bands run behind them — the Intel Feed stat boxes were the
       worst case. Give them the page colour, the same treatment
       the kickers already get.

       NOTE the `body` prefix: this stylesheet is linked BEFORE each
       page's own <style> block, so a bare .intel-stat here would
       lose the cascade. Do not remove it without moving the link. */
    body .intel-stat,
    body .page-count,
    body .launches-count,
    body .pk-head-top .spec-line{
      background:var(--panel);
      box-shadow:0 0 0 1px var(--panel);
    }
    body .intel-stat{color:var(--fg)}
    body .intel-stat strong{color:var(--fg)}

    /* ── KICKER LABELS ───────────────────────────────────────────
       Cream plate with a black outline behind the small orange labels
       so they sit clear of the exhaust. Same shape as .spec-line.
       .hero-eyebrow2 is deliberately not in this list: it sits inside
       the countdown panel, where there are no bands to hide from. */
    body .eyebrow:not(.is-plain),
    body .hero-eyebrow:not(.is-plain),
    body .page-eyebrow:not(.is-plain),
    body .intel-eyebrow:not(.is-plain),
    body .section-label:not(.is-plain),
    body .filter-section-label:not(.is-plain),
    body .launches-section-label:not(.is-plain){
      background:var(--panel) !important;
      border:2px solid var(--fg) !important;
      color:var(--rust) !important;
      display:inline-flex;align-items:center;gap:9px;
      width:auto;max-width:100%;padding:6px 11px}

    /* a .kicker nested inside one of the above would double the box */
    body .eyebrow .kicker,
    body .page-eyebrow .kicker,
    body .intel-eyebrow .kicker,
    body .hero-eyebrow .kicker{background:transparent !important;padding:0}
    body .kicker:not(.eyebrow *):not(.page-eyebrow *):not(.intel-eyebrow *){color:var(--rust)}

    /* is-plain means plain: no plate, no outline, no padding. This has to
       clear the ORIGINAL eyebrow rule further up the sheet as well, which
       gives every kicker a cream background and 3px 8px of padding —
       excluding these from the box rule alone left the plate behind. */
    body .eyebrow.is-plain,
    body .hero-eyebrow.is-plain,
    body .page-eyebrow.is-plain,
    body .intel-eyebrow.is-plain,
    body .section-label.is-plain{
      background:transparent !important;
      border:0 !important;
      padding:0 !important}

    /* Orbital satellites on the homepage. The rings themselves hold still —
       spinning them swept the whole composition through every inclination,
       which read as tumbling rather than orbiting. Only the satellites move,
       each along its own ring and at its own rate, inner fastest. Both the
       far and near copy of a satellite share a class, so they stay in step
       and the planet keeps occluding cleanly. */
    @keyframes tm-travel{to{offset-distance:100%}}
    .tm-s1,.tm-s2,.tm-s3{offset-rotate:0deg}
    .tm-s1{offset-path:path("M372,200 A172,62 0 1,0 28,200 A172,62 0 1,0 372,200");
      animation:tm-travel 34s linear infinite}
    .tm-s2{offset-path:path("M330,200 A130,47 0 1,0 70,200 A130,47 0 1,0 330,200");
      animation:tm-travel 23s linear infinite;animation-delay:-9s}
    .tm-s3{offset-path:path("M296,200 A96,34 0 1,0 104,200 A96,34 0 1,0 296,200");
      animation:tm-travel 15s linear infinite;animation-delay:-5s}
