/* Legal pages — a reading layout with a sticky index. Inherits shared/site.css. */

.legal{
  display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(32px,6vw,120px);
  padding:152px var(--gutter) var(--section);
}
.legal-side{position:sticky;top:110px;align-self:start}
.legal-side .side-label{font-family:var(--display);font-size:var(--fs-title);margin-bottom:14px}
.legal-docs{list-style:none;border-top:1px solid var(--ink);margin-bottom:40px}
.legal-docs a{display:block;padding:12px 0;border-bottom:1px solid var(--rule);text-decoration:none;font-size:1.0625rem}
.legal-docs a[aria-current]{font-weight:700}
.legal-docs a:hover{color:var(--ink-2)}
.toc{list-style:none;counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:grid;grid-template-columns:28px 1fr;padding:6px 0;font-size:.875rem;color:var(--ink-2);text-decoration:none}
.toc a::before{content:counter(t);color:var(--ink-3);font-variant-numeric:tabular-nums}
.toc a:hover{color:var(--ink)}

.legal-doc{max-width:70ch}
.legal-doc h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(2.6rem,5.4vw,5.25rem);line-height:1.12;letter-spacing:-.004em;text-wrap:balance;
}
.legal-meta{display:flex;flex-wrap:wrap;gap:6px 28px;margin:24px 0 40px;padding-top:18px;border-top:1px solid var(--ink);font-size:.875rem;color:var(--ink-3)}
.draft-note{padding:16px 0 16px 0;margin-bottom:40px;border-bottom:1px solid var(--rule);font-size:.875rem;color:var(--ink-2)}
.legal-doc .summary{font-family:var(--display);font-size:var(--fs-title);line-height:1.6;margin-bottom:48px}
.legal-doc section{padding-top:36px;scroll-margin-top:96px}
.legal-doc h2{font-size:clamp(2.25rem,4.2vw,4rem);margin-bottom:18px}
.legal-doc h3{font-size:var(--fs-title);font-weight:600;margin:28px 0 10px}
.legal-doc p,.legal-doc li{color:var(--ink)}
.legal-doc p{margin-bottom:1em}
.legal-doc ul,.legal-doc ol.plain{padding-left:1.2em;margin-bottom:1.2em}
.legal-doc li{margin-bottom:.5em}
.legal-doc a{text-underline-offset:4px}
.legal-doc table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:.875rem}
.legal-doc th{text-align:left;font-weight:500;color:var(--ink-3);padding:10px 12px 10px 0;border-bottom:1px solid var(--ink)}
.legal-doc td{padding:12px 12px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.legal-doc code{font-size:.875rem}
.todo{background:var(--plaster-lo);color:var(--ink);padding:0 4px;border-radius:2px}
.contact-card{margin-top:12px;border-top:1px solid var(--ink)}
.contact-card div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--rule)}
.contact-card dt{font-size:.875rem;color:var(--ink-3)}

@media (max-width:820px){
  .legal{grid-template-columns:1fr;padding-top:112px}
  .legal-side{position:static}
  .toc{display:none}
  .legal-doc table,.legal-doc tbody,.legal-doc tr,.legal-doc td{display:block}
  .legal-doc thead{display:none}
  .legal-doc tr{border-bottom:1px solid var(--rule);padding:10px 0}
  .legal-doc td{border:0;padding:2px 0}
  .legal-doc td + td{color:var(--ink-3)}
  .contact-card div{grid-template-columns:1fr;gap:2px}
}
