*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100vh;
  background: var(--surface-canvas);
  color: var(--color-bone);
  font-family: var(--font-inter-tight);
  font-size: var(--text-body);
  font-weight: var(--font-weight-regular);
  line-height: var(--leading-body);
  -webkit-font-smoothing: antialiased;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover {
  color: var(--color-signal-lime);
}

:focus-visible {
  outline: 2px solid var(--color-signal-lime);
  outline-offset: 3px;
}

.skip-link {
  position: absolute;
  left: var(--spacing-16);
  top: -100px;
  z-index: 1000;
  padding: var(--spacing-10) var(--spacing-16);
  background: var(--color-signal-lime);
  color: var(--color-void-black);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
}

.skip-link:focus {
  top: var(--spacing-16);
}

.container {
  width: min(100% - 40px, var(--page-max-width));
  margin-inline: auto;
}

.section {
  padding-block: var(--section-gap);
}

.eyebrow,
.meta-stamp {
  margin: 0;
  font-family: var(--font-inter-tight);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-ash);
}

.display,
.heading,
.heading-sm {
  margin: 0;
  font-family: var(--font-pt-serif);
  font-weight: var(--font-weight-light);
  color: var(--color-chalk);
  font-feature-settings: "liga" 1, "dlig" 1;
}

.display {
  font-size: clamp(42px, 8vw, var(--text-display));
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
}

.heading {
  font-size: clamp(32px, 5vw, var(--text-heading));
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
}

.heading-sm {
  font-size: clamp(26px, 4vw, var(--text-heading-sm));
  line-height: var(--leading-heading-sm);
  letter-spacing: var(--tracking-heading-sm);
}

.accent-word {
  font-style: italic;
  color: var(--color-signal-lime);
}

.lede,
.prose {
  margin: 0;
  max-width: 42rem;
  color: var(--color-bone);
}

.prose + .prose {
  margin-top: var(--spacing-16);
}

.section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--spacing-24);
  margin-bottom: var(--spacing-44);
}

.section-head__copy {
  max-width: 380px;
}

.section-index {
  font-family: var(--font-inter-tight);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-ash);
  white-space: nowrap;
}

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

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
