/* Cookie banner. Self-contained: used by every page. */
.cc { --cc-bg:#fff; --cc-ink:#1c1c1e; --cc-muted:#6b6b70; --cc-line:#e6e3dd; --cc-accent:#ff6b2c; --cc-link:#b93a0a;
  position:fixed; left:16px; right:16px; bottom:16px; max-width:560px; margin-inline:auto; z-index:200;
  background:var(--cc-bg); color:var(--cc-ink); border:1px solid var(--cc-line); border-radius:24px; padding:20px 22px;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.4); transform:translateY(140%); transition:transform .5s cubic-bezier(.2,.8,.2,1);
  font:400 .93rem/1.5 "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
@media (prefers-color-scheme: dark) { .cc { --cc-bg:#1e1e21; --cc-ink:#f2f0ec; --cc-muted:#9c9ca2; --cc-line:#2f2f33; --cc-link:#ff8a57; } }
.cc.show { transform:none; }
.cc h2 { font:700 1.1rem/1.2 "Bricolage Grotesque", system-ui, sans-serif; margin:0 0 6px; letter-spacing:-.01em; }
.cc p { margin:0; color:var(--cc-muted); }
.cc a { color:var(--cc-link); }
.cc .row { display:flex; gap:10px; margin-top:16px; flex-wrap:wrap; }
.cc-btn { flex:1; min-width:120px; min-height:44px; border-radius:22px; font:700 1rem/1 inherit; font-family:inherit; cursor:pointer;
  background:var(--cc-accent); color:#1c1c1e; border:1.5px solid var(--cc-accent); }
.cc-btn.ghost { background:transparent; color:var(--cc-ink); border-color:var(--cc-line); }
.cc-btn:focus-visible { outline:3px solid var(--cc-accent); outline-offset:2px; }
@media (prefers-reduced-motion: reduce) { .cc { transition-duration:.001ms; } }
