/* Legal pages share the site's colours and navigation. Content is visible without JavaScript. */
.legal-page { padding: calc(var(--nav-h) + 56px) 0 72px; }
.legal-container { max-width: 900px; }
.legal-header { margin-bottom: 32px; }
.legal-date { color: var(--muted); font-size: .92rem; margin-bottom: 20px; }
.legal-intro { font-size: 1.12rem; line-height: 1.8; max-width: 720px; }
.legal-contact { margin-top: 20px; color: var(--muted); }
.legal-page a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-page a:hover { color: var(--text); }
.legal-page a:focus-visible, .legal-skip:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.legal-toc { padding: 24px 28px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); margin-bottom: 40px; }
.legal-toc h2 { font-size: 1.1rem; margin-bottom: 12px; }
.legal-toc ol { padding-left: 22px; columns: 2; column-gap: 32px; }
.legal-toc li { padding: 4px 0; break-inside: avoid; }
.legal-copy section { margin-bottom: 32px; scroll-margin-top: calc(var(--nav-h) + 24px); }
.legal-copy h2 { font-size: 1.35rem; line-height: 1.4; margin-bottom: 14px; letter-spacing: -.015em; }
.legal-copy p, .legal-copy ul { margin-bottom: 14px; line-height: 1.85; }
.legal-copy ul { list-style: disc; padding-left: 24px; }
.legal-copy li { margin-bottom: 12px; }
.legal-related { padding-top: 24px; border-top: 1px solid var(--border); }
.legal-skip { position: fixed; top: 8px; left: 12px; transform: translateY(-180%); z-index: 1100; background: var(--surface); padding: 10px 16px; border: 1px solid var(--accent); border-radius: 8px; }
.legal-skip:focus { transform: translateY(0); }
@media (max-width: 600px) {
  .legal-page { padding-top: calc(var(--nav-h) + 32px); }
  .legal-toc { padding: 20px; }
  .legal-toc ol { columns: 1; }
  .legal-copy h2 { font-size: 1.2rem; }
  .legal-intro { font-size: 1rem; }
}
@media print {
  #navbar, footer, .mobile-nav, .legal-skip, .legal-toc { display: none !important; }
  .legal-page { padding: 0; }
  .legal-container { max-width: none; }
  .legal-copy h2 { break-after: avoid; }
  .legal-page a { color: inherit; }
  body { background: white; }
}
