:root {
  /* ── Colors ── */
  --color-navy: #024064;
  --color-navy-light: #0E3060;
  --color-navy-dark: #091D38;
  --color-teal: #0A8F6C;
  --color-teal-light: #0DB88A;
  --color-teal-dark: #087A5C;
  --color-teal-bg: #E8F5F1;
  --color-teal-figma: #17A086;
  --color-green-100: #E1F3D9;
  --color-white: #FFFFFF;
  --color-off-white: #F7F8FA;
  --color-gray-50: #F5F6F8;
  --color-gray-100: #EEF0F4;
  --color-gray-200: #D9DCE3;
  --color-gray-300: #B8BCC6;
  --color-gray-400: #8C919E;
  --color-gray-500: #6B7080;
  --color-gray-600: #4A4F5C;
  --color-text: #024064;
  --color-text-light: #4A5568;
  --color-text-muted: #6B7C8F;
  --color-border: #E2E5EB;
  --color-figma-border: #B1C4CF;
  --color-border-light: #EEF0F4;
  --color-accent-orange: #E8913A;
  --color-accent-green: #2DB87F;
  --color-accent-blue: #3B82F6;
  --color-accent-purple: #7C3AED;
  --color-accent-red: #EF4444;
  --color-announcement-bar-text-main: #024064;

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

  --fs-xs: clamp(0.6875rem, 0.65rem + 0.15vw, 0.75rem);     /* 11-12px */
  --fs-sm: clamp(0.75rem, 0.7rem + 0.2vw, 0.875rem);         /* 12-14px */
  --fs-base: clamp(0.875rem, 0.825rem + 0.2vw, 1rem);         /* 14-16px */
  --fs-md: clamp(1rem, 0.925rem + 0.3vw, 1.125rem);           /* 16-18px */
  --fs-lg: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);           /* 18-22px */
  --fs-xl: clamp(1.25rem, 1.05rem + 0.8vw, 1.75rem);          /* 20-28px */
  --fs-2xl: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);           /* 24-36px */
  --fs-3xl: clamp(1.75rem, 1.35rem + 1.6vw, 3rem);            /* 28-48px */
  --fs-4xl: clamp(2rem, 1.5rem + 2vw, 3.5rem);                /* 32-56px */

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  --lh-tight: 1.2;
  --lh-snug: 1.35;
  --lh-normal: 1.5;
  --lh-relaxed: 1.7;

  --ls-tight: -0.02em;
  --ls-normal: 0;
  --ls-wide: 0.05em;
  --ls-wider: 0.1em;

  /* ── Spacing (8pt scale) ── */
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.25rem;   /* 20px */
  --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 */
  --space-32: 8rem;     /* 128px */

  /* ── Layout ── */
  --container-max: 1200px;
  --container-padding: clamp(1rem, 3vw, 1.5rem);
  --container-wide: 1224px;

  /* ── Borders & Radius ── */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm: 0 1px 2px rgba(11, 37, 69, 0.05);
  --shadow-md: 0 4px 12px rgba(11, 37, 69, 0.08);
  --shadow-lg: 0 8px 24px rgba(11, 37, 69, 0.1);
  --shadow-xl: 0 12px 40px rgba(11, 37, 69, 0.12);

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

  /* ── Z-index ── */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;

  /* ── Header ── */
  --header-top-height: 40px;
  --header-main-height: 84px;
  --header-total-height: calc(var(--header-top-height) + var(--header-main-height));
  --header-logo-height: 44px;
  --header-nav-font-size: var(--fs-base);
  --header-chevron-size: 14px;
}
