.welcome-offer{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:56px 42px 32px;border:0;background:#fff;color:#111;text-align:center;box-shadow:0 20px 90px #0003}
.welcome-offer::backdrop{background:rgba(0,0,0,.38);backdrop-filter:blur(3px)}
.welcome-offer-close{position:absolute;top:10px;right:10px;width:44px;height:44px;font-size:26px;font-weight:300}
.welcome-offer-kicker{font-size:10px;letter-spacing:.16em;margin:0 0 26px}
.welcome-offer h2{font-size:clamp(36px,5vw,50px);font-weight:400;letter-spacing:-.045em;line-height:1.04;margin:0 0 22px}
.welcome-offer-copy{font-size:14px;line-height:1.6;margin:0 auto 28px;max-width:340px}
.welcome-offer-form{text-align:left}.welcome-offer-form label{display:block;font-size:11px;margin-bottom:8px}
.welcome-offer-form input[type=email]{width:100%;min-height:50px;padding:14px;border:1px solid #aaa;background:#fff;font-size:16px;color:#111}
.welcome-offer-submit{width:100%;min-height:50px;background:#111;color:#fff;margin-top:12px;font-size:11px;letter-spacing:.08em}
.welcome-offer-submit:disabled{opacity:.6;cursor:wait}.welcome-offer-terms{font-size:11px;line-height:1.6;margin:18px 0 10px;color:#555}
.welcome-offer-consent{font-size:10px;line-height:1.6;color:#666}.welcome-offer-consent a{text-decoration:underline;text-underline-offset:2px}
.welcome-offer-dismiss{min-height:44px;margin-top:10px;font-size:10px;letter-spacing:.07em;text-decoration:underline;text-underline-offset:4px}
.welcome-offer :focus-visible{outline:2px solid #111;outline-offset:4px}.welcome-offer [role=alert]{font-size:12px;color:#a01919;margin-top:10px}
.welcome-offer [data-welcome-success]{text-align:center;font-size:14px;line-height:1.6}.welcome-offer [data-welcome-success] h3{font-size:22px;font-weight:400}
@media(max-width:560px){.welcome-offer{padding:48px 24px 24px}.welcome-offer-copy{font-size:13px}}
@media(prefers-reduced-motion:no-preference){.welcome-offer[open]{animation:welcome-appear .25s ease-out}@keyframes welcome-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
