:root {
  /* Colors — overridden by config at runtime */
  --color-accent: #E8341A;
  --color-accent-hover: #C42A14;
  --color-bg-primary: #FFFFFF;
  --color-bg-secondary: #F2F2F2;
  --color-bg-dark: #1A1A1A;
  --color-text-primary: #1A1A1A;
  --color-text-secondary: #5C5C5C;
  --color-text-muted: #6B6B6B;
  --color-text-on-dark: #FFFFFF;
  --color-border: #E0E0E0;
  --color-card-overlay: rgba(26, 26, 26, 0.85);

  /* Typography */
  --font-heading: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Source Serif 4', Georgia, serif;
  --font-display: 'Cormorant Garamond', Georgia, serif;

  /* Fluid type scale */
  --text-xs: clamp(0.625rem, 0.58rem + 0.22vw, 0.75rem);
  --text-sm: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-base: clamp(0.8125rem, 0.78rem + 0.3vw, 1rem);
  --text-lg: clamp(1rem, 0.92rem + 0.4vw, 1.375rem);
  --text-xl: clamp(1.25rem, 1.05rem + 0.9vw, 2rem);
  --text-2xl: clamp(1.75rem, 1.4rem + 1.6vw, 3rem);
  --text-3xl: clamp(2rem, 1.5rem + 2.5vw, 4.5rem);
  --text-hero: clamp(2.25rem, 1.6rem + 4.5vw, 7rem);
  --text-display: clamp(2.5rem, 1.8rem + 7vw, 12rem);

  /* Fluid spacing */
  --space-xs: clamp(0.375rem, 0.3rem + 0.3vw, 0.5rem);
  --space-sm: clamp(0.75rem, 0.6rem + 0.5vw, 1rem);
  --space-md: clamp(1rem, 0.8rem + 0.8vw, 1.5rem);
  --space-lg: clamp(1.5rem, 1.2rem + 1.2vw, 2.5rem);
  --space-xl: clamp(2rem, 1.5rem + 2vw, 4rem);
  --space-2xl: clamp(3rem, 2rem + 4vw, 6rem);
  --space-3xl: clamp(4rem, 2.5rem + 6vw, 10rem);

  /* Layout */
  --container-max: 1400px;
  --container-padding: clamp(1rem, 2.5vw, 3rem);
  --section-padding: clamp(3rem, 6vw, 8rem);
  --header-height: clamp(3.5rem, 8vw, 5rem);
  --nav-gutter: 0px;

  /* Component sizes */
  --avatar-size: clamp(72px, 10vw, 100px);
  --tool-icon-size: clamp(40px, 5vw, 48px);
  --testimonial-accent-width: clamp(80px, 12vw, 200px);
  --grid-gap: clamp(0.75rem, 1.5vw, 1.5rem);

  /* Animation */
  --ease-out-expo: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: 200ms;
  --duration-normal: 400ms;
  --duration-slow: 800ms;
  --reveal-duration: 800ms;

  /* Effects */
  --shadow-subtle: 0 2px 20px rgba(0, 0, 0, 0.04);
  --shadow-hover: 0 8px 40px rgba(0, 0, 0, 0.08);
  --radius-sm: 2px;
  --radius-md: 4px;

  /* Safe areas (notched devices) */
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}
