.vp-fintech-cta {
    background:
        radial-gradient(circle at 50% 18%, rgba(124, 196, 255, 0.14), transparent 34%),
        radial-gradient(circle at 80% 82%, rgba(27, 198, 171, 0.10), transparent 32%),
        #05070d;

    border-top: 1px solid rgba(124, 196, 255, 0.08);
}

.vp-fintech-cta__inner {
    max-width: 1320px;
    text-align: center;
}

.vp-fintech-cta__title {
    max-width: 1180px;
    margin-inline: auto;

    font-size: clamp(52px, 6.8vw, 132px);
    line-height: 0.9;
    letter-spacing: -0.085em;
    font-weight: 720;
}

.vp-fintech-cta__text {
    max-width: 760px;

    margin: 42px auto 0;
}

.vp-fintech-cta__actions {
    margin-top: 58px;
}

.vp-fintech-cta__note {
    display: block;

    margin-top: 46px;

    color: rgba(226, 241, 255, 0.46);

    font-size: 12px;
    line-height: 1.8;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

@media (max-width: 720px) {

    .vp-fintech-cta__title {
        font-size: clamp(40px, 12vw, 72px);
        line-height: 0.96;
    }

    .vp-fintech-cta__text {
        font-size: 16px;
        line-height: 1.7;
    }
}

/* =========================================================
   CTA — CINEMATIC FINALE
========================================================= */

.vp-fintech-cta {
    position: relative;
    overflow: hidden;
}

.vp-fintech-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background:
        linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, .02) 1px, transparent 1px);

    background-size: 92px 92px;

    opacity: .42;

    mask-image:
        linear-gradient(to bottom, transparent, #000 18%, transparent 94%);
}

.vp-fintech-cta::after {
    content: "";
    position: absolute;
    inset: -20%;
    pointer-events: none;

    background:
        radial-gradient(circle at center,
            rgba(124, 196, 255, .14),
            transparent 62%);

    filter: blur(100px);

    opacity: .72;

    animation: fintechCtaAmbient 7s ease-in-out infinite;
}

.vp-fintech-cta__inner {
    position: relative;
    z-index: 2;
}

.vp-fintech-cta__title {
    text-shadow:
        0 26px 90px rgba(0, 0, 0, .42),
        0 0 42px rgba(124, 196, 255, .10);
}

.vp-fintech-cta__actions {
    position: relative;
    display: inline-flex;
    justify-content: center;
}

.vp-fintech-cta__actions::before {
    content: "";
    position: absolute;
    inset: -30px;
    border-radius: 999px;

    background:
        radial-gradient(circle,
            rgba(124, 196, 255, .16),
            transparent 70%);

    filter: blur(30px);

    opacity: .8;

    animation: fintechCtaButtonGlow 4s ease-in-out infinite;
}

.vp-fintech-cta__button {
    position: relative;
    overflow: hidden;
}

.vp-fintech-cta__button::before {
    content: "";
    position: absolute;
    top: 0;
    left: -40%;
    width: 34%;
    height: 100%;

    background:
        linear-gradient(90deg,
            transparent,
            rgba(255, 255, 255, .42),
            transparent);

    transform: skewX(-22deg);

    animation: fintechCtaButtonScan 4.6s ease-in-out infinite;
}

.vp-fintech-cta__note {
    opacity: .68;
    transition:
        opacity .45s ease,
        letter-spacing .45s ease;
}

.vp-fintech-cta:hover .vp-fintech-cta__note {
    opacity: 1;
    letter-spacing: .24em;
}

@keyframes fintechCtaAmbient {

    0%,
    100% {
        transform: scale(1);
        opacity: .58;
    }

    50% {
        transform: scale(1.08);
        opacity: .9;
    }
}

@keyframes fintechCtaButtonGlow {

    0%,
    100% {
        transform: scale(1);
        opacity: .58;
    }

    50% {
        transform: scale(1.08);
        opacity: .95;
    }
}

@keyframes fintechCtaButtonScan {

    0% {
        left: -45%;
        opacity: 0;
    }

    18% {
        opacity: 1;
    }

    55% {
        opacity: 1;
    }

    100% {
        left: 135%;
        opacity: 0;
    }
}

/* Finale motion */

.vp-fintech-cta__title,
.vp-fintech-cta__note,
.vp-fintech-cta__button {
    will-change: transform;
    transition:
        transform .7s cubic-bezier(.16,1,.3,1);
}

.vp-fintech-cta.is-finale-active::after {
    animation:
        fintechCtaAmbient 2.4s ease;
}