/* ---------- LEGAL PAGE ---------- */
main.legal{ padding:72px 0 100px; }
.legal{ max-width:820px; }
.legal h1{ font-size:clamp(2rem,4vw,3rem); margin:14px 0 10px; }
.legal-updated{ font-family:var(--font-mono); font-size:0.76rem; color:var(--text-faint); letter-spacing:0.04em; }
.legal-note{
  margin:26px 0 30px; padding:14px 18px;
  background:var(--lime); color:var(--lime-text);
  border-radius:var(--radius-md);
  font-family:var(--font-mono); font-size:0.76rem; line-height:1.6;
}
.legal-intro{ font-size:1.05rem; color:var(--text-soft); margin-bottom:34px; }
.legal-toc{
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-md); padding:22px 26px; margin-bottom:48px;
}
.legal-toc ol{ margin:0; padding-left:20px; }
.legal-toc li{ margin:5px 0; font-size:0.92rem; }
.legal-toc a{ color:var(--text); text-decoration:none; }
.legal-toc a:hover{ text-decoration:underline; }
.legal section{ padding:0; margin:0 0 40px; scroll-margin-top:100px; }
.legal h2{ font-size:1.35rem; margin:0 0 14px; }
.legal h3{ font-size:1.02rem; margin:22px 0 10px; color:var(--text); }
.legal p{ margin:0 0 14px; color:var(--text-soft); }
.legal ul{ margin:0 0 14px; padding-left:22px; color:var(--text-soft); }
.legal ul ul{ margin:8px 0; }
.legal li{ margin:7px 0; }
.legal strong{ color:var(--text); font-weight:700; }
.legal a{ color:var(--text); text-decoration:underline; }
.legal-dl{ margin:0 0 16px; }
.legal-dl dt{ font-weight:700; color:var(--text); margin-top:12px; font-size:0.95rem; }
.legal-dl dd{ margin:2px 0 0; color:var(--text-soft); }
@media (max-width:860px){
  .navlinks.open{ display:flex; position:absolute; top:82px; left:0; right:0; flex-direction:column; gap:16px; background:var(--bg); padding:20px 32px; border-bottom:1px solid var(--border); }
}
