/* ==========================================================================
   Design Tokens — "The Architectural Ledger"
   Single source of truth for all design values.
   ========================================================================== */

:root {
  /* ---- Colors: Core Palette ---- */
  --color-primary: #001E40;
  --color-primary-container: #003366;
  --color-primary-fixed: #D5E3FF;
  --color-primary-fixed-dim: #A7C8FF;
  --color-on-primary: #FFFFFF;
  --color-on-primary-container: #799DD6;
  --color-on-primary-fixed: #001B3C;
  --color-on-primary-fixed-variant: #1F477B;
  --color-inverse-primary: #A7C8FF;

  --color-secondary: #006492;
  --color-secondary-container: #58BCFD;
  --color-secondary-fixed: #CAE6FF;
  --color-secondary-fixed-dim: #8CCDFF;
  --color-on-secondary: #FFFFFF;
  --color-on-secondary-container: #004A6D;
  --color-on-secondary-fixed: #001E2F;
  --color-on-secondary-fixed-variant: #004B6F;

  --color-tertiary: #381300;
  --color-tertiary-container: #592300;
  --color-tertiary-fixed: #FFDBCA;
  --color-tertiary-fixed-dim: #FFB690;
  --color-on-tertiary: #FFFFFF;
  --color-on-tertiary-container: #D8885C;
  --color-on-tertiary-fixed: #341100;
  --color-on-tertiary-fixed-variant: #723610;

  /* ---- Colors: Surfaces ---- */
  --color-surface: #F8F9FA;
  --color-surface-dim: #D9DADB;
  --color-surface-bright: #F8F9FA;
  --color-surface-container-lowest: #FFFFFF;
  --color-surface-container-low: #F3F4F5;
  --color-surface-container: #EDEEEF;
  --color-surface-container-high: #E7E8E9;
  --color-surface-container-highest: #E1E3E4;
  --color-surface-variant: #E1E3E4;
  --color-surface-tint: #3A5F94;
  --color-on-surface: #191C1D;
  --color-on-surface-variant: #43474F;
  --color-inverse-surface: #2E3132;
  --color-inverse-on-surface: #F0F1F2;
  --color-background: #F8F9FA;
  --color-on-background: #191C1D;

  /* ---- Colors: Utility ---- */
  --color-outline: #737780;
  --color-outline-variant: #C3C6D1;
  --color-error: #BA1A1A;
  --color-error-container: #FFDAD6;
  --color-on-error: #FFFFFF;
  --color-on-error-container: #93000A;

  /* ---- Typography ---- */
  --font-headline: 'Manrope', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-label: 'Inter', sans-serif;

  /* Display */
  --text-display-lg: 3rem;
  --text-display-md: 2.5rem;
  --text-display-sm: 2rem;
  --lh-display: 1.1;
  --ls-display: -0.02em;

  /* Headline */
  --text-headline-lg: 1.75rem;
  --text-headline-md: 1.5rem;
  --lh-headline: 1.25;

  /* Title */
  --text-title-lg: 1.375rem;
  --text-title-md: 1rem;
  --lh-title: 1.35;

  /* Body */
  --text-body-lg: 1rem;
  --text-body-md: 0.875rem;
  --lh-body: 1.6;

  /* Label */
  --text-label-lg: 0.875rem;
  --text-label-md: 0.75rem;
  --text-label-sm: 0.6875rem;
  --ls-label: 0.05em;
  --lh-label: 1.4;

  /* ---- Spacing (4px base) ---- */
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-6: 1.5rem;    /* 24px */
  --space-8: 2rem;      /* 32px */
  --space-10: 2.5rem;   /* 40px */
  --space-12: 3rem;     /* 48px */
  --space-16: 4rem;     /* 64px */
  --space-20: 5rem;     /* 80px */
  --space-24: 6rem;     /* 96px */

  /* ---- Border Radius ---- */
  --radius-sm: 0.125rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-3xl: 1.5rem;
  --radius-full: 9999px;

  /* ---- Shadows ---- */
  --shadow-ambient: 0 4px 40px rgba(25, 28, 29, 0.04);
  --shadow-sm: 0 1px 3px rgba(25, 28, 29, 0.06);

  /* ---- Brand Accent (Teal) ---- */
  --color-teal: #008080;
  --color-teal-hover: #006666;

  /* ---- Gradients ---- */
  --gradient-cta: linear-gradient(135deg, var(--color-secondary), var(--color-secondary-container));

  /* ---- Glass ---- */
  --glass-bg: rgba(248, 249, 250, 0.8);
  --glass-blur: blur(24px);

  /* ---- Breakpoints (for reference, used in media queries) ---- */
  /* sm: 640px, md: 768px, lg: 1024px, xl: 1280px */

  /* ---- Transitions ---- */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow: 500ms ease;
}
