/* Race Day typography — three fonts, three jobs.
   ANTON: display. Headlines, numbers-as-headlines, buttons. ALWAYS CAPS. lh 0.92–1.0. Never below 20px.
   Archivo: body. Paragraphs, UI, captions. 400/600/800. Sentence case. 15–19px web.
   IBM Plex Mono: data. Stats, labels, chips, timestamps. UPPERCASE, tracked +6 to +16 (0.06–0.16em).
   Ratio — display : body ≈ 3:1. One Anton moment per view. */

:root {
  /* ---- families ---- */
  --font-display: 'Anton', 'Arial Narrow', Impact, sans-serif;
  --font-body:    'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --font-mono:    'IBM Plex Mono', 'Courier New', monospace;

  /* ---- display scale (Anton, caps) ---- */
  --text-display-xl: 96px;   /* hero statements, giant times */
  --text-display-lg: 64px;   /* page headlines */
  --text-display-md: 40px;   /* section headlines */
  --text-display-sm: 24px;   /* card headlines, big buttons */
  --lh-display: 0.94; /* @kind other */
  --track-display: 0.01em;

  /* ---- body scale (Archivo) ---- */
  --text-body-lg: 19px;
  --text-body-md: 16px;
  --text-body-sm: 15px;
  --lh-body: 1.5; /* @kind other */
  --weight-body: 400;
  --weight-body-semibold: 600;
  --weight-body-heavy: 800;

  /* ---- data scale (Plex Mono, caps, tracked) ---- */
  --text-mono-md: 14px;      /* chips, ribbon rows */
  --text-mono-sm: 12px;      /* kickers, labels */
  --text-mono-xs: 11px;      /* timestamps, footnotes */
  --track-mono: 0.12em;      /* +6 to +16 → 0.06em–0.16em */
  --track-mono-tight: 0.06em;
  --track-mono-wide: 0.16em;

  /* ---- semantic aliases ---- */
  --text-headline: var(--text-display-lg);
  --text-kicker: var(--text-mono-sm);
  --text-button: 18px;       /* Anton, caps — never below 20px for hero CTAs; 18px floor for compact */
}
