

:root{
  --cream:#f3ecdf;
  --cream-hi:#f8f3ea;
  --oat:#e6dac4;
  --clay:#c8a684;
  --rule:#cdbea6;
  --rule-strong:#b9a78a;
  --charcoal:#2a231e;
  --charcoal-2:#352c26;
  --charcoal-3:#41372f;
  --graphite:#5c5047;

  --rust:#b2461d;
  --rust-deep:#8e3714;
  --rust-tint:#f1dccb;
  --ok:#4f6a33;
  --rule-dark:rgba(200,166,132,.32);
  --ink-on-dark:#f3ecdf;
  --mute-on-dark:#cbb9a3;


  --f-display:"Bricolage Grotesque",'Iowan Old Style',"Palatino Linotype",Georgia,serif;
  --f-body:'IBM Plex Sans','Segoe UI','Helvetica Neue',Arial,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;


  --fs-coord:.6875rem;
  --fs-mono:.8125rem;
  --fs-small:.9375rem;
  --fs-body:1.0625rem;
  --fs-lead:clamp(1.125rem,.45vw + 1.02rem,1.3125rem);
  --fs-h4:clamp(1.125rem,.5vw + 1rem,1.3125rem);
  --fs-h3:clamp(1.375rem,1.3vw + 1rem,1.875rem);
  --fs-h2:clamp(1.75rem,3.6vw + .8rem,3.5rem);
  --fs-h1:clamp(2.1rem,7vw,5.4rem);
  --fs-stat:clamp(2.25rem,4.6vw + .6rem,4.25rem);


  --lh-h1:1.02;
  --lh-head:1.08;
  --lh-body:1.6;
  --lh-tight:1.25;


  --tr-display:-.02em;
  --tr-head:-.012em;
  --tr-mono:.08em;


  --u:8px;
  --s-1:4px;
  --s-2:8px;
  --s-3:12px;
  --s-4:16px;
  --s-5:24px;
  --s-6:32px;
  --s-7:48px;
  --s-8:64px;
  --s-9:96px;


  --shell:1240px;
  --gutter:clamp(16px,4vw,40px);
  --section-y:clamp(64px,9vw,128px);
  --section-y-tight:clamp(40px,6vw,80px);
  --measure:64ch;
  --measure-narrow:46ch;


  --radius:0;
  --hair:1px solid var(--rule);
  --hair-dark:1px solid var(--rule-dark);
  --tap:48px;
  --header-h:72px;
  --utility-h:36px;


  --shadow-1:0 1px 0 var(--rule), 0 10px 24px -18px rgba(42,35,30,.45);
  --shadow-2:0 2px 0 rgba(42,35,30,.06), 0 22px 44px -26px rgba(42,35,30,.55);
  --shadow-frame:0 1px 1px rgba(42,35,30,.12), 0 18px 40px -22px rgba(42,35,30,.6);


  --dur-fast:140ms;
  --dur-base:180ms;
  --dur-mid:320ms;
  --dur-slow:560ms;

  --dur-scene:900ms;
  --ease-out:cubic-bezier(.16,.84,.3,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --ease-snap:cubic-bezier(.3,1.35,.5,1);
  --ease-std:cubic-bezier(.25,.1,.25,1);
  --magnet-max:6px;


  --rot-a:-3deg;
  --rot-b:2deg;
  --rot-c:-1deg;


  --z-header:50;
  --z-mega:60;
  --z-preview:70;
  --z-consent:80;
  --z-chat:90;
  --z-skip:100;
}


*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  background:var(--cream);
  color:var(--charcoal);
  scroll-padding-top:calc(var(--header-h) + 16px);
}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  margin:0;
  min-height:100vh;
  font-family:var(--f-body);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  font-weight:400;
  background:var(--cream);
  color:var(--charcoal);
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-feature-settings:'kern' 1;
}
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote,pre{margin:0}
ul[class],ol[class]{padding:0;list-style:none}
img,svg,video,picture,canvas{display:block;max-width:100%}
img{height:auto;font-style:italic;color:var(--graphite);background:var(--oat)}
img[src$='.svg']{background:none}
iframe{max-width:100%}
input,button,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
table{border-collapse:collapse;width:100%}
a{color:inherit}
hr{border:0;border-top:var(--hair);margin:0}
code,kbd,samp{font-family:var(--f-mono);font-size:.92em}
abbr[title]{text-decoration:underline dotted}
[hidden]{display:none!important}
::selection{background:var(--rust);color:var(--cream)}


