@font-face {
  font-family:Inter;
  src:url("../assets/fonts/InterVariable.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:30px;
}
body {
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input {
  font:inherit;
}
button,a,input,summary {
  -webkit-tap-highlight-color:transparent;
}
button,summary {
  cursor:pointer;
}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:5px;
}
h1,h2,h3,p {
  margin:0;
}
h1,h2,h3 {
  line-height:1.08;
}
h1 {
  font-size:clamp(3rem,5.5vw,5.1rem);
  font-weight:750;
  letter-spacing:-.055em;
}
h2 {
  font-size:clamp(2.1rem,3.5vw,3.2rem);
  letter-spacing:-.045em;
  font-weight:700;
}
h3 {
  font-size:1.5rem;
  letter-spacing:-.025em;
}
p {
  color:var(--muted);
}
img {
  display:block;
  max-width:100%;
  object-fit:cover;
}
small {
  font-size:.5em;
  font-weight:500;
}
ul {
  padding:0;
  list-style:none;
}
section[id] {
  scroll-margin-top:30px;
}
.skip {
  position:absolute;
  top:-100px;
  z-index:10;
  background:var(--accent);
  padding:12px;
}
.skip:focus {
  top:5px;
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  * {
    transition:none!important;
  }
}
body {
  overflow-wrap:anywhere;
}
main:focus,section[tabindex]:focus {
  outline:none;
}
