
:root {
   color-scheme: dark;
   --ink: #101111;
   --gunmetal: #262a29;
   --oat: #e9e0d0;
   --clay: #b9623c;
   --signal: #f2a51a;
   --line: #67645d;

   --chalk: #f8f4ec;
   --sufi-007: 'Barlow Condensed', "Arial Narrow", sans-serif;
   --sufi-757: 'Source Sans 3', sans-serif;
   --sufi-e7a: "IBM Plex Mono", monospace;
   --surface: var(--ink);
   --surface-raised: var(--gunmetal);
   --text: var(--chalk);
   --text-muted: #beb8ac;
   --text-on-paper: var(--ink);
   --text-muted-on-paper: #514d45;
   --border: var(--line);
   --border-subtle: #41433f;
   --error: #ffb099;
   --error-on-paper: #912d17;
   --success: #d5ddbb;
   --focus: var(--signal);
   --max-width: 1500px;
   --shell-width: 1500px;
   --measure: 65ch;
   --measure-short: 42ch;
   --gutter: clamp(1rem, 3.8vw, 4.5rem);
   --section-padding: clamp(4.5rem, 10vw, 11rem);
   --rail-width: 10rem;

   --header-height: 6rem;
   --space-1: .25rem;
   --space-2: .5rem;
   --space-3: .75rem;
   --space-4: 1rem;
   --space-5: 1.5rem;
   --space-6: 2rem;
   --space-7: 3rem;
   --space-8: 4.5rem;
   --space-9: 6rem;
   --space-10: 9rem;
   --space-11: 12rem;
   --type-xs: .75rem;
   --type-sm: .875rem;
   --type-body: clamp(1rem, .95rem + .25vw, 1.1875rem);
   --type-lead: clamp(1.25rem, 1.05rem + .8vw, 1.875rem);
   --type-h4: clamp(1.5rem, 1.2rem + 1vw, 2.25rem);
   --type-h3: clamp(2rem, 1.5rem + 1.6vw, 3.25rem);
   --type-h2: clamp(2.5rem, 1.6rem + 4vw, 6rem);
   --type-h1: clamp(3.25rem, 1.6rem + 6.6vw, 9rem);
   --type-display: clamp(3.75rem, 1.4rem + 8vw, 11rem);
   --leading-body: 1.55;
   --leading-tight: .96;
   --tracking-display: -.025em;
   --tracking-meta: .075em;
   --rule: 2px;
   --hairline: 1px;
   --radius-control: 3px;
   --radius-image: 14px;
   --shadow-tab: 4px 4px 0 var(--ink);
   --shadow-panel: 8px 8px 0 #000;
   --duration-fast: 140ms;
   --duration-control: 180ms;
   --duration-panel: 360ms;
   --duration-reveal: 900ms;
   --ease-out: cubic-bezier(.16, 1, .3, 1);
   --ease-in-out: cubic-bezier(.65, 0, .35, 1);
   --ease-spring: cubic-bezier(.2, 1.35, .4, 1);
   --z-header: 30;
   --z-nav: 40;
   --z-chat: 60;
   --z-consent: 70;
   --z-dialog: 80;
   --z-skip: 100;
   --cookie-offset: 0px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 7rem; }
