/* ── Legal / policy pages ─────────────────────────────────────────── */
.legal-hero {
  padding: 120px 5% 40px;
  text-align: center;
}
.legal-hero-inner { max-width: 720px; margin: 0 auto; }
.legal-updated { font-size: .82rem; color: var(--muted); margin-top: .8rem; }

.legal-section { padding: 0 5% 70px; }
.legal-wrap { max-width: 780px; margin: 0 auto; }

.legal-toc {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--white);
  padding: 1.4rem 1.6rem;
  margin-bottom: 2.6rem;
}
.legal-toc-h { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--green-d); margin-bottom: .8rem; }
.legal-toc ol { list-style: none; counter-reset: toc; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 1.5rem; }
.legal-toc li { counter-increment: toc; font-size: .86rem; }
.legal-toc li::before { content: counter(toc) '. '; color: var(--muted); font-weight: 600; }
.legal-toc a { color: var(--body); }
.legal-toc a:hover { color: var(--green-d); }

.legal-doc h2 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.3rem; font-weight: 800; color: var(--ink);
  margin: 2.4rem 0 .8rem;
  scroll-margin-top: 100px;
}
.legal-doc h2:first-child { margin-top: 0; }
.legal-doc p { font-size: .94rem; line-height: 1.8; color: var(--body); margin-bottom: 1rem; }
.legal-doc ul, .legal-doc ol.legal-list { margin: 0 0 1rem 1.3rem; }
.legal-doc li { font-size: .94rem; line-height: 1.75; color: var(--body); margin-bottom: .4rem; }
.legal-doc strong { color: var(--ink); }
.legal-doc a { color: var(--green-d); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.legal-contact-box {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--off);
  padding: 1.5rem 1.7rem;
  margin-top: 2rem;
}
.legal-contact-box h3 { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1rem; font-weight: 700; margin-bottom: .8rem; }
.legal-contact-row { display: flex; align-items: center; gap: .6rem; font-size: .88rem; color: var(--body); margin-bottom: .5rem; }
.legal-contact-row:last-child { margin-bottom: 0; }
.legal-contact-row svg { width: 16px; height: 16px; color: var(--green-d); flex-shrink: 0; }
.legal-contact-row a { color: var(--body); text-decoration: none; }
.legal-contact-row a:hover { color: var(--green-d); }

.legal-cross-links { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px solid var(--border); }
.legal-cross-links a { font-size: .85rem; font-weight: 600; color: var(--green-d); }

@media (max-width: 600px) {
  .legal-hero { padding: 100px 6% 30px; }
  .legal-section { padding: 0 6% 50px; }
  .legal-toc ol { grid-template-columns: 1fr; }
  .legal-toc, .legal-contact-box { padding: 1.2rem 1.3rem; }
}
