/* 1600px text/chrome cap — signed off 18 Sep 2026.
   Keep as its own last-loaded file. Do not fold into storyboard.css.
   Spec: _md/CAP-1600-PREVIEW.md  Compare: ?cap=off */

html.cap-1600 {
  --cap: 1600px;
  --cap-gutter: max(0px, calc((100vw - var(--cap)) / 2));
  --cap-inset: calc(var(--cap-gutter) + 80px);
}

@media (min-width: 1601px) {
  html.cap-1600 .cypher,
  html.cap-1600 .hero .logo,
  html.cap-1600 .hero-copy,
  html.cap-1600 .cta-head__home,
  html.cap-1600 .has-facts .copy,
  html.cap-1600 .flight-copy {
    left: var(--cap-inset);
  }

  html.cap-1600 .burger {
    right: var(--cap-inset);
  }

  /* Same as right: 0 on a 1600 window - flush to the rail, not the 80px copy inset. */
  html.cap-1600 .hero-art {
    right: var(--cap-gutter);
  }

  /* Live is right: 80px; keep that 80px inside the 1600 rail. */
  html.cap-1600 .cta-art {
    right: var(--cap-inset);
  }

  /* Strip colour stays edge-to-edge; cards sit on the 1600 rail. */
  html.cap-1600 .has-facts .facts-strip {
    padding-left: var(--cap-inset);
    padding-right: var(--cap-inset);
  }

  html.cap-1600 .inflight-strip {
    --gutter: var(--cap-inset);
    --pair-card: clamp(270px, calc(var(--cap) * 0.26), 520px);
  }

  html.cap-1600 .progress {
    left: var(--cap-gutter);
    right: var(--cap-gutter);
  }

  html.cap-1600 .cta-layout {
    padding-left: var(--cap-inset);
    padding-right: var(--cap-inset);
  }

  html.cap-1600 .cta-foot {
    padding-left: var(--cap-inset);
    padding-right: var(--cap-inset);
  }

  html.cap-1600 .frame--mission {
    padding-left: var(--cap-inset);
    padding-right: var(--cap-inset);
  }

  /* Overlay stays full-bleed; columns and close sit on the 1600 rail
     (same 80px inner pad as a 1600 window, not the live 1920 100px pad). */
  html.cap-1600 .flight-log {
    --flight-log-pad-x: var(--cap-inset);
  }
}
