.promo-dialog{background:var(--surface);width:min(760px,100% - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--ink);border:0;border-radius:26px;padding:0;overflow:visible;box-shadow:0 24px 90px #061e1673}.promo-dialog::backdrop{background:#061e169e}.promo-card{border-radius:inherit;touch-action:pan-y;gap:18px;max-height:calc(100dvh - 32px);padding:22px;display:grid;position:relative;overflow-y:auto}.promo-close{z-index:2;border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;font-size:1.6rem;line-height:1;display:grid;position:absolute;top:10px;right:10px}.promo-page{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:28px;display:grid}.promo-image{aspect-ratio:4/4.8;background:var(--card);border-radius:18px;position:relative;overflow:hidden}.promo-image img{object-fit:cover}.promo-copy{gap:12px;padding-right:8px;display:grid}.promo-copy .eyebrow{margin:0}.promo-copy h2{letter-spacing:-.05em;margin:0;font-size:clamp(1.9rem,5vw,2.8rem);line-height:1}.promo-message{margin:0;font-size:1.05rem;line-height:1.5}.promo-price{color:var(--muted);margin:0;font-size:.95rem;font-weight:600}.promo-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.promo-button{border:1px solid var(--ink);background:var(--ink);min-height:46px;color:var(--surface);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 24px;font-size:.85rem;font-weight:600;display:inline-flex}.promo-button--quiet{border-color:var(--line);color:var(--ink);background:0 0}.promo-pager{justify-content:center;align-items:center;gap:14px;display:flex}.promo-arrow{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:1.5rem;line-height:1;display:grid}.promo-dots{align-items:center;display:flex}.promo-dot{cursor:pointer;background:0 0;border:0;width:28px;height:44px;padding:0;position:relative}.promo-dot:before{content:"";background:var(--line);border-radius:50%;width:10px;height:10px;transition:background .2s,transform .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.promo-dot[aria-current=true]:before{background:var(--ink);transform:translate(-50%,-50%)scale(1.3)}.promo-close:focus-visible,.promo-button:focus-visible,.promo-arrow:focus-visible,.promo-dot:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media (max-width:640px){.promo-card{padding:16px}.promo-page{grid-template-columns:1fr;gap:16px}.promo-image{aspect-ratio:16/11}.promo-copy{padding-right:0}.promo-actions{grid-template-columns:1fr;display:grid}}@media (prefers-reduced-motion:no-preference){.promo-dialog[open]{animation:.35s cubic-bezier(.2,.65,.3,1) promo-rise}.promo-dialog[open]::backdrop{animation:.35s ease-out promo-fade}.promo-page{animation:.3s ease-out promo-page}@keyframes promo-rise{0%{opacity:0;transform:translateY(18px)scale(.98)}}@keyframes promo-fade{0%{opacity:0}}@keyframes promo-page{0%{opacity:0;transform:translateY(6px)}}}.promo-offer{border:1.5px dashed var(--ink);background:var(--surface-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex}.promo-offer p{gap:1px;min-width:0;margin:0;display:grid}.promo-offer p span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:600}.promo-offer p strong{overflow-wrap:anywhere;letter-spacing:.06em;font-size:1.1rem}.promo-offer p small{color:var(--muted);font-size:.76rem}.promo-copy-button{border:1px solid var(--ink);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:0 16px;font-size:.78rem;font-weight:600}.promo-copy-button:hover:not(:disabled){background:var(--ink);color:var(--surface)}.promo-copy-button:disabled{opacity:.6;cursor:default}.promo-copy-button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.promo-preview{border:1px solid var(--line);background:var(--surface);max-width:760px;color:var(--ink);border-radius:22px;padding:22px}.promo-preview .promo-actions .promo-button{cursor:default}
