* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    overflow-x: hidden;
    color: #f8f8ff;
    font-family:
        Arial,
        Helvetica,
        sans-serif;
    background:
        #040611;
}

body.cdv-loading {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
}

.world-home {
    position: relative;
    min-height: 100vh;
    isolation: isolate;
}

.world-noise {
    position: fixed;
    z-index: 200;
    inset: 0;
    pointer-events: none;
    opacity: .035;
    background-image:
        url(
            "data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"
        );
}

/* =========================================================
   PRÉCHARGEMENT
========================================================= */

.world-loader {
    position: fixed;
    z-index: 9999;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding:
        clamp(
            25px,
            4vw,
            60px
        );
    background:
        #050611;
    transition:
        opacity .8s ease,
        visibility .8s ease;
}

.world-loader.hidden {
    opacity: 0;
    visibility: hidden;
}

.world-loader-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color:
        rgba(236, 233, 249, .55);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.world-loader-center {
    align-self: center;
    text-align: center;
}

.world-loader-brand {
    color: #ffffff;
    font-size:
        clamp(
            34px,
            6vw,
            88px
        );
    font-weight: 950;
    letter-spacing: -.06em;
    text-transform: uppercase;
}

.world-loader-number {
    margin-top: 12px;
    color:
        rgba(194, 178, 255, .68);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .18em;
}

.world-loader-bottom {
    position: relative;
    height: 1px;
    overflow: hidden;
    background:
        rgba(255, 255, 255, .10);
}

.world-loader-progress {
    position: absolute;
    inset:
        0 auto 0 0;
    width: 0;
    background:
        linear-gradient(
            90deg,
            #8569ff,
            #64ddff
        );
    box-shadow:
        0 0 20px
        rgba(100, 221, 255, .70);
}

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

.world-nav {
    position: absolute;
    z-index: 100;
    top: 0;
    left: 50%;
    width:
        min(
            1500px,
            calc(100% - 48px)
        );
    min-height: 90px;
    transform:
        translateX(-50%);
    display: grid;
    grid-template-columns:
        1fr auto 1fr;
    align-items: center;
    gap: 30px;
    border-bottom:
        1px solid
        rgba(255, 255, 255, .12);
}

.world-brand {
    justify-self: start;
    color: #ffffff;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.world-menu {
    display: flex;
    align-items: center;
    gap:
        clamp(
            15px,
            2.4vw,
            37px
        );
}

.world-menu a {
    color:
        rgba(238, 236, 249, .46);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
    transition:
        color .25s ease;
}

.world-menu a:hover,
.world-menu a.active {
    color: #ffffff;
}

.world-nav-status {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color:
        rgba(235, 232, 246, .48);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.world-nav-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background:
        #55e5aa;
    box-shadow:
        0 0 17px
        rgba(85, 229, 170, .90);
    animation:
        worldPulse
        2.2s ease-in-out infinite;
}

/* =========================================================
   HERO CINÉMATIQUE — TROPHÉE PRIORITAIRE
========================================================= */

.world-hero {
    position: relative;
    min-height:
        max(
            860px,
            100svh
        );
    overflow: hidden;
    display: flex;
    align-items: stretch;
    background:
        #050713;
    isolation: isolate;
}

/* ---------------------------------------------------------
   WALLPAPER
--------------------------------------------------------- */

.world-hero-bg {
    position: absolute;
    z-index: -10;
    inset: -3%;
    background:
        url("/static/WALLPAPER.png")
        center center / cover
        no-repeat;
    transform:
        scale(1.055);
    will-change:
        transform;
}

.world-hero-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            ellipse at 50% 42%,
            transparent 0%,
            rgba(3, 5, 18, .02) 30%,
            rgba(3, 5, 18, .12) 52%,
            rgba(3, 5, 18, .67) 100%
        );
}

.world-hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(3, 5, 18, .32) 0%,
            rgba(3, 5, 18, .03) 28%,
            rgba(3, 5, 18, .02) 52%,
            rgba(3, 5, 18, .30) 76%,
            #040611 100%
        );
}

/* ---------------------------------------------------------
   ÉCLAIRAGE CENTRAL
--------------------------------------------------------- */

.world-hero-light {
    position: absolute;
    z-index: -7;
    top: 43%;
    left: 50%;
    width: 740px;
    height: 740px;
    transform:
        translate(-50%, -50%);
    pointer-events: none;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(132, 170, 255, .08),
            rgba(118, 84, 255, .05) 38%,
            transparent 69%
        );
    filter:
        blur(20px);
    animation:
        cinematicHeroLight
        7s ease-in-out infinite;
}

/* ---------------------------------------------------------
   TRAITS DE PROFONDEUR
--------------------------------------------------------- */

.world-hero-depth {
    position: absolute;
    z-index: -5;
    inset: 0;
    pointer-events: none;
    opacity: .25;
    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(114, 196, 255, .08) 50%,
            transparent 100%
        );
    mask-image:
        linear-gradient(
            180deg,
            transparent 12%,
            black 38%,
            black 68%,
            transparent 92%
        );
}

.world-hero-depth::before,
.world-hero-depth::after {
    content: "";
    position: absolute;
    top: 47%;
    width: 26vw;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(157, 133, 255, .50)
        );
}

.world-hero-depth::before {
    left: 0;
}

.world-hero-depth::after {
    right: 0;
    transform:
        scaleX(-1);
}

/* ---------------------------------------------------------
   CONTENU GLOBAL
--------------------------------------------------------- */

.world-hero-content {
    position: relative;
    z-index: 5;
    width:
        min(
            1500px,
            calc(100% - 48px)
        );
    min-height:
        max(
            860px,
            100svh
        );
    margin: auto;
    padding:
        145px 0
        78px;
    display: grid;
    grid-template-columns:
        minmax(330px, 470px)
        minmax(250px, 1fr)
        minmax(260px, 340px);
    grid-template-rows:
        1fr auto;
    align-items: end;
    gap:
        35px
        55px;
}

/* ---------------------------------------------------------
   BLOC TEXTE À GAUCHE
--------------------------------------------------------- */

.world-hero-copy-panel {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    max-width: 470px;
    padding-bottom: 25px;
}

.world-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color:
        rgba(235, 231, 248, .66);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .21em;
    text-transform: uppercase;
}

.world-hero-kicker::before {
    content: "";
    width: 31px;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            #8a6eff,
            #64dcff
        );
    box-shadow:
        0 0 14px
        rgba(100, 220, 255, .50);
}

.world-hero-title {
    margin:
        19px 0 0;
    color: #ffffff;
    font-size:
        clamp(
            62px,
            6.1vw,
            105px
        );
    font-weight: 950;
    line-height: .78;
    letter-spacing: -.077em;
    text-transform: uppercase;
    text-shadow:
        0 20px 60px
        rgba(0, 0, 0, .52);
}

.world-hero-title span {
    display: block;
    margin: 0;
    color: transparent;
    background:
        linear-gradient(
            105deg,
            #ffffff 0%,
            #ded8ff 35%,
            #a58aff 67%,
            #68d8ff 100%
        );
    -webkit-background-clip:
        text;
    background-clip:
        text;
}

