@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/inter-latin-v20.woff2') format('woff2');
}

:root {
  color-scheme: light;
  font-family: Inter, system-ui, sans-serif;
  color: #1f1d1b;
  background: #fbf7f3;
}

* { box-sizing: border-box; }
body { margin: 0; font-size: 17px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
a { color: #1a56c2; text-underline-offset: 3px; }
a:hover { color: #0d3f99; }
:focus-visible { outline: 3px solid #2a6ee0; outline-offset: 4px; }
::selection { background: #fff0a3; }
.skip-link { position: absolute; left: 16px; top: -100px; padding: 10px 16px; background: white; }
.skip-link:focus { top: 8px; }
.site-header { background: white; border-bottom: 1px solid #e4dcd4; }
.header-inner { width: min(100% - 40px, 1000px); min-height: 78px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: #1f1d1b; font-size: 24px; font-weight: 800; text-decoration: none; letter-spacing: -.04em; }
.brand:hover { color: #1f1d1b; }
.brand img { display: block; border-radius: 20%; }
.home-link { font-size: 14px; }
main { width: min(100% - 40px, 740px); margin: 64px auto 72px; overflow-wrap: anywhere; }
h1, h2 { font-weight: 800; letter-spacing: -.035em; line-height: 1.15; }
h1 { font-size: clamp(36px, 6vw, 52px); margin: 0 0 14px; }
h2 { font-size: 23px; margin: 36px 0 12px; }
p { margin: 0 0 16px; }
.updated { color: #5f5a55; font-size: 14px; margin-bottom: 28px; }
.intro { font-size: 19px; }
ul { padding-left: 24px; margin: 0 0 16px; }
li + li { margin-top: 10px; }
footer { width: min(100% - 40px, 740px); margin: auto; border-top: 1px solid #e4dcd4; padding: 24px 0 40px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; font-size: 14px; color: #5f5a55; }
footer nav { display: flex; flex-wrap: wrap; gap: 20px; }
footer a[aria-current='page'] { color: #1f1d1b; font-weight: 600; }
@media (max-width: 480px) {
  body { font-size: 16px; }
  main { margin-top: 40px; }
  .intro { font-size: 18px; }
  .header-inner { min-height: 68px; }
}
