*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.55;min-height:100vh;display:flex;flex-direction:column}
button,input,select,textarea{font:inherit;color:inherit}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
:focus-visible{outline:var(--focus);outline-offset:3px}
.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:absolute;left:var(--s3);top:-60px;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:100;font-size:var(--fs-small)}
.skip-link:focus{top:var(--s3)}
main{flex:1}
.page{width:min(var(--max),calc(100% - 2*var(--gutter)));margin:0 auto}
.eyebrow{font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.display{font-family:var(--serif);font-weight:400;line-height:.95;letter-spacing:-.005em}
.display-xl{font-size:var(--fs-display-xl)}.display-lg{font-size:var(--fs-display-lg)}.display-md{font-size:var(--fs-display-md);line-height:1.05}
.lead{font-size:var(--fs-lead);line-height:1.5;color:var(--ink)}
.muted{color:var(--muted)}.small{font-size:var(--fs-small)}
.measure{max-width:64ch}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
