@charset "utf-8";

* {margin: 0; padding: 0; box-sizing: border-box;}
html {-webkit-text-size-adjust: 100%; text-size-adjust: 100%; scrollbar-gutter: stable;}
body {font-family: var(--font-family); font-optical-sizing: none; font-variation-settings: 'opsz' 14; font-size: var(--fs-16); color: var(--color-font1); background-color: var(--color-bg); line-height: 1.5; word-break: keep-all; -webkit-font-smoothing: antialiased;}
ul, ol {list-style: none;}
img, video {max-width: 100%; height: auto; vertical-align: middle;}
a {color: inherit; text-decoration: none;}
button {font: inherit; color: inherit; background: none; border: 0; cursor: pointer;}
input, textarea, select {font: inherit; color: inherit;}
table {border-collapse: collapse; width: 100%;}
address, em, i {font-style: normal;}
fieldset {border: 0;}

body.scroll-lock {overflow: hidden; overscroll-behavior: contain;}

.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-nav a {position: absolute; top: -100px; left: 0; z-index: 9999; padding: 12px 20px; background-color: var(--color-static1); color: var(--color-white); transition: top 0.2s;}
.skip-nav a:focus {top: 0;}

:focus-visible {outline: 2px solid var(--color-static1); outline-offset: 2px;}
html[data-input="mouse"] :focus-visible {outline: none;}

@media (prefers-reduced-motion: no-preference) {
    html {scroll-behavior: smooth;}
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; transition-delay: 0s !important;}
}
