@font-face{font-family:'Source Sans 3';src:url('fonts/SourceSans3-Variable.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('fonts/SourceSans3-Italic-Variable.woff2') format('woff2');font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('fonts/SourceSerif4-Variable.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('fonts/IBMPlexSans-Variable.woff2') format('woff2');font-weight:100 700;font-style:normal;font-display:swap}
@font-face{font-family:'Source Code Pro';src:url('fonts/SourceCodePro-Variable.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
:root,[data-theme="marine"]{--brand:#002357;--brand-strong:#001333;--brand-tint:#edf1f7;--accent:#006bd6;--ink-inverse-muted:#b9c3d3;--paper:#ffffff;--surface-subtle:#f8f9fb;--surface-sunken:#f2f4f8;--line:#dde1e6;--line-strong:#c1c7cd;--line-control:#878d96;--ink:#121619;--rule:var(--ink);--ink-muted:#4f555a;--ink-subtle:#6c737a;--ink-inverse:#ffffff;--link:#004ca3;--focus:#006bd6;--focus-inverse:#ffffff;--positive:#036b23;--positive-strong:#005219;--positive-tint:#effdf3;--negative:#c70017;--negative-tint:#fff5f5;--notice:#754800;--notice-tint:#fff0c2;--plate-blue:#003399;--plate-yellow:#ffcc00;--chart-1:#2c5dae;--chart-2:#219ba1;--chart-3:#73336f;--chart-4:#be6b0b;--dark-paper:#121619;--dark-surface-subtle:#181c1f;--dark-surface-sunken:#21272a;--dark-line:#343a3f;--dark-line-strong:#4d5358;--dark-line-control:#878d96;--dark-ink:#f2f4f8;--dark-ink-muted:#c1c7cd;--dark-ink-subtle:#a2a9b0;--dark-link:#78a9ff;--dark-focus:#78a9ff;--dark-positive:#42be65;--dark-positive-strong:#24a148;--dark-positive-tint:#0d3719;--dark-negative:#ff8389;--dark-negative-tint:#4f2023;--dark-notice:#f1c21b;--dark-notice-tint:#3f3100;--dark-brand:#406db0;--dark-brand-strong:#2d599a;--dark-brand-tint:#182b49;--dark-accent:#4396ff;--dark-brand-deep:#002357;--dark-chart-1:#456ed1;--dark-chart-2:#10a6ad;--dark-chart-3:#9043a1;--dark-chart-4:#c16e2d;--shadow-overlay:0 12px 32px 0 rgba(18, 22, 25, 0.16);--shadow-sticky:0 1px 0 0 #dde1e6;--dark-shadow-overlay:0 12px 32px 0 rgba(0, 0, 0, 0.56);--dark-shadow-sticky:0 1px 0 0 #343a3f}
[data-theme="royal"]{--brand:#003780;--brand-strong:#002357;--brand-tint:#edf2fa;--accent:#058aff;--ink-inverse-muted:#bccbe2;--rule:var(--ink);--dark-brand:#2e6bc5;--dark-brand-strong:#1957af;--dark-brand-tint:#182b49;--dark-accent:#3897ff;--dark-brand-deep:#003780}
[data-theme="petrol"]{--brand:#0b4a55;--brand-strong:#07343c;--brand-tint:#ebf3f4;--accent:#13808d;--ink-inverse-muted:#b5cdd1;--rule:var(--ink);--dark-brand:#317583;--dark-brand-strong:#1a626f;--dark-brand-tint:#003039;--dark-accent:#42a2af;--dark-brand-deep:#0b4a55}
[data-theme="forest"]{--brand:#14482f;--brand-strong:#0c3321;--brand-tint:#ecf3ef;--accent:#0a8f32;--ink-inverse-muted:#b8cdc1;--rule:var(--ink);--dark-brand:#3c7858;--dark-brand-strong:#286446;--dark-brand-tint:#05321d;--dark-accent:#37aa4c;--dark-brand-deep:#14482f}
[data-theme="bordeaux"]{--brand:#6b1426;--brand-strong:#4f0e1b;--brand-tint:#f7eef0;--accent:#b0203b;--ink-inverse-muted:#dcbcc3;--rule:var(--ink);--dark-brand:#b34957;--dark-brand-strong:#9c3545;--dark-brand-tint:#461f23;--dark-accent:#f66573;--dark-brand-deep:#6b1426}
[data-theme="graphite"]{--brand:#21272a;--brand-strong:#121619;--brand-tint:#f2f4f8;--accent:#006bd6;--ink-inverse-muted:#c1c7cd;--rule:var(--ink);--dark-brand:#5d6f77;--dark-brand-strong:#4b5c64;--dark-brand-tint:#252c30;--dark-accent:#4396ff;--dark-brand-deep:#21272a}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--radius-none:0;--container-max:1280px;--container-pad:32px;--container-pad-sm:16px;--grid-columns:12;--gutter:24px;--gutter-sm:16px;--measure:680px;--rail-toc:264px;--rail-aside:300px;--header-h:72px;--header-h-compact:56px;--utility-h:32px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--border-hairline:1px;--border-rule:2px;--border-heavy:4px;--z-sticky:100;--z-header:200;--z-overlay:300;--z-modal:400;--font-sans:"Source Sans 3", "Source Sans Pro", -apple-system, "Segoe UI", Arial, sans-serif;--font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--font-plex:"IBM Plex Sans", -apple-system, "Segoe UI", Arial, sans-serif;--font-mono:"Source Code Pro", ui-monospace, Menlo, Consolas, monospace}
.t-display{font-family:var(--font-sans);font-size:48px;line-height:56px;font-weight:700;letter-spacing:-0.015em}
.t-h1{font-family:var(--font-sans);font-size:40px;line-height:48px;font-weight:700;letter-spacing:-0.01em}
.t-h2{font-family:var(--font-sans);font-size:30px;line-height:38px;font-weight:700;letter-spacing:-0.005em}
.t-h3{font-family:var(--font-sans);font-size:23px;line-height:30px;font-weight:600}
.t-h4{font-family:var(--font-sans);font-size:19px;line-height:26px;font-weight:600}
.t-lead{font-family:var(--font-sans);font-size:21px;line-height:32px;font-weight:400}
.t-body{font-family:var(--font-sans);font-size:18px;line-height:30px;font-weight:400}
.t-ui{font-family:var(--font-sans);font-size:16px;line-height:24px;font-weight:400}
.t-ui-strong{font-family:var(--font-sans);font-size:16px;line-height:24px;font-weight:600}
.t-small{font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:400}
.t-label{font-family:var(--font-sans);font-size:13px;line-height:16px;font-weight:600;letter-spacing:0.08em}
.t-figure{font-family:var(--font-sans);font-size:26px;line-height:32px;font-weight:600}
.t-figure-lg{font-family:var(--font-sans);font-size:44px;line-height:48px;font-weight:600;letter-spacing:-0.01em}
.t-mono{font-family:var(--font-mono);font-size:15px;line-height:24px;font-weight:400}
.opt-plex-h1{font-family:var(--font-plex);font-size:38px;line-height:46px;font-weight:700;letter-spacing:-0.01em}
.opt-plex-body{font-family:var(--font-plex);font-size:17px;line-height:29px;font-weight:400}
.opt-serif-h1{font-family:var(--font-serif);font-size:42px;line-height:48px;font-weight:600;letter-spacing:-0.01em;font-variation-settings:'opsz' 42}
.opt-serif-h2{font-family:var(--font-serif);font-size:30px;line-height:38px;font-weight:600;font-variation-settings:'opsz' 30}