/* Legal pages share the site's header, typography, logo and footer. */
.legal-page { min-height: 100vh; padding-top: 0; display: flex; flex-direction: column; }
.legal-main {
  flex: 1;
  width: min(1200px, calc(100% - 64px));
  margin-inline: auto;
  padding-top: calc(var(--header-height) + 64px);
  padding-bottom: 88px;
}
.legal-document {
  padding: clamp(32px, 5vw, 64px);
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 40px;
}
.legal-document h1 { font-size: clamp(36px, 5vw, 64px); line-height: 1.12; letter-spacing: -.045em; }
.legal-copy { max-width: 760px; margin-top: 32px; font-size: 18px; line-height: 1.65; color: #555; }
.legal-copy h2 { margin-top: 36px; margin-bottom: 16px; font-size: 28px; line-height: 1.25; color: #000; }
.legal-copy h3 { margin-top: 28px; margin-bottom: 12px; font-size: 22px; line-height: 1.35; color: #000; }
.legal-copy p + p { margin-top: 16px; }
.legal-copy a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-copy ul, .legal-copy ol { padding-left: 24px; margin-block: 16px; }
.legal-copy li + li { margin-top: 8px; }
.legal-copy address { font-style: normal; margin-block: 16px; }
.legal-copy strong { color: #222; font-weight: 600; }
.legal-copy section { scroll-margin-top: calc(var(--header-height) + 24px); }
.legal-copy h2, .legal-copy h3, .legal-document h1 { overflow-wrap: break-word; hyphens: auto; }
.legal-date { font-size: 14px; color: #666; }
.legal-date + p { margin-top: 20px; }
.legal-toc { margin-block: 28px 40px; padding: 24px; background: #f7f7f7; border-radius: 18px; }
.legal-toc ul { columns: 2; column-gap: 32px; margin-bottom: 0; }
.legal-toc li { break-inside: avoid; }
@media (max-width: 600px) {
  .legal-main { width: calc(100% - 40px); padding-top: calc(var(--header-height) + 40px); padding-bottom: 56px; }
  .legal-document { padding: 30px 24px; border-radius: 28px; }
  .legal-document h1 { font-size: clamp(30px, 8vw, 42px); }
  .legal-copy { margin-top: 24px; font-size: 16px; }
  .legal-copy h2 { font-size: 24px; }
  .legal-copy h3 { font-size: 20px; }
  .legal-toc { padding: 20px; }
  .legal-toc ul { columns: 1; }
}
