/**
 * Fichier  : /pages/sport-business/hero/assets/css/style.css
 * Fonction : style de l'en-tête des pages Sport Business
 */


/* ==================================================
   HAUTEUR DU HERO
================================================== */

:root {
    --business-hero-height-desktop: clamp(360px, 44vw, 500px);
    --business-hero-height-tablet: 500px;
    --business-hero-height-mobile: 360px;
}


/* ==================================================
   HERO
================================================== */

.business-hero {
    position: relative;
    overflow: hidden;
}

.business-hero {
    min-height: var(--business-hero-height-desktop);
}

.business-hero {
    background: #0b0b0b;
}

.business-hero {
    color: var(--color-white, #fff);
}


/* ==================================================
   BACKGROUND
================================================== */

.business-hero .background {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.business-hero .background {
    width: 100%;
    height: 100%;
}

.business-hero .background {
    background-image: var(--business-hero-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.business-hero .background {
    transform: scale(1.06);
    transform-origin: center;
}

.business-hero .background {
    transition: transform 1.4s cubic-bezier(.22, 1, .36, 1);
}

.business-hero.is-visible .background {
    transform: scale(1.015);
}


/* ==================================================
   OVERLAY
================================================== */

.business-hero .overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.business-hero .overlay {
    pointer-events: none;
}

.business-hero .overlay {
    background:
        radial-gradient(
            circle at 16% 45%,
            rgba(196, 18, 18, .14),
            transparent 34%
        ),
        linear-gradient(
            90deg,
            rgba(7, 7, 7, .96) 0%,
            rgba(7, 7, 7, .90) 24%,
            rgba(7, 7, 7, .72) 43%,
            rgba(7, 7, 7, .42) 62%,
            rgba(7, 7, 7, .22) 82%,
            rgba(7, 7, 7, .18) 100%
        ),
        linear-gradient(
            0deg,
            rgba(0, 0, 0, .72) 0%,
            rgba(0, 0, 0, .30) 30%,
            rgba(0, 0, 0, .08) 62%,
            rgba(0, 0, 0, .16) 100%
        );
}


/* ==================================================
   GRID
================================================== */

.business-hero .overlay::before {
    content: "";
}

.business-hero .overlay::before {
    position: absolute;
    inset: 0;
}

.business-hero .overlay::before {
    background-image:
        linear-gradient(
            rgba(255, 255, 255, .03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, .03) 1px,
            transparent 1px
        );
}

.business-hero .overlay::before {
    background-size: 72px 72px;
}

.business-hero .overlay::before {
    mask-image:
        linear-gradient(
            90deg,
            #000 0%,
            rgba(0, 0, 0, .7) 38%,
            transparent 72%
        );
}

.business-hero .overlay::before {
    opacity: .65;
}


/* ==================================================
   RIGHT ACCENT
================================================== */

.business-hero .overlay::after {
    content: "";
}

.business-hero .overlay::after {
    position: absolute;
    top: 20%;
    right: clamp(22px, 3vw, 48px);
    bottom: 20%;
}

.business-hero .overlay::after {
    width: 2px;
}

.business-hero .overlay::after {
    background:
        linear-gradient(
            180deg,
            rgba(196, 18, 18, .25) 0%,
            rgba(196, 18, 18, .65) 45%,
            rgba(196, 18, 18, .25) 100%
        ),
        repeating-linear-gradient(
            180deg,
            transparent 0%,
            transparent 21%,
            rgba(255, 70, 70, .65) 23%,
            #fff 25%,
            rgba(255, 70, 70, .90) 27%,
            transparent 29%,
            transparent 50%
        );
}

.business-hero .overlay::after {
    background-size:
        100% 100%,
        100% 200%;
}

.business-hero .overlay::after {
    background-position:
        center center,
        center 0%;
}

.business-hero .overlay::after {
    opacity: .95;
}

.business-hero .overlay::after {
    box-shadow:
        0 0 5px rgba(196, 18, 18, .45),
        0 0 12px rgba(196, 18, 18, .22);
}


/* ==================================================
   RIGHT ACCENT — POWERED
================================================== */

.business-hero.is-powered .overlay::after {
    animation: business-hero-current 1.8s linear infinite;
}


/* ==================================================
   ELECTRIC CURRENT
================================================== */

@keyframes business-hero-current {

    0% {
        background-position:
            center center,
            center 0%;

        box-shadow:
            0 0 4px rgba(196, 18, 18, .35),
            0 0 10px rgba(196, 18, 18, .18);
    }

    50% {
        box-shadow:
            0 0 7px rgba(255, 50, 50, .65),
            0 0 18px rgba(196, 18, 18, .35);
    }

    100% {
        background-position:
            center center,
            center -200%;

        box-shadow:
            0 0 4px rgba(196, 18, 18, .35),
            0 0 10px rgba(196, 18, 18, .18);
    }

}


/* ==================================================
   INNER
================================================== */

.business-hero .inner {
    position: relative;
    z-index: 2;
}

.business-hero .inner {
    min-height: var(--business-hero-height-desktop);
}

.business-hero .inner {
    box-sizing: border-box;
    padding:
        clamp(6.5em, 9vw, 8.5em)
        var(--page-padding, clamp(24px, 5vw, 80px))
        3em;
}

.business-hero .inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp(2em, 5vw, 6em);
}


/* ==================================================
   CONTENT
================================================== */

.business-hero .content {
    position: relative;
    z-index: 3;
}

.business-hero .content {
    flex: 0 1 45%;
    width: 45%;
    max-width: 45%;
    min-width: 0;
}

.business-hero .content {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}

.business-hero .content {
    container-type: inline-size;
}


/* ==================================================
   EYEBROW
================================================== */

.business-hero .eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
}

.business-hero .eyebrow {
    font-family: 'bold-font';
    font-size: 8px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: rgba(255, 255, 255, .48);
}

.business-hero .eyebrow i {
    width: 34px;
    height: 1px;
}

.business-hero .eyebrow i {
    display: block;
}

.business-hero .eyebrow i {
    background: var(--color-primary, #c41212);
}


/* ==================================================
   TITLE
================================================== */

.business-hero h1 {
    position: relative;
    z-index: 3;
}

.business-hero h1 {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.business-hero h1 {
    font-family: 'bold-font';
    font-size: clamp(44px, 11cqw, 86px);
    font-weight: 400;
    line-height: .82;
    text-transform: uppercase;
    letter-spacing: -.055em;
    white-space: nowrap;
    color: var(--color-white, #fff);
}

.business-hero h1 {
    text-shadow:
        0 16px 40px rgba(0, 0, 0, .32);
}


/* ==================================================
   NAVIGATION
================================================== */

.business-hero .navigation {
    position: relative;
    z-index: 4;
}

.business-hero .navigation {
    flex: 0 0 auto;
}

.business-hero .navigation {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: clamp(28px, 3vw, 52px);
}


/* ==================================================
   NAVIGATION ITEM
================================================== */

.business-hero .navigation a {
    position: relative;
}

.business-hero .navigation a {
    display: inline-block;
    margin: 0;
    padding: 0;
}

.business-hero .navigation a {
    background: none;
    border: 0;
}

.business-hero .navigation a {
    font-family: 'bold-font';
    font-size: 8px;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .11em;
    text-decoration: none;
    vertical-align: baseline;
    color: rgba(255, 255, 255, .48);
}

.business-hero .navigation a {
    transform: none;
}

.business-hero .navigation a {
    transition:
        color .35s ease,
        transform .4s cubic-bezier(.22, 1, .36, 1);
}


/* ==================================================
   NAVIGATION CLEANUP
================================================== */

.business-hero .navigation a::before,
.business-hero .navigation a::after {
    content: none !important;
    display: none !important;
}

.business-hero .navigation a::before,
.business-hero .navigation a::after {
    width: 0 !important;
    height: 0 !important;
}

.business-hero .navigation a::before,
.business-hero .navigation a::after {
    background: none !important;
    border: 0 !important;
}

.business-hero .navigation a::before,
.business-hero .navigation a::after {
    transform: none !important;
}

.business-hero .navigation a i,
.business-hero .navigation a small {
    display: none !important;
}


/* ==================================================
   CURRENT PAGE
================================================== */

.business-hero .navigation a[aria-current="page"] {
    margin: 0;
    padding: 0;
}

.business-hero .navigation a[aria-current="page"] {
    color: var(--color-primary, #c41212);
}

.business-hero .navigation a[aria-current="page"] {
    transform: none;
}


/* ==================================================
   ENTRANCE
================================================== */

.business-hero .eyebrow,
.business-hero h1,
.business-hero .navigation {
    opacity: 1;
    transform: none;
}


/* ==================================================
   ENTRANCE — JS ACTIVE
================================================== */

.business-hero.has-animation .eyebrow,
.business-hero.has-animation h1 {
    opacity: 0;
    transform: translateY(20px);
}

.business-hero.has-animation .navigation {
    opacity: 0;
    transform: translateY(12px);
}

.business-hero.has-animation .eyebrow,
.business-hero.has-animation h1,
.business-hero.has-animation .navigation {
    transition:
        opacity .75s ease,
        transform .9s cubic-bezier(.22, 1, .36, 1);
}


/* ==================================================
   ENTRANCE — VISIBLE
================================================== */

.business-hero.has-animation.is-visible .eyebrow {
    opacity: 1;
    transform: none;
    transition-delay: .05s;
}

.business-hero.has-animation.is-visible h1 {
    opacity: 1;
    transform: none;
    transition-delay: .12s;
}

.business-hero.has-animation.is-visible .navigation {
    opacity: 1;
    transform: none;
    transition-delay: .19s;
}


/* ==================================================
   DESKTOP INTERACTIONS
================================================== */

@media
    (hover: hover)
    and (pointer: fine) {

    .business-hero .navigation a:not([aria-current="page"]):hover {
        color: var(--color-white, #fff);
        transform: translateY(-2px);
    }

    .business-hero .navigation a[aria-current="page"]:hover {
        color: var(--color-primary, #c41212);
        transform: none;
    }

}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 900px) {

    .business-hero {
        min-height: var(--business-hero-height-tablet);
    }

    .business-hero .inner {
        min-height: var(--business-hero-height-tablet);
    }

    .business-hero .inner {
        padding:
            7em
            var(--page-padding, 28px)
            3em;
    }

    .business-hero .inner {
        gap: clamp(1.5em, 3vw, 3em);
    }


    /* ==================================================
       BACKGROUND
    ================================================== */

    .business-hero .background {
        width: 100%;
        height: 100%;
    }

    .business-hero .background {
        background-position: center;
    }


    /* ==================================================
       CONTENT
    ================================================== */

    .business-hero .content {
        flex-basis: 45%;
        width: 45%;
        max-width: 45%;
    }


    /* ==================================================
       TITLE
    ================================================== */

    .business-hero h1 {
        font-size: clamp(38px, 11cqw, 64px);
        line-height: .84;
        white-space: nowrap;
    }


    /* ==================================================
       NAVIGATION
    ================================================== */

    .business-hero .navigation {
        gap: clamp(18px, 3vw, 30px);
    }

    .business-hero .navigation a {
        font-size: 7px;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 700px) {

    .business-hero {
        min-height: var(--business-hero-height-mobile);
    }

    .business-hero .inner {
        min-height: var(--business-hero-height-mobile);
    }

    .business-hero .inner {
        padding:
            5em
            20px
            1.8em;
    }

    .business-hero .inner {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-end;
        gap: 1.8em;
    }


    /* ==================================================
       BACKGROUND
    ================================================== */

    .business-hero .background {
        inset: 0;
    }

    .business-hero .background {
        width: 100%;
        height: 100%;
    }

    .business-hero .background {
        background-image: var(--business-hero-image-mobile);
        background-position: center;
        background-size: cover;
    }

    .business-hero .background,
    .business-hero.is-visible .background {
        transform: none;
    }


    /* ==================================================
       OVERLAY
    ================================================== */

    .business-hero .overlay {
        background:
            radial-gradient(
                circle at 18% 70%,
                rgba(196, 18, 18, .13),
                transparent 38%
            ),
            linear-gradient(
                90deg,
                rgba(8, 8, 8, .92) 0%,
                rgba(8, 8, 8, .76) 52%,
                rgba(8, 8, 8, .42) 100%
            ),
            linear-gradient(
                0deg,
                rgba(0, 0, 0, .82) 0%,
                rgba(0, 0, 0, .48) 38%,
                rgba(0, 0, 0, .16) 100%
            );
    }

    .business-hero .overlay::before {
        mask-image:
            linear-gradient(
                90deg,
                #000,
                transparent 85%
            );
    }

    .business-hero .overlay::after {
        top: 24%;
        right: 14px;
        bottom: 10%;
    }

    .business-hero .overlay::after {
        display: block;
    }


    /* ==================================================
       CONTENT
    ================================================== */

    .business-hero .content {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }


    /* ==================================================
       TITLE
    ================================================== */

    .business-hero h1 {
        font-size: clamp(42px, 12cqw, 68px);
        line-height: .86;
        white-space: nowrap;
    }


    /* ==================================================
       NAVIGATION
    ================================================== */

    .business-hero .navigation {
        width: 100%;
    }

    .business-hero .navigation {
        align-self: flex-end;
        justify-content: flex-start;
        gap: 16px;
    }

    .business-hero .navigation a,
    .business-hero .navigation a[aria-current="page"] {
        margin: 0;
        padding: 0;
    }

    .business-hero .navigation a,
    .business-hero .navigation a[aria-current="page"] {
        font-size: 7px;
        line-height: 1;
        letter-spacing: .09em;
    }

    .business-hero .navigation a,
    .business-hero .navigation a[aria-current="page"] {
        transform: none;
    }

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media screen and (max-width: 440px) {

    .business-hero .inner {
        padding-right: 18px;
        padding-left: 18px;
    }

    .business-hero .inner {
        gap: 1.8em;
    }


    /* ==================================================
       TITLE
    ================================================== */

    .business-hero h1 {
        font-size: clamp(38px, 12cqw, 56px);
    }


    /* ==================================================
       NAVIGATION
    ================================================== */

    .business-hero .navigation {
        gap: 10px;
    }

    .business-hero .navigation a {
        font-size: 6.5px;
        letter-spacing: .06em;
    }


    /* ==================================================
       RIGHT ACCENT
    ================================================== */

    .business-hero .overlay::after {
        right: 10px;
    }

}


/* ==================================================
   ACCESSIBILITÉ
================================================== */

@media (prefers-reduced-motion: reduce) {

    .business-hero .background,
    .business-hero .eyebrow,
    .business-hero h1,
    .business-hero .navigation,
    .business-hero .navigation a {
        opacity: 1;
        transform: none;
        transition: none;
    }

}