html,
body{
    margin:0;
    padding:0;
    background:#050505;
    overflow-x:hidden;
}

main.page{
    margin:0;
    padding:0;
}

.hero-final-v2{
    position:relative;
    width:100%;
    height:100vh;
    min-height:100vh;
    overflow:hidden;
    background:#050505;
    color:#F7F2EA;
}

.hero-final-v2-video{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center center;
    z-index:1;
    background:#050505;
}

.hero-final-v2-overlay{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
        linear-gradient(90deg,rgba(5,5,5,.86) 0%,rgba(5,5,5,.42) 42%,rgba(5,5,5,.08) 100%),
        linear-gradient(to top,#050505 0%,rgba(5,5,5,0) 44%);
}

.hero-final-v2::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:32vh;
    z-index:3;
    pointer-events:none;
    background:
        radial-gradient(circle at 48% 88%,rgba(199,164,93,.14),transparent 34%),
        linear-gradient(to bottom,rgba(5,5,5,0),rgba(5,5,5,.68) 62%,#050505 100%);
}

.hero-final-v2::after{
    content:"DU SILENCE À L’HISTOIRE";
    position:absolute;
    left:5vw;
    bottom:42px;
    z-index:5;
    pointer-events:none;
    color:rgba(230,212,165,.62);
    font-size:11px;
    letter-spacing:.38em;
    text-transform:uppercase;
}

.hero-final-v2-content{
    position:relative;
    z-index:4;
    height:100vh;
    max-width:760px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:110px 5vw 90px;
}

.hero-final-v2-kicker{
    margin:0 0 22px;
    color:#C7A45D;
    text-transform:uppercase;
    letter-spacing:.34em;
    font-size:11px;
}

.hero-final-v2 h1{
    margin:0;
    font-family:"Cormorant Garamond",Georgia,serif;
    font-weight:400;
    font-size:clamp(58px,7.8vw,126px);
    line-height:.82;
    letter-spacing:-.055em;
}

.hero-final-v2-subtitle{
    max-width:560px;
    margin:26px 0 0;
    color:rgba(247,242,234,.76);
    font-size:clamp(18px,1.45vw,23px);
    line-height:1.6;
}

.hero-final-v2-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:34px;
}

.hero-final-v2-actions a{
    min-height:52px;
    padding:0 28px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    background:#F7F2EA;
    color:#050505;
    font-weight:800;
}

.hero-final-v2-actions a.ghost{
    background:rgba(247,242,234,.06);
    color:#F7F2EA;
    border:1px solid rgba(247,242,234,.24);
    backdrop-filter:blur(14px);
}

@media(max-height:760px){
    .hero-final-v2-content{
        padding-top:82px;
        padding-bottom:62px;
    }

    .hero-final-v2 h1{
        font-size:clamp(48px,6.8vw,96px);
    }

    .hero-final-v2-subtitle{
        margin-top:20px;
    }

    .hero-final-v2-actions{
        margin-top:24px;
    }

    .hero-final-v2::after{
        bottom:28px;
    }
}

@media(max-width:720px){
    .hero-final-v2-content{
        padding:96px 22px 70px;
    }

    .hero-final-v2 h1{
        font-size:54px;
    }

    .hero-final-v2-actions{
        flex-direction:column;
    }

    .hero-final-v2-actions a{
        width:100%;
    }

    .hero-final-v2::after{
        left:22px;
        bottom:28px;
        font-size:10px;
        letter-spacing:.24em;
    }
}

/* ===== HERO SOFT TRANSITION / NO HARD REFLECTION CUT ===== */
.hero-final-v2::before{
    height:46vh !important;
    background:
        radial-gradient(circle at 50% 82%, rgba(199,164,93,.10), transparent 42%),
        linear-gradient(to bottom,
            rgba(5,5,5,0) 0%,
            rgba(5,5,5,.22) 38%,
            rgba(5,5,5,.58) 72%,
            #050505 100%
        ) !important;
}

.hero-final-v2-overlay{
    background:
        linear-gradient(90deg,rgba(5,5,5,.84) 0%,rgba(5,5,5,.42) 45%,rgba(5,5,5,.10) 100%),
        linear-gradient(to top,#050505 0%,rgba(5,5,5,.72) 18%,rgba(5,5,5,0) 58%) !important;
}

.hero-final-v2::after{
    text-shadow:0 0 22px rgba(199,164,93,.18);
}
