/* hero */
.hero-cv{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100vh;
    overflow:hidden;
    text-align:center;
    color:#fff;
}
/* carrousel fondu */
.hero-cv-slides{
    position:absolute;
    inset:0;
}
.hero-cv-slide{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:0;
    will-change:opacity, transform;
    animation:heroCross 35s infinite;
}
.hero-cv-slide:nth-child(1){ animation-delay:0s; }
.hero-cv-slide:nth-child(2){ animation-delay:7s; }
.hero-cv-slide:nth-child(3){ animation-delay:14s; }
.hero-cv-slide:nth-child(4){ animation-delay:21s; }
.hero-cv-slide:nth-child(5){ animation-delay:28s; }
@keyframes heroCross{
    0%   { opacity:0; transform:scale(1.06); }
    2.5% { opacity:1; }
    17%  { opacity:1; }
    20%  { opacity:0; }
    100% { opacity:0; transform:scale(1.12); }
}
/* voile dégradé */
.hero-cv-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(15,25,15,.55) 0%, rgba(15,25,15,.42) 40%, rgba(10,18,10,.82) 100%);
}
/* renfort de contraste côté gauche */
.hero-cv-overlay::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,0) 55%);
}
.hero-cv-inner{
    position:relative;
    z-index:2;
    max-width:1170px;
    width:100%;
    margin:0 auto;
    padding:40px 15px 70px;
    text-align:left;
}
/* badge / pastille */
.hero-cv-badge{
    display:inline-block;
    margin-bottom:22px;
    padding:8px 18px;
    border-radius:50px;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.35);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    font-size:13px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.hero-cv-badge i{ color:#9ccc65; margin-right:6px; }
/* bandeau d'annonce */
.hero-cv-ribbon{
    display:block;
    width:-moz-fit-content;
    width:fit-content;
    max-width:100%;
    margin:0 0 14px;
    padding:8px 20px;
    border-radius:50px;
    background:#5b8c3e;
    color:#fff;
    font-size:13px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
    box-shadow:0 6px 18px rgba(0,0,0,.25);
}
.hero-cv-ribbon i{ margin-right:7px; color:#ffe082; }
/* titre */
.hero-cv-title{
    margin:0 0 18px;
    line-height:1.05;
    color:#fff !important;
    text-shadow:0 2px 18px rgba(0,0,0,.45);
}
.hero-cv-brand{
    display:block;
    font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
    font-size:78px;
    font-weight:800;
    letter-spacing:0;
    color:#fff !important;
}
.hero-cv-kw{
    display:block;
    margin-top:10px;
    font-size:21px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.16em;
    color:#e9f2e3;
}
/* étoiles dorées */
.hero-stars{
    color:#ffce54;
    letter-spacing:.08em;
    text-shadow:0 1px 6px rgba(0,0,0,.4);
}
.hero-cv-lead{
    max-width:640px;
    margin:0 0 32px;
    font-size:20px;
    line-height:1.6;
    font-weight:500;
    color:#ffffff !important;
    text-shadow:0 2px 16px rgba(0,0,0,.75);
}
/* boutons */
.hero-cv-actions{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    justify-content:space-between;
    margin-bottom:40px;
    width:100%;
}
.hero-cv-actions .btn{
    border-radius:50px;
    padding:14px 30px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.03em;
    border:2px solid transparent;
    transition:all .25s ease;
}
.hero-btn-primary{
    background:#756e62;
    color:#fff;
}
.hero-btn-primary:hover,
.hero-btn-primary:focus{
    background:#5c564c;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(0,0,0,.3);
}
.hero-btn-ghost{
    background:rgba(255,255,255,.08);
    color:#fff;
    border-color:rgba(255,255,255,.85);
}
.hero-btn-ghost:hover,
.hero-btn-ghost:focus{
    background:#fff;
    color:#756e62;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(0,0,0,.3);
}
.hero-btn-bike{
    background:#5b8c3e;
    color:#fff;
}
.hero-btn-bike:hover,
.hero-btn-bike:focus{
    background:#436b2c;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(0,0,0,.3);
}
.hero-cv-actions .btn i{ margin-right:8px; }
/* points forts */
.hero-cv-features{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:14px 30px;
    font-size:15px;
    font-weight:500;
}
.hero-cv-features li{ white-space:nowrap; }
.hero-cv-features i{ color:#9ccc65; margin-right:8px; }
/* flèche scroll */
.hero-cv-scroll{
    position:absolute;
    z-index:2;
    left:50%;
    bottom:26px;
    transform:translateX(-50%);
    width:46px;
    height:46px;
    line-height:46px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.5);
    color:#fff;
    font-size:18px;
    text-align:center;
    animation:heroBounce 2s infinite;
    transition:background .2s ease;
}
.hero-cv-scroll:hover{ background:rgba(255,255,255,.2); color:#fff; }
@keyframes heroBounce{
    0%,100%{ transform:translateX(-50%) translateY(0); }
    50%{ transform:translateX(-50%) translateY(8px); }
}

/* responsive */
@media (max-width:991px){
    .hero-cv-brand{ font-size:48px; }
    .hero-cv-kw{ font-size:17px; }
    .hero-cv-lead{ font-size:17px; }
    /* mobile : hero centré */
    .hero-cv-inner{ text-align:center; }
    .hero-cv-lead{ margin-left:auto; margin-right:auto; }
    .hero-cv-actions{ justify-content:center; }
}
@media (max-width:600px){
    .hero-cv{ min-height:92vh; }
    .hero-cv-brand{ font-size:36px; }
    .hero-cv-kw{ font-size:14px; letter-spacing:.1em; }
    .hero-cv-lead{ font-size:15px; }
    .hero-cv-actions .btn{ width:100%; max-width:320px; }
    .hero-cv-features{ font-size:14px; gap:10px 20px; }
}
/* reduced-motion */
@media (prefers-reduced-motion: reduce){
    .hero-cv-slide,.hero-cv-scroll{ animation:none; }
    .hero-cv-slide{ opacity:0; }
    .hero-cv-slide:first-child{ opacity:1; }
}
