:root {
  --color-sky: #7EC8E3;
  --color-azure: #4DA6C8;
  --color-steel: #2E7FAD;
  --color-navy: #1A5490;
  --color-ink: #1C1E2D;
  --color-slate: #4A5568;
  --color-mist: #718096;
  --color-cloud: #EDF2F7;
  --color-white: #FFFFFF;
  --color-surface: #F7FAFC;
  --color-surface-alt: #EDF2F7;
  --color-border: #CBD5E0;
  --color-border-light: #E2E8F0;
  --color-focus: #4DA6C8;
  --color-error: #C53030;
  --color-success: #276749;

  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --font-mono: 'DM Mono', 'Courier New', monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;
  --text-7xl: 4.5rem;
  --text-8xl: 6rem;

  --leading-tight: 1.15;
  --leading-snug: 1.35;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;

  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.06em;
  --tracking-wider: 0.12em;
  --tracking-widest: 0.22em;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  --container-max: 1200px;
  --container-wide: 1440px;
  --container-narrow: 720px;
  --container-form: 600px;
  --gutter: clamp(1.5rem, 5vw, 3rem);
  --section-padding-y: clamp(4rem, 8vw, 7rem);
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 14px;
  --border-radius-xl: 24px;
  --border-radius-pill: 9999px;

  --shadow-sm: 0 1px 3px rgba(26, 84, 144, 0.08), 0 1px 2px rgba(26, 84, 144, 0.04);
  --shadow-md: 0 4px 12px rgba(26, 84, 144, 0.10), 0 2px 4px rgba(26, 84, 144, 0.06);
  --shadow-lg: 0 10px 32px rgba(26, 84, 144, 0.12), 0 4px 8px rgba(26, 84, 144, 0.06);
  --shadow-xl: 0 20px 50px rgba(26, 84, 144, 0.15), 0 8px 16px rgba(26, 84, 144, 0.08);
  --shadow-card: 0 2px 8px rgba(26, 84, 144, 0.08);
  --shadow-card-hover: 0 8px 24px rgba(26, 84, 144, 0.15);
  --shadow-nav: 0 2px 12px rgba(26, 84, 144, 0.10);
  --shadow-inset: inset 0 2px 6px rgba(26, 84, 144, 0.06);

  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-decel: cubic-bezier(0, 0, 0.2, 1);
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 400ms;
  --duration-slower: 600ms;
  --duration-page: 800ms;
}
