.cs-promotion-shell { position: relative; z-index: 1; max-width: 80rem; margin: 0 auto 3rem; padding: 0 1.5rem; }
.cs-promotion { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; border: 2px solid #ff636b; border-radius: 1.75rem; background: #fbf8f1; color: #0b1f3f; padding: 1.5rem 1.75rem; text-align: left; }
.cs-promotion__title { margin: 0; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.15; letter-spacing: -.03em; font-weight: 900; }
.cs-promotion__copy { margin: .5rem 0 0; line-height: 1.5; }
.cs-promotion__button { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; flex-shrink: 0; padding: .95rem 1.4rem; border-radius: 999px; background: #0b1f3f; color: #fbf8f1; font-weight: 700; text-decoration: none; text-align: center; transition: background-color .2s; }
.cs-promotion__button:hover { background: #0066cb; }
.cs-promotion__button:focus-visible { outline: 3px solid #0066cb; outline-offset: 4px; }
.cs-promotion__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 640px) {
  .cs-promotion { flex-direction: column; align-items: stretch; padding: 1.4rem; gap: 1.25rem; }
  .cs-promotion__button { width: 100%; padding-inline: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .cs-promotion__button { transition: none; } }
