.analytics-banner, .analytics-preferences {
  color:#19231e; background:#f7f7f3; border:1px solid #68736c;
  padding:clamp(1rem,3vw,1.75rem); font:1rem/1.55 Arial,sans-serif;
}
.analytics-banner { max-width:76rem; margin:1rem auto; }
.analytics-banner[hidden] { display:none; }
.analytics-banner h2, .analytics-preferences h2 { margin:0 0 .6rem; font-size:1.35rem; }
.analytics-banner p, .analytics-preferences p { max-width:70ch; margin:.6rem 0; }
.analytics-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem; }
.analytics-actions button, .analytics-close {
  color:#19231e; background:#fff; border:2px solid #19231e;
  font:inherit; padding:.65rem 1rem; min-height:44px; cursor:pointer;
}
.analytics-actions button { flex:0 1 13rem; }
.analytics-settings { margin-left:.75rem; color:inherit; background:transparent; border:0; padding:.5rem 0; min-height:44px; font:inherit; text-decoration:underline; cursor:pointer; }
.analytics-preferences { width:min(40rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto; box-sizing:border-box; }
.analytics-preferences::backdrop { background:rgba(0,0,0,.6); }
.analytics-close { display:block; margin:0 0 1rem auto; }
.analytics-banner :focus-visible, .analytics-preferences :focus-visible, .analytics-settings:focus-visible {
  outline:3px solid #885500; outline-offset:4px;
}
.analytics-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:600px) {
  .analytics-banner { margin:.75rem; }
  .analytics-settings { display:block; margin-left:0; }
  .analytics-actions button { flex:1 1 100%; }
}
