:root {
  /* Primary — teal/petrol */
  --primary-teal: #0c7d99;
  --primary-teal-dark: #096a82;
  --primary-teal-light: #e6f4f8;
  --primary-teal-mid: #1a8fac;

  /* Dark — navigation, CTA buttons, headings */
  --dark: #1a2332;
  --dark-soft: #2d3a4a;

  /* Accent */
  --accent-gold: #c9a84c;
  --positive-green: #0f8a5f;
  --positive-green-bg: #e8f7f2;
  --negative-red: #c93b3b;
  --negative-red-bg: #fdf0f0;

  /* Neutral */
  --white: #ffffff;
  --gray-50: #f8f9fa;
  --gray-100: #f1f3f5;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;

  /* Forms on dark background */
  --input-bg: rgba(255, 255, 255, 0.12);
  --input-border: rgba(255, 255, 255, 0.25);
  --input-text: #ffffff;

  /* Typography */
  --font-heading: 'Bodoni Moda', 'Playfair Display', Georgia, serif;
  --font-body: 'DM Sans', 'Source Sans 3', system-ui, sans-serif;

  /* Spacing scale */
  --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;

  /* Border radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.10), 0 4px 8px rgba(0, 0, 0, 0.06);
  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.04);

  /* Transitions */
  --transition-fast: 120ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 350ms ease;

  /* Container */
  --container-max: 1140px;
  --container-padding: var(--space-6);

  /* Slider track fill variable (set by JS) */
  --fill-pct: 9%;
}
