/* =====================================================
   Rally Banner — design tokens (v2, 2026-09-02)
   Loaded FIRST on every page. The only place a colour,
   font family or type size is defined.

   Two naming schemes are kept on purpose: the homepage
   stylesheet uses --ink/--panel/--gold, the dossier
   stylesheet uses --bg/--surface/--accent. Both resolve
   to the same values here, so nothing downstream breaks.
   ===================================================== */
:root {
  /* ground + surfaces */
  --ink: #080d13;  --ink-2: #0b1219;
  --panel: #0e161f; --panel-2: #121c26; --panel-3: #16222d;
  --line: rgba(226,235,232,.14);
  --line-strong: rgba(226,235,232,.28);

  /* text — all pass AA on --ink and --panel */
  --ivory: #eef1e9;
  --text: #d5dbd9;
  --muted: #98a4ab;   /* 7.0:1 on ink — any readable secondary copy */
  --dim: #6f7c84;     /* decorative only, never for copy */

  /* identity accents */
  --gold: #d6b66d; --gold-soft: rgba(214,182,109,.12);
  --cyan: #65ccda; --green: #77c6a4; --violet: #a99ad8; --red: #d77d71;

  /* semantic — derived from identity, not Material */
  --ok: var(--green); --info: var(--cyan);
  --warn: #e2b45c; --fail: #d77d71;

  /* dossier-theme aliases */
  --bg: var(--ink);
  --surface: var(--panel);
  --surface-alt: var(--panel-2);
  --nav-bg: rgba(8,13,19,.9);
  --accent: var(--gold);
  --accent-dim: #8b7544;
  --text-primary: var(--ivory);
  --text-muted: #aeb8be;
  --text-dim: var(--muted);
  --border: var(--line);
  --border-alt: rgba(214,182,109,.34);
  --director-cyan: var(--cyan);
  --director-green: var(--green);

  /* callouts — colour, icon and label agree */
  --callout-green-bg: rgba(119,198,164,.07);  --callout-green-border: var(--green);
  --callout-blue-bg:  rgba(101,204,218,.07);  --callout-blue-border:  var(--cyan);
  --callout-yellow-bg: rgba(226,180,92,.07);  --callout-yellow-border: var(--warn);
  --callout-red-bg:   rgba(215,125,113,.08);  --callout-red-border:   var(--fail);
  --callout-gray-bg:  rgba(226,235,232,.04);  --callout-gray-border:  var(--line-strong);

  /* type — Destiny's three roles, open-source stand-ins
     wordmark/display: Futura → Jost
     names/interface:  Neue Haas Grotesk → Archivo
     flavour text:     Epoca italic → Source Serif 4 italic */
  --display: 'Jost', 'Futura', 'Century Gothic', sans-serif;
  --body: 'Archivo', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --flavor: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --track: .06em;        /* display caps */
  --track-label: .18em;  /* eyebrows, chips, nav */

  --type-body: 1rem; --type-secondary: .9375rem; --type-small: .875rem; --type-label: .75rem;
  --type-reading-line: 1.65;

  /* space (4-pt) */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 72px;

  --radius: 0;
  --nav-height: 68px;
  --header-h: 68px;
  --max: 1440px;
  color-scheme: dark;
}
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
.flavor { font-family: var(--flavor); font-style: italic; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
