:root {
  /* Color palette */
  --color-primary: #071a33;
  --color-primary-light: #132c52;
  --color-accent: #155eef;
  --color-accent-dark: #1743a8;
  --color-accent-2: #22d3ee;
  --color-bg: #fbfcfe;
  --color-surface: #ffffff;
  --color-surface-alt: #eff6ff;
  --color-text: #0f172a;
  --color-text-invert: #f5f7fc;
  --color-muted: #64748b;
  --color-muted-invert: #a9b3c9;
  --color-border: #e2e8f4;
  --color-border-dark: #24325e;
  --color-success: #1f9d6c;
  --color-warning: #d97b1f;
  --color-danger: #d9432f;

  /* Gradients */
  --gradient-primary: linear-gradient(135deg, #071a33 0%, #132c52 55%, #1743a8 100%);
  --gradient-accent: linear-gradient(120deg, #155eef 0%, #22d3ee 100%);
  --gradient-surface: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);

  /* Typography */
  --font-heading: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
  --font-body: "Inter", "Segoe UI", system-ui, sans-serif;

  --fs-h1: clamp(2.25rem, 1.6rem + 3vw, 3.75rem);
  --fs-h2: clamp(1.75rem, 1.4rem + 1.6vw, 2.75rem);
  --fs-h3: clamp(1.375rem, 1.2rem + 0.8vw, 1.875rem);
  --fs-h4: clamp(1.125rem, 1.05rem + 0.35vw, 1.375rem);
  --fs-lead: clamp(1.05rem, 0.98rem + 0.3vw, 1.25rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-xs: 0.75rem;

  --lh-tight: 1.15;
  --lh-heading: 1.25;
  --lh-body: 1.65;

  /* Spacing scale */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 6.5rem;

  /* Layout */
  --container-max: 1280px;
  --container-pad: clamp(1.25rem, 4vw, 2.5rem);
  --header-height: 84px;
  --header-height-scrolled: 68px;

  /* Radius */
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 30px;
  --radius-pill: 999px;

  /* Shadow */
  --shadow-sm: 0 2px 8px rgba(7, 26, 51, 0.06);
  --shadow-md: 0 8px 24px rgba(7, 26, 51, 0.1);
  --shadow-lg: 0 20px 48px rgba(7, 26, 51, 0.16);
  --shadow-glow: 0 0 0 1px rgba(21, 94, 239, 0.15), 0 12px 32px rgba(21, 94, 239, 0.2);

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms;
  --dur-base: 320ms;
  --dur-slow: 620ms;

  /* Z-index scale */
  --z-header: 100;
  --z-overlay: 200;
  --z-modal: 300;
}
