/* ==========================================================================
   variables.css — design tokens
   ========================================================================== */

:root {
  /* Palette */
  --color-background: #f5f5f0;
  --color-surface: #ffffff;
  --color-surface-alt: #e9eee9;
  --color-text: #161816;
  --color-secondary: #656a65;
  --color-border: #dfe3de;
  --color-accent: #245b46;
  --color-accent-dark: #173e30;
  --color-highlight: #d9f2c8;

  /* Derived tints */
  --color-accent-soft: rgba(36, 91, 70, 0.08);
  --color-accent-soft-strong: rgba(36, 91, 70, 0.16);
  --color-overlay: rgba(22, 24, 22, 0.55);
  --color-ink-invert: #f5f5f0;

  /* Typography */
  --font-heading: "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-mono: "SFMono-Regular", "Cascadia Mono", "Roboto Mono", monospace;

  --fs-h1: clamp(56px, 7vw, 104px);
  --fs-h2: clamp(40px, 5vw, 72px);
  --fs-h3: clamp(26px, 2.4vw, 34px);
  --fs-h4: clamp(20px, 1.6vw, 23px);
  --fs-body: 17px;
  --fs-lead: clamp(19px, 1.5vw, 22px);
  --fs-small: 15px;
  --fs-micro: 13px;
  --fs-eyebrow: 12px;

  --lh-h1: 0.95;
  --lh-h2: 1;
  --lh-heading: 1.12;
  --lh-body: 1.65;

  --ls-display: -0.035em;
  --ls-heading: -0.02em;
  --ls-eyebrow: 0.14em;

  /* Spacing scale */
  --space-3xs: 4px;
  --space-2xs: 8px;
  --space-xs: 12px;
  --space-s: 16px;
  --space-m: 24px;
  --space-l: 32px;
  --space-xl: 48px;
  --space-2xl: 64px;
  --space-3xl: 96px;
  --space-4xl: 128px;
  --space-5xl: 160px;

  /* Layout */
  --container-max: 1280px;
  --container-pad: 40px;
  --header-height: 76px;

  /* Radii */
  --radius-xs: 6px;
  --radius-s: 10px;
  --radius-m: 16px;
  --radius-l: 24px;
  --radius-xl: 32px;
  --radius-pill: 999px;

  /* Elevation */
  --shadow-xs: 0 1px 2px rgba(22, 24, 22, 0.05);
  --shadow-s: 0 4px 16px rgba(22, 24, 22, 0.06);
  --shadow-m: 0 16px 40px rgba(22, 24, 22, 0.08);
  --shadow-l: 0 32px 80px rgba(22, 24, 22, 0.12);

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --duration-fast: 140ms;
  --duration-base: 240ms;
  --duration-slow: 420ms;

  /* Z-index */
  --z-header: 100;
  --z-drawer: 200;
  --z-overlay: 190;
}
