.analytics-consent[hidden],
.analytics-consent-close[hidden]{
  display:none!important;
}

.analytics-consent{
  position:fixed;
  right:20px;
  bottom:20px;
  left:20px;
  z-index:2000;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  width:min(940px,calc(100% - 40px));
  max-height:calc(100dvh - 40px);
  margin:0 auto;
  padding:24px;
  overflow:auto;
  border:1px solid var(--line,#DCE3EC);
  border-radius:16px;
  background:var(--paper,#FFFFFF);
  box-shadow:0 24px 70px rgba(15,23,42,.24);
  color:var(--ink,#0F172A);
  font-family:Inter,Arial,sans-serif;
}

.analytics-consent-copy{
  min-width:0;
}

.analytics-consent-eyebrow{
  display:block;
  color:var(--brand,#3B4FDE);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.analytics-consent h2{
  margin:7px 0 8px;
  color:var(--ink,#0F172A);
  font-family:Syne,Inter,Arial,sans-serif;
  font-size:1.15rem;
  line-height:1.15;
  letter-spacing:-.025em;
}

.analytics-consent p{
  max-width:670px;
  margin:0;
  color:var(--muted,#53657A);
  font-size:.76rem;
  line-height:1.65;
}

.analytics-consent .analytics-consent-state{
  margin-top:7px;
  color:var(--ink-2,#26364B);
  font-size:.68rem;
  font-weight:700;
}

.analytics-consent a{
  display:inline-block;
  margin-top:9px;
  color:var(--brand,#3B4FDE);
  font-size:.68rem;
  font-weight:800;
}

.analytics-consent-controls{
  display:flex;
  min-width:310px;
  flex-direction:column;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
}

.analytics-consent-actions{
  display:grid;
  width:100%;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.analytics-consent-button{
  min-height:44px;
  padding:.65rem .9rem;
  border:1px solid var(--brand,#3B4FDE);
  border-radius:9px;
  font-size:.72rem;
  font-weight:800;
  line-height:1.2;
}

.analytics-consent-decline{
  background:transparent;
  color:var(--brand,#3B4FDE);
}

.analytics-consent-accept{
  background:var(--brand,#3B4FDE);
  color:#FFFFFF;
}

.analytics-consent-close{
  padding:.25rem 0;
  color:var(--muted,#53657A);
  font-size:.66rem;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

.analytics-consent-button:hover,
.analytics-consent-close:hover,
.analytics-settings-link:hover{
  filter:brightness(.94);
}

.analytics-consent-button:focus-visible,
.analytics-consent-close:focus-visible,
.analytics-settings-link:focus-visible{
  outline:3px solid #00856A;
  outline-offset:3px;
}

.analytics-consent-status{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.analytics-settings-link{
  color:inherit;
  font-size:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}

.footer-legal-links{
  flex-wrap:wrap;
}

.analytics-settings-floating{
  position:fixed;
  right:12px;
  bottom:12px;
  z-index:1900;
  padding:.48rem .65rem;
  border:1px solid #CBD5E1;
  border-radius:8px;
  background:#FFFFFF;
  box-shadow:0 8px 24px rgba(15,23,42,.16);
  color:#334155;
  font-family:Inter,Arial,sans-serif;
  font-size:.65rem;
  font-weight:700;
}

@media(max-width:720px){
  .analytics-consent{
    right:10px;
    bottom:10px;
    left:10px;
    grid-template-columns:1fr;
    gap:18px;
    width:calc(100% - 20px);
    max-height:calc(100dvh - 20px);
    padding:20px;
    border-radius:13px;
  }

  .analytics-consent-controls{
    min-width:0;
    align-items:stretch;
    gap:14px;
  }

  .analytics-consent-close{
    align-self:flex-end;
  }

  .analytics-consent-actions{
    grid-template-columns:1fr;
  }
}

@media(prefers-reduced-motion:reduce){
  .analytics-consent *,
  .analytics-settings-link{
    scroll-behavior:auto!important;
    transition:none!important;
  }
}
