:root {
  /* Colors */
  --color-bg: #181818;
  --color-bg-elevated: #1e1e1e;
  --color-bg-subtle: #242424;
  --color-accent: #2592AB;
  --color-accent-light: #3DB8D1;
  --color-accent-glow: rgba(37, 146, 171, 0.25);
  --color-text: #FFF2E9;
  --color-text-muted: rgba(255, 242, 233, 0.6);
  --color-text-faint: rgba(255, 242, 233, 0.15);

  /* Typography */
  --font-display: 'Libre Baskerville', Georgia, serif;
  --font-body: 'General Sans', system-ui, -apple-system, sans-serif;

  /* Spacing (8px base) */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 8rem;
  --space-2xl: 12rem;

  /* Type Scale (fluid) */
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
  --text-lg: clamp(1.25rem, 1rem + 1vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  --text-2xl: clamp(2rem, 1.5rem + 2.5vw, 3rem);
  --text-3xl: clamp(2.075rem, 1.66rem + 2.49vw, 3.735rem);
  --text-hero: clamp(2.49rem, 1.66rem + 4.15vw, 5.81rem);

  /* Transitions */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --duration-fast: 200ms;
  --duration-normal: 400ms;
  --duration-slow: 800ms;

  /* Layout */
  --max-width: 92vw;
  --gutter: clamp(1rem, 3vw, 3rem);
  --section-gap: clamp(4rem, 10vh, 10rem);
}
