/* GENERATED by tools/sync-design-tokens.js -- do not edit by hand. */
/* Source of truth: tools/design-tokens.js */

:root {
  /* Typefaces. Display is Bricolage Grotesque (owner decision 2026-07-10, replacing Geist); body stays Inter. */
  --font-display: "Bricolage Grotesque", "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono: "SF Mono", "Fira Code", ui-monospace, Menlo, Consolas, monospace;

  /* Type scale. The whole site uses these roles -- the old sheets had ~59 ad-hoc sizes. Display roles are fluid; UI roles are fixed. */
  --t-display: clamp(38px, 7vw, 64px);
  --t-h1: clamp(28px, 4.6vw, 44px);
  --t-h2: clamp(21px, 3vw, 26px);
  --t-h3: 18px;
  --t-body-lg: clamp(16px, 1.6vw, 18px);
  --t-body: 15px;
  --t-sm: 13.5px;
  --t-label: 12.5px;
  --t-caption: 11.5px;
  --t-micro: 10.5px;
  --t-metric: 28px;

  /* Tracking. ONE rule for uppercase labels (the old sheet had six) and two for display cuts. */
  --track-caps: 0.1em;
  --track-display: -0.025em;
  --track-h: -0.015em;

  /* Brand — amber. The logo top bar is brand-600. */
  --brand-400: #fbbf24;
  --brand-500: #f59e0b;
  --brand-600: #d97706;
  --brand-ink: #1a1205;
  --brand-a06: rgba(245, 158, 11, 0.06);
  --brand-a10: rgba(245, 158, 11, 0.1);
  --brand-a12: rgba(245, 158, 11, 0.12);
  --brand-a28: rgba(245, 158, 11, 0.28);
  --brand-a35: rgba(245, 158, 11, 0.35);

  /* Money / positive — emerald. Never used for chrome. */
  --pos-400: #6ee7b7;
  --pos-500: #34d399;
  --pos-a10: rgba(52, 211, 153, 0.1);
  --pos-a28: rgba(52, 211, 153, 0.28);

  /* Status */
  --neg-500: #e04848;
  --neg-a12: rgba(224, 72, 72, 0.12);
  --info-500: #60a5fa;
  --info-a12: rgba(96, 165, 250, 0.12);
  --warn-500: #fbbf24;
  --warn-a12: rgba(251, 191, 36, 0.12);

  /* Chart series. Spend is brand amber, earnings is money emerald -- distinct hues, and positive money is never red. */
  --chart-spend: #f59e0b;
  --chart-earn: #34d399;
  --chart-3: #60a5fa;
  --chart-4: #a78bfa;
  --chart-neg: #e04848;

  /* Leadership crests */
  --lead-builder: #f59e0b;
  --lead-director: #60a5fa;
  --lead-executive: #34d399;
  --lead-ambassador: #a78bfa;
  --lead-founder: #f87171;

  /* Geometry */
  --radius-sm: 7px;
  --radius: 10px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 99px;
  --radius-circle: 50%;

  /* Motion. Every consumer must still gate on prefers-reduced-motion. */
  --transition-fast: 0.12s;
  --transition: 0.15s;
  --transition-slow: 0.4s;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-expo: cubic-bezier(0.22, 1, 0.36, 1);

  /* Z ladder */
  --z-topbar: 10;
  --z-sidebar: 50;
  --z-modal: 100;
  --z-toast: 1000;
}