.icon{width:1.125em;height:1.125em;flex:none;fill:currentColor;stroke:currentColor;vertical-align:-.15em}
.icon--lg{width:1.5em;height:1.5em}


:focus{outline:none}
:focus-visible{outline:2px solid var(--rust);outline-offset:4px;box-shadow:0 0 0 4px var(--cream)}
.on-dark :focus-visible{box-shadow:0 0 0 4px var(--charcoal)}


.skip-link{
  position:absolute;left:var(--s-4);top:-200px;z-index:var(--z-skip);
  background:var(--charcoal);color:var(--cream);
  font-family:var(--f-mono);font-size:var(--fs-mono);letter-spacing:var(--tr-mono);text-transform:uppercase;
  padding:14px 20px;min-height:var(--tap);display:inline-flex;align-items:center;text-decoration:none;
}
.skip-link:focus,.skip-link:focus-visible{top:var(--s-4)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hp-field{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}


h1,.h1,h2,.h2,h3,.h3,h4,.h4,.display{
  font-family:var(--f-display);
  color:var(--charcoal);
  overflow-wrap:break-word;
  text-wrap:balance;
}
h1,.h1{font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:800;letter-spacing:var(--tr-display);font-variation-settings:'opsz' 96}
h2,.h2{font-size:var(--fs-h2);line-height:var(--lh-head);font-weight:700;letter-spacing:var(--tr-display);font-variation-settings:'opsz' 72}
h3,.h3{font-size:var(--fs-h3);line-height:1.15;font-weight:700;letter-spacing:var(--tr-head);font-variation-settings:'opsz' 36}
h4,.h4{font-size:var(--fs-h4);line-height:1.25;font-weight:500;letter-spacing:-.005em;font-variation-settings:'opsz' 24}
p{text-wrap:pretty}
.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{color:var(--ink-on-dark)}


.lead{font-size:var(--fs-lead);line-height:1.5;color:var(--charcoal);max-width:52ch}
.small{font-size:var(--fs-small);line-height:1.55}
.muted{color:var(--graphite)}
.on-dark .muted{color:var(--mute-on-dark)}
.accent{color:var(--rust)}
.mono{font-family:var(--f-mono);font-size:var(--fs-mono);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.num{font-variant-numeric:tabular-nums lining-nums}


.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--f-mono);font-size:var(--fs-mono);font-weight:500;
  letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--graphite);
}
.kicker::before{content:"";width:18px;height:2px;background:var(--rust);flex:none}
.on-dark .kicker{color:var(--mute-on-dark)}
.coord{
  font-family:var(--f-mono);font-size:var(--fs-coord);font-weight:500;
  letter-spacing:var(--tr-mono);text-transform:uppercase;color:var(--graphite);
  font-variant-numeric:tabular-nums;
}
.on-dark .coord{color:var(--clay)}


