:root {
  --color-bg: #102526;
  --color-text: #f0cdb8;
  --font-heading: "Merriweather", serif;
  --font-body: "Figtree", system-ui, sans-serif;
  --space-intro-to-body: 40px;
  --space-paragraph: 16px;
  --title-size: 32px;
  --body-size: 20px;
  --content-max-mobile: calc(100vw - 48px);
  --content-max-wide: 541px;
}

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

body {
  margin: 0;
  min-height: 100vh;
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--body-size);
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.page {
  min-height: 100vh;
  padding: 64px 24px 48px;
}

.content {
  width: 100%;
  max-width: var(--content-max-mobile);
}

.intro__title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--title-size);
  font-weight: 800;
  line-height: 1;
}

.intro__tagline {
  margin: 16px 0 0;
  font-size: var(--body-size);
  font-weight: 600;
  line-height: 1;
}

.body-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-paragraph);
  margin-top: var(--space-intro-to-body);
  max-width: 100%;
}

.body-copy p {
  margin: 0;
}

.body-copy__signature {
  font-weight: 700;
  white-space: pre-wrap;
}

@media (min-width: 1024px) {
  .page {
    padding: 96px 24px 96px;
  }

  .content {
    max-width: var(--content-max-wide);
    margin-inline: auto;
  }
}

@media (min-width: 745px) {
  .page {
    padding-top: 96px;
  }
}

@media (max-width: 744px) {
  .page {
    padding: 64px 32px 48px;
  }

  :root {
    --content-max-mobile: calc(100vw - 64px);
  }
}