body { margin: 0; background: var(--surface); color: var(--text); font: 400 var(--type-body)/var(--leading-body) var(--sufi-757); overflow-wrap: break-word; -webkit-font-smoothing: antialiased; }
main, header, footer, section, article, aside, nav, div, figure, form, fieldset { min-width: 0; }
main { display: block; }
h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd { margin: 0; }
ul, ol { margin-block: 0; padding-inline-start: 1.5em; }
li + li { margin-top: .4em; }
img, picture, video, canvas { display: block; max-width: 100%; }
img { height: auto; }
svg { max-width: 100%; }
button, input, textarea, select { font: inherit; color: inherit; }
button, input, select, textarea { max-width: 100%; }
button, select { cursor: pointer; }
button { text-align: inherit; }
button, input { overflow: visible; }
button { border-radius: var(--radius-control); }
textarea { resize: vertical; }
input, textarea, select { min-width: 0; }
fieldset { margin: 0; padding: 0; border: 0; }
legend { padding: 0; max-width: 100%; }
a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1px; }
button, a, summary, input, select, textarea { -webkit-tap-highlight-color: rgb(242 165 26 / .2); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 5px; }
:focus:not(:focus-visible) { outline: none; }
[hidden] { display: none !important; }
[disabled] { cursor: not-allowed; }
::selection { background: var(--signal); color: var(--ink); }
hr { border: 0; border-top: var(--hairline) solid var(--border); margin-block: var(--space-6); }
address { font-style: normal; }
strong, b { font-weight: 700; }
small { font-size: var(--type-sm); }
sub, sup { line-height: 0; font-size: .75em; }
code, pre, kbd, samp { font-family: var(--sufi-e7a); font-size: .85em; }
pre { max-width: 100%; overflow: auto; padding: var(--space-5); border: 1px solid var(--line); }
code { overflow-wrap: anywhere; }
iframe { max-width: 100%; border: 0; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
caption { text-align: left; }
summary { cursor: pointer; }
@media screen {
   details:not([open]) > :not(summary) { display: none !important; }
}

h1, h2, h3, h4, h5, h6 { font-family: var(--sufi-007); font-weight: 600; line-height: var(--leading-tight); letter-spacing: var(--tracking-display); text-wrap: balance; overflow-wrap: anywhere; }
h1 { font-size: var(--type-h1); font-weight: 700; }
h2 { font-size: var(--type-h2); }
h3 { font-size: var(--type-h3); }
h4 { font-size: var(--type-h4); }
h5, h6 { font-size: 1.375rem; line-height: 1.1; }
p { text-wrap: pretty; }
.display { font: 700 var(--type-display)/.9 var(--sufi-007); letter-spacing: -.03em; text-transform: uppercase; }
.lead { font-size: var(--type-lead); line-height: 1.35; max-width: var(--measure-short); }
.eyebrow, .meta, .label-mono { font-family: var(--sufi-e7a); font-size: var(--type-xs); font-weight: 400; line-height: 1.65; letter-spacing: var(--tracking-meta); text-transform: uppercase; }
.eyebrow { display: block; margin-bottom: var(--space-5); color: var(--signal); }
.text-muted { color: var(--text-muted); }
.text-signal { color: var(--signal); }
.text-small { font-size: var(--type-sm); }
.prose { max-width: var(--measure); }
.prose > * + * { margin-top: 1.35em; }
.prose > :is(h2, h3, h4) { margin-top: 1.4em; }
.prose > :is(h2, h3, h4) + * { margin-top: .75em; }
.prose > :first-child { margin-top: 0; }
.prose h2 { font-size: clamp(2rem, 1.7rem + 1.6vw, 3.5rem); }
.prose h3 { font-size: clamp(1.75rem, 1.4rem + 1vw, 2.5rem); }
.prose li { padding-inline-start: .25em; }
.prose li::marker { color: var(--signal); }
.prose a { text-decoration-thickness: 1px; }
.prose blockquote { border-inline-start: 2px solid var(--signal); padding-inline-start: var(--space-5); font-size: var(--type-lead); }
.prose figcaption { margin-top: .75rem; color: var(--text-muted); font: 400 .75rem/1.6 var(--sufi-e7a); }
.prose dt { font-weight: 700; margin-top: 1.25em; }
.prose dd { margin-top: .4em; }

.shell, .container { width: min(100% - var(--gutter) * 2, var(--max-width)); margin-inline: auto; }
.section { padding-block: var(--section-padding); }
.section-tight { padding-block: clamp(3rem, 6vw, 6rem); }
.section-rule { border-top: var(--rule) solid var(--line); }
.stack { display: flex; flex-direction: column; align-items: stretch; gap: var(--stack-gap, var(--space-5)); }
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cluster-gap, var(--space-4)); }
.cluster > *, .split > *, .grid > * { min-width: 0; }
.split { display: flex; flex-wrap: wrap; gap: clamp(2rem, 5vw, 6rem); }
.split > * { flex: 1 1 26rem; }
.split > :first-child { flex-grow: 2; }
.split-reverse > :first-child { flex-grow: 1; }
.split-reverse > :last-child { flex-grow: 2; }
.grid { display: grid; gap: var(--space-6); }
.grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.align-start { align-items: start; }
.align-end { align-items: end; }
.measure { max-width: var(--measure); }
.measure-short { max-width: var(--measure-short); }
.flow > * + * { margin-top: var(--flow-space, 1.5rem); }
.paper { --surface: var(--oat); --text: var(--ink); --text-muted: var(--text-muted-on-paper); --error: var(--error-on-paper); background: var(--surface); color: var(--text); color-scheme: light; }
.paper .eyebrow { color: var(--text-muted-on-paper); }
.dark { --surface: var(--ink); --text: var(--chalk); --text-muted: #beb8ac; background: var(--surface); color: var(--text); color-scheme: dark; }
.gunmetal { --text: var(--chalk); --text-muted: #beb8ac; background: var(--gunmetal); color: var(--chalk); }
.paper .section-label__index, :is(.lanes-section, .checker-section) .section-label__index { color: inherit; }
.paper :is(.dark, .gunmetal, .legal-hero) .eyebrow { color: var(--signal); }
.image-frame { overflow: hidden; border-radius: var(--radius-image); background: var(--gunmetal); }
.image-frame img { width: 100%; height: 100%; object-fit: cover; }
.image-caption { margin-top: var(--space-3); font: 400 .75rem/1.6 var(--sufi-e7a); color: var(--text-muted); }
.image-wipe, [data-image-wipe], [data-reveal], .reveal-line { visibility: visible; }
.line-wrap { display: block; }
.line-inner { display: block; }
.tepu1b6 { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.sr-only, .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); pointer-events: none; }
.break-anywhere { overflow-wrap: anywhere; }
@media (min-width: 1100px) {
   .rail-layout { padding-inline-end: var(--rail-width); }
}
@media (max-width: 767px) {
   :root { --header-height: 5rem; --rail-width: 0rem; }
   .split, .split-reverse, .grid-two, .grid-three { grid-template-columns: minmax(0, 1fr); }
   .split { gap: var(--space-7); }
   .split > * { flex-basis: 100%; }
   .section { padding-block: clamp(4rem, 14vw, 6rem); }
   .prose { max-width: none; }
}
@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; }
   [data-reveal], [data-image-wipe], .image-wipe, .reveal-line, .line-inner { opacity: 1 !important; transform: none !important; clip-path: none !important; }
}
@media print {
   :root { color-scheme: light; --text: #101111; --text-muted: #444; --surface: #fff; }
   body { background: white; color: black; font-size: 11pt; }
   main { padding: 0 !important; }
   h1, h2, h3, h4 { break-after: avoid; }
   p, li { orphans: 3; widows: 3; }
   figure, table { break-inside: avoid; }
   .shell, .container { width: 100%; }
   .section { padding-block: 2rem; }
   .paper, .dark, .gunmetal { background: white; color: black; }
}
