/* Legal and policy pages (terms, privacy, cybersecurity whitepaper). Loads after content.css. */
.legal .prose { max-width: 76ch; }
.legal .prose h2 { scroll-margin-top: calc(var(--header-h) + 16px); }
.legal .prose ul ul, .legal .prose ol ul { margin-top: .4em; }
.legal-caps { font-size: 15px; letter-spacing: .01em; }
.legal-address { font-style: normal; display: grid; gap: 2px; }
.legal-address p { margin: 0; }
.legal-note { padding-top: 16px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted); }

/* FAQ inside prose: keep the prose rhythm inside each answer. */
.prose .faq { margin-top: 1.4em; }
.prose .faq details > div > * { margin: 0; }
.prose .faq details > div > * + * { margin-top: .9em; }

/* Contents list: desktop only, sticky beside the text. */
.legal-toc { display: none; }
@media (min-width: 960px) {
  .legal-toc { display: grid; max-height: calc(100vh - var(--header-h) - 48px); overflow-y: auto; padding-bottom: 8px; }
}
.legal-toc ol { list-style: none; margin: 0; padding: 0; border-top: 1.5px solid var(--ink); }
.legal-toc li { border-bottom: 1px solid var(--line); }
.legal-toc a { display: block; padding: 9px 0; font: 400 14px/1.35 var(--font-sans); color: var(--ink-2); }
.legal-toc a:hover { color: var(--gold); }
