/* Consent UI only. Does not load or talk to analytics by itself. */
.ac-consent-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:2147483000;
  background:var(--ink,#0B0D10);color:#fff;
  padding:18px var(--pad,24px) 20px;
  box-shadow:0 -8px 32px rgba(0,0,0,.35);
  font-family:var(--text,"IBM Plex Sans","Helvetica Neue",Arial,sans-serif);
}
.ac-consent-banner .ac-consent-in{
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px 32px;
  align-items:center;
  max-width:1120px;
  margin:0 auto;
}
.ac-consent-banner p{
  margin:0;
  font-size:15px;
  line-height:1.5;
  color:rgba(255,255,255,.86);
  max-width:62ch;
}
.ac-consent-banner .ac-consent-title{
  display:block;
  font-family:var(--display,"Inter Tight","Helvetica Neue",Arial,sans-serif);
  font-weight:700;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 8px;
}
.ac-consent-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.ac-consent-actions button{
  appearance:none;
  font-family:var(--display,"Inter Tight","Helvetica Neue",Arial,sans-serif);
  font-weight:700;
  font-size:15px;
  letter-spacing:-.01em;
  line-height:1.2;
  padding:12px 18px;
  border-radius:0;
  border-width:2px;
  border-style:solid;
  cursor:pointer;
  min-width:8.5rem;
  text-align:center;
}
.ac-consent-actions button:focus-visible{
  outline:2px solid var(--cyan,#4DC7DB);
  outline-offset:3px;
}
/* Identical treatment and color: both solid white, ink text, same hover. */
.ac-consent-accept,
.ac-consent-reject{
  background:#fff;
  color:var(--ink,#0B0D10);
  border-color:#fff;
}
.ac-consent-accept:hover,
.ac-consent-reject:hover{
  filter:brightness(0.95);
}
button.ac-consent-open, .ac-consent-open{
  appearance:none;
  background:none;
  border:0;
  padding:0;
  margin:0;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
button.ac-consent-open:hover, .ac-consent-open:hover{opacity:1}
button.ac-consent-open:focus-visible, .ac-consent-open:focus-visible{
  outline:2px solid var(--cyan,#4DC7DB);
  outline-offset:3px;
}
.foot-bottom .ac-consent-open{
  font-family:var(--display);
  font-weight:600;
  font-size:11.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mute-d,#9AA0A9);
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
}
/* Reserve real banner height so footer prefs / focus stay reachable while open. */
html.ac-consent-space{
  scroll-padding-bottom:var(--ac-consent-banner-h,0px);
}
html.ac-consent-space body{
  padding-bottom:var(--ac-consent-banner-h,0px);
}
@media (max-width:700px){
  .ac-consent-banner .ac-consent-in{grid-template-columns:1fr;gap:16px}
  .ac-consent-actions{justify-content:stretch}
  .ac-consent-actions button{flex:1 1 0;min-width:0}
}
@media (max-width:600px){
  .foot-bottom .ac-consent-open{flex:1 1 100%;margin-top:4px}
}
