.cta {
    position: relative;
    padding: var(--section-margins) 0;
    background: var(--dark);
    color: var(--white);
}

.half-tab-half-image + .cta {
    z-index: 3;
}

.image-text + .cta {
    z-index: 2;
}

.cta h2 {
    color: var(--white);
    margin: 0 0 20px;
}
.cta h3,
.cta h4,
.cta h5,
.cta h6 {
    color: var(--white);
}

.cta p {
    font-size: 18px;
    padding: 0 5px;
    line-height: 1.611em;
    margin: 0 0 20px;
}

.cta-content .btn-primary {
    padding: 11px 18px;
}

.cta:after {
    content: "";
    position: absolute;
    width: 283px;
    height: 283px;
    left: -180px;
    bottom: -13px;
    background: radial-gradient(50% 50% at 50% 50%, rgba(0, 206, 124, 0.53) 0%, rgba(0, 206, 124, 0) 100%);
}

.cta:before {
    content: "";
    position: absolute;
    width: 283px;
    height: 283px;
    right: -180px;
    top: -12px;
    background: radial-gradient(50% 50% at 50% 50%, rgba(0, 206, 124, 0.53) 0%, rgba(0, 206, 124, 0) 100%);
}

.cta-content {
    position: relative;
    z-index: 1;
}

.cta-content__text a:not(.btn) {
    color: var(--secondary);
}

.cta__arrow {
    display: none;
}

@media(min-width: 768px) {
    .cta {
        padding: 140px 0;
        margin: 102px 0 87px;
    }

    :is(.bg-navy, .bg-navy-dark, .bg-light-gray, .bg-light-yellow) + .cta {
        margin-top: 0;
    }

    .cta h2 {
        font-size: 65px;
        margin: 0 0 20px;
    }

    .cta:before {
        width: 641px;
        height: 641px;
        right: -447px;
        top: -260px;
    }

    .cta:after {
        width: 641px;
        height: 641px;
        left: -447px;
        bottom: -60px;
    }

    .cta__arrow {
        display: none;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .cta__arrow--tablet {
        display: block;
        aspect-ratio: 115.66 / 54.67;
        transform: translate(40px, 0) rotateZ(-32deg);
    }

    .cta-content__text {
        position: relative;
        max-width: 600px;
        margin: 0 auto;
    }

    .cta__round-image-top-left {
        position: absolute;
        right: 19px;
        top: -102px;
        width: 203px;
        height: 203px;
        border-radius: 50%;
        z-index: 1;
        overflow: hidden;
    }

    .cta__round-image-bottom-left {
        position: absolute;
        left: -16px;
        bottom: -87px;
        width: 227px;
        height: 227px;
        border-radius: 50%;
        overflow: hidden;
        z-index: 1;
    }
}


@media(min-width: 1200px) {
    .cta__round-image-right {
        position: absolute;
        right: 33px;
        bottom: 33px;
        width: 224px;
        height: 224px;
        border-radius: 50%;
        overflow: hidden;
        z-index: 1;
    }

    .cta__round-image-top-left {
        right: unset;
        top: -63px;
        width: 221px;
        left: 28px;
        height: 221px;
    }

    .cta__round-image-bottom-left {
        left: 141px;
        bottom: 46px;
        width: 202px;
        height: 202px;
    }

    .cta:after {
        left: -167px;
        bottom: unset;
        top: -117px;
    }

    .cta:before {
        right: -321px;
        top: 42px;
    }

    .cta h2 {
        font-size: 85px;
        line-height: normal;
    }

    .cta__arrow--tablet {
        display: none;
    }

    .cta__arrow--desktop {
        display: block;
        aspect-ratio: 182.57 / 86.3;
        transform: translate(75px, 0) rotateZ(-32deg);
    }

    .btn-group + .cta__arrow + .cta__arrow--desktop {
        transform: translate(75px, -28px) rotateZ(-32deg);
    }

    .cta {
        margin: 63px 0 0;
    }

    .cta-content .btn-primary:hover {
        color: var(--dark);
        background: var(--white);
    }
}


@media(min-width: 1600px) {
    .cta__round-image-right {
        right: 73px;
        bottom: 113px;
        width: 304px;
        height: 304px;
    }

    .cta__round-image-top-left {
        top: -63px;
        left: 48px;
        width: 301px;
        height: 301px
    }

    .cta__round-image-bottom-left {
        left: 221px;
        bottom: 46px;

        width: 242px;
        height: 242px;
    }
}