@font-face {
  font-family: Bicyclette;
  src: url("../fonts/Bicyclette-Black.woff2") format("woff2");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink-deep); font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--ink-deep); outline-offset: 4px; }
section[id] { scroll-margin-top: 7rem; }
@media (max-width: 640px) { section[id] { scroll-margin-top: 9rem; } }
::selection { background: var(--accent); color: var(--ink-deep); }
h1, h2, h3, p { margin: 0; }
h1, h2 { font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; font-weight: 600; letter-spacing: -.045em; }
h3 { font-family: Bicyclette, "Avenir Next", sans-serif; font-weight: 900; }
p { line-height: 1.65; }
.skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; padding: .75rem 1rem; background: var(--white); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
