/* Webfonts — Google Fonts substitutes (see readme.md > Typography). Cinzel ≈ the Trajan-style wordmark. */
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap");

:root{
/* Brand — sampled from the emblem */
--maroon-50:#fbf1f0;--maroon-100:#f3dcda;--maroon-200:#e5b3b0;--maroon-300:#c9736e;--maroon-400:#a23a36;--maroon-500:#82201d;--maroon-600:#6a1715;--maroon-700:#561210;--maroon-800:#400d0c;--maroon-900:#2a0807;
--gold-50:#fdf7e6;--gold-100:#f9e9b8;--gold-200:#f2d474;--gold-300:#e9bd45;--gold-400:#e4ab26;--gold-500:#c8921a;--gold-600:#a07413;--gold-700:#74530d;
--ink:#2d373b;
/* Warm neutrals */
--neutral-0:#ffffff;--neutral-50:#faf8f5;--neutral-100:#f3f0ea;--neutral-200:#e7e2d9;--neutral-300:#d3ccc0;--neutral-400:#a9a196;--neutral-500:#7d766c;--neutral-600:#58524a;--neutral-700:#3e3a34;--neutral-800:#2d373b;--neutral-900:#1c2124;
/* Semantic status */
--success-500:#2f6b3a;--success-100:#e3efe4;--warning-500:#a07413;--warning-100:#f9e9b8;--error-500:#a23a36;--error-100:#f3dcda;--info-500:#2f5468;--info-100:#e1eaf0;
/* Aliases */
--brand-primary:var(--maroon-600);--brand-primary-hover:var(--maroon-700);--brand-primary-active:var(--maroon-800);--brand-accent:var(--gold-400);--brand-accent-hover:var(--gold-500);--brand-ink:var(--ink);
--surface-page:var(--neutral-0);--surface-subtle:var(--neutral-50);--surface-muted:var(--neutral-100);--surface-card:var(--neutral-0);--surface-inverse:var(--ink);--surface-brand:var(--maroon-600);--surface-overlay:rgba(28,33,36,.55);
--text-heading:var(--ink);--text-body:var(--neutral-700);--text-muted:var(--neutral-500);--text-subtle:var(--neutral-400);--text-on-brand:#ffffff;--text-on-accent:var(--maroon-800);--text-on-inverse:var(--neutral-100);--text-link:var(--maroon-600);--text-link-hover:var(--maroon-800);
--border-default:var(--neutral-200);--border-strong:var(--neutral-300);--border-brand:var(--maroon-600);--border-focus:var(--gold-400);
}

:root{
--font-brand:"Cinzel","Trajan Pro",Georgia,serif;
--font-heading:"Libre Caslon Text",Georgia,"Times New Roman",serif;
--font-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--text-5xl:64px;
--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.5;--leading-relaxed:1.65;
--tracking-caps:0.14em;--tracking-brand:0.08em;--tracking-tight:-0.01em;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;
}

:root{
--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;--container-narrow:720px;--gutter:24px;--gutter-desktop:40px;
--control-h-sm:32px;--control-h-md:40px;--control-h-lg:48px;
}

:root{
--radius-none:0;--radius-sm:2px;--radius-md:2px;--radius-lg:4px;--radius-pill:999px;
--border-width:1px;--border-width-strong:2px;--rule-brand:2px solid var(--gold-400);
--shadow-xs:0 1px 2px rgba(28,33,36,.06);--shadow-sm:0 2px 6px rgba(28,33,36,.08);--shadow-md:0 8px 24px rgba(28,33,36,.10);--shadow-lg:0 20px 48px rgba(28,33,36,.14);--shadow-focus:0 0 0 3px rgba(228,171,38,.45);
--ease-standard:cubic-bezier(.4,0,.2,1);/* @kind other */--ease-out:cubic-bezier(0,0,.2,1);/* @kind other */--duration-fast:120ms;/* @kind other */--duration-base:200ms;/* @kind other */--duration-slow:360ms;/* @kind other */
--brand-gradient:linear-gradient(135deg,#6a1715 0%,#a23a36 45%,#e4ab26 100%);/* @kind other */--protect-gradient:linear-gradient(180deg,rgba(28,33,36,0) 0%,rgba(28,33,36,.72) 100%);/* @kind other */
}

body{margin:0;font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--weight-regular);color:var(--text-heading);line-height:var(--leading-snug);margin:0}
a{color:var(--text-link);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold-400);transition:color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover)}
.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--maroon-600)}

