/* Design tokens - single source of truth for color, spacing, type, motion. */

:root {
  --brand-navy: #0A3B75;
  --brand-navy-deep: #062A57;

  --background-main: #F8F9FA;
  --surface: #FFFFFF;
  --surface-alt: #F1F4F9;
  --text-primary: #0A3B75;
  --text-secondary: #4A5568;
  --text-on-accent: #FFFFFF;
  --accent: #1858A8;
  --accent-hover: #134687;
  --border: #E2E8F0;
  --border-strong: #CBD5E1;

  --shadow-sm: 0 1px 2px rgba(10, 59, 117, 0.06);
  --shadow-md: 0 8px 24px rgba(10, 59, 117, 0.08);
  --shadow-lg: 0 24px 48px rgba(10, 59, 117, 0.12);

  --glass-bg: rgba(255, 255, 255, 0.72);
  --glass-border: rgba(10, 59, 117, 0.12);
  --scrim: rgba(8, 22, 48, 0.55);

  --font-serif: 'Merriweather', 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

  --fs-50: clamp(0.75rem, 0.72rem + 0.15vw, 0.8125rem);
  --fs-100: clamp(0.875rem, 0.85rem + 0.15vw, 0.9375rem);
  --fs-200: clamp(1rem, 0.97rem + 0.2vw, 1.0625rem);
  --fs-300: clamp(1.125rem, 1.08rem + 0.3vw, 1.25rem);
  --fs-400: clamp(1.25rem, 1.18rem + 0.5vw, 1.5rem);
  --fs-500: clamp(1.5rem, 1.35rem + 0.9vw, 2rem);
  --fs-600: clamp(2rem, 1.7rem + 1.5vw, 2.75rem);
  --fs-700: clamp(2.5rem, 2rem + 2.5vw, 3.75rem);
  --fs-800: clamp(3rem, 2.2rem + 3.5vw, 4.75rem);

  --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;

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  --header-h: 72px;
  --container-max: 1200px;
  --container-pad: clamp(1rem, 3vw, 2rem);

  --ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-emphatic: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 160ms;
  --dur-base: 280ms;
  --dur-slow: 520ms;
}

[data-theme='light'] {
  color-scheme: light;
  --background-main: #F8F9FA;
  --surface: #FFFFFF;
  --surface-alt: #F1F4F9;
  --text-primary: #0A3B75;
  --text-secondary: #4A5568;
  --accent: #1858A8;
  --accent-hover: #134687;
  --border: #E2E8F0;
  --border-strong: #CBD5E1;
  --glass-bg: rgba(255, 255, 255, 0.72);
  --glass-border: rgba(10, 59, 117, 0.12);
  --shadow-sm: 0 1px 2px rgba(10, 59, 117, 0.06);
  --shadow-md: 0 8px 24px rgba(10, 59, 117, 0.08);
  --shadow-lg: 0 24px 48px rgba(10, 59, 117, 0.12);
  --scrim: rgba(8, 22, 48, 0.55);
}

[data-theme='dark'] {
  color-scheme: dark;
  --background-main: #0B1120;
  --surface: #131E32;
  --surface-alt: #182846;
  --text-primary: #F8FAFC;
  --text-secondary: #94A3B8;
  --accent: #3B82F6;
  --accent-hover: #5B9BFF;
  --border: #1E293B;
  --border-strong: #2A3A55;
  --glass-bg: rgba(19, 30, 50, 0.62);
  --glass-border: rgba(148, 163, 184, 0.18);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 24px 48px rgba(0, 0, 0, 0.55);
  --scrim: rgba(3, 8, 20, 0.7);
}
