/* Shared promotion card: public homepage and editorial preview. */
.mm-promotion{display:block;padding:0;inset:auto;box-sizing:border-box;width:340px;max-width:100%;position:relative;isolation:isolate;border:1px solid #1b31571c;border-radius:22px;background:rgba(255,255,255,.96);color:#1b3157;box-shadow:0 18px 60px #152b4821;overflow:auto;text-align:left;font-family:inherit}
.mm-promotion[hidden]{display:none!important}.promo-floating{position:fixed;z-index:85;top:116px;right:clamp(20px,4vw,64px);max-height:calc(100svh - 270px);animation:promo-arrive .5s ease both}
.promo-body{padding:28px}.promo-eyebrow{margin:0 28px 14px 0!important;font-size:9px!important;line-height:1.5!important;letter-spacing:.16em;color:#a23945!important;font-weight:650}.promo-title{font-size:25px!important;line-height:1.16!important;letter-spacing:-.035em!important;margin:0 0 12px!important;font-weight:550!important;overflow-wrap:anywhere}.promo-description{font-size:13px!important;line-height:1.6!important;color:#596779!important;margin:0 0 18px!important;white-space:pre-line;overflow-wrap:anywhere}
.promo-close{position:absolute!important;z-index:2;right:9px;top:9px;width:36px!important;height:36px!important;min-height:36px!important;padding:8px!important;border:1px solid #1b315715!important;border-radius:50%!important;background:#fffffff2!important;color:#1b3157!important;display:grid!important;place-items:center!important;cursor:pointer;box-sizing:border-box}.promo-close svg,.promo-action svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.promo-image{display:block;width:100%;height:130px;object-fit:cover}.promo-action{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-radius:24px;background:#1b3157;color:#fff!important;font-size:12px;font-weight:500;text-decoration:none!important;min-height:44px;box-sizing:border-box;transition:background .2s}.promo-action:hover{background:#a23945}.promo-action:focus-visible,.promo-close:focus-visible{outline:2px solid #a23945;outline-offset:3px}.promo-action span:first-child{overflow-wrap:anywhere}.promo-action span:last-child{flex:none}
@keyframes promo-arrive{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@media(max-width:760px){.promo-floating{top:90px;right:16px;left:16px;width:auto;max-height:32svh;border-radius:18px}.promo-floating .promo-body{padding:20px}.promo-floating .promo-title{font-size:21px!important;margin-bottom:8px!important}.promo-floating .promo-eyebrow{margin-bottom:8px!important}.promo-floating .promo-description{font-size:12px!important;margin-bottom:12px!important}.promo-floating .promo-image{height:90px}}
@media(prefers-reduced-motion:reduce){.promo-floating{animation:none}.promo-action{transition:none}}