.world-hero-copy {
    max-width: 420px;
    margin:
        23px 0 0;
    color:
        rgba(229, 226, 242, .58);
    font-size: 12px;
    line-height: 1.7;
}

.world-hero-copy strong {
    color:
        rgba(255, 255, 255, .94);
}

.world-hero-action {
    margin-top: 25px;
    display: inline-flex;
    align-items: center;
    gap: 18px;
    min-height: 46px;
    padding:
        0 9px
        0 19px;
    border:
        1px solid
        rgba(173, 147, 255, .40);
    border-radius: 100px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            rgba(92, 64, 212, .84),
            rgba(59, 136, 210, .70)
        );
    box-shadow:
        0 18px 45px
        rgba(43, 48, 157, .25),
        inset 0 1px 0
        rgba(255, 255, 255, .15);
    font-size: 7px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
    backdrop-filter:
        blur(15px);
    -webkit-backdrop-filter:
        blur(15px);
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.world-hero-action:hover {
    transform:
        translateY(-4px);
    box-shadow:
        0 24px 55px
        rgba(53, 62, 185, .36),
        0 0 30px
        rgba(102, 207, 255, .13);
}

.world-hero-action-arrow {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #171321;
    background: #ffffff;
    font-size: 12px;
}

/* ---------------------------------------------------------
   ZONE CENTRALE VIDE
   Le trophée reste entièrement visible.
--------------------------------------------------------- */

.world-hero-center-space {
    grid-column: 2;
    grid-row: 1;
    align-self: stretch;
    pointer-events: none;
}

/* ---------------------------------------------------------
   CHAMPION À DROITE
--------------------------------------------------------- */

.world-champion-card {
    position: relative;
    grid-column: 3;
    grid-row: 1;
    align-self: end;
    min-height: 325px;
    padding: 1px;
    margin-bottom: 25px;
    overflow: hidden;
    border-radius: 22px;
    isolation: isolate;
    transform-style: preserve-3d;
    box-shadow:
        0 35px 100px
        rgba(0, 0, 0, .46),
        0 0 55px
        rgba(151, 99, 255, .10);
    transition:
        transform .35s
        cubic-bezier(
            .2,
            .75,
            .25,
            1
        ),
        box-shadow .35s ease;
}

/* Bordure dorée/violette en mouvement continu */
.world-champion-card::before {
    content: "";
    position: absolute;
    z-index: -3;
    inset: -130%;
    background:
        conic-gradient(
            from 0deg,
            transparent 0deg,
            transparent 55deg,
            rgba(112, 217, 255, .22) 78deg,
            rgba(172, 132, 255, .72) 105deg,
            rgba(255, 210, 116, .98) 132deg,
            rgba(172, 132, 255, .72) 158deg,
            rgba(112, 217, 255, .20) 182deg,
            transparent 208deg,
            transparent 360deg
        );
    animation:
        honorBorderSpin
        7s linear infinite;
}

/* Aura extérieure */
.world-champion-card::after {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 1px;
    border-radius: 21px;
    background:
        radial-gradient(
            circle at 50% 25%,
            rgba(127, 83, 255, .18),
            transparent 47%
        ),
        radial-gradient(
            circle at 50% 100%,
            rgba(255, 191, 89, .12),
            transparent 47%
        ),
        linear-gradient(
            145deg,
            rgba(13, 14, 40, .96),
            rgba(8, 9, 27, .93)
        );
}

.world-champion-card:hover {
    transform:
        translateY(-8px)
        scale(1.015);
    box-shadow:
        0 45px 120px
        rgba(0, 0, 0, .52),
        0 0 75px
        rgba(154, 103, 255, .18),
        0 0 35px
        rgba(255, 196, 91, .10);
}

/* ---------------------------------------------------------
   CONTENU INTÉRIEUR
--------------------------------------------------------- */

.world-champion-honor-inner {
    position: relative;
    z-index: 2;
    min-height: 323px;
    overflow: hidden;
    padding:
        22px 23px
        20px;
    border:
        1px solid
        rgba(255, 255, 255, .055);
    border-radius: 21px;
    background:
        linear-gradient(
            145deg,
            rgba(18, 17, 48, .77),
            rgba(8, 10, 30, .66)
        );
    backdrop-filter:
        blur(23px)
        saturate(1.22);
    -webkit-backdrop-filter:
        blur(23px)
        saturate(1.22);
}

/* Reflet qui traverse périodiquement la carte */
.world-champion-honor-inner::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: -45%;
    bottom: -45%;
    left: -55%;
    width: 30%;
    pointer-events: none;
    opacity: 0;
    transform:
        rotate(18deg);
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, .13),
            rgba(255, 222, 155, .17),
            transparent
        );
    filter:
        blur(3px);
    animation:
        honorCardShine
        6.5s ease-in-out infinite;
}

/* Halo atmosphérique permanent */
.world-champion-honor-inner::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 290px;
    height: 290px;
    left: 50%;
    top: 43%;
    transform:
        translate(-50%, -50%);
    border-radius: 50%;
    pointer-events: none;
    background:
        radial-gradient(
            circle,
            rgba(140, 90, 255, .17),
            rgba(74, 171, 255, .055) 43%,
            transparent 69%
        );
    animation:
        honorAuraPulse
        4.8s ease-in-out infinite;
}

/* ---------------------------------------------------------
   COURONNE
--------------------------------------------------------- */

.world-champion-crown {
    position: relative;
    z-index: 3;
    width: 58px;
    height: 44px;
    margin:
        -3px auto
        5px;
    display: grid;
    place-items: center;
    color:
        #ffd778;
    filter:
        drop-shadow(
            0 0 9px
            rgba(255, 202, 92, .55)
        );
    animation:
        honorCrownFloat
        3.2s ease-in-out infinite;
}

.world-champion-crown::before {
    content: "";
    position: absolute;
    width: 38px;
    height: 25px;
    bottom: 5px;
    clip-path:
        polygon(
            0 100%,
            5% 28%,
            30% 61%,
            50% 0,
            70% 61%,
            95% 28%,
            100% 100%
        );
    background:
        linear-gradient(
            135deg,
            #fff0ac,
            #d89c31 48%,
            #ffe694
        );
    box-shadow:
        0 0 22px
        rgba(255, 196, 77, .42);
}

.world-champion-crown::after {
    content: "";
    position: absolute;
    width: 39px;
    height: 4px;
    bottom: 2px;
    border-radius: 50px;
    background:
        linear-gradient(
            90deg,
            #b87c25,
            #ffe797,
            #b87c25
        );
    box-shadow:
        0 0 13px
        rgba(255, 205, 91, .45);
}

/* Étoile au-dessus de la couronne */
.world-crown-star {
    position: absolute;
    top: -5px;
    left: 50%;
    transform:
        translateX(-50%);
    color:
        #fff1b2;
    font-size: 11px;
    text-shadow:
        0 0 12px
        rgba(255, 220, 127, .95);
    animation:
        honorStarBlink
        2.2s ease-in-out infinite;
}

/* ---------------------------------------------------------
   EN-TÊTE
--------------------------------------------------------- */

.world-champion-card-top {
    position: relative;
    z-index: 3;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3px;
    color:
        rgba(233, 228, 247, .41);
    font-size: 6px;
    font-weight: 950;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.world-champion-card-top::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 64px;
    height: 1px;
    transform:
        translate(-50%, -50%);
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 211, 117, .35),
            transparent
        );
}

.world-champion-rank {
    color:
        rgba(255, 215, 123, .93);
    text-shadow:
        0 0 12px
        rgba(255, 201, 91, .30);
}

/* ---------------------------------------------------------
   IDENTITÉ DU CHAMPION
--------------------------------------------------------- */

.world-champion-main {
    position: relative;
    z-index: 3;
    margin-top: 30px;
    display: flex;
    align-items: center;
    gap: 19px;
}

.world-champion-avatar-shell {
    position: relative;
    width: 88px;
    height: 88px;
    flex:
        0 0 88px;
    display: grid;
    place-items: center;
}

/* Orbite extérieure */
.world-champion-avatar-shell::before {
    content: "";
    position: absolute;
    inset: -6px;
    border:
        1px solid
        rgba(255, 212, 117, .44);
    border-radius: 50%;
    border-left-color:
        transparent;
    border-bottom-color:
        rgba(146, 116, 255, .44);
    box-shadow:
        0 0 20px
        rgba(255, 198, 89, .10);
    animation:
        honorAvatarOrbit
        6s linear infinite;
}

/* Deuxième orbite inversée */
.world-champion-avatar-shell::after {
    content: "";
    position: absolute;
    inset: -12px;
    border:
        1px dashed
        rgba(138, 192, 255, .19);
    border-radius: 50%;
    border-right-color:
        transparent;
    animation:
        honorAvatarOrbitReverse
        10s linear infinite;
}

.world-avatar {
    position: relative;
    z-index: 2;
    width: 76px;
    height: 76px;
    overflow: hidden;
    display: grid;
    place-items: center;
    border:
        1px solid
        rgba(255, 216, 126, .82);
    border-radius: 50%;
    background:
        linear-gradient(
            145deg,
            rgba(127, 84, 244, .55),
            rgba(50, 171, 224, .40)
        );
    color: #ffffff;
    font-size: 18px;
    font-weight: 950;
    box-shadow:
        0 0 0 4px
        rgba(255, 210, 112, .055),
        0 14px 35px
        rgba(0, 0, 0, .42),
        0 0 27px
        rgba(255, 199, 82, .13);
    animation:
        honorAvatarBreath
        4s ease-in-out infinite;
}

.world-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.world-champion-copy {
    min-width: 0;
}

