:root {
  /* ─── Primary Palette (from logo deep indigo-blue) ─── */
  --color-primary: #3F37C9;
  --color-primary-light: #5A52E0;
  --color-primary-dark: #2D28A0;
  --color-primary-50: #EDEDFC;
  --color-primary-100: #D4D2F7;
  --color-primary-200: #A9A5EF;
  --color-primary-700: #2D28A0;
  --color-primary-900: #1A1660;

  /* ─── Accent (deeper blue for CTAs — no pink) ─── */
  --color-accent: #2563EB;
  --color-accent-light: #3B82F6;
  --color-accent-dark: #1D4ED8;
  --color-accent-glow: rgba(37, 99, 235, 0.35);

  /* ─── Secondary (light teal for trust/success) ─── */
  --color-secondary: #4CC9F0;
  --color-secondary-light: #7DD8F5;
  --color-secondary-dark: #25A8D4;

  /* ─── Neutrals (blue-tinted grays) ─── */
  --color-neutral-50: #F7F7FB;
  --color-neutral-100: #EDEDF5;
  --color-neutral-200: #D8D8E8;
  --color-neutral-300: #B8B8D0;
  --color-neutral-400: #8E8EAE;
  --color-neutral-500: #6B6B8A;
  --color-neutral-600: #4A4A66;
  --color-neutral-700: #2E2E48;
  --color-neutral-800: #1A1A32;
  --color-neutral-900: #0A0A1E;

  /* ─── Semantic ─── */
  --color-success: #10B981;
  --color-warning: #F59E0B;
  --color-error: #EF4444;

  /* ─── Backgrounds ─── */
  --bg-body: #FFFFFF;
  --bg-section-alt: var(--color-neutral-50);
  --bg-dark: var(--color-neutral-900);
  --bg-dark-card: rgba(255, 255, 255, 0.05);

  /* ─── Gradients (all-blue palette) ─── */
  --gradient-hero: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
  --gradient-cta: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent-light) 100%);
  --gradient-text: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
  --gradient-glass: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.02) 100%);
  --gradient-dark-section: linear-gradient(180deg, #0C0E2B 0%, #141638 50%, #0C0E2B 100%);
  --gradient-subtle-blue: linear-gradient(180deg, rgba(63,55,201,0.03) 0%, rgba(76,201,240,0.04) 50%, rgba(63,55,201,0.02) 100%);

  /* ─── Typography ─── */
  --font-display: 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;

  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.8125rem);
  --text-sm: clamp(0.8125rem, 0.775rem + 0.2vw, 0.875rem);
  --text-base: clamp(0.9375rem, 0.9rem + 0.2vw, 1rem);
  --text-lg: clamp(1.0625rem, 1rem + 0.3vw, 1.125rem);
  --text-xl: clamp(1.1875rem, 1.1rem + 0.4vw, 1.3125rem);
  --text-2xl: clamp(1.375rem, 1.2rem + 0.75vw, 1.625rem);
  --text-3xl: clamp(1.625rem, 1.4rem + 1vw, 2rem);
  --text-4xl: clamp(2rem, 1.6rem + 1.75vw, 2.75rem);
  --text-5xl: clamp(2.5rem, 2rem + 2.25vw, 3.5rem);

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  --leading-tight: 1.15;
  --leading-snug: 1.3;
  --leading-normal: 1.6;
  --leading-relaxed: 1.75;

  /* ─── Spacing ─── */
  --space-xs: clamp(0.25rem, 0.2rem + 0.25vw, 0.5rem);
  --space-sm: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  --space-md: clamp(0.75rem, 0.6rem + 0.75vw, 1rem);
  --space-lg: clamp(1rem, 0.8rem + 1vw, 1.5rem);
  --space-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  --space-2xl: clamp(2rem, 1.5rem + 2.5vw, 3rem);
  --space-3xl: clamp(3rem, 2rem + 4vw, 5rem);
  --space-section: clamp(4rem, 3rem + 5vw, 7rem);

  /* ─── Layout ─── */
  --container-max: 1200px;
  --container-narrow: 800px;
  --container-padding: clamp(1rem, 0.5rem + 2.5vw, 2rem);

  /* ─── Borders & Radius ─── */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --radius-full: 9999px;

  /* ─── Shadows ─── */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.06);
  --shadow-xl: 0 20px 48px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.08);
  --shadow-glow-accent: 0 4px 20px var(--color-accent-glow);
  --shadow-glow-primary: 0 4px 24px rgba(63, 55, 201, 0.25);

  /* ─── Transitions ─── */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 400ms;

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