/* Layout for the /legal page */
.legal { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 48px; max-width: var(--wrap); margin: 0 auto; padding: 48px 24px 96px; }
.legal-nav { position: sticky; top: calc(var(--nav-h) + 24px); align-self: start; display: flex; flex-direction: column; gap: 2px; }
.legal-nav .side-title { padding-left: 10px; margin-bottom: 4px; }
.legal-doc { max-width: 72ch; min-width: 0; }
.legal-doc h1 { font-size: clamp(1.9rem, 3.6vw, 2.5rem); letter-spacing: -0.035em; }
.legal-meta { color: var(--faint); font-size: 13.5px; margin-top: 10px; }
.legal-summary { margin-top: 24px; padding: 16px 18px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--panel); color: var(--dim); font-size: 14.5px; }
.legal-summary strong { color: var(--text); font-weight: 600; }
.legal-doc h2 { font-size: 1.2rem; letter-spacing: -0.02em; margin: 40px 0 12px; scroll-margin-top: calc(var(--nav-h) + 20px); }
.legal-doc h3 { font-size: 1rem; margin: 22px 0 8px; }
.legal-doc p, .legal-doc li { color: var(--dim); font-size: 15px; line-height: 1.72; }
.legal-doc p + p { margin-top: 12px; }
.legal-doc ul, .legal-doc ol { padding-left: 20px; margin-top: 10px; }
.legal-doc li + li { margin-top: 6px; }
.legal-doc strong { color: var(--text); font-weight: 600; }
.legal-doc a { color: var(--mint-2); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(81,95,226,.35); }
.legal-doc a:hover { text-decoration-color: currentColor; }
.legal-doc code { font-size: .88em; background: var(--raise); border: 1px solid var(--line); padding: 1px 6px; border-radius: 5px; color: var(--mint-2); }
.legal-doc table { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 14px; }
.legal-doc th { text-align: left; color: var(--faint); font-weight: 550; font-size: 13px; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.legal-doc td { color: var(--dim); padding: 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
@media (max-width: 860px) {
  .legal { grid-template-columns: 1fr; gap: 20px; padding: 24px 16px 64px; }
  .legal-nav { position: static; flex-direction: row; overflow-x: auto; gap: 4px; border-bottom: 1px solid var(--line); padding-bottom: 10px; }
  .legal-nav .side-title { display: none; }
  .legal-nav .side-link { width: auto; white-space: nowrap; }
  .legal-nav .side-link.active { box-shadow: inset 0 -2px 0 var(--mint); }
}
.legal-doc ul + p, .legal-doc table + p { margin-top: 14px; }
/* One-page legal (Terms + Privacy): long section list scrolls inside the sticky sidebar */
.legal-nav { max-height: calc(100vh - var(--nav-h) - 48px); overflow-y: auto; }
.legal-nav .side-title a { color: var(--text); font-weight: 700; }
.legal-nav .side-link { font-size: 13px; padding: 5px 10px; }
.legal-doc h2 { font-size: 1.6rem; margin-top: 48px; padding-top: 8px; border-top: 1px solid var(--line); }
.legal-doc h2:first-of-type { border-top: 0; margin-top: 28px; }
.legal-doc h3 { font-size: 1.05rem; margin: 30px 0 10px; scroll-margin-top: calc(var(--nav-h) + 20px); }
@media (max-width: 860px) { .legal-nav { max-height: none; } }