.world-champion-title-label {
    color:
        rgba(255, 216, 126, .80);
    font-size: 6px;
    font-weight: 950;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.world-champion-name {
    margin-top: 6px;
    color: #ffffff;
    font-size:
        clamp(
            26px,
            2.5vw,
            39px
        );
    font-weight: 950;
    letter-spacing: -.050em;
    line-height: .95;
    text-shadow:
        0 8px 25px
        rgba(0, 0, 0, .43);
}

.world-champion-record {
    margin-top: 9px;
    color:
        rgba(229, 223, 243, .48);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}

/* ---------------------------------------------------------
   PIED ET COMPTEUR MVP
--------------------------------------------------------- */

.world-champion-footer {
    position: relative;
    z-index: 3;
    margin-top: 30px;
    padding-top: 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top:
        1px solid
        rgba(255, 255, 255, .08);
}

.world-champion-footer-label {
    display: flex;
    align-items: center;
    gap: 8px;
    color:
        rgba(228, 221, 243, .40);
    font-size: 6px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.world-champion-footer-label::before {
    content: "✦";
    color:
        #ffd779;
    font-size: 9px;
    text-shadow:
        0 0 12px
        rgba(255, 207, 103, .75);
}

.world-champion-mvp-count {
    position: relative;
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    color:
        #ffda7e;
    text-shadow:
        0 0 15px
        rgba(255, 201, 83, .38);
    animation:
        honorMvpGlow
        2.8s ease-in-out infinite;
}

.world-champion-mvp-number {
    font-size: 19px;
    font-weight: 950;
    line-height: 1;
}

.world-champion-mvp-word {
    font-size: 7px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* ---------------------------------------------------------
   PARTICULES
--------------------------------------------------------- */

.world-honor-particles {
    position: absolute;
    z-index: 1;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.world-honor-particle {
    position: absolute;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background:
        #ffdf8c;
    box-shadow:
        0 0 10px
        rgba(255, 213, 119, .85);
    opacity: 0;
}

.world-honor-particle:nth-child(1) {
    left: 12%;
    bottom: 14%;
    animation:
        honorParticleOne
        5.4s ease-in-out infinite;
}

.world-honor-particle:nth-child(2) {
    left: 31%;
    bottom: 6%;
    animation:
        honorParticleTwo
        6.2s ease-in-out 1s infinite;
}

.world-honor-particle:nth-child(3) {
    right: 20%;
    bottom: 9%;
    animation:
        honorParticleThree
        5.8s ease-in-out .5s infinite;
}

.world-honor-particle:nth-child(4) {
    right: 8%;
    bottom: 18%;
    animation:
        honorParticleFour
        6.8s ease-in-out 1.8s infinite;
}

.world-honor-particle:nth-child(5) {
    left: 48%;
    bottom: 3%;
    width: 2px;
    height: 2px;
    animation:
        honorParticleFive
        5.9s ease-in-out 2.2s infinite;
}

.world-honor-particle:nth-child(6) {
    left: 7%;
    bottom: 35%;
    width: 2px;
    height: 2px;
    animation:
        honorParticleSix
        7.1s ease-in-out .8s infinite;
}

/* ---------------------------------------------------------
   ANIMATIONS
--------------------------------------------------------- */

@keyframes honorBorderSpin {

    from {
        transform:
            rotate(0deg);
    }

    to {
        transform:
            rotate(360deg);
    }

}

@keyframes honorCardShine {

    0%,
    16% {
        left: -55%;
        opacity: 0;
    }

    24% {
        opacity: .75;
    }

    41% {
        left: 130%;
        opacity: 0;
    }

    100% {
        left: 130%;
        opacity: 0;
    }

}

@keyframes honorAuraPulse {

    0%,
    100% {
        opacity: .62;
        transform:
            translate(-50%, -50%)
            scale(.94);
    }

    50% {
        opacity: 1;
        transform:
            translate(-50%, -50%)
            scale(1.10);
    }

}

@keyframes honorCrownFloat {

    0%,
    100% {
        transform:
            translateY(0);
    }

    50% {
        transform:
            translateY(-5px);
    }

}

@keyframes honorStarBlink {

    0%,
    100% {
        opacity: .50;
        transform:
            translateX(-50%)
            scale(.80)
            rotate(0deg);
    }

    50% {
        opacity: 1;
        transform:
            translateX(-50%)
            scale(1.18)
            rotate(90deg);
    }

}

@keyframes honorAvatarOrbit {

    from {
        transform:
            rotate(0deg);
    }

    to {
        transform:
            rotate(360deg);
    }

}

@keyframes honorAvatarOrbitReverse {

    from {
        transform:
            rotate(360deg);
    }

    to {
        transform:
            rotate(0deg);
    }

}

@keyframes honorAvatarBreath {

    0%,
    100% {
        box-shadow:
            0 0 0 4px
            rgba(255, 210, 112, .055),
            0 14px 35px
            rgba(0, 0, 0, .42),
            0 0 22px
            rgba(255, 199, 82, .10);
    }

    50% {
        box-shadow:
            0 0 0 6px
            rgba(255, 210, 112, .08),
            0 16px 40px
            rgba(0, 0, 0, .46),
            0 0 35px
            rgba(255, 199, 82, .22);
    }

}

@keyframes honorMvpGlow {

    0%,
    100% {
        filter:
            brightness(.92);
    }

    50% {
        filter:
            brightness(1.25);
    }

}

@keyframes honorParticleOne {

    0% {
        opacity: 0;
        transform:
            translate3d(0, 0, 0)
            scale(.6);
    }

    35% {
        opacity: .85;
    }

    100% {
        opacity: 0;
        transform:
            translate3d(20px, -190px, 0)
            scale(1.1);
    }

}

@keyframes honorParticleTwo {

    0% {
        opacity: 0;
        transform:
            translate3d(0, 0, 0);
    }

    30% {
        opacity: .70;
    }

    100% {
        opacity: 0;
        transform:
            translate3d(-14px, -230px, 0);
    }

}

@keyframes honorParticleThree {

    0% {
        opacity: 0;
        transform:
            translate3d(0, 0, 0);
    }

    40% {
        opacity: .80;
    }

    100% {
        opacity: 0;
        transform:
            translate3d(-22px, -205px, 0);
    }

}

@keyframes honorParticleFour {

    0% {
        opacity: 0;
        transform:
            translate3d(0, 0, 0);
    }

    35% {
        opacity: .60;
    }

    100% {
        opacity: 0;
        transform:
            translate3d(12px, -180px, 0);
    }

}

@keyframes honorParticleFive {

    0% {
        opacity: 0;
        transform:
            translate3d(0, 0, 0);
    }

    33% {
        opacity: .75;
    }

    100% {
        opacity: 0;
        transform:
            translate3d(9px, -250px, 0);
    }

}

@keyframes honorParticleSix {

    0% {
        opacity: 0;
        transform:
            translate3d(0, 0, 0);
    }

    30% {
        opacity: .65;
    }

    100% {
        opacity: 0;
        transform:
            translate3d(17px, -150px, 0);
    }

}

/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 760px) {

    .world-champion-card {
        min-height: 285px;
        margin-top: 20px;
    }

    .world-champion-honor-inner {
        min-height: 283px;
        padding:
            18px;
    }

    .world-champion-crown {
        margin-bottom: 0;
        transform:
            scale(.88);
    }

    .world-champion-main {
        margin-top: 21px;
    }

    .world-champion-avatar-shell {
        width: 69px;
        height: 69px;
        flex-basis: 69px;
    }

    .world-avatar {
        width: 58px;
        height: 58px;
    }

    .world-champion-name {
        font-size: 29px;
    }

    .world-champion-footer {
        margin-top: 23px;
    }

}

/* ---------------------------------------------------------
   ACCESSIBILITÉ
--------------------------------------------------------- */

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

    .world-champion-card::before,
    .world-champion-honor-inner::before,
    .world-champion-honor-inner::after,
    .world-champion-crown,
    .world-crown-star,
    .world-champion-avatar-shell::before,
    .world-champion-avatar-shell::after,
    .world-avatar,
    .world-champion-mvp-count,
    .world-honor-particle {
        animation: none !important;
    }

}

/* ---------------------------------------------------------
   PIED DU HERO
--------------------------------------------------------- */

.world-hero-footer {
    grid-column:
        1 / -1;
    grid-row: 2;
    padding-top: 23px;
    display: grid;
    grid-template-columns:
        1fr auto 1fr;
    align-items: center;
    border-top:
        1px solid
        rgba(255, 255, 255, .10);
}

.world-hero-season {
    justify-self: start;
    color:
        rgba(225, 219, 241, .34);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.world-scroll {
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 11px;
    color:
        rgba(232, 229, 244, .48);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.world-scroll-circle {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border:
        1px solid
        rgba(255, 255, 255, .17);
    border-radius: 50%;
    animation:
        worldScroll
        2.2s ease-in-out infinite;
}

.world-hero-live {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color:
        rgba(224, 219, 241, .35);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.world-hero-live-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background:
        #55e5aa;
    box-shadow:
        0 0 14px
        rgba(85, 229, 170, .90);
    animation:
        worldPulse
        2s ease-in-out infinite;
}

/* ---------------------------------------------------------
   ANIMATIONS DU HERO
--------------------------------------------------------- */

@keyframes cinematicHeroLight {

    0%,
    100% {
        opacity: .55;
        transform:
            translate(-50%, -50%)
            scale(.95);
    }

    50% {
        opacity: 1;
        transform:
            translate(-50%, -50%)
            scale(1.08);
    }

}

/* ---------------------------------------------------------
   RESPONSIVE DU HERO
--------------------------------------------------------- */

@media (max-width: 1050px) {

    .world-hero-content {
        grid-template-columns:
            minmax(300px, 450px)
            1fr;
    }

    .world-hero-center-space {
        display: none;
    }

    .world-champion-card {
        grid-column: 2;
    }

}

@media (max-width: 760px) {

    .world-hero {
        min-height: 830px;
    }

    .world-hero-bg {
        background-position:
            53% center;
    }

    .world-hero-content {
        width:
            calc(100% - 30px);
        min-height: 830px;
        padding:
            105px 0
            36px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: stretch;
    }

    .world-hero-copy-panel {
        max-width: 100%;
        padding-bottom: 0;
    }

    .world-hero-title {
        font-size:
            clamp(
                55px,
                18vw,
                78px
            );
    }

    .world-hero-copy {
        max-width: 340px;
        font-size: 11px;
    }

    .world-champion-card {
        min-height: auto;
        margin: 20px 0 0;
        padding: 17px;
    }

    .world-champion-main {
        margin-top: 18px;
    }

    .world-avatar {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
        border-radius: 14px;
    }

    .world-champion-footer {
        margin-top: 17px;
    }

    .world-hero-footer {
        width: 100%;
        margin-top: 24px;
        grid-template-columns:
            1fr auto;
    }

    .world-hero-season {
        display: none;
    }

    .world-scroll {
        justify-self: start;
    }

}

/* =========================================================
   MARQUEE
========================================================= */

.world-marquee {
    position: relative;
    z-index: 10;
    overflow: hidden;
    padding:
        22px 0;
    border-top:
        1px solid
        rgba(255,255,255,.08);
    border-bottom:
        1px solid
        rgba(255,255,255,.08);
    background:
        rgba(5, 6, 18, .95);
}

.world-marquee-track {
    display: flex;
    width: max-content;
    animation:
        worldMarquee
        28s linear infinite;
}

.world-marquee-group {
    display: flex;
    align-items: center;
    gap: 34px;
    padding-right: 34px;
    color:
        rgba(242, 239, 252, .62);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .18em;
    white-space: nowrap;
    text-transform: uppercase;
}

.world-marquee-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background:
        #856dff;
    box-shadow:
        0 0 11px
        rgba(133, 109, 255, .90);
}

/* =========================================================
   MANIFESTE
========================================================= */

.world-manifesto {
    position: relative;
    overflow: hidden;
    padding:
        clamp(
            110px,
            14vw,
            220px
        )
        24px;
    background:
        #040611;
}

.world-manifesto::before {
    content: "";
    position: absolute;
    width: 1000px;
    height: 800px;
    left: 50%;
    top: 50%;
    transform:
        translate(-50%, -50%);
    pointer-events: none;
    background:
        radial-gradient(
            circle,
            rgba(95, 65, 215, .18),
            transparent 68%
        );
    filter:
        blur(35px);
}

.world-manifesto-inner {
    position: relative;
    z-index: 2;
    width:
        min(
            1400px,
            100%
        );
    margin: auto;
}

.world-section-index {
    display: flex;
    justify-content: space-between;
    color:
        rgba(222, 216, 241, .32);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.world-statement {
    max-width: 1300px;
    margin:
        70px auto 0;
    color:
        rgba(244, 241, 253, .22);
    font-size:
        clamp(
            41px,
            6vw,
            94px
        );
    font-weight: 900;
    line-height: 1.03;
    letter-spacing: -.055em;
}

.world-statement span {
    color: #ffffff;
}

/* =========================================================
   STATISTIQUES
========================================================= */

.world-metrics {
    position: relative;
    padding:
        65px 24px
        140px;
    background:
        #040611;
}

.world-metrics-grid {
    width:
        min(
            1400px,
            100%
        );
    margin: auto;
    display: grid;
    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );
    border-top:
        1px solid
        rgba(255,255,255,.10);
    border-bottom:
        1px solid
        rgba(255,255,255,.10);
}

.world-metric {
    position: relative;
    min-height: 220px;
    padding:
        35px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-right:
        1px solid
        rgba(255,255,255,.08);
}

.world-metric:last-child {
    border-right: 0;
}

.world-metric-index {
    color:
        rgba(198, 184, 255, .49);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .16em;
}

.world-metric-value {
    color: #ffffff;
    font-size:
        clamp(
            55px,
            6vw,
            100px
        );
    font-weight: 950;
    letter-spacing: -.075em;
    line-height: .8;
}

.world-metric-label {
    color:
        rgba(227, 221, 243, .40);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

/* =========================================================
   DESTINATIONS
========================================================= */

.world-destinations {
    padding:
        120px 24px;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            #040611,
            #080718 60%,
            #040611
        );
}

.world-section-head {
    width:
        min(
            1400px,
            100%
        );
    margin:
        0 auto 55px;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px;
}

.world-section-kicker {
    color:
        rgba(151, 128, 255, .64);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.world-section-title {
    margin:
        13px 0 0;
    color: #ffffff;
    font-size:
        clamp(
            42px,
            5vw,
            78px
        );
    font-weight: 950;
    letter-spacing: -.06em;
    line-height: .95;
}

.world-section-side {
    color:
        rgba(225, 218, 241, .32);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.world-destination-grid {
    width:
        min(
            1400px,
            100%
        );
    margin: auto;
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
    border-top:
        1px solid
        rgba(255,255,255,.10);
}

.world-destination {
    position: relative;
    min-height: 330px;
    padding:
        35px;
    overflow: hidden;
    border-right:
        1px solid
        rgba(255,255,255,.08);
    border-bottom:
        1px solid
        rgba(255,255,255,.08);
    transition:
        background .35s ease;
}

.world-destination:nth-child(2n) {
    border-right: 0;
}

.world-destination::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -220px;
    top: -220px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(110, 80, 238, .18),
            transparent 68%
        );
    transition:
        transform .55s ease;
}

.world-destination:hover {
    background:
        rgba(20, 16, 47, .50);
}

.world-destination:hover::before {
    transform:
        scale(1.5);
}

.world-destination-index {
    color:
        rgba(223, 215, 242, .30);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .15em;
}

.world-destination-name {
    position: absolute;
    left: 35px;
    bottom: 36px;
    color: #ffffff;
    font-size:
        clamp(
            37px,
            4vw,
            66px
        );
    font-weight: 950;
    letter-spacing: -.055em;
}

.world-destination-arrow {
    position: absolute;
    right: 35px;
    bottom: 38px;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border:
        1px solid
        rgba(255, 255, 255, .15);
    border-radius: 50%;
    font-size: 17px;
    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease;
}

.world-destination:hover
.world-destination-arrow {
    transform:
        rotate(45deg);
    background:
        #ffffff;
    color:
        #11101b;
}

/* =========================================================
   ARCHIVES CUSTOMS
========================================================= */

.world-archives {
    padding:
        120px 0
        150px;
    background:
        #040611;
}

.world-archives-head {
    padding:
        0 24px;
}

.world-archive-track {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    padding:
        10px
        max(
            24px,
            calc(
                (
                    100vw - 1400px
                )
                /
                2
            )
        )
        40px;
    scrollbar-width: none;
    scroll-snap-type:
        x mandatory;
}

.world-archive-track::-webkit-scrollbar {
    display: none;
}

.world-custom-card {
    position: relative;
    overflow: hidden;
    flex:
        0 0
        min(
            520px,
            82vw
        );
    min-height: 390px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border:
        1px solid
        rgba(255,255,255,.10);
    border-radius: 3px;
    background:
        rgba(8, 9, 26, .90);
    scroll-snap-align: start;
    transition:
        transform .35s ease,
        border-color .35s ease;
}

.world-custom-card::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .22;
    background:
        url("/static/WALLPAPER.png")
        center center / cover;
    transition:
        transform .55s ease,
        opacity .55s ease;
}

.world-custom-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(5, 6, 19, .26),
            rgba(5, 6, 19, .93)
        );
}

