/* Legal pages (privacy policy, terms, disclaimer): long text set for reading. Colours come from
   the theme's variables only, so the light theme needs no twin of this file. */
.legal-intro h1{font-size:clamp(30px,5vw,52px);letter-spacing:-1px}
.legal-updated{font-size:12.5px;color:var(--muted);margin-top:10px}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start;margin-bottom:40px}
.legal-toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto}
.legal-toc ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:2px}
.legal-toc a{display:block;padding:6px 8px;border-radius:8px;font-size:12.5px;line-height:1.45;color:var(--p-text)}
.legal-toc a:hover,.legal-toc a:focus-visible{background:var(--p-green-bg);color:var(--heading)}
.legal-body{max-width:780px;min-width:0}
.legal-body p,.legal-body li{font-size:14.5px;line-height:1.85;overflow-wrap:anywhere}
.legal-body h2{font-size:22px;margin:34px 0 10px;scroll-margin-top:96px}
.legal-body h3{font:700 16px/1.35 Arial,sans-serif;color:var(--heading);margin:22px 0 8px;scroll-margin-top:96px}
.legal-body a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:2px}
.legal-lead{font-size:16px!important;color:var(--heading)!important}
.legal-closing{margin-top:30px;padding-top:18px;border-top:1px solid var(--p-border);font-weight:600}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr}.legal-toc{position:static;max-height:none}}
@media print{.site-header,.site-footer,.legal-toc,.cta-band{display:none!important}.legal-layout{display:block}}
