*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#152033;background:#fff}a{color:inherit}.top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px clamp(16px,5vw,70px);box-shadow:0 8px 25px rgba(0,0,0,.06)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand img{width:48px;height:48px;object-fit:cover;border-radius:12px}.brand small{display:block;color:#5d6877}.top nav{display:flex;gap:22px;font-weight:700}.top nav a{text-decoration:none}.phone{background:#f58220;color:#111;text-decoration:none;font-weight:900;border-radius:999px;padding:12px 18px}.hero{position:relative;min-height:680px;display:flex;align-items:center;overflow:hidden;background:#082c48;color:white}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28;filter:saturate(1.05)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08243d 0%,rgba(8,36,61,.92) 42%,rgba(8,36,61,.35) 100%)}.hero-content{position:relative;z-index:1;max-width:900px;padding:80px clamp(18px,8vw,110px)}.eyebrow{text-transform:uppercase;letter-spacing:.09em;color:#f58220;font-weight:900;font-size:.9rem}.hero h1{font-size:clamp(2.3rem,6vw,5rem);line-height:1.02;margin:.15em 0}.hero p{font-size:1.15rem;max-width:760px;line-height:1.65}.cta{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:14px 20px;text-decoration:none;font-weight:900;cursor:pointer}.primary{background:#f58220;color:#111}.light{background:#fff;color:#152033}.badges span{display:inline-block;margin:5px 8px 0 0;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:9px 14px;font-weight:800}.section{padding:78px clamp(18px,6vw,90px)}.section h2{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 28px}.alt{background:#f6f8fb}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.services article,.trust article{background:white;border:1px solid #e5e9f0;border-radius:24px;padding:26px;box-shadow:0 14px 35px rgba(13,37,62,.06)}.services h3{margin-top:0}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.filters button{border:1px solid #d9e1ea;background:white;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer}.filters .active{background:#0c3553;color:white}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.photo-card{position:relative;min-height:220px;border:0;padding:0;border-radius:20px;overflow:hidden;cursor:pointer;background:#ddd;box-shadow:0 14px 35px rgba(0,0,0,.12)}.photo-card img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:.35s}.photo-card:hover img{transform:scale(1.05)}.photo-card span{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.7);color:white;border-radius:999px;padding:8px 12px;font-weight:800;font-size:.85rem}.photo-card.hidden{display:none}.contact{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:#082c48;color:white}.contact form{display:grid;gap:12px}.contact input,.contact select,.contact textarea{width:100%;border:0;border-radius:14px;padding:14px;font:inherit}.contact textarea{min-height:130px}footer{padding:28px;text-align:center;background:#061d30;color:white}.lightbox{display:none;position:fixed;z-index:99;inset:0;background:rgba(0,0,0,.9);align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:96vw;max-height:90vh;border-radius:14px}.lightbox button{position:absolute;top:20px;right:25px;font-size:42px;background:none;border:0;color:white;cursor:pointer}@media(max-width:900px){.top nav{display:none}.grid,.contact{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.hero{min-height:620px}.phone{padding:10px 12px;font-size:.9rem}.brand small{display:none}}@media(max-width:520px){.gallery{grid-template-columns:1fr}.top{padding:10px}.hero-content{padding:60px 18px}.photo-card{min-height:260px}}
.more{display:inline-block;margin-top:8px;font-weight:900;color:#0c3553}.local{background:#fff}.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.chips span{background:#eef3f8;border:1px solid #dbe5ee;border-radius:999px;padding:10px 14px;font-weight:800}.page-hero{min-height:520px}.contact.mini{grid-template-columns:1fr}.services a{text-decoration:none}.top nav{align-items:center}.top nav a:hover,.more:hover{text-decoration:underline}@media(max-width:1180px){.top nav a:nth-child(n+4):nth-child(-n+8){display:none}}

/* Version 3 premium */
.top{border-bottom:1px solid rgba(13,37,62,.08)}
.hero-v3{min-height:720px;background:#09253a}.hero-v3 .hero-bg{opacity:.48;filter:saturate(1.12) brightness(1.08)}.hero-v3:after{background:linear-gradient(90deg,rgba(7,29,48,.98) 0%,rgba(7,29,48,.88) 38%,rgba(7,29,48,.30) 78%,rgba(7,29,48,.15) 100%)}
.hero-stats{margin-top:28px;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;max-width:560px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:22px;padding:18px;backdrop-filter:blur(8px)}.hero-stats strong{color:#fff;font-size:1.15rem}.hero-stats span{color:#e8eef5}.proof{background:linear-gradient(180deg,#fff,#f6f8fb)}.proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.proof-grid article{padding:24px;border-radius:24px;background:white;border:1px solid #e4eaf1;box-shadow:0 18px 40px rgba(13,37,62,.06)}.proof-grid strong{display:block;font-size:1.4rem;color:#0c3553;margin-bottom:8px}.reviews{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:center;background:#0c3553;color:white}.reviews h2{color:white}.reviews p{line-height:1.7}.review-card{background:white;color:#152033;border-radius:30px;padding:34px;box-shadow:0 22px 50px rgba(0,0,0,.18)}.review-card span{color:#f58220;font-size:2rem;letter-spacing:.12em;font-weight:900}.brands{background:#fff}.brand-cloud{display:flex;flex-wrap:wrap;gap:14px}.brand-cloud span{border:1px solid #dbe5ee;background:#f7f9fc;border-radius:999px;padding:14px 18px;font-weight:900;color:#0c3553}.mapbox{margin-top:18px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.25)}.mapbox iframe{width:100%;height:220px;border:0;display:block}.services article{transition:.25s}.services article:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(13,37,62,.12)}.btn{box-shadow:0 10px 22px rgba(0,0,0,.12)}@media(max-width:900px){.proof-grid,.reviews{grid-template-columns:1fr}.hero-stats{grid-template-columns:1fr}.hero-v3{min-height:650px}.proof-grid{gap:14px}}

/* V5 Premium */
.lead{font-size:1.12rem;line-height:1.7;color:#536171;max-width:850px}.gallery-page{grid-template-columns:repeat(3,minmax(0,1fr))}.call-float{position:fixed;right:18px;bottom:18px;z-index:30;background:#f58220;color:#111;text-decoration:none;font-weight:900;border-radius:999px;padding:14px 18px;box-shadow:0 14px 35px rgba(0,0,0,.25)}.services a{text-decoration:none;color:inherit}.review-card .btn{margin-top:10px}.brand-cloud{margin-top:18px}.page-hero .hero-bg{opacity:.48;filter:saturate(1.1) brightness(1.02)}@media(max-width:900px){.gallery-page{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.gallery-page{grid-template-columns:1fr}.call-float{left:18px;text-align:center}}

.notice-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.notice-card h3{margin-top:0}

.zone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:24px}.zone-grid a{display:block;text-decoration:none;background:#fff;border:1px solid #e5eaf0;border-radius:16px;padding:16px 18px;font-weight:800;box-shadow:0 10px 22px rgba(0,0,0,.05)}.zones{background:#f7f9fc}.text-link{display:inline-block;margin-top:10px;color:#f58220;font-weight:900}.toolbox{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;background:#f7f9fc;border:1px solid #e5eaf0;border-radius:24px;padding:24px}.toolbox label{display:grid;gap:8px;font-weight:800}.toolbox input,.toolbox select{width:100%;padding:14px;border:1px solid #cfd8e3;border-radius:12px;font:inherit}.toolbox .result{grid-column:1/-1;background:#fff;border-left:5px solid #f58220;border-radius:14px;padding:18px;line-height:1.6}.mini{background:#082c48;color:#fff}.mini a{color:#fff}.call-float{z-index:20}

/* V12 - accueil renforcé + carte zone d'intervention */
.proof-home{background:linear-gradient(180deg,#fff,#f7f9fc)}
.proof-intro{max-width:980px;margin-bottom:26px}.proof-grid.v12 article p{color:#536171;line-height:1.55}.intervention-map{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;background:#f7f9fc}.intervention-map .chips a,.intervention-map .chips span{text-decoration:none;background:#fff;border:1px solid #dbe5ee;color:#0c3553;border-radius:999px;padding:10px 14px;font-weight:900}.zone-copy .btn{margin-top:24px}.radius-card{background:#fff;border:1px solid #e0e7ef;border-radius:30px;padding:24px;box-shadow:0 20px 50px rgba(13,37,62,.10)}.radius-card p{color:#536171;line-height:1.55}.map-visual{position:relative;min-height:430px;border-radius:26px;background:radial-gradient(circle at center,#eef7ff 0,#f8fbff 45%,#fff 100%);overflow:hidden;border:1px solid #e4edf6}.ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:2px dashed rgba(12,53,83,.28);border-radius:50%}.ring-1{width:150px;height:150px}.ring-2{width:260px;height:260px}.ring-3{width:365px;height:365px;border-color:rgba(245,130,32,.45)}.center-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#0c3553;color:#fff;border-radius:999px;padding:13px 16px;box-shadow:0 12px 28px rgba(0,0,0,.18);white-space:nowrap}.town{position:absolute;background:#fff;color:#152033;border:1px solid #dbe5ee;border-radius:999px;padding:8px 11px;font-weight:900;font-size:.88rem;box-shadow:0 10px 25px rgba(13,37,62,.08)}.t1{left:12%;top:36%}.t2{right:13%;top:38%}.t3{left:46%;top:10%}.t4{left:17%;bottom:17%}.t5{right:14%;bottom:20%}.t6{left:43%;bottom:9%}.home-tools{display:grid;grid-template-columns:1.4fr .8fr;gap:28px;align-items:center;background:#fff}.tool-card-home{text-decoration:none;display:grid;gap:12px;background:#082c48;color:#fff;border-radius:28px;padding:32px;box-shadow:0 20px 50px rgba(8,44,72,.20)}.tool-card-home strong{font-size:1.4rem}.tool-card-home span{color:#e7eef6;line-height:1.5}.hero .badges span{backdrop-filter:blur(8px)}
@media(max-width:900px){.intervention-map,.home-tools{grid-template-columns:1fr}.map-visual{min-height:360px}.ring-3{width:300px;height:300px}.ring-2{width:220px;height:220px}.ring-1{width:130px;height:130px}.town{font-size:.78rem}.center-dot{font-size:.86rem}.t1{left:5%;top:35%}.t2{right:5%;top:38%}.t3{left:39%;top:8%}.t4{left:8%;bottom:15%}.t5{right:6%;bottom:18%}.t6{left:40%;bottom:7%}}

/* SEO local V13 */
.seo-local .chips a{display:inline-block;text-decoration:none;background:#fff;border:1px solid #dbe5ee;color:#0c3553;border-radius:999px;padding:10px 14px;font-weight:900}.zone-grid a:hover,.seo-local .chips a:hover{border-color:#f58220;box-shadow:0 12px 26px rgba(245,130,32,.12)}

/* Page tarifs */
.tarifs-hero .hero-bg{opacity:.46;filter:saturate(1.05) brightness(1.02)}
.tarifs-intro{background:#fff}.tarif-alert{margin-top:20px;background:#fff7ed;border:1px solid #fed7aa;border-left:5px solid #f58220;border-radius:18px;padding:18px;line-height:1.6;color:#152033}.tarif-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tarif-card{background:#fff;border:1px solid #e5eaf0;border-radius:26px;padding:26px;box-shadow:0 16px 38px rgba(13,37,62,.08);display:flex;flex-direction:column;gap:12px}.tarif-card.featured{border-color:#f58220;box-shadow:0 22px 48px rgba(245,130,32,.16)}.tarif-card h3{margin:0;color:#0c3553;font-size:1.35rem}.tarif-card p{margin:0;color:#536171;line-height:1.55}.tarif-card strong{font-size:1.75rem;color:#152033;margin-top:auto}.tarif-card a{font-weight:900;color:#f58220;text-decoration:none}.tag{align-self:flex-start;background:#eef3f8;color:#0c3553;border:1px solid #dbe5ee;border-radius:999px;padding:8px 12px;font-weight:900;font-size:.85rem}.tarifs-details{background:#fff}@media(max-width:980px){.tarif-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.tarif-grid{grid-template-columns:1fr}.tarif-card strong{font-size:1.55rem}}

/* V15 - aides, dépannage, FAQ */
.aides-hero .hero-bg{opacity:.42;filter:saturate(1.08) brightness(.95)}
.aid-calculator{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;background:#fff;border:1px solid #e5eaf0;border-radius:28px;padding:26px;box-shadow:0 18px 42px rgba(13,37,62,.08)}
.aid-calculator label{display:grid;gap:8px;font-weight:900;color:#152033}.aid-calculator select{width:100%;padding:14px;border:1px solid #cfd8e3;border-radius:14px;font:inherit;background:#fff}.aid-calculator button{align-self:end}.aid-result{grid-column:1/-1;background:#f7f9fc;border-left:5px solid #f58220;border-radius:18px;padding:20px;line-height:1.65;color:#152033}.aid-result .btn{margin-top:12px}.faq-list{display:grid;gap:12px;max-width:1000px}.faq-list details{background:#fff;border:1px solid #e5eaf0;border-radius:18px;padding:0;box-shadow:0 10px 26px rgba(13,37,62,.05);overflow:hidden}.faq-list summary{cursor:pointer;font-weight:900;color:#0c3553;padding:18px 22px;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list details[open] summary{background:#f7f9fc}.faq-list p{padding:0 22px 20px;margin:0;line-height:1.65;color:#536171}.depannage-seo .zone-grid a{background:#fff}.home-new .services article{height:100%}
@media(max-width:980px){.aid-calculator{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.aid-calculator{grid-template-columns:1fr}}
@media(max-width:1180px){.top nav a:nth-child(n+5):nth-child(-n+10){display:none}}


/* V16 SEO avancé */
.top nav a[href="realisations.html"]{font-weight:900}
.seo-local{background:#fff}
.seo-local p{line-height:1.7}
.photo-card img{width:100%;height:100%;object-fit:cover}
footer a[href="realisations.html"]{font-weight:900}
@media(max-width:1180px){.top nav a[href="realisations.html"]{display:inline-block}}

/* V16.1 - menu Chauffage avec sous-onglets */
.nav-dropdown{position:relative;display:inline-flex;align-items:center}
.nav-dropdown>a{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.nav-dropdown>a::after{content:"▾";font-size:.72rem;color:#f58220}
.submenu{display:none;position:absolute;top:100%;left:0;min-width:210px;background:#fff;border:1px solid #e5e9f0;border-radius:16px;padding:8px;box-shadow:0 18px 38px rgba(13,37,62,.14);z-index:30}
.nav-dropdown:hover .submenu,.nav-dropdown:focus-within .submenu{display:grid;gap:4px}
.top nav .submenu a{padding:10px 12px;border-radius:10px;white-space:nowrap;color:#152033;font-weight:800}
.top nav .submenu a:hover{background:#f6f8fb;text-decoration:none}
@media(max-width:900px){.nav-dropdown{display:none}}

/* V17.1 - boutons et avis Google */
.btn.secondary{background:#0c3553;color:#fff;border:2px solid rgba(255,255,255,.85);box-shadow:0 10px 22px rgba(0,0,0,.18)}
.btn.secondary:hover{background:#08243d;transform:translateY(-1px)}
.hero .btn.secondary{min-width:245px}
.google-review-card{border:1px solid #e4e8ee}
.google-label{display:inline-flex;align-items:center;gap:8px;font-weight:900;color:#0c3553;margin-bottom:10px}
.google-label:before{content:'G';display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f6f8fb;border:1px solid #dbe5ee;font-size:1.1rem}
.review-stars{display:block}
.review-score{display:flex;align-items:baseline;gap:10px;margin:8px 0 14px}
.review-score strong{font-size:2.1rem;color:#0c3553}
.review-score small{color:#5d6877;font-weight:800}
.review-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.review-actions .btn{margin-top:0}
@media(max-width:520px){.hero .btn.secondary,.review-actions .btn{width:100%}.review-score{align-items:flex-start;flex-direction:column;gap:2px}}

/* V17.2 - correction iPhone et avis Google intégrés */
.hero .btn.secondary{background:#0c3553!important;color:#fff!important;border:2px solid #fff!important}
.google-live{grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr)}
.google-rating-summary{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 14px;margin:22px 0}
.google-rating-summary .review-stars{grid-row:1/3;font-size:2rem;color:#f5b301;letter-spacing:.06em}
.google-rating-summary strong{font-size:2rem;color:#fff}
.google-rating-summary small{color:#dce7ef;font-size:1rem}
.google-reviews-embed{background:#fff;border-radius:26px;padding:12px;box-shadow:0 22px 50px rgba(0,0,0,.18)}
.google-reviews-embed iframe{display:block;width:100%;height:430px;border:0;border-radius:18px}
.google-reviews-embed p{margin:10px 8px 4px;color:#536171;font-size:.92rem}
@media(max-width:900px){.google-live{grid-template-columns:1fr}.google-reviews-embed iframe{height:360px}}

/* V17.3 - correction définitive du bouton e-mail sur la page Tarifs */
.contact.mini .email-cta{background:#0c3553!important;color:#fff!important;border:2px solid #fff!important;min-width:260px;opacity:1!important;visibility:visible!important}
.contact.mini .email-cta:hover{background:#061d30!important;color:#fff!important}
@media(max-width:520px){.contact.mini .email-cta{width:100%;min-width:0}}

.contact.mini .contact-email{margin-top:12px;color:#fff;font-size:1.05rem}.contact.mini .contact-email a{color:#fff;text-decoration:underline;font-weight:900;overflow-wrap:anywhere}

/* V17.5 - bouton e-mail Contact direct */
.contact.mini .email-cta{background:#0c3553!important;color:#fff!important;border:2px solid #fff!important;min-width:220px;opacity:1!important;visibility:visible!important}
.contact.mini .email-cta:hover{background:#061d30!important;color:#fff!important}
@media(max-width:520px){.contact.mini .email-cta{width:100%;min-width:0}}


/* V18 - finitions, lisibilité iPhone et accessibilité */
.contact.mini .cta{align-items:center}
.contact.mini .email-cta,.contact .email-cta{display:inline-flex!important;background:#0c3553!important;color:#fff!important;border:2px solid #fff!important;min-width:220px;opacity:1!important;visibility:visible!important;-webkit-text-fill-color:#fff;text-decoration:none}
.contact.mini .email-cta:hover,.contact .email-cta:hover{background:#061d30!important;color:#fff!important}
.btn:focus-visible,.top a:focus-visible,.filters button:focus-visible{outline:3px solid #f58220;outline-offset:3px}
img{max-width:100%}
@media(max-width:520px){.contact.mini .cta .btn{width:100%;min-width:0}.contact.mini .email-cta{width:100%;min-width:0}}