.world-custom-card:hover {
    transform:
        translateY(-8px);
    border-color:
        rgba(146, 122, 255, .44);
}

.world-custom-card:hover::before {
    transform:
        scale(1.08);
    opacity: .35;
}

.world-custom-top,
.world-custom-bottom {
    position: relative;
    z-index: 2;
}

.world-custom-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.world-custom-state {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color:
        rgba(224, 217, 244, .46);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.world-custom-state-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background:
        #55e5aa;
    box-shadow:
        0 0 12px
        rgba(85, 229, 170, .75);
}

.world-custom-index {
    color:
        rgba(230, 225, 246, .32);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .15em;
}

.world-custom-number {
    color: #ffffff;
    font-size:
        clamp(
            65px,
            7vw,
            105px
        );
    font-weight: 950;
    line-height: .82;
    letter-spacing: -.08em;
}

.world-custom-mvp {
    margin-top: 22px;
    color:
        rgba(237, 232, 248, .58);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.world-custom-mvp strong {
    color: #ffffff;
    font-size: 16px;
    letter-spacing: 0;
    text-transform: none;
}

.world-custom-arrow {
    position: absolute;
    right: 0;
    bottom: 4px;
    font-size: 17px;
}

/* =========================================================
   PODIUM
========================================================= */

.world-podium {
    padding:
        130px 24px;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            #040611,
            #080719
        );
}

