/* Design tokens — iacelera */
:root {
  /* Colors */
  --color-navy: #0B1F3A;
  --color-navy-soft: #10294f;
  --color-blue: #2563EB;
  --color-blue-soft: #3b82f6;
  --color-accent: #34D399;
  --color-accent-soft: rgba(52, 211, 153, 0.12);
  --color-white: #FFFFFF;
  --color-gray-light: #F4F6F9;
  --color-gray-mid: #94A3B8;
  --color-gray-dark: #1E293B;
  --color-border: #E2E8F0;

  --color-bg: var(--color-white);
  --color-text: var(--color-gray-dark);
  --color-text-muted: var(--color-gray-mid);
  --color-text-on-dark: #E7ECF5;
  --color-text-on-dark-muted: #94A3B8;

  /* Typography */
  --font-heading: "Manrope", "Segoe UI", sans-serif;
  --font-body: "Inter", -apple-system, "Segoe UI", sans-serif;

  --fs-h1: clamp(2.5rem, 5vw, 4rem);
  --fs-h2: clamp(2rem, 3.5vw, 2.75rem);
  --fs-h3: clamp(1.4rem, 2.5vw, 2rem);
  --fs-h4: 1.25rem;
  --fs-h5: 1.125rem;
  --fs-eyebrow: 0.8125rem;
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-lead: clamp(1.125rem, 1.5vw, 1.375rem);

  --lh-heading: 1.15;
  --lh-body: 1.65;

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

  --section-padding-y: clamp(64px, 8vw, 120px);
  --container-width: 1200px;
  --container-padding: clamp(20px, 5vw, 48px);

  /* Radii & shadows */
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-full: 999px;

  --shadow-sm: 0 2px 8px rgba(11, 31, 58, 0.06);
  --shadow-md: 0 12px 32px rgba(11, 31, 58, 0.10);
  --shadow-lg: 0 24px 60px rgba(11, 31, 58, 0.16);
  --shadow-glow: 0 0 0 1px rgba(52, 211, 153, 0.25), 0 12px 32px rgba(52, 211, 153, 0.15);

  --blur-glass: blur(16px);

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 180ms;
  --duration-base: 320ms;
  --duration-slow: 600ms;

  --z-header: 100;
  --z-overlay: 200;
}
