/* ==========================================================
   Legal pages (privacy, terms, accessibility).
   Layered on top of styles.css. Long-form reading layout:
   narrow measure, generous line height, clear hierarchy.
   ========================================================== */

.legal-page {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(40px, 8vh, 88px) 24px 96px;
}

.legal-page .nav-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 40px;
  text-decoration: none;
  color: inherit;
  font-weight: 700;
}

.legal-page h1 {
  font-size: clamp(2rem, 5vw, 2.9rem);
  line-height: 1.1;
  margin: 0 0 14px;
}

.legal-updated {
  font-size: 0.85rem;
  color: var(--muted, #93a79b);
  margin: 0 0 10px;
}

/* Short plain-language summary above the formal text. */
.legal-summary {
  margin: 26px 0 40px;
  padding: 20px 22px;
  border: 1px solid var(--border, #17271c);
  border-left: 3px solid var(--accent, #2fe66f);
  border-radius: 12px;
  background: rgba(47, 230, 111, 0.05);
}

.legal-summary h2 {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--accent, #2fe66f);
  margin: 0 0 10px;
}

.legal-summary ul { margin: 0; padding-left: 20px; }
.legal-summary li { margin-bottom: 7px; }

.legal-page h2 {
  font-size: 1.3rem;
  margin: 42px 0 14px;
  scroll-margin-top: 90px;
}

.legal-page h3 {
  font-size: 1.02rem;
  margin: 26px 0 10px;
}

.legal-page p,
.legal-page li {
  line-height: 1.7;
  color: var(--muted, #93a79b);
}

.legal-page strong { color: var(--text, #e8f0ea); }

.legal-page ul,
.legal-page ol { padding-left: 22px; }

.legal-page li { margin-bottom: 9px; }

.legal-page a {
  color: var(--accent, #2fe66f);
  text-underline-offset: 3px;
}

.legal-toc {
  margin: 0 0 44px;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}

.legal-toc a { font-size: 0.9rem; }

.legal-contact {
  margin-top: 48px;
  padding: 22px;
  border: 1px solid var(--border, #17271c);
  border-radius: 12px;
  background: var(--bg-raised, #080d0a);
}

.legal-contact p:last-child { margin-bottom: 0; }

.legal-back {
  display: inline-block;
  margin-top: 48px;
}

@media (max-width: 520px) {
  .legal-page { padding-top: 32px; }
}
