.promo-overlay[hidden]{display:none}
.promo-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:rgba(2,18,13,.74);backdrop-filter:blur(9px);opacity:0;transition:opacity .3s ease}
.promo-overlay.is-visible{opacity:1}
.promo-dialog{position:relative;width:min(930px,100%);max-height:min(720px,calc(100vh - 34px));display:grid;grid-template-columns:1.06fr .94fr;overflow:auto;border:1px solid rgba(255,255,255,.22);border-radius:34px;background:#d0fe1d;color:#101813;box-shadow:0 40px 120px rgba(0,0,0,.48);transform:translateY(24px) scale(.97);transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.promo-overlay.is-visible .promo-dialog{transform:none}
.promo-close{position:absolute;z-index:5;top:17px;right:17px;width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(7,60,44,.9);color:#fff;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.2);transition:.2s ease}
.promo-close:hover{color:#d0fe1d;transform:rotate(5deg) scale(1.05)}
.promo-photo{position:relative;min-height:590px;overflow:hidden;background:#073c2c}
.promo-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.promo-photo:after{content:"";position:absolute;left:-12%;right:-12%;bottom:-1px;height:115px;border-radius:50% 50% 0 0/70% 70% 0 0;background:#d0fe1d}
.promo-photo-badge{position:absolute;z-index:2;left:24px;top:24px;padding:10px 14px;border-radius:999px;background:#d0fe1d;color:#101813;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 10px 25px rgba(0,0,0,.16)}
.promo-content{position:relative;display:flex;flex-direction:column;justify-content:center;padding:62px 46px 46px;overflow:hidden}
.promo-content:before{content:"";position:absolute;width:260px;height:260px;right:-155px;bottom:-120px;border:46px solid rgba(7,60,44,.1);border-radius:50%}
.promo-kicker{margin:0 0 16px;color:#073c2c;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.promo-title{position:relative;z-index:1;margin:0;font-size:clamp(2.65rem,5vw,4.8rem);line-height:.88;letter-spacing:-.07em;font-weight:950}
.promo-brush{position:relative;display:inline-block;margin-bottom:8px;padding:7px 14px 9px;background:#fff;transform:rotate(-1.5deg);box-shadow:7px 7px 0 rgba(7,60,44,.12)}
.promo-price{display:flex;align-items:end;gap:12px;margin:25px 0 2px;color:#073c2c}
.promo-price strong{font-size:clamp(4.8rem,10vw,8.5rem);line-height:.72;letter-spacing:-.09em;font-weight:950}
.promo-price span{padding-bottom:4px;font-size:1.05rem;font-weight:850;line-height:1.05}
.promo-use{margin:12px 0 23px;padding:11px 0;border-top:2px solid rgba(7,60,44,.35);border-bottom:2px solid rgba(7,60,44,.35);font-size:14px;font-weight:850;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.promo-cta{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 22px;border-radius:999px;background:#073c2c;color:#fff;font-size:14px;font-weight:900;text-decoration:none;box-shadow:0 14px 32px rgba(7,60,44,.22);transition:.22s ease}
.promo-cta:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(7,60,44,.3)}
.promo-phone{margin:14px 0 0;text-align:center;font-size:14px;font-weight:820}
.promo-phone a{text-decoration:none;color:inherit}
.promo-note{position:relative;z-index:1;margin:20px 0 0;color:rgba(16,24,19,.68);font-size:10px;line-height:1.45}
@media(max-width:760px){.promo-overlay{padding:12px}.promo-dialog{grid-template-columns:1fr;max-width:510px;border-radius:26px}.promo-photo{min-height:250px}.promo-photo img{object-position:center 26%}.promo-photo:after{height:55px}.promo-photo-badge{left:16px;top:16px}.promo-content{padding:24px 25px 30px}.promo-title{font-size:3rem}.promo-price{margin-top:20px}.promo-price strong{font-size:5.5rem}.promo-close{top:12px;right:12px;width:42px;height:42px}.promo-note{margin-top:14px}}
@media(max-width:410px){.promo-photo{min-height:205px}.promo-content{padding:20px}.promo-title{font-size:2.5rem}.promo-price strong{font-size:4.7rem}.promo-use{margin-block:9px 16px}.promo-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){.promo-overlay,.promo-dialog,.promo-close,.promo-cta{transition:none!important}}
