:root {
  /* Brand */
  --color-accent:        #e23d46;
  /* WCAG AA-compliant variant of the accent: #e23d46 fails contrast for
     white-text-on-red (header bar, lang-switch pill) and red-text-on-white
     (body links, breadcrumbs). Use --color-accent-strong for surfaces where
     a contrast ratio of >= 4.5:1 matters; keep --color-accent for purely
     decorative use (eyebrow chip, dividers). */
  --color-accent-strong: #c8323a;
  --color-accent-hover:  #a8262d;
  --color-button:        #1B2D45;
  --color-button-hover:  #c8323a;
  --color-button-text:   #ffffff;

  /* Surfaces */
  --color-bg:            #fdfaf5;
  --color-bg-alt:        #f5efe4;
  --color-surface:       #ffffff;
  --color-ink:           #1a1f2e;
  --color-ink-muted:     #4a5468;
  --color-line:          #e5dccc;

  /* Semantic */
  --color-focus-ring:    #e23d46;
  --color-success:       #2f7a4d;
  --color-error:         #b3261e;

  /* Type scale (modular, 1.25 ratio) */
  --font-serif: 'Alegreya', Georgia, 'Times New Roman', serif;
  --font-sans:  'Mulish', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fs-100: 0.8rem;
  --fs-200: 1rem;
  --fs-300: 1.25rem;
  --fs-400: 1.563rem;
  --fs-500: 1.953rem;
  --fs-600: 2.441rem;
  --fs-700: 3.052rem;
  --fs-800: clamp(3rem, 6vw, 4.768rem);

  /* Spacing (4px base) */
  --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: 4rem;
  --space-9: 6rem;

  /* Radii + shadow */
  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --radius-pill: 999px;
  --shadow-card: 0 8px 24px -12px rgba(26, 31, 46, 0.18);

  /* Motion */
  --ease-smooth:   cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 180ms;
  --duration-base: 300ms;
  --duration-slow: 600ms;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-base: 0ms;
    --duration-slow: 0ms;
  }
}