.world-podium-grid {
    width:
        min(
            1400px,
            100%
        );
    margin:
        60px auto 0;
    display: grid;
    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );
    gap: 1px;
    background:
        rgba(255,255,255,.08);
}

.world-podium-card {
    position: relative;
    min-height: 315px;
    padding: 35px;
    overflow: hidden;
    background:
        #070817;
}

.world-podium-card::before {
    content:
        attr(data-rank);
    position: absolute;
    right: 20px;
    top: 4px;
    color:
        rgba(255,255,255,.025);
    font-size: 180px;
    font-weight: 950;
    line-height: 1;
}

.world-podium-label {
    position: relative;
    color:
        rgba(190, 176, 239, .46);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.world-podium-name {
    position: absolute;
    z-index: 2;
    left: 35px;
    bottom: 65px;
    color: #ffffff;
    font-size:
        clamp(
            31px,
            3vw,
            50px
        );
    font-weight: 950;
    letter-spacing: -.05em;
}

.world-podium-stats {
    position: absolute;
    z-index: 2;
    left: 35px;
    bottom: 35px;
    color:
        rgba(228, 220, 244, .42);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* =========================================================
   CTA
========================================================= */

.world-cta {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    display: grid;
    place-items: center;
    padding: 80px 24px;
    text-align: center;
    background:
        #040611;
}

.world-cta-bg {
    position: absolute;
    inset: 0;
    opacity: .25;
    background:
        linear-gradient(
            rgba(4, 6, 17, .32),
            rgba(4, 6, 17, .92)
        ),
        url("/static/WALLPAPER.png")
        center center / cover;
}

.world-cta-inner {
    position: relative;
    z-index: 2;
}

.world-cta-kicker {
    color:
        rgba(162, 139, 255, .66);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.world-cta-title {
    margin:
        18px 0 0;
    color: #ffffff;
    font-size:
        clamp(
            64px,
            10vw,
            150px
        );
    font-weight: 950;
    line-height: .78;
    letter-spacing: -.08em;
    text-transform: uppercase;
}

.world-cta-link {
    margin-top: 42px;
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding:
        13px 13px
        13px 22px;
    border:
        1px solid
        rgba(255,255,255,.17);
    border-radius: 100px;
    background:
        rgba(8, 9, 25, .60);
    color: #ffffff;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    backdrop-filter:
        blur(16px);
    -webkit-backdrop-filter:
        blur(16px);
}

.world-cta-arrow {
    width: 37px;
    height: 37px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #12101b;
    background: #ffffff;
}

.world-footer {
    padding:
        42px 24px;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    color:
        rgba(228, 221, 243, .28);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .17em;
    text-transform: uppercase;
    background:
        #03040c;
}

/* =========================================================
   ANIMATIONS D'APPARITION
========================================================= */

.world-reveal {
    opacity: 0;
    transform:
        translateY(38px);
    transition:
        opacity .9s ease,
        transform .9s
        cubic-bezier(
            .2,
            .75,
            .25,
            1
        );
}

.world-reveal.visible {
    opacity: 1;
    transform:
        translateY(0);
}

@keyframes worldPulse {

    0%,
    100% {
        opacity: .55;
    }

    50% {
        opacity: 1;
    }

}

@keyframes worldOrbit {

    from {
        transform:
            translate(-50%, -50%)
            rotate(0deg);
    }

    to {
        transform:
            translate(-50%, -50%)
            rotate(360deg);
    }

}

@keyframes worldScroll {

    0%,
    100% {
        transform:
            translateY(0);
    }

    50% {
        transform:
            translateY(6px);
    }

}

@keyframes worldMarquee {

    from {
        transform:
            translateX(0);
    }

    to {
        transform:
            translateX(-50%);
    }

}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .world-menu {
        display: none;
    }

    .world-nav {
        grid-template-columns:
            1fr auto;
    }

    .world-hero-bottom {
        grid-template-columns:
            1fr auto;
    }

    .world-champion-pill {
        display: none;
    }

    .world-metrics-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .world-metric:nth-child(2) {
        border-right: 0;
    }

    .world-metric:nth-child(-n + 2) {
        border-bottom:
            1px solid
            rgba(255,255,255,.08);
    }

    .world-podium-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 700px) {

    .world-nav {
        width:
            calc(100% - 24px);
        min-height: 65px;
    }

    .world-brand {
        font-size: 10px;
    }

    .world-nav-status {
        font-size: 6px;
    }

    .world-hero {
        min-height: 780px;
    }

    .world-hero-content {
        width:
            calc(100% - 32px);
        padding:
            125px 0
            90px;
    }

    .world-hero-title {
        font-size:
            clamp(
                65px,
                23vw,
                100px
            );
        line-height: .78;
    }

    .world-hero-title span {
        margin-left: 0;
    }

    .world-hero-bottom {
        grid-template-columns: 1fr;
    }

    .world-scroll {
        justify-self: start;
    }

    .world-statement {
        margin-top: 50px;
    }

    .world-metrics {
        padding-bottom: 90px;
    }

    .world-metrics-grid {
        grid-template-columns: 1fr;
    }

    .world-metric {
        min-height: 170px;
        border-right: 0;
        border-bottom:
            1px solid
            rgba(255,255,255,.08);
    }

    .world-destination-grid {
        grid-template-columns: 1fr;
    }

    .world-destination {
        min-height: 250px;
        border-right: 0;
    }

    .world-section-head {
        align-items: start;
        flex-direction: column;
    }

    .world-footer {
        flex-direction: column;
    }

}

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

    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }

    .world-reveal {
        opacity: 1;
        transform: none;
    }

}

/* Le loader ne doit jamais bloquer sans JavaScript. */
.no-js .world-loader {
    display: none;
}







/* CDV GLOBAL NAVIGATION PREMIUM START */

.cdv-global-header,
.cdv-global-header * {
    box-sizing: border-box;
}

.cdv-global-header {
    --nav-accent: #8b72ff;
    --nav-cyan: #68d9ff;
    --nav-text: #f8f7ff;

    position: sticky;
    z-index: 10000;
    top: 16px;

    width:
        min(
            1500px,
            calc(100% - 38px)
        );

    height: 76px;

    margin:
        16px auto 0;

    display: grid;

    grid-template-columns:
        minmax(230px, 1fr)
        auto
        minmax(230px, 1fr);

    align-items: center;

    padding:
        0 18px
        0 22px;

    border:
        1px solid
        rgba(
            174,
            164,
            255,
            .16
        );

    border-radius: 21px;

    background:
        linear-gradient(
            120deg,
            rgba(7, 10, 28, .84),
            rgba(11, 13, 34, .72) 48%,
            rgba(7, 18, 35, .79)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, .055),

        0 18px 55px
        rgba(0, 0, 0, .20);

    -webkit-backdrop-filter:
        blur(24px)
        saturate(135%);

    backdrop-filter:
        blur(24px)
        saturate(135%);

    isolation: isolate;

    transition:
        height .35s ease,
        top .35s ease,
        width .35s ease,
        background .35s ease,
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}

