.analytics-consent[hidden] { display: none; }
.analytics-consent {
  position: fixed;
  z-index: 110;
  inset: auto 24px 24px auto;
  width: min(460px, calc(100vw - 48px));
  padding: 27px 28px 22px;
  color: var(--ink, #1b1b1a);
  background: var(--paper, #f7f6f2);
  border: 1px solid rgb(27 27 26 / 18%);
  box-shadow: 0 14px 60px rgb(27 27 26 / 12%);
  animation: consent-arrive .5s cubic-bezier(.22, 1, .36, 1) both;
}
.analytics-consent .eyebrow { margin: 0 0 13px; font-size: 9px; }
.analytics-consent h2 { margin: 0 0 12px; font: 400 25px/1.16 var(--font-display); letter-spacing: -.025em; }
.analytics-consent__copy > p:not(.eyebrow) { max-width: none; margin: 0; font: 400 12px/1.6 var(--font-body); color: rgb(27 27 26 / 70%); }
.analytics-consent__copy .analytics-consent__state { margin-top: 12px; font-size: 11px; }
.analytics-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.analytics-consent__actions button {
  flex: 1 1 130px;
  padding: 12px 10px;
  border: 1px solid rgb(27 27 26 / 38%);
  border-radius: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: 400 11px/1.3 var(--font-body);
  letter-spacing: .025em;
  transition: background .2s, color .2s;
}
.analytics-consent__actions button:hover { background: var(--ink, #1b1b1a); color: var(--paper, #f7f6f2); }
.analytics-consent__actions button:disabled { cursor: default; opacity: .5; }
.analytics-consent__actions [data-analytics-close] { flex-basis: 100%; padding: 4px; border: 0; text-decoration: underline; text-underline-offset: 4px; }
.analytics-consent__actions [hidden] { display: none; }
.analytics-preferences { display: block; margin: 20px 0 0; padding: 4px 0; color: inherit; background: transparent; border: 0; cursor: pointer; font: 400 11px/1.4 var(--font-body); text-decoration: underline; text-underline-offset: 4px; opacity: .75; }
.analytics-preferences:hover { opacity: 1; }
.analytics-consent button:focus-visible, .analytics-preferences:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@keyframes consent-arrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) { .analytics-consent { inset: auto 14px 14px; width: auto; padding: 23px 22px 20px; } .analytics-consent h2 { font-size: 23px; } }
@media (prefers-reduced-motion: reduce) { .analytics-consent { animation: none; } .analytics-consent button { transition: none; } }
