/* Optional analytics uses the existing site palette and control typography. */
.analytics-settings{
  appearance:none;display:block;min-height:44px;padding:0;border:0;
  background:transparent;color:var(--on-dark-2);font:inherit;text-align:left;
  text-decoration:underline;text-underline-offset:.2em;cursor:pointer;
}
.analytics-settings:hover{color:var(--on-dark)}
.analytics-settings[hidden],.analytics-consent[hidden],.analytics-consent__close[hidden]{display:none}
.analytics-consent{
  position:fixed;inset:auto 0 0;z-index:80;max-height:85vh;max-height:85dvh;
  overflow-y:auto;padding-block:20px;border-top:2px solid var(--ink);
  background:var(--band);color:var(--text);font-family:var(--font-body);
  font-size:15px;line-height:1.5;
}
.analytics-consent__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.analytics-consent__copy{max-width:64ch}
.analytics-consent__copy h2{margin:0 0 6px;font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.015em}
.analytics-consent__copy p{margin:0}
.analytics-consent__copy a{color:var(--ink)}
.analytics-consent__state{color:var(--text-2);font-size:14px}
.analytics-consent__state:not(:empty){margin-top:8px}
.analytics-consent__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;flex-shrink:0;max-width:360px}
.analytics-consent__choice{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:10px 18px;border:2px solid var(--ink);border-radius:999px;
  background:var(--surface);color:var(--ink);font:600 15px/1.2 var(--font-body);
  cursor:pointer;
}
.analytics-consent__choice:hover{background:var(--ink);color:var(--on-dark)}
.analytics-consent__close{
  appearance:none;min-height:44px;padding:8px 0;border:0;background:transparent;
  color:var(--ink);font:600 15px/1.2 var(--font-body);text-decoration:underline;
  text-underline-offset:.2em;cursor:pointer;
}
.analytics-consent :focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media(max-width:860px){
  .analytics-consent__inner{align-items:flex-start;flex-direction:column;gap:16px}
  .analytics-consent__actions{justify-content:flex-start;max-width:none}
}
@media(max-width:560px){
  .analytics-consent__actions{width:100%}
  .analytics-consent__choice{flex:1;padding-inline:12px}
  .analytics-consent__close{flex-basis:100%;text-align:left}
}
@media print{
  .analytics-consent,.analytics-settings{display:none}
}
