.popup-open{overflow:hidden}

.announcement-popup{
  position:fixed;inset:0;margin:auto;padding:0;
  box-sizing:border-box;width:min(820px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);max-height:calc(100dvh - 24px);
  overflow:visible;border:0;background:transparent;color:#183b38;
  opacity:0;transform:scale(.96);
  transition:opacity .28s ease,transform .28s cubic-bezier(.2,.8,.2,1)
}
.announcement-popup__frame{
  box-sizing:border-box;margin-top:34px;max-height:calc(100dvh - 58px);
  overflow:auto;overscroll-behavior:contain;border:1px solid #d8e6e2;
  border-radius:20px;background:#fff;box-shadow:0 24px 90px #0005;
}
.announcement-popup::backdrop{background:#102b38a6;opacity:0;transition:opacity .28s ease}
.announcement-popup.is-visible{opacity:1;transform:none}
.announcement-popup.is-visible::backdrop{opacity:1}
.announcement-popup[data-anim="fade"]{transform:none}
.announcement-popup[data-anim="slide-up"]{transform:translateY(26px)}
.announcement-popup[data-anim="none"]{transition:none;transform:none}
.announcement-popup.is-closing[data-close-anim="fade"]{opacity:0;transform:none}
.announcement-popup.is-closing[data-close-anim="zoom"]{opacity:0;transform:scale(.96)}
.announcement-popup.is-closing[data-close-anim="slide-down"]{opacity:0;transform:translateY(26px)}
.announcement-popup.is-closing[data-close-anim="none"]{transition:none}
.announcement-popup.is-closing::backdrop{opacity:0}

.announcement-popup__image{
  display:block;width:100%!important;height:auto!important;max-height:none!important;
  aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;background:#f2f5f5;
  opacity:0;transform:scale(.98);transition:opacity .42s ease .08s,transform .42s ease .08s
}
.announcement-popup.is-visible .announcement-popup__image{opacity:1;transform:none}
.announcement-popup[data-anim="none"] .announcement-popup__image{opacity:1;transform:none;transition:none}
.announcement-popup__content{padding:clamp(18px,4vw,26px)}
.announcement-popup__content small{display:block;font-weight:800;color:#217d6b;letter-spacing:.08em;text-transform:uppercase}
.announcement-popup__content h2{
  margin:8px 0 12px;padding-right:32px;
  font-size:clamp(1.25rem,4vw,1.8rem);line-height:1.25;overflow-wrap:anywhere
}
.announcement-popup__content p{margin:0 0 16px;line-height:1.6;overflow-wrap:anywhere}
.announcement-popup__content p:last-child{margin-bottom:0}
.announcement-popup__content .button{max-width:100%;white-space:normal;text-align:center}
.announcement-popup__close{
  position:absolute;top:0;right:3px;z-index:2;display:grid;place-items:center;
  width:32px;height:32px;min-width:32px;min-height:32px;margin:0;padding:0;
  appearance:none;border:0;background:transparent;color:#fff;box-shadow:none;
  font-size:21px;font-weight:400;line-height:1;cursor:pointer
}
.announcement-popup__close span{position:relative;text-shadow:0 1px 4px #092c36,0 0 2px #092c36}
.announcement-popup__close:hover span{transform:scale(1.15)}
.announcement-popup__close{opacity:0;transition:opacity .28s ease .16s,background .2s ease}
.announcement-popup.is-visible .announcement-popup__close{opacity:1}
.announcement-popup[data-anim="none"] .announcement-popup__close{opacity:1;transition:none}
.announcement-popup__close:focus-visible{outline:none}
.announcement-popup__close:focus-visible span{text-decoration:underline;text-underline-offset:4px;text-shadow:0 0 5px #fff,0 1px 4px #092c36}
@media(max-width:600px){
  .announcement-popup{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}
  .announcement-popup__frame{border-radius:16px}
  .announcement-popup__content{padding:18px}
  .announcement-popup__content h2{font-size:clamp(1.2rem,5vw,1.5rem)}
}
@media(prefers-reduced-motion:reduce){.announcement-popup,.announcement-popup::backdrop,.announcement-popup__image,.announcement-popup__close{transition:none!important;transform:none!important}.announcement-popup__image,.announcement-popup__close{opacity:1!important}}
