/* =========================================================================
   WebShield Navy — locked palette system
   Status: LOCKED (project 1, palette exploration, 2026-04-20)
   Register: Institutional navy — law-firm / investment-bank
   All subsequent components in this project and the downstream full-page
   composition project must source color from these tokens.

   v1.3 (2026-04-21) — body font sizes bumped ~10% after live browser
   testing showed cramped text at desktop viewport. Affects --ws-fs-lede,
   --ws-fs-body, --ws-fs-body-sm, --ws-lh-body only. See CHANGELOG.md.
   ========================================================================= */

:root {
  /* ── Core palette ──────────────────────────────────────────────────── */
  --ws-ink:         #0B1F3A;  /* primary navy — display, body on light */
  --ws-ink-deep:    #0E2748;  /* deeper navy stop — pair with --ws-ink for the navy hero gradient. Not for body text. */
  --ws-ink-muted:   #3B4A63;  /* supporting body, eyebrows */
  --ws-ink-faint:   #6B7585;  /* micro-copy, metadata */

  --ws-accent:      #8A6B2E;  /* muted gold — claim refs and citations only */
  --ws-accent-hover:#A3823A;  /* hover state only; do not use as fill */
  --ws-accent-soft: rgba(138, 107, 46, 0.35);  /* gold @ 35% — hairline rules under dark-surface heros where full-strength gold would over-emphasize */

  --ws-page:        #F6F3EC;  /* warm bone — page background */
  --ws-surface:     #FFFFFF;  /* card surface */
  --ws-surface-2:   #FBF8F1;  /* inset / secondary surface */

  --ws-rule:        #D7CFBF;  /* 1px divider on bone */
  --ws-rule-faint:  #E8E2D4;  /* softer divider on surface */

  /* ── Typography ────────────────────────────────────────────────────── */
  --ws-font-display: 'Source Serif 4', 'Source Serif Pro', Georgia, serif;
  --ws-font-body:    'Inter', system-ui, -apple-system, sans-serif;
  --ws-font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', monospace;

  /* ── Contrast notes (WCAG, on white) ──────────────────────────────────
     ink on surface       16.2:1  AAA
     ink-muted on surface  8.9:1  AAA
     ink-faint on surface  4.9:1  AA normal, AAA large
     accent on surface     5.1:1  AA normal
     ─────────────────────────────────────────────────────────────────── */

  /* ── Type scale ────────────────────────────────────────────────────────
     The full type scale. Components must use these, not ad-hoc px values.
     ──────────────────────────────────────────────────────────────────── */
  --ws-fs-display-lg: 40px;  /* page hero */
  --ws-fs-display:    26px;  /* card name (serif) */
  --ws-fs-lede:       18px;  /* definition (serif, the verbatim anchor) */
  --ws-fs-body:       15px;  /* supporting body (sans) */
  --ws-fs-body-sm:    13.5px;/* footer metadata value */
  --ws-fs-label:      11px;  /* small-caps label */
  --ws-fs-micro:      10.5px;/* mono ordinal / claim ref */

  --ws-lh-tight:  1.15;
  --ws-lh-lede:   1.45;
  --ws-lh-body:   1.7;

  --ws-tracking-label: 0.16em;  /* all uppercase eyebrows */
  --ws-tracking-mono:  0.04em;  /* mono metadata */

  /* ── Spacing scale ─────────────────────────────────────────────────── */
  --ws-sp-1:  4px;
  --ws-sp-2:  8px;
  --ws-sp-3:  12px;
  --ws-sp-4:  16px;
  --ws-sp-5:  22px;
  --ws-sp-6:  28px;
  --ws-sp-7:  40px;

  /* ── Rule weights ──────────────────────────────────────────────────── */
  --ws-rule-hair:   1px;   /* default divider */
  --ws-rule-anchor: 2px;   /* accent under heros; gold rules */

  /* ── Component tokens ──────────────────────────────────────────────── */
  /* universal-card (locked B · Ledger Row)
     Two-column grid. Left rail = identity. Right column = argument.
     Use these tokens in every Universal card and any derived component
     (credibility bar, invariants row) so the page shares one rhythm. */
  --ws-uc-rail-width:      140px;
  --ws-uc-col-gap:         32px;
  --ws-uc-pad-y:           26px;
  --ws-uc-pad-x:           32px;
  --ws-uc-border:          var(--ws-rule-hair) solid var(--ws-rule);
  --ws-uc-accent-eyebrow:  var(--ws-accent);     /* the gold small-caps */
}
