.at-ctaBanner {
    position: relative;
}

.at-ctaBanner__inner {
    display: flex;
    flex-direction: column;
    gap: var(--marginSmallMedium);
    position: relative;
    border-radius: var(--borderRadiusLarge);
    background-color: var(--primaryColor500);
}

.at-ctaBanner__inner:after {
    display: none;
}

.at-ctaBanner__contentWrapper {
    padding: var(--marginMedium) clamp(2rem, 8vw, 4rem) 0;
    text-align: center;
    z-index: 1;
}

.at-ctaBanner__title,
.at-ctaBanner__pretitle {
    margin-bottom: var(--marginSmall);
    color: var(--baseLight100);
}

.at-ctaBanner__pretitle {
    display: block;
    font-size: var(--rootSize);
}

.at-ctaBanner .u-buttonWrapper {
    justify-content: center;
}

.at-ctaBanner__imageWrapper {
    max-height: 300px;
}

.at-ctaBanner__inner:after,
.at-ctaBanner__imageWrapper:after {
    position: absolute;
    inset: 0;
    background-color: var(--secondaryColor500);
    content: '';
    border-radius: var(--borderRadiusLarge);
    overflow: clip;
}

.at-ctaBanner__imageWrapper:after {
    clip-path: ellipse(110% 75% at 50% 140%);
}

.at-ctaBanner__image {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    max-height: 300px;
    object-fit: contain;
    z-index: 1;
}

@media (min-width: 400px) {
    .at-ctaBanner__imageWrapper:after {
        clip-path: ellipse(110% 85% at 50% 140%)
    }
}

@media (min-width: 992px) {
    .at-ctaBanner__inner:after {
        display: block;
        clip-path: ellipse(40% 150% at 100% 50%);
    }

    .at-ctaBanner__contentWrapper {
        max-width: 60%;
        text-align: left;
        padding: var(--marginMediumLarge) 2rem var(--marginMediumLarge) 4rem;
    }

    .at-ctaBanner__image {
        max-height: none;
        max-width: 640px;
    }

    .at-ctaBanner .u-buttonWrapper {
        justify-content: flex-start;
    }

    .at-ctaBanner__imageWrapper {
        position: absolute;
        top: -50px;
        right: 0;
        bottom: 0;
        max-height: none;
    }

    .at-ctaBanner__imageWrapper:after {
        display: none;
    }
}
