/* Promoter banner (docs/promoter-delivery.md): a full row between the cards of any card grid, and the admin preview. */
.qd-promo{grid-column:1/-1;margin:4px 0;--pa:#e9fc82;--pa-ink:#19231f;--pb1:#2a3a33;--pb2:#111814;--pm:#cfd8c6}
.qd-promo.is-red{--pa:#ff4d5e;--pa-ink:#fff;--pb1:#5a1a25;--pb2:#1a0f12;--pm:#ecd3d7}
.qd-promo.is-orange{--pa:#f36b3f;--pa-ink:#1d0f09;--pb1:#5a2812;--pb2:#1d0f09;--pm:#f0d8ca}
.qd-promo.is-gold{--pa:#f2b632;--pa-ink:#1c1405;--pb1:#4a3812;--pb2:#17120a;--pm:#ecdfbf}
.qd-promo.is-lime{--pa:#e9fc82;--pa-ink:#19231f;--pb1:#2d4034;--pb2:#111814;--pm:#d2dbc9}
.qd-promo.is-blue{--pa:#7d97ff;--pa-ink:#0a1026;--pb1:#22317a;--pb2:#0a1026;--pm:#d2d9f6}
.qd-promo.is-violet{--pa:#c98bff;--pa-ink:#1b0b2b;--pb1:#46216a;--pb2:#150a22;--pm:#e0cfee}
.qd-promo.is-ink{--pa:#f3f1e6;--pa-ink:#22231e;--pb1:#3a3b33;--pb2:#161713;--pm:#d3d3c8}
.qd-promo-link{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);min-height:300px;border-radius:16px;overflow:hidden;background:radial-gradient(130% 150% at 100% 0,var(--pb1) 0,var(--pb2) 64%);color:#fff;text-decoration:none;box-shadow:0 28px 60px -36px #000d,inset 0 0 0 1px #ffffff17}
.qd-promo-link:before{content:"";position:absolute;z-index:3;left:0;top:0;bottom:0;width:6px;background:var(--pa)}
.qd-promo-media{position:relative;overflow:hidden;background:var(--pb2)}
.qd-promo-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.qd-promo-media.is-mosaic img{inset:auto;left:0;top:0;width:50%;height:50%;border:2px solid var(--pb2);object-position:50% 22%}
.qd-promo-media.n-2 img,.qd-promo-media.n-3 img:first-child{height:100%}
.qd-promo-media.is-mosaic img:nth-child(2){left:50%}
.qd-promo-media.n-3 img:nth-child(3),.qd-promo-media.n-4 img:nth-child(4){left:50%;top:50%}
.qd-promo-media.n-4 img:nth-child(3){top:50%}
.qd-promo-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0000 58%,var(--pb2) 100%)}
.qd-promo-link:hover .qd-promo-media img{transform:scale(1.05)}
.qd-promo-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:13px;padding:34px 44px 38px 36px}
.qd-promo-copy:before{content:"";position:absolute;z-index:-1;width:320px;height:320px;right:-80px;top:-120px;border-radius:50%;background:radial-gradient(circle,var(--pa) 0,#0000 68%);opacity:.14;animation:qd-promo-glow 9s ease-in-out infinite alternate}
.qd-promo-flag{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font:700 10.5px/1.3 "Cascadia Code",Consolas,ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--pm)}
.qd-promo-flag b{padding:5px 10px 4px;border-radius:999px;background:var(--pa);color:var(--pa-ink);font-weight:800;letter-spacing:.12em}
.qd-promo-title{font:400 clamp(28px,3vw,46px)/1.04 Georgia,"Times New Roman",serif;letter-spacing:-.03em;color:#fff;text-wrap:balance}
.qd-promo-text{max-width:560px;font:15.5px/1.6 "Segoe UI",Arial,sans-serif;color:var(--pm);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.qd-promo-cta{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:13px 21px;border-radius:999px;background:var(--pa);color:var(--pa-ink);font:800 13px/1.2 "Segoe UI",Arial,sans-serif;box-shadow:0 14px 30px -14px var(--pa);transition:transform .25s,box-shadow .25s}
.qd-promo-cta span{transition:transform .25s}
.qd-promo-link:hover .qd-promo-cta{box-shadow:0 16px 34px -10px var(--pa)}
.qd-promo-link:hover .qd-promo-cta span{transform:translateX(4px)}
.qd-promo-mark{position:absolute;z-index:0;right:14px;bottom:-46px;font:170px/1 "Bahnschrift","Arial Narrow",Arial,sans-serif;letter-spacing:-.12em;color:var(--pa);opacity:.13;transform:rotate(-7deg);pointer-events:none}
.qd-promo-link:focus-visible{outline:3px solid var(--pa);outline-offset:4px}
.qd-promo.no-media .qd-promo-link{grid-template-columns:1fr;min-height:240px}
.qd-promo.no-media .qd-promo-copy{padding-left:44px}
.qd-promo.no-media .qd-promo-mark{font-size:280px;bottom:-80px;opacity:.16}
@keyframes qd-promo-glow{from{transform:translate(0,0) scale(1)}to{transform:translate(-160px,120px) scale(1.25)}}
@media(max-width:760px){
.qd-promo-link{grid-template-columns:1fr;min-height:0;border-radius:14px}
.qd-promo-media{aspect-ratio:1200/630}
.qd-promo-media:after{background:linear-gradient(180deg,#0000 55%,var(--pb2) 100%)}
.qd-promo-copy{gap:11px;padding:6px 22px 26px 26px}
.qd-promo.no-media .qd-promo-copy{padding:30px 22px 30px 28px}
.qd-promo-title{font-size:clamp(25px,7.2vw,32px)}
.qd-promo-text{font-size:14.5px}
.qd-promo-mark{font-size:130px;bottom:-34px}
}
@media(prefers-reduced-motion:reduce){.qd-promo-copy:before{animation:none}.qd-promo-media img,.qd-promo-cta,.qd-promo-cta span{transition:none}}
