*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;background:var(--color-bg);color:var(--color-text)}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
h1,h2,h3{line-height:1.05;font-family:var(--font-display);text-wrap:balance;text-transform:uppercase}
p{max-width:68ch;text-wrap:pretty}
button,a{transition:background .2s,color .2s,border-color .2s,transform .2s}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:5px}
::selection{background:var(--color-accent);color:white}
[hidden]{display:none!important}
.skip-link{position:fixed;top:-80px;left:16px;z-index:1000;padding:12px 20px;background:var(--color-accent);color:white}
.skip-link:focus{top:12px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
