/* Hallmark · tokens · theme: custom, anchored on the USCLI legacy palette (structure studied from aap.org)
 * institutional navy #1e293b · navy deep #0f172a · authority gold #b45309 · amber #f59e0b · slate neutrals
 * axes: light / roman-serif display over humanist sans / navy primary + warm gold accent
 */

@font-face {
  font-family: "Source Serif 4";
  src: url("/fonts/source-serif-4.woff2") format("woff2");
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("/fonts/source-sans-3.woff2") format("woff2");
  font-weight: 400 800;
  font-display: swap;
}

:root {
  color-scheme: only light;

  /* Surfaces */
  --color-paper: oklch(99.6% 0.002 248);
  --color-gray: oklch(98.4% 0.003 248);   /* slate-50 #f8fafc */
  --color-gray-2: oklch(96.8% 0.007 248); /* slate-100 #f1f5f9 */
  --color-sky: oklch(98.7% 0.022 95);     /* amber-50 #fffbeb */
  --color-card: oklch(99.9% 0.002 250);

  /* Institutional navy (legacy brand) */
  --color-blue: oklch(27.9% 0.041 260);   /* #1e293b */
  --color-blue-deep: oklch(20.8% 0.042 265); /* #0f172a */
  --color-blue-mid: oklch(37.2% 0.044 257);  /* #334155 */
  --color-link: oklch(55.5% 0.146 49);    /* authority gold #b45309 */
  --color-link-hover: oklch(47.3% 0.137 46); /* #92400e */
  --color-on-blue: oklch(98.4% 0.003 248);
  --color-on-blue-muted: oklch(86.9% 0.022 252); /* slate-300 #cbd5e1 */

  /* Text */
  --color-ink: oklch(20.8% 0.042 265);    /* #0f172a */
  --color-ink-2: oklch(37.2% 0.044 257);  /* #334155 */
  --color-muted: oklch(44.6% 0.043 257);  /* slate-600 #475569 */

  /* Lines */
  --color-rule: oklch(92.9% 0.013 255);   /* slate-200 #e2e8f0 */
  --color-rule-strong: oklch(86.9% 0.022 252);

  /* Amber: highlights on navy, labels, small marks */
  --color-gold: oklch(76.9% 0.165 70);    /* amber-500 #f59e0b */
  --color-gold-hover: oklch(82.8% 0.165 84); /* amber-400 #fbbf24 */
  --color-gold-text: oklch(55.5% 0.146 49);
  --color-focus: oklch(66.6% 0.179 58);   /* amber-600 #d97706 */

  /* Photo overlay for text on images */
  --overlay-tile: linear-gradient(to top, oklch(20.8% 0.042 265 / 0.9) 0%, oklch(20.8% 0.042 265 / 0.5) 42%, oklch(20.8% 0.042 265 / 0) 72%);

  /* Type */
  --font-display: "Source Serif 4", "Iowan Old Style", Georgia, serif;
  --font-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-wordmark: "Source Serif 4", Georgia, serif;
  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-base: 1.0625rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: clamp(1.6rem, 1.3rem + 1vw, 2rem);
  --text-3xl: clamp(1.9rem, 1.4rem + 1.6vw, 2.5rem);
  --text-display: clamp(2.4rem, 1.6rem + 2.8vw, 3.6rem);

  /* Space: 4pt 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: 3rem;
  --space-8: 4.5rem;
  --space-9: 6rem;

  /* Shape, depth, motion */
  --radius: 4px;
  --shadow-card: 0 1px 2px oklch(20.8% 0.042 265 / 0.06), 0 4px 14px oklch(20.8% 0.042 265 / 0.07);
  --shadow-card-hover: 0 2px 4px oklch(20.8% 0.042 265 / 0.08), 0 10px 24px oklch(20.8% 0.042 265 / 0.12);
  --shadow-panel: 0 16px 36px -10px oklch(20.8% 0.042 265 / 0.22);
  --shadow-edge: oklch(20.8% 0.042 265 / 0.16);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-short: 140ms;

  /* Layout */
  --wide: 84rem;
  --measure: 70ch;
}
