.popup-open{overflow:hidden}

.announcement-popup{
  position:fixed;inset:0;margin:auto;padding:0;
  box-sizing:border-box;width:min(560px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);
  overflow:auto;overscroll-behavior:contain;
  border:1px solid #d8e6e2;border-radius:20px;
  background:#fff;color:#183b38;
  box-shadow:0 24px 90px #0005;
  opacity:0;transform:scale(.96);
  transition:opacity .28s ease,transform .28s cubic-bezier(.2,.8,.2,1)
}
.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%;height:auto;max-height:min(48dvh,440px);
  object-fit:contain;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:sticky;top:12px;z-index:2;float:right;
  display:grid;place-items:center;width:44px;height:44px;
  margin:12px 12px -56px 0;padding:0;
  border:1px solid #d7e2df;border-radius:50%;
  background:#fff;color:#173b37;box-shadow:0 3px 14px #102b3830;
  font-size:28px;line-height:1;cursor:pointer
}
.announcement-popup__close:hover{background:#eff8f4}
.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:3px solid #19786d;outline-offset:3px}
@media(max-width:600px){
  .announcement-popup{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:16px}
  .announcement-popup__image{max-height:38dvh}
  .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}}
