/* Shared by every page. Colours and fonts only through tokens.css. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
:where(h1, h2, h3, h4) { font-family: var(--font-display); line-height: 1; margin: 0; }
:where(p) { margin: 0 0 1em; }
:where(a) { color: inherit; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 2px; }
code {
  font-family: var(--font-data);
  font-size: 0.86em;
  background: var(--ground-3);
  padding: 0.08em 0.35em;
  border-radius: 3px;
  overflow-wrap: anywhere;
}
strong { font-weight: 600; }
.mono { font-family: var(--font-data); }

.wrap {
  max-width: 1200px;
  margin-inline: auto;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}

.logo {
  font-family: var(--font-display); font-weight: 900; font-size: 26px; letter-spacing: 0.06em;
  text-transform: uppercase; text-decoration: none; color: var(--ink);
  display: flex; align-items: center; gap: 10px;
}
.logo i { display: block; width: 11px; height: 11px; background: var(--flag); transform: rotate(45deg); }

.skip {
  position: absolute; left: 1rem; top: -4rem;
  background: var(--ink); color: var(--abyss);
  padding: 0.5rem 0.9rem; font-family: var(--font-data); font-size: 13px; z-index: 10;
}
.skip:focus { top: 0.75rem; }

footer.site {
  margin-top: 96px;
  border-top: 2px solid var(--ink);
  padding-block: 34px 56px;
  color: var(--ink-2);
  font-size: 14px;
}
footer.site .row { display: flex; gap: 40px; flex-wrap: wrap; justify-content: space-between; }
footer.site p { max-width: 44em; margin: 0 0 10px; }
footer.site .logo { font-size: 22px; }
footer.site .attr { font-family: var(--font-data); font-size: 12px; letter-spacing: 0.06em; }
footer.site a { color: var(--ink); }
footer.site a:hover { color: var(--flag); }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

footer.site .lead-in { margin-top: 14px; }
