.welcome-promo[hidden],.offer-reopen[hidden]{display:none!important}
.promo-announcer{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.welcome-promo,.offer-reopen{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:var(--promo-bottom-space,20px);z-index:40}
.welcome-promo{width:248px;max-width:calc(100vw - 32px);max-height:calc(100dvh - var(--promo-bottom-space,20px) - 20px);overflow-y:auto;background:#325839;color:#fdfdfd;border:3px solid var(--yellow);border-radius:15px;box-shadow:0 10px 35px #211e1a40;animation:welcome-arrive .3s ease-out}
.welcome-promo button,.welcome-offer button,.offer-reopen{font-family:var(--body);cursor:pointer}
.welcome-promo button:focus-visible,.welcome-offer button:focus-visible,.offer-reopen:focus-visible{outline:3px solid #2670d9;outline-offset:3px}
.welcome-promo-title{padding:15px 43px 13px 15px;font-size:1rem;font-weight:700;line-height:1.45}
.promo-dismiss,.offer-close{display:flex;align-items:center;justify-content:center;position:absolute;right:3px;top:3px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:1.65rem;line-height:1}
.promo-dismiss:hover,.offer-close:hover{background:#ffffff20}
.welcome-character{display:block;width:100%;height:156px;object-fit:cover;object-position:65% 50%;background:#f5ecd3}
.welcome-promo-action{padding:12px}
.welcome-promo-action .button{width:100%;min-height:44px;padding-block:10px}
.offer-reopen{border:2px solid var(--yellow);border-radius:24px;background:#325839;color:#fdfdfd;padding:10px 18px;min-height:44px;font-size:.875rem;font-weight:700;box-shadow:0 4px 18px #211e1a26}
.offer-reopen:hover{background:#25432b}
.welcome-offer-is-open{overflow:hidden}
.welcome-offer{position:fixed;inset:0;margin:auto;width:min(480px,calc(100vw - 28px));max-width:none;max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);padding:0;border:4px solid var(--yellow);border-radius:18px;background:#325839;color:#fdfdfd;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 20px 80px #0005}
.welcome-offer::backdrop{background:#16251dc9}
.offer-close{right:5px;top:5px;width:44px;height:44px}
.offer-content{padding:43px 27px 25px;text-align:center}
.offer-brand{color:var(--yellow);font-size:.875rem;font-weight:700;letter-spacing:.07em;margin-bottom:18px}
.offer-content h2{font-family:var(--body);font-size:1.2rem;line-height:1.4;letter-spacing:0;font-weight:700}
.offer-content h2:focus{outline:none}
.offer-discount{font:400 clamp(3.7rem,14vw,5.5rem)/1.15 var(--display);letter-spacing:-.01em;color:var(--yellow);margin-top:8px}
.offer-next{font-size:1.375rem;font-weight:700;margin-bottom:22px}
.offer-screenshot{background:#fdfdfd;color:var(--ink);padding:16px 18px;border-radius:8px}
.offer-screenshot strong{display:block;font-size:1rem;line-height:1.5}
.offer-screenshot p{font-size:.9375rem;line-height:1.65;margin-top:7px}
.offer-follow{font-size:1rem;line-height:1.6;margin:19px 0 13px}
.offer-facebook{width:100%;font-size:.9375rem;padding-inline:12px}
.offer-location{font-size:.875rem;line-height:1.75;margin-top:18px;color:#e4edde}
.offer-location a{color:inherit}
@keyframes welcome-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:620px){.welcome-promo,.offer-reopen{right:max(12px,env(safe-area-inset-right))}.welcome-promo{width:216px}.welcome-promo-title{font-size:.9375rem;padding-block:12px}.welcome-character{height:132px}.welcome-promo-action{padding:10px}.offer-content{padding:42px 20px 21px}.offer-brand{font-size:.8125rem;letter-spacing:.025em}.offer-next{font-size:1.2rem}.offer-facebook{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.welcome-promo{animation:none}}
