.cta {
    position: relative;
    background: var(--color-white);
    padding-top: 80px;
    padding-bottom: 48px;
}

.cta__bg {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 51%;
    background: var(--color-gray-100);
    z-index: 0;
}

.cta__inner { position: relative; z-index: 1; }

.cta__card {
    position: relative;
    border-radius: var(--radius-md);
    padding: 64px;
    background-color: var(--color-navy);
    background-image: linear-gradient(25.7deg, var(--color-blue-800) 0%, var(--color-blue-700) 100%);
    color: var(--color-white);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
    isolation: isolate;
}

.cta__card-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.18;
    mix-blend-mode: overlay;
    pointer-events: none;
    z-index: 0;
}

.cta__row {
    position: relative;
    z-index: 1;
}

.cta__copy {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cta__title {
    font-weight: 400;
    font-size: 48px;
    line-height: 1.05;
    letter-spacing: -1.92px;
    color: var(--color-white);
}

.cta__title em {
    color: var(--color-blue-200);
    font-style: normal;
}

.cta__lede {
    font-size: 16px;
    line-height: 26px;
}

.cta__action-label {
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
}

@media (max-width: 992px) {
    .cta__card { padding: 40px; }
    .cta__title { font-size: 36px; letter-spacing: -1.2px; }
}

@media (max-width: 640px) {
    .cta { padding-top: 48px; padding-bottom: 32px; }
    .cta__card { padding: 28px; }
    .cta__title { font-size: 28px; letter-spacing: -0.8px; }
}
