@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/space-grotesk-500.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/space-grotesk-600.woff2') format('woff2')}

@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/space-grotesk-700.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/source-sans-3-400.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/source-sans-3-500.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/source-sans-3-600.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/source-sans-3-700.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-mono-400.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-mono-500.woff2') format('woff2')}
:root{
color-scheme:dark;
--ink:#101313;--ink-raised:#171d1b;--paper:#f0ebdd;--muted:#a9b0a8;--emerald:#176b58;--brass:#b89a62;--line:#39423d;
--surface:var(--ink);--surface-raised:var(--ink-raised);--text:var(--paper);--text-secondary:var(--muted);--accent:var(--emerald);--border:var(--line);--focus:var(--brass);
--emerald-hover:#1c7662;--emerald-pressed:#125446;--surface-hover:#242d28;--surface-pressed:#303b34;--error:#f2b4a5;--error-surface:#30221f;--success:#bdd7c8;--selection:#215c4c;--paper-ink:#18211c;--paper-muted:#49564b;--paper-line:#bdbbae;
--dali-534:'Space Grotesk',sans-serif;--dali-d8e:'Source Sans 3',sans-serif;--dali-7dd:'IBM Plex Mono',monospace;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;
--text-xs:clamp(.75rem,.73rem + .1vw,.8125rem);--text-sm:clamp(.875rem,.84rem + .16vw,.975rem);--text-base:clamp(1.0625rem,1rem + .22vw,1.1875rem);--text-lg:clamp(1.25rem,1.1rem + .55vw,1.625rem);--text-xl:clamp(1.5rem,1.25rem + 1vw,2.25rem);
--heading-sm:clamp(1.5rem,1.2rem + 1.2vw,2.375rem);--heading-md:clamp(1.875rem,1.4rem + 2.1vw,3.625rem);--heading-lg:clamp(2.25rem,1.5rem + 3.4vw,5.25rem);--heading-hero:clamp(2.35rem,1.25rem + 5.6vw,7.25rem);
--leading-body:1.6;--leading-copy:1.7;--leading-heading:1.09;--leading-lockup:1.02;--tracking-display:-.045em;--tracking-heading:-.032em;--tracking-meta:.065em;
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.375rem;--space-6:1.75rem;--space-7:2.25rem;--space-8:3rem;--space-9:4rem;--space-10:5.5rem;--space-11:7.5rem;--space-12:10rem;
--shell:78rem;--reading:44rem;--measure:var(--reading);--measure-short:32rem;--gutter:clamp(1.1rem,4.2vw,5.5rem);--section-gap:clamp(4.5rem,10vw,10rem);--section-space:var(--section-gap);--module-pad:clamp(1.1rem,3vw,2.5rem);--column-gap:clamp(1.5rem,4vw,4rem);--control-pad-y:.75rem;--control-pad-x:1.25rem;--control-min:2.75rem;
--radius:0;--border-width:1px;--rule:1px solid var(--line);--rule-accent:1px solid var(--brass);--shadow-panel:0 16px 56px rgb(0 0 0 / .34);--shadow-focus:0 0 0 2px var(--ink),0 0 0 4px var(--brass);

--duration-instant:120ms;--duration-fast:160ms;--duration-control:180ms;--duration-medium:260ms;--duration-page:380ms;--duration-slow:620ms;--ease-control:cubic-bezier(.2,.65,.3,1);--ease-page:cubic-bezier(.22,.68,0,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--magnetic-limit:4px;
--z-base:0;--z-preview:12;--z-header:20;--z-chat:40;--z-consent:50;--z-modal:60;--z-skip:80;--header-offset:10rem;--consent-height:0px;--safe-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after { box-sizing:border-box; }
html{min-inline-size:0;scroll-padding-block-start:calc(var(--header-offset) + 1rem);text-size-adjust:100%;-webkit-text-size-adjust:100%;background:var(--ink)}
body { scroll-padding-block-end:var(--consent-height); }
body{margin:0;min-inline-size:0;background:var(--ink);color:var(--paper);font-family:var(--dali-d8e);font-size:var(--text-base);font-weight:400;line-height:var(--leading-body);font-kerning:normal;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
main,header,footer,section,article,aside,nav,div,form,fieldset,figure,li { min-inline-size:0; }
[hidden] { display:none!important; }
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd { margin:0; }
ul,ol{margin:0;padding-inline-start:1.35em}
img,picture,video,canvas,svg{display:block;max-inline-size:100%}
img{block-size:auto;object-fit:cover}
button,input,select,textarea{font:inherit;color:inherit;max-inline-size:100%;border-radius:0}
button,select { cursor:pointer; }
button { touch-action:manipulation; }
button:disabled,input:disabled,select:disabled,textarea:disabled { cursor:not-allowed; }
button { border:0; }
textarea { resize:vertical; }
fieldset{margin:0;padding:0;border:0}
legend { padding:0; }
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px;overflow-wrap:anywhere}
hr{margin-block:var(--space-8);border:0;border-block-start:var(--rule)}
table{inline-size:100%;border-collapse:collapse;border-spacing:0}
caption { text-align:start; }
th{text-align:start;font-weight:600}
pre{max-inline-size:100%;overflow:auto}
code,kbd,samp,pre{font-family:var(--dali-7dd);font-size:.86em}
code { overflow-wrap:anywhere; }
small { font-size:var(--text-sm); }
strong,b { font-weight:600; }
em,i { font-style:italic; }
address { font-style:normal; }
summary { cursor:pointer; }
summary::-webkit-details-marker { display:none; }
summary { list-style:none; }
::selection{color:var(--paper);background:var(--selection)}
:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
:target { scroll-margin-block-start:calc(var(--header-offset) + 1.5rem); }
h1,h2,h3,h4,h5,h6{font-family:var(--dali-534);font-weight:500;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);overflow-wrap:anywhere;text-wrap:balance}
h1 { font-size:var(--heading-lg); }
h2 { font-size:var(--heading-md); }
h3 { font-size:var(--heading-sm); }
h4 { font-size:var(--text-xl); }
h5,h6 { font-size:var(--text-lg); }
p{max-inline-size:72ch;text-wrap:pretty}
.display{font-family:var(--dali-534);letter-spacing:var(--tracking-display);font-weight:500}
.meta,.eyebrow,.overline{font-family:var(--dali-7dd);font-size:var(--text-xs);font-weight:400;line-height:1.65;letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--muted)}
.eyebrow{display:flex;align-items:center;gap:var(--space-3);margin-block-end:var(--space-6)}
.eyebrow::before{content:"";flex:0 0 1.5rem;block-size:1px;background:var(--brass)}
.lede{font-size:var(--text-lg);line-height:1.55;color:var(--paper);max-inline-size:46ch}
.numeral,.price,time { font-variant-numeric:tabular-nums lining-nums; }
.numeral,.price { font-family:var(--dali-7dd); }
.text-muted { color:var(--muted); }
.text-small { font-size:var(--text-sm); }

