/* Privacy and terms pages: long-form text on top of landing.css. */
.legal { padding: clamp(40px, 7vw, 88px) 0 var(--section); }
.legal__in { max-width: 760px; }
.legal h1 { font: 800 clamp(40px, 6vw, 64px)/1 var(--f-display); font-stretch: 85%; letter-spacing: -.02em; margin: 0 0 16px; }
.legal .updated { color: var(--muted); font-size: 15px; margin: 0 0 32px; }
.legal .summary { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 28px; margin: 0 0 48px; }
.legal .summary h2 { margin-top: 0; font-size: 20px; }
.legal .summary ul { margin-bottom: 0; }
.legal h2 { font: 700 24px/1.2 var(--f-display); margin: 48px 0 12px; scroll-margin-top: 96px; }
.legal h3 { font: 600 18px/1.3 var(--f-body); margin: 28px 0 8px; }
.legal p, .legal li { color: var(--ink-2, var(--ink)); max-width: 68ch; }
.legal ul { padding-left: 1.2em; }
.legal li { margin: 6px 0; }
.legal a { color: var(--brand); text-underline-offset: 3px; }
.legal table { width: 100%; border-collapse: collapse; margin: 16px 0 8px; font-size: 15px; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--line); }
.legal th { font-weight: 600; color: var(--ink); }
.legal .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.legal .toc { columns: 2; column-gap: 32px; padding-left: 1.2em; margin: 0 0 8px; }
@media (max-width: 640px) { .legal .toc { columns: 1; } .legal .summary { padding: 20px; } }
/* Unfilled company details: loud on purpose, so a draft can't go live unnoticed. */
.legal .todo { background: #ffe680; color: #5a4300; padding: 0 4px; border-radius: 4px; font-weight: 600; }
/* landing.css resets lists for its own layouts; legal text needs real bullets and numbers. */
.legal ul { list-style: disc; }
.legal ol { list-style: decimal; }
.legal li::marker { color: var(--muted); }
