/* A compact, neutral glass surface shared by every cookie notice. */
body .privacy-notice:not([hidden]) {
  position: fixed !important;
  left: max(20px, env(safe-area-inset-left)) !important;
  bottom: max(20px, env(safe-area-inset-bottom)) !important;
  z-index: 2100 !important;
  width: min(460px, calc(100% - 40px)) !important;
  max-height: calc(100dvh - 40px) !important;
  overflow: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
  box-sizing: border-box !important;
  padding: 18px 20px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #ffffff1c, #ffffff05 55%, #ffffff0d), rgba(28, 35, 41, .68) !important;
  border: 1px solid #ffffff38 !important;
  border-top-color: #ffffff61 !important;
  border-radius: 4px !important;
  box-shadow: 0 8px 32px #07111d21, inset 0 1px 0 #ffffff1f, inset 0 -1px 0 #ffffff08 !important;
  -webkit-backdrop-filter: blur(28px) saturate(135%);
  backdrop-filter: blur(28px) saturate(135%);
  font-family: inherit;
  animation: privacy-glass-in .38s ease-out both;
}
body .privacy-notice[hidden] { display: none !important; }
body .page-preloader ~ .privacy-notice:not([hidden]) { display: none !important; }
body .privacy-notice h2 {
  color: #fff !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: -.015em !important;
  margin: 0 0 5px !important;
}
body .privacy-notice p {
  color: #fffffff0 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}
body .privacy-notice a {
  color: inherit !important;
  text-decoration: underline;
  text-decoration-color: #ffffff80;
  text-underline-offset: 3px;
}
body .privacy-notice button {
  appearance: none;
  font: inherit;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  white-space: nowrap;
  color: #fff !important;
  background: linear-gradient(160deg, #ffffff30, #ffffff0c) !important;
  border: 1px solid #ffffff40 !important;
  border-top-color: #ffffff70 !important;
  border-radius: 4px !important;
  padding: 12px 17px !important;
  min-height: 44px !important;
  box-shadow: inset 0 1px 1px #ffffff20, 0 2px 6px #0000000d;
  cursor: pointer;
  transition: background .2s ease, box-shadow .2s ease;
}
body .privacy-notice button:hover {
  background: linear-gradient(160deg, #ffffff45, #ffffff1c) !important;
  box-shadow: inset 0 1px 1px #ffffff38, 0 3px 10px #00000018;
}
body .privacy-notice button:active { background: #ffffff18 !important; }
body .privacy-notice :is(a, button):focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 4px;
}
@keyframes privacy-glass-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) {
  body .privacy-notice:not([hidden]) {
    left: max(12px, env(safe-area-inset-left)) !important;
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    padding: 16px !important;
    gap: 12px !important;
    border-radius: 4px !important;
  }
  body .privacy-notice button { padding-inline: 14px !important; }
}
@media (max-width: 350px) {
  body .privacy-notice:not([hidden]) { grid-template-columns: 1fr !important; gap: 12px !important; }
  body .privacy-notice button { justify-self: start; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body .privacy-notice:not([hidden]) { background: #343d45 !important; }
}
@media (prefers-reduced-transparency: reduce) {
  body .privacy-notice:not([hidden]) { background: #343d45 !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  body .privacy-notice:not([hidden]) { animation: none; }
  body .privacy-notice button { transition: none; }
}
@media (forced-colors: active) {
  body .privacy-notice:not([hidden]) { background: Canvas !important; color: CanvasText !important; border-color: CanvasText !important; }
  body .privacy-notice :is(h2, p, a, button) { color: CanvasText !important; }
  body .privacy-notice button { border-color: ButtonText !important; }
}
@media print { body .privacy-notice:not([hidden]) { display: none !important; } }

.privacy-text-button{font:inherit;color:inherit;background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 3px;text-align:left;cursor:pointer}
.footer .footer-bottom{flex-wrap:wrap;gap:18px 28px;align-items:baseline}
.legal-document .editorial-hero h1{max-width:1150px;font-size:clamp(38px,5.5vw,76px);overflow-wrap:break-word}
.legal-document .legal-layout{padding-top:0}
.legal-layout h3{font-size:22px;letter-spacing:-.025em;margin:28px 0 14px;line-height:1.35}
.legal-layout code{font-family:inherit;overflow-wrap:anywhere}
.legal-layout [id]{scroll-margin-top:120px}
@media(max-width:600px){.legal-document .editorial-hero h1{font-size:clamp(34px,9vw,48px)}}
@media print{.privacy-notice,.legal-document .header,.legal-document .footer,.legal-document dialog{display:none!important}.legal-document{padding:0!important}.legal-document .section{padding-block:12px}.legal-document .legal-layout h2{break-after:avoid}.legal-document .legal-layout p{font-size:11pt}}

/* Dismissal is separate from agreement. */
body .privacy-notice button.privacy-close{position:absolute;top:2px;right:2px;display:grid;place-items:center;width:32px;height:32px;min-height:32px!important;padding:8px!important;background:transparent!important;border:0!important;box-shadow:none!important;opacity:.72}
body .privacy-notice button.privacy-close:hover{opacity:1;background:#ffffff12!important}
