:root{
--ink:#0b0d12;--ink-soft:#3a4049;--muted:#6b7280;--rule:#e5e7eb;--rule-strong:#d1d5db;
--surface:#f6f7f9;--surface-alt:#eef0f4;--paper:#fff;
--accent:#1f45e5;--accent-dark:#1836b8;--accent-tint:#eef1fe;
--font-display:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
--font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
--fs-100:.6875rem;--fs-200:.75rem;--fs-300:.8125rem;--fs-400:.875rem;--fs-500:1rem;--fs-600:1.0625rem;
--fs-700:clamp(1.125rem,.35vw + 1.05rem,1.25rem);
--fs-800:clamp(1.25rem,.6vw + 1.1rem,1.5rem);
--fs-900:clamp(1.5rem,1vw + 1.25rem,1.9375rem);
--fs-1000:clamp(1.75rem,1.8vw + 1.3rem,2.5rem);
--fs-1100:clamp(2.125rem,2.6vw + 1.5rem,3.25rem);
--lh-tight:1.12;--lh-snug:1.28;--lh-normal:1.5;--lh-read:1.7;
--ls-tight:-.02em;--ls-snug:-.011em;--ls-mono:.09em;
--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;
--section-gap:clamp(2.75rem,5vw,4.5rem);
--w-page:1240px;--w-text:68ch;--gutter:clamp(1.125rem,4vw,2rem);
--radius-sm:2px;--radius:4px;--border:1px solid var(--rule);
--shadow-drawer:0 8px 40px rgb(11 13 18 / 18%);
--ease:cubic-bezier(.2,0,.2,1);--dur:150ms;
--z-header:100;--z-overlay:200;--z-drawer:300;
--cat:var(--accent);--header-h:66px;--admin-offset:0px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:8rem}
body{margin:0;background:var(--paper);color:var(--ink-soft);font-family:var(--font-body);font-size:var(--fs-600);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.is-locked{overflow:hidden}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--ink);font-family:var(--font-display);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--ls-tight);text-wrap:balance}
h1{font-size:var(--fs-1000)}h2{font-size:var(--fs-900)}h3{font-size:var(--fs-800)}
h4{font-size:var(--fs-700);line-height:var(--lh-snug)}
h5,h6{font-size:var(--fs-500);line-height:var(--lh-snug)}
p,ul,ol,dl,figure,blockquote,table,pre{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none;transition:color var(--dur) var(--ease)}
a:hover{color:var(--accent)}
strong,b{font-weight:600;color:var(--ink)}
img,picture,svg,video,iframe{display:block;max-width:100%}
img,picture,svg,video{height:auto}
figcaption{color:var(--muted);font-size:var(--fs-400);line-height:var(--lh-normal)}
hr{height:0;margin:var(--space-6) 0;border:0;border-top:var(--border)}
table{width:100%;border-collapse:collapse}
code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}
button,input,select,textarea{font:inherit;color:inherit;margin:0}
button{background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
::placeholder{color:var(--muted);opacity:1}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}
:focus:not(:focus-visible){outline:none}
::selection{background:var(--accent);color:var(--paper)}
.container{width:100%;max-width:var(--w-page);margin-inline:auto;padding-inline:var(--gutter)}
.container--text{max-width:calc(var(--w-text) + var(--gutter) * 2)}
.section{padding-block:var(--section-gap)}
.section--tight{padding-block:clamp(1.75rem,3vw,2.5rem)}
.section--surface{background:var(--surface);border-block:var(--border)}
.section--divided{border-top:var(--border)}
.grid{display:grid;gap:var(--space-6) var(--space-5)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.stack{display:flex;flex-direction:column;gap:var(--space-4)}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.sr-only,.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;left:var(--space-4);top:var(--space-2);z-index:calc(var(--z-drawer) + 1);padding:var(--space-2) var(--space-4);background:var(--ink);color:var(--paper);font-size:var(--fs-400);font-weight:500;border-radius:var(--radius);transform:translateY(-200%);transition:transform var(--dur) var(--ease)}
.skip-link:focus{transform:translateY(0);color:var(--paper)}
.eyebrow,.kicker{font-family:var(--font-mono);font-size:var(--fs-200);text-transform:uppercase;letter-spacing:var(--ls-mono);color:var(--accent)}
.text-muted{color:var(--muted)}
.alignwide{max-width:min(100%,1040px);margin-inline:auto}
.alignfull{max-width:none}
.alignleft{float:left;margin:.4rem var(--space-5) var(--space-4) 0}
.alignright{float:right;margin:.4rem 0 var(--space-4) var(--space-5)}
.aligncenter{margin-inline:auto}
@media (max-width:900px){.grid--4,.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
