.bn-promo{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.bn-promo[hidden]{display:none}
.bn-promo.is-open{opacity:1;visibility:visible}
.bn-promo__backdrop{position:absolute;inset:0;background:rgba(25,21,22,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.bn-promo__dialog{position:relative;box-sizing:border-box;width:min(440px,100%);max-height:calc(100vh - 40px);overflow-y:auto;margin:0;padding:42px 34px 26px;background:#F8F2EC;border-radius:22px;text-align:center;font-family:'Montserrat',sans-serif;color:#191516;box-shadow:0 30px 80px rgba(25,21,22,.35);transform:translateY(24px) scale(.97);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.bn-promo.is-open .bn-promo__dialog{transform:none}
.bn-promo__dialog::before{content:"";position:absolute;inset:10px;border:1px solid rgba(199,162,122,.55);border-radius:16px;pointer-events:none}
.bn-promo__close{position:absolute;top:18px;right:18px;z-index:2;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#fff;color:#5A1026;font-size:17px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12);transition:transform .2s ease}
.bn-promo__close:hover{transform:rotate(90deg)}
.bn-promo__logo{display:block;width:min(210px,70%);height:auto;max-height:110px;margin:0 auto 14px;object-fit:contain}
.bn-promo__eyebrow{margin:0 0 6px;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#B08A5E}
.bn-promo__title{margin:0 0 22px;padding:0;font-family:'Playfair Display',serif;font-size:30px;font-weight:600;line-height:1.2;color:#5A1026}
.bn-promo__list{display:grid;gap:10px;margin:0 0 24px;padding:0;list-style:none;text-align:left}
.bn-promo__list li{display:flex;align-items:center;gap:14px;margin:0;padding:12px 14px;background:#fff;border:1px solid rgba(199,162,122,.32);border-radius:14px}
.bn-promo__icon{display:flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#5A1026,#7d1f3a);color:#F3DDB9;font-size:18px}
.bn-promo__list strong{display:block;font-size:14px;font-weight:700;line-height:1.3;color:#191516}
.bn-promo__list small{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:#6f6266}
.bn-promo__cta{display:block;padding:14px 20px;border-radius:999px;background:#5A1026;color:#fff!important;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none!important;transition:background .2s ease,transform .2s ease}
.bn-promo__cta:hover{background:#3f0a1a;transform:translateY(-1px)}
.bn-promo__skip{margin-top:10px;padding:4px 8px;border:0;background:none;font-family:'Montserrat',sans-serif;font-size:12px;color:#8a7d80;text-decoration:underline;cursor:pointer}
body.bn-promo-open{overflow:hidden}
@media(max-width:480px){
.bn-promo{padding:14px}
.bn-promo__dialog{padding:36px 20px 20px;border-radius:18px}
.bn-promo__logo{width:min(170px,62%)}
.bn-promo__title{margin-bottom:18px;font-size:25px}
.bn-promo__list li{gap:12px;padding:10px 12px}
.bn-promo__icon{flex-basis:40px;width:40px;height:40px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){.bn-promo,.bn-promo__dialog{transition:none}}
