body > .banner {
    background-color: var(--white);
    display: flex;
    flex-direction: column;
    gap: 7.5vw;
    margin-inline: 0;
    padding: 8.5vw;
}
body > .banner--casclient {
    padding-bottom: 15vw;
}
.banner__title {
    font-family: var(--ffMBo);
    font-size: 1.875rem;
    line-height: 2.25rem;
    text-align: center;
}
.banner__illustration {
    aspect-ratio: 342/239;
    width: 83vw;
}
.banner__content .illustrationContainer::after {
    background-color: var(--sColor);
    content: "";
    display: block;
    height: 99%;
    position: absolute;
    top: 0;
    width: 4vw;
}
.banner__category {
    color: var(--sColor);
    display: flex;
    font-size: var(--fsCorps);
    gap: var(--fsCorpsLess);
    text-transform: uppercase;
}
.banner__arrow {
    object-fit: contain;
    transform: rotate(180deg);
}
.banner__content {
    display: flex;
    flex-direction: column;
    gap: 3.5vw;
    margin-bottom: 6.5vw;
}
.banner__name {
    font-family: var(--ffMBo);
    width: 90%;
}
.banner__button {
    margin: 0;
    padding-inline: 2.25rem;
    width: fit-content;
}

@media screen and (min-width: 767.98px) {
    .banner__content {
        gap: 2.5vw;
    }
}

@media screen and (min-width: 991.98px) {
    .banner__title {
        font-family: var(--ffMXBo);
        font-size: calc(var(--fsTitleMore) * 1.2);
        line-height: calc(var(--fsTitleH3) * 2.1);
    }
    .banner__container {
        display: flex;
        justify-content: space-between;
    }
    .banner__illustration {
        width: 100%;
    }
    .banner__content {
        gap: 1.5vw;
        margin-bottom: 0;
        position: relative;
        width: 26.5vw;
        padding-bottom: 3.75rem;
    }
    .banner__name {
        font-size: calc(var(--fsTitleH3) * 1.2);
        line-height: 1.875rem;
    }
    .banner__content .illustrationContainer::after {
        height: 98.5%;
        width: 1vw;
    }
    body > .banner {
        padding-bottom: 7.5vw;
    }
    body > .banner--casclient {
        gap: 5vw;
        padding-top: 5vw;
    }
    .banner__button {
        position: absolute;
        bottom: 0;
    }
}

@media screen and (min-width: 1199.98px) {
    body > .banner {
        gap: 3.5vw;
        padding-top: 3.5vw;
    }
    .banner__container {
        gap: 2.5vw;
    }
}

@media screen and (min-width: 1599.98px) {
    body > .banner {
        padding-bottom: 5vw;
    }
    .banner__content .illustrationContainer {
        width: 100%;
    }
    .banner__content .illustrationContainer::after {
        height: 99.25%;
        width: 1vw;
    }
}

@media screen and (min-width: 1919.98px) {
    .banner__content {
        padding-bottom: 4.75rem;
    }
}