/* ──────────────────── RESET & TOKENS ──────────────────── */
:root {
  --green-50:  #f5faf6;
  --green-100: #eef6f0;
  --green-200: #c8e0ce;
  --green-300: #a0c8ad;
  --green-400: #5a9e72;
  --green-500: #3d7a54;
  --green-600: #336a48;
  --green-700: #2d5a3d;
  --green-800: #234a31;
  --green-900: #1a3a25;
  --green-950: #122a1a;

  --yellow-300: #edd47a;
  --yellow-400: #dfc05a;
  --yellow-500: #c9a93a;

  --ink:       #1a2e22;
  --ink-mid:   #3b5248;
  --ink-muted: #7a9585;
  --ink-faint: #b0c5b8;

  --surface:     #ffffff;
  --surface-alt: #f5faf6;
  --border:      #dde9e0;

  --radius-sm: 0.375rem;
  --radius-md: 0.625rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 9999px;

  --shadow-sm:  0 1px 3px rgba(30,60,40,.06), 0 1px 2px rgba(30,60,40,.04);
  --shadow-md:  0 4px 16px rgba(30,60,40,.08), 0 2px 6px rgba(30,60,40,.05);
  --shadow-lg:  0 12px 40px rgba(30,60,40,.12), 0 4px 12px rgba(30,60,40,.07);
  --shadow-xl:  0 20px 60px rgba(30,60,40,.15), 0 8px 20px rgba(30,60,40,.08);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ink);
  background: var(--surface);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }
img { max-width: 100%; display: block; }

/* ──────────────────── UTILITIES ──────────────────── */
.container {
  width: 100%;
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* ──────────────────── REDUCED MOTION ──────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto; }
}
