
:root {
   color-scheme:dark;
   --ink:#111315;
   --carbon:#171a1d;
   --gunmetal:#2b3034;
   --paper:#e8e5dd;
   --chalk:#f7f5ef;
   --signal:#f05a28;
   --muted:#9ca2a4;
   --line:#4b5255;
   --surface:var(--ink);
   --surface-raised:var(--carbon);
   --text:var(--chalk);
   --text-secondary:#b8bdbd;
   --text-on-paper:var(--ink);
   --text-muted-on-paper:#50575a;
   --line-on-paper:#b4b4ac;
   --signal-on-paper:#a6310d;
   --error:#ffab8d;
   --error-on-paper:#972a0c;
   --focus:var(--signal);
   --jaso-cdf:'Space Grotesk', sans-serif;
   --jaso-5e0:'Source Sans 3', sans-serif;
   --jaso-ae6:"IBM Plex Mono", monospace;
   --weight-normal:400;
   --weight-medium:500;
   --weight-semibold:600;
   --weight-bold:700;
   --text-xs:clamp(.75rem, .72rem + .12vw, .8125rem);
   --text-sm:clamp(.875rem, .85rem + .13vw, .9375rem);
   --text-base:clamp(1.0625rem, 1rem + .2vw, 1.1875rem);

   --text-lg:clamp(1.25rem, 1.12rem + .5vw, 1.5rem);
   --text-xl:clamp(1.5rem, 1.22rem + 1vw, 2rem);
   --text-h3:clamp(1.625rem, 1.25rem + 1.5vw, 2.5rem);
   --text-h2:clamp(2rem, 1.35rem + 2.8vw, 3.75rem);
   --text-h1:clamp(2.5rem, 1.1rem + 6vw, 6rem);
   --text-hero:clamp(2.625rem, 1rem + 7vw, 7.25rem);
   --leading-body:1.6;
   --leading-heading:1.08;
   --leading-display:1.02;
   --tracking-display:-.055em;
   --tracking-heading:-.035em;
   --tracking-label:.09em;
   --space-1:.25rem;
   --space-2:.5rem;
   --space-3:.75rem;
   --space-4:1rem;
   --space-5:1.25rem;
   --space-6:1.5rem;

   --space-7:2rem;
   --space-8:2.5rem;
   --space-9:3rem;
   --space-10:4rem;
   --space-11:6rem;
   --space-12:9rem;
   --section-space:clamp(4rem, 10vw, 9rem);
   --module-gap:1.5rem;
   --gutter:1.25rem;
   --shell-max:73.75rem;
   --reading-max:43.75rem;
   --reading-narrow:34rem;
   --border-width:1px;
   --radius:0;
   --control-min:2.75rem;
   --header-offset:10rem;
   --cookie-height:0px;
   --shadow-panel:0 18px 48px rgb(0 0 0 / .3);
   --shadow-document:0 12px 36px rgb(0 0 0 / .2);
   --duration-instant:120ms;
   --duration-control:160ms;
   --duration-state:200ms;
   --duration-panel:280ms;
   --duration-word:480ms;
   --ease-standard:cubic-bezier(.2, .7, .2, 1);
   --ease-enter:cubic-bezier(.16, 1, .3, 1);
   --ease-exit:cubic-bezier(.4, 0, 1, 1);
   --z-header:20;
   --z-nav:30;
   --z-chat:50;
   --z-consent:60;
   --z-dialog:70;
   --z-skip:100;
}

