/* Maison Agentic Design System — tokens.
   Copied verbatim from the design system package (tokens/*.css).
   Source of truth. Do not edit values here; edit the design system and re-sync. */

:root{
/* The four brand colours, exact values. Used with discipline. */
--paper:#f7f3ec;
--ink:#2b2622;
--oxblood:#a8382b;
--stone:#d4cfc4;

/* Neutral ramp — OKLCH interpolation between Paper (0) and Ink (950). */
--neutral-0:#ffffff;
--neutral-50:#f7f3ec;
--neutral-100:#eeeae3;
--neutral-150:#e5e1da;
--neutral-200:#d7d3cc;
--neutral-300:#c6c1bb;
--neutral-400:#aea9a3;
--neutral-500:#948f8a;
--neutral-600:#7e7973;
--neutral-700:#6a655f;
--neutral-800:#56514c;
--neutral-900:#37322e;
--neutral-950:#2b2622;

/* Oxblood ramp — --brand-600 is the pinned exact value. */
--brand-50:#fceae7;
--brand-100:#fbd4cd;
--brand-200:#f4b1a6;
--brand-300:#e1897b;
--brand-400:#c86456;
--brand-500:#ad4033;
--brand-600:#a8382b;
--brand-700:#8c2319;
--brand-800:#6b0e07;
--brand-900:#480000;
--brand-950:#300000;

/* Semantic accents — low-chroma so they never compete with oxblood. */
--sage-50:#eef1e7;
--sage-500:#5c6b4a;
--sage-700:#404a34;
--ochre-50:#f6ecd3;
--ochre-500:#93702b;
--ochre-700:#6b511d;
--slate-50:#e6ecef;
--slate-500:#47586a;
--slate-700:#31404d;

/* Semantic aliases */
--surface-page:var(--paper);
--surface-raised:var(--paper);
--surface-sunken:var(--neutral-100);
--surface-ink:var(--ink);
--surface-overlay:rgba(43,38,34,.5);

--text-primary:var(--ink);
--text-secondary:var(--neutral-700);
--text-muted:var(--neutral-500);
--text-on-ink:var(--paper);
--text-on-brand:var(--paper);

--border-default:var(--stone);
--border-strong:#a39e93;
--border-on-ink:rgba(247,243,236,.14);

--accent:var(--oxblood);
--accent-hover:var(--brand-700);
--accent-active:var(--brand-800);
--accent-subtle:var(--brand-50);
--accent-subtle-border:var(--brand-200);

--color-success:var(--sage-500);
--color-success-bg:var(--sage-50);
--color-success-border:var(--sage-500);
--color-warning:var(--ochre-500);
--color-warning-bg:var(--ochre-50);
--color-warning-border:var(--ochre-500);
--color-info:var(--slate-500);
--color-info-bg:var(--slate-50);
--color-info-border:var(--slate-500);
--color-danger:var(--oxblood);
--color-danger-bg:var(--brand-50);
--color-danger-border:var(--brand-300);

--focus-ring:var(--oxblood);

/* Typography */
--font-display:'Fraunces',Georgia,'Times New Roman',serif;
--font-sans:'Inter',-apple-system,'Segoe UI',sans-serif;
--font-mono:'JetBrains Mono','SFMono-Regular',monospace;

--text-xs:.75rem;
--text-sm:.8125rem;
--text-base:1rem;
--text-md:1.125rem;
--text-lg:1.375rem;
--text-xl:1.75rem;
--text-2xl:2.25rem;
--text-3xl:3rem;
--text-4xl:4rem;
--text-5xl:5.5rem;

--leading-tight:1.05;
--leading-snug:1.25;
--leading-normal:1.5;
--leading-relaxed:1.65;

--tracking-tight:-.01em;
--tracking-normal:0em;
--tracking-wide:.04em;
--tracking-eyebrow:.14em;

--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;
--weight-bold:700;

/* Spacing */
--space-1:.25rem;
--space-2:.5rem;
--space-3:.75rem;
--space-4:1rem;
--space-5:1.5rem;
--space-6:2rem;
--space-7:3rem;
--space-8:4rem;
--space-9:6rem;
--space-10:8rem;
--content-max:1200px;
--content-pad:clamp(1.5rem,4vw,4rem);

/* Effects */
--radius-none:0px;
--radius-sm:2px;
--radius-md:4px;
--radius-lg:8px;
--radius-pill:999px;

--shadow-sm:0 1px 2px rgba(26,26,26,.06);
--shadow-md:0 4px 16px rgba(26,26,26,.09);
--shadow-lg:0 20px 48px rgba(26,26,26,.14);
--shadow-focus:0 0 0 3px rgba(138,46,39,.25);

--ease-standard:cubic-bezier(.4,0,.2,1);
--ease-out:cubic-bezier(0,0,.2,1);
--duration-fast:120ms;
--duration-base:200ms;
--duration-slow:400ms;

--border-w:1px;
}
