/* Generated from src/design/tokens.json. */
:root {
  --canvas: #F5F5F3;
  --surface: #FFFFFF;
  --forest: #173C2C;
  --forest-hover: #0F2D21;
  --ink: #0A0A0A;
  --muted: #4C514D;
  --lime: #D6F58A;
  --lime-hover: #C4E96F;
  --line: #D8DAD5;
  --control: #727A72;
  --error: #A12E36;
  --error-surface: #FFF0EE;
  --success: #245C3C;
  --success-surface: #E7F1E5;
  --panel: #ECECE9;
  --noir: #000000;
  --font-display: 'Newsreader', Georgia, serif;
  --font-body: 'Hanken Grotesk', Arial, sans-serif;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --space-32: 128px;
  --radius-small: 4px;
  --radius-control: 8px;
  --radius-card: 16px;
  --radius-feature: 24px;
  --radius-pill: 999px;
  --container: 1320px;
  --gutter: 20px;
  --header: 72px;
  --display: clamp(3rem, 6.3vw, 5.75rem);
  --h2: clamp(2.25rem, 4vw, 3.5rem);
  --h3: clamp(1.5rem, 2.3vw, 2.25rem);
  --body: 1.125rem;
  --ui: 1rem;
  --small: 0.875rem;
  --motion-quick: 140ms;
  --motion-standard: 200ms;
  --motion-reveal: 420ms;
  --motion-composition: 900ms;
  --motion-stagger: 60ms;
  --motion-max-stagger: 180ms;
  --motion-enter-distance: 12px;
  --motion-hover-distance: 2px;
  --target-min: 44px;
  --control-min-height: 52px;
  --choice-target-min-height: 48px;
  --focus-width: 3px;
  --focus-offset: 4px;
  --shell-radius: clamp(24px,3.5vw,44px);
  --ease: cubic-bezier(0.22,1,0.36,1);
}
@media(min-width:48rem){:root{--gutter:32px;}}
@media(min-width:64rem){:root{--gutter:48px;--header:80px;}}
@media(min-width:80rem){:root{--gutter:64px;}}
