

:root {
   color-scheme: light;
   --ink: #14202A;
   --slate: #2C3A45;
   --steel: #667783;
   --paper: #F2F0EA;
   --chalk: #FBFAF6;
   --ice: #8FD6E5;
   --line: #C8D0D1;
   --text: var(--ink);
   --text-muted: #4B5C67;
   --text-inverse: var(--chalk);
   --text-inverse-muted: #BDC9CD;
   --surface: var(--paper);
   --surface-raised: var(--chalk);
   --surface-dark: var(--ink);
   --border-strong: #82929A;
   --error: #9C302E;
   --error-surface: #F9ECE8;
   --success: #235B49;
   --success-surface: #E9F0EA;
   --focus: #236879;
   --lilu-73b: "Barlow Condensed", "Arial Narrow", sans-serif;
   --lilu-fb1: "DM Sans", Arial, sans-serif;
   --lilu-343: "IBM Plex Mono", 'Courier New', monospace;
   --weight-regular: 400;

   --weight-medium: 500;
   --weight-semibold: 600;
   --weight-bold: 700;
   --text-xs: 0.75rem;
   --text-sm: 0.875rem;
   --text-base: clamp(1rem, 0.96rem + 0.16vw, 1.125rem);
   --text-lg: clamp(1.125rem, 1rem + 0.4vw, 1.375rem);
   --text-xl: clamp(1.375rem, 1.12rem + 0.8vw, 1.875rem);
   --heading-sm: clamp(1.625rem, 1.25rem + 1.2vw, 2.5rem);
   --heading-md: clamp(2rem, 1.3rem + 2.4vw, 3.75rem);
   --heading-lg: clamp(2.75rem, 1.5rem + 4vw, 6rem);
   --heading-xl: clamp(3.25rem, 1.3rem + 6.8vw, 8.5rem);
   --quote-size: clamp(3rem, 1rem + 7.5vw, 10rem);
   --leading-body: 1.65;
   --leading-heading: 0.98;
   --leading-compact: 1.2;
   --tracking-display: -0.018em;
   --tracking-label: 0.065em;
   --space-1: 0.25rem;
   --space-2: 0.5rem;
   --space-3: 0.75rem;
   --space-4: 1rem;
   --space-5: 1.25rem;
   --space-6: 1.5rem;
   --space-8: 2rem;
   --space-10: 2.5rem;
   --space-12: 3rem;
   --space-16: 4rem;
   --space-20: 5rem;
   --space-24: 6rem;
   --space-32: 8rem;
   --space-40: 10rem;
   --section-space: clamp(4rem, 10vw, 10rem);
   --section-space-small: clamp(3rem, 6vw, 6rem);
   --gutter: 2rem;
   --rail-width: 280px;
   --content-max: 1480px;
   --reading-max: 68ch;
   --radius: 0;
   --field-radius: 2px;
   --rule: 1px solid var(--line);
   --rule-dark: 1px solid #485661;
   --shadow-panel: 0 16px 48px rgb(20 32 42 / 18%);
   --shadow-control: 3px 3px 0 var(--ink);
   --duration-instant: 120ms;
   --duration-control: 160ms;
   --duration-drawer: 320ms;
   --duration-reveal: 800ms;
   --duration-settle: 1400ms;
   --stagger: 90ms;
   --ease-control: cubic-bezier(0.2, 0.7, 0.3, 1);
   --ease-reveal: cubic-bezier(0.16, 1, 0.3, 1);
   --ease-settle: cubic-bezier(0.22, 0.61, 0.36, 1);
   --layer-content: 1;
   --layer-sticky: 10;
   --layer-rail: 30;
   --layer-backdrop: 40;
   --layer-drawer: 50;
   --layer-chat: 60;
   --layer-consent: 70;
   --layer-skip: 100;
   --consent-height: 0px;
}


*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-block-start: 2rem; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--lilu-fb1); font-size: var(--text-base); font-weight: 400; line-height: var(--leading-body); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
main, header, footer, section, article, aside, nav, div, form, fieldset, figure { min-width: 0; }
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, figure, blockquote { margin: 0; }
h1, h2, h3, h4, h5, h6 { font-family: var(--lilu-73b); font-weight: 600; line-height: var(--leading-heading); letter-spacing: var(--tracking-display); overflow-wrap: break-word; text-wrap: balance; }
h1 { font-size: var(--heading-xl); }
h2 { font-size: var(--heading-lg); }
h3 { font-size: var(--heading-md); }
h4 { font-size: var(--heading-sm); }
h5, h6 { font-size: var(--text-xl); line-height: 1.15; }
p { overflow-wrap: break-word; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.2em; overflow-wrap: anywhere; }
button, input, select, textarea { font: inherit; color: inherit; }
button, select { cursor: pointer; }
button { border-radius: 0; }
button, input, select, textarea, summary { touch-action: manipulation; }
button { line-height: 1.25; }
button:disabled { cursor: not-allowed; }
input, select, textarea { max-width: 100%; }
textarea { resize: vertical; }
fieldset { margin: 0; padding: 0; border: 0; }
legend { padding: 0; }
label { cursor: pointer; }
img, picture, video { display: block; max-width: 100%; }
img, video { height: auto; }
svg { max-width: 100%; vertical-align: middle; }
iframe { max-width: 100%; border: 0; }
table { border-collapse: collapse; width: 100%; }
th { text-align: start; }
ul, ol { padding-inline-start: 1.4em; }
li + li { margin-block-start: 0.45em; }
dd { margin: 0; }
address { font-style: normal; }
small { font-size: var(--text-sm); }
strong, b { font-weight: 700; }
code, kbd, samp, pre { font-family: var(--lilu-343); font-size: 0.9em; }
code { overflow-wrap: anywhere; }
pre { max-width: 100%; overflow: auto; padding: var(--space-6); background: var(--chalk); border: var(--rule); }
hr { margin: var(--space-8) 0; border: 0; border-block-start: var(--rule); }
summary { cursor: pointer; }
::selection { background: var(--ice); color: var(--ink); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
[hidden] { display: none !important; }
[id] { scroll-margin-block-start: 2rem; }


.site-content { margin-inline-start: var(--rail-width); min-width: 0; container-type: inline-size; }
.site-main { min-height: 55vh; }
.container { width: min(100% - 2rem, var(--content-max)); margin-inline: auto; padding-inline: var(--space-4); }
.section { padding-block: var(--section-space); }
.section--compact { padding-block: var(--section-space-small); }
.panel { min-height: 100svh; padding: var(--section-space) var(--gutter); position: relative; }
.panel-inner { width: 100%; max-width: var(--content-max); margin-inline: auto; }
.reading-width { max-width: var(--reading-max); }
.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-8)); }

.grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2rem, 5vw, 6rem); align-items: start; }
.flow > * + * { margin-block-start: var(--flow-space, 1.5rem); }
.self-start { align-self: start; }
.align-end { align-items: end; }
.full-width { width: 100%; }
.rule-top { border-block-start: var(--rule); padding-block-start: var(--space-8); }
.rule-bottom { border-block-end: var(--rule); padding-block-end: var(--space-8); }
.surface-dark { color: var(--chalk); background: var(--ink); --text-muted: var(--text-inverse-muted); --focus: var(--ice); }
.surface-light { color: var(--ink); background: var(--chalk); }
.meta, .eyebrow { font-family: var(--lilu-343); font-weight: 500; font-size: var(--text-xs); line-height: 1.6; letter-spacing: var(--tracking-label); }
.eyebrow { text-transform: uppercase; display: flex; align-items: baseline; gap: var(--space-3); }
.eyebrow::before { content: ''; width: 0.5rem; height: 0.5rem; flex: 0 0 0.5rem; background: var(--ice); border: 1px solid var(--slate); }
.lead { font-size: var(--text-xl); line-height: 1.5; max-width: 48ch; }
.text-muted { color: var(--text-muted); }
.text-mono { font-family: var(--lilu-343); font-variant-numeric: tabular-nums; }
.text-small { font-size: var(--text-sm); }
.text-balance { text-wrap: balance; }
.display { font-family: var(--lilu-73b); font-weight: 600; font-size: var(--heading-xl); line-height: 0.98; letter-spacing: var(--tracking-display); }
.prose { max-width: var(--reading-max); }
.prose > * + * { margin-block-start: 1.4em; }
.prose > h2 { margin-block-start: 1.8em; font-size: var(--heading-md); }
.prose > h3 { margin-block-start: 1.6em; font-size: var(--heading-sm); }
.prose > :first-child { margin-block-start: 0; }
.prose :is(ul, ol) { padding-inline-start: 1.4em; }
.prose li::marker { color: var(--text-muted); }
.prose blockquote { border-inline-start: 3px solid var(--ice); padding-inline-start: var(--space-6); font-size: var(--text-xl); }
.prose a { text-decoration-thickness: 2px; }
.prose figure { margin-block: var(--space-10); }
.prose figcaption { font-family: var(--lilu-343); font-size: var(--text-xs); line-height: 1.6; margin-block-start: var(--space-3); }
.prose dl { border-block: var(--rule); }
.prose dt { font-weight: 700; padding-block-start: var(--space-4); }
.prose dd { padding-block: var(--space-2) var(--space-4); }
.visually-hidden, .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); pointer-events: none; }

.scroll-box { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.paint-rule { display: block; width: 100%; height: 2px; background: var(--ice); transform-origin: left center; }


@media (min-width: 1920px) {
   :root { --gutter: 3rem; }
   .panel-inner { max-width: 1480px; }
}
@media (max-width: 1199px) {
   .grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
   .split { gap: var(--space-8); }
}
@media (max-width: 1023px) {
   :root { --gutter: 1.25rem; }
   html { scroll-padding-block-start: 5.5rem; }
   [id] { scroll-margin-block-start: 5.5rem; }
   .site-content { margin-inline-start: 0; }
   .site-main { padding-block-start: 5rem; }
   .container { width: min(100% - 2rem, var(--content-max)); padding-inline: var(--space-1); }
   .panel { min-height: auto; }
}
@media (max-width: 767px) {
   .grid--two, .grid--three, .grid--four, .split { grid-template-columns: minmax(0, 1fr); }
   .grid, .split { gap: var(--space-8); }
   .lead { max-width: 100%; }
   .section { padding-block: clamp(3.5rem, 12vw, 5rem); }
}
@media (prefers-reduced-motion: reduce) {
   html { scroll-behavior: auto; }
   :root { --duration-instant: 0.01ms; --duration-control: 0.01ms; --duration-drawer: 0.01ms; --duration-reveal: 0.01ms; --duration-settle: 0.01ms; --stagger: 0ms; }
   *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
@media print {
   :root { --ink: #000; --paper: #FFF; --chalk: #FFF; }
   body { font-size: 11pt; }
   .site-content { margin: 0; }
   .site-main { padding: 0; }
   .panel { min-height: 0; padding: 1.5rem 0; }
   h1, h2, h3 { break-after: avoid; }
   figure, table, blockquote { break-inside: avoid; }
   a { text-decoration: underline; }
}
