/* Shared header, footer, fonts and colors are provided by styles.css. */
.legal { max-width: 760px; width: calc(100% - 48px); margin: auto; padding: 120px 0; overflow-wrap: anywhere; }
.legal h1 { font-size: clamp(42px, 5.6vw, 64px); margin: 14px 0 30px; }
.legal .effective { font-size: 14px; color: #6e6e73; }
.legal p, .legal li { font-size: 18px; line-height: 1.5; color: #1d1d1f; }
.legal p + p { margin-top: 20px; }
.legal h2 { font-size: 28px; margin: 54px 0 18px; scroll-margin-top: 110px; }
.legal h3 { font-size: 22px; margin: 28px 0 14px; }
.legal ul { padding-left: 22px; }
.legal li + li { margin-top: 10px; }
.legal .toc { margin: 36px 0 46px; padding: 24px 28px; border-radius: 16px; background: #f5f5f7; }
.toc p { font-size: 17px; font-weight: 600; }
.toc ol { margin: 14px 0 0; padding-left: 20px; columns: 2; column-gap: 28px; }
.toc li { font-size: 15px; line-height: 1.5; break-inside: avoid; }
.toc li + li { margin-top: 10px; }
.toc a { text-decoration: none; }
.toc a:hover { text-decoration: underline; }
.legal strong { font-weight: 600; }
@media (max-width: 540px) {
  .legal { padding: 64px 0; }
  .legal .toc { padding: 20px; }
  .toc ol { columns: 1; }
  .legal h2 { font-size: 26px; }
  .legal p, .legal li { font-size: 17px; }
}
