/* Cortessian first-party analytics consent */
.consent-panel[hidden] { display:none !important; }
.consent-panel {
  position:fixed;
  z-index:10000;
  left:24px;
  right:24px;
  bottom:24px;
  border:1px solid rgba(46,74,63,.28);
  border-radius:4px;
  background:#FAFFF2;
  color:#111814;
  box-shadow:0 12px 36px rgba(17,24,20,.12);
}
.consent-panel__inner {
  max-width:1240px;
  margin:0 auto;
  padding:24px 28px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:40px;
  align-items:end;
}
.consent-panel__copy { max-width:760px; }
.consent-panel__eyebrow {
  margin-bottom:8px;
  font:500 .72rem/1.2 "IBM Plex Mono",monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#2E4A3F;
}
.consent-panel h2 {
  margin:0 0 8px;
  color:#111814;
  font:500 clamp(1.55rem,2vw,2rem)/1.05 "Newsreader",serif;
  letter-spacing:-.02em;
}
.consent-panel p {
  margin:0;
  color:#536159;
  font:400 .96rem/1.55 "DM Sans",sans-serif;
}
.consent-panel a { color:#2E4A3F; text-decoration:underline; text-underline-offset:3px; }
.consent-panel__actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.consent-btn {
  min-height:44px;
  padding:10px 16px;
  border:1px solid #2E4A3F;
  border-radius:4px;
  cursor:pointer;
  font:600 .88rem/1.2 "DM Sans",sans-serif;
}
.consent-btn--primary { background:#2E4A3F; color:#fff; }
.consent-btn--primary:hover { background:#1f352d; border-color:#1f352d; }
.consent-btn--secondary { background:transparent; color:#111814; }
.consent-btn--secondary:hover { background:rgba(46,74,63,.07); }
.consent-btn:focus-visible,
.cookie-settings-link:focus-visible { outline:3px solid #8CA695; outline-offset:3px; }
.cookie-settings-link {
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  font:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}
@media (max-width:760px) {
  .consent-panel { left:12px; right:12px; bottom:12px; }
  .consent-panel__inner { grid-template-columns:1fr; gap:20px; padding:22px; }
  .consent-panel__actions { justify-content:flex-start; }
}
@media (max-width:440px) {
  .consent-panel__actions { display:grid; grid-template-columns:1fr; }
  .consent-btn { width:100%; }
}
