.legal-page {
  background: var(--paper, #f9f6ee);
  color: var(--ink, #1b1815);
}

html:has(.legal-page) { scroll-behavior: auto; }
.legal-main { width: min(760px, calc(100% - 48px)); margin: 86px auto 108px; }
.legal-document { font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
.legal-document h1 {
  max-width: 760px;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(2.65rem, 7.5vw, 5rem);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -.055em;
  margin: 0 0 27px;
  text-wrap: balance;
}
.legal-document .effective-date { margin-bottom: 38px; font-size: .875rem; }
.legal-document p { margin: 0 0 22px; }
.legal-document h2 {
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: clamp(1.35rem, 3vw, 1.65rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.025em;
  margin: 45px 0 17px;
  text-wrap: balance;
}
.legal-document strong { font-weight: 650; }
.legal-document ul { padding-left: 25px; margin: 0 0 25px; }
.legal-document li { padding-left: 5px; margin: 0 0 12px; }
.legal-document li::marker { color: var(--ink, #1b1815); font-size: .85em; }
.legal-document a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.legal-document a:hover { text-decoration-thickness: 2px; }
.legal-page .legal-footer { max-width: none; background: var(--blue, #bfe2ff); padding: 62px 6% 27px; }
.legal-footer .footer-top, .legal-footer .footer-bottom { max-width: 1120px; margin: 0 auto; }
.legal-footer .footer-description {
  width: max-content;
  max-width: 100%;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: normal;
  word-spacing: normal;
  text-wrap: wrap;
}
.legal-footer .footer-description span { display: block; white-space: nowrap; }
.legal-footer .footer-links a[aria-current=page] { text-decoration: underline; text-underline-offset: 5px; }
.legal-footer .footer-bottom { align-items: center; }
.legal-footer .footer-bottom > p { font-size: .8125rem; padding-top: 0; }
.legal-footer .footer-bottom > a { display: inline-flex; align-items: center; min-height: 44px; font-size: .8125rem; text-decoration: none; }
.legal-footer .footer-bottom > a:hover { text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 760px) {
  .legal-main { width: calc(100% - 44px); margin: 57px auto 70px; }
  .legal-document { font-size: 1rem; line-height: 1.75; }
  .legal-document h1 { font-size: clamp(2.65rem, 10.5vw, 4.5rem); }
  .legal-document .effective-date { margin-bottom: 30px; }
  .legal-document h2 { margin-top: 36px; }
  .legal-document ul { padding-left: 22px; }
  .legal-page .legal-footer { padding: 43px 22px 20px; }
  .legal-footer .footer-top { gap: 30px 24px; }
  .legal-footer .footer-description { font-size: clamp(.8125rem, 3.8vw, 1rem); }
  .legal-footer .footer-bottom { gap: 8px 20px; }
}

@media print {
  .legal-page .site-header, .legal-page .legal-footer, .legal-page .skip-link { display: none; }
  .legal-page { background: #fff; color: #000; }
  .legal-main { width: 100%; margin: 0; }
  .legal-document { font-size: 10pt; line-height: 1.5; }
  .legal-document h1 { font-size: 30pt; }
  .legal-document h2 { font-size: 14pt; break-after: avoid; }
  .legal-document a { color: #000; }
}
