.legal-hero{padding-bottom:0}
.legal-hero h1{font-size:clamp(30px,4.4vw,46px);margin:16px 0 8px;letter-spacing:-.02em;max-width:22ch}
.legal-updated{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-faint);letter-spacing:.04em}
.legal-wrap{display:grid;grid-template-columns:220px 1fr;gap:clamp(32px,5vw,64px);align-items:start;min-width:0}
.legal-wrap>*{min-width:0}
.legal-toc{position:sticky;top:100px;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--line);padding-left:16px}
.legal-toc-h{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}
.legal-toc a{font-size:13.5px;color:var(--ink-soft);padding:6px 0;transition:.2s}
.legal-toc a:hover{color:var(--teal)}
.legal-content{max-width:74ch;color:var(--ink-soft);font-size:15.5px}
.legal-content>p{margin-bottom:16px}
.legal-content h2{font-size:clamp(19px,2.2vw,24px);color:var(--ink);letter-spacing:-.01em;margin:38px 0 14px;scroll-margin-top:100px}
.legal-content h2:first-of-type{margin-top:30px}
.legal-content h3{font-size:16.5px;color:var(--ink);margin:22px 0 10px;scroll-margin-top:100px}
.legal-list{margin:0 0 16px;padding-left:22px}
.legal-list li{margin:8px 0}
.legal-table{width:100%;border-collapse:collapse;margin:8px 0 24px;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:14px}
.legal-table th,.legal-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.legal-table tr:last-child th,.legal-table tr:last-child td{border-bottom:none}
.legal-table th{width:200px;font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);font-weight:500;background:var(--paper-2)}
.legal-table td{color:var(--ink)}
.legal-note{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-top:28px;font-size:14px}
.legal-content a{color:var(--signal);text-decoration:underline;text-underline-offset:2px}
.cookie-table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:13.5px}
.cookie-table th,.cookie-table td{padding:10px 14px;text-align:left;border:1px solid var(--line)}
.cookie-table th{background:var(--paper-2);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}
@media(max-width:900px){
  .legal-wrap{grid-template-columns:1fr}
  .legal-toc{position:static;border-left:none;border-bottom:1px solid var(--line);padding-left:0;padding-bottom:16px;flex-direction:row;flex-wrap:wrap;gap:6px 18px}
}

/* map consent gate */
.map-gate{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:var(--paper-2);text-align:center;padding:20px}
.map-gate p{font-size:13px;color:var(--ink-soft);max-width:34ch}
.map-gate button{font-family:inherit;font-size:13.5px;font-weight:600;padding:11px 20px;border-radius:999px;cursor:pointer;border:1px solid var(--teal);background:var(--teal);color:#fff}
