/* Accueil V31 : les deux blocs validés, sans modifier la charte commune. */
.index-page .home-hero h1{font-size:clamp(43px,4.42vw,69px);line-height:1.04}
.index-page .home-hero h1 span{margin-top:.34em}
.index-page .home-hero .intro{margin-top:32px;line-height:1.65}
.index-page .home-hero .hero-actions{justify-content:flex-start;gap:22px;margin-top:30px}
.index-page .home-hero .hero-actions>.phone-link{flex:0 0 auto;min-width:0;justify-content:flex-start;margin-left:0;font-size:20px;white-space:nowrap}
.index-page .home-hero .trust{margin-top:32px;column-gap:26px;row-gap:18px}
.index-page .home-hero .trust>p{font-size:17px;line-height:1.5;gap:14px}
.index-page .home-hero .trust>p+p{padding-left:26px}
.index-page .expertise .section-heading{margin-bottom:40px}
.index-page .expertise .section-heading h2{font-size:clamp(40px,4.4vw,64px);line-height:1.06}
.index-page .expertise .section-heading>p:not(.eyebrow){max-width:1160px;font-size:22px;line-height:1.65;color:#48556a;margin-top:24px}
.index-page .expertise .service-grid{gap:24px;align-items:stretch}
.index-page .expertise .service-card{min-height:350px;padding:32px 24px 36px}
.index-page .expertise .service-card h3{display:block;flex:none;font-size:clamp(22px,1.8vw,26px);line-height:1.2;height:2.4em;min-height:2.4em;margin:0 0 20px;white-space:normal;text-wrap:initial;letter-spacing:-.5px}
.index-page .expertise .service-card p{font-size:20px;line-height:1.6;font-style:normal;color:#48556a;margin:0;max-width:280px}
@media(min-width:701px) and (max-width:980px){
 .index-page .home-hero h1{font-size:clamp(34px,4.98vw,49px)}
 .index-page .home-hero .hero-actions{gap:16px}
 .index-page .home-hero .hero-actions>.phone-link{font-size:18px}
 .index-page .home-hero .trust>p{font-size:14px;gap:10px}
 .index-page .home-hero .trust{gap:18px}
 .index-page .home-hero .trust>p+p{padding-left:18px}
}
@media(max-width:1279px){
 .index-page .expertise .service-card h3{font-size:28px}
}
@media(max-width:700px){
 .index-page .home-hero h1{font-size:clamp(34px,8.1vw,54px);line-height:1.04}
 .index-page .home-hero .intro{margin-top:28px;font-size:19px}
 .index-page .home-hero .hero-actions{gap:16px;margin-top:26px}
 .index-page .home-hero .hero-actions>.phone-link{font-size:19px;min-height:44px}
 .index-page .home-hero .trust{gap:18px;margin-top:26px;align-items:flex-start}
 .index-page .home-hero .trust>p{font-size:15px;gap:12px}
 .index-page .home-hero .trust>p+p{padding-left:0;border-left:0}
 .index-page .expertise .section-heading{margin-bottom:32px}
 .index-page .expertise .section-heading h2{font-size:clamp(32px,6.6vw,42px)}
 .index-page .expertise .section-heading>p:not(.eyebrow){font-size:19px;line-height:1.65;margin-top:20px}
 .index-page .expertise .service-grid{gap:20px}
 .index-page .expertise .service-card{min-height:0;padding:30px 24px 34px}
 .index-page .expertise .service-card h3{font-size:27px;height:auto;min-height:0;margin-bottom:18px}
 .index-page .expertise .service-card p{font-size:19px;max-width:320px}
}
@media(max-width:360px){.index-page .home-hero h1{font-size:clamp(30px,9vw,33px)}}


/* V34 : interactions et bandeaux communs aux six pages. */
body.index-page .service-card{cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;will-change:auto}
@media(hover:hover){
 body.index-page .service-card:hover{background:#f0f7ff;border-color:#0085ff;box-shadow:0 9px 24px rgba(7,76,151,.12);transform:translateY(-4px)}
}
body.index-page .service-card:focus-visible{background:#f0f7ff;border-color:#0085ff;box-shadow:0 9px 24px rgba(7,76,151,.12);outline:2px solid #0767c6;outline-offset:4px;transform:translateY(-4px)}
/* Les cartes de méthode restent informatives, sans faux signal de clic. */
body.service-page .step{border-color:var(--luk-card-border,#e9f1fa);box-shadow:var(--luk-card-shadow,0 3px 15px rgba(13,49,93,.055))}
body{--cta-photo:url('accueil-patchwork-hd.webp');--cta-position:center 55%}
body.assistance-page{--cta-photo:url('assistance.webp');--cta-position:center 35%}
body.conseil-page{--cta-photo:url('conseil-atelier-v27.webp')}
body.equipements-page{--cta-photo:url('equipements.webp');--cta-position:center 25%}
body.formation-page{--cta-photo:url('formation.webp')}
body:is(.index-page,.service-page) main>.cta.container{
 display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;
 padding:44px 48px;margin-top:32px;margin-bottom:20px;min-height:0;text-align:left;border-radius:12px;
 background-color:#082c50;
 background-image:linear-gradient(100deg,rgba(3,27,57,.96),rgba(4,49,86,.94)),var(--cta-photo);
 background-position:var(--cta-position);background-size:cover;background-repeat:no-repeat
}
body:is(.index-page,.service-page) main>.cta.container>div{min-width:0}
body:is(.index-page,.service-page) main>.cta.container h2{
 font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(30px,2.65vw,40px);line-height:1.16;letter-spacing:-.6px;color:#fff;white-space:normal;text-wrap:pretty
}
body:is(.index-page,.service-page) main>.cta.container p{font-size:20px;line-height:1.5;margin-top:14px;color:#edf4fc}
body:is(.index-page,.service-page) main>.cta.container>.button{
 align-self:center;justify-self:end;min-height:56px;max-width:300px;padding:14px 24px;line-height:1.4;font-size:16px;
 white-space:normal;text-align:center;text-wrap:balance;background:#fff;color:var(--navy);border-color:#fff
}
body:is(.index-page,.service-page) main>.cta.container>.button:hover{background:#edf6ff;border-color:#edf6ff}
body a.button:focus-visible,body .phone-link:focus-visible,body .header-phone:focus-visible{outline:3px solid #0085ff;outline-offset:4px}
body:is(.index-page,.service-page) main>.cta.container>.button:focus-visible{outline:3px solid #fff;outline-offset:5px}
@media(max-width:1100px){
 body:is(.index-page,.service-page) main>.cta.container{grid-template-columns:1fr;padding:36px;gap:24px}
 body:is(.index-page,.service-page) main>.cta.container>.button{justify-self:start;max-width:100%}
}
@media(max-width:700px){
 body:is(.index-page,.service-page) main>.cta.container{padding:30px 24px;margin-top:24px;gap:22px}
 body:is(.index-page,.service-page) main>.cta.container h2{font-size:30px;line-height:1.2}
 body:is(.index-page,.service-page) main>.cta.container p{font-size:18px}
 body:is(.index-page,.service-page) main>.cta.container>.button{min-height:54px;font-size:16px;padding:14px 20px}
}
@media(prefers-reduced-motion:reduce){
 body.index-page .service-card{transition:none}
 body.index-page .service-card:hover,body.index-page .service-card:focus-visible{transform:none}
}


/* V57 : mêmes photographies de référence que la brochure, sans modification des visages. */
.home-visual.h57-collage{position:relative;isolation:isolate}
.home-visual.h57-collage>img.h57-mosaic{display:block;width:100%;height:auto;aspect-ratio:1402/1122;object-fit:contain}
.home-visual.h57-collage>img.h57-photo{position:absolute;left:.7132668%;top:.8912656%;width:98.5734665%;height:63.2798574%;max-height:none;object-fit:cover;object-position:center;display:block;border-radius:clamp(6px,1.3vw,18px);margin:0}
body.contact-v2-page main.cv2.cv24 .cv2-profile img.portrait-anthony-v57{height:auto;aspect-ratio:1;object-fit:contain;object-position:center;border-radius:0;background:transparent}

