/* ===== Accueil v2 — éditorial épuré ===== */
.home-v2 .hero{height:calc(100svh - 150px);min-height:520px;max-height:none}
.home-v2 .hero::after{background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.6) 100%)}
.home-v2 .hero-dots{display:none}
.home-v2 .hero-count{display:none}
.hv-hero-txt{position:absolute;left:clamp(20px,5vw,72px);right:clamp(20px,5vw,72px);bottom:clamp(34px,7vh,80px);z-index:4;color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.hv-hero-txt h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(1.8rem,3.4vw,3.1rem);line-height:1.02;letter-spacing:0;text-transform:none;color:#fff;margin:0}
.hv-hero-txt h1 em{font-style:italic}
.hv-sub{margin:1rem 0 0;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:rgba(255,255,255,.9)}
.hv-actions{display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap}
.hv-btn{display:inline-block;background:#fff;color:var(--ink);padding:1rem 1.8rem;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;transition:background .3s,color .3s}
.hv-btn:hover{background:var(--gold);color:#fff}
.hv-link{display:inline-block;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:4px;transition:color .3s}
.hv-link:hover{color:var(--gold)}
.hv-link.hv-light{color:#fff}

.hv-intro{text-align:center;padding-top:clamp(80px,12vw,160px);padding-bottom:clamp(60px,9vw,120px)}
.hv-quote{font-family:var(--font-serif);font-weight:500;font-size:clamp(1.6rem,3.1vw,2.7rem);line-height:1.28;max-width:960px;margin:1.4rem auto 0;color:var(--ink)}
.hv-quote em{color:var(--gold)}
.hv-facts{display:flex;justify-content:center;gap:clamp(1.5rem,5vw,4.5rem);margin-top:3rem;flex-wrap:wrap}
.hv-facts>div{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.hv-facts b{display:block;font-family:var(--font-serif);font-size:1.9rem;letter-spacing:0;text-transform:none;font-weight:500;color:var(--ink);margin-bottom:.15rem}

.hv-uni{padding-bottom:clamp(40px,6vw,80px)}
.hv-row{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(28px,5vw,90px);align-items:center;margin-bottom:clamp(70px,10vw,140px)}
.hv-row.hv-rev{grid-template-columns:1fr 1.35fr}
.hv-row.hv-rev .hv-img{order:2}
.hv-img{position:relative;display:block}
.hv-main{display:block;aspect-ratio:4/3;overflow:hidden}
.hv-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s var(--ease)}
.hv-img:hover .hv-main img{transform:scale(1.04)}
.hv-second{position:absolute;width:34%;aspect-ratio:3/4;right:-5%;bottom:-10%;border:8px solid #fff;box-shadow:0 20px 50px rgba(0,0,0,.14);overflow:hidden;background:#fff}
.hv-rev .hv-second{right:auto;left:-5%}
.hv-num{font-family:var(--font-serif);font-style:italic;font-size:1.15rem;color:var(--gold)}
.hv-txt h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.08;letter-spacing:0;text-transform:none;margin:.4rem 0 1.1rem}
.hv-txt p{color:var(--ink-soft);max-width:440px;margin:0 0 1.6rem}
.hv-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.9rem}
.hv-tags span{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);padding:.4rem .75rem;color:var(--ink-soft)}

.hv-more{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hv-more .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.hv-more a{display:flex;justify-content:space-between;align-items:center;padding:2.1rem 2rem;font-family:var(--font-serif);font-size:1.6rem;color:var(--ink);border-right:1px solid var(--line);transition:color .3s}
.hv-more a:first-child{padding-left:0}.hv-more a:last-child{border-right:0;padding-right:0}
.hv-more a span{font-family:var(--font-sans);font-size:.8rem;color:var(--ink-mute);transition:transform .3s}
.hv-more a:hover{color:var(--gold)}.hv-more a:hover span{transform:translateX(4px)}

.hv-rep{padding-top:clamp(80px,11vw,150px);padding-bottom:clamp(80px,11vw,150px)}
.hv-rep-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:2.6rem}
.hv-rep-head h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.05;letter-spacing:0;text-transform:none;margin:.4rem 0 0}
.hv-rep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px)}
.hv-card{display:block;color:var(--ink)}
.hv-ph{display:block;aspect-ratio:4/5;overflow:hidden}
.hv-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.hv-card:hover .hv-ph img{transform:scale(1.05)}
.hv-card h3{font-family:var(--font-serif);font-weight:500;font-size:1.45rem;letter-spacing:0;text-transform:none;margin:1.1rem 0 .2rem}
.hv-card small{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}