.cdv-global-header::before {
    content: "";

    position: absolute;
    z-index: -1;

    inset: -1px;

    padding: 1px;

    border-radius: inherit;

    background:
        linear-gradient(
            105deg,
            transparent 6%,
            rgba(139, 114, 255, .60),
            rgba(104, 217, 255, .36),
            transparent 92%
        );

    opacity: .30;

    pointer-events: none;

    -webkit-mask:
        linear-gradient(#fff 0 0)
        content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;

    mask-composite: exclude;
}

.cdv-global-header::after {
    content: "";

    position: absolute;
    z-index: -2;

    left: 15%;
    right: 15%;
    bottom: -18px;

    height: 38px;

    background:
        radial-gradient(
            ellipse at center,
            rgba(89, 85, 214, .22),
            transparent 70%
        );

    filter: blur(18px);

    opacity: .65;

    pointer-events: none;
}

.cdv-global-header.is-scrolled {
    top: 9px;

    width:
        min(
            1380px,
            calc(100% - 30px)
        );

    height: 66px;

    border-color:
        rgba(
            142,
            128,
            255,
            .24
        );

    background:
        linear-gradient(
            120deg,
            rgba(5, 7, 23, .94),
            rgba(10, 11, 31, .91),
            rgba(5, 15, 30, .92)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, .06),

        0 16px 45px
        rgba(0, 0, 0, .34);
}

.cdv-global-header.is-hidden {
    transform:
        translateY(
            calc(-100% - 28px)
        );
}


/* =========================================================
   IDENTITÉ
========================================================= */

.cdv-global-brand {
    min-width: 0;

    display: inline-flex;

    align-items: center;

    gap: 13px;

    color:
        var(--nav-text);

    text-decoration: none;

    justify-self: start;
}

.cdv-global-brand-mark {
    position: relative;

    width: 34px;
    height: 34px;

    flex: 0 0 34px;

    display: grid;

    place-items: center;

    border:
        1px solid
        rgba(125, 205, 255, .34);

    border-radius: 11px;

    background:
        linear-gradient(
            145deg,
            rgba(117, 86, 255, .20),
            rgba(74, 190, 255, .08)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, .10),

        0 8px 26px
        rgba(74, 111, 255, .15);

    transform:
        rotate(45deg);

    transition:
        transform .45s
        cubic-bezier(.2, .8, .2, 1),

        border-color .35s ease,

        box-shadow .35s ease;
}

.cdv-global-brand-mark::before {
    content: "";

    width: 8px;
    height: 8px;

    border:
        2px solid
        rgba(238, 246, 255, .92);

    border-radius: 2px;

    transform:
        rotate(-45deg);

    box-shadow:
        0 0 14px
        rgba(105, 216, 255, .50);
}

.cdv-global-brand:hover
.cdv-global-brand-mark {
    transform:
        rotate(135deg)
        scale(1.05);

    border-color:
        rgba(138, 220, 255, .68);

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, .14),

        0 0 30px
        rgba(104, 151, 255, .26);
}

.cdv-global-brand-copy {
    min-width: 0;

    display: flex;

    flex-direction: column;

    gap: 4px;
}

.cdv-global-brand-name {
    overflow: hidden;

    color: #ffffff;

    font-size: 14px;

    font-weight: 900;

    letter-spacing: .16em;

    line-height: 1;

    text-overflow: ellipsis;

    text-transform: uppercase;

    white-space: nowrap;
}

.cdv-global-brand-subtitle {
    color:
        rgba(
            202,
            198,
            225,
            .40
        );

    font-size: 7px;

    font-weight: 800;

    letter-spacing: .22em;

    line-height: 1;

    text-transform: uppercase;
}


/* =========================================================
   LIENS
========================================================= */

.cdv-global-menu {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 4px;

    padding: 5px;

    border:
        1px solid
        rgba(255, 255, 255, .055);

    border-radius: 15px;

    background:
        rgba(
            1,
            3,
            17,
            .30
        );

    box-shadow:
        inset 0 1px 8px
        rgba(0, 0, 0, .16);
}

.cdv-global-link {
    position: relative;

    min-height: 39px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding:
        0 14px;

    overflow: hidden;

    border:
        1px solid
        transparent;

    border-radius: 11px;

    color:
        rgba(
            222,
            218,
            238,
            .48
        );

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .11em;

    text-decoration: none;

    text-transform: uppercase;

    transition:
        color .28s ease,
        border-color .28s ease,
        background .28s ease,
        box-shadow .28s ease,
        transform .28s ease;
}

.cdv-global-link::before {
    content: "";

    position: absolute;

    left: 18%;
    right: 18%;
    bottom: 3px;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--nav-cyan),
            transparent
        );

    opacity: 0;

    transform:
        scaleX(.30);

    transition:
        opacity .28s ease,
        transform .28s ease;
}

.cdv-global-link:hover {
    color:
        rgba(
            247,
            246,
            255,
            .88
        );

    background:
        rgba(
            128,
            108,
            255,
            .07
        );

    transform:
        translateY(-1px);
}

.cdv-global-link:hover::before {
    opacity: .56;

    transform:
        scaleX(1);
}

.cdv-global-link.active {
    border-color:
        rgba(
            137,
            122,
            255,
            .24
        );

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            rgba(121, 91, 255, .19),
            rgba(72, 179, 255, .09)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, .07),

        0 7px 22px
        rgba(71, 77, 218, .11);
}

.cdv-global-link.active::before {
    opacity: 1;

    transform:
        scaleX(1);
}


/* =========================================================
   LIVE
========================================================= */

.cdv-global-status {
    display: inline-flex;

    align-items: center;

    justify-content: flex-end;

    gap: 9px;

    justify-self: end;

    padding:
        10px 12px;

    border:
        1px solid
        rgba(92, 221, 177, .11);

    border-radius: 12px;

    color:
        rgba(
            208,
            217,
            229,
            .52
        );

    font-size: 8px;

    font-weight: 850;

    letter-spacing: .15em;

    text-transform: uppercase;
}

.cdv-global-live-dot {
    position: relative;

    width: 7px;
    height: 7px;

    flex: 0 0 7px;

    border-radius: 50%;

    background: #55e7ae;

    box-shadow:
        0 0 0 4px
        rgba(85, 231, 174, .07),

        0 0 18px
        rgba(85, 231, 174, .68);
}

.cdv-global-live-dot::after {
    content: "";

    position: absolute;

    inset: -5px;

    border:
        1px solid
        rgba(85, 231, 174, .34);

    border-radius: inherit;

    animation:
        cdvGlobalLivePulse
        2.4s ease-out
        infinite;
}

@keyframes cdvGlobalLivePulse {
    0% {
        opacity: .65;
        transform: scale(.55);
    }

    70%,
    100% {
        opacity: 0;
        transform: scale(1.45);
    }
}


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

.cdv-global-toggle {
    width: 42px;
    height: 42px;

    display: none;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    gap: 5px;

    justify-self: end;

    border:
        1px solid
        rgba(143, 127, 255, .23);

    border-radius: 12px;

    color: white;

    cursor: pointer;

    background:
        rgba(
            117,
            92,
            255,
            .10
        );
}

