:root {
  --bs-body-color: #1f2937;
  --bs-body-color-rgb: 31, 41, 55;
  --bs-body-bg: #f4efe6;
  --bs-body-bg-rgb: 244, 239, 230;
  --bs-emphasis-color: #1f2937;
  --bs-emphasis-color-rgb: 31, 41, 55;
  --bs-secondary-color: #78716c;
  --bs-secondary-color-rgb: 120, 113, 108;
  --bs-secondary-bg: #f8f7f2;
  --bs-secondary-bg-rgb: 248, 247, 242;
  --bs-primary: #0f766e;
  --bs-primary-rgb: 15, 118, 110;
  --bs-link-color: #0f766e;
  --bs-link-color-rgb: 15, 118, 110;
  --bs-link-hover-color: #f97316;
  --bs-link-hover-color-rgb: 249, 115, 22;
  --bs-border-color: #d8c3a5;
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bs-body-color: #f8f7f2;
    --bs-body-color-rgb: 248, 247, 242;
    --bs-body-bg: #111827;
    --bs-body-bg-rgb: 17, 24, 39;
    --bs-emphasis-color: #f8f7f2;
    --bs-emphasis-color-rgb: 248, 247, 242;
    --bs-secondary-color: #c9c2b8;
    --bs-secondary-color-rgb: 201, 194, 184;
    --bs-secondary-bg: #1f2937;
    --bs-secondary-bg-rgb: 31, 41, 55;
    --bs-primary: #2dd4bf;
    --bs-primary-rgb: 45, 212, 191;
    --bs-link-color: #2dd4bf;
    --bs-link-color-rgb: 45, 212, 191;
    --bs-link-hover-color: #fb923c;
    --bs-link-hover-color-rgb: 251, 146, 60;
    --bs-border-color: #6b5b45;
    color-scheme: dark;
  }
}

.document-page {
  font-size: 1.0625rem;
  line-height: 1.65;
}

.document-page a {
  text-underline-offset: 0.18em;
  text-decoration-thickness: 0.08em;
}

.document-main {
  padding-block: clamp(2.5rem, 6vw, 5rem);
}

.document-content {
  width: min(100%, 42rem);
}

.document-content h1,
.document-content h2,
.document-content h3 {
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.document-content h1 {
  margin-bottom: 1.75rem;
  font-size: clamp(1.85rem, 4vw, 2.1rem);
  font-weight: 650;
}

.document-content h2 {
  margin-top: 2.75rem;
  margin-bottom: 0.8rem;
  font-size: 1.375rem;
  font-weight: 650;
}

.document-content h3 {
  margin-top: 2rem;
  margin-bottom: 0.65rem;
  font-size: 1.125rem;
  font-weight: 650;
}

.document-content p,
.document-content ol,
.document-content ul {
  margin-bottom: 1rem;
  text-wrap: pretty;
}

.document-content ol,
.document-content ul {
  padding-left: 1.4rem;
}

.document-content li + li {
  margin-top: 0.4rem;
}

.document-content > :last-child {
  margin-bottom: 0;
}

.document-footer {
  font-size: 0.9375rem;
  line-height: 1.5;
}

.hero-page {
  min-height: 100svh;
}

.hero-page a {
  text-underline-offset: 0.2em;
}

.hero-main {
  padding-block: 1rem 2rem;
}

.hero-content {
  width: min(100%, 44rem);
}

.hero-logo {
  display: block;
  width: clamp(15rem, min(48vw, 48svh), 28rem);
  height: auto;
  margin-inline: auto;
  margin-bottom: clamp(1.5rem, 4vw, 2rem);
}

.hero-title {
  margin-bottom: 0.75rem;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  letter-spacing: -0.025em;
}

.hero-teaser {
  max-width: 36rem;
  margin-inline: auto;
}
