*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-text-size-adjust:100%}
body{margin:0;min-width:320px;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.02}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button,select{cursor:pointer}
a{color:inherit;text-decoration:none}
button{border:0}
button,a,input,select{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
button:disabled{cursor:not-allowed}
button:active,.button:active{transform:translateY(1px)}
[hidden]{display:none!important}
::selection{background:var(--accent);color:var(--on-accent)}
.skip-link{position:fixed;top:-80px;left:16px;z-index:200;background:var(--accent);color:var(--on-accent);padding:12px 24px}
.skip-link:focus{top:12px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
