.promotions-intro { max-width: 700px; margin-bottom: 32px; }
.promotion { max-width: 1264px; border: 1px solid var(--border); overflow: hidden; }
.promotion-image { display: block; width: 100%; height: auto; }
.promotion-body { padding: 32px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 40px; align-items: center; }
.promotion-label { display: inline-block; color: var(--blue2); font-size: 12px; font-weight: 700; letter-spacing: 1px; margin-bottom: 12px; }
.promotion-title { font-size: clamp(22px, 3vw, 30px); line-height: 1.25; margin-bottom: 14px; color: #15233f; }
.promotion-description { max-width: 680px; font-size: 15px; line-height: 1.8; color: #444; }
.promotion-action { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 24px; background: var(--blue2); border: 1px solid var(--blue2); color: #fff; text-align: center; text-decoration: none; font-size: 14px; font-weight: 600; }
.promotion-action:hover { background: #152e59; }
.promotion-action:focus-visible { outline: 3px solid #799bd1; outline-offset: 3px; }
.promotion-note { grid-column: 1 / -1; border-top: 1px solid var(--border); padding-top: 18px; font-size: 12px; line-height: 1.7; color: #606a7a; }
.promotions-contact { margin-top: 28px; font-size: 14px; line-height: 1.8; color: #444; }
.promotions-contact a { color: var(--blue2); text-decoration: underline; }
@media (max-width: 768px) {
  .promotions-intro { margin-bottom: 24px; }
  .promotion-body { grid-template-columns: minmax(0, 1fr); padding: 24px 20px; gap: 20px; }
  .promotion-action { width: 100%; }
}
