/* ==========================================================================
   GROWA Design Tokens
   Static mirror of /config/theme.json — kept in sync automatically by
   lib/theme-loader.js at runtime. Edit theme.json, not this file, unless
   you are updating the no-JS fallback values below.
   ========================================================================== */
:root {
  /* Color */
  --c-forest: #17301F;
  --c-forest-dark: #0E1F14;
  --c-moss: #3F6B44;
  --c-moss-light: #5C8A61;
  --c-sage: #93AB8B;
  --c-stone: #EDEAE1;
  --c-stone-dark: #E1DCCE;
  --c-paper: #F7F5EF;
  --c-ochre: #C98A2B;
  --c-ochre-dark: #A66F1F;
  --c-clay: #9C5A3C;
  --c-ink: #1B1B16;
  --c-ink-muted: #5B5B50;
  --c-line: #D8D3C4;
  --c-white: #FFFFFF;
  --c-success: #3F6B44;
  --c-error: #B4472F;
  --c-warning: #C98A2B;

  /* Type */
  --f-display: 'Fraunces', 'Georgia', serif;
  --f-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --f-utility: 'IBM Plex Mono', monospace;

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.375rem;
  --fs-2xl: 1.75rem;
  --fs-3xl: 2.25rem;
  --fs-4xl: 3rem;
  --fs-5xl: 4rem;

  /* Radius */
  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-pill: 999px;

  /* Shadow */
  --shadow-soft: 0 2px 12px rgba(23,48,31,0.08);
  --shadow-medium: 0 8px 30px rgba(23,48,31,0.12);
  --shadow-large: 0 20px 60px rgba(23,48,31,0.18);

  /* Spacing */
  --space-section: clamp(64px, 9vw, 128px);
  --space-gutter: clamp(20px, 5vw, 64px);

  /* Motion */
  --ease: cubic-bezier(.4,0,.2,1);
  --dur-fast: 160ms;
  --dur-base: 320ms;
  --dur-slow: 560ms;

  /* Layout */
  --max-width: 1360px;
  --header-height: 76px;
}
