/* Design tokens — derived from the live-site audit (docs/WEBSITE-AND-MLS-AUDIT.md §3). */
:root {
  /* colour */
  --color-navy: #002347;
  --color-navy-600: #002349;
  --color-navy-800: #001a35;
  --color-ink: #1a1a1a;
  --color-ink-70: rgba(26, 26, 26, 0.7);
  --color-black: #000000;
  --color-charcoal: #1f1f1f;
  --color-grey-500: #8f8f8f;
  --color-grey-300: #c9c9c9;
  --color-grey-100: #f0f0f0;
  --color-grey-50: #fafafa;
  --color-white: #ffffff;
  --color-white-70: rgba(255, 255, 255, 0.72); /* footer fine print: raised from .4 for contrast */
  --color-border: #e5e5e5;
  --color-error: #b3261e;
  --color-success: #1b6b3a;
  --color-focus: #ffbf47;

  /* type */
  --font-heading: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-sub: "Montserrat", system-ui, sans-serif; /* proxima-nova substitute until licensed (plan §1) */
  --font-body: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-hero: clamp(1.9rem, 1.2rem + 2.2vw, 2.6rem);
  --fs-h1: clamp(1.75rem, 1.2rem + 1.8vw, 2.4rem);
  --fs-h2: clamp(1.35rem, 1.05rem + 1vw, 1.75rem);
  --fs-h3: 1.25rem;
  --fs-h4: 1.05rem;
  --fs-body: 1.125rem;
  --fs-small: 0.9375rem;
  --fs-nav: 0.8125rem;
  --lh-body: 1.6;
  --lh-tight: 1.2;
  --tracking-caps: 0.125em;
  --tracking-wide: 0.22em;

  /* layout */
  --container: 1200px;
  --container-narrow: 820px;
  --gutter: 1rem;
  --section-y: clamp(3rem, 6vw, 6rem);
  --radius: 0;
  --radius-pill: 999px;
  --shadow-card: 0 1px 6px rgba(0, 0, 0, 0.12);
  --shadow-card-hover: 0 6px 18px rgba(0, 0, 0, 0.18);
  --header-h: 84px;
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (min-width: 768px) { :root { --gutter: 1.5rem; } }
@media (min-width: 1200px) { :root { --gutter: 2rem; --header-h: 96px; } }