a.link,.prose a{
  color:var(--charcoal);
  text-decoration:underline;
  text-decoration-color:var(--rust);
  text-decoration-thickness:1px;
  text-underline-offset:.22em;
  transition:color var(--dur-base) var(--ease-std),text-decoration-thickness var(--dur-base) var(--ease-std);
}
a.link:hover,.prose a:hover{color:var(--rust-deep);text-decoration-thickness:2px}
a.link:active,.prose a:active{color:var(--rust)}
.on-dark a.link,.on-dark .prose a{color:var(--ink-on-dark);text-decoration-color:var(--clay)}
.on-dark a.link:hover,.on-dark .prose a:hover{color:#fff;text-decoration-color:var(--rust)}


.prose{max-width:var(--measure);hanging-punctuation:first last}
.prose>*+*{margin-top:1em}
.prose h2{font-size:clamp(1.5rem,2.4vw + .8rem,2.25rem);margin-top:1.6em}
.prose h3{font-size:clamp(1.2rem,1vw + .9rem,1.5rem);margin-top:1.5em}
.prose h2+*,.prose h3+*{margin-top:.6em}
.prose ul,.prose ol{padding-left:1.25em}
.prose ul li{list-style:square}
.prose ul li::marker{color:var(--rust)}
.prose ol li::marker{font-family:var(--f-mono);font-size:.85em;color:var(--graphite)}
.prose li+li{margin-top:.4em}
.prose strong{font-weight:600}
.prose blockquote{border-left:2px solid var(--rust);padding:.2em 0 .2em 1.1em;font-family:var(--f-display);font-weight:500;font-size:1.2em;line-height:1.4}
.prose code{background:var(--oat);padding:.08em .35em}
.prose figure{margin-block:1.6em}


.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}
.shell--narrow{max-width:880px}
.shell--wide{max-width:1440px}


.section{padding-block:var(--section-y);border-top:var(--hair);position:relative}
.section:first-child{border-top:0}
.section--tight{padding-block:var(--section-y-tight)}
.section--oat{background:var(--oat)}

.section--cream-hi{background:var(--cream-hi)}
.section--dark,.on-dark{background:var(--charcoal);color:var(--ink-on-dark);border-top-color:var(--charcoal)}
.section__head{display:grid;gap:var(--s-4);margin-bottom:clamp(32px,4.5vw,56px);max-width:60rem}
.section__head--split{display:grid;gap:var(--s-5);max-width:none}
@media (min-width:900px){.section__head--split{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end}}


.gridlines{
  background-image:
    linear-gradient(to right,rgba(205,190,166,.55) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(205,190,166,.55) 1px,transparent 1px);
  background-size:calc(100% / 12) 100%,100% 96px;
}
.on-dark.gridlines,.on-dark .gridlines{
  background-image:
    linear-gradient(to right,rgba(200,166,132,.12) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(200,166,132,.12) 1px,transparent 1px);
}


.stack>*+*{margin-top:var(--s-4)}
.stack-sm>*+*{margin-top:var(--s-2)}
.stack-lg>*+*{margin-top:var(--s-6)}
.cluster{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}
.cluster>*{min-width:0}
.grid{display:grid;gap:var(--s-5)}
.grid>*{min-width:0}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
.split{display:grid;gap:clamp(32px,5vw,72px);grid-template-columns:minmax(0,1fr)}
.split>*{min-width:0}
@media (min-width:900px){
  .split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
  .split--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .split--rev>:first-child{order:2}
}
.measure{max-width:var(--measure)}
.measure-narrow{max-width:var(--measure-narrow)}


.media{position:relative;margin:0;background:var(--oat)}
.media img{width:100%;height:100%;object-fit:cover}
.media--4x3{aspect-ratio:4/3}
.media--3x2{aspect-ratio:3/2}
.media--1x1{aspect-ratio:1/1}
.media--4x5{aspect-ratio:4/5}
figcaption,.caption{
  font-family:var(--f-mono);font-size:var(--fs-coord);letter-spacing:var(--tr-mono);
  text-transform:uppercase;color:var(--graphite);padding-top:10px;line-height:1.5;
}
.on-dark figcaption{color:var(--mute-on-dark)}


.visually-quiet{opacity:.72}
.nowrap{white-space:nowrap}
.text-center{text-align:center}
.mt-0{margin-top:0!important}


@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
  :root{--magnet-max:0px}
}


@media print{
  body{background:#fff;color:#000}
  .utility-bar,.masthead,.consent,.chat-launcher,.chat,.hover-preview,.site-footer__cta{display:none!important}
  .section{padding-block:16pt;border-top:1pt solid #999}
  a{color:#000}
  .prose{max-width:none}
}
