:root {
  /* Brand palette */
  --color-sky: #38BDF8;
  --color-sky-rgb: 56, 189, 248;
  --color-white: #F8FAFC;
  --color-green: #15803D;
  --color-green-rgb: 21, 128, 61;
  --color-ocean: #075985;
  --color-ocean-rgb: 7, 89, 133;
  --color-sand: #F3E7D3;
  --color-sand-rgb: 243, 231, 211;

  /* Derived neutrals */
  --color-ink: #0B1B22;
  --color-ink-soft: #33454C;
  --color-muted: #5C6E76;
  --color-border: rgba(7, 89, 133, 0.12);
  --color-surface: #FFFFFF;
  --color-surface-alt: var(--color-white);

  /* Semantic */
  --color-accent: var(--color-sky);
  --color-primary: var(--color-ocean);
  --color-success: var(--color-green);
  --color-bg: var(--color-white);

  /* Typography */
  --font-display: 'Fraunces', 'Georgia', serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --fs-h1: clamp(2.4rem, 5vw + 1rem, 4.6rem);
  --fs-h2: clamp(1.8rem, 3vw + 1rem, 3rem);
  --fs-h3: clamp(1.3rem, 1.4vw + 1rem, 1.8rem);
  --fs-body: clamp(1rem, 0.3vw + 0.9rem, 1.125rem);
  --fs-small: 0.875rem;

  /* Spacing scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2.5rem;
  --space-6: 4rem;
  --space-7: 6rem;
  --space-8: 9rem;

  /* Radii & shadows */
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-pill: 999px;

  --shadow-sm: 0 2px 10px rgba(7, 89, 133, 0.08);
  --shadow-md: 0 12px 32px rgba(7, 89, 133, 0.14);
  --shadow-lg: 0 24px 60px rgba(7, 89, 133, 0.20);
  --shadow-glow: 0 0 0 4px rgba(var(--color-sky-rgb), 0.18);

  /* Motion */
  --ease-premium: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out-soft: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 180ms;
  --dur-base: 320ms;
  --dur-slow: 600ms;

  --container-w: 1240px;
  --header-h: 84px;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 0.01ms;
    --dur-base: 0.01ms;
    --dur-slow: 0.01ms;
  }
}
