:root {
  color-scheme: light;

  /* Gray palette — monochrome base */
  --color-canvas: #B2B2B2;
  --color-surface: #FFFFFF;
  --color-surface-2: #C8C8C8;
  --color-surface-elevated: #D9D9D9;
  --color-surface-glass: rgba(255, 255, 255, 0.5);

  --color-border: #999999;
  --color-border-subtle: rgba(0, 0, 0, 0.1);
  --color-border-strong: #888888;
  --color-border-hover: #666666;

  /* Text — black scale */
  --color-text: #000000;
  --color-text-bold: #000000;
  --color-text-secondary: #333333;
  --color-text-tertiary: #666666;
  --color-text-inverse: #000000;

  /* Accent — emerald, used sparingly */
  --color-accent: #34D399;
  --color-accent-soft: rgba(52, 211, 153, 0.1);
  --color-accent-glow: rgba(52, 211, 153, 0.06);

  /* Data colors — muted, only for visualizations */
  --color-data-blue: #60A5FA;
  --color-data-green: #34D399;
  --color-data-amber: #FBBF24;
  --color-data-red: #F87171;
  --color-data-violet: #A78BFA;

  /* Semantic */
  --color-success: #34D399;
  --color-warning: #FBBF24;
  --color-danger: #F87171;
  --color-info: #60A5FA;
  --color-violet: #A78BFA;

  /* Zone backgrounds */
  --zone-hero:         #A0A0A0;
  --zone-trust:        #A0A0A0;
  --zone-problem:      #000000;
  --zone-signal:       #000000;
  --zone-features:     #000000;
  --zone-how:          #E0E0E0;
  --zone-outcomes:     #E5E5E5;
  --zone-pricing:      #000000;
  --zone-testimonials: #D9D9D9;
  --zone-faq:          #9D9D9D;
  --zone-cta:          #9D9D9D;
  --zone-footer:       #9D9D9D;

  /* Light zone palette */
  --light-text:          #000000;
  --light-text-bold:     #000000;
  --light-text-secondary:#333333;
  --light-text-tertiary: #666666;
  --light-text-inverse:  #000000;
  --light-surface:       #FFFFFF;
  --light-surface-2:     #F0F0F0;
  --light-surface-glass: rgba(255, 255, 255, 0.7);
  --light-border:        #CCCCCC;
  --light-border-subtle: rgba(0, 0, 0, 0.08);
  --light-border-strong: #BBBBBB;
  --light-border-hover:  #888888;
  --light-accent:        #34D399;
  --light-accent-soft:   rgba(52, 211, 153, 0.08);

  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.15);
  --shadow-glow: 0 0 40px rgba(52, 211, 153, 0.04);
  --shadow-glow-strong: 0 0 60px rgba(52, 211, 153, 0.06);

  /* Radius */
  --radius-xs: 0.375rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-2xl: 2rem;
  --radius-full: 999px;

  /* Spacing */
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 6rem;
  --space-4xl: 12rem;
  --space-5xl: 18rem;

  /* Container */
  --container-max: 1200px;
  --container-narrow: 800px;
  --container-wide: 1400px;

  /* Typography */
  --ff-heading: "Space Grotesk", "Inter", system-ui, -apple-system, sans-serif;
  --ff-body: "Inter", system-ui, -apple-system, sans-serif;

  --fs-display: clamp(3.2rem, 8vw, 7rem);
  --fs-h1: clamp(2.4rem, 5vw, 4.5rem);
  --fs-h2: clamp(1.8rem, 3.5vw, 3rem);
  --fs-h3: clamp(1.25rem, 2vw, 1.75rem);
  --fs-body: clamp(1rem, 1.1vw, 1.125rem);
  --fs-body-lg: clamp(1.1rem, 1.3vw, 1.25rem);
  --fs-small: 0.875rem;
  --fs-caption: 0.8125rem;

  --lh-tight: 1.1;
  --lh-snug: 1.25;
  --lh-body: 1.6;

  --ls-tight: -0.03em;
  --ls-normal: -0.01em;
  --ls-wide: 0.08em;

  /* Z-index */
  --z-base: 1;
  --z-content: 10;
  --z-nav: 100;
  --z-overlay: 200;
  --z-modal: 300;

  /* Transitions */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --transition-fast: 150ms var(--ease-out);
  --transition-base: 300ms var(--ease-out);
  --transition-slow: 500ms var(--ease-out);
}

@media (max-width: 768px) {
  :root {
    --space-3xl: 4rem;
    --space-4xl: 7rem;
    --space-5xl: 10rem;
  }
}
