/* Legal pages (/privacy, /terms) and the 404 page. Token values only.
   The h1 size reuses the index h2 scale. No colour, font or spacing value is new.
   The document body is generated by scripts/legal-from-docx.py: h2 per numbered
   section, p.clause per numbered clause, ol.lettered per (a) (b) (c) run, p.cont for
   unnumbered paragraphs, and a table for the California category table. */
.legal{padding:calc(86px + var(--s9)) 0 var(--s10);min-height:70vh}
.legal h1{font-size:clamp(2.1rem,4.4vw,3.6rem);margin-top:var(--s5)}
.legal-status{margin-top:var(--s5);font-size:17px;color:var(--muted);max-width:60ch}
.legal-meta{margin-top:var(--s4);font-size:14px;color:var(--dim)}

/* Document */
.legal-doc{max-width:76ch}
.legal-doc strong{font-weight:600}
.legal-doc a{color:var(--cyan);text-decoration:underline;text-underline-offset:.15em;overflow-wrap:anywhere}
.legal-doc a:hover{color:var(--cyan-pale)}
.legal-doc a:focus-visible{outline:2px solid var(--cyan-pale);outline-offset:3px;border-radius:2px}
.doc-sub{margin-top:var(--s4);font-size:clamp(1.3rem,2.1vw,1.75rem);font-weight:600;letter-spacing:-.02em;line-height:1.2}
.doc-intro{margin-top:var(--s5);color:var(--muted)}
.doc-meta{margin-top:var(--s2);font-size:15px;color:var(--dim)}
.doc-meta + .doc-meta{margin-top:0}
.legal-doc h2{font-size:clamp(1.35rem,2.1vw,1.75rem);letter-spacing:-.02em;line-height:1.2;margin-top:var(--s8);
  padding-top:var(--s5);border-top:1px solid var(--surface-2);scroll-margin-top:var(--s5)}
.legal-doc h2 .num{color:var(--cyan-deep);margin-right:.35em}
.clause{display:grid;grid-template-columns:3.6em 1fr;margin-top:var(--s5);scroll-margin-top:var(--s5)}
.clause>span:last-child,.lettered li>span:last-child{min-width:0}
.clause .num,.lettered .num{color:var(--dim);font-variant-numeric:tabular-nums}
.cont{margin-top:var(--s4);margin-left:3.6em}
.lettered{list-style:none;margin:var(--s3) 0 0 3.6em;padding:0}
.lettered li{display:grid;grid-template-columns:2.6em 1fr;margin-top:var(--s3);scroll-margin-top:var(--s5)}
.table-wrap{margin:var(--s5) 0 0 3.6em;overflow-x:auto;-webkit-overflow-scrolling:touch}
.legal-doc table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px;line-height:1.5}
.legal-doc th,.legal-doc td{text-align:left;vertical-align:top;padding:var(--s3) var(--s4) var(--s3) 0;border-bottom:1px solid var(--surface-2)}
.legal-doc th{color:var(--cyan-deep);font-size:13px;letter-spacing:.02em}
.legal-doc th strong{font-weight:600}
@media (max-width:640px){
  .clause{grid-template-columns:3em 1fr}
  .cont,.lettered,.table-wrap{margin-left:0}
  .lettered li{grid-template-columns:2.4em 1fr}
}
