.promo-open { overflow: hidden; }
.download-promo[hidden], .download-promo [hidden] { display: none !important; }
.download-promo { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; }
.download-promo-backdrop { position: absolute; inset: 0; background: rgba(12, 31, 30, .76); backdrop-filter: blur(5px); }
.download-promo-dialog { position: relative; width: min(1080px, 96vw); max-height: calc(100vh - 40px); overflow: auto; padding: 30px; background: #fffdf8; border: 1px solid rgba(255,255,255,.5); box-shadow: 0 28px 80px rgba(0,0,0,.3); outline: 0; }
.download-promo-eyebrow { margin: 0 0 8px; color: #d94335; font-size: 11px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.download-promo h2 { margin: 0; color: #183b38; font: 38px/1.08 Georgia, serif; }
.download-promo-note { margin: 10px 0 20px; color: #5e6965; font-size: 14px; }
.download-promo video { display: block; width: 100%; aspect-ratio: 16 / 9; max-height: 68vh; object-fit: contain; background: #142c2a; }
.download-promo-progress { height: 6px; margin-top: 12px; overflow: hidden; background: #e9e0d3; }
.download-promo-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #0f7771, #e2ac2d, #d94335); transition: width .15s linear; }
.download-promo-status { margin: 10px 0 0; color: #66716d; font-size: 12px; text-align: center; }
.download-promo-success { padding: 18px 10px 8px; text-align: center; }
.download-success-promo-image { display:block; width:min(460px,100%); max-height:310px; margin:18px auto 0; object-fit:contain; }
.download-promo-success > p:not(.download-promo-eyebrow) { max-width: 540px; margin: 16px auto 24px; color: #56635e; line-height: 1.65; }
.download-promo-check { display: grid; width: 62px; height: 62px; margin: 0 auto 18px; place-items: center; border-radius: 50%; color: #fff; background: #0f7771; font-size: 31px; font-weight: 900; }
.download-promo-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.download-promo-actions a { min-width: 220px; padding: 15px 20px; font-size: 12px; font-weight: 900; text-decoration: none; }
.download-promo-primary { color: #fff; background: #d94335; }
.download-promo-primary span { margin-left: 8px; }
.download-promo-secondary { color: #fff; background: #4267b2; }
.download-promo-close { margin-top: 22px; padding: 8px; border: 0; color: #53605c; background: transparent; font: 700 12px inherit; text-decoration: underline; cursor: pointer; }
.download-conversion-extras { display:grid; gap:14px; margin:22px auto; text-align:left; }
.download-recommendations,.download-community { padding:16px; border:1px solid #e4dacb; background:#fff; }
.download-recommendations-title { margin:0 0 10px!important; color:#183b38!important; font-size:12px!important; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.download-recommendations>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.download-recommendations a { display:grid; align-content:space-between; min-height:76px; padding:12px; color:#183b38; background:#f5f8f7; font-size:11px; font-weight:800; line-height:1.3; text-decoration:none; }
.download-recommendations a span { margin-top:8px; color:#d94335; font-size:9px; }
.download-community strong { color:#183b38; font:18px/1.2 Georgia,serif; }
.download-community p { margin:7px 0 12px!important; color:#5e6965!important; font-size:12px; line-height:1.5!important; }
.facebook-share-button { display:block; padding:12px 14px; color:#fff; background:#4267b2; font-size:11px; font-weight:900; text-align:center; text-decoration:none; }
@media (max-width: 600px) {
  .download-promo { padding: 10px; }
  .download-promo-dialog { max-height: calc(100vh - 20px); padding: 20px; }
  .download-promo h2 { font-size: 30px; }
  .download-promo video { max-height: 45vh; }
  .download-promo-actions { display: grid; }
  .download-promo-actions a { min-width: 0; }
  .download-recommendations>div { grid-template-columns:1fr; }
  .download-recommendations a { min-height:0; }
}
