.flex-content.banner {
    padding: 4rem 0;
    overflow: hidden;
    background-image: linear-gradient(to bottom, #f8f7f7 0%, #FFFFFF 100%);
}

.flex-content.banner h1.main-title {
    font-size: clamp(2.5rem, 1.4805rem + 2.8369vw, 4rem);
}
.flex-content.banner h1.main-title span {
    color: var(--accent);
}

.flex-content.banner .text {
    margin-top: 1.75rem;
}
.flex-content.banner .text-center .text {
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
}

.flex-content.banner .ctas {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5rem;
    margin-top: 1.75rem;
}
.flex-content.banner .text-center .ctas {
    justify-content: center;
}

.flex-content.banner .image {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: var(--bs-border-radius-xl);
}
.flex-content.banner .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.flex-content.banner .image .caption {
    position: absolute;
    padding: .75rem 1rem;
    background-color: rgba(247, 245, 241, .95);
    max-width: 68%;
    left: 1.25rem;
    bottom: 1.25rem;
}


@media (max-width: 575px) {
    .flex-content.banner {
        padding: 3rem 0;
    }
}