:root {
  /* ── Brand Colors ── */
  --color-primary:       #0A1F44;
  --color-secondary:     #173B7A;
  --color-accent:        #3B82F6;
  --color-accent-hover:  #2563EB;
  --color-accent-light:  #EFF6FF;

  /* ── Backgrounds ── */
  --bg-white:   #ffffff;
  --bg-light:   #F8FAFC;
  --bg-subtle:  #EEF2F7;

  /* ── Text ── */
  --text-dark:   #111827;
  --text-medium: #374151;
  --text-light:  #6B7280;
  --text-muted:  #9CA3AF;
  --text-white:  #FFFFFF;

  /* ── Gradients ── */
  --gradient-primary: linear-gradient(135deg, #0A1F44 0%, #173B7A 50%, #1e4d9b 100%);
  --gradient-accent:  linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);
  --gradient-dark:    linear-gradient(180deg, #0A1F44 0%, #0d2654 100%);
  --gradient-hero:    linear-gradient(135deg, #0A1F44 0%, #173B7A 60%, #1a4fa0 100%);

  /* ── Typography ── */
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* ── Font Sizes ── */
  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  1.875rem;
  --text-4xl:  2.25rem;
  --text-5xl:  3rem;
  --text-6xl:  3.75rem;
  --text-7xl:  4.5rem;

  /* ── Font Weights ── */
  --fw-regular:    400;
  --fw-medium:     500;
  --fw-semibold:   600;
  --fw-bold:       700;
  --fw-extrabold:  800;
  --fw-black:      900;

  /* ── Line Heights ── */
  --lh-tight:   1.2;
  --lh-snug:    1.375;
  --lh-normal:  1.5;
  --lh-relaxed: 1.625;
  --lh-loose:   2;

  /* ── Spacing Scale ── */
  --sp-1:  0.25rem;
  --sp-2:  0.5rem;
  --sp-3:  0.75rem;
  --sp-4:  1rem;
  --sp-5:  1.25rem;
  --sp-6:  1.5rem;
  --sp-8:  2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;
  --sp-32: 8rem;

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

  /* ── Shadows ── */
  --shadow-xs:  0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-sm:  0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  --shadow-md:  0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-lg:  0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --shadow-xl:  0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --shadow-accent: 0 8px 25px -5px rgba(59, 130, 246, 0.4);
  --shadow-primary: 0 8px 25px -5px rgba(10, 31, 68, 0.4);

  /* ── Transitions ── */
  --transition-fast:   150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base:   250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow:   400ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-spring: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Z-index Stack ── */
  --z-below:   -1;
  --z-base:     0;
  --z-above:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-nav:      1000;
  --z-modal:    2000;
  --z-toast:    3000;

  /* ── Layout ── */
  --container-max:     1280px;
  --container-padding: 1.5rem;
  --nav-height:        72px;

  /* ── Glassmorphism ── */
  --glass-bg:     rgba(255, 255, 255, 0.85);
  --glass-border: rgba(255, 255, 255, 0.25);
  --glass-blur:   blur(20px);

  /* ── Phase Colors ── */
  --phase-1: #F59E0B;
  --phase-2: #10B981;
  --phase-3: #EF4444;
  --phase-4: #3B82F6;
}