.text-brass { color:var(--brass); }
.text-center { text-align:center; }
.prose{max-inline-size:var(--reading);line-height:var(--leading-copy)}
.prose>*+* { margin-block-start:var(--space-5); }
.prose>:is(h2,h3,h4){margin-block-start:var(--space-9);margin-block-end:var(--space-6)}
.prose>:first-child { margin-block-start:0; }
.prose :is(ul,ol) { padding-inline-start:1.4em; }
.prose li+li { margin-block-start:var(--space-3); }
.prose li::marker { color:var(--brass); }
.prose li>p+p { margin-block-start:var(--space-3); }
.prose a { text-decoration-color:var(--brass); }
.prose blockquote{margin-block:var(--space-8);padding-inline-start:var(--space-6);border-inline-start:var(--rule-accent);font-size:var(--text-xl);font-family:var(--dali-534);line-height:1.4}
.prose blockquote cite{display:block;margin-block-start:var(--space-4);font-family:var(--dali-d8e);font-size:var(--text-sm);font-style:normal;color:var(--muted)}
.prose dl{display:grid;gap:var(--space-3)}
.prose dt { font-weight:600; }
.prose dd{color:var(--muted);margin-block-end:var(--space-4)}
.prose code{background:var(--ink-raised);padding:.1em .3em}
.prose abbr[title]{text-decoration:underline dotted;text-underline-offset:.2em}
.shell,.container{inline-size:min(var(--shell),calc(100% - var(--gutter)*2));margin-inline:auto}
.reading,.reading-column{inline-size:min(var(--reading),calc(100% - var(--gutter)*2));margin-inline:auto}
.shell>.reading,.container>.reading{inline-size:100%;max-inline-size:var(--reading)}
.measure { max-inline-size:var(--reading); }
.measure-short { max-inline-size:var(--measure-short); }
.section { padding-block:var(--section-gap); }
.section-start { padding-block-start:var(--section-gap); }
.section-end { padding-block-end:var(--section-gap); }
.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))}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--column-gap)}
.flow>*+* { margin-block-start:var(--flow-space,var(--space-5)); }
.grid{display:grid;gap:var(--grid-gap,var(--space-6))}
.grid>* , .cluster>* , .split>* , .stack>* { min-inline-size:0; }
.numbered-flow>li>div:only-child { grid-column:2; }
.cookie-index a>span:only-child { grid-column:auto; }
.rule-top { border-block-start:var(--rule); }
.rule-bottom { border-block-end:var(--rule); }
.align-start { align-items:start; }
.visually-hidden,.sr-only{position:absolute!important;inline-size:1px!important;block-size: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}
.scroll-region{max-inline-size:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:var(--brass) var(--ink-raised);scrollbar-width:thin}
.balance { text-wrap:balance; }
.no-wrap-number{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(min-width:120rem){:root{--gutter:5.5rem}}
@media(max-width:47.99rem){:root{--header-offset:7rem}.split{grid-template-columns:minmax(0,1fr)}.prose>:is(h2,h3,h4){margin-block-start:var(--space-8)}}
@media(prefers-reduced-motion:no-preference){
@view-transition{navigation:auto}
.site-header { view-transition-name:site-header; }
.site-header .brand { view-transition-name:site-logo; }
::view-transition-group(*){animation-duration:var(--duration-page);animation-timing-function:var(--ease-page)}
::view-transition-old(root),::view-transition-new(root),::view-transition-old(site-header),::view-transition-new(site-header),::view-transition-old(site-logo),::view-transition-new(site-logo),::view-transition-old(service-image),::view-transition-new(service-image){animation-duration:var(--duration-page);animation-timing-function:var(--ease-page)}
::view-transition-group(service-image) { overflow:clip; }
}
@media(prefers-reduced-motion:reduce){
:root{--duration-instant:0ms;--duration-fast:0ms;--duration-control:0ms;--duration-medium:0ms;--duration-page:0ms;--duration-slow:0ms}
html { scroll-behavior:auto!important; }
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:0ms!important;scroll-behavior:auto!important}
.site-header,.site-header .brand,[data-transition-image] { view-transition-name:none!important; }
[data-magnetic],.magnetic { transform:none!important; }
::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation:none!important; }
}
@media(forced-colors:active){:root{--brass:Highlight;--line:CanvasText;--muted:CanvasText}a,button,input,select,textarea,summary{forced-color-adjust:auto}:focus-visible{outline:2px solid Highlight}.eyebrow::before{background:CanvasText}}
@media print{html{color-scheme:light;background:#fff}body{background:#fff;color:#111;font-size:11pt;line-height:1.5}h1,h2,h3{break-after:avoid}figure,blockquote,tr{break-inside:avoid}img{max-block-size:18cm;object-fit:contain}.shell,.container,.reading,.reading-column{inline-size:100%;max-inline-size:none}.text-muted,.meta,.eyebrow,.prose dd{color:#333}.section{padding-block:1.5rem}a{color:inherit;text-decoration:underline}pre{white-space:pre-wrap}::selection{background:transparent}}
