.front-page-v3-cta-footer { position: relative; display: flex; min-height: 390px; align-items: center; justify-content: center; overflow: hidden; padding: 96px 64px; background: #0d0d0d; color: #fff; }
.front-page-v3-cta-footer__image, .front-page-v3-cta-footer__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.front-page-v3-cta-footer__image { object-fit: cover; object-position: center; opacity: 0.3; }
.front-page-v3-cta-footer__overlay { background: rgba(13, 13, 13, -0.45); }
.front-page-v3-cta-footer__wrapper { position: relative; z-index: 1; width: 100%; max-width: 1180px; display: flex; flex-direction: column; align-items: center; gap: 32px; text-align: center; }
.front-page-v3-cta-footer__content { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.front-page-v3-cta-footer__title { margin: 0; color: #fff !important; }
.front-page-v3-cta-footer__text { width: min(100%, 560px); margin: 0; color: #fff !important; }
.front-page-v3-cta-footer__actions { display: flex; align-items: flex-start; justify-content: center; gap: 16px; }
.front-page-v3-cta-footer__button { min-width: 148px; }
.front-page-v3-cta-footer__button--secondary { min-width: 154px; }

@media (max-width: 767px) {
    .front-page-v3-cta-footer { min-height: 488px; padding: 96px 20px; }
    .front-page-v3-cta-footer__image { object-position: center; opacity: 0.3; }
    .front-page-v3-cta-footer__wrapper { max-width: 320px; padding: 0; gap: 32px; justify-content: flex-end; }
    .front-page-v3-cta-footer__title[data-cta-mobile-width="1"] { max-width: var(--fpv3-cta-title-mobile-max-width); }
    .front-page-v3-cta-footer__actions { width: 100%; flex-direction: column; }
    .front-page-v3-cta-footer__button { width: 100%; min-height: 44px; }
}

.front-page-v3-cta-footer.new-solutions-component-spacing { padding-top: var(--ns-desktop-padding-top, 0); padding-bottom: var(--ns-desktop-padding-bottom, 0); }
@media (max-width: 767px) {
    .front-page-v3-cta-footer.new-solutions-component-spacing { padding-top: var(--ns-mobile-padding-top, 0); padding-bottom: var(--ns-mobile-padding-bottom, 0); }
}
