/* legal pages: contents on the left (desktop), one readable column */
.legal{padding-block:clamp(48px,7vw,100px)}
.legal-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(32px,6vw,96px);align-items:start}
.toc{position:sticky;top:100px;font-size:14px;line-height:1.45}
.toc summary{font:500 12px/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--terracotta);cursor:pointer;list-style:none;margin-bottom:14px}
.toc summary::-webkit-details-marker{display:none}
.toc ol{list-style:none;display:flex;flex-direction:column;gap:9px;max-height:calc(100svh - 180px);overflow:auto}
.toc a{color:var(--muted);text-decoration:none}
.toc a:hover{color:var(--plum);text-decoration:underline}
.doc{max-width:42rem;display:flex;flex-direction:column;gap:16px}
.doc h1{margin-top:6px}
.doc .meta{font-size:14px;color:var(--muted);margin-top:-4px;margin-bottom:10px}
.doc h2{margin-top:34px;scroll-margin-top:96px;font:400 clamp(25px,2.4vw,32px)/1.2 var(--display);color:var(--plum)}
.doc h3{margin-top:12px;font:500 13px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta)}
.doc ul{padding-left:1.2em;display:flex;flex-direction:column;gap:8px}
.doc p,.doc li{font-size:17px;line-height:1.7}
.doc em{font-style:italic}
.doc a{text-decoration-color:var(--terracotta);text-underline-offset:3px;overflow-wrap:anywhere}
.flag.inline{display:inline;padding:1px 6px;font-size:14px}
@media (max-width:860px){
  .legal-grid{grid-template-columns:1fr}
  .toc{position:static;background:var(--card);padding:16px 18px}
  .toc summary{margin-bottom:0}
  .toc details[open] summary{margin-bottom:12px}
  .toc ol{max-height:none}
}
.model{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 0;margin:4px 0 0;padding:clamp(20px,2.4vw,28px);background:var(--card)}
.model dt{font-size:16px}
.model dd{margin:0 0 12px;height:28px;border-bottom:1px solid var(--hair)}
