*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}
body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--color-text);background:var(--color-bg)}
img,video,svg{display:block;max-width:100%;height:auto}
button,textarea{font:inherit;color:inherit}
h1,h2{line-height:1.1;text-wrap:balance}
a{color:inherit;text-decoration:none}
button,summary{cursor:pointer}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}
::selection{background:var(--color-primary);color:var(--color-bg)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
