/* Legal pages (terms, privacy, refunds). Uses tokens from style.css and nav/footer from landing.css. */
.legal { padding: 48px 0 80px; }
.legal article { max-width: 760px; margin: 0 auto; padding: 0 20px; }
.legal h1 { font-size: clamp(30px, 4vw, 40px); letter-spacing: -.02em; margin: 0 0 6px; }
.legal .updated { color: var(--muted); margin: 0 0 28px; }
.legal h2 { font-size: 20px; margin: 34px 0 10px; letter-spacing: -.01em; }
.legal h3 { font-size: 16px; margin: 20px 0 6px; }
.legal p, .legal li { color: var(--text); line-height: 1.65; }
.legal ul { padding-left: 22px; }
.legal li { margin: 4px 0; }
.legal .summary { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 16px 20px; margin: 0 0 8px; }
.legal .summary p { margin: 0; }
.legal table { margin: 10px 0 4px; }
mark.fill { background: #fff1b8; color: #5c4400; padding: 0 4px; border-radius: 4px; font-weight: 600; }
:root[data-theme="dark"] mark.fill { background: #4a3c10; color: #ffe08a; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) mark.fill { background: #4a3c10; color: #ffe08a; } }
.legal-nav { display: flex; gap: 16px; flex-wrap: wrap; margin: 0 0 24px; font-size: 14px; }
.legal-nav a { color: var(--muted); text-decoration: none; }
.legal-nav a[aria-current="page"] { color: var(--accent); font-weight: 600; }
