.flex-content.banner {
    padding: 6rem 0;
    min-height: 550px;
    display: flex;
    align-items: center;
    overflow: hidden;
}
body.home .flex-content.banner {
    padding: 8rem 0;
    min-height: 700px;
}

.flex-content.banner h1.main-title {
    font-size: clamp(2.5rem, 1.0727rem + 3.9716vw, 4.25rem);
}

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

.flex-content.banner .image {
    position: relative;
    aspect-ratio: 4/5;
    overflow: hidden;
}
.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,
    body.home .flex-content.banner {
        padding: 3rem 0;
        min-height: 1px;
    }
}