:root{
/* Brand base — from Brand guidelines §03 */
--bsa-ink:#14161F;
--bsa-green:#95BF47;
--bsa-paper:#F6F3EE;
--bsa-slate:#3A3D48;
--bsa-white:#FFFFFF;
/* Derived steps (oklch-adjusted from the base five) */
--bsa-ink-800:#23262F;
--bsa-ink-700:#2E313B;
--bsa-slate-500:#5C5F6A;
--bsa-slate-400:#8A8C95;
--bsa-slate-300:#D3D4DA;
--bsa-paper-200:#ECE7DF;
--bsa-paper-300:#DED8CD;
--bsa-green-600:#7FA837;
--bsa-green-700:#5F7F28;
--bsa-green-100:#E6F0D3;
/* Functional-only additions (not brand colors — forms & alerts only) */
--bsa-red:#C2412D;
--bsa-red-100:#F7E1DC;
--bsa-amber:#C98A12;
--bsa-amber-100:#F6EBD3;

/* Semantic aliases */
--surface-page:var(--bsa-paper);
--surface-card:var(--bsa-white);
--surface-sunken:var(--bsa-paper-200);
--surface-inverse:var(--bsa-ink);
--surface-inverse-raised:var(--bsa-ink-800);
--surface-accent:var(--bsa-green);
--surface-accent-soft:var(--bsa-green-100);

--text-strong:var(--bsa-ink);
--text-body:var(--bsa-ink);
--text-muted:var(--bsa-slate);
--text-subtle:var(--bsa-slate-500);
--text-inverse:var(--bsa-paper);
--text-inverse-muted:var(--bsa-slate-300);
--text-on-accent:var(--bsa-ink);
--text-accent-on-dark:var(--bsa-green);
--text-critical:var(--bsa-red);

--border-default:var(--bsa-paper-300);
--border-subtle:var(--bsa-paper-200);
--border-strong:var(--bsa-ink);
--border-inverse:var(--bsa-ink-700);
--border-focus:var(--bsa-green);

--action-primary:var(--bsa-ink);
--action-primary-hover:var(--bsa-ink-700);
--action-accent:var(--bsa-green);
--action-accent-hover:var(--bsa-green-600);

--status-success:var(--bsa-green-700);
--status-success-bg:var(--bsa-green-100);
--status-warning:var(--bsa-amber);
--status-warning-bg:var(--bsa-amber-100);
--status-critical:var(--bsa-red);
--status-critical-bg:var(--bsa-red-100);
}
:root{
--font-sans:'Bricolage Grotesque',ui-sans-serif,system-ui,sans-serif;
--font-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',monospace;
--font-display:var(--font-sans);
--font-body:var(--font-sans);
--font-label:var(--font-mono);

--weight-body:500;
--weight-semibold:600;
--weight-bold:700;
--weight-display:800;
--weight-mono:500;

--tracking-display:-0.05em;
--tracking-heading:-0.03em;
--tracking-body:-0.005em;
--tracking-label:0.4em;
--tracking-label-tight:0.12em;

--text-display-xl:88px;
--text-display:64px;
--text-h1:48px;
--text-h2:36px;
--text-h3:26px;
--text-h4:20px;
--text-body-lg:18px;
--text-body-md:16px;
--text-body-sm:14px;
--text-label:12px;
--text-label-sm:11px;

--leading-display:0.95;
--leading-heading:1.1;
--leading-body:1.5;
--leading-label:1.3;
}
:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;
--container-max:1200px;
--gutter:24px;

/* Radii follow the mark's tiles: corner ≈ 26% of the tile side */
--radius-xs:4px;
--radius-sm:8px;
--radius-md:12px;
--radius-lg:16px;
--radius-xl:24px;
--radius-tile:26%;
--radius-pill:999px;

--border-width:1px;
--border-width-strong:2px;

--shadow-none:none;
--shadow-sm:0 1px 2px rgba(20,22,31,.06);
--shadow-md:0 1px 2px rgba(20,22,31,.05),0 6px 16px -4px rgba(20,22,31,.08);
--shadow-lg:0 2px 4px rgba(20,22,31,.05),0 20px 40px -12px rgba(20,22,31,.16);
--shadow-focus:0 0 0 3px rgba(149,191,71,.45);

--ease-out:cubic-bezier(.2,.8,.2,1); /* @kind other */
--ease-in-out:cubic-bezier(.6,0,.2,1); /* @kind other */
--duration-fast:120ms; /* @kind other */
--duration-base:180ms; /* @kind other */
--duration-slow:320ms; /* @kind other */
}