.hv-proof{background:var(--paper-warm);padding:clamp(80px,11vw,150px) 0;text-align:center}
.hv-stars{color:var(--gold);letter-spacing:.3em;font-size:.9rem}
.hv-proof blockquote{font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:clamp(1.45rem,2.6vw,2.2rem);line-height:1.35;max-width:900px;margin:1.5rem auto 1.3rem;color:var(--ink);border:0;padding:0}
.hv-proof cite{font-style:normal;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
.hv-score{margin-top:2.2rem;font-size:.82rem;color:var(--ink-soft)}
.hv-score b{font-weight:600;color:var(--ink)}
.hv-clients{margin-top:3.4rem;display:flex;justify-content:center;gap:clamp(1.4rem,5vw,4rem);flex-wrap:wrap;font-family:var(--font-serif);font-size:1.35rem;color:#9a958d}

.hv-about{display:grid;grid-template-columns:1fr 1fr;min-height:620px}
.hv-about-ph{overflow:hidden}
.hv-about-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block}
.hv-about-tx{padding:clamp(50px,8vw,120px) clamp(20px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.hv-about-tx h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.08;letter-spacing:0;text-transform:none;margin:.5rem 0 1.3rem}
.hv-about-tx p{color:var(--ink-soft);max-width:480px}
.hv-sign{font-family:var(--font-serif);font-style:italic;font-size:1.6rem;color:var(--ink)!important;margin:1rem 0 1.8rem}
.hv-about-links{display:flex;gap:2rem;flex-wrap:wrap}

@media (max-width:860px){
 .home-v2 .hero{height:78svh}
 .hv-row,.hv-row.hv-rev{grid-template-columns:1fr;gap:1.6rem}
 .hv-row.hv-rev .hv-img{order:0}
 .hv-second{display:none}
 .hv-rep-grid{grid-template-columns:1fr}
 .hv-about{grid-template-columns:1fr}
 .hv-about-ph{aspect-ratio:4/5}
}
@media (max-width:760px){
 .hv-more .wrap{grid-template-columns:1fr}
 .hv-more a{border-right:0;border-bottom:1px solid var(--line);padding:1.5rem 0}
 .hv-more a:last-child{border-bottom:0}
 .hv-hero-txt{flex-direction:column;align-items:flex-start;gap:1.4rem}
 .home-v2 .hero-slide:first-child{background-position:68% 50%}
}
@media (max-width:760px){.home-v2 .hero::after{background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.1) 35%,rgba(0,0,0,.72) 100%)}}

/* ===== Accueil : en-tête transparent sur la photo, une seule ligne ===== */
body.is-home header{position:fixed;left:0;right:0;top:0}
body.is-home .home-v2 .hero{height:100svh;min-height:600px}
body.is-home header:not(.scrolled){background:transparent;border-bottom-color:transparent;box-shadow:none}
body.is-home header:not(.scrolled)::before{content:"";position:absolute;inset:0 0 -40px;background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,0));pointer-events:none;z-index:-1}
body.is-home header:not(.scrolled) .brand img{filter:invert(1)}
body.is-home header:not(.scrolled) .nav>li>a,body.is-home header:not(.scrolled) .nav>li>.navlink{color:#fff}
body.is-home header:not(.scrolled) .nav a.cta-nav{border-color:rgba(255,255,255,.85);color:#fff}
body.is-home header:not(.scrolled) .nav a.cta-nav:hover{background:#fff;color:var(--ink)}
body.is-home header:not(.scrolled) .burger span{background:#fff}
@media (min-width:1021px){
 body.is-home .nav-bar{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.1rem 0}
 body.is-home .brand{margin:0}
 body.is-home .brand img{height:48px}
 body.is-home .nav-row{margin:0;padding:0;border-top:0;flex:1}
 body.is-home .nav-row .nav{justify-content:flex-end;gap:2rem}
 body.is-home .nav-row .nav>li:last-child{margin-left:.8rem}
 body.is-home header.scrolled .nav-bar{padding:.5rem 0}
 body.is-home header.scrolled .brand img{height:38px}
 body.is-home header.scrolled .nav-row{margin:0;padding:0}
}
@media (max-width:1020px){
 body.is-home header:not(.scrolled){background:transparent}
}

@media (min-width:1021px) and (max-width:1320px){body.is-home .nav-row .nav{gap:1.4rem}}

@media (min-width:761px){.hv-actions{margin-right:72px}}

/* Titre d'accueil : discret, Montserrat fine en capitales espacées */
.hv-hero-txt h1{font-family:var(--font-sans);font-weight:300;font-size:clamp(.95rem,1.45vw,1.3rem);letter-spacing:.34em;text-transform:uppercase;line-height:1.5}
.hv-hero-txt h1 em{font-style:normal;font-weight:500}
@media (max-width:760px){.hv-hero-txt h1{font-size:.9rem;letter-spacing:.26em}}
