:root {
  /* Color — sampled directly from the approved mockup */
  --color-ink: #05192E;
  --color-navy: #0A2A50;
  --color-navy-deep: #05192E;
  --color-gold: #BA812E;
  --color-gold-light: #D4A24E;
  --color-cream: #F6EDE7;
  --color-surface: #FFFFFF;
  --color-border: #E9CEBA;
  --color-muted: #5B5347;
  --color-success: #1F8A5C;
  --color-warning: #B4791F;
  --color-error: #B23A3A;

  /* Type */
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'SFMono-Regular', Menlo, monospace;

  --fs-h1: clamp(2.25rem, 1.6rem + 3vw, 3.75rem);
  --fs-h2: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
  --fs-h3: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-eyebrow: 0.75rem;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* Layout */
  --container-max: 1200px;
  --radius-card: 6px;
  --radius-input: 4px;
  --radius-pill: 999px;

  --shadow-card: 0 1px 2px rgba(5, 25, 46, 0.05), 0 4px 16px rgba(5, 25, 46, 0.05);
  --shadow-card-hover: 0 2px 4px rgba(5, 25, 46, 0.08), 0 12px 28px rgba(5, 25, 46, 0.10);

  --ease-standard: cubic-bezier(0.2, 0.7, 0.3, 1);
  --duration-standard: 220ms;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
