/* Brand tokens — generated from brand/tokens.json. Do not edit by hand. */
:root{
  /* semantic */
  --ink:#1c1917;
  --text-muted:#6b635c;
  --paper:#faf6ee;
  --surface-raised:#ffffff;
  --border:#e9e1d3;
  --border-strong:#ddd5c6;
  --accent:#c2410c;
  --accent-strong:#9a3412;
  --accent-soft:#fff7ed;
  --text-on-accent:#ffffff;
  --focus:#c2410c;
  --state-success:#15803d;
  --state-success-soft:#f0fdf4;
  --state-success-border:#bbe4c3;
  --state-success-strong:#166534;
  --state-warning:#a16207;
  --state-warning-soft:#fffbeb;
  --state-warning-border:#f3e2b8;
  --state-warning-border-strong:#f0e0a8;
  --state-danger:#b91c1c;
  --state-danger-soft:#fef2f2;
  --state-danger-border:#f3c1c1;
  --state-danger-strong:#991b1b;
  --state-info:#1d4ed8;
  --state-info-soft:#eff6ff;
  --state-info-border:#bfdbfe;

  /* type */
  --font-display:'Fraunces',Georgia,serif;
  --font-body:'Manrope',ui-sans-serif,system-ui,sans-serif;
  --text-display:34px;
  --leading-display:40px;
  --text-h2:26px;
  --leading-h2:32px;
  --text-h3:20px;
  --leading-h3:26px;
  --text-body-lg:16px;
  --leading-body-lg:26px;
  --text-body:14px;
  --leading-body:22px;
  --text-small:13px;
  --leading-small:20px;
  --text-micro:12px;
  --leading-micro:16px;

  /* space */
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;

  /* radius */
  --radius-sm:8px;
  --radius-md:10px;
  --radius-lg:14px;
  --radius-xl:20px;
  --radius-pill:999px;

  /* elevation */
  --elevation-flat:none;
  --elevation-card:0 1px 2px rgba(28,25,23,.04),0 12px 32px -20px rgba(28,25,23,.18);
  --elevation-raised:0 2px 4px rgba(28,25,23,.08),0 16px 40px -24px rgba(28,25,23,.24);

  /* motion */
  --motion-duration:150ms;
  --motion-easing:ease;

  /* focus */
  --focus-width:3px;

  /* legacy aliases (phase 3) */
  --acx-ink:var(--ink);
  --acx-muted:var(--text-muted);
  --acx-line:var(--border);
  --acx-paper:var(--paper);
  --acx-card:var(--surface-raised);
  --acx-amber:var(--accent);
  --acx-amber-soft:var(--accent-soft);
  --acx-amber-dark:var(--accent-strong);
  --acx-green:var(--state-success);
  --acx-green-soft:var(--state-success-soft);
  --acx-yellow:var(--state-warning);
  --acx-yellow-soft:var(--state-warning-soft);
  --acx-red:var(--state-danger);
  --acx-red-soft:var(--state-danger-soft);
  --acx-blue:var(--state-info);
  --acx-blue-soft:var(--state-info-soft);
  --acx-display:var(--font-display);
  --acx-body:var(--font-body);
}

/* focus is part of the brand: solid, never an alpha wash */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline:var(--focus-width) solid var(--focus);
  outline-offset:2px;
}
