.training-promo-wrap { max-width: var(--container); margin: 0 auto; padding: 8px 24px 16px; }
.training-promo { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 28px; border-radius: 14px; background: linear-gradient(115deg, #3f238b, #7653c9); color: #fff; }
.training-promo-label { margin: 0 0 8px; font-size: 11px; font-weight: 700; letter-spacing: .14em; color: #ede5ff; }
.training-promo h2 { margin: 0; color: #fff; font-size: 22px; line-height: 1.35; }
.training-promo h2 + p { margin: 8px 0 0; color: #f0ebff; font-size: 14px; }
.training-promo-link { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 10px; flex: none; padding: 0 18px; border-radius: 8px; background: #fff; color: #47258d; font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.training-promo-link:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
@media (max-width: 640px) {
  .training-promo-wrap { padding: 8px 16px 16px; }
  .training-promo { align-items: flex-start; flex-direction: column; gap: 16px; padding: 20px; }
  .training-promo h2 { font-size: 19px; }
}