/* Legal pages: same frame as the pillar pages, with a sidebar to move between policies */
.c-legal { --pillar: #A78BFA; }
.l-hero { padding: 56px 0 48px; }
.l-hero .hero-copy { max-width: 820px; }
.l-hero .updated { margin: 0; color: var(--subtle); font-size: 15px; }

.l-section { padding-top: 56px; }
.l-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 64px; align-items: start; }
.l-nav { position: sticky; top: 112px; display: flex; flex-direction: column; gap: 4px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); }
.l-nav-title { margin: 0 0 8px; font-size: 12px; font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; color: var(--subtle); }
.l-nav a { padding: 8px 12px; border-radius: 10px; color: var(--muted); font-size: 15px; font-weight: 500; }
.l-nav a:hover { color: #fff; background: rgba(255, 255, 255, 0.04); }
.l-nav a[aria-current="page"] { color: #fff; background: rgba(167, 139, 250, 0.14); box-shadow: inset 3px 0 0 var(--pillar); }

.l-body { max-width: 760px; min-width: 0; overflow-wrap: break-word; }
.legal-page h2 { font-size: 24px; line-height: 1.3; margin: 48px 0 14px; padding-top: 28px; border-top: 1px solid var(--line); }
.legal-page h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.legal-page h3 { font-size: 18px; margin: 28px 0 8px; color: var(--text); }
.legal-page p, .legal-page li { color: var(--muted); font-size: 16px; line-height: 1.75; }
.legal-page p { margin: 0 0 16px; }
.legal-page ul, .legal-page ol { padding-left: 22px; margin: 0 0 18px; }
.legal-page li { margin-bottom: 8px; }
.legal-page a { color: var(--text); text-decoration: underline; text-decoration-color: var(--pillar); text-underline-offset: 3px; }
.legal-page strong { color: var(--text); }
.legal-page table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15px; }
.legal-page th, .legal-page td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); color: var(--muted); vertical-align: top; }
.legal-page th { color: var(--text); }

@media (max-width: 860px) {
  .l-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .l-nav { position: static; flex-direction: row; flex-wrap: wrap; padding: 12px; }
  .l-nav-title { display: none; }
}
