.cs-cta { padding: 80px 32px; background: #fff; }
.cs-cta--dark { background: #191b1d; }
.cs-cta__banner { position: relative; isolation: isolate; max-width: 1168px; min-height: 420px; margin: 0 auto; overflow: hidden; border-radius: 18px; background: var(--cs-cta-background, #e6002b); color: var(--cs-cta-text, #fff); }
.cs-cta__background { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.cs-cta__content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 420px; padding: 72px 40px; }
.cs-cta__banner--with-image .cs-cta__content { width: 61%; }
.cs-cta__heading { margin: 0; color: inherit; font-size: clamp(26px, 2.5vw, 36px); line-height: 1.3; font-weight: 600; letter-spacing: -.02em; white-space: pre-line; overflow-wrap: anywhere; }
.cs-cta__button { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 100%; margin-top: 56px; padding: 10px 20px; border: 2px solid currentColor; border-radius: 11px; background: transparent; color: inherit; font-size: 14px; line-height: 1.5; text-decoration: none; transition: background 180ms ease; }
.cs-cta__button:hover { background: #ffffff20; }
.cs-cta__button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.cs-cta__button span { overflow-wrap: anywhere; }
.cs-cta__button svg { flex: 0 0 18px; width: 18px; height: 18px; }
.cs-cta__artwork { position: absolute; top: 20px; right: 24px; bottom: 0; width: 39%; pointer-events: none; }
.cs-cta__project-image { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
@media (max-width: 900px) {
  .cs-cta { padding: 80px 24px; }
  .cs-cta__content { padding: 48px 28px; }
  .cs-cta__button { margin-top: 36px; }
  .cs-cta__artwork { right: 12px; width: 37%; }
}
@media (max-width: 700px) {
  .cs-cta { padding: 80px 20px; }
  .cs-cta__banner--with-image .cs-cta__content { width: 100%; }
  .cs-cta__content { min-height: 0; padding: 40px 24px; }
  .cs-cta__banner { min-height: 0; }
  .cs-cta__artwork { position: relative; top: auto; right: auto; bottom: auto; width: 100%; height: 300px; padding: 0 20px; }
}
@media (prefers-reduced-motion: reduce) { .cs-cta__button { transition: none; } }
