.legal { padding: 28px 0 64px; }
.legal-layout { display: grid; grid-template-columns: 240px 1fr; gap: 36px; align-items: start; }
.toc { position: sticky; top: 88px; max-height: calc(100vh - 110px); overflow: auto; padding-right: 8px; }
.toc ol { margin: 0; padding-left: 18px; }
.toc a { color: var(--muted); text-decoration: none; }
.toc a:hover, .toc a:focus { color: var(--ink); }
.legal h1 { letter-spacing: -0.03em; margin-bottom: 8px; }
.meta { color: var(--muted); }
.prose { max-width: 72ch; }
.prose h2 { margin-top: 2rem; scroll-margin-top: 88px; font-size: 1.25rem; }
.prose p, .prose li { color: var(--ink); }
.prose a { color: var(--indigo-dark); }
.prose a:focus, .toc a:focus, .top a:focus, .foot a:focus { outline: 2px solid var(--indigo); outline-offset: 2px; }
@media (max-width: 800px) {
  .legal-layout { grid-template-columns: 1fr; }
  .toc { position: static; max-height: none; }
}
