
:root{--brand:#ad0040;--brand2:#d4145a;--ink:#20252a;--muted:#6a747b;--bg:#f4f7f8;--line:#e2e7ea;--white:#fff;--dark:#111519;--dark2:#1c2429;--hydro:#1aa7d8;--green:#8abf38;--radius:24px;--shadow:0 18px 55px rgba(15,25,31,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1200px,calc(100% - 40px));margin:auto}.top{background:#111519;color:#d9dfe2;font-size:12px}.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 0}.toplinks{display:flex;gap:16px;align-items:center}.top a:hover{color:white}.lang{display:inline-flex;border:1px solid #3a4247;border-radius:999px;padding:3px}.lang a{padding:4px 8px;border-radius:999px}.lang a.active{background:#fff;color:#171b1e}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.07)}.head{height:79px;display:flex;align-items:center;gap:28px}.logo{height:29px;width:auto}.nav{display:flex;align-items:center;gap:22px;margin-left:auto;font-weight:750;font-size:14px}.nav>a,.drop>a{padding:28px 0}.nav a:hover,.nav a.active{color:var(--brand)}.drop{position:relative}.dropmenu{display:none;position:absolute;top:65px;left:-18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;min-width:250px;padding:9px}.drop:hover .dropmenu{display:grid}.dropmenu a{padding:10px 12px;border-radius:9px;color:#3f484e;font-size:13px}.dropmenu a:hover{background:#f7f8f9;color:var(--brand)}.cta{background:var(--brand);color:#fff!important;padding:12px 15px!important;border-radius:11px;box-shadow:0 9px 25px rgba(173,0,64,.18)}.menu-btn{display:none;margin-left:auto;border:0;background:#f0f2f3;border-radius:11px;padding:10px 12px;font-size:20px}
.hero{min-height:680px;display:flex;align-items:center;position:relative;overflow:hidden;background:#111}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,17,20,.96) 0%,rgba(13,17,20,.77) 47%,rgba(13,17,20,.17) 78%),var(--hero) center/cover no-repeat}.hero .wrap{position:relative;color:#fff;padding:95px 0}.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:850;color:#ffd1e2}.dot{width:8px;height:8px;border-radius:50%;background:var(--brand2)}h1,h2,h3{letter-spacing:-.035em}.hero h1{font-size:clamp(43px,6vw,76px);line-height:1.0;max-width:930px;margin:16px 0 20px}.hero p{font-size:19px;line-height:1.65;max-width:720px;color:#e3e7e9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;border-radius:12px;font-weight:800;font-size:14px;border:0;cursor:pointer}.btn.primary{background:var(--brand);color:#fff}.btn.dark{background:#20272b;color:#fff}.btn.light{background:#fff;color:var(--brand)}.btn.ghost{border:1px solid rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.06)}.btn.outline{border:1px solid var(--line);background:#fff;color:var(--ink)}
.trustbar{position:relative;z-index:5;margin-top:-42px}.trustbox{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;display:grid;grid-template-columns:1.1fr .95fr .8fr .8fr;overflow:hidden}.trustcell{padding:20px 24px;border-right:1px solid var(--line);display:flex;gap:14px;align-items:center}.trustcell:last-child{border:0}.trustcell strong{display:block;font-size:18px}.trustcell span{display:block;font-size:12px;color:var(--muted);line-height:1.4}.cert-mini{max-height:50px;max-width:112px;object-fit:contain}
section{padding:88px 0}.soft{background:var(--bg)}.darksec{background:var(--dark);color:#fff}.section-head{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:34px}.section-head h2{font-size:clamp(32px,4.2vw,50px);margin:0;max-width:720px}.section-head p{max-width:500px;margin:0;color:var(--muted);line-height:1.65}.darksec .section-head p{color:#bfc8cd}.tag{text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-size:12px;font-weight:900;margin-bottom:12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card img{width:100%;height:225px;object-fit:cover}.card .in{padding:25px}.card h3{font-size:23px;margin:0 0 10px}.card p{color:var(--muted);line-height:1.65;margin:0 0 18px}.more{font-weight:850;color:var(--brand);font-size:14px}.audiences{display:grid;grid-template-columns:1fr 1fr;gap:20px}.audience{border-radius:28px;padding:38px;min-height:360px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden;color:#fff;background:#1b2023}.audience:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,12,14,.90),rgba(10,12,14,.10)),var(--bgimg) center/cover}.audience>*{position:relative}.audience h3{font-size:34px;margin:0 0 9px}.audience p{max-width:550px;line-height:1.6;color:#e4e8ea}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}.stat{padding:28px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat b{font-size:31px;display:block;letter-spacing:-.05em}.stat span{color:var(--muted);font-size:13px;line-height:1.4;display:block;margin-top:4px}
.featuregrid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.feature{min-height:430px;border-radius:26px;position:relative;overflow:hidden;color:#fff;background:#222}.feature:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,12,14,.87),rgba(10,12,14,.06)),var(--bgimg) center/cover}.feature>*{position:relative}.feature .content{position:absolute;left:28px;right:28px;bottom:26px}.feature .kicker{font-size:12px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:#f7c5d7}.feature h3{font-size:30px;margin:7px 0}.feature p{color:#e2e7e9;margin:0 0 15px;line-height:1.5}.feature.secondary{min-height:430px;background:linear-gradient(145deg,#13252e,#1f3b47)}.feature.secondary:before{background:linear-gradient(0deg,rgba(8,14,17,.88),rgba(8,14,17,.10)),var(--bgimg) center/cover}.certs{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cert-card{display:flex;align-items:center;gap:24px;padding:25px 28px;border:1px solid var(--line);border-radius:20px;background:#fff}.cert-card img{width:145px;height:80px;object-fit:contain}.cert-card strong{font-size:19px}.cert-card p{color:var(--muted);font-size:14px;line-height:1.5;margin:5px 0 0}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}.num{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#f8e2eb;color:var(--brand);font-weight:900;margin-bottom:15px}.step h3{margin:0 0 8px;font-size:19px}.step p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}
.contact-band{background:linear-gradient(135deg,#ad0040,#79002f);color:#fff}.contact-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-band h2{font-size:42px;margin:0}.contact-band p{color:#ffe1ec}.contact-band .btn{background:#fff;color:var(--brand)}
.pagehero{position:relative;background:#151a1e;color:#fff;min-height:470px;display:flex;align-items:end;overflow:hidden}.pagehero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,18,21,.96),rgba(14,18,21,.66) 55%,rgba(14,18,21,.15)),var(--hero) center/cover}.pagehero .wrap{position:relative;padding:110px 0 70px}.crumb{font-size:12px;color:#c9d0d4}.pagehero h1{font-size:clamp(41px,5.4vw,68px);line-height:1.02;margin:18px 0}.pagehero p{font-size:18px;line-height:1.65;color:#e3e7e9;max-width:760px}.pagehero.hydro:after{content:"";position:absolute;right:-130px;bottom:-190px;width:430px;height:430px;border:60px solid rgba(29,169,216,.18);border-radius:50%}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split img{width:100%;border-radius:26px;max-height:520px;object-fit:cover}.prose h2{font-size:clamp(31px,4vw,48px);margin:0 0 18px}.prose h3{font-size:24px;margin:28px 0 10px}.prose p,.prose li{color:#566168;line-height:1.75}.prose ul{padding-left:20px}.callout{padding:22px;border-radius:18px;background:#f5f7f8;border:1px solid var(--line);margin-top:22px}.hydro-callout{border-left:4px solid var(--hydro);background:#eef9fd}.brand-callout{border-left:4px solid var(--brand);background:#fff3f7}.metricgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.metric{padding:24px;border-radius:20px;background:#fff;border:1px solid var(--line)}.metric b{font-size:32px;display:block;letter-spacing:-.04em}.metric span{display:block;color:var(--muted);font-size:13px;margin-top:4px;line-height:1.4}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.time{padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px}.time b{color:var(--brand);font-size:18px}.time h3{font-size:18px;margin:7px 0}.time p{font-size:13px;color:var(--muted);line-height:1.55;margin:0}.diagram{background:#121b20;border-radius:28px;padding:18px}.diagram img{border-radius:20px;width:100%}.gallery{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:12px}.gallery img{width:100%;height:300px;object-fit:cover;border-radius:18px}.gallery img:first-child{height:300px}.projectlist{display:grid;gap:12px}.projectrow{display:grid;grid-template-columns:80px 1.5fr 1fr .7fr;gap:15px;align-items:center;padding:15px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;font-size:14px}.projectrow b{font-size:13px;color:var(--brand)}.projectrow .status{font-size:12px;color:#54712b;background:#eef7df;padding:5px 9px;border-radius:999px;justify-self:start}.projectrow.head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:#f4f6f7;color:#6e777d;font-weight:800}.projectrow.head b{color:inherit}.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filter{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}.filter.active{background:var(--ink);color:#fff}
.formgrid{display:grid;grid-template-columns:.82fr 1.18fr;gap:45px;align-items:start}.formcard{border:1px solid var(--line);border-radius:24px;background:#fff;padding:30px;box-shadow:var(--shadow)}form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800}.field input,.field select,.field textarea{font:inherit;width:100%;border:1px solid #dce1e4;border-radius:10px;padding:12px 13px;background:#fff}.field textarea{min-height:125px;resize:vertical}.privacy-note{font-size:12px;color:var(--muted);line-height:1.55}.side-note{padding:29px;border-radius:22px;background:#f5f7f8}.side-note h3{font-size:25px;margin-top:0}.side-note p,.side-note li{color:var(--muted);line-height:1.7;font-size:14px}.success{display:none;background:#eef7df;border:1px solid #cbe5a5;color:#496422;padding:12px;border-radius:10px;margin-top:13px}.reviewbox{border-radius:22px;padding:28px;background:#171b1e;color:#fff;margin-top:18px}.stars{color:#f4b400;letter-spacing:2px}.reviewbox .big{font-size:40px;font-weight:900}.reviewbox p{color:#cdd4d7}.legal-content{max-width:900px}.legal-content h2{font-size:26px;margin-top:38px}.legal-content p,.legal-content li{color:#566168;line-height:1.75}.notice{padding:16px 18px;border-radius:14px;background:#fff5f8;border:1px solid #f0c8d7;color:#7d153a;font-size:13px;line-height:1.55}.source-note{font-size:12px;color:#7b858b;line-height:1.5;margin-top:16px}
footer{background:#0f1316;color:#c4cbcf;padding:55px 0 32px}.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:38px}.foot h4{color:#fff;margin:0 0 14px}.foot p,.foot a{font-size:14px;line-height:1.8}.footlogo{filter:brightness(0) invert(1);opacity:.86;height:26px}.footcert{display:flex;gap:10px;align-items:center;margin-top:18px}.footcert img{height:38px;width:75px;object-fit:contain;background:#fff;border-radius:4px;padding:3px}.legal{border-top:1px solid #292f33;margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#8f989e}.cookie{position:fixed;z-index:100;right:18px;bottom:18px;width:min(430px,calc(100% - 36px));background:#fff;border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.18);border-radius:18px;padding:21px}.cookie h4{margin:0 0 8px}.cookie p{font-size:13px;color:#667078;line-height:1.55}.cookie-actions{display:flex;gap:7px;flex-wrap:wrap}.cookie button{border:0;border-radius:9px;padding:9px 11px;font-weight:800;font-size:12px;cursor:pointer}.cookie .accept{background:var(--brand);color:#fff}.cookie .prefs{background:#20262a;color:#fff}.cookie .necessary{background:#edf0f2}.badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#eef7fa;color:#177c9d;font-weight:800;font-size:11px;letter-spacing:.03em}.quote{font-size:28px;line-height:1.45;letter-spacing:-.02em}.small{font-size:14px;color:var(--muted);line-height:1.7}
@media(max-width:980px){.nav{display:none;position:fixed;left:0;right:0;top:79px;bottom:0;background:#fff;padding:24px;overflow:auto;align-content:start}.nav.open{display:grid;gap:0}.nav>a,.drop>a{padding:13px 0}.dropmenu{display:grid!important;position:static;box-shadow:none;border:0;padding:0 0 8px 15px}.dropmenu a{padding:8px 0}.menu-btn{display:block}.trustbox{grid-template-columns:1fr 1fr}.trustcell:nth-child(2){border-right:0}.trustcell:nth-child(-n+2){border-bottom:1px solid var(--line)}.cards,.stats,.process,.timeline{grid-template-columns:1fr 1fr}.featuregrid,.split,.formgrid,.audiences{grid-template-columns:1fr}.foot{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img:first-child{grid-column:1/-1}.projectrow{grid-template-columns:65px 1.4fr .8fr}.projectrow>*:nth-child(4){display:none}.top .wrap{flex-direction:column;align-items:flex-start;gap:5px}.head{height:70px}.nav{top:70px}}
@media(max-width:640px){.wrap{width:min(100% - 28px,1200px)}.hero{min-height:620px}.hero .wrap{padding:70px 0}.hero h1{font-size:45px}.trustbox{grid-template-columns:1fr}.trustcell{border-right:0!important;border-bottom:1px solid var(--line)}.trustcell:last-child{border-bottom:0}.cards,.stats,.process,.timeline,.certs,.metricgrid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.section-head{display:block}.section-head p{margin-top:16px}.contact-band .wrap{display:block}.contact-band .btn{margin-top:15px}.foot{grid-template-columns:1fr}.legal{display:block}.gallery{grid-template-columns:1fr}.gallery img,.gallery img:first-child{height:230px;grid-column:auto}.projectrow{grid-template-columns:60px 1fr}.projectrow>*:nth-child(3),.projectrow.head{display:none}form{grid-template-columns:1fr}.field.full{grid-column:auto}.cert-card{align-items:flex-start;flex-direction:column}.cert-card img{width:120px}.pagehero{min-height:430px}.pagehero .wrap{padding:85px 0 50px}.toplinks{flex-wrap:wrap}.audience{padding:28px}.featuregrid{grid-template-columns:1fr}}

/* ===== ALTERELEC FINAL 2026 — trame gris logo ===== */
:root{--dark:#6e6e6e;--dark2:#565656}
.top{background:#626262;color:#f2f2f2}
.top a:hover{color:#fff}.lang{border-color:#8d8d8d}
.hero{background:#6e6e6e}
.hero:before{background:linear-gradient(90deg,rgba(78,78,78,.96) 0%,rgba(78,78,78,.78) 47%,rgba(78,78,78,.22) 78%),var(--hero) center/cover no-repeat}
.btn.dark{background:#5d5d5d}
.darksec{background:linear-gradient(135deg,#6e6e6e,#575757)}
.audience{background:#6e6e6e}
.audience:before{background:linear-gradient(0deg,rgba(70,70,70,.92),rgba(70,70,70,.12)),var(--bgimg) center/cover}
.feature{background:#6e6e6e}
.feature:before{background:linear-gradient(0deg,rgba(68,68,68,.91),rgba(68,68,68,.08)),var(--bgimg) center/cover}
.feature.secondary{background:linear-gradient(145deg,#747474,#555)}
.feature.secondary:before{background:linear-gradient(0deg,rgba(67,67,67,.92),rgba(67,67,67,.10)),var(--bgimg) center/cover}
.pagehero{background:#6e6e6e}
.pagehero:before{background:linear-gradient(90deg,rgba(76,76,76,.96),rgba(76,76,76,.70) 55%,rgba(76,76,76,.18)),var(--hero) center/cover}
.diagram{background:#5e5e5e}.reviewbox{background:#656565}
footer{background:#5f5f5f}.legal{border-top-color:#7b7b7b;color:#e1e1e1}
.foot h4{color:#fff}.foot p,.foot a{color:#ededed}.foot a:hover{color:#fff}
.filter.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.cookie .prefs{background:#686868}
.cert-mini.sma-mini{max-width:168px;max-height:46px}
.footcert img.sma-foot{width:145px;height:38px;padding:4px 7px}
.certs{grid-template-columns:repeat(3,1fr)}
.cert-card.sma-card img{width:205px;height:68px}
.partner-feature{display:grid;grid-template-columns:.72fr 1.28fr;gap:32px;align-items:center;padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.partner-feature .partner-logo{width:min(100%,340px);height:auto;margin:auto}
.partner-feature h2{font-size:clamp(29px,3.7vw,45px);margin:0 0 12px}
.partner-feature p{color:var(--muted);line-height:1.7;margin:0 0 18px}
.sma-reference{margin:24px 0 4px;display:grid;grid-template-columns:.78fr 1.22fr;gap:28px;align-items:center;padding:30px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.sma-reference .sma-ref-logo{width:min(100%,320px);margin:auto}
.sma-reference h3{font-size:30px;margin:4px 0 10px}
.sma-reference p{color:var(--muted);line-height:1.65;margin:0 0 14px}
.sma-reference .ref-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
.sma-reference .ref-meta span{background:#f4f6f7;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;color:#555}
.sma-reference .external{font-size:12px;color:#7a7f83;margin-top:10px}
@media(max-width:980px){.certs{grid-template-columns:1fr 1fr}.partner-feature,.sma-reference{grid-template-columns:1fr}.partner-feature .partner-logo,.sma-reference .sma-ref-logo{max-width:300px}}
@media(max-width:650px){.certs{grid-template-columns:1fr}}


/* ===== FORMULAIRES PRODUCTION ===== */
.form-intro{padding:16px 18px;border-radius:14px;background:#f6f7f7;border:1px solid var(--line);color:#5d666b;font-size:13px;line-height:1.6;margin:0 0 22px}
.form-section-title{grid-column:1/-1;font-size:14px;font-weight:900;color:var(--brand);text-transform:uppercase;letter-spacing:.08em;margin:10px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.form-section-title.first{border-top:0;padding-top:0;margin-top:0}
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.choice{display:flex!important;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid #dce1e4;border-radius:10px;font-weight:650!important;background:#fff}
.choice input{width:auto!important;margin-top:2px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{display:none;padding:14px 16px;border-radius:12px;margin:0 0 20px;font-size:14px;line-height:1.55}
.form-status.ok{display:block;background:#eef7df;border:1px solid #cbe5a5;color:#496422}
.form-status.err{display:block;background:#fff0f2;border:1px solid #efc0c9;color:#8a2638}
.formcard button[disabled]{opacity:.65;cursor:wait}
.req{color:var(--brand)}
.project-summary{display:grid;gap:10px;margin-top:18px}
.project-summary .line{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #e1e4e5;font-size:13px}
.project-summary .line:last-child{border:0}
.project-summary .line span{color:var(--muted)}
@media(max-width:640px){.choice-grid{grid-template-columns:1fr}.project-summary .line{display:block}.project-summary .line b{display:block;margin-top:3px}}


/* ===== V4 PRODUCTION - images de fond / mobile / equipe ===== */

/* Les images portees par --hero/--bgimg utilisent maintenant /assets/... */
.hero:before,.pagehero:before,.audience:before,.feature:before{background-position:center;background-repeat:no-repeat}

/* Équipe */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.team-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(15,25,31,.06)}
.team-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.team-card .in{padding:20px 20px 22px}
.team-card h3{font-size:21px;margin:0 0 5px}
.team-card .role{color:var(--brand);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.team-card p{font-size:13px;line-height:1.58;color:var(--muted);margin:0}

/* Bandeau mobile plus compact et stable */
@media(max-width:980px){
  .top .wrap{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
  .toplinks{margin-left:auto}
  .nav{z-index:60}
  .team-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .top{font-size:11px}
  .top .wrap{padding:6px 0;min-height:34px}
  .top .wrap>span{display:none}
  .toplinks{width:100%;justify-content:space-between;gap:8px;flex-wrap:nowrap}
  .toplinks a[href^="mailto:"]{display:none}
  .toplinks a[href^="tel:"]{white-space:nowrap}
  .lang{margin-left:auto;flex:0 0 auto}
  header{backdrop-filter:none}
  .head{height:62px}
  .logo{height:26px}
  .menu-btn{padding:8px 11px}
  .nav{top:62px;padding:18px 20px}
  .hero{min-height:570px}
  .hero .wrap{padding:58px 0 74px}
  .hero h1{font-size:clamp(40px,12vw,52px)}
  .hero p{font-size:16px;line-height:1.55}
  .trustbar{margin-top:-28px}
  .team-grid{grid-template-columns:1fr}
}

/* ===== V6 PERFORMANCE ===== */
.hero{content-visibility:auto}
section:not(.hero):not(.pagehero){content-visibility:auto;contain-intrinsic-size:1px 900px}

/* ===== V7 AVIS GOOGLE + FORMULAIRES ===== */
.google-reviews{padding:64px 0;background:#f4f5f5}
.google-review-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.google-score{display:flex;align-items:center;gap:14px}
.google-score .score{font-size:40px;font-weight:900;line-height:1;color:#262626}
.google-score .stars{color:#f5a900;font-size:22px;letter-spacing:2px}
.google-score .count{font-size:13px;color:var(--muted);margin-top:3px}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.review-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 9px 28px rgba(20,28,34,.05)}
.review-card .who{font-weight:900;margin-bottom:4px}
.review-card .when{font-size:12px;color:var(--muted);margin-bottom:12px}
.review-card .stars{color:#f5a900;letter-spacing:1px;margin-bottom:12px}
.review-card p{margin:0;color:#555;line-height:1.65;font-size:14px}
.review-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding:20px 22px;border-radius:16px;background:#6e6e6e;color:#fff}
.review-cta p{margin:0;color:#f0f0f0;line-height:1.5}
.review-cta .btn{flex:0 0 auto}
.form-status.queued{display:block;background:#fff8df;border:1px solid #ead98c;color:#66540f}
@media(max-width:760px){
 .google-review-head{display:block}
 .google-score{margin-top:18px}
 .review-grid{grid-template-columns:1fr}
 .review-cta{display:block}
 .review-cta .btn{margin-top:14px;width:100%;text-align:center}
}

/* =====================================================================
   V11 FINAL — HEADER / RESPONSIVE / ACCESSIBILITE
   ===================================================================== */
:focus-visible{
  outline:3px solid rgba(173,0,64,.45);
  outline-offset:3px;
  border-radius:6px;
}
.menu-btn:focus-visible,.header-private:focus-visible,.btn:focus-visible{outline-color:#d4145a}

@keyframes aePrivatePulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,255,255,.28)}
  55%{transform:scale(1.06);box-shadow:0 0 0 9px rgba(255,255,255,0)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* Desktop: three true zones = logo / navigation / private CTA */
@media(min-width:1261px){
  .head{
    height:80px;
    width:min(1280px,calc(100% - 40px));
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
  }
  .logo{height:29px}
  .nav{
    height:80px;
    margin-left:0;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:16px;
    min-width:0;
    font-size:13px;
    white-space:nowrap;
  }
  .nav>a:not(.mobile-private),
  .drop>a{
    height:80px;
    padding:0!important;
    display:flex;
    align-items:center;
  }
  .drop{
    position:relative;
    height:80px;
    min-height:0!important;
    display:flex;
    align-items:center;
  }
  .dropmenu{
    display:grid;
    top:calc(100% - 5px);
    left:-16px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(5px);
  }
  .dropmenu:before{
    content:"";
    position:absolute;
    left:0;right:0;top:-18px;height:20px;
  }
  .drop:hover .dropmenu,
  .drop:focus-within .dropmenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .mobile-private{display:none!important}
  .header-private{
    height:52px;
    width:188px;
    flex:0 0 188px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 12px;
    border-radius:15px;
    background:var(--brand);
    color:#fff;
    box-shadow:0 10px 26px rgba(173,0,64,.20);
    line-height:1.05;
  }
  .header-private:hover{background:#960037;color:#fff}
  .header-private>span:last-child{display:flex;flex-direction:column;gap:3px}
  .header-private strong{font-size:12.5px;font-weight:900}
  .header-private small{font-size:10.5px;font-weight:750;opacity:.92}
  .private-icon{
    width:32px;height:32px;flex:0 0 32px;
    display:grid;place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.22);
    animation:aePrivatePulse 2.2s ease-in-out infinite;
  }
}

/* Compact desktop before the tablet switch */
@media(min-width:1261px) and (max-width:1320px){
  .head{gap:16px}
  .nav{gap:12px;font-size:12.5px}
  .header-private{width:174px;flex-basis:174px;padding-left:10px;padding-right:10px}
  .header-private strong{font-size:12px}
}

/* Tablet + mobile: hamburger before the nav has any chance to wrap */
@media(max-width:1260px){
  .head{
    height:70px;
    display:flex;
    align-items:center;
    gap:16px;
  }
  .header-private{display:none!important}
  .menu-btn{display:block;margin-left:auto}
  .nav{
    display:none;
    position:fixed;
    z-index:70;
    left:0;right:0;
    top:70px;
    bottom:0;
    height:auto;
    margin:0;
    padding:22px max(24px,calc((100vw - 760px)/2));
    background:#fff;
    overflow:auto;
    align-content:start;
    white-space:normal;
  }
  .nav.open{display:grid;gap:0}
  .nav>a,.drop>a{height:auto;padding:12px 0!important;display:flex;align-items:center}
  .drop{display:block;height:auto;min-height:0!important}
  .dropmenu{
    position:static!important;
    display:grid!important;
    min-width:0;
    padding:0 0 10px 16px;
    border:0;
    box-shadow:none;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .dropmenu:before{display:none!important}
  .mobile-private{
    margin-top:13px;
    padding:13px 14px!important;
    border-radius:12px;
    background:#f9e9ef;
    color:var(--brand)!important;
    font-weight:850;
    gap:7px;
  }
  .mobile-private small{margin-left:auto;color:#7c465a;font-size:11px}
}

/* Mobile top strip */
@media(max-width:640px){
  .head{height:62px}
  .nav{top:62px;padding:18px 20px}
  .top .wrap>span{display:none}
  .toplinks a[href^="mailto:"]{display:none}
}

/* =====================================================================
   V11 petites protections de mise en page
   ===================================================================== */
.section-head>div:only-child{max-width:800px}
img{height:auto}
