/* Legal pages (terms, privacy policy): readable long-form prose on top of home.css tokens. */
/* Fixed top bar on legal pages: solid background, shadow once the page has scrolled. */
.legal-page .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 20; max-width: none; padding-left: max(1.25rem, calc((100% - 1080px) / 2)); padding-right: max(1.25rem, calc((100% - 1080px) / 2)); background: var(--bg); border-bottom: 1px solid transparent; transition: box-shadow .2s, border-color .2s; }
.legal-page .nav.scrolled { border-bottom-color: var(--border); box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }
@media (prefers-color-scheme: dark) { .legal-page .nav.scrolled { box-shadow: 0 2px 12px rgba(0, 0, 0, .5); } }
.legal-page main.legal { padding-top: 76px; }
@media (min-width: 768px) { .legal-page main.legal { padding-top: 84px; } .legal-page .nav { padding-left: max(2rem, calc((100% - 1080px) / 2)); padding-right: max(2rem, calc((100% - 1080px) / 2)); } }
.legal section { scroll-margin-top: 96px; }
main.legal { display: block; flex: 1; }
.legal article { max-width: 780px; margin: 0 auto; padding: 1.5rem 1.25rem 4rem; }
.legal-head { margin-bottom: 1.5rem; }
.legal h1 { font-size: clamp(1.9rem, 4vw, 2.6rem); margin-bottom: .5rem; }
.legal .meta { color: var(--muted); font-size: .95rem; }
.legal h2 { font-size: 1.25rem; font-weight: 700; margin: 2.25rem 0 .75rem; letter-spacing: -.01em; }
.legal p, .legal li { font-size: 1rem; line-height: 1.7; }
.legal p { margin: 0 0 .9rem; }
.legal ul, .legal ol { padding-left: 1.4rem; margin: 0 0 1rem; }
.legal li { margin-bottom: .45rem; }
.legal a { text-decoration: underline; text-underline-offset: 2px; }
.legal a.btn { text-decoration: none; }
.legal .btn { margin-top: .25rem; }
.legal table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: .5rem 0 1.25rem; font-size: .95rem; }
.legal th:first-child, .legal td:first-child { width: 26%; }
.legal th:last-child, .legal td:last-child { width: 34%; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: .6rem .75rem; border-bottom: 1px solid var(--border); line-height: 1.55; overflow-wrap: anywhere; }
.legal th { font-weight: 650; background: color-mix(in srgb, var(--border) 45%, transparent); }
.legal td:first-child { font-weight: 600; }
@media (max-width: 640px) {
  .legal table, .legal thead, .legal tbody, .legal tr, .legal th, .legal td { display: block; width: auto; }
  .legal thead { display: none; }
  .legal tr { border-bottom: 1px solid var(--border); padding: .5rem 0; }
  .legal td { border: 0; padding: .15rem 0; }
}
.toc { border: 1px solid var(--border); border-radius: 12px; padding: 1rem 1.25rem; margin-bottom: 1.5rem; background: var(--card); }
.toc ol { columns: 2; column-gap: 2rem; margin: 0; padding-left: 1.2rem; font-size: .92rem; }
.toc li { margin-bottom: .3rem; break-inside: avoid; }
.toc a { text-decoration: none; color: var(--fg); }
.toc a:hover { color: var(--brand); }
@media (max-width: 640px) { .toc ol { columns: 1; } }
.footer nav { display: inline-flex; gap: 1.25rem; margin-left: 1.25rem; }
.footer nav a { color: var(--muted); text-decoration: none; }
.footer nav a:hover { color: var(--brand); }
