/*
  Design tokens. See docs/brand-tokens.md for the full WCAG contrast audit
  behind these choices — in particular why steel blue never appears here
  as a *-text token.
*/
:root {
  /* Brand palette (locked) */
  --color-navy: #0E4A65;
  --color-steel: #769FB0;      /* decorative only: dividers, tints, icons, logotype */
  --color-off-white: #F5F7F8;
  --color-ink: #10303F;
  --color-alarm-red: #B90204;  /* the one $500k+ stat, never decorative */
  --color-white: #FFFFFF;

  /* AA-safe derivatives for text roles the raw palette can't cover */
  --color-accent-text-on-light: #3C5A66;
  --color-accent-text-on-dark: #9FC0CC;
  --color-lead-on-light: #294652;
  --color-body-on-dark: #CFDEE4;
  --color-card-body-on-dark: #B9D2DB;
  --color-muted-on-light: #557080;
  --color-muted-on-dark: #99BDC9;

  /* Surfaces */
  --surface-page: var(--color-off-white);
  --surface-card: var(--color-white);
  --surface-tint: #EAF0F2;
  --surface-navy: var(--color-navy);
  --border-subtle: #DBE4E8;
  --border-card: #D3DEE3;

  /* Type */
  --font-heading: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  /* Spacing scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.75rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 7rem;

  /* Layout */
  --content-max: 1120px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --nav-height: 68px;

  /* Motion */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 150ms;
}
