:root{
  --ink:#29232F;
  --muted:#5E5862;
  --primary:#006A83;
  --primary-hover:#00566A;
  --accent:#1765A3;
  --white:#FFFFFF;
  --paper:#FCFBFA;
  --lavender:#EEE8F0;
  --lavender-ink:#29232F;
  --sand:#F4EDE3;
  --sand-ink:#30271F;
  --slate:#E8EEF0;
  --slate-ink:#243039;
  --rose:#F3E8E5;
  --rose-ink:#322526;
  --dark:#29232F;
  --line:#E8E4E7;
  --line-dark:#615966;
  --control-line:#97919A;
  --font-heading:"Outfit",-apple-system,"PingFang SC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Apple SD Gothic Neo","Microsoft YaHei",sans-serif;
  --font-body:"Albert Sans",-apple-system,"PingFang SC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Apple SD Gothic Neo","Microsoft YaHei",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-base:1rem;
  --text-lg:1.125rem;
  --text-card:1.25rem;
  --text-section:clamp(2rem,3.5vw,2.5rem);
  --text-display:clamp(2.25rem,4vw,3.15rem);
  --leading-tight:1.2;
  --leading-copy:1.75;
  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2.5rem;
  --space-5:4rem;
  --space-6:6rem;
  --space-section:clamp(5.5rem,9vw,8.5rem);
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --radius-sm:.875rem;
  --radius-card:1.5rem;
  --radius-stage:1.875rem;
  --radius-pill:100rem;
  --shadow-card:0 15px 48px rgba(41,35,47,.065);
  --container-narrow:46rem;
  --container-standard:73.75rem;
  --container-wide:84rem;
  --hero-top:5.125rem;
  --hero-crumb-top:3rem;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-copy);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
img,svg{max-width:100%}
img{display:block;height:auto}
svg{flex:none}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl{margin-top:0}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;line-height:var(--leading-tight);letter-spacing:-.035em;overflow-wrap:break-word}
h1{font-size:var(--text-display);line-height:1.22;letter-spacing:-.055em}
h2{font-size:var(--text-section);line-height:1.22}
h3{font-size:var(--text-card);line-height:1.3}
h4{font-size:var(--text-lg);line-height:1.35}
h5,h6{font-size:var(--text-base);line-height:1.4}
p{font-size:var(--text-base);line-height:var(--leading-copy)}
li{font-size:var(--text-base);line-height:var(--leading-copy)}
small,figcaption{font-size:var(--text-xs);line-height:1.6}
blockquote{font-size:var(--text-lg);line-height:1.65}
code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;overflow-wrap:anywhere}
th,td{font-size:var(--text-sm);line-height:1.6}
dt{font-size:var(--text-sm);line-height:1.55;font-weight:700}
dd{font-size:var(--text-sm);line-height:1.65;margin-inline-start:0}
label{font-size:var(--text-sm);line-height:1.5}
strong{font-weight:750}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
::selection{background:var(--slate);color:var(--slate-ink)}
.container,.wrap{width:min(calc(100% - var(--gutter)*2),var(--container-standard));margin-inline:auto}
.container-narrow{width:min(calc(100% - var(--gutter)*2),var(--container-narrow));margin-inline:auto}
.container-wide{width:min(calc(100% - var(--gutter)*2),var(--container-wide));margin-inline:auto}
.grid-2,.grid-3,.grid-4{display:grid;align-items:stretch;gap:var(--space-2)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-2>*,.grid-3>*,.grid-4>*{min-width:0}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.text-center{text-align:center}
.text-center .eyebrow,.text-center .c-kicker{margin-inline:auto}
.mt-2{margin-top:var(--space-2)}
.mt-3{margin-top:var(--space-3)}
.mt-4{margin-top:var(--space-4)}
.mb-0{margin-bottom:0}
.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}
@media(max-width:64rem){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:42rem){
  .grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}
}
