/* Terms and Privacy pages. Loaded after site.css; long-form reading styles only. */
.legal-page::before, .legal-page::after { display: none; }
.legal { padding: 120px 0 96px; }
.legal h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); }
.legal-meta { color: var(--text-3); font-size: .9rem; margin-top: 14px; }
.legal h2 { font: 650 1.22rem/1.35 var(--font); letter-spacing: -.01em; margin: 44px 0 12px; scroll-margin-top: 84px; }
.legal h3 { font: 600 1rem/1.4 var(--font); margin: 24px 0 8px; color: var(--text); }
.legal p, .legal li { color: var(--text-2); font-size: 1rem; line-height: 1.7; }
.legal p { margin-top: 12px; max-width: 72ch; }
.legal ul { list-style: disc; padding-left: 22px; margin-top: 12px; display: grid; gap: 8px; max-width: 72ch; }
.legal li::marker { color: var(--accent-text); }
.legal b { color: var(--text); font-weight: 600; }
.legal a { color: var(--accent-text); text-decoration: underline; text-underline-offset: 3px; }
.legal-sum { margin-top: 36px; padding: 24px 26px; border-radius: 16px; border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent); background: color-mix(in srgb, var(--accent) 7%, var(--surface)); }
.legal-sum h2 { margin-top: 0; }
.legal-sum p { color: var(--text-3); font-size: .9rem; }
.legal-nav { display: flex; gap: 4px; margin-left: auto; }
.legal-nav a { padding: 6px 11px; border-radius: 8px; color: var(--text-3); font-size: .9rem; }
.legal-nav a:hover, .legal-nav a[aria-current] { color: var(--text); background: var(--surface-2); }
@media (max-width: 480px) { .legal-nav a:last-child { display: none; } }
@media print { .hdr, .ftr, #dust { display: none; } .legal { padding-top: 0; } body { background: #fff; color: #000; } .legal p, .legal li { color: #111; } }
