/* Design tokens — single source of truth for colors, type, spacing, motion. */

:root {
  /* === Brand colors === */
  --brand-navy: #15315A;
  --brand-navy-soft: #1F3F6E;
  --brand-navy-deep: #0D2342;
  --brand-terra: #C8552E;
  --brand-terra-soft: #D4633C;
  --brand-cyan: #7BB8E0;

  /* === Surfaces === */
  --surface-base: #FAFAF7;
  --surface-raised: #FFFFFF;
  --surface-sunken: #F0EFEA;

  /* === Text === */
  --text-primary: #1A1A1A;
  --text-secondary: #5C5C57;
  --text-on-dark: #FAFAF7;

  /* === Lines === */
  --border: #E5E3DE;
  --border-strong: #C9C6BD;

  /* === Semantic === */
  --success: #2E7D5B;
  --error: #B83A2E;
  --warning: #D4933A;

  /* === Typography === */
  --font-display: 'Fraunces', 'Times New Roman', Georgia, serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;

  /* === Spacing scale === */
  --space-2xs: 4px;
  --space-xs:  8px;
  --space-sm:  12px;
  --space-md:  16px;
  --space-lg:  24px;
  --space-xl:  40px;
  --space-2xl: 64px;
  --space-3xl: 96px;
  --space-4xl: 144px;

  /* === Radii === */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 9999px;

  /* === Motion === */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast:    200ms;
  --dur-base:    400ms;
  --dur-slow:    800ms;

  /* === Layout === */
  --container-max: 1200px;
  --header-height: 88px;
}

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