:root {
  /* ---------------------------------------------------------------------
     Brand palette: matches CS Roofing's real van livery and signage —
     near-black "ink" as the dominant dark neutral, a single confident
     orange accent (refined down from the neon van-livery orange to a
     more premium burnt-orange), and a warm stone neutral for light
     surfaces. Validated against real job photography.
     --------------------------------------------------------------------- */
  --color-navy-950: #0d0b08;
  --color-navy-900: #17140f;
  --color-navy-800: #1d1a15;
  --color-navy-700: #2a251d;
  --color-navy-600: #4a453d;

  --color-copper-700: #7c3a0d;
  --color-copper-600: #a84810;
  --color-copper-500: #d9631c;
  --color-copper-400: #e8813f;
  --color-copper-100: #fbe4d3;

  --color-white: #ffffff;
  --color-paper: #f3efe7;
  --color-surface-alt: #e5ded0;
  --color-ink: #17140f;
  --color-ink-muted: #4a453d;
  --color-border: rgba(23, 20, 15, 0.15);

  --color-success: #1f7a4d;
  --color-warning: #a2660a;

  /* Semantic roles */
  --color-accent: var(--color-copper-500);
  --color-accent-strong: var(--color-copper-600);
  --color-accent-soft: var(--color-copper-100);
  --color-focus-ring: var(--color-copper-500);

  /* Type */
  --font-heading: 'Archivo', 'Arial Black', sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;

  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: clamp(1.25rem, 1.19rem + 0.32vw, 1.5rem);
  --text-2xl: clamp(1.5rem, 1.37rem + 0.64vw, 1.9rem);
  --text-3xl: clamp(1.9rem, 1.63rem + 1.32vw, 2.6rem);
  --text-4xl: clamp(2.35rem, 1.85rem + 2.4vw, 3.5rem);

  --leading-tight: 1.12;
  --leading-snug: 1.35;
  --leading-normal: 1.6;

  /* Spacing scale (4px base) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* Fluid vertical rhythm for section-level spacing */
  --space-section: clamp(3rem, 2.35rem + 2.6vw, 6rem);
  --space-section-sm: clamp(2rem, 1.7rem + 1.2vw, 3.25rem);

  /* Misc — buttons and utility chrome go near-flat (sharp, confident);
     larger surfaces (cards, quote form) keep their existing softer radius. */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-lg: 18px;
  --radius-full: 999px;

  /* Shadows: light at rest, heavier on interaction */
  --shadow-xs: 0 1px 2px rgba(23, 20, 15, 0.06), 0 1px 1px rgba(23, 20, 15, 0.04);
  --shadow-sm: 0 2px 6px rgba(23, 20, 15, 0.08);
  --shadow-md: 0 10px 24px rgba(23, 20, 15, 0.12);
  --shadow-lg: 0 20px 44px rgba(23, 20, 15, 0.18);

  /* Motion */
  --transition-fast: 120ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 340ms cubic-bezier(0.4, 0, 0.2, 1);

  --max-width: 1200px;
}
