:root {
  /* Greens — primary brand */
  --green-900: #0e2a18;
  --green-800: #143a22;
  --green-700: #1f5232;
  --green-600: #2c6e42;
  --green-500: #3a8a52;
  --green-400: #6cae7d;
  --green-200: #c1dcc4;
  --green-100: #dde8d8;
  --green-50:  #eef4ea;

  /* Earth — supporting accent */
  --earth-900: #2a1a0e;
  --earth-700: #4a2e18;
  --earth-500: #6b4423;
  --earth-300: #b08a5e;

  /* Neutrals */
  --ink: #0f1611;
  --text: #1a2018;
  --text-soft: #4a514a;
  --text-soft-2: #555c54;
  --line: rgba(15, 22, 17, 0.10);
  --line-strong: rgba(15, 22, 17, 0.20);

  --cream: #f7f3e9;
  --cream-soft: #fbf8f0;
  --bone: #ffffff;

  /* On-dark surfaces */
  --on-dark: #f7f3e9;
  --on-dark-soft: rgba(247, 243, 233, 0.80);
  --line-dark: rgba(247, 243, 233, 0.18);

  /* Type */
  --font-display: 'Bricolage Grotesque', 'Cabinet Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --t-fast: 200ms;
  --t-med: 380ms;
  --t-slow: 900ms;

  /* Layout */
  --max-w: 1280px;
  --gutter-x: clamp(1.25rem, 4vw, 2.75rem);
  --section-y: clamp(4.5rem, 10vh, 7.5rem);

  /* Radii */
  --r-sm: 8px;
  --r-md: 16px;
  --r-lg: 24px;
  --r-pill: 999px;

  /* Shadow */
  --shadow-sm: 0 4px 14px rgba(15, 22, 17, 0.06);
  --shadow-md: 0 14px 36px rgba(15, 22, 17, 0.10);
  --shadow-lg: 0 28px 70px rgba(15, 22, 17, 0.16);
  --shadow-green: 0 14px 30px rgba(31, 82, 50, 0.28);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --t-fast: 0ms;
    --t-med: 0ms;
    --t-slow: 0ms;
  }
}
