@font-face{font-family:"Space Grotesk";src:url('../fonts/space-grotesk-latin-500.woff2') format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url('../fonts/space-grotesk-latin-600.woff2') format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('../fonts/source-sans-3-latin-400.woff2') format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url("../fonts/source-sans-3-latin-500.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url("../fonts/source-sans-3-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/ibm-plex-mono-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url('../fonts/ibm-plex-mono-latin-500.woff2') format("woff2");font-style:normal;font-weight:500;font-display:swap}

[hidden]{display:none!important}
main{display:block;min-height:40vh}address{font-style:normal}fieldset{min-width:0;margin:0;padding:0;border:0}legend{padding:0;font-weight:600}summary{cursor:pointer}hr{border:0;border-top:1px solid var(--rule);margin:2rem 0}table{border-collapse:collapse;width:100%}caption{text-align:left}th{text-align:left;font-weight:600}td,th{vertical-align:top}abbr[title]{text-underline-offset:.2em}code,kbd,samp{font-family:var(--mono);font-size:.85em}kbd{padding:.1em .4em;border:1px solid var(--rule);background:var(--ground)}sup{font-size:.7em;line-height:0}textarea{resize:vertical}button,select{touch-action:manipulation}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:rgba(0,109,98,.15)}
.flex>*,.cluster>*,.stack>*,.grid-12>*,.grid-6>*,section,article,aside,nav,form{min-width:0}.flow>*+*{margin-top:var(--flow-space,1.5rem)}.measure{max-width:var(--reading)}.text-muted{color:var(--muted)}.text-accent{color:var(--accent)}.text-mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.surface-ground{background:var(--ground)}.surface-tint{background:var(--tint)}.surface-ink{background:var(--ink);color:var(--paper)}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-6{grid-column:span 6}.span-4{grid-column:span 4}.span-3{grid-column:span 3}
@media(max-width:1100px){.span-12,.span-8{grid-column:1/-1}.span-3{grid-column:span 3}}

@media(max-width:767px){.span-6,.span-4,.span-3{grid-column:1/-1}}
@media print{body{background:#fff;color:#000;font-size:11pt}a{color:inherit}h1,h2,h3{break-after:avoid}figure,table,blockquote{break-inside:avoid}.site-header,.site-footer,.cookie-banner,.chat-launcher,.chat-panel,.skip-link{display:none!important}.site-shell{width:100%;max-width:none}[data-depth]{transform:none!important}.prose{max-width:none}}

:root{
 --ink:#142727;--paper:#fff;--ground:#eff4f3;--rule:#b5c6c3;--muted:#49625e;--accent:#006d62;--tint:#d9efeb;
 --accent-dark:#004f48;--accent-pale:#eef9f7;--black:#091313;--white:#fff;--danger:#a52d2d;--danger-pale:#fff0f0;--success:#17634c;
 --shell:1440px;--gutter:clamp(1rem,4vw,4.5rem);--measure:70rem;--reading:44rem;
 --space-1:.35rem;--space-2:.65rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4rem;--space-8:5rem;--space-9:7rem;
 --display:"Space Grotesk",'Helvetica Neue',Arial,sans-serif;--body:'Source Sans 3','Helvetica Neue',Arial,sans-serif;--mono:"IBM Plex Mono",'SFMono-Regular',Consolas,monospace;
 --text-xs:.76rem;--text-sm:.9rem;--text-body:clamp(1.02rem,1.15vw,1.125rem);--text-lg:clamp(1.3rem,2vw,1.8rem);--text-xl:clamp(2.1rem,5.6vw,5.8rem);--text-2xl:clamp(3rem,8vw,8.5rem);
 --leading-tight:1.03;--leading-snug:1.18;--leading-body:1.55;--leading-loose:1.72;
 --ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--ease-standard:cubic-bezier(.2,.65,.3,1);--ease-linear:linear;
 --duration-fast:160ms;--duration-base:260ms;--duration-slow:700ms;--shadow-paper:0 1rem 2.5rem rgba(20,39,39,.08),0 1px 0 rgba(20,39,39,.08);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-block-start:6rem;font-size:100%;scroll-behavior:smooth;background:var(--ground);color:var(--ink);overflow-x:hidden}
body{margin:0;min-width:320px;background:var(--paper);font-family:var(--body);font-size:var(--text-body);font-weight:400;line-height:var(--leading-body);text-rendering:optimizeLegibility;overflow-x:hidden}
body:has(.document-page),body:has(.legal-page){background:var(--ground)}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.17em}
a:hover{color:var(--accent-dark)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:var(--paper)}
h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.035em;overflow-wrap:anywhere}
h1{font-size:var(--text-xl);max-width:12ch}
h2{font-size:clamp(1.9rem,3.6vw,4rem);max-width:18ch}
h3{font-size:clamp(1.35rem,2vw,2rem);max-width:25ch}
h4{font-size:1.1rem;letter-spacing:-.015em}
p,li{max-width:68ch}p+ p{margin-top:1.1em}
ul,ol{padding-left:1.3em}
small,.meta,.eyebrow,.label{font-family:var(--mono);font-size:var(--text-xs);line-height:1.4;letter-spacing:.04em}
.eyebrow{text-transform:uppercase;color:var(--muted)}
.prose{font-size:var(--text-body)}.prose h2{margin-top:3.5rem;margin-bottom:1.2rem}.prose h3{margin-top:2.2rem;margin-bottom:.8rem}.prose p,.prose ul,.prose ol{margin-bottom:1.15rem}.prose li+li{margin-top:.45rem}.prose strong{font-weight:600}.prose blockquote{border-left:2px solid var(--accent);padding:1rem 1.25rem;margin:2rem 0;color:var(--muted);font-family:var(--display);font-size:1.2em;line-height:1.35}
.site-shell{width:min(100% - (var(--gutter)*2),var(--shell));margin-inline:auto}.wide-shell{width:min(100% - (var(--gutter)*2),90rem);margin-inline:auto}
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2.5vw,2.5rem)}.grid-6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2rem}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.min-zero{min-width:0}
.section{padding-block:clamp(3.5rem,8vw,7rem)}.section-tight{padding-block:clamp(2rem,4vw,4rem)}.rule-top{border-top:1px solid var(--rule)}.rule-bottom{border-bottom:1px solid var(--rule)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:1rem;left:1rem;padding:.7rem 1rem;background:var(--ink);color:#fff;transform:translateY(-180%);transition:transform var(--duration-fast) var(--ease-out)}.skip-link:focus{transform:none}
.icon{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.7;flex:0 0 auto}.icon-fill{fill:currentColor;stroke:none}
[data-depth]{will-change:transform}.js [data-motion-target]{will-change:transform}
@media(max-width:1100px){:root{--gutter:clamp(1rem,3vw,2.5rem)}.grid-12{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:767px){:root{--gutter:1rem;--space-8:4rem;--space-9:5rem}.grid-12,.grid-6{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.section{padding-block:3.5rem}h1{max-width:13ch}.prose{font-size:1.05rem}.hide-mobile{display:none!important}}
@media(max-width:380px){body{font-size:1rem}.grid-12,.grid-6{gap:1rem}.section{padding-block:2.75rem}h1{font-size:clamp(2rem,11vw,2.6rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}[data-depth]{transform:none!important;will-change:auto}}

/* Preserve explicit span tracks against generic fallback grid rules. */
main div.grid-12{grid-template-columns:repeat(12,minmax(0,1fr))!important}
@media(max-width:1100px){main div.grid-12{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media(max-width:767px){main div.grid-12{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
