/* =========================================================
   legal.css — dedicated styles for Privacy Policy, Terms of
   Service, and the HTML sitemap. Loaded in addition to
   styles.css only on those pages.
   ========================================================= */

.legal{max-width:820px;margin-inline:auto;padding:clamp(1.5rem,4vw,2.5rem) 0 clamp(3rem,6vw,4.5rem)}
.legal .legal-meta{font-family:var(--f-mono);font-size:.78rem;color:var(--muted);margin:0 0 1.4rem}
.legal .legal-meta b{color:var(--ink);font-weight:600}

/* template / not-legal-advice notice */
.legal-notice{background:var(--amber-tint);border:1px solid color-mix(in srgb,var(--amber) 40%,var(--line));border-radius:var(--radius);padding:1rem 1.2rem;margin:0 0 2rem;font-size:.9rem;color:var(--ink-soft)}
.legal-notice .note-h{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--amber);display:block;margin-bottom:.35rem}

/* table-of-contents for long legal docs */
.legal-toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.3rem;margin:0 0 2.2rem;box-shadow:var(--shadow)}
.legal-toc h2{font-size:.95rem;margin:0 0 .7rem}
.legal-toc ol{margin:0;padding-left:1.2rem;columns:2;column-gap:2rem;font-size:.9rem}
@media(max-width:600px){.legal-toc ol{columns:1}}
.legal-toc li{margin-bottom:.4rem}
.legal-toc a{color:var(--ink-soft);text-decoration:none}
.legal-toc a:hover{color:var(--green-dk)}

/* body copy */
.legal-body{font-size:1.02rem;line-height:1.7;color:var(--ink)}
.legal-body h2{font-size:clamp(1.3rem,2.4vw,1.6rem);margin:2.2em 0 .5em;scroll-margin-top:24px;padding-top:.3em;border-top:1px solid var(--line)}
.legal-body h2:first-of-type{border-top:0;padding-top:0}
.legal-body h3{font-size:1.12rem;margin:1.6em 0 .4em}
.legal-body p{margin:0 0 1em;color:var(--ink-soft)}
.legal-body ul,.legal-body ol{margin:0 0 1.2em;padding-left:1.3em;color:var(--ink-soft)}
.legal-body li{margin-bottom:.5em}
.legal-body li::marker{color:var(--green-br)}
.legal-body strong{color:var(--ink)}
.legal-body a{color:var(--green-dk)}
.legal-body .ph{background:var(--green-tint);border-bottom:1px dashed var(--green-br);padding:0 .2em;border-radius:3px;font-family:var(--f-mono);font-size:.9em}
.legal-back{display:inline-block;margin-top:2.5rem;font-family:var(--f-mono);font-size:.85rem;text-decoration:none;color:var(--green-dk)}

/* HTML sitemap */
.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem;margin-top:1.5rem}
.sitemap-col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem;box-shadow:var(--shadow)}
.sitemap-col h2{font-size:1.05rem;margin:0 0 .8rem}
.sitemap-col ul{list-style:none;margin:0;padding:0}
.sitemap-col li{margin-bottom:.55rem}
.sitemap-col a{text-decoration:none;color:var(--ink-soft);display:inline-flex;gap:.4rem;font-size:.95rem}
.sitemap-col a:hover{color:var(--green-dk)}
.sitemap-col a::before{content:"›";color:var(--green-br);font-weight:700}
