/* Privacy + cookie policy pages: builds on site.css */
.legal-page .nav{color:var(--ink);background:rgba(251,246,238,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.legal{padding:calc(130px + env(safe-area-inset-top)) 0 var(--sec)}
.legal__grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;align-items:start}
.legal__grid>*{min-width:0}
.legal__toc{position:sticky;top:110px;display:flex;flex-direction:column;gap:4px;font-size:15px}
.legal__toc b{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px}
.legal__toc a{text-decoration:none;color:var(--text-secondary);padding:6px 0;border-left:2px solid var(--line);padding-left:14px;transition:color .2s,border-color .2s}
.legal__toc a:hover{color:var(--ink);border-color:var(--accent)}
.legal__body{max-width:72ch}
.legal__body h1{font:800 clamp(42px,6vw,72px)/1 var(--display);letter-spacing:-.035em;margin-bottom:14px}
.legal__meta{font:500 13px var(--mono);color:var(--text-secondary);margin-bottom:32px}
.legal__lead{font-size:clamp(18px,1.6vw,21px);color:var(--ink);margin-bottom:12px}
.legal__body h2{font:800 clamp(24px,2.6vw,30px)/1.15 var(--display);letter-spacing:-.02em;margin:48px 0 14px;scroll-margin-top:100px}
.legal__body h3{font:700 19px/1.3 var(--body);margin:24px 0 8px}
.legal__body p,.legal__body li{color:#3b302a}
.legal__body p+p{margin-top:12px}
.legal__body ul{padding-left:20px;margin:10px 0;display:flex;flex-direction:column;gap:6px}
.legal__body a{color:var(--accent)}
.legal__table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px;background:var(--panel);border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.legal__table th,.legal__table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.legal__table th{font:600 13px var(--body);background:var(--canvas-2)}
.legal__table tr:last-child td{border-bottom:0}
.legal__box{margin:20px 0;padding:20px 22px;border-radius:18px;background:var(--panel);box-shadow:0 0 0 1px var(--line)}
@media (max-width:900px){
  .legal__grid{grid-template-columns:1fr;gap:28px}
  .legal__toc{position:static;flex-direction:row;flex-wrap:wrap;gap:6px}
  .legal__toc b{width:100%}
  .legal__toc a{border:1px solid var(--line);border-radius:99px;padding:6px 12px}
  .legal__table{display:block;overflow-x:auto}
}
