/* ---------- legal pages (privacy / cookie policy) ---------- */
.legal-page{ background:#fff; color:var(--ink); padding:170px 9.5vw 120px; }
.legal-wrap{ max-width:760px; margin:0 auto; }
.legal-page h1{ font-size:clamp(36px,5.5vw,64px); line-height:.95; letter-spacing:-.03em; margin:14px 0 8px; }
.legal-updated{ font:11px 'DM Mono',monospace; color:rgba(5,5,5,.5); text-transform:uppercase; letter-spacing:.04em; margin-bottom:50px; }
.legal-page h2{ font-size:22px; letter-spacing:-.01em; margin:44px 0 14px; }
.legal-page p{ font-size:15px; line-height:1.65; margin:0 0 16px; max-width:65ch; }
.legal-page ul{ margin:0 0 16px; padding-left:20px; }
.legal-page li{ font-size:15px; line-height:1.65; margin-bottom:6px; }
.legal-page a{ color:var(--blue); text-decoration:underline; text-underline-offset:2px; }
.legal-note{ margin-top:48px; padding-top:24px; border-top:1px solid rgba(5,5,5,.15); font-size:13px; color:rgba(5,5,5,.6); }
@media(max-width:700px){ .legal-page{ padding:130px 6vw 80px; } }

.legal-footer-page{ background:var(--ink); color:var(--paper); padding:28px 9.5vw; }
.wrap-footer{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font:11px 'DM Mono',monospace; }
.legal-footer-page .legal-footer{ margin-top:0; opacity:.85; }
.legal-footer-page .legal-footer a{ color:var(--paper); }

/* ---------- cookie banner ---------- */
.cookie-banner{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:999;
  max-width:640px; margin:0 auto;
  background:var(--ink); color:var(--paper);
  padding:20px 22px; border-radius:6px;
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  font:13px/1.55 'DM Mono',monospace;
  box-shadow:0 20px 48px rgba(0,0,0,.3);
  transform:translateY(160%); transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.cookie-banner.show{ transform:translateY(0); }
.cookie-banner p{ margin:0; flex:1 1 280px; }
.cookie-banner a{ color:var(--yellow); text-decoration:underline; text-underline-offset:2px; }
.cookie-accept{
  font:700 12px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.05em;
  background:var(--yellow); color:#1a1200; border:none; border-radius:999px;
  padding:11px 20px; cursor:pointer; white-space:nowrap; transition:transform .15s ease;
}
.cookie-accept:hover{ transform:translateY(-2px); }
@media(max-width:700px){
  .cookie-banner{ left:10px; right:10px; bottom:10px; padding:16px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce){ .cookie-banner{ transition:none; } }
