:root {
  --bg: #f7f7f7;
  --ink: #020202;
  --ink-mute: #212121;
  --accent: #d43718;
  --page-max: 1300px;
  --page-gutter: clamp(16px, 4vw, 40px);
  --font-body: 'Lato', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #020202;
    --ink: #f7f7f7;
    --ink-mute: #d6d6d6;
  }
}

* {
  box-sizing: border-box;
}

html {
  background: var(--bg);
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

main {
  width: 100%;
  max-width: calc(var(--page-max) + (2 * var(--page-gutter)));
  margin: 0 auto;
  padding: 92px var(--page-gutter) 72px;
}

h1 {
  max-width: 760px;
  margin: 0 0 28px;
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
}

p {
  max-width: 760px;
  margin: 0;
  color: var(--ink);
}

p + p {
  margin-top: 16px;
}

a {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover {
  color: var(--accent);
}

@media (max-width: 640px) {
  body {
    font-size: 13px;
  }

  main {
    padding-top: 76px;
  }
}
