.legal-page {
  color: var(--cd-body-text);
  font: var(--font-weight-regular) 17px/1.72 var(--font-body);
  overflow-wrap: anywhere;
  padding: clamp(48px, 7vw, 100px) var(--space-5);
}
.legal-page__inner { max-width: var(--container-narrow); margin-inline: auto; }
.legal-page :is(h1, h2, h3, h4) {
  color: var(--cd-primary-dark);
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  line-height: 1.3;
  margin: 0 0 var(--space-4);
}
.legal-page h1 { font-size: clamp(30px, 4vw, 40px); margin-bottom: var(--space-6); }
.legal-page h2 { font-size: clamp(24px, 3vw, 28px); }
.legal-page h3 { font-size: 22px; margin-top: var(--space-6); }
.legal-page h4 { font-family: var(--font-heading) !important; font-size: 20px; margin-top: var(--space-5); }
.legal-page .legal-section { margin-top: var(--space-7); }
.legal-page p { margin: 0 0 var(--space-5); }
.legal-page ul { margin: 0 0 var(--space-5); padding-left: var(--space-5); }
.legal-page li + li { margin-top: var(--space-2); }
.legal-page a { color: var(--cd-primary-dark); text-decoration: underline; text-underline-offset: .15em; }
.legal-page a:focus-visible { outline: 2px solid var(--cd-primary-dark); outline-offset: 3px; }
.legal-page table { width: 100%; border-collapse: collapse; hyphens: auto; margin-bottom: var(--space-5); }
.legal-page :is(th, td) { padding: var(--space-3); border: 1px solid var(--cd-secondary-text); text-align: left; vertical-align: top; }
.legal-page th { background: var(--cd-background-neutral); font-weight: var(--font-weight-semibold); }
.legal-page__inner > :last-child,
.legal-section > :last-child,
.legal-section__content > :last-child { margin-bottom: 0; }
.legal-page .legal-blank { display: block; width: 100%; max-width: 24rem; height: 1.5em; overflow: hidden; font-size: 0; border-bottom: 1px solid var(--cd-secondary-text); margin-block: var(--space-4); }
