/* Base / reset — values from tokens.css only */
*, *::before, *::after { box-sizing: border-box; }

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

body {
  margin: 0;
  background: var(--c-bg);
  color: var(--c-white);
  font-family: var(--font-figtree);
  font-weight: var(--fw-regular);
  line-height: var(--lh-auto);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

.page {
  position: relative;
  width: var(--page-w);
  margin: 0 auto;
}

h1, h2, h3, p, figure, blockquote, ul { margin: 0; padding: 0; }
ul { list-style: none; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; }
button { font: inherit; color: inherit; border: 0; padding: 0; background: none; cursor: pointer; }

.visually-hidden {
  position: absolute;
  width: var(--bw-1);
  height: var(--bw-1);
  margin: calc(var(--bw-1) * -1);
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
