.legal-page { max-width: 850px; padding-top: 45px; padding-bottom: 65px; }
.legal-page h1 { font-size: clamp(32px,5vw,52px); letter-spacing: -1.5px; }
.legal-page h2 { font-size: 21px; margin-top: 30px; }
.legal-page p, .legal-page li { line-height: 1.8; color: var(--muted); }
.legal-page a { color: var(--accent-text); text-decoration: underline; text-underline-offset:3px; }
.legal-contact { padding:24px; background:var(--surface); border-radius:var(--card-radius); }
.legal-contact p { margin:0; }
.legal-page h3 { font-size:17px; margin-top:24px; }
.legal-page li + li { margin-top:12px; }
.legal-page section { scroll-margin-top:24px; }
.legal-updated { font-size:13px; }
.legal-contents { display:flex; flex-wrap:wrap; gap:12px 20px; padding:20px; margin:24px 0 32px; background:var(--canvas); border-radius:var(--card-radius); font-size:13px; }
.legal-table-wrap { overflow-x:auto; margin:20px 0; }
.legal-page th[scope="row"] { width:38%; font-weight:500; background:transparent; }
.legal-return { margin-top:32px; }

.legal-page table { width: 100%; border-collapse: collapse; font-size: 14px; }
.legal-page th,.legal-page td {  padding: 12px; text-align: left; vertical-align: top; }
.public-header nav { display: flex; gap: 20px; flex-wrap: wrap; }

.legal-contact { box-shadow: var(--card-shadow); }
.legal-page thead th { background:var(--canvas); }
.legal-page tbody tr:nth-child(even) { background:var(--canvas); }
@media(max-width:600px) {
  .legal-page { padding-top:28px; }
  .legal-contact { padding:20px; }
  .legal-page th,.legal-page td { padding:10px; overflow-wrap:anywhere; }
}
@media print {
  .public-header,.public-footer,.skip,.legal-contents,.legal-return { display:none; }
  .legal-page { max-width:none; padding:0; font-size:11pt; }
  .legal-contact { box-shadow:none; padding:0; }
  .legal-table-wrap { overflow:visible; }
  .legal-page h2,.legal-page h3 { break-after:avoid; }
  .legal-page tr { break-inside:avoid; }
}
