.legal-page main {
  padding-top: var(--header-height);
}

.legal-document {
  width: min(850px, calc(100% - 96px));
  margin-inline: auto;
  padding-block: clamp(56px, 7vw, 100px) clamp(72px, 9vw, 140px);
  font-size: 1rem;
  line-height: 1.85;
  overflow-wrap: anywhere;
}

.legal-header {
  margin-bottom: 52px;
}

.legal-header h1,
.legal-body h2,
.legal-body h3 {
  color: var(--navy-950);
  font-family: "Montserrat-Bold", Montserrat, sans-serif;
}

.legal-header h1 {
  margin: 0 0 28px;
  font-size: clamp(2.35rem, 5vw, 4.25rem);
  line-height: 1.12;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.legal-header p {
  margin: 8px 0;
}

.legal-updated,
.legal-version {
  color: var(--slate-600);
  font-size: 0.9rem;
}

.legal-body h2 {
  margin: 52px 0 22px;
  font-size: clamp(1.4rem, 2.6vw, 1.85rem);
  line-height: 1.35;
}

.legal-body h3 {
  margin: 30px 0 18px;
  font-size: 1.1rem;
  line-height: 1.5;
}

.legal-body p,
.legal-body ul {
  margin: 0 0 22px;
}

.legal-body ul {
  padding-left: 1.4em;
}

.legal-body li {
  margin-bottom: 12px;
  padding-left: 0.25em;
}

.legal-body li::marker {
  color: var(--navy-900);
}

.legal-document a {
  color: var(--navy-900);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.legal-document a:hover {
  color: var(--ink);
}

.legal-body .legal-version {
  margin-top: 48px;
}

@media (max-width: 820px) {
  .legal-document {
    width: calc(100% - 40px);
  }
}
