/* Page-local: long-form legal text. Uses the site's tokens so light and dark themes both apply. */
.legal { max-width: 760px; padding-block: clamp(24px, 5vw, 56px) clamp(48px, 8vw, 96px); }
.legal h2 { font: 700 var(--fs-title-md, 1.5rem)/1.25 var(--sans); margin: 2.6rem 0 0.8rem; scroll-margin-top: 96px; }
.legal h3 { font: 700 var(--fs-title-sm, 1.25rem)/1.3 var(--sans); margin: 1.8rem 0 0.5rem; }
.legal p, .legal li { color: var(--ink-2); line-height: 1.65; }
.legal ul { padding-left: 1.2rem; }
.legal li { margin: 0.35rem 0; }
.legal a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.legal .summary { border: 1px solid var(--line); border-radius: 14px; padding: 1.1rem 1.3rem; background: var(--soft); margin: 1.6rem 0; }
.legal .summary p { margin: 0.4rem 0; }
.legal table { width: 100%; border-collapse: collapse; margin: 0.8rem 0 1.2rem; font-size: var(--fs-body-sm, 0.9375rem); }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 0.6rem 0.7rem; border-bottom: 1px solid var(--line); }
.legal th { color: var(--ink); font-weight: 600; }
.legal td { color: var(--ink-2); }
.legal .table-scroll { overflow-x: auto; }
.legal .toc { columns: 2; column-gap: 2rem; padding-left: 1.2rem; }
@media (max-width: 640px) { .legal .toc { columns: 1; } }
.legal .updated { color: var(--muted); font-size: var(--fs-small, 0.875rem); }
