:root{
  --ink:#14110F;
  --ink-soft:#3D3935;
  --muted:#59534E;
  --paper:#FFFFFF;
  --soft:#F7F7F5;
  --line:#ECEAE7;
  --red:#C8341C;
  --peach:#FF9E7A;
  --mint:#E4F3EC;
  --mint-ink:#173D2E;
  --mint-muted:#3F6455;
  --lav:#ECEAFA;
  --lav-ink:#2E2860;
  --lav-muted:#58528A;
  --butter:#FAF3D6;
  --butter-ink:#4A3B08;
  --butter-muted:#6F5F2B;
  --ice:#E1F0F6;
  --ice-ink:#123746;
  --ice-muted:#3F6070;
  --font-heading:"Space Grotesk","Inter",-apple-system,"PingFang SC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Apple SD Gothic Neo","Malgun Gothic","Microsoft YaHei",sans-serif;
  --font-body:"Inter",-apple-system,"PingFang SC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Apple SD Gothic Neo","Malgun Gothic","Microsoft YaHei",sans-serif;
  --font-mono:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,monospace;
  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-base:1rem;
  --text-lg:1.25rem;
  --text-card:1.35rem;
  --text-section:clamp(2rem,3.3vw,3rem);
  --text-display:clamp(3rem,4.7vw,4.25rem);
  --leading-tight:1.16;
  --leading-body:1.6;
  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2.5rem;
  --space-5:4rem;
  --space-6:6rem;
  --space-7:10rem;
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --radius-sm:.875rem;
  --radius-md:1.375rem;
  --radius-lg:1.75rem;
  --shadow-card:0 1px 2px rgba(20,17,15,.05),0 20px 44px -20px rgba(20,17,15,.24);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--paper);color:var(--ink);font:var(--text-base)/var(--leading-body) var(--font-body)}
main{overflow-x:clip}
img,svg{max-width:100%}
img{display:block;height:auto}
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,dd{margin:0}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:var(--leading-tight);letter-spacing:-.025em;overflow-wrap:break-word}
h1{font-size:var(--text-display)}
h2{font-size:var(--text-section)}
h3{font-size:var(--text-card)}
h4,h5,h6{font-size:var(--text-base)}
p,li,dt,dd,label,th,td{font-size:var(--text-base);line-height:var(--leading-body)}
small,figcaption{font-size:var(--text-xs);line-height:1.5}
blockquote{font-size:var(--text-lg);line-height:1.5}
code,pre{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6}
pre{max-width:100%;overflow-x:auto}
ul,ol{margin:0;padding:0}
.container,.wrap{width:min(100% - var(--gutter)*2,80rem);margin-inline:auto}
.container-wide{width:min(100% - var(--gutter)*2,90rem);margin-inline:auto}
.container-narrow{width:min(100% - var(--gutter)*2,48rem);margin-inline:auto}
.grid-2,.grid-3,.grid-5{display:grid;align-items:stretch;gap:var(--space-3)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.grid-2>*,.grid-3>*,.grid-5>*{min-width:0}
.stack-1>*+*{margin-top:var(--space-1)}
.stack-2>*+*{margin-top:var(--space-2)}
.stack-3>*+*{margin-top:var(--space-3)}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.lead{font-size:var(--text-lg);line-height:1.55;color:var(--muted)}
.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}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:64rem){
  .grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:42rem){
  .grid-2,.grid-3,.grid-5{grid-template-columns:minmax(0,1fr)}
  .lead{font-size:var(--text-base)}
}
