.full-width-image-cta {
    position: relative;
    z-index: 1;
    color: var(--white);
}

.full-width-image-cta a:not(.btn-primary):not(.btn-secondary):not(.btn-link) {
    color: var(--white);
}

.full-width-image-cta--homepage {
    padding: 36px 0 86px;
}

.full-width-image-cta:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(25, 0, 7, 0.9) 0%, rgba(22, 40, 81, 0.9) 100%);
}

.full-width-image-cta__text {
    position: relative;
    z-index: 1;
    padding: 0 22px;
}

.full-width-image-cta__bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.full-width-image-cta__text h2 {
    color: var(--white);
}

.full-width-image-cta__text .btn-primary {
    border: none;
}

.full-width-image-cta__text .btn-secondary {
    border: none;
    color: var(--near-black);
    background: var(--white);
}

.full-width-image-cta__text .btn-secondary:before {
    background: var(--sky-color);
}

.full-width-image-cta__text .btn-group {
    margin-top: 20px;
}

.full-width-image-cta__top-curve {
    position: absolute;
    left: 0;
    top: -60px;
    width: 150px;
    z-index: 2;
}

.full-width-image-cta__bottom-curve {
    position: absolute;
    right: -42px;
    bottom: -12px;
    width: 150px;
    z-index: 2;
}

.full-width-image-cta--innerpage + section {
    padding-top: calc(var(--section-margins) + 18px);
}

.full-width-image-cta--innerpage .full-width-image-cta__bottom-curve {
    bottom: -18px;
    width: 100px;
    right: -28px;
}

section:has(+ .full-width-image-cta--innerpage) {
  padding-bottom:  calc(var(--section-margins) + var(--section-margins));
}

.full-width-image-cta--innerpage .full-width-image-cta__top-curve {
    top: -36px;
    width: 100px;
}

@media(min-width: 768px) {
    .full-width-image-cta--homepage {
        padding: 66px 0 76px 0;
    }

    .full-width-image-cta--homepage h2 {
        font-size: 36px;
    }

    .full-width-image-cta__text {
        padding: 0 52px;
    }

    .full-width-image-cta__top-curve {
        top: -75px;
        width: 200px;
    }

    .full-width-image-cta__bottom-curve {
        right: -51px;
        bottom: -50px;
        width: 200px;
    }

    .full-width-image-cta__text .btn-group {
        margin-top: 50px;
        gap: 20px;
    }

    .full-width-image-cta--innerpage + section {
        padding-top: var(--section-margins);
    }

    .full-width-image-cta--innerpage .full-width-image-cta__bottom-curve {
        bottom: -56px;
        width: 200px;
        right: -56px;
    }


    .full-width-image-cta--innerpage .full-width-image-cta__top-curve {
        top: -76px;
        width: 200px;
    }
}

@media(min-width: 1200px) {
    .full-width-image-cta {
        padding-bottom: 116px;
    }

    .full-width-image-cta a:not(.btn-primary):not(.btn-secondary):not(.btn-link) {
        text-decoration: underline;
    }

    .full-width-image-cta a:not(.btn-primary):not(.btn-secondary):not(.btn-link):hover {
        opacity: 0.8;
    }

    .full-width-image-cta:after {
        background: linear-gradient(180deg, rgba(25, 0, 7, 0.6) 0%, rgba(22, 40, 81, 0.6) 100%);
    }

    .full-width-image-cta__top-curve {
        top: -76px;
        width: 332px;
    }

    .full-width-image-cta--homepage {
        padding: 152px 0;
    }

    .full-width-image-cta h2 {
        padding: 0 80px;
    }

    .full-width-image-cta--homepage h2 {
        font-size: 48px;
    }

    .full-width-image-cta__text {
        max-width: 1048px;
        margin: 0 auto;
        padding: 0;
    }

    .full-width-image-cta__text .btn-group {
        gap: 32px;
    }

    section:has(+ .full-width-image-cta--innerpage) {
        padding-bottom:  var(--section-margins);
    }

    .full-width-image-cta--innerpage .full-width-image-cta__top-curve {
        width: 332px;
    }

}

@media(min-width: 1750px) {
    .full-width-image-cta--innerpage .full-width-image-cta__bottom-curve {
        bottom: -134px;
        width: 332px;
        right: -87px;
    }
}

@media(min-width: 1920px) {
    .full-width-image-cta__bottom-curve {
        right: -87px;
        bottom: -76px;
        width: 332px;
    }
}