/* ── ACSP design tokens ──────────────────────────────────── */
:root {
  /* Navy (primary brand) */
  --navy-900: #081a33;
  --navy-800: #0f2747;
  --navy-700: #163463;
  --navy-600: #1f4a8a;

  /* Water blue (secondary) */
  --blue-500: #2e7fd6;
  --blue-400: #4ea0ee;
  --blue-100: #e4efff;
  --blue-50:  #f2f7ff;

  /* Ink / neutrals */
  --ink:      #0b1628;
  --ink-2:    #38465c;
  --muted:    #6b7a91;
  --line:     #dde4ef;
  --line-2:   #eaf0f8;

  /* Paper (warm off-white backgrounds) */
  --paper:    #f6f3ec;
  --paper-2:  #efe9dc;
  --white:    #ffffff;

  /* Accent — safety orange (emergency / CTA) */
  --accent:   #ee6c1a;
  --accent-2: #f59d4a;
  --accent-hover: #d95b0d;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(8,26,51,.06), 0 2px 6px rgba(8,26,51,.04);
  --shadow-md: 0 8px 24px -8px rgba(8,26,51,.15), 0 2px 6px rgba(8,26,51,.06);
  --shadow-lg: 0 30px 60px -30px rgba(8,26,51,.35), 0 10px 20px -10px rgba(8,26,51,.12);

  /* Type families */
  --f-sans:  'Inter', system-ui, -apple-system, sans-serif;
  --f-serif: 'Arvo', 'Roboto Slab', Georgia, serif;
  /* "Mono" token now maps to Inter — all uppercase/tracked labels
     render in the same sans as body copy. Kept as a token so we
     can flip back later without touching every rule. */
  --f-mono:  'Inter', system-ui, -apple-system, sans-serif;

  /* Radii */
  --r-xs: 4px;
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-family: var(--f-sans);
  font-size: 16px;
  line-height: 1.55;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body { min-height: 100vh; overflow-x: hidden; }

img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
ul, ol { list-style: none; }
