*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{margin:0;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg,iframe{max-width:100%;display:block}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.container{width:min(1140px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:.75rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.placeholder{font-style:italic;opacity:.8}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.5rem;border-radius:var(--btn-radius);font-weight:600;text-decoration:none;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.nav-toggle{display:none;background:none;border:1px solid currentColor;color:inherit;border-radius:8px;width:46px;height:46px;cursor:pointer;font-size:1.3rem}
@media (max-width:820px){
  .nav-toggle{display:block}
  #site-nav{display:none;background:var(--bg);position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:.25rem 1.25rem 1.25rem;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.18)}
  #site-nav.open{display:flex}
  #site-nav a{padding:.9rem 0;line-height:1.3;text-align:left;border-bottom:1px solid var(--line)}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
