.legal-main{ max-width:860px; margin:0 auto; padding:36px 20px 64px; }
.legal-head{ text-align:center; margin-bottom:22px; }
.legal-head h1{ font-size:clamp(26px, 4vw, 36px); margin-bottom:8px; }
.legal-meta{ font-size:13px; color:var(--ink-faint); }
.legal-governing{
  font-size:12.5px; color:var(--ink-soft); background:var(--surface-alt); border-radius:var(--radius-sm);
  padding:10px 14px; margin:14px auto 0; max-width:620px;
}
.legal-switch{ display:inline-flex; flex-wrap:wrap; justify-content:center; gap:4px; margin-top:18px; background:var(--surface-alt); border-radius:999px; padding:4px; }
.legal-switch a{ padding:8px 16px; border-radius:999px; font-size:13px; font-weight:700; color:var(--ink-soft); }
.legal-switch a.active{ background:var(--surface); color:var(--blue-dark); box-shadow:var(--shadow-sm); }

.legal-body{ padding:34px 38px; line-height:1.85; font-size:14.5px; }
@media (max-width:640px){ .legal-body{ padding:24px 18px; } }
.legal-body h2{ font-size:18.5px; margin:34px 0 10px; scroll-margin-top:90px; }
.legal-body h3{ font-size:15.5px; margin:20px 0 6px; }
.legal-body p{ margin:0 0 12px; color:var(--ink); }
.legal-body ul, .legal-body ol{ margin:0 0 14px; padding-inline-start:22px; }
.legal-body li{ margin-bottom:6px; }
.legal-body a{ color:var(--blue-dark); text-decoration:underline; }
.legal-body strong{ font-weight:700; }
.legal-body .caps{ font-weight:700; }
.legal-body .lead{ font-size:15px; color:var(--ink-soft); }
.legal-body .callout{
  background:var(--gold-tint); border:1px solid var(--gold); border-radius:var(--radius-sm);
  padding:14px 16px; margin:0 0 16px; font-weight:600;
}
.legal-body table{ width:100%; border-collapse:collapse; margin:0 0 16px; font-size:13.5px; }
.legal-body th, .legal-body td{ border:1px solid var(--border); padding:8px 10px; text-align:start; vertical-align:top; overflow-wrap:anywhere; }
@media (max-width:420px){ .legal-body table{ font-size:12.5px; } .legal-body th, .legal-body td{ padding:6px 7px; } }
.legal-body th{ background:var(--surface-alt); }

.legal-toc{ background:var(--surface-alt); border-radius:var(--radius); padding:18px 22px; margin-bottom:10px; }
.legal-toc strong{ display:block; margin-bottom:8px; font-size:14px; }
.legal-toc ul{ list-style:none; margin:0; padding:0; columns:2; column-gap:28px; font-size:13.2px; }
@media (max-width:640px){ .legal-toc ul{ columns:1; } }
.legal-toc li{ margin-bottom:4px; break-inside:avoid; }
.legal-toc a{ color:var(--ink-soft); text-decoration:none; }
.legal-toc a:hover{ color:var(--blue-dark); text-decoration:underline; }
