:root {
  --bg: #ffffff;
  --text: #000000;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--bg);
}

body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: "Newsreader", serif;
  overflow-x: hidden;
}

.page {
  min-height: 100vh;
  padding-inline: clamp(20px, 3.75vw, 48px);
}

.hero {
  width: 100%;
  min-height: 100vh;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: clamp(84px, 13vh, 122px);
}

.hero__frame {
  width: min(100%, clamp(22.25rem, 48vw, 41.5rem));
  display: grid;
  gap: clamp(0.9rem, 1.6vw, 1.15rem);
}

.hero__copy {
  margin: 0;
  font-family: "Newsreader", serif;
  font-size: clamp(18px, 1rem + 0.4vw, 20px);
  font-weight: 400;
  line-height: 1.3;
  text-align: left;
  text-wrap: pretty;
  animation: fade-up 900ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.hero__copy em {
  font-style: italic;
  font-weight: 400;
}

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