*, *::before, *::after { box-sizing: border-box; }
html { margin: 0; padding: 0; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: var(--header-offset); background: var(--ink); }
body { margin: 0; min-width: 0; background: var(--surface); color: var(--text); font-family: var(--jaso-5e0); font-size: var(--text-base); font-weight: 400; line-height: var(--leading-body); -webkit-font-smoothing: antialiased; }
main, header, footer, section, article, aside, nav, figure, form, fieldset, div { min-width: 0; }
img, picture, video, canvas, svg { display: block; max-width: 100%; }
img, video { height: auto; }
picture { width: 100%; }
iframe { max-width: 100%; border: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
button, input, select, textarea, fieldset { border-radius: var(--radius); }
button, select { text-transform: none; }
button { cursor: pointer; }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; }
input, select, textarea { min-width: 0; max-width: 100%; }
textarea { resize: vertical; }
fieldset { margin: 0; padding: 0; min-width: 0; border: 0; }
legend { padding: 0; max-width: 100%; }
button, a, label, summary { -webkit-tap-highlight-color: rgb(240 90 40 / .2); }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
:target { scroll-margin-top: var(--header-offset); }
::selection { background: var(--signal); color: var(--ink); }
[hidden] { display: none !important; }
[inert] { pointer-events: none; }
figure, blockquote, dl, dd { margin: 0; }
p, ul, ol { margin: 0; }
ul, ol { padding-inline-start: 1.35em; }
li + li { margin-top: .4em; }
hr { margin: var(--space-9) 0; border: 0; border-top: 1px solid var(--line); }
address { font-style: normal; }
strong, b { font-weight: 600; }
em, i { font-style: italic; }
small { font-size: var(--text-sm); }
sub, sup { font-size: .75em; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -.45em; }
sub { bottom: -.2em; }
abbr[title] { text-decoration: underline dotted; text-underline-offset: .2em; }
code, kbd, samp, pre { font-family: var(--jaso-ae6); font-size: .85em; }
code { overflow-wrap: anywhere; }
pre { max-width: 100%; overflow-x: auto; padding: var(--space-6); background: var(--carbon); border: 1px solid var(--line); }
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
th { text-align: start; font-weight: 600; }
caption { text-align: start; }

h1, h2, h3, h4, h5, h6 { margin: 0; color: inherit; font-family: var(--jaso-cdf); font-weight: 500; line-height: var(--leading-heading); letter-spacing: var(--tracking-heading); overflow-wrap: break-word; text-wrap: balance; }
h1 { font-size: var(--text-h1); line-height: var(--leading-display); letter-spacing: var(--tracking-display); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); }
h4 { font-size: var(--text-xl); }
h5, h6 { font-size: var(--text-lg); }
p { overflow-wrap: break-word; text-wrap: pretty; }
.lede { max-width: var(--reading-max); font-size: var(--text-lg); line-height: 1.5; color: var(--text-secondary); }
.eyebrow, .meta, .label, .section-number { font-family: var(--jaso-ae6); font-size: var(--text-xs); font-weight: 400; line-height: 1.5; font-variant-numeric: tabular-nums; letter-spacing: var(--tracking-label); text-transform: uppercase; overflow-wrap: anywhere; }
.eyebrow { color: var(--muted); }
.meta { color: var(--muted); letter-spacing: .025em; }
.section-number { color: var(--signal); }
.display { font-family: var(--jaso-cdf); font-weight: 500; letter-spacing: var(--tracking-display); line-height: var(--leading-display); }
.mono { font-family: var(--jaso-ae6); font-variant-numeric: tabular-nums; }
.text-muted { color: var(--text-secondary); }
.text-small { font-size: var(--text-sm); }
.text-center { text-align: center; }
.text-signal { color: var(--signal); }
.prose { max-width: var(--reading-max); }
.prose > * + * { margin-top: 1.25em; }
.prose > h2 { margin-top: 2em; }
.prose > h3 { margin-top: 1.8em; }
.prose > :first-child { margin-top: 0; }
.prose h2 + p, .prose h3 + p { margin-top: .85em; }
.prose ul, .prose ol { padding-inline-start: 1.4em; }
.prose li { padding-inline-start: .25em; }
.prose li::marker { color: var(--muted); }
.prose a { text-decoration-color: var(--signal); }
.prose blockquote { padding: var(--space-6) 0 var(--space-6) var(--space-6); border-inline-start: 2px solid var(--signal); font-family: var(--jaso-cdf); font-size: var(--text-xl); line-height: 1.35; letter-spacing: -.025em; }
.prose blockquote cite { display: block; margin-top: var(--space-5); font-family: var(--jaso-ae6); font-size: var(--text-xs); font-style: normal; letter-spacing: .04em; color: var(--muted); }
.prose dl { display: grid; gap: var(--space-3); }
.prose dt { font-weight: 600; }
.prose dd { padding-inline-start: var(--space-5); color: var(--text-secondary); }

