/* Cookie consent bar (full-width, bottom). Shared by every page via js/consent.js.
   Colours are literal so pages without css/main.css (case studies, privacy) match. */
.cookie-bar {
  position: fixed; z-index: 80; left: 0; right: 0; bottom: 0;
  background: rgba(16,18,22,0.92);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-top: 1px solid rgba(243,243,240,0.3);
  padding: clamp(18px,2.6vh,26px) clamp(22px,4vw,56px);
  font-family: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  transform: translateY(102%);
  transition: transform .6s cubic-bezier(.16,.84,.34,1);
}
.cookie-bar[hidden] { display: none; }
.cookie-bar.show { transform: none; }
.cookie-bar .ck-inner {
  max-width: 1500px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  gap: 18px 36px; flex-wrap: wrap;
}
.cookie-bar .ck-eyebrow {
  display: block; font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 10.5px; letter-spacing: 0.16em;
  text-transform: uppercase; color: #5be27a; margin-bottom: 7px;
}
.cookie-bar p { margin: 0; font-size: clamp(13.5px,1.1vw,15.5px); line-height: 1.55; color: #84878d; max-width: 64ch; }
.cookie-bar a { color: #f3f3f0; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(243,243,240,0.3); }
.cookie-bar a:hover { text-decoration-color: #5be27a; }
.cookie-bar .ck-actions { display: flex; gap: 12px; flex: none; }
.cookie-bar .ck-btn {
  cursor: pointer; font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 12.5px; letter-spacing: 0.02em;
  padding: 12px 26px; border-radius: 100px; transition: transform .3s ease, opacity .3s ease, border-color .3s ease;
}
.cookie-bar .ck-btn:hover { transform: translateY(-1px); }
.cookie-bar .ck-accept { background: #f3f3f0; color: #08090b; border: 1px solid #f3f3f0; }
.cookie-bar .ck-decline { background: none; color: #f3f3f0; border: 1px solid rgba(243,243,240,0.3); }
.cookie-bar .ck-decline:hover { border-color: #f3f3f0; }

@media (max-width: 480px) {
  .cookie-bar { padding: 14px 18px 16px; }
  .cookie-bar .ck-inner { gap: 10px 18px; }
  .cookie-bar p { font-size: 12.5px; line-height: 1.5; }
  .cookie-bar .ck-eyebrow { margin-bottom: 4px; }
  .cookie-bar .ck-actions { flex-wrap: wrap; gap: 10px; max-width: 100%; }
  .cookie-bar .ck-btn { padding: 10px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .cookie-bar { transition: none; }
}
