/* 4ST design tokens — change the theme here only. */
:root {
  /* Brand palette */
  --forest: #164A35;
  --forest-600: #1D5C43;
  --forest-400: #2F7A5A;
  --deep: #0B2E21;
  --mint: #DCEFE5;
  --mint-50: #EEF7F2;
  --gold: #F2B84B;
  --gold-600: #D99B2B;
  --cream: #F7F4EC;
  --ink: #17201C;
  --white: #FFFFFF;

  /* Semantic */
  --bg: var(--cream);
  --surface: var(--white);
  --surface-2: #FBFAF6;
  --text: var(--ink);
  --text-muted: #56655D;
  --border: rgba(23, 32, 28, 0.10);
  --border-strong: rgba(23, 32, 28, 0.18);
  --primary: var(--forest);
  --primary-hover: var(--forest-600);
  --on-primary: var(--white);
  --accent: var(--gold);
  --on-accent: var(--deep);
  --focus: #2F7A5A;
  --success: #1E7A4C;
  --success-bg: #E3F4EA;
  --warn: #8A5A00;
  --warn-bg: #FDF1D8;
  --danger: #B3261E;
  --danger-bg: #FCE8E6;
  --info-bg: var(--mint-50);

  /* Type */
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: var(--font-sans);
  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-md: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.375rem;
  --fs-2xl: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
  --fs-hero: clamp(2.1rem, 1.4rem + 3.4vw, 3.8rem);

  /* Spacing (4px scale) */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px;
  --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px; --sp-16: 64px;

  /* Shape & depth */
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(11, 46, 33, 0.06), 0 1px 3px rgba(11, 46, 33, 0.05);
  --shadow: 0 6px 18px rgba(11, 46, 33, 0.08), 0 2px 6px rgba(11, 46, 33, 0.05);
  --shadow-lg: 0 18px 48px rgba(11, 46, 33, 0.16), 0 6px 16px rgba(11, 46, 33, 0.08);

  /* Motion */
  --ease: cubic-bezier(.2, .8, .2, 1);
  --dur-fast: 140ms;
  --dur: 240ms;
  --dur-slow: 600ms;

  /* Layout */
  --container: 1200px;
  --gutter: 16px;
  --header-h: 64px;
  --bottom-nav-h: 64px;
}

@media (min-width: 768px) {
  :root { --gutter: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; --dur: 0ms; --dur-slow: 0ms; }
}