.shell, .container { width: min(calc(100% - var(--gutter) * 2), var(--shell-max)); margin-inline: auto; }
.reading, .reading-column { width: min(calc(100% - var(--gutter) * 2), var(--reading-max)); margin-inline: auto; }
.shell .reading, .container .reading { width: min(100%, var(--reading-max)); }
.measure { max-width: var(--reading-max); }
.measure-narrow { max-width: var(--reading-narrow); }
.section { padding-block: var(--section-space); }
.section + .section { border-top: 1px solid var(--gunmetal); }
.section-tight { padding-block: clamp(2.5rem, 6vw, 5rem); }
.stack { display: flex; flex-direction: column; gap: var(--stack-gap, var(--space-6)); }
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cluster-gap, var(--space-4)); }
.cluster > *, .grid > *, .split > *, .stack > * { min-width: 0; }
.grid { display: grid; gap: var(--grid-gap, var(--space-7)); }

.grid-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--grid-gap, var(--space-7)); }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr); gap: clamp(2rem, 5vw, 5rem); }
.full-measure { width: 100%; }
.rule-top { border-top: 1px solid var(--line); }
.rule-bottom { border-bottom: 1px solid var(--line); }
.surface-paper { color-scheme: light; background: var(--paper); color: var(--ink); --text-secondary: var(--text-muted-on-paper); --muted: var(--text-muted-on-paper); --line: var(--line-on-paper); --focus: var(--signal-on-paper); --error: var(--error-on-paper); }
.surface-paper .text-signal, .surface-paper .section-number { color: var(--signal-on-paper); }
.surface-carbon { background: var(--carbon); color: var(--chalk); }
.visually-hidden, .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.honeypot { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); pointer-events: none; }
.cekeb0f { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.break-anywhere { overflow-wrap: anywhere; }

@media (min-width: 48rem) {
   :root { --gutter: 2rem; --module-gap: 2rem; }
}
@media (min-width: 80rem) {
   :root { --gutter: 3.5rem; --module-gap: 3rem; }
}
@media (max-width: 47.999rem) {
   .grid-two, .split { grid-template-columns: minmax(0, 1fr); }
   .prose blockquote { padding-inline-start: var(--space-5); }
}
@media (prefers-reduced-motion: reduce) {
   :root { --duration-instant: 0ms; --duration-control: 0ms; --duration-state: 0ms; --duration-panel: 0ms; --duration-word: 0ms; }
   html { scroll-behavior: auto; }
   *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
   .signal-canvas, [data-shader-canvas] { display: none !important; }
   .route-path, [data-route-path] { stroke-dashoffset: 0 !important; }
   .route-step, [data-route-step] { opacity: 1; }
}
@media (forced-colors: active) {
   :root { --focus: Highlight; }
   a, button, input, select, textarea { forced-color-adjust: auto; }
   .icon { fill: none; stroke: currentColor; }
   ::selection { background: Highlight; color: HighlightText; }
}
@media print {
   :root { --surface: #fff; --text: #111315; --text-secondary: #2b3034; --muted: #4b5255; --gutter: 0; }
   body { background: white; color: black; font-size: 11pt; }
   h1 { font-size: 30pt; }
   h2 { font-size: 22pt; }
   h3 { font-size: 16pt; }
   a { color: inherit; text-decoration: underline; }
   .shell, .container, .reading, .reading-column { width: 100%; }
   .section { padding-block: 1.5rem; }
   figure, table, blockquote { break-inside: avoid; }
   h1, h2, h3 { break-after: avoid; }
   p { orphans: 3; widows: 3; }
}
