.software-promo .membership-heading { max-width: 970px; }
.software-promo-grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 22px; align-items: stretch; }
.software-promo-copy, .software-promo-image { min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 24px; background: #fff; }
.software-promo-copy { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(24px, 3vw, 40px); color: #183548; }
.software-promo-kicker { margin: 0 0 10px; color: #a76a39; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.software-promo-copy h3 { margin: 0 0 16px; color: #183548; font: 700 clamp(1.4rem, 2.1vw, 2rem)/1.18 Georgia, serif; }
.software-promo-copy ul { display: grid; gap: 10px; margin: 0 0 25px; padding-left: 20px; color: #485b68; }
.software-promo-copy li { padding-left: 3px; }
.software-promo-copy .primary-button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.software-promo-note { margin: 14px 0 0; color: #6e8089; font-size: .8rem; }
.software-promo-image { display: flex; flex-direction: column; background: #0b0e13; }
.software-promo-image img { display: block; width: 100%; height: auto; flex: 1; object-fit: contain; }
.software-promo-image figcaption { padding: 10px 14px; background: #123247; color: #fff; font-size: .75rem; }
@media (max-width: 900px) { .software-promo-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .software-promo-copy, .software-promo-image { border-radius: 17px; } .software-promo-image figcaption { line-height: 1.4; } }
