/* Privacy and other policy pages */
.legal { display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); gap: clamp(var(--space-8), 5vw, var(--space-16)); align-items: start; }
.legal__toc { position: sticky; top: calc(64px + var(--space-6)); font-size: var(--text-sm); }
.legal__toc ol { display: grid; gap: var(--space-2); margin-top: var(--space-3); }
.legal__toc a { color: var(--color-text-muted); }
.legal__toc a:hover { color: var(--color-primary); }
.legal__body { max-width: 70ch; min-width: 0; }
.legal__body h2 { font-size: var(--text-lg); max-width: none; margin-top: var(--space-12); scroll-margin-top: calc(64px + var(--space-6)); }
.legal__body h2:first-child { margin-top: 0; }
.legal__body h3 { font-size: var(--text-base); margin-top: var(--space-6); }
.legal__body p, .legal__body li { color: var(--color-text-muted); }
.legal__body p { margin-top: var(--space-3); }
.legal__body ul { margin-top: var(--space-3); padding-left: var(--space-5); display: grid; gap: var(--space-2); }
.legal__body li::marker { color: var(--color-primary); }
.legal__body b { color: var(--color-text); font-weight: 600; }
.legal__body a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal__body code { font-family: var(--font-mono); font-size: .875em; background: var(--color-surface-2); border-radius: var(--radius-sm, 4px); padding: 0 .3em; overflow-wrap: anywhere; }
@media (max-width: 860px) {
  .legal { grid-template-columns: 1fr; }
  .legal__toc { position: static; border: 1px solid var(--color-border); border-radius: var(--radius-lg, 12px); background: var(--color-surface); padding: var(--space-4) var(--space-5); }
  .legal__toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-4); }
}
@media (max-width: 420px) {
  .legal__toc ol { grid-template-columns: 1fr; }
}
.byline { color: var(--color-text-muted); margin-top: var(--space-6); position: relative; }
