:root {
  /* Primitives */
  --paper-50:#f5f5ef; --paper-100:#eaece5; --white:#ffffff;
  --forest-900:#102e25; --forest-800:#143d32; --forest-700:#255246;
  --gray-900:#1b2923; --gray-600:#5e6962; --gray-300:#d2d8cf;
  --signal-200:#dbf476; --red-600:#b9413a; --blue-700:#365973;
  --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;
  /* Semantic */
  --canvas:var(--paper-50); --surface:var(--white); --surface-soft:var(--paper-100);
  --ink:var(--gray-900); --muted:var(--gray-600); --line:var(--gray-300);
  --brand:var(--forest-800); --brand-deep:var(--forest-900); --accent:var(--signal-200);
  --on-dark:var(--paper-50); --muted-dark:#bbc9bd; --line-dark:#466052;
  --font:'Pretendard Variable',Pretendard,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
  --gutter:clamp(20px,4.4vw,72px); --content-width:1440px;
  --section-space:clamp(72px,8.5vw,136px); --header-height:88px;
  --ease:cubic-bezier(.2,.7,.2,1); --duration:220ms;
  /* Components */
  --button-bg:var(--brand); --button-fg:var(--on-dark); --button-hover:var(--forest-700); --button-height:54px;
  --field-bg:var(--surface); --field-border:var(--line); --focus-color:var(--brand);
}