.cdv-global-toggle span {
    width: 16px;
    height: 1px;

    background:
        currentColor;

    transition:
        transform .28s ease,
        opacity .28s ease;
}

.cdv-global-header.menu-open
.cdv-global-toggle span:first-child {
    transform:
        translateY(3px)
        rotate(45deg);
}

.cdv-global-header.menu-open
.cdv-global-toggle span:last-child {
    transform:
        translateY(-3px)
        rotate(-45deg);
}

@media (max-width: 1120px) {
    .cdv-global-header {
        grid-template-columns:
            minmax(190px, 1fr)
            auto
            minmax(80px, 1fr);
    }

    .cdv-global-link {
        padding:
            0 9px;

        font-size: 8px;
    }

    .cdv-global-status-copy {
        display: none;
    }
}

@media (max-width: 860px) {
    .cdv-global-header {
        top: 10px;

        width:
            calc(100% - 20px);

        height: 66px;

        grid-template-columns:
            1fr auto;

        padding:
            0 11px
            0 15px;

        border-radius: 17px;
    }

    .cdv-global-brand-subtitle,
    .cdv-global-status {
        display: none;
    }

    .cdv-global-toggle {
        display: flex;
    }

    .cdv-global-menu {
        position: absolute;

        top:
            calc(100% + 10px);

        left: 0;
        right: 0;

        display: grid;

        grid-template-columns:
            repeat(2, 1fr);

        gap: 6px;

        padding: 10px;

        border:
            1px solid
            rgba(147, 130, 255, .19);

        border-radius: 17px;

        background:
            rgba(
                5,
                7,
                24,
                .97
            );

        box-shadow:
            0 22px 55px
            rgba(0, 0, 0, .48);

        -webkit-backdrop-filter:
            blur(25px);

        backdrop-filter:
            blur(25px);

        opacity: 0;

        visibility: hidden;

        pointer-events: none;

        transform:
            translateY(-8px)
            scale(.985);

        transform-origin:
            top center;

        transition:
            opacity .25s ease,
            visibility .25s ease,
            transform .25s ease;
    }

    .cdv-global-header.menu-open
    .cdv-global-menu {
        opacity: 1;

        visibility: visible;

        pointer-events: auto;

        transform:
            translateY(0)
            scale(1);
    }

    .cdv-global-link {
        min-height: 45px;

        padding:
            0 10px;

        border-color:
            rgba(
                255,
                255,
                255,
                .045
            );

        background:
            rgba(
                255,
                255,
                255,
                .025
            );
    }
}

@media (max-width: 520px) {
    .cdv-global-brand-name {
        font-size: 12px;
    }

    .cdv-global-brand-mark {
        width: 30px;
        height: 30px;

        flex-basis: 30px;
    }

    .cdv-global-menu {
        grid-template-columns:
            1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cdv-global-header,
    .cdv-global-header *,
    .cdv-global-header *::before,
    .cdv-global-header *::after {
        animation-duration:
            .01ms !important;

        animation-iteration-count:
            1 !important;

        scroll-behavior:
            auto !important;

        transition-duration:
            .01ms !important;
    }
}


/* CDV TROPHY NAV PATCH START */

.cdv-global-brand {
    gap:
        11px !important;
}

.cdv-global-brand-copy {
    justify-content:
        center !important;
}

.cdv-global-brand-name {
    line-height:
        1.1 !important;
}

.cdv-global-brand-subtitle {
    display:
        none !important;
}

.cdv-global-brand-mark {
    width:
        46px !important;

    height:
        54px !important;

    flex:
        0 0 46px !important;

    overflow:
        visible !important;

    display:
        grid !important;

    place-items:
        center !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    transform:
        none !important;

    isolation:
        isolate;
}

.cdv-global-brand-mark::before {
    content:
        "" !important;

    position:
        absolute;

    z-index:
        -1;

    width:
        35px !important;

    height:
        35px !important;

    border:
        0 !important;

    border-radius:
        50% !important;

    background:
        radial-gradient(
            circle,
            rgba(111, 166, 255, .28),
            rgba(131, 91, 255, .12) 42%,
            transparent 72%
        ) !important;

    box-shadow:
        none !important;

    filter:
        blur(8px);

    transform:
        none !important;

    opacity:
        .78;

    transition:
        opacity .35s ease,
        transform .45s ease;
}

.cdv-global-brand-trophy {
    width:
        43px;

    height:
        51px;

    display:
        block;

    object-fit:
        contain;

    filter:
        drop-shadow(
            0 0 7px
            rgba(103, 181, 255, .25)
        )
        drop-shadow(
            0 7px 12px
            rgba(28, 21, 94, .26)
        );

    transform:
        translateY(1px);

    transition:
        transform .45s
        cubic-bezier(.2, .8, .2, 1),

        filter .45s ease;
}

.cdv-global-brand:hover
.cdv-global-brand-mark {
    transform:
        none !important;

    border-color:
        transparent !important;

    box-shadow:
        none !important;
}

.cdv-global-brand:hover
.cdv-global-brand-mark::before {
    opacity:
        1;

    transform:
        scale(1.18) !important;
}

.cdv-global-brand:hover
.cdv-global-brand-trophy {
    transform:
        translateY(-2px)
        scale(1.07);

    filter:
        drop-shadow(
            0 0 11px
            rgba(110, 202, 255, .42)
        )
        drop-shadow(
            0 8px 16px
            rgba(80, 54, 219, .38)
        );
}

@media (max-width: 520px) {
    .cdv-global-brand-mark {
        width:
            39px !important;

        height:
            46px !important;

        flex-basis:
            39px !important;
    }

    .cdv-global-brand-trophy {
        width:
            37px;

        height:
            44px;
    }
}


/* CDV PRECISE HERO FIX START */

@media (min-width: 861px) {
    header.cdv-global-header
    nav.cdv-global-menu {
        padding:
            0 !important;

        border:
            0 !important;

        border-width:
            0 !important;

        border-color:
            transparent !important;

        border-radius:
            0 !important;

        background:
            transparent !important;

        background-color:
            transparent !important;

        background-image:
            none !important;

        box-shadow:
            none !important;

        -webkit-backdrop-filter:
            none !important;

        backdrop-filter:
            none !important;
    }

    header.cdv-global-header
    .cdv-global-link {
        min-height:
            40px;
    }

    header.cdv-global-header
    .cdv-global-link.active {
        border:
            1px solid
            rgba(
                137,
                122,
                255,
                .28
            ) !important;

        border-radius:
            12px !important;

        background:
            linear-gradient(
                135deg,
                rgba(121, 91, 255, .19),
                rgba(72, 179, 255, .09)
            ) !important;

        box-shadow:
            inset 0 1px 0
            rgba(255, 255, 255, .07),

            0 7px 22px
            rgba(71, 77, 218, .11) !important;
    }
}

/* CDV PRECISE HERO FIX END */


/* CDV TROPHY NAV PATCH END */


/* CDV GLOBAL NAVIGATION PREMIUM END */
