@font-face {
  font-family: 'Space Grotesk';
  src: url('../assets/fonts/SpaceGrotesk-wght.ttf') format('truetype');
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body { margin: 0; color: var(--color-ink); background: var(--color-paper); font-family: var(--font-body); font-size: var(--text-body); line-height: 1.65; -webkit-font-smoothing: antialiased; }
body, h1, h2, h3, p, ol { margin: 0; }
h1, h2, h3 { font-family: var(--font-sans); font-weight: 500; line-height: 1.13; letter-spacing: -.045em; text-wrap: balance; }
h1 { font-size: var(--text-h1); font-weight: 600; }
h2 { font-size: var(--text-h2); }
h3 { font-size: 1.4rem; letter-spacing: -.035em; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
::selection { background: var(--color-ink); color: var(--color-white); }
:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
[hidden] { display: none !important; }
.container { width: min(var(--content-width), calc(100% - var(--page-gutter) * 2)); margin-inline: auto; }
.section-space { padding-block: var(--space-8); }
.eyebrow { font-family: var(--font-sans); font-size: .6875rem; line-height: 1.5; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.skip-link { position: fixed; top: 12px; left: 16px; z-index: 100; padding: 12px 20px; background: var(--color-ink); color: white; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
@media (max-width: 700px) {
  :root { --header-height: 80px; --space-8: 4.5rem; --text-h1: clamp(2.35rem, 9.7vw, 3.5rem); }
  .desktop-break { display: none; }
}
