.hero {
    aspect-ratio: 5/2;

    @media screen and (max-width: 1440px) {
        min-height: 250px;
        aspect-ratio: unset;
    }

    > div {
        @media screen and (max-width: 1440px) {
            min-height: 250px;
        }
    }
}
.home-hero {
    height: 845px;
}
.home-hero, .hero {
    z-index: 1;
    position: relative;
    width: 100%;

    h1, h2, #breadcrumbs, span.h1 {
        text-shadow: 0 4px 26px rgb(0, 0, 0);
    }

    .swiper-slide {
        position: relative;
        width: 100% !important;
        height: 100% !important;
    }

    .home-hero-carousel {
        width: 100%;
        height: 100%;
    }

    .home-hero__slide {
        position: relative;
        width: 100%;
        height: 100%;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .home-hero__slide-content {
            z-index: 2;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;

            h2 {
                color: #FFF !important;
                font-family: var(--font-livvic) !important;
                font-size: 50px !important;
                font-weight: 600 !important;
                line-height: 58px !important;
                max-width: 700px;
            }
        }
    }

    .home-hero-carousel__pagination {
        --swiper-pagination-right: calc(var(--spacing) * 8);
        --swiper-pagination-bullet-size: 24px;
        --swiper-pagination-bullet-inactive-color: #fff;
        --swiper-pagination-bullet-inactive-opacity: 1;
        --swiper-pagination-bullet-vertical-gap: 16px;

        z-index: 11;
        position: absolute;
    }
}

.home-goals {
    position: relative;
    padding-top: 450px;
    padding-bottom: 150px;
    background-color: var(--color-primary-lighter);

    @media screen and (max-width: 991px) {
        padding-top: 600px;
        overflow: hidden;
    }

    .home-goals__content {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: calc(var(--spacing) * 32);

        @media screen and (max-width: 1024px) {
            gap: calc(var(--spacing) * 8);
        }

        .tabs__panels > div {
            position: relative;
            z-index: 100;
        }
    }

    .home-goals__image {
        position: relative;
        z-index: 1;

        img {
            position: relative;
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: grayscale(100%);
            border-radius: var(--radius-semilarge);
            mix-blend-mode: color;
        }

        &::before {
            border-radius: 50%;
            mix-blend-mode: overlay;
            z-index: 3;
            content: "";
            position: absolute;
            width: 357px;
            height: 357px;
            aspect-ratio: 1/1;
            transition: all .5s allow-discrete;
            top: 50%;
            left: 50%;
            transform: translateX(-50%) translateY(-50%);

            @media screen and (max-width: 991px) {
                width: 250px;
                height: 250px;
            }
        }
        &.innovation::before {
            background: var(--color-primary) !important;
        }
        &.prevention::before {
            background: var(--color-secondary) !important;
        }
        &.recherche::before {
            background: var(--color-alt) !important;
        }
        &.top-left::before {
            background: var(--color-primary);
            margin-top: -20%;
            margin-left: -35%;
        }
        &.top-right::before {
            background: var(--color-primary);
            margin-top: -20%;
            margin-left: 35%;
        }
        &.bottom-left::before {
            background: var(--color-primary);
            margin-top: 20%;
            margin-left: -35%;
        }
        &.bottom-right::before {
            background: var(--color-primary);
            margin-top: 20%;
            margin-left: 35%;
        }

        &::after {
            z-index: 2;
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border-radius: var(--radius-semilarge);
            background: linear-gradient(
                180deg,
                rgba(0, 0, 0, 0.00) 40.86%,
                rgba(0, 0, 0, 0.70) 100%
            );
        }

        .home-goals__image-text {
            z-index: 3;
            position: absolute;
            bottom: calc(var(--spacing) * 6);
            right: calc(var(--spacing) * 8);
            color: #fff !important;
            font-family: var(--font-livvic) !important;
            font-size: 40px !important;
            font-weight: 700 !important;
            line-height: 1;
        }
    }
}

.home-rapid-access {
    border-radius: var(--radius-semilarge);
}

.home-support-search-grid-desktop__wrapper {
    display: none;

    @media screen and (min-width: 1280px) {
        display: block;
        padding-left: calc(var(--spacing) * 40);
    }

    .home-support-search-grid-desktop {
        display: grid;
        grid-template-columns: 500px minmax(0, 1fr);
        gap: calc(var(--spacing) * 16);
    }
}
.home-support-search-grid-mobile__wrapper {
    display: block;

    @media screen and (min-width: 1280px) {
        display: none;
    }
}
.home-support-search__logos {
    padding-inline: calc(var(--spacing) * 40);

    @media screen and (max-width: 1280px) {
        padding-inline: 0;
        width: calc(100% - 2rem);
        margin: 0 auto;
    }

    .home-support-search__logos-content {
        display: flex;
        align-items: center;
        gap: calc(var(--spacing) * 16);
        height: 150px;
        background-color: var(--color-primary-dark-80);
        border-radius: var(--radius-semilarge);
        padding-inline: calc(var(--spacing) * 8);
        padding-block: calc(var(--spacing) * 4);
        margin-top: calc(var(--spacing) * 16);
        overflow: hidden;

        @media screen and (max-width: 1280px) {
            gap: calc(var(--spacing) * 8);
            padding-block: calc(var(--spacing) * 8);
            flex-direction: column;
            height: 200px;
        }
    }
}

@media screen and (max-width: 768px) {
    .home-goals {
        .home-goals__content {
            display: flex;
            flex-direction: column;
            gap: calc(var(--spacing) * 32);
        }
    }
}
