.cookie-preferences[hidden]{display:none}
.cookie-preferences{
  position:fixed;inset:0;z-index:220;display:grid;place-items:center;
  padding:1.25rem;background:rgba(10,23,41,.72);
}
.cookie-preferences__dialog{
  width:min(100%,620px);max-height:calc(100vh - 2.5rem);overflow:auto;
  background:#fff;color:#1A2029;border-top:4px solid #3A7462;
  box-shadow:0 24px 70px rgba(10,23,41,.32);padding:clamp(1.5rem,4vw,2.5rem);
}
.cookie-preferences__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:.75rem}
.cookie-preferences__title{margin:0;color:#10233F;font:500 clamp(1.5rem,4vw,2rem)/1.2 "Jost",sans-serif}
.cookie-preferences__close{
  flex:0 0 auto;border:0;background:transparent;color:#10233F;cursor:pointer;
  padding:.25rem;font:500 1.5rem/1 sans-serif;
}
.cookie-preferences__intro{margin:0 0 1.5rem;color:#5A6572;line-height:1.6}
.cookie-option{display:grid;grid-template-columns:1fr auto;gap:.75rem 1.5rem;padding:1.2rem 0;border-top:1px solid #D7DDE3}
.cookie-option:last-of-type{border-bottom:1px solid #D7DDE3}
.cookie-option__title{margin:0 0 .35rem;color:#10233F;font:600 1rem/1.3 "IBM Plex Sans",sans-serif}
.cookie-option__description{margin:0;color:#5A6572;font-size:.875rem;line-height:1.55}
.cookie-option__control{align-self:start;display:flex;align-items:center;gap:.5rem;color:#3A7462;font-size:.8125rem;font-weight:600}
.cookie-option input{width:1.25rem;height:1.25rem;accent-color:#3A7462}
.cookie-option input:focus-visible,.cookie-preferences button:focus-visible{outline:3px solid rgba(58,116,98,.4);outline-offset:3px}
.cookie-preferences__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}
.cookie-preferences__button{
  border:1px solid #10233F;background:#fff;color:#10233F;cursor:pointer;
  padding:.8rem 1.2rem;font:500 .75rem/1 "IBM Plex Sans",sans-serif;
  letter-spacing:.06em;text-transform:uppercase;
}
.cookie-preferences__button--primary{border-color:#10233F;background:#10233F;color:#fff}
.cookie-preferences__button:hover{border-color:#3A7462}
.cookie-preferences__button--primary:hover{background:#3A7462;color:#fff}
body.cookie-preferences-open{overflow:hidden}
@media (max-width:520px){
  .cookie-option{grid-template-columns:1fr}
  .cookie-option__control{justify-self:start}
  .cookie-preferences__actions{flex-direction:column-reverse}
  .cookie-preferences__button{width:100%}
}
