@font-face {
  font-family: Satoshi;
  src: url("assets/satoshi-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  font-family: Satoshi, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #111;
  background: #fff;
  --inset: 64px;
  /* One rhythm for every section: gap between sections, heading-to-content lead, small notes. */
  --section: 160px;
  --lead: 48px;
  --note: 24px;
  --edge: 24px;
  --pair-gap: 14px;
}
* { box-sizing: border-box; }
body { margin: 0; }
button, input { font: inherit; }
button { color: inherit; }
h1, h2, h3, p, figure { margin: 0; font-weight: 400; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, [tabindex]:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 5px;
}
button:disabled { cursor: default; opacity: 0.5; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }
.inset { padding-inline: var(--inset); }
.intro { position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding-top: 64px; padding-bottom: 88px; }
/* Centred on the headline's first line, on the same inset as everything else. */
.top-links { flex: none; display: flex; align-items: center; gap: 24px; margin-top: calc(0.58 * clamp(1.75rem, 2.5vw, 2.25rem) - 18px); }
.contact { display: inline-flex; align-items: center; height: 36px; padding: 0 18px; border-radius: 10px; background: #111; color: #fff; font-size: 0.875rem; line-height: 1; text-decoration: none; transition: background 0.2s; }
.contact:hover, .contact:focus-visible { background: #3a3a3a; }
.docs-link { color: #111; font-size: 0.875rem; text-decoration: none; }
.docs-link:hover { color: #666; }
h2 { font-size: clamp(2.25rem, 3.6vw, 3.5rem); line-height: 1.08; letter-spacing: -0.05em; }
h1 { font-size: clamp(1.75rem, 2.5vw, 2.25rem); line-height: 1.16; letter-spacing: -0.04em; }
.skip { position: absolute; left: 16px; top: -80px; color: #111; background: #fff; padding: 12px; z-index: 2; }
.skip:focus { top: 12px; }
::selection { background: #e4e4e1; }
@media (max-width: 700px) {
  :root { --inset: 24px; --section: 104px; --lead: 32px; --note: 20px; --edge: 14px; --pair-gap: 8px; }
  h2 { font-size: 2.125rem; }
  .intro { display: block; padding-top: 84px; padding-bottom: 64px; }
  .top-links { position: absolute; top: 24px; right: var(--inset); margin: 0; gap: 20px; }
  .contact { padding: 0 15px; }
  h2 { font-size: clamp(2.25rem, 3.6vw, 3.5rem); line-height: 1.08; letter-spacing: -0.05em; }
h1 { font-size: clamp(1.4rem, 5.8vw, 1.8rem); line-height: 1.22; }
  .desktop-break { display: none; }
  footer { flex-direction: column; gap: 12px; }
}
