.promo-back {margin-bottom:24px;gap:8px}
.promo-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.promo-card {border:1px solid var(--border);border-radius:24px;overflow:hidden;background:var(--surface);min-width:0;animation:promo-in .5s ease both}
.promo-card:nth-child(2){animation-delay:.06s}.promo-card:nth-child(3){animation-delay:.12s}.promo-card:nth-child(4){animation-delay:.18s}.promo-card:nth-child(5){animation-delay:.24s}
.promo-image-button {width:100%;display:block;border:0;padding:0;background:#090d10;aspect-ratio:3/2;cursor:zoom-in;overflow:hidden}
.promo-image-button img {width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.promo-image-button:hover img {transform:scale(1.025)}
.promo-placeholder {display:flex;justify-content:center;align-items:center;min-height:180px;width:100%;height:100%;padding:24px;color:var(--muted)}
.promo-card-content {padding:22px}
.promo-card-label {display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:11px;letter-spacing:.04em}
.promo-card-label>span:first-child {color:var(--accent);font-weight:650}
.promo-card-content h2 {font-size:21px;line-height:1.2;letter-spacing:-.03em;margin:18px 0 10px}
.promo-card-content>p {color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 22px;min-height:45px;overflow-wrap:anywhere}
.promo-actions {display:grid;grid-template-columns:1fr;gap:10px}
.promo-actions .btn {min-width:0;padding-left:16px;padding-right:16px;white-space:normal;text-align:center;font-size:13px}
.promo-actions svg {width:18px;height:18px;flex:none}
.promo-share {justify-content:center;padding:7px;gap:10px;font-size:13px}
.promo-modal-image {display:block;width:100%;height:auto;border-radius:16px}
.promo-caption {font-size:14px;line-height:1.6;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:20px}
@keyframes promo-in {from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1280px){.promo-actions{grid-template-columns:1fr 1fr}.promo-share{grid-column:1/-1}}
@media(max-width:680px){.promo-grid{grid-template-columns:1fr;gap:18px}.promo-card-content{padding:20px}.promo-card-content>p{min-height:0}.promo-back{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.promo-card{animation:none}.promo-image-button img{transition:none}}
