<!DOCTYPE html>
<html lang="fr-FR" data-profile="part">
<script>try{if(sessionStorage.getItem('pp_profile')==='pro')document.documentElement.setAttribute('data-profile','pro')}catch(e){}</script>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Installateur panneau solaire - Planète Plus</title>
<meta name="description" content="Faites appel à Planète Plus, votre installateur de panneaux solaires pour particuliers et professionnels. Étude gratuite, solution sur mesure et accompagnement complet. Situé à Mâcon, en Saône et Loire, nous intervenons sur toute l'Est de la France.">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<link rel="canonical" href="https://planete-plus.fr/">
<meta property="og:locale" content="fr_FR">
<meta property="og:type" content="website">
<meta property="og:title" content="Installateur panneau solaire - Planète Plus">
<meta property="og:description" content="Faites appel à Planète Plus, votre installateur de panneaux solaires pour particuliers et professionnels. Étude gratuite, solution sur mesure et accompagnement complet. Situé à Mâcon, en Saône et Loire, nous intervenons sur toute l'Est de la France.">
<meta property="og:url" content="https://planete-plus.fr/">
<meta property="og:site_name" content="Planète Plus">
<meta property="og:image" content="https://planete-plus.fr/shared/img/og-planete-plus.jpg">
<meta name="twitter:card" content="summary_large_image">
<script type="application/ld+json">{"@context":"https://schema.org","@type":["LocalBusiness","Electrician"],"@id":"https://planete-plus.fr/#entreprise","name":"Planète Plus","legalName":"PLANETE +","url":"https://planete-plus.fr/","logo":"https://planete-plus.fr/shared/brand/logo-expert.webp","image":"https://planete-plus.fr/shared/img/og-planete-plus.jpg","telephone":"+33385514048","email":"contact@planete-plus.fr","description":"Installateur de panneaux solaires, batteries et bornes de recharge pour particuliers et professionnels, à Charnay-lès-Mâcon (Saône-et-Loire).","address":{"@type":"PostalAddress","streetAddress":"234 rue Roger Bretagnon, Chemin des Luminaires","postalCode":"71850","addressLocality":"Charnay-lès-Mâcon","addressRegion":"Bourgogne-Franche-Comté","addressCountry":"FR"},"areaServed":["Mâcon","Dijon","Besançon","Saône-et-Loire","Est de la France"],"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday"],"opens":"08:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Friday","opens":"08:00","closes":"16:00"}],"foundingDate":"2019","hasMap":"https://maps.google.com/?cid=4438313989299605525","sameAs":["https://www.instagram.com/planeteplus71/","https://www.facebook.com/planete.plus.france","https://www.linkedin.com/company/planeteplus","https://www.youtube.com/@PLANETEPLUS-qs5xk"]}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","@id":"https://planete-plus.fr/#site","url":"https://planete-plus.fr/","name":"Planète Plus","inLanguage":"fr-FR","publisher":{"@id":"https://planete-plus.fr/#entreprise"}}</script>
<script>window.dataLayer=window.dataLayer||[];window.ppGTM=function(){if(window.ppGTMon||location.hostname!=='planete-plus.fr')return;window.ppGTMon=1;
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f)})(window,document,'script','dataLayer','GTM-ND65D9KB')};
try{var c=JSON.parse(localStorage.getItem('pp_cookies')||'null');if(c&&c.exp>Date.now()&&c.ok)window.ppGTM()}catch(e){}</script>
<link rel="icon" href="/shared/brand/favicon.png">
<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<style>
:root{
--f:'Sora',system-ui,sans-serif;
--blue:#0F96BC; --blue-btn:#0C84A8; --green:#B2CF61; --sun:#FDD562; --white:#fff; --ink:#12262E;
--ease:cubic-bezier(.22,1,.36,1); --dur:.9s; color-scheme:only light;
--c:#B2CF61; --c-deep:#163D2B; --c-deeper:#0E2A1E; --c-mid:#2E6B4A; --c-tint:#EEF5DD; --c-on:#12262E; --c-text:#DDEBD9;
}
html[data-profile="pro"]{--c:#0F96BC; --c-deep:#062A3A; --c-deeper:#041E2B; --c-mid:#0A6C88; --c-tint:#E3F2F7; --c-on:#fff; --c-text:#C9DEE7}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:hidden;max-width:100%}
body{font-family:var(--f);background:var(--c-deep);color:#EAF4F8;-webkit-font-smoothing:antialiased;line-height:1.62;transition:background var(--dur) var(--ease)}
.logos img{max-width:100%;height:auto}
body.lock{overflow:hidden}
img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:800;letter-spacing:-.025em;line-height:1.02}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.k{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:700;color:var(--sun)}
.btn{display:inline-flex;align-items:center;gap:.55em;font-weight:700;padding:15px 28px;border-radius:999px;transition:.35s var(--ease);cursor:pointer;border:0;font-family:inherit;font-size:.98rem}
.btn-w{background:#fff;color:var(--c-deep)}.btn-w:hover{transform:translateY(-2px)}
.btn-o{border:1.5px solid rgba(255,255,255,.4);color:#fff}.btn-o:hover{background:rgba(255,255,255,.1)}
.btn-sun{background:var(--sun);color:var(--ink)}.btn-sun:hover{background:#F5C94A;transform:translateY(-2px)}
.dots{position:relative}.dots>*{position:relative}
.dots::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.2px) 0 0/22px 22px}
.dots.on-light::before{background:radial-gradient(rgba(18,38,46,.12) 1px,transparent 1.2px) 0 0/22px 22px}
.arcs{position:absolute;pointer-events:none;width:1400px;height:1400px;background:url("/shared/pattern/sun-arcs.svg") center/contain no-repeat}
.logo{display:inline-flex;align-items:center}.logo img{height:44px;width:auto}
.logo.w img{filter:brightness(0) invert(1)}
[data-part],[data-pro]{transition:opacity .5s var(--ease)}
html[data-profile="part"] [data-pro]{display:none!important}
html[data-profile="pro"] [data-part]{display:none!important}
/* intro */
.intro{position:fixed;inset:0;z-index:100;background:#062A3A;display:grid;place-items:center;transition:opacity .9s ease,visibility 0s .9s}
.intro.gone{opacity:0;visibility:hidden}
.intro .ring{position:absolute;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.55);animation:ring 1.7s var(--ease) forwards}
.intro .ring:nth-child(2){animation-delay:.18s;border-color:rgba(178,207,97,.7)}.intro .ring:nth-child(3){animation-delay:.36s;border-color:rgba(15,150,188,.7)}
@keyframes ring{to{width:180vmax;height:180vmax;opacity:0}}
.intro .box{position:relative;text-align:center;opacity:0;animation:introin 1s .35s var(--ease) forwards}
.intro .box img{width:min(320px,70vw);margin:0 auto;filter:brightness(0) invert(1)}
.intro .box small{display:block;font-size:.62rem;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:#9FC4D3;margin-top:16px;font-weight:700}
@keyframes introin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* header + switch */
header{position:fixed;inset:0 0 auto;z-index:60;transition:.35s}
header.s{background:color-mix(in srgb,var(--c-deep) 88%,transparent);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(255,255,255,.12)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
nav.desk{display:flex;gap:26px;font-weight:500;font-size:.93rem;color:#D3E7EF}
nav.desk a{opacity:.85;white-space:nowrap}nav.desk a:hover{opacity:1}
.navr{display:flex;align-items:center;gap:14px}
.switch{display:inline-flex;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:4px;position:relative}
.switch button{border:0;background:none;color:#fff;font:inherit;font-weight:700;font-size:.82rem;padding:8px 16px;border-radius:999px;cursor:pointer;position:relative;z-index:1;opacity:.75;transition:.3s}
.switch button.on{opacity:1;color:var(--c-on)}
.switch .pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--c);transition:transform var(--dur) var(--ease),background var(--dur)}
html[data-profile="pro"] .switch .pill{transform:translateX(100%)}
.burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center;position:relative;z-index:80}
.burger span{display:block;width:26px;height:1.5px;background:#fff;transition:.3s}
.burger.x span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.burger.x span:nth-child(2){opacity:0}.burger.x span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:70;background:var(--c-deeper);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:0 10vw;clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.76,0,.24,1);visibility:hidden}
.mnav.open{clip-path:inset(0 0 0% 0);visibility:visible}
.mnav a{font-weight:800;font-size:clamp(1.8rem,7vw,2.8rem);padding:.35rem 0}
/* HERO */
.hero{position:relative;min-height:var(--herofix,100vh);display:flex;align-items:center;padding:128px 0 110px;overflow:hidden;background:radial-gradient(1200px 700px at 50% 15%,var(--c-mid) 0%,var(--c-deep) 60%);transition:background var(--dur) var(--ease)}
.hero .arcs{left:50%;top:48%;transform:translate(-50%,-50%);opacity:.2}
.bgs{position:absolute;inset:0;z-index:0}
.bg{position:absolute;inset:0;clip-path:circle(0% at var(--cx,50%) var(--cy,60%));transition:clip-path 1.1s var(--ease);will-change:clip-path}
.bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),var(--c-deep) 92%)}
.hero.prev-part .bg-part,.hero.prev-pro .bg-pro{clip-path:circle(150% at var(--cx,50%) var(--cy,60%))}
.halo{position:absolute;z-index:1;left:var(--cx,50%);top:var(--cy,60%);width:20px;height:20px;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;transition:transform 1.3s var(--ease),opacity .6s;pointer-events:none;background:radial-gradient(circle,var(--hc,rgba(178,207,97,.4)),transparent 68%)}
.hero.prev-part .halo,.hero.prev-pro .halo{transform:translate(-50%,-50%) scale(70);opacity:1}
.hero.prev-part{--hc:rgba(178,207,97,.42)}.hero.prev-pro{--hc:rgba(15,150,188,.5)}
.hin{position:relative;z-index:3;width:100%;text-align:center}
.hero h1{font-size:clamp(1.9rem,8vw,4.4rem);color:#fff;text-wrap:balance;margin-top:16px}
.hero .q{color:var(--c-text);font-size:1.12rem;margin:16px auto 0;max-width:48ch}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:860px;margin:44px auto 0}
.card{position:relative;border-radius:28px;padding:34px 30px 30px;text-align:left;cursor:pointer;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);transition:.6s var(--ease);overflow:hidden;isolation:isolate}
.card::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .6s var(--ease)}
.card.part::before{background:linear-gradient(160deg,rgba(178,207,97,.28),transparent 60%)}
.card.pro::before{background:linear-gradient(160deg,rgba(15,150,188,.36),transparent 60%)}
.card:hover,.card.on{transform:translateY(-8px);border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.1)}
.card:hover::before,.card.on::before{opacity:1}
.card .ic{width:72px;height:72px;border-radius:50%;background:#fff;display:grid;place-items:center;margin-bottom:18px;position:relative}
.card .ic img{width:42px;height:42px}
.card .ic::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid transparent;transform:scale(.75);opacity:0;transition:.6s var(--ease)}
.card.part:hover .ic::after,.card.part.on .ic::after{border-color:var(--green);transform:scale(1);opacity:1}
.card.pro:hover .ic::after,.card.pro.on .ic::after{border-color:var(--blue);transform:scale(1);opacity:1}
.card h3{font-size:1.5rem;color:#fff}
.card p{color:var(--c-text);margin-top:8px;font-size:.95rem}
.card .go{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-weight:700;font-size:.9rem;color:#fff}
.card .go i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-style:normal;transition:.4s}
.card.part .go i{background:var(--green);color:var(--ink)}.card.pro .go i{background:var(--blue);color:#fff}
.card:hover .go i{transform:translateX(4px)}
.card .state{position:absolute;right:18px;top:18px;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.14);opacity:0;transition:.4s}
.card.on .state{opacity:1}
.scrollhint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;color:var(--c-text);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px}
.scrollhint i{width:1px;height:34px;background:linear-gradient(180deg,currentColor,transparent);animation:sc 2.2s ease-in-out infinite}
@keyframes sc{50%{transform:translateY(8px);opacity:.5}}
/* sections arrondies */
.sec{position:relative;padding:110px 0;border-radius:44px 44px 0 0;margin-top:-44px;overflow:hidden;transition:background var(--dur) var(--ease),color var(--dur)}
.sec.tint{background:var(--c-tint);color:var(--ink)}
.sec.white{background:#fff;color:var(--ink)}
.sec.deep{background:var(--c-deep);color:#EAF4F8}
.sec.color{background:var(--c);color:var(--c-on)}
.sec.tint .k,.sec.white .k{color:var(--c-mid)}
.sec.color .k{color:var(--c-on);opacity:.8}
.h2{font-size:clamp(2rem,4.4vw,3.3rem);text-wrap:balance}
.center{text-align:center;max-width:62ch;margin:0 auto}
.sols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px}
.sol{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 24px 44px -34px rgba(18,38,46,.45);display:flex;flex-direction:column}
.sol img,.sol video{aspect-ratio:16/11;object-fit:cover;width:100%}
.sol .b{padding:22px 24px 26px}
.sol h3{font-size:1.2rem;color:var(--ink)}
.sol p{color:#4E6A76;margin-top:8px;font-size:.95rem}
.sol .lnk{display:inline-flex;gap:8px;align-items:center;margin-top:14px;font-weight:700;color:var(--c-mid)}
.tl{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:64px}
.tl::before{content:"";position:absolute;left:8%;right:8%;top:22px;height:1px;background:linear-gradient(90deg,transparent,var(--c-mid),transparent)}
.tstep{position:relative;padding-top:0}
.tstep::before{content:"";display:block;margin:10px 0 18px;width:24px;height:24px;border-radius:50%;background:#fff;border:6px solid var(--c);box-shadow:0 0 0 8px var(--c-tint)}
.tstep h3{font-size:1.3rem;color:var(--ink)}
.tstep p{color:#4E6A76;margin-top:10px}
.tstep b{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c-mid);margin-bottom:8px}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
.vframe{position:relative;border-radius:28px;overflow:hidden;box-shadow:0 34px 70px -34px rgba(0,0,0,.6)}
.vframe video{aspect-ratio:5/4;object-fit:cover;width:100%}
.vframe .badge{position:absolute;left:18px;bottom:18px;background:#fff;color:var(--ink);border-radius:16px;padding:12px 16px;font-size:.82rem;font-weight:700;box-shadow:0 12px 26px -12px rgba(0,0,0,.4)}
.vframe .badge b{display:block;font-size:1.5rem;color:var(--c-mid);line-height:1.1;letter-spacing:-.02em}
.sec.deep .h2{color:#fff}.sec.deep p{color:var(--c-text)}
.refs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.refs span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:8px 14px;border-radius:999px;font-size:.86rem;font-weight:600}
.logos{display:grid;grid-template-columns:repeat(5,1fr);gap:26px 34px;align-items:center;justify-items:center;background:#fff;border-radius:22px;padding:30px 34px;margin-top:40px}
.logos img{max-height:44px;width:auto;max-width:min(100%,130px);object-fit:contain;filter:grayscale(1);opacity:.85;transition:.3s}
.logos img:hover{filter:none;opacity:1}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.qt{background:#fff;border-radius:24px;padding:30px;color:var(--ink)}
.qt .st{color:#D9A400;letter-spacing:.15em;font-weight:800;margin-bottom:12px}
.qt p{font-size:1rem}.sec.deep .qt p{color:var(--ink)}
.qt .who{margin-top:14px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--c-mid)}
.zone .in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.zone .h2{color:var(--c-on)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.chips span{border:1.5px solid currentColor;padding:9px 16px;border-radius:999px;font-size:.9rem;font-weight:600;opacity:.9}
.zone .arcs{right:-560px;top:-520px;opacity:.22}
.cta{text-align:center}.cta .h2{color:#fff}
footer{background:var(--c-deeper);color:#A9C4D1;padding:0 0 30px;transition:background var(--dur)}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:30px;padding:56px 0 40px;border-bottom:1px solid rgba(255,255,255,.12)}
footer h4{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px}
footer a{display:block;padding:4px 0;font-size:.92rem}footer a:hover{color:#fff}
.fb{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:20px;font-size:.8rem}
.r{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.r.in{opacity:1;transform:none}.r2{transition-delay:.12s}.r3{transition-delay:.24s}
.flash{position:fixed;inset:0;z-index:90;pointer-events:none;background:var(--c);opacity:0}
.flash.go{animation:flash 1s var(--ease)}
@keyframes flash{0%{opacity:0}18%{opacity:.55}100%{opacity:0}}
@media(max-width:960px){
nav.desk{display:none}.burger{display:flex}.navr .switch{display:none}
.duo,.sols,.tl,.split,.zone .in,.quotes,.fg{grid-template-columns:1fr}.tl::before{display:none}.tstep{padding-top:0}
.logos{grid-template-columns:repeat(3,1fr);padding:22px}.logo img{height:36px}.sec{padding:80px 0;border-radius:32px 32px 0 0;margin-top:-32px}
}
@media(prefers-reduced-motion:reduce){.r{opacity:1;transform:none;transition:none}.bg,.halo,.card{transition:none}.scrollhint i{animation:none}.flash.go{animation:none}}
.simu-card{background:#fff;border-radius:22px;overflow:hidden;max-width:980px;margin:36px auto 0}.simu-card iframe{display:block;width:100%;height:870px;border:0}@media(max-width:600px){.simu-card iframe{height:1150px}}.simu-note{text-align:center;font-size:.86rem;opacity:.65;margin-top:14px}.simu-card{box-shadow:0 30px 60px -30px rgba(6,42,58,.4),0 0 0 1px rgba(18,38,46,.08)}.simu-pro{max-width:760px;margin:36px auto 0;background:var(--c-tint);border-radius:22px;padding:34px 30px;text-align:center}.simu-pro p{margin-top:10px}.simu-pro .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.ent{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ent .h2{color:var(--ink)}.ent-txt>p{color:#4E6A76;margin-top:16px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.stat{background:#fff;border-radius:20px;padding:18px 18px 16px;box-shadow:0 20px 40px -32px rgba(18,38,46,.45)}
.stat b{display:block;font-size:1.7rem;font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--c-mid)}
.stat span{display:block;font-size:.82rem;color:#4E6A76;margin-top:6px;line-height:1.35}
.certs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.certs span{border:1.5px solid var(--c-mid);color:var(--c-mid);padding:8px 15px;border-radius:999px;font-size:.84rem;font-weight:700}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:24px;box-shadow:0 24px 44px -34px rgba(18,38,46,.55)}
.mosaic .m1{grid-column:span 2;aspect-ratio:16/10}.mosaic .m2,.mosaic .m3{aspect-ratio:4/5}.mosaic .m3{object-position:62% 50%}
.engs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:64px}
.eng{border-top:2px solid var(--c);padding-top:18px}
.eng h3{font-size:1.15rem;color:var(--ink)}.eng p{color:#4E6A76;margin-top:8px;font-size:.95rem}
.simu-soon{max-width:820px;margin:36px auto 0;background:var(--c-tint);border-radius:22px;padding:38px 32px 34px;text-align:center}
.soon{display:inline-block;background:var(--sun);color:var(--ink);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;padding:7px 12px;border-radius:999px;margin-bottom:16px}
.simu-soon h3{font-size:1.45rem;color:var(--ink);text-wrap:balance}.simu-soon>p{margin-top:10px;color:#4E6A76}
.sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 6px}
.sizes div{background:#fff;border-radius:16px;padding:18px 14px;text-align:left;border:1.5px solid transparent;opacity:.8}
.sizes div.mid{border-color:var(--c);opacity:1}
.sizes b{display:block;font-size:.95rem;color:var(--ink)}
.sizes i{display:block;height:9px;border-radius:9px;background:rgba(18,38,46,.1);margin-top:12px}.sizes i+i{width:62%;margin-top:8px}
.simu-soon .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.simu-soon small{display:block;margin-top:18px;font-size:.86rem;color:#4E6A76}
.faq{max-width:820px;margin:44px auto 0}
.faq details{background:#fff;border-radius:18px;margin-top:12px;box-shadow:0 16px 34px -30px rgba(18,38,46,.5)}
.faq summary{list-style:none;cursor:pointer;padding:20px 58px 20px 24px;font-weight:700;color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--c-tint);color:var(--c-mid);display:grid;place-items:center;font-size:1.2rem;transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 24px 22px;color:#4E6A76}
.cb{max-width:760px;margin:40px auto 0;background:#fff;color:var(--ink);border-radius:24px;padding:30px;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cb h3{grid-column:1/-1;font-size:1.25rem}
.cb label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:700;color:#4E6A76}
.cb .full{grid-column:1/-1}
.cb input,.cb textarea{font:inherit;font-size:.98rem;color:var(--ink);border:1.5px solid rgba(18,38,46,.16);border-radius:14px;padding:13px 14px;background:#fff;width:100%}
.cb input:focus,.cb textarea:focus{outline:none;border-color:var(--c-mid)}
.cb textarea{min-height:96px;resize:vertical}
.cb .btn{justify-self:start}.cb .ok{grid-column:1/-1;font-weight:700;color:var(--c-mid);display:none}.cb.sent .ok{display:block}
.coords{margin-top:22px;font-size:.9rem}
@media(max-width:960px){.ent,.engs{grid-template-columns:1fr}.ent{gap:36px}.stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:600px){.stats,.sizes,.cb{grid-template-columns:1fr}.stats{gap:10px}.stat{display:flex;align-items:center;gap:14px;padding:14px 18px}.stat b{font-size:1.35rem;min-width:78px}.stat span{margin-top:0}.cb{padding:22px}.simu-soon{padding:30px 20px}}
.acts-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.acts-hd .h2{max-width:18ch}
.acts{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;margin-top:44px;align-items:stretch}
.meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#4E6A76}
.chip{background:var(--c);color:var(--c-on);padding:5px 10px;border-radius:999px}
.ph{position:relative;overflow:hidden;background:var(--c-tint)}.ph img{position:relative;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.ph.wide::before{content:"";position:absolute;inset:-30px;background:var(--bg) center/cover;filter:blur(22px) saturate(1.1);opacity:.75}.ph.wide img{object-fit:contain}
.ph.none{display:grid;place-items:center;background:radial-gradient(420px 320px at 30% 20%,var(--c-mid),var(--c-deep) 72%)}
.ph.none::before{content:"";position:absolute;inset:0;background:url("/shared/pattern/sun-arcs.svg") 70% 30%/180% no-repeat;opacity:.18}
.ph.none span{position:relative;color:#fff;font-weight:800;font-size:1.5rem;letter-spacing:-.02em}
a:hover>.ph img{transform:scale(1.04)}
.act-f{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--c-deep);color:#EAF4F8;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(6,42,58,.55)}
.act-f .ph{min-height:440px}.act-f .ph img{position:absolute;inset:0}
.act-f .b{padding:32px 30px;display:flex;flex-direction:column;justify-content:flex-end;gap:14px}
.act-f .meta{color:var(--c-text)}.act-f h3{font-size:1.65rem;color:#fff;text-wrap:balance}.act-f p{color:var(--c-text);font-size:.95rem}
.act-f .lnk,.card-a .lnk{font-weight:700;color:var(--sun)}.card-a .lnk{color:var(--c-mid);margin-top:auto;padding-top:14px}
.act-list{display:grid;gap:14px;align-content:stretch}
.act-s{display:grid;grid-template-columns:124px 1fr;gap:18px;align-items:center;background:var(--c-tint);border-radius:22px;padding:12px;transition:transform .4s var(--ease)}
.act-s:hover{transform:translateX(4px)}.act-s .ph{width:124px;height:124px;border-radius:16px}
.act-s h3{font-size:1.05rem;color:var(--ink);margin-top:8px;line-height:1.2;text-wrap:balance}
.phero{position:relative;padding:160px 0 110px;overflow:hidden;background:radial-gradient(1100px 600px at 50% 0%,var(--c-mid) 0%,var(--c-deep) 62%);text-align:center;transition:background var(--dur) var(--ease)}
.phero .arcs{left:50%;top:10%;transform:translateX(-50%);opacity:.18}.phero .wrap{position:relative}
.phero h1{font-size:clamp(2.2rem,7vw,4.2rem);color:#fff;margin-top:16px}.phero .q{color:var(--c-text);font-size:1.1rem;margin:16px auto 0;max-width:52ch}
.flts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.flt{font:inherit;font-weight:700;font-size:.88rem;padding:10px 18px;border-radius:999px;border:1.5px solid rgba(18,38,46,.18);background:#fff;color:var(--ink);cursor:pointer;transition:.3s}
.flt:hover{border-color:var(--c-mid)}.flt.on{background:var(--c);border-color:var(--c);color:var(--c-on)}
.grid-a{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.card-a{display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 24px 44px -34px rgba(18,38,46,.5),0 0 0 1px rgba(18,38,46,.06);transition:transform .4s var(--ease)}
.card-a:hover{transform:translateY(-4px)}.card-a[hidden]{display:none}.card-a .ph{aspect-ratio:1/1}
.card-a .b{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}.card-a h3{font-size:1.15rem;color:var(--ink);margin-top:12px;text-wrap:balance;line-height:1.15}.card-a p{color:#4E6A76;font-size:.93rem;margin-top:8px}
.follow{text-align:center;margin-top:44px;color:#4E6A76}.follow a{color:var(--c-mid);font-weight:700}
nav.desk a[aria-current]{opacity:1;box-shadow:0 2px 0 var(--c)}
body.sub .sec{margin-top:-44px}
@media(max-width:960px){.acts,.act-f{grid-template-columns:1fr}.act-f .ph{min-height:0;aspect-ratio:4/3}.grid-a{grid-template-columns:1fr 1fr}.acts-hd .btn{order:2}}
@media(max-width:600px){.grid-a{grid-template-columns:1fr}.act-s{grid-template-columns:92px 1fr;gap:14px}.act-s .ph{width:92px;height:92px}.act-f .b{padding:24px 22px}.act-f h3{font-size:1.35rem}.phero{padding:130px 0 90px}}
/* ===== v3 — arborescence et contenus client du 25/09/2026 ===== */
.i{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
nav.desk{gap:30px}
.navr .tel{padding:11px 20px}
@media(max-width:1180px) and (min-width:961px){.navr .tel{display:none}nav.desk{gap:24px}}
.mnav .switch{align-self:flex-start;margin-bottom:26px}.mnav .switch button{font-size:.95rem;padding:10px 18px}
.mnav .mtel{font-size:1.1rem;font-weight:700;margin-top:24px;opacity:.85}
.btn .i{width:18px;height:18px}
.btn-d{background:var(--c-deep);color:#fff}.btn-d:hover{transform:translateY(-2px)}
.btn-line{border:1.5px solid currentColor}.btn-line:hover{background:rgba(18,38,46,.06)}
/* hero accueil */
.hero h1.hq{font-size:clamp(1.85rem,5vw,3.6rem);max-width:20ch;margin-left:auto;margin-right:auto}
.hsub{margin-top:18px;color:#fff;font-weight:600;font-size:1.1rem;display:flex;flex-wrap:wrap;gap:8px 10px;justify-content:center;align-items:center}
.hsub .pl{border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);padding:5px 14px;border-radius:999px;font-size:.92rem}
.hero .q.est{margin-top:10px;font-size:1rem}
.hcta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.trust{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;margin-top:22px;font-size:.9rem;font-weight:700;color:#fff}
.trust li{display:flex;align-items:center;gap:9px}.trust li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sun)}
.duo.mini{margin-top:38px;max-width:800px;gap:16px}
.duo.mini .card{padding:18px 22px;display:grid;grid-template-columns:56px 1fr;column-gap:16px;align-items:center;border-radius:22px}
.duo.mini .card .ic{width:56px;height:56px;margin:0;grid-row:span 2}.duo.mini .card .ic img{width:32px;height:32px}
.duo.mini .card h3{font-size:1.08rem}.duo.mini .card p{margin-top:2px;font-size:.84rem;line-height:1.45}
.duo.mini .card .state{top:10px;right:12px;font-size:.6rem;padding:5px 8px}
.duo.mini .card:hover,.duo.mini .card.on{transform:translateY(-4px)}
/* en attente client */
.wait{border:1.5px dashed rgba(18,38,46,.28);background:repeating-linear-gradient(135deg,rgba(18,38,46,.035) 0 10px,transparent 10px 20px);color:#4E6A76}
.tag-w{display:inline-flex;align-items:center;gap:6px;background:var(--sun);color:var(--ink);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;padding:5px 10px;border-radius:999px;white-space:nowrap}
.sec.deep .wait,.on-dark .wait{border-color:rgba(255,255,255,.3);background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 10px,transparent 10px 20px);color:var(--c-text)}
/* confiance (bento) */
.bento{display:grid;grid-template-columns:1fr 1fr 1.25fr;grid-auto-rows:minmax(170px,auto);gap:16px;margin-top:48px}
.tile{background:#fff;border-radius:24px;padding:24px 24px 22px;box-shadow:0 24px 44px -36px rgba(18,38,46,.5);display:flex;flex-direction:column;gap:10px;color:var(--ink)}
.tile .lab{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--c-mid)}
.tile .big{font-size:clamp(2.4rem,4vw,3.2rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--ink)}
.tile p{color:#4E6A76;font-size:.92rem;line-height:1.5}
.tile.wait{box-shadow:none;background-color:rgba(255,255,255,.55)}
.tile.photo{padding:0;overflow:hidden;grid-row:span 2;position:relative;min-height:340px}
.tile.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tile .certs{margin-top:auto}.tile .certs span{font-size:.8rem;padding:7px 12px}
.names{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:auto;font-weight:800;font-size:1.05rem;color:var(--ink)}
.logos .lw{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:58px;border-radius:14px;padding:8px;text-align:center;font-weight:800;font-size:.86rem;color:var(--ink)}
.logos .lw .tag-w{font-size:.52rem;padding:4px 8px}
.prize{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;background:var(--c-deep);color:#EAF4F8;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(6,42,58,.6)}
.prize .ph{min-height:320px;position:relative}.prize .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prize .b{padding:40px 38px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.prize .k{color:var(--sun)}.prize h3{font-size:clamp(1.5rem,2.6vw,2.1rem);color:#fff;text-wrap:balance;line-height:1.1}
.prize .kwh{display:flex;align-items:baseline;gap:12px;margin-top:6px}.prize .kwh b{font-size:clamp(2.6rem,5vw,3.6rem);font-weight:800;letter-spacing:-.04em;color:var(--sun);line-height:1}
.prize .kwh span{color:var(--c-text);font-size:.95rem;max-width:26ch;line-height:1.4}
/* séquence économies */
.seq{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:56px}
.seq li{position:relative;background:var(--c-tint);border-radius:24px;padding:26px 22px 26px;display:flex;flex-direction:column}
.seq li:not(:last-child)::after{content:"";position:absolute;right:-19px;top:50px;width:16px;height:16px;z-index:2;background:no-repeat center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E6B4A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
html[data-profile="pro"] .seq li:not(:last-child)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A6C88' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.seq .ico{width:54px;height:54px;border-radius:50%;background:#fff;color:var(--c-mid);display:grid;place-items:center;box-shadow:0 10px 24px -16px rgba(18,38,46,.5)}
.seq .ico .i{width:26px;height:26px}
.seq small{display:block;margin-top:20px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--c-mid)}
.seq h3{font-size:1.08rem;line-height:1.3;color:var(--ink);margin-top:6px;letter-spacing:-.01em}
/* case foncée : la 1re par défaut, celle survolée ensuite (demande client 07/10) */
.seq li{transition:background .35s var(--ease)}.seq h3,.seq small,.seq .ico{transition:color .35s var(--ease),background .35s var(--ease)}
.seq li:first-child,.seq li:hover{background:var(--c-deep)}.seq li:first-child h3,.seq li:hover h3{color:#fff}.seq li:first-child small,.seq li:hover small{color:var(--sun)}
.seq li:first-child .ico,.seq li:hover .ico{background:var(--sun);color:var(--ink)}
.seq:hover li:first-child:not(:hover){background:var(--c-tint)}.seq:hover li:first-child:not(:hover) h3{color:var(--ink)}.seq:hover li:first-child:not(:hover) small{color:var(--c-mid)}.seq:hover li:first-child:not(:hover) .ico{background:#fff;color:var(--c-mid)}
.acta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:40px}
/* faisabilité */
.feas{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.feas .h2{color:var(--ink)}.feas .lead{font-size:1.15rem;font-weight:600;color:var(--ink);margin-top:16px}
.feas .intro-l{color:#4E6A76;margin-top:22px;font-weight:600}
.chk{list-style:none;display:grid;gap:10px;margin-top:14px}
.chk li{display:flex;gap:12px;align-items:center;background:#fff;border-radius:14px;padding:12px 16px;font-weight:600;color:var(--ink);box-shadow:0 14px 30px -26px rgba(18,38,46,.5)}
.chk li::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:var(--c) no-repeat center/13px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312262E' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E")}
html[data-profile="pro"] .chk li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E")}
.chips-l{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chips-l span{background:#fff;color:var(--ink);padding:9px 16px;border-radius:999px;font-weight:700;font-size:.9rem;box-shadow:0 10px 24px -20px rgba(18,38,46,.6)}
.be{margin-top:26px;background:var(--c-deep);color:#EAF4F8;border-radius:24px;padding:26px 26px 24px;display:grid;grid-template-columns:auto 1fr;gap:6px 20px;align-items:center}
.be b{font-size:3.6rem;font-weight:800;letter-spacing:-.05em;line-height:.9;color:var(--sun)}
.be strong{color:#fff;font-size:1.02rem;line-height:1.35}.be span{color:var(--c-text);font-size:.9rem;line-height:1.45}
.be .certs{grid-column:1/-1;margin-top:14px}.be .certs span{border-color:rgba(255,255,255,.3);color:#fff;font-weight:600;font-size:.78rem;padding:6px 12px}
/* garantie de production */
.gar{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:54px}
.gar li{position:relative;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:22px 20px 24px}
.gar li:not(:last-child)::after{content:"";position:absolute;right:-15px;top:40px;width:14px;height:14px;background:no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FDD562' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.gar .n{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--c);color:var(--c-on);font-size:1rem}
.gar h3{font-size:1.02rem;color:#fff;margin-top:16px;line-height:1.3;letter-spacing:-.01em;font-weight:700}
/* garantie : 1re case en jaune par défaut, la case survolée ensuite (accueil Pro : bleu foncé) ; pictogramme par étape */
.gar li{transition:background .35s var(--ease),border-color .35s var(--ease)}.gar h3,.gar .n,.gar .gi{transition:color .35s var(--ease),background .35s var(--ease)}
.gar .gi{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:var(--sun)}.gar .gi .i{width:28px;height:28px;stroke-width:1.6}
.gar .n{position:absolute;top:18px;right:18px;width:28px;height:28px;font-size:.8rem}
.gar li:first-child,.gar li:hover{background:var(--sun);border-color:var(--sun)}.gar li:first-child h3,.gar li:hover h3{color:var(--ink)}
.gar li:first-child .n,.gar li:hover .n{background:var(--ink);color:var(--sun)}.gar li:first-child .gi,.gar li:hover .gi{background:var(--ink);color:var(--sun)}
.gar:hover li:first-child:not(:hover){background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}.gar:hover li:first-child:not(:hover) h3{color:#fff}
.gar:hover li:first-child:not(:hover) .n{background:var(--c);color:var(--c-on)}.gar:hover li:first-child:not(:hover) .gi{background:rgba(255,255,255,.1);color:var(--sun)}
html[data-profile="pro"] body:not(.sub) .gar li:first-child,html[data-profile="pro"] body:not(.sub) .gar li:hover{background:var(--c-mid);border-color:var(--c-mid)}
html[data-profile="pro"] body:not(.sub) .gar li:first-child h3,html[data-profile="pro"] body:not(.sub) .gar li:hover h3{color:#fff}
html[data-profile="pro"] body:not(.sub) .gar li:first-child .n,html[data-profile="pro"] body:not(.sub) .gar li:hover .n,html[data-profile="pro"] body:not(.sub) .gar li:first-child .gi,html[data-profile="pro"] body:not(.sub) .gar li:hover .gi{background:#fff;color:var(--c-mid)}
html[data-profile="pro"] body:not(.sub) .gar:hover li:first-child:not(:hover){background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
html[data-profile="pro"] body:not(.sub) .gar:hover li:first-child:not(:hover) .n{background:var(--c);color:var(--c-on)}html[data-profile="pro"] body:not(.sub) .gar:hover li:first-child:not(:hover) .gi{background:rgba(255,255,255,.1);color:var(--sun)}
.gar-note{margin-top:30px;text-align:center;font-weight:600;font-size:1.08rem;color:#fff!important}
/* solutions x4 */
.sols.four{grid-template-columns:repeat(4,1fr);gap:18px}
.sol .viz{aspect-ratio:16/11;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(260px 200px at 30% 25%,var(--c-mid),var(--c-deep) 75%);color:#fff}
.sol .viz::before{content:"";position:absolute;inset:0;background:url("/shared/pattern/sun-arcs.svg") 60% 40%/220% no-repeat;opacity:.2}
.sol .viz .i{width:64px;height:64px;stroke-width:1.2;position:relative}
.sol h3+p{margin-top:8px}
.sols.four .sol .b{padding:20px 20px 22px}
/* simulateur (teaser) */
.teaser{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.teaser .h2{color:var(--c-on)}.teaser p{margin-top:16px;opacity:.88;max-width:52ch}
.teaser .box{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);border-radius:26px;padding:30px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.teaser .box b{font-size:3rem;font-weight:800;letter-spacing:-.04em;line-height:1}
.teaser .box span{font-weight:600;opacity:.85}
/* réalisations */
.subh{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:56px}
.subh h3{font-size:1.35rem;color:var(--ink)}.subh p{color:#4E6A76;font-size:.95rem}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.gal figure{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:var(--c-tint)}
.gal img{width:100%;height:100%;object-fit:cover}
.gal .wait{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:20px;font-weight:600;font-size:.92rem}
.sec.white .qt{background:var(--c-tint)}
.quotes.q3{grid-template-columns:repeat(3,1fr)}
.qt.feat{grid-column:span 2;background:var(--c-deep)!important;color:#EAF4F8}.qt.feat p{color:#EAF4F8!important;font-size:1.08rem}.qt.feat .who{color:var(--sun)}
.qt .rent{display:inline-block;background:var(--sun);color:var(--ink);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;padding:5px 10px;border-radius:999px;margin-bottom:14px}
.gnote{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;padding:14px 18px;border-radius:16px;font-weight:600;font-size:.9rem}
.cities{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.city{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:radial-gradient(420px 300px at 70% 20%,var(--c-mid),var(--c-deep) 70%);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;isolation:isolate}
.city::before{content:"";position:absolute;inset:0;z-index:-1;background:url("/shared/pattern/topo-blanc.svg") center/160% no-repeat;opacity:.35}
.city .pin{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--sun);color:var(--ink);display:grid;place-items:center;box-shadow:0 0 0 10px rgba(253,213,98,.18),0 0 0 22px rgba(253,213,98,.08)}
.city h4{font-size:1.4rem;font-weight:800;letter-spacing:-.02em}
.city .tag-w{align-self:flex-start;margin-top:8px}
.city.map{aspect-ratio:16/10;padding:0;margin:0;background:#E8EEF0;justify-content:flex-end}
.city.map::before{display:none}
.city.map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.city.map::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(6,42,58,.82),rgba(6,42,58,0) 46%)}
.city.map figcaption{padding:18px 22px;font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:#fff}
/* partenaires / clubs */
.clubs{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 38px;background:#fff;border-radius:22px;padding:28px 30px;margin-top:40px;box-shadow:0 24px 44px -36px rgba(18,38,46,.5)}
.clubs span{font-weight:800;font-size:clamp(1.05rem,2vw,1.35rem);letter-spacing:-.02em;color:var(--ink);opacity:.82}
.clubs .tag-w{opacity:1;font-size:.6rem;letter-spacing:.16em}
.clubs-grid{margin-top:22px}
/* pages intérieures */
.phero .hcta{margin-top:30px}
.phero .k{color:var(--sun)}
.band-note{font-size:.84rem;opacity:.7;margin-top:18px}
.formula{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;margin:44px auto 0;max-width:900px;background:var(--c-deep);color:#fff;border-radius:22px;padding:22px 26px;font-weight:700;font-size:clamp(.95rem,1.8vw,1.15rem);text-align:center}
.formula i{font-style:normal;color:var(--sun);font-weight:800}.formula b{color:var(--sun)}
.st3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;counter-reset:st}
.st3>div{background:#fff;border-radius:22px;padding:26px 24px;box-shadow:0 24px 44px -36px rgba(18,38,46,.5)}
.st3 .n{font-size:2.6rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--c-mid)}
.st3 h3{font-size:1.15rem;color:var(--ink);margin-top:12px}.st3 p{color:#4E6A76;margin-top:8px;font-size:.95rem}
.stock{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px}
.stock>div{background:#fff;border-radius:24px;padding:28px 28px 26px;box-shadow:0 24px 44px -36px rgba(18,38,46,.5);color:var(--ink)}
.stock .ico{width:58px;height:58px;border-radius:50%;background:var(--c-tint);color:var(--c-mid);display:grid;place-items:center}.stock .ico .i{width:28px;height:28px}
.stock h3{font-size:1.3rem;margin-top:16px}.stock p{color:#4E6A76;margin-top:10px}
.stock .flow{margin-top:14px;font-weight:700;color:var(--c-mid)}
.stock .fig{display:flex;align-items:baseline;gap:8px;margin-top:14px}.stock .fig b{font-size:2.2rem;font-weight:800;letter-spacing:-.04em;color:var(--c-mid);line-height:1}
.fnote{font-size:.82rem;color:#4E6A76;margin-top:18px}
.sec.deep .fnote{color:var(--c-text)}
.app{display:grid;grid-template-columns:1fr .8fr;gap:56px;align-items:center}
.app .h2{color:var(--ink)}.app p{color:#4E6A76;margin-top:16px}
.app .certs{margin-top:22px}
.phone{position:relative;width:min(300px,78vw);aspect-ratio:9/18.5;margin:0 auto;border-radius:42px;background:var(--c-deep);padding:12px;box-shadow:0 40px 70px -40px rgba(6,42,58,.7)}
.phone .scr{height:100%;border-radius:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;background-color:#F4F8F9}
.phone .scr .i{width:40px;height:40px;color:var(--c-mid)}
.phone .scr strong{color:var(--ink);font-size:1rem;line-height:1.35}
.phone .notch{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:84px;height:22px;border-radius:14px;background:var(--c-deep)}
.phone.shot .scr{padding:0;overflow:hidden;background:#111;display:block}.phone.shot .scr img{width:100%;height:100%;object-fit:cover;object-position:top}.phone.shot .notch{top:18px;width:78px;height:20px;background:#000}
.pro-hint{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:#fff;border-radius:22px;padding:24px 28px;box-shadow:0 24px 44px -36px rgba(18,38,46,.5)}
.pro-hint p{color:var(--ink);font-weight:600;max-width:56ch}.pro-hint small{display:block;color:#4E6A76;font-weight:500;margin-top:4px;font-size:.9rem}
.big-q{font-size:clamp(1.5rem,3.2vw,2.3rem);font-weight:800;letter-spacing:-.025em;line-height:1.15;color:var(--sun);margin-top:26px;text-wrap:balance}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
.cols2>div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:28px}
.cols2 h3{font-size:1.3rem;color:#fff}.cols2 p{margin-top:10px}
.chain{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.chain span{background:rgba(255,255,255,.12);border-radius:999px;padding:7px 14px;font-weight:700;font-size:.88rem;color:#fff}
.chain i{font-style:normal;color:var(--sun);font-weight:800}
.sec.tint .chain span,.sec.white .chain span{background:#fff;color:var(--ink);box-shadow:0 10px 24px -20px rgba(18,38,46,.6)}.sec.tint .chain i,.sec.white .chain i{color:var(--c-mid)}
.sec.color .chain span{background:rgba(255,255,255,.22);color:var(--c-on)}.sec.color .chain i{color:var(--c-on)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.facts div{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:22px;padding:22px}
.facts b{display:block;font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:800;letter-spacing:-.04em;line-height:1}
.facts span{display:block;margin-top:8px;font-size:.9rem;opacity:.9;line-height:1.4}
.aper p{max-width:70ch}.aper .h2{color:var(--c-on)}.aper h3{font-size:1.3rem;margin-top:34px}
.arrows{list-style:none;display:grid;gap:10px;margin-top:22px}
.arrows li{display:flex;gap:12px;align-items:center;font-weight:700;color:var(--ink);font-size:1.05rem}
.arrows li::before{content:"→";color:var(--c-mid);font-weight:800}
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.svc>div{background:#fff;border-radius:22px;padding:24px 22px 24px;box-shadow:0 24px 44px -36px rgba(18,38,46,.5);display:flex;flex-direction:column}
.svc .n{font-size:.72rem;letter-spacing:.2em;font-weight:800;color:var(--c-mid)}
.svc h3{font-size:1.12rem;color:var(--ink);margin-top:14px;line-height:1.2}.svc p{color:#4E6A76;margin-top:10px;font-size:.93rem}
.svc>div::after{content:"";display:block;width:36px;height:3px;border-radius:3px;background:var(--c);margin-top:auto;transform:translateY(8px)}
.mosaic.m4{grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:auto;gap:14px;margin-top:0}
.mosaic.m4 img{aspect-ratio:4/5}.mosaic.m4 .w2{grid-column:span 2;aspect-ratio:auto;height:100%}
.garl{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.garl>div{background:var(--c-tint);border-radius:22px;padding:24px}
.garl h3{font-size:1.1rem;color:var(--ink)}.garl p{color:#4E6A76;margin-top:8px;font-size:.94rem}
.jobs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}
.jobs a{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:22px 20px;display:flex;flex-direction:column;gap:12px;transition:.35s var(--ease)}
.jobs a:hover{background:rgba(255,255,255,.14);transform:translateY(-3px)}
.jobs h3{font-size:1.05rem;color:#fff;line-height:1.25}.jobs span{margin-top:auto;font-weight:700;color:var(--sun);font-size:.88rem}
.contact{display:grid;grid-template-columns:1.25fr .75fr;gap:26px;align-items:start}
.contact .cb{margin:0;max-width:none;box-shadow:0 30px 60px -40px rgba(18,38,46,.5)}
.cinfo{background:var(--c-deep);color:#EAF4F8;border-radius:24px;padding:30px 28px;display:flex;flex-direction:column;gap:18px}
.cinfo h3{color:#fff;font-size:1.2rem}.cinfo .lab{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--sun)}
.cinfo a,.cinfo p{font-size:.98rem;color:var(--c-text)}.cinfo a.t{font-size:1.4rem;font-weight:800;color:#fff;letter-spacing:-.02em}
.simu-page .simu-card{margin-top:0}
footer .soc a{display:flex;align-items:center;gap:10px}footer .soc .i{width:18px;height:18px}
.fb nav{display:flex;flex-wrap:wrap;gap:6px 18px}.fb a{display:inline;padding:0;font-size:.8rem}
@media(max-width:960px){
.bento{grid-template-columns:1fr 1fr}.tile.photo{grid-row:auto;grid-column:1/-1;min-height:260px}
.prize,.feas,.teaser,.app,.contact,.cols2{grid-template-columns:1fr}.prize .ph{min-height:260px}.feas{gap:30px}
.seq{grid-template-columns:1fr 1fr}.seq li:nth-child(2)::after{display:none}
.gar{grid-template-columns:1fr}.gar li{display:grid;grid-template-columns:38px 1fr;gap:16px;align-items:center;padding:16px 18px}.gar h3{margin-top:0}
.gar li:not(:last-child)::after{right:auto;left:30px;top:auto;bottom:-15px;transform:rotate(90deg)}
.sols.four,.svc,.jobs{grid-template-columns:1fr 1fr}
.quotes.q3{grid-template-columns:1fr}.qt.feat{grid-column:auto}
.gal,.cities,.garl,.st3,.facts{grid-template-columns:1fr 1fr}
.stock{grid-template-columns:1fr}
.mosaic.m4{grid-template-columns:1fr 1fr}.mosaic.m4 .w2{grid-column:span 2;aspect-ratio:16/10}
}
@media(max-width:600px){
.duo.mini{grid-template-columns:1fr}
.bento,.seq,.gal,.cities,.sols.four,.svc,.jobs,.garl,.st3,.facts{grid-template-columns:1fr}
.seq li:not(:last-child)::after{display:block;right:auto;left:40px;top:auto;bottom:-19px;transform:rotate(90deg)}
.seq li{display:grid;grid-template-columns:54px 1fr;column-gap:16px;align-items:center;padding:18px}.seq small{margin-top:0}
.seq .ico{grid-row:span 2}
.prize .b{padding:28px 24px}.teaser .box{padding:24px}.be{padding:22px}.be b{font-size:3rem}
.cinfo{padding:26px 22px}.formula{padding:18px}
.trust{gap:6px 18px;font-size:.84rem}
}
.tile .tag-w{align-self:flex-start}
.duo.mini .card .state{display:none}
.prize .kwh b{white-space:nowrap}.sec .prize .k{color:var(--sun)}
.dcta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
html[data-profile="part"] .dcta .to-part,html[data-profile="pro"] .dcta .to-pro{background:var(--sun);border-color:var(--sun);color:var(--ink)}
.sec.white .stock>div{background:var(--c-tint);box-shadow:none}.sec.white .stock .ico{background:#fff}
.sec.white .stat{background:var(--c-tint);box-shadow:none}
.aper .vframe video{aspect-ratio:4/3}
.phero .trust{margin-top:20px}
/* ===== v4 — reprises client du 07/10/2026 (assets/brief/modifs-2026-10-07/) ===== */
header .logo img{height:56px}
footer .logo img{height:52px}
@media(max-width:960px){header .logo img{height:46px}}
@media(max-width:600px){header .logo img{height:40px}.navr{gap:10px}.navr .tel{padding:9px 12px;font-size:.85rem;white-space:nowrap}}
/* héros : textes à gauche, la droite laissée au visuel */
.hin{text-align:left}
.hero h1.hq{max-width:17ch;margin-left:0;margin-right:0;font-size:clamp(2rem,5vw,3.7rem)}
.hero .hsub{justify-content:flex-start;max-width:44ch;font-size:1.15rem;line-height:1.45}
.hero .hcta,.hero .trust{justify-content:flex-start}
.hero .q.est{margin:12px 0 0;font-size:.95rem}
.hero .duo.mini{margin-left:0;max-width:720px}
.bg::after{background:linear-gradient(90deg,var(--c-deep) 0%,color-mix(in srgb,var(--c-deep) 82%,transparent) 34%,color-mix(in srgb,var(--c-deep) 20%,transparent) 68%,transparent 100%),linear-gradient(180deg,rgba(0,0,0,.25),transparent 30%,transparent 70%,var(--c-deep) 98%)}
/* « Ils nous font confiance » : bandeau discret, une ligne */
#confiance{padding:62px 0 86px}
#confiance .tb-k{text-align:center;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:#4E6A76}
.tb-row{display:flex;align-items:center;justify-content:space-between;gap:14px 30px;margin-top:20px;font-size:.84rem;font-weight:700;color:#4E6A76}
.tb-row>*{flex:none}.tb-row b{color:var(--ink);font-weight:800}
.tb-row img{height:34px;width:auto;filter:grayscale(1);opacity:.75}.tb-row img.tb-hw{height:22px}
.tb-g{display:inline-flex;align-items:center;gap:7px}.tb-g svg{width:17px;height:17px}.tb-g .st{color:#D9A400;letter-spacing:.06em}
.tb-g.wait{border-radius:999px;padding:5px 12px;font-weight:600}
.tb-sep{width:1px;height:22px;background:rgba(18,38,46,.16)}
#confiance .logos{margin-top:22px}
@media(max-width:1180px){.tb-row{gap:12px 20px;font-size:.8rem}.tb-sep{display:none}.tb-g .tag-w{font-size:.55rem;padding:4px 8px}}
@media(max-width:960px){.tb-row{flex-wrap:wrap;justify-content:center}}
/* Prix Huawei : section à part (Pro) */
#prix{padding-top:100px}
#prix .prize{margin-top:0;background:none;box-shadow:none;border-radius:0;gap:48px;align-items:center}
#prix .prize .ph{border-radius:28px;overflow:hidden;min-height:380px}#prix .prize .b{padding:0}
/* faisabilité : sans la ligne répétée */
.be{align-items:center}
/* garantie : mobile */
@media(max-width:960px){.gar li{grid-template-columns:46px 1fr;padding-right:54px}.gar .gi{width:46px;height:46px}.gar .gi .i{width:24px;height:24px}.gar .n{top:50%;right:14px;transform:translateY(-50%)}.gar li:not(:last-child)::after{left:38px}}
/* titres sur 2 lignes max */
.center.wide{max-width:none}.h2.l2{font-size:clamp(1.7rem,3.2vw,2.6rem);max-width:36ch;margin-left:auto;margin-right:auto}
/* réalisations : 5 photos */
.gal .w{grid-column:span 2;aspect-ratio:auto}.gal .w img{position:absolute;inset:0}
@media(max-width:600px){.gal .w{grid-column:auto;aspect-ratio:4/3}}
.gnote.ok{background:var(--c-tint);color:var(--ink);transition:.25s}.gnote.ok:hover{background:#fff;box-shadow:0 18px 40px -30px rgba(18,38,46,.5)}.gnote svg{width:20px;height:20px}.gnote .gl{margin-left:auto;font-weight:700;color:var(--c-mid)}.tb-g b{color:var(--ink)}a.tb-g:hover span:last-child{text-decoration:underline}
.logos .lpair{display:flex;align-items:center;justify-content:center;gap:12px;width:100%}.logos .lpair img{max-width:46%}.gnote .st{color:#D9A400;letter-spacing:.08em}
/* clubs : logos */
.clubs img{height:58px;width:auto;max-width:130px;object-fit:contain}.clubs span{font-size:1rem}
/* autoconsommation : SIMPLE · PRO · RENTABLE */
.spr{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 16px;margin-top:26px;font-weight:800;font-size:clamp(1.15rem,2.4vw,1.6rem);letter-spacing:.16em;text-transform:uppercase;color:#fff}
.spr li{display:flex;align-items:center;gap:16px}.spr li+li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--sun)}
/* équipe : services en liste verticale (photo + titre + phrase) */
/* Équipe : section sombre, mosaïque .tmo (photo pleine case, texte posé dessus) ; carrousel .car swipable */
.sec.team{background:linear-gradient(178deg,color-mix(in srgb,var(--c-deep) 86%,#fff) 0%,var(--c-deep) 38%,color-mix(in srgb,var(--c-deep) 78%,#000) 100%);color:#EAF4F8}
.sec.team .h2{color:#fff}.sec.team .k{color:var(--c)}
.car{position:absolute;inset:0;overflow:hidden}
.car .trk{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
.car .trk::-webkit-scrollbar{display:none}
.car .trk img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;object-position:50% 20%;scroll-snap-align:center;scroll-snap-stop:always;display:block}
.car .bars{position:absolute;top:14px;left:16px;right:16px;display:flex;gap:6px;z-index:3;pointer-events:none}
.car .bars i{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);transition:background .25s}
.car .bars i.on{background:#fff}
.car button{position:absolute;top:50%;z-index:3;width:42px;height:42px;margin-top:-21px;border:0;border-radius:50%;background:rgba(8,18,22,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;display:grid;place-items:center;cursor:pointer;transition:opacity .25s,background .2s}
.car button:hover{background:rgba(8,18,22,.65)}.car button[disabled]{opacity:0;pointer-events:none}
.car button svg{width:18px;height:18px}.car .pv{left:12px}.car .nx{right:12px}
.tmo{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(230px,auto);gap:12px;margin-top:48px}
.tmo .pic,.tmo .plain{position:relative;border-radius:22px;overflow:hidden;isolation:isolate;min-height:206px}
.tmo .pic{background:#0b1a20}
.tmo .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:70px 22px 22px;background:linear-gradient(to top,rgba(5,14,12,.9) 0%,rgba(5,14,12,.6) 50%,transparent 100%);pointer-events:none}
.tmo .n{display:block;font-size:.78rem;font-weight:800;letter-spacing:.06em;color:var(--c)}
.tmo h3{font-size:1.24rem;line-height:1.2;color:#fff;margin-top:6px}
.tmo p{font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.82);margin-top:6px}
.tmo .plain{padding:24px 24px 22px;display:flex;flex-direction:column;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.tmo .plain .n{font-size:2.1rem;letter-spacing:-.03em;line-height:1}.tmo .plain h3{margin-top:auto;padding-top:14px}
.tmo .plain .lnk2{margin-top:16px;font-weight:700;font-size:.9rem;color:var(--c);text-decoration:none}
.tmo .plain .lnk2:hover{text-decoration:underline}
.tmo .cap .lnk2{display:inline-block;margin-top:10px;font-weight:700;font-size:.9rem;color:var(--c);text-decoration:none;pointer-events:auto}.tmo .cap .lnk2:hover{text-decoration:underline}
/* placement automatique : photo 1 col × 2 rangées, .wd (photo de groupe / paysage) 2 col, case sans photo 2 col × 1 rangée */
@media(min-width:1200px){.tmo .pic{grid-row:span 2}.tmo .wd{grid-column:span 2}.tmo .plain{grid-column:span 2}}
@media(max-width:1199px){.tmo{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.tmo .pic{aspect-ratio:4/5}.tmo .wd{grid-column:1/-1;aspect-ratio:16/10!important}}
@media(max-width:600px){.tmo{grid-template-columns:1fr;gap:10px;margin-top:36px}.tmo .wd{aspect-ratio:auto!important;display:flex;flex-direction:column;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}.tmo .wd .car{position:relative;inset:auto;aspect-ratio:4/3}.tmo .wd .cap{position:static;padding:18px 20px 22px;background:none}.tmo .plain{min-height:0}.tmo .plain h3{margin-top:12px;padding-top:0}.tmo .cap{padding:56px 20px 20px}}
.jobs.j3{grid-template-columns:repeat(3,1fr);max-width:900px}
@media(max-width:760px){.jobs.j3{grid-template-columns:1fr}}
.simu-note.box{max-width:820px;margin:18px auto 0;opacity:1;background:#fff;border:1.5px dashed rgba(18,38,46,.22);border-radius:16px;padding:14px 20px;color:var(--ink);font-size:.92rem}
.simu-note.box a{text-decoration:underline;font-weight:700}
/* reprises 09/10 : sous-titre du héros sur 2 lignes, maison décalée dans la zone libre de droite, logo couleur en pied de site */
.hero .hsub{display:block}.hero .hsub span{display:block}
@media(max-width:600px){.hero .hsub{font-size:1.02rem}}
@media(min-width:961px){.bg-part video{left:20%;width:100%;max-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%);mask-image:linear-gradient(90deg,transparent,#000 20%)}}
.tb-row img.tb-at{height:16px}a.tb-c{color:inherit;text-decoration:none}a.tb-c:hover{text-decoration:underline}
.prize .kwh{flex-direction:column;align-items:flex-start;gap:8px}.prize .kwh span{max-width:none}
.gal.band{margin-top:56px}
@media(max-width:600px){.gal.band{grid-template-columns:1fr 1fr}.gal.band figure:first-child{grid-column:span 2}}
.be-ph{margin-top:26px;border-radius:24px;overflow:hidden;aspect-ratio:16/9;background:var(--c-tint)}.be-ph img{width:100%;height:100%;object-fit:cover}
.phone.shot .scr video{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
</style>
</head>
<body>
<div class="intro" id="intro" aria-hidden="true"><span class="ring"></span><span class="ring"></span><span class="ring"></span>
<div class="box"><img src="/shared/brand/logo-expert.webp" alt=""><small>Installateur solaire · Charnay-lès-Mâcon</small></div></div>
<!-- SHELL:HEADER (recopié dans toutes les pages par build-pages.py) -->
<svg width="0" height="0" style="position:absolute" aria-hidden="true"><defs>
<symbol id="i-bolt" viewbox="0 0 24 24"><path d="M13 2 4 14h7l-1 8 9-12h-7l1-8z"/></symbol>
<symbol id="i-sun" viewbox="0 0 24 24"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></symbol>
<symbol id="i-home" viewbox="0 0 24 24"><path d="M3 11.5 12 4l9 7.5"/><path d="M5.5 10v10h13V10"/><path d="M10 20v-5h4v5"/></symbol>
<symbol id="i-down" viewbox="0 0 24 24"><path d="M3 6l6.5 6.5 4-4L21 16"/><path d="M21 10v6h-6"/></symbol>
<symbol id="i-batt" viewbox="0 0 24 24"><rect x="2.5" y="7" width="17" height="10" rx="2.2"/><path d="M22 10.5v3M6.5 10.5v3M10.5 10.5v3"/></symbol>
<symbol id="i-cloud" viewbox="0 0 24 24"><path d="M7 18.5h10.5a4 4 0 0 0 .4-8A6 6 0 0 0 6.3 9.6 4.5 4.5 0 0 0 7 18.5z"/><path d="M12 10.5v5M9.8 13.3 12 15.5l2.2-2.2"/></symbol>
<symbol id="i-plug" viewbox="0 0 24 24"><path d="M5 20V7a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v13"/><path d="M3 20h14M15 9h2a2 2 0 0 1 2 2v4a1.5 1.5 0 0 0 3 0V8l-2-2"/><path d="M10.5 8 8.5 11.5h3L9.5 15"/></symbol>
<symbol id="i-park" viewbox="0 0 24 24"><path d="M2 8l10-4 10 4"/><path d="M4 7.4V20M20 7.4V20"/><path d="M7 16h10l-1.2-4H8.2z"/><path d="M8 18v1.5M16 18v1.5"/></symbol>
<symbol id="i-share" viewbox="0 0 24 24"><circle cx="12" cy="6" r="3"/><circle cx="5" cy="18" r="2.5"/><circle cx="12" cy="18" r="2.5"/><circle cx="19" cy="18" r="2.5"/><path d="M12 9v6.5M10.5 8.6 6 15.8M13.5 8.6 18 15.8"/></symbol>
<symbol id="i-pin" viewbox="0 0 24 24"><path d="M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z"/><circle cx="12" cy="9.5" r="2.5"/></symbol>
<symbol id="i-chart" viewbox="0 0 24 24"><path d="M3 20h18"/><path d="M6 16v-4M10.5 16V8M15 16v-6M19.5 16V5"/></symbol>
<symbol id="i-phone" viewbox="0 0 24 24"><rect x="6" y="2.5" width="12" height="19" rx="2.5"/><path d="M10.5 18.5h3"/></symbol>
<symbol id="i-arrow" viewbox="0 0 24 24"><path d="M5 12h14M13 6l6 6-6 6"/></symbol>
<symbol id="i-ig" viewbox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.3" cy="6.7" r=".6"/></symbol>
<symbol id="i-fb" viewbox="0 0 24 24"><path d="M14 8h3V4h-3a4 4 0 0 0-4 4v2.5H7.5v4H10V21h4v-6.5h3l.5-4H14V8.5a.5.5 0 0 1 0-.5z"/></symbol>
<symbol id="i-in" viewbox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="3"/><path d="M8 10.5V17M8 7.5v.01M12 17v-6.5M12 13.5a2.5 2.5 0 0 1 5 0V17"/></symbol>
<symbol id="i-yt" viewbox="0 0 24 24"><rect x="2.5" y="5.5" width="19" height="13" rx="4"/><path d="M10.5 9.5v5l4.5-2.5z"/></symbol>
<symbol id="i-study" viewbox="0 0 24 24"><path d="M11 21H6.5A1.5 1.5 0 0 1 5 19.5v-15A1.5 1.5 0 0 1 6.5 3H14l4 4v3.5"/><path d="M14 3v4h4M8.5 9h5M8.5 12.5h3"/><circle cx="16" cy="16" r="3"/><path d="m18.2 18.2 2.6 2.6"/></symbol>
<symbol id="i-trend" viewbox="0 0 24 24"><path d="M3 20.5h18"/><path d="M4 16.5l5-5 3.5 3L19 8"/><path d="M14.5 8H19v4.5"/><circle cx="6" cy="5" r="1.8"/><path d="M6 1.6v.8M6 7.6v.8M2.6 5h.8M8.6 5h.8"/></symbol>
<symbol id="i-panel" viewbox="0 0 24 24"><path d="M3.5 14.5 6 4.5h12l2.5 10z"/><path d="M4.7 9.5h14.6M10.2 4.5l-.9 10M13.8 4.5l.9 10"/><path d="M12 14.5v4M8 19.5h8"/></symbol>
<symbol id="i-gauge" viewbox="0 0 24 24"><path d="M3.5 17.5a9 9 0 1 1 17 0"/><path d="M12 13.5l4-4.5"/><circle cx="12" cy="14" r="1.6"/><path d="M6.5 12.5h1M16.5 12.5h1M12 7v1"/></symbol>
<symbol id="i-panelplus" viewbox="0 0 24 24"><path d="M2 21l1.9-9h11.2l1.9 9z"/><path d="M3 16.5h13M8 12l-.7 9M11 12l.7 9"/><path d="M18.5 2.5v7M15 6h7"/></symbol>
</defs></svg>
<div class="flash" id="flash" aria-hidden="true"></div>
<header id="hd"><div class="wrap nav">
<a href="/" class="logo"><img src="/shared/brand/logo-expert.webp" alt="Planète Plus — Expert en panneaux solaires" width="586" height="197"></a>
<nav class="desk" aria-label="Menu principal"><a href="/autoconsommation/">Autoconsommation</a><a href="/equipe/">L'équipe</a><a href="/contact/">Contact</a><a href="/simulateur/" data-part>Simulateur</a><a href="/simulateur-pro/" data-pro>Simulateur</a></nav>
<div class="navr">
<div class="switch" role="group" aria-label="Particuliers ou professionnels"><span class="pill" aria-hidden="true"></span><button type="button" data-set="part" class="on">Particuliers</button><button type="button" data-set="pro">Professionnels</button></div>
<a href="tel:+33385514048" class="btn btn-o tel">03 85 51 40 48</a>
<button class="burger" id="bg" aria-label="Menu" type="button"><span></span><span></span><span></span></button></div>
</div></header>
<div class="mnav" id="mnav">
<div class="switch" role="group" aria-label="Particuliers ou professionnels"><span class="pill" aria-hidden="true"></span><button type="button" data-set="part" class="on">Particuliers</button><button type="button" data-set="pro">Professionnels</button></div>
<a href="/">Accueil</a><a href="/autoconsommation/">Autoconsommation</a><a href="/equipe/">L'équipe</a><a href="/contact/">Contact</a><a href="/simulateur/" data-part>Simulateur</a><a href="/simulateur-pro/" data-pro>Simulateur</a>
<a href="tel:+33385514048" class="mtel">03 85 51 40 48</a>
</div>
<!-- /SHELL:HEADER -->
<main>
<section class="hero" id="hero">
<div class="bgs" aria-hidden="true">
<div class="bg bg-part"><video muted loop playsinline preload="metadata" poster="/shared/video/poster-maison.webp"><source src="/shared/video/maison.mp4" type="video/mp4"></video></div>
<div class="bg bg-pro"><video muted loop playsinline preload="metadata" poster="/shared/video/poster-ombriere.webp"><source src="/shared/video/ombriere.mp4" type="video/mp4"></video></div>
</div>
<div class="halo" aria-hidden="true"></div><div class="arcs" aria-hidden="true"></div>
<div class="wrap hin">
<h1 class="hq" data-part>Des panneaux solaires, avec une production garantie.</h1>
<h1 class="hq" data-pro>Quel est le potentiel économique de votre bâtiment ?</h1>
<p class="hsub" data-part><span>Ce qui est annoncé sera réalisé,</span><span>ou on rajoute des panneaux à nos frais.</span></p>
<p class="hsub" data-pro><span>Autoconsommez pour économiser,</span><span>ou revendez à vos locataires et voisins.</span></p>
<div class="hcta"><a href="/simulateur/" class="btn btn-sun" data-part>Simuler mon projet <svg class="i"><use href="#i-arrow"/></svg></a><a href="/simulateur-pro/" class="btn btn-sun" data-pro>Simulez un projet <svg class="i"><use href="#i-arrow"/></svg></a></div>
<p class="q est" data-part>Estimez en 3 min votre production et vos économies</p>
<p class="q est" data-pro>Estimez en 3 min votre production et son impact financier</p>
<ul class="trust"><li>3 000+ clients</li><li>Bureau d'études intégré</li><li>Production garantie</li></ul>
<div class="duo mini">
<div class="card part on" data-set="part" tabindex="0" role="button" aria-label="Afficher le site pour les particuliers"><span class="state">Sélectionné</span>
<div class="ic"><img src="/shared/img/icone-particulier.svg" alt=""></div>
<h3>Je suis un particulier</h3><p>Ma maison : panneaux, batterie, borne de recharge.</p></div>
<div class="card pro" data-set="pro" tabindex="0" role="button" aria-label="Afficher le site pour les professionnels"><span class="state">Sélectionné</span>
<div class="ic"><img src="/shared/img/icone-professionnel.svg" alt=""></div>
<h3>Je suis un professionnel</h3><p>Toitures, ombrières, stockage, autoconsommation collective.</p></div>
</div>
</div>
</section>
<section class="sec tint on-light" id="confiance"><div class="wrap">
<h2 class="tb-k r">Ils nous font confiance</h2>
<div class="tb-row r r2" data-part>
<a class="tb-g" href="https://maps.google.com/?cid=4438313989299605525" target="_blank" rel="noopener"><svg viewbox="0 0 24 24" aria-hidden="true"><path fill="#4285F4" d="M23.5 12.3c0-.8-.1-1.6-.2-2.3H12v4.4h6.5a5.6 5.6 0 0 1-2.4 3.6v3h3.9c2.2-2.1 3.5-5.1 3.5-8.7z"/><path fill="#34A853" d="M12 24c3.2 0 6-1.1 8-2.9l-3.9-3c-1.1.7-2.5 1.2-4.1 1.2-3.1 0-5.8-2.1-6.7-5H1.3v3.1A12 12 0 0 0 12 24z"/><path fill="#FBBC05" d="M5.3 14.3a7.2 7.2 0 0 1 0-4.6V6.6H1.3a12 12 0 0 0 0 10.8z"/><path fill="#EA4335" d="M12 4.8c1.8 0 3.3.6 4.6 1.8l3.4-3.4A12 12 0 0 0 1.3 6.6l4 3.1c.9-2.9 3.6-4.9 6.7-4.9z"/></svg><b>4,9</b><span class="st" aria-hidden="true">★★★★★</span><span>154 avis Google</span></a>
<span class="tb-sep" aria-hidden="true"></span>
<a class="tb-c" href="#realisations"><b>3 000+</b> clients depuis 2019</a>
<span class="tb-sep" aria-hidden="true"></span>
<img class="tb-hw" src="/shared/brand/partenaires/huawei.svg" alt="Huawei" loading="lazy">
<img class="tb-at" src="/shared/brand/partenaires/atmoce.png" alt="ATMOCE" width="783" height="112" loading="lazy">
<img src="/shared/brand/partenaires/mylight150.svg" alt="MyLight150" loading="lazy">
</div>
<div data-pro>
<div class="logos r">
<span class="lpair"><img src="/shared/brand/partenaires/joker.webp" alt="Joker" loading="lazy"><img src="/shared/brand/partenaires/granini.svg" alt="Granini" loading="lazy"></span>
<img src="/shared/brand/partenaires/Intermarchee-1.png" alt="Intermarché">
<img src="/shared/brand/partenaires/super-u.webp" alt="Super U" loading="lazy">
<img src="/shared/brand/partenaires/Gamm-Vert-logo-1.webp" alt="Gamm Vert">
<img src="/shared/brand/partenaires/Le_Grand_Chalon.svg" alt="Le Grand Chalon">
<img src="/shared/brand/partenaires/Colruyt-logo.svg" alt="Colruyt">
<img src="/shared/brand/partenaires/Mercedes-Benz_Logo_2010.svg" alt="Mercedes-Benz">
<img src="/shared/brand/partenaires/logo-GROUPE-NOEL-1.png" alt="Groupe Noël">
<img src="/shared/brand/partenaires/Cave-Julienas-Chaintre-logo.svg" alt="Cave de Juliénas-Chaintré">
<img src="/shared/brand/partenaires/UCA-Logo-3niveaux-RVB.jpg" alt="UCA">
</div>
</div>
</div></section>
<section class="sec deep dots" id="prix" data-pro><div class="wrap">
<div class="prize r">
<div class="ph"><img src="/shared/img/Intermarche-macon.webp" alt="" loading="lazy"></div>
<div class="b"><p class="k">Prix Huawei 2026</p><h3>Meilleure installation commerciale & industrielle</h3>
<div class="kwh"><b>500 kWh</b><span>de stockage installés sur le site Intermarché de Mâcon</span></div></div>
</div>
</div></section>
<section class="sec white" id="economies"><div class="wrap">
<div class="center"><p class="k r">Vos économies</p><h2 class="h2 r r2" style="margin-top:14px">Combien <span style="white-space:nowrap">puis-je</span> économiser ?</h2></div>
<ol class="seq">
<li class="r"><span class="ico"><svg class="i"><use href="#i-bolt"/></svg></span><small>Aujourd'hui</small><h3><span data-part>Votre consommation actuelle</span><span data-pro>Consommation actuelle</span></h3></li>
<li class="r r2"><span class="ico"><svg class="i"><use href="#i-sun"/></svg></span><small>Vous produisez</small><h3><span data-part>Production solaire sur votre toiture</span><span data-pro>Production solaire</span></h3></li>
<li class="r r3"><span class="ico"><svg class="i"><use href="#i-home"/></svg></span><small>Vous consommez</small><h3><span data-part>Électricité consommée directement et Batterie virtuelle</span><span data-pro>Autoconsommation</span></h3></li>
<li class="r r3"><span class="ico"><svg class="i"><use href="#i-down"/></svg></span><small>Résultat</small><h3><span data-part>Réduction de votre facture</span><span data-pro>Réduction de facture</span></h3></li>
</ol>
<div class="acta r"><a href="/simulateur/" class="btn btn-sun" data-part>Estimer mes économies <svg class="i"><use href="#i-arrow"/></svg></a><a href="/simulateur-pro/" class="btn btn-sun" data-pro>Estimer mes économies <svg class="i"><use href="#i-arrow"/></svg></a></div>
<div class="gal band" data-part>
<figure class="r"><img src="/shared/img/maison-site-1.webp" alt="" loading="lazy"></figure>
<figure class="r r2"><img src="/shared/img/Planete-Plus-maison-particulier.webp" alt="" loading="lazy"></figure>
<figure class="r r3"><img src="/shared/img/maison-site-2.webp" alt="" loading="lazy"></figure>
</div>
</div></section>
<section class="sec tint dots on-light" id="faisabilite"><div class="wrap">
<div class="feas">
<div>
<p class="k r">Bureau d'études intégré</p>
<h2 class="h2 r r2" style="margin-top:14px" data-part>Un dimensionnement sur-mesure</h2>
<h2 class="h2 r r2" style="margin-top:14px" data-pro>Est-ce possible sur mon bâtiment ?</h2>
<p class="lead r r3" data-part>Chaque projet est étudié par notre bureau d'études interne avec 2 ingénieurs à plein temps.</p>
<div class="chips-l r r3" data-pro><span>Toiture</span><span>Parking</span><span>…</span></div>
<figure class="be-ph r r3" data-part><img src="/shared/img/entreprise/bureau-etudes-ingenieurs.webp" alt="" width="1280" height="720" loading="lazy"></figure>
<div class="be r r3" data-pro>
<b>2</b>
<strong>Chaque projet professionnel est étudié par notre bureau d'études interne. 2 ingénieurs à plein temps.</strong>
<div class="certs"><span>Production</span><span>implantation</span><span>dimensionnement</span><span>contraintes électriques</span><span>consommation…</span></div>
</div>
</div>
<div>
<p class="intro-l r" data-part>Une étude du projet permet notamment de vérifier :</p>
<p class="intro-l r" data-pro>Une étude de faisabilité technique est indispensable :</p>
<ul class="chk r r2" data-part><li>surface disponible</li><li>orientation et inclinaison</li><li>ombrages</li><li>caractéristiques de la toiture</li><li>consommation électrique du foyer</li><li>équipements de la maison</li><li>puissance et raccordement électrique</li></ul>
<ul class="chk r r2" data-pro><li>orientation</li><li>surface disponible</li><li>structure</li><li>ombrage</li><li>puissance électrique disponible</li><li>courbe de consommation</li><li>raccordement, etc.</li></ul>
<div class="r r3" style="margin-top:26px"><a href="/simulateur/" class="btn btn-sun" data-part>Tester mon projet <svg class="i"><use href="#i-arrow"/></svg></a><a href="/simulateur-pro/" class="btn btn-sun" data-pro>Tester mon projet <svg class="i"><use href="#i-arrow"/></svg></a></div>
</div>
</div>
</div></section>
<section class="sec deep dots" id="garantie"><div class="wrap">
<div class="center"><p class="k r">Notre engagement</p><h2 class="h2 r r2" style="margin-top:14px">Garantie de production</h2>
<p class="r r3" style="margin-top:16px;font-size:1.1rem">Nous réalisons nous-mêmes les études de production sur lesquelles nous nous engageons.</p></div>
<ol class="gar">
<li class="r"><span class="gi"><svg class="i"><use href="#i-study"/></svg></span><span class="n">1</span><h3>Étude détaillée</h3></li>
<li class="r r2"><span class="gi"><svg class="i"><use href="#i-trend"/></svg></span><span class="n">2</span><h3>Production prévisionnelle</h3></li>
<li class="r r2"><span class="gi"><svg class="i"><use href="#i-panel"/></svg></span><span class="n">3</span><h3>Installation</h3></li>
<li class="r r3"><span class="gi"><svg class="i"><use href="#i-gauge"/></svg></span><span class="n">4</span><h3>Mesure de la production réelle pendant 12 mois</h3></li>
<li class="r r3"><span class="gi"><svg class="i"><use href="#i-panelplus"/></svg></span><span class="n">5</span><h3>Si la production garantie n'est pas atteinte : ajout de panneaux à nos frais, <span data-part>matériel</span><span data-pro>pièces</span> et main-d'œuvre</h3></li>
</ol>
<p class="gar-note r" data-part>Votre production et votre rentabilité sont sécurisées par contrat.</p>
</div></section>
<section class="sec tint dots on-light" id="solutions"><div class="wrap">
<div class="center wide"><p class="k r" data-part>Choisissez vos équipements</p><p class="k r" data-pro>Choisissez comment vous équiper</p>
<h2 class="h2 l2 r r2" style="margin-top:14px" data-part>Une installation dimensionnée autour de votre maison et de vos usages</h2>
<h2 class="h2 l2 r r2" style="margin-top:14px" data-pro>Nous dimensionnons votre centrale sur-mesure en fonction de votre consommation et de votre bâtiment</h2></div>
<div class="sols four" data-part>
<article class="sol r"><video autoplay muted loop playsinline preload="metadata" poster="/shared/video/poster-maison.webp" aria-hidden="true" tabindex="-1"><source src="/shared/video/maison.mp4" type="video/mp4"></video><div class="b"><h3>Autoconsommation</h3><p>Produire votre propre électricité et la consommer directement dans votre maison.</p></div></article>
<article class="sol r r2"><img src="/shared/img/batterie-virtuelle-mylight.webp" alt="" loading="lazy"><div class="b"><h3>Batterie virtuelle</h3><p>Valoriser votre surplus de production lorsqu'il n'est pas consommé immédiatement, lorsque votre installation est éligible à cette option.</p></div></article>
<article class="sol r r3"><img src="/shared/img/batterie-stockage.webp" alt="" loading="lazy"><div class="b"><h3>Batterie physique</h3><p>Stocker une partie de votre production pour pouvoir l'utiliser ultérieurement.</p></div></article>
<article class="sol r r3"><img src="/shared/img/borne-recharge.webp" alt="" loading="lazy" style="object-position:60% 50%"><div class="b"><h3>Borne de recharge</h3><p>Utiliser votre production solaire pour contribuer à la recharge de votre véhicule électrique.</p></div></article>
</div>
<div class="sols four" data-pro>
<article class="sol r"><img src="/shared/img/Banniere-Professionnel.webp" alt="" loading="lazy" style="object-position:40% 50%"><div class="b"><h3>Autoconsommation</h3><a href="/autoconsommation/" class="lnk">Comment ça marche →</a></div></article>
<article class="sol r r2"><img src="/shared/img/batterie-virtuelle-mylight.webp" alt="" loading="lazy"><div class="b"><h3>Stockage physique ou virtuel</h3><a href="/autoconsommation/#stockage" class="lnk">Physique ou virtuel →</a></div></article>
<article class="sol r r3"><video autoplay muted loop playsinline preload="metadata" poster="/shared/video/poster-ombriere.webp" aria-hidden="true" tabindex="-1"><source src="/shared/video/ombriere.mp4" type="video/mp4"></video><div class="b"><h3>Ombrières & parkings</h3><a href="/autoconsommation/#aper" class="lnk">Loi APER →</a></div></article>
<article class="sol r r3"><img src="/shared/img/GRAND-CHALON-retouch-bandeau-copie.webp" alt="" loading="lazy"><div class="b"><h3>Autoconsommation collective</h3><a href="/autoconsommation/#collective" class="lnk">Devenez revendeur d'électricité →</a></div></article>
</div>
</div></section>
<section class="sec color" id="simulateur"><div class="arcs" aria-hidden="true" style="right:-560px;top:-520px;opacity:.22"></div><div class="wrap teaser">
<div>
<p class="k r">Simulateur</p>
<h2 class="h2 r r2" style="margin-top:14px" data-part>Quel potentiel solaire pour votre maison ?</h2>
<h2 class="h2 r r2" style="margin-top:14px" data-pro>Quel potentiel solaire pour votre entreprise ?</h2>
<p class="r r3" data-part>À partir de quelques informations sur votre logement et votre consommation, obtenez une première estimation de la production solaire envisageable et des économies potentielles sur votre facture.</p>
<p class="r r3" data-pro>À partir de quelques informations sur votre consommation, obtenez une première estimation de la production solaire envisageable et des économies potentielles sur votre facture.</p>
</div>
<div class="box r r3"><b>3 min</b><span>pour estimer votre production et vos économies</span>
<a href="/simulateur/" class="btn btn-d" data-part>Simuler mon projet <svg class="i"><use href="#i-arrow"/></svg></a><a href="/simulateur-pro/" class="btn btn-d" data-pro>Simuler mon projet <svg class="i"><use href="#i-arrow"/></svg></a></div>
</div></section>
<section class="sec white" id="realisations"><div class="wrap">
<div class="center wide" data-part><p class="k r">Réalisations</p><h2 class="h2 l2 r r2" style="margin-top:14px">Des propriétaires qui produisent déjà leur électricité</h2></div>
<div class="center" data-pro><p class="k r">Témoignages et réalisations</p><h2 class="h2 r r2" style="margin-top:14px">Des promesses tenues.</h2></div>
<div data-part>
<div class="subh r"><h3>Installations réalisées</h3></div>
<div class="gal">
<figure class="r w"><img src="/shared/img/maison-site-3.webp" alt="" loading="lazy"></figure>
<figure class="r r2"><img src="/shared/img/maison-particulier-3kwc.webp" alt="" loading="lazy"></figure>
</div>
<div class="subh r"><h3>Avis Google et témoignages</h3></div>
<div class="quotes q3">
<div class="qt r"><div class="st">★★★★★</div><p>« Nous avons fait confiance à Planète Plus qui nous a permis d'économiser près de 80 % de notre facture grâce à la batterie virtuelle. Nous recommandons cette entreprise qui, contrairement à certaines entreprises, n'a pas gonflé les résultats financiers pour vendre. »</p><p class="who">Particulier · batterie virtuelle</p></div>
<div class="qt r r2"><div class="st">★★★★★</div><p>« Chouette entreprise, toute l'équipe, que ce soit les commerciaux ou les poseurs, travaillent sérieusement et sont très agréables. Nous sommes ravis tant de l'installation de nos panneaux photovoltaïques que du système de batterie virtuelle proposé. »</p><p class="who">Particulier · installation 2022</p></div>
<div class="qt r r3"><div class="st">★★★★★</div><p>« Très satisfait de mon installation réalisée début juillet. Du premier contact jusqu'au suivi après la pose, tout s'est parfaitement déroulé. L'équipe a été très professionnelle, à l'écoute, disponible et efficace. »</p><p class="who">Particulier</p></div>
</div>
<a class="gnote ok r" href="https://maps.google.com/?cid=4438313989299605525" target="_blank" rel="noopener"><svg viewbox="0 0 24 24" aria-hidden="true"><path fill="#4285F4" d="M23.5 12.3c0-.8-.1-1.6-.2-2.3H12v4.4h6.5a5.6 5.6 0 0 1-2.4 3.6v3h3.9c2.2-2.1 3.5-5.1 3.5-8.7z"/><path fill="#34A853" d="M12 24c3.2 0 6-1.1 8-2.9l-3.9-3c-1.1.7-2.5 1.2-4.1 1.2-3.1 0-5.8-2.1-6.7-5H1.3v3.1A12 12 0 0 0 12 24z"/><path fill="#FBBC05" d="M5.3 14.3a7.2 7.2 0 0 1 0-4.6V6.6H1.3a12 12 0 0 0 0 10.8z"/><path fill="#EA4335" d="M12 4.8c1.8 0 3.3.6 4.6 1.8l3.4-3.4A12 12 0 0 0 1.3 6.6l4 3.1c.9-2.9 3.6-4.9 6.7-4.9z"/></svg><b>4,9 / 5</b><span class="st" aria-hidden="true">★★★★★</span><span>154 avis sur Google</span><span class="gl">Voir les avis →</span></a>
</div>
<div data-pro>
<div class="quotes q3" style="margin-top:48px">
<div class="qt feat r"><span class="rent">Rentabilité</span><div class="st">★★★★★</div><p>« Nous avons installé 250 kWc, soit 582 panneaux solaires. Nous avons fait appel à 3 entreprises, et la qualité de conseil et d'étude était au rendez-vous : c'est pour cela que nous avons décidé de travailler avec Planète +. J'ai visité une installation qui a déjà 5 ans de recul : le monsieur qui nous a accueillis nous a montré ses factures d'électricité sur les 5 dernières années, en étant 100 % satisfait de Planète +. »</p><p class="who">Professionnel · 250 kWc</p></div>
<div class="qt r r2"><div class="st">★★★★★</div><p>« Ils ont respecté les délais : 4 mois après, l'installation est en service. La pose a été effectuée par une équipe très professionnelle, tout a été réalisé dans les règles de l'art. Depuis, ma banque les a référencés comme entreprise de confiance. »</p><p class="who">Professionnel · centrale de 36 kWc</p></div>
</div>
<div class="subh r"><h3>Installations réalisées</h3></div>
<div class="gal">
<figure class="r"><img src="/shared/img/Intermarche-macon.webp" alt="" loading="lazy"></figure>
<figure class="r r2"><img src="/shared/img/Agriculteur2.webp" alt="" loading="lazy"></figure>
<figure class="r r3"><img src="/shared/img/Banniere-Professionnel.webp" alt="" loading="lazy" style="object-position:40% 50%"></figure>
</div>
<a class="gnote ok r" href="https://maps.google.com/?cid=4438313989299605525" target="_blank" rel="noopener"><svg viewbox="0 0 24 24" aria-hidden="true"><path fill="#4285F4" d="M23.5 12.3c0-.8-.1-1.6-.2-2.3H12v4.4h6.5a5.6 5.6 0 0 1-2.4 3.6v3h3.9c2.2-2.1 3.5-5.1 3.5-8.7z"/><path fill="#34A853" d="M12 24c3.2 0 6-1.1 8-2.9l-3.9-3c-1.1.7-2.5 1.2-4.1 1.2-3.1 0-5.8-2.1-6.7-5H1.3v3.1A12 12 0 0 0 12 24z"/><path fill="#FBBC05" d="M5.3 14.3a7.2 7.2 0 0 1 0-4.6V6.6H1.3a12 12 0 0 0 0 10.8z"/><path fill="#EA4335" d="M12 4.8c1.8 0 3.3.6 4.6 1.8l3.4-3.4A12 12 0 0 0 1.3 6.6l4 3.1c.9-2.9 3.6-4.9 6.7-4.9z"/></svg><b>4,9 / 5</b><span class="st" aria-hidden="true">★★★★★</span><span>154 avis sur Google</span><span class="gl">Voir les avis →</span></a>
</div>
<div class="subh r"><h3>Près de chez vous</h3><p>Carte des installations réalisées.</p></div>
<div class="cities">
<figure class="city map r"><img src="/shared/img/carte-macon.webp" alt="Carte des installations Planète Plus autour de Mâcon" loading="lazy" width="1200" height="674"><figcaption>Mâcon</figcaption></figure>
<figure class="city map r r2"><img src="/shared/img/carte-besancon.webp" alt="Carte des installations Planète Plus autour de Besançon" loading="lazy" width="1200" height="655"><figcaption>Besançon</figcaption></figure>
<figure class="city map r r3"><img src="/shared/img/carte-dijon.webp" alt="Carte des installations Planète Plus autour de Dijon" loading="lazy" width="1200" height="635"><figcaption>Dijon</figcaption></figure>
</div>
</div>
</div></section>
<!-- ACTUS:START (généré par build-actus.py) -->
<section class="sec tint dots on-light" id="partenaires"><div class="wrap">
<div class="acts-hd"><div><p class="k r">Partenariats · sponsoring · clubs locaux</p><h2 class="h2 r r2" style="margin-top:14px">Une entreprise implantée près de chez vous</h2></div>
<a href="/blogs/#partenariats" class="btn btn-sun r r3">Toutes les actualités →</a></div>
<div class="clubs r"><img src="/shared/brand/clubs/elan-chalon.webp" alt="Élan Chalon" title="Élan Chalon" loading="lazy"><img src="/shared/brand/clubs/macon-71.webp" alt="Mâcon 71" title="Mâcon 71" loading="lazy"><img src="/shared/brand/clubs/fc-gueugnon.webp" alt="FC Gueugnon" title="FC Gueugnon" loading="lazy"><img src="/shared/brand/clubs/cbbs.webp" alt="CBBS" title="CBBS" loading="lazy"><img src="/shared/brand/clubs/asm-macon-rugby.webp" alt="ASM Mâcon Rugby" title="ASM Mâcon Rugby" loading="lazy"><img src="/shared/brand/clubs/foot-la-chapelle-de-guinchay.webp" alt="Foot La Chapelle-de-Guinchay" title="Foot La Chapelle-de-Guinchay" loading="lazy"><img src="/shared/brand/clubs/velo-gourmand.webp" alt="Vélo Gourmand" title="Vélo Gourmand" loading="lazy"></div>
<div class="grid-a clubs-grid">
<a class="card-a r r1" data-cat="partenariats" href="https://www.instagram.com/planeteplus71/reel/Ddn_zArjM3t/" target="_blank" rel="noopener"><div class="ph"><img src="/shared/img/actus/ig-Ddn_zArjM3t.webp" alt="" loading="lazy"></div><div class="b"><p class="meta"><span class="chip">Partenariats</span><time datetime="2026-09-23">23 septembre 2026</time></p><h3>Partenaire du club de football Mâcon 71</h3><p>Planète Plus rejoint le club de football Mâcon 71 pour la nouvelle saison, et sera à ses côtés tout au long de l'année.</p><span class="lnk">Voir la publication ↗</span></div></a>
<a class="card-a r r2" data-cat="partenariats" href="https://www.instagram.com/planeteplus71/p/Ddirlk6ibzf/" target="_blank" rel="noopener"><div class="ph"><img src="/shared/img/actus/ig-Ddirlk6ibzf.webp" alt="" loading="lazy"></div><div class="b"><p class="meta"><span class="chip">Partenariats</span><time datetime="2026-09-21">21 septembre 2026</time></p><h3>Soirée de lancement du FC Gueugnon</h3><p>Planète Plus était présent au lancement de la saison 2026-2027 du FC Gueugnon : rencontre avec les équipes et les partenaires du club.</p><span class="lnk">Voir la publication ↗</span></div></a>
<a class="card-a r r3" data-cat="partenariats" href="https://www.instagram.com/planeteplus71/reel/Dda6g-PgjDn/" target="_blank" rel="noopener"><div class="ph"><img src="/shared/img/actus/ig-Dda6g-PgjDn.webp" alt="" loading="lazy"></div><div class="b"><p class="meta"><span class="chip">Partenariats</span><time datetime="2026-09-18">18 septembre 2026</time></p><h3>Planète Plus sur les maillots de l'Élan Chalon</h3><p>Partenariat officiel avec l'Élan Chalon pour la nouvelle saison : Planète Plus est présent sur les maillots des joueurs et accompagne le club toute l'année. Des valeurs partagées : engagement, énergie et esprit collectif.</p><span class="lnk">Voir la publication ↗</span></div></a>
</div>
</div></section>
<!-- ACTUS:END -->
<section class="sec white" id="faq"><div class="wrap">
<div class="center"><p class="k r">Questions fréquentes</p><h2 class="h2 r r2" style="margin-top:14px">Les réponses avant de vous lancer.</h2></div>
<div class="faq r r3" data-part>
<details><summary>Les panneaux solaires sont-ils vraiment rentables ?</summary><p>Vos économies dépendent de trois choses : 1/ l'électricité que vous produisez, 2/ ce que vous consommez immédiatement ou en différé (batterie virtuelle et/ou physique), 3/ le prix de l'électricité que vous n'avez plus besoin d'acheter. Nous réalisons nous-mêmes l'étude de production sur laquelle nous nous engageons. Et si la production garantie n'est pas atteinte après 12 mois de mesure, nous ajoutons des panneaux supplémentaires à nos frais. Votre production et votre rentabilité sont ainsi sécurisées par contrat.</p></details>
<details><summary>Combien puis-je économiser sur ma facture ?</summary><p>Chaque projet est différent : production × taux d'autoconsommation × prix du kWh évité = vos économies. Notre simulateur vous donne en 3 minutes une première estimation de votre production et de vos économies. Sur demande, une étude précise de notre bureau d'études vous donnera ensuite un chiffrage de rentabilité détaillé pour votre maison.</p></details>
<details><summary>Combien de panneaux faut-il pour ma maison ?</summary><p>Cela dépend de votre consommation, de la surface disponible, de l'orientation de votre toiture et de vos équipements. Notre bureau d'études dimensionne l'installation autour de votre consommation. À titre indicatif, une installation de 3 kWc produit typiquement 3 000 à 3 900 kWh par an selon la région et l'orientation.</p></details>
<details><summary>Ma toiture est-elle adaptée ?</summary><p>Une étude du projet vérifie notamment la surface disponible, l'orientation et l'inclinaison, les ombrages, les caractéristiques de la toiture, la consommation électrique du foyer, les équipements de la maison, la puissance et le raccordement électrique. Chaque projet est étudié individuellement par notre bureau d'études interne.</p></details>
<details><summary>Que se passe-t-il lorsque je produis plus que je ne consomme ?</summary><p>À certains moments de la journée, vos panneaux peuvent produire davantage que ce que vous consommez. Cette énergie peut être valorisée grâce au stockage : dans une batterie physique installée chez vous, ou grâce à une batterie virtuelle, pour la consommer plus tard. Notre bureau d'études détermine la configuration la plus pertinente pour votre projet afin d'optimiser votre rentabilité.</p></details>
<details><summary>À quoi sert une batterie virtuelle ?</summary><p>Votre surplus est injecté sur le réseau et comptabilisé selon les conditions du service choisi. Il est ensuite récupéré lorsque vous en avez besoin, à 0 € / kWh (hors taxes d'acheminement facturées par ENEDIS). Il n'y a pas de batterie physique à installer. Cette solution est proposée lorsque votre installation y est éligible.</p></details>
<details><summary>Une batterie physique est-elle rentable ?</summary><p>Une batterie permet de stocker votre surplus de production pour l'utiliser plus tard. Par exemple, pour couvrir les consommations du soir. Grâce à une batterie, la part d'énergie utilisée sur place augmente. Mais un surdimensionnement apporterait moins de bénéfices. La taille idéale de votre batterie (physique ou virtuelle) dépend du volume et du moment de votre consommation. C'est pourquoi notre bureau d'études calcule spécifiquement chaque cas et vous indique si elle est pertinente dans votre situation.</p></details>
<details><summary>Que se passe-t-il en cas de coupure de courant ?</summary><p>Couplée à une batterie, votre installation peut fournir de l'électricité en cas de coupure du réseau, et maintenir quelques circuits prioritaires (éclairage, box, réfrigérateur). Cette fonction spécifique (backup) se prévoit dès l'étude : parlez-en à votre conseiller.</p></details>
<details><summary>Quelle est la durée de vie des panneaux ?</summary><p>Vos panneaux produisent de l'électricité pendant au moins 30 ans. Ils conservent généralement 80 à 85 % de leur puissance après 25 ans (valeur constructeur) ; l'onduleur, lui, se remplace en moyenne une fois sur la période.</p></details>
<details><summary>Quelles sont les garanties ?</summary><p>Les panneaux bénéficient d'une garantie produit de 25 ans et d'une garantie de production de 30 ans. Les onduleurs sont garantis 20 ans. Les batteries sont garanties 15 ans. S'y ajoute notre garantie de production : si la production garantie n'est pas atteinte, nous ajoutons des panneaux à nos frais, matériel et main-d'œuvre.</p></details>
<details><summary>Qui s'occupe des démarches administratives ?</summary><p>Nous le faisons pour vous. Après la signature du devis, nous réalisons la visite technique et les démarches auprès de votre mairie et d'ENEDIS, jusqu'au contrat EDF OA, en vous tenant informé à chaque étape. L'installation est ensuite contrôlée par le Consuel, puis mise en service par ENEDIS.</p></details>
<details><summary>Faut-il entretenir les panneaux ?</summary><p>Nous le recommandons. En effet, tout comme pour votre voiture, la pluie n'élimine qu'une partie des salissures. Un panneau encrassé peut perdre 15 à 30 % de sa production. Nous proposons des formules légères de maintenance et de nettoyage pour suivre votre installation, détecter les écarts de production et intervenir quand c'est nécessaire.</p></details>
<details><summary>Que se passe-t-il si la production annoncée n'est pas atteinte ?</summary><p>Nous mesurons la production réelle de votre installation pendant 12 mois. Si la production garantie n'est pas atteinte, nous ajoutons les panneaux nécessaires à nos frais, matériel et main-d'œuvre. Vous savez ainsi sur quelle production vous pouvez réellement compter.</p></details>
</div>
<div class="faq r r3" data-pro>
<details><summary>La demande d'information est-elle gratuite ?</summary><p>Oui : la demande d'information et l'étude sont gratuites et sans engagement.</p></details>
<details><summary>Comment se déroule un projet avec Planète Plus ?</summary><p>Après signature du devis, nous réalisons la visite technique et les démarches auprès de votre mairie et d'ENEDIS. Dès les autorisations reçues, notre bureau d'études réalise le dossier technique et nous préparons votre matériel. Ensuite, notre planificateur fixe avec vous la date du chantier. L'installation est ensuite contrôlée par le Consuel, puis mise en service par ENEDIS. Nous vous remettons alors le dossier de pose, la documentation technique, et installons sur votre téléphone le logiciel de suivi en temps réel.</p></details>
<details><summary>Qu'impose la loi APER pour mon parking ?</summary><p>Pour les parcs de stationnement extérieurs de plus de 1 500 m², la loi prévoit l'équipement d'au moins 50 % de leur superficie par des dispositifs d'ombrage intégrant notamment de la production d'énergie renouvelable, sous réserve des cas d'exemption et des dispositifs alternatifs autorisés. Pour les parkings de 1 500 à 10 000 m², l'échéance est le 1er juillet 2028. Planète Plus étudie votre situation et le potentiel de production de votre parking.</p></details>
<details><summary>En combien de temps une installation est-elle rentabilisée ?</summary><p>Pour une toiture professionnelle ou agricole, le retour sur investissement est généralement évalué entre 6 et 8 ans, grâce à l'autoconsommation et à la revente du surplus. L'étude de votre site vous donne une estimation précise.</p></details>
<details><summary>Est-ce encore rentable de revendre de l'électricité solaire ?</summary><p>Oui, mais plus comme avant. Le tarif de rachat par EDF étant devenu dérisoire, la meilleure solution aujourd'hui est l'autoconsommation collective. En effet, depuis 2007, un producteur d'électricité solaire peut revendre son surplus à ses voisins ou locataires, jusqu'à 2 km de distance du point de production. Et vous êtes libre de fixer le prix de revente de votre choix ! Votre installation solaire devient alors un véritable modèle économique : soit vous augmentez significativement le prix de rachat de votre surplus, soit vous revendez la totalité à vos locataires ou voisins. Votre rentabilité devient alors extrêmement avantageuse.</p></details>
<details><summary>Quelles sont les garanties ?</summary><p>Les panneaux bénéficient d'une garantie produit de 25 ans et d'une garantie de production de 30 ans. Les onduleurs sont garantis 20 ans. S'y ajoute notre garantie de production : si la production garantie n'est pas atteinte, nous ajoutons des panneaux à nos frais, pièces et main-d'œuvre.</p></details>
<details><summary>Pourquoi faire confiance à Planète Plus ?</summary><p>Depuis 2019, plus de 3 000 clients nous ont fait confiance. Nous sommes certifiés RGE QualiPV et Qualibat, labellisés France Rénov', et notre bureau d'études interne compte 2 ingénieurs à plein temps.</p></details>
</div>
</div></section>
<section class="sec deep dots cta" id="cta"><div class="wrap">
<p class="k r">Votre projet</p>
<h2 class="h2 r r2" style="margin-top:14px" data-part>Découvrez le potentiel solaire de votre maison</h2>
<h2 class="h2 r r2" style="margin-top:14px" data-pro>Découvrez le potentiel solaire de votre bâtiment.</h2>
<p class="r r3" style="margin:16px auto 0;max-width:54ch">Obtenez gratuitement une première estimation de votre production et des économies réalisables sur votre facture.</p>
<div class="r r3" style="display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px"><a href="/simulateur/" class="btn btn-sun" data-part>Simuler mon projet <svg class="i"><use href="#i-arrow"/></svg></a><a href="/simulateur-pro/" class="btn btn-sun" data-pro>Simuler mon projet <svg class="i"><use href="#i-arrow"/></svg></a><a href="tel:+33385514048" class="btn btn-o">03 85 51 40 48</a></div>
</div></section>
</main>
<!-- SHELL:FOOTER -->
<footer><div class="wrap">
<div class="fg">
<div><a href="/" class="logo"><img src="/shared/brand/logo-expert.webp" alt="Planète Plus — Expert en panneaux solaires" width="586" height="197"></a><p style="margin-top:14px;max-width:32ch;font-size:.92rem">Installateur de panneaux solaires à Charnay-lès-Mâcon.</p><p style="margin-top:14px;font-size:.92rem">234 rue Roger Bretagnon<br>71850 Charnay-lès-Mâcon</p></div>
<div><h4>Planète Plus</h4><a href="/equipe/">L'équipe</a><a href="/equipe/#recrutement">Recrutement</a><a href="/blogs/">Actualités</a><a href="/blogs/#conseils">Articles</a><a href="/equipe/#certifications">Garanties / certifications</a></div>
<div class="soc"><h4>Réseaux sociaux</h4><a href="https://www.instagram.com/planeteplus71/" target="_blank" rel="noopener"><svg class="i"><use href="#i-ig"/></svg>Instagram</a><a href="https://www.facebook.com/planete.plus.france" target="_blank" rel="noopener"><svg class="i"><use href="#i-fb"/></svg>Facebook</a><a href="https://www.linkedin.com/company/planeteplus" target="_blank" rel="noopener"><svg class="i"><use href="#i-in"/></svg>LinkedIn</a><a href="https://www.youtube.com/@PLANETEPLUS-qs5xk" target="_blank" rel="noopener"><svg class="i"><use href="#i-yt"/></svg>YouTube</a></div>
<div><h4>Contact</h4><a href="tel:+33385514048" style="color:#fff;font-weight:700">03 85 51 40 48</a><a href="mailto:contact@planete-plus.fr">contact@planete-plus.fr</a><a href="/contact/">Formulaire de contact</a><p style="font-size:.86rem;margin-top:8px">Lun-Jeu 8h-17h · Ven 8h-16h</p></div>
</div>
<div class="fb"><span>© 2026 Planète +.</span><nav aria-label="Informations légales"><a href="/mentions-legales-et-politique-de-confidentialite/">Mentions légales</a><a href="/equipe/#certifications">Garanties / certifications</a><a href="#" data-cookies>Cookies</a></nav><span>Réalisé par <a href="https://mfaccompagnement.fr" target="_blank" rel="noopener">MF Accompagnement</a></span></div>
</div></footer>
<!-- /SHELL:FOOTER -->
<script id="common">
/* commun à toutes les pages (recopié par build-pages.py) : header, menu mobile, bascule Particuliers / Professionnels, apparitions, formulaires */
(function(){
var html=document.documentElement,body=document.body,hd=document.getElementById('hd'),flash=document.getElementById('flash'),sub=body.classList.contains('sub');
function onS(){hd.classList.toggle('s',sub||scrollY>10)}addEventListener('scroll',onS,{passive:true});onS();
var bg=document.getElementById('bg'),mn=document.getElementById('mnav');
function closeM(){mn.classList.remove('open');bg.classList.remove('x');body.classList.remove('lock')}
bg.addEventListener('click',function(){var o=mn.classList.toggle('open');bg.classList.toggle('x',o);body.classList.toggle('lock',o)});
mn.querySelectorAll('a').forEach(function(a){a.addEventListener('click',closeM)});
var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target)}})},{threshold:.12});
document.querySelectorAll('.r').forEach(function(el){io.observe(el)});
window.ppSet=function(p,src){var same=html.getAttribute('data-profile')===p;html.setAttribute('data-profile',p);try{sessionStorage.setItem('pp_profile',p)}catch(e){}
document.querySelectorAll('.switch button').forEach(function(b){var on=b.dataset.set===p;b.classList.toggle('on',on);b.setAttribute('aria-pressed',on)});
if(!same){flash.classList.remove('go');void flash.offsetWidth;flash.classList.add('go');document.querySelectorAll('[data-'+p+'] .r,[data-'+p+'].r').forEach(function(el){el.classList.add('in')})}
document.dispatchEvent(new CustomEvent('pp:profile',{detail:{p:p,same:same,src:src}}));
/* pages simulateur : la bascule mène au simulateur du mode choisi */
var s=body.getAttribute('data-simu');if(s&&s!==p){setTimeout(function(){location.href=p==='pro'?'../simulateur-pro/':'../simulateur/'},280)}};
/* la bascule reste sur place (demande du client : ne pas descendre à la section suivante) ;
dans le menu mobile, elle referme le menu et ramène en haut de l'accueil, sans repasser par « Accueil » */
document.querySelectorAll('.switch button').forEach(function(b){b.addEventListener('click',function(){var dansMenu=mn.contains(b);ppSet(b.dataset.set,b);
if(dansMenu){closeM();if(!sub&&document.getElementById('hero')){scrollTo({top:0,behavior:'smooth'})}}})});
document.querySelectorAll('[data-go]').forEach(function(b){b.addEventListener('click',function(){ppSet(b.getAttribute('data-go'),b);var t=b.getAttribute('data-scroll');if(t){setTimeout(function(){var el=document.querySelector(t);if(el)el.scrollIntoView({behavior:'smooth'})},150)}})});
ppSet(html.getAttribute('data-profile'));
document.querySelectorAll('form.cb:not([data-api])').forEach(function(f){f.addEventListener('submit',function(e){e.preventDefault();
var miss=[].slice.call(f.querySelectorAll('[required]')).filter(function(x){return !x.value.trim()})[0];if(miss){miss.focus();return}f.classList.add('sent')})});
})();
</script>
<script>
/* accueil : intro, héros (aperçu au survol, bascule au clic) */
(function(){var i=document.getElementById('intro');var nav=performance.getEntriesByType('navigation')[0];var reload=!!nav&&nav.type==='reload';
if((sessionStorage.getItem('pp_b')&&!reload)||matchMedia('(prefers-reduced-motion: reduce)').matches){i.remove();return}
document.body.classList.add('lock');setTimeout(function(){i.classList.add('gone');document.body.classList.remove('lock');sessionStorage.setItem('pp_b','1');setTimeout(function(){i.remove()},1000)},1800)})();
(function(){
var hero=document.getElementById('hero'),html=document.documentElement,cards=[].slice.call(document.querySelectorAll('.card'));
function cardOf(p){return cards.filter(function(x){return x.dataset.set===p})[0]}
function origin(el){var r=el.getBoundingClientRect(),h=hero.getBoundingClientRect();hero.style.setProperty('--cx',((r.left+r.width/2-h.left)/h.width*100).toFixed(1)+'%');hero.style.setProperty('--cy',((r.top+r.height/2-h.top)/h.height*100).toFixed(1)+'%')}
function preview(p,el){if(el)origin(el);hero.classList.remove('prev-part','prev-pro');hero.classList.add('prev-'+p);
hero.querySelectorAll('.bg video').forEach(function(v){v.pause()});var v=hero.querySelector('.bg-'+p+' video');if(v){v.play().catch(function(){})}}
function sync(p){cards.forEach(function(c){c.classList.toggle('on',c.dataset.set===p)})}
document.addEventListener('pp:profile',function(e){var p=e.detail.p,src=e.detail.src;sync(p);preview(p,src&&src.classList&&src.classList.contains('card')?src:cardOf(p))});
cards.forEach(function(c){c.addEventListener('mouseenter',function(){preview(c.dataset.set,c)});c.addEventListener('focus',function(){preview(c.dataset.set,c)});
c.addEventListener('mouseleave',function(){var cur=html.getAttribute('data-profile');preview(cur,cardOf(cur))});
function go(){ppSet(c.dataset.set,c)}
c.addEventListener('click',go);c.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();go()}})});
var cur=html.getAttribute('data-profile');sync(cur);setTimeout(function(){preview(cur,cardOf(cur))},60);
if(location.hash.indexOf('cap')>-1){html.style.setProperty('--herofix','900px');if(location.hash.indexOf('pro')>-1){setTimeout(function(){ppSet('pro',cards[1])},80)}}
})();
</script>
<div id="ck" class="ck" role="dialog" aria-live="polite" aria-label="Cookies" hidden>
<p>Nous utilisons des cookies de mesure d'audience (Google Analytics) pour améliorer le site. Vous pouvez les accepter ou les refuser ; votre choix est gardé 6 mois. <a href="/mentions-legales-et-politique-de-confidentialite/">En savoir plus</a></p>
<div><button type="button" class="btn btn-line" data-ck="0">Refuser</button><button type="button" class="btn btn-line" data-ck="1">Accepter</button></div>
</div>
<style>.ck{position:fixed;z-index:90;left:16px;right:16px;bottom:16px;max-width:560px;background:#fff;color:#12262E;border-radius:20px;padding:18px 20px;box-shadow:0 24px 60px -20px rgba(4,30,43,.45);font-size:.88rem;line-height:1.5}
.ck a{text-decoration:underline}.ck div{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.ck .btn{padding:10px 20px;font-size:.88rem;border:1.5px solid #12262E;color:#12262E;background:#fff}.ck .btn:hover{background:#12262E;color:#fff}</style>
<script>(function(){var b=document.getElementById('ck');function get(){try{var c=JSON.parse(localStorage.getItem('pp_cookies')||'null');return c&&c.exp>Date.now()?c:null}catch(e){return null}}
function set(ok){try{localStorage.setItem('pp_cookies',JSON.stringify({ok:ok,exp:Date.now()+182*864e5}))}catch(e){}b.hidden=true;if(ok)window.ppGTM()}
if(!get())b.hidden=false;b.querySelectorAll('[data-ck]').forEach(function(x){x.addEventListener('click',function(){set(x.dataset.ck==='1')})});
document.querySelectorAll('[data-cookies]').forEach(function(a){a.addEventListener('click',function(e){e.preventDefault();b.hidden=false})})})();</script>
</body>
</html>