*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h-mobile) + 12px);-webkit-text-size-adjust:100%}
@media(min-width:768px){html{scroll-padding-top:calc(var(--header-h) + 16px)}}
body{margin:0;font-family:var(--ff-body);color:var(--text);background:var(--bg);font-size:17px;line-height:1.6;overflow-x:hidden;max-width:100vw;-webkit-font-smoothing:antialiased}
img,video,iframe{max-width:100%;display:block}
figure{margin:0}
h1,h2,h3,h4,h5{font-family:var(--ff-display);color:var(--text);line-height:1.15;margin:0 0 .6em;font-weight:600}
h1{font-size:clamp(2.2rem,5.6vw,3.8rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.4rem);letter-spacing:-.005em}
h3{font-size:clamp(1.15rem,2vw,1.35rem)}
p{margin:0 0 1em;color:var(--text-2)}
a{color:var(--text);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent)}
button{font-family:inherit;cursor:pointer}
ul,ol{padding:0;margin:0 0 1em;list-style:none}
[hidden]{display:none !important}
::selection{background:var(--accent);color:#fff}
*:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
*::-webkit-scrollbar{width:8px;height:6px}
*::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}
*::-webkit-scrollbar-track{background:var(--bg-alt)}
