:root{--ink:#20252b;--muted:#60666d}body{background:#fff}header{background:#fffffff2}.hero{min-height:690px;grid-template-columns:1fr 1fr;gap:50px}.hero-art{height:510px;border-radius:8px 8px 100px 8px;background:#f3eee9}.hero-art img{width:100%;height:100%;margin:0;object-fit:cover;border-radius:inherit;animation:none}.tag1{top:25px;right:-15px;transform:none;font-size:10px;letter-spacing:.1em}.tag2{bottom:25px;left:-20px;transform:none}.art-note{position:absolute;bottom:10px;right:20px;color:#fff;text-shadow:0 1px 3px #000}.lab{display:grid;grid-template-columns:1.65fr 1fr;background:#f6f3ef;border:1px solid #e4ded8;border-radius:12px;overflow:hidden}.lab-visual{position:relative;min-height:530px;overflow:hidden;background:#eeeae5}.roof-base,.roof-dirt{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.roof-dirt{clip-path:inset(0 0 0 0);transition:clip-path .15s linear}.lab-top{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;gap:8px;font-size:10px;z-index:4}.lab-top>span{background:#fffdf8ed;border-radius:30px;padding:8px 13px;box-shadow:0 2px 10px #0001}.live-dot{letter-spacing:.08em}.live-dot:before{content:'';display:inline-block;width:6px;height:6px;background:#b8232c;border-radius:50%;margin-right:7px}.lab-panel{padding:35px;background:white}.lab-panel h3{font-size:32px;margin:0 0 20px}.lab-panel>p:not(.eyebrow){font-size:13px;line-height:1.9;min-height:125px}.lab-tabs{margin:20px 0}.lab-tabs button{width:100%;display:flex;gap:17px;align-items:center;padding:16px 8px;background:transparent;border:0;border-top:1px solid #e4e1de;text-align:left;font-size:14px;color:#61666b}.lab-tabs button span{font-size:10px}.lab-tabs i{margin-left:auto;font-style:normal}.lab-tabs .active{color:#b8232c;font-weight:700;background:#fff8eb;border-left:3px solid #b8232c}.visual-note{font-size:10px;line-height:1.7;margin-top:14px;color:#72777c}.pin{position:absolute;background:#b8232c;border:3px solid white;width:32px;height:32px;color:#fff;border-radius:50%;z-index:5;box-shadow:0 0 0 8px #b8232c20;font-size:22px;line-height:20px}.pin1{top:32%;left:29%}.pin2{top:53%;left:68%}.pin3{top:82%;left:40%}.pin-note{position:absolute;bottom:15px;left:18px;right:18px;background:#fffffff0;color:#35383b;border-left:3px solid #b8232c;padding:12px 15px;font-size:12px;z-index:4;box-shadow:0 4px 15px #0001}#roofFx{position:absolute;width:100%;height:100%;inset:0;pointer-events:none;z-index:2}.nozzle{position:absolute;top:14%;left:-50px;width:100px;height:9px;border-radius:6px;background:linear-gradient(#c1c8ce,#333,#bcc8d0);transform:rotate(28deg);opacity:0;z-index:3}.lab-visual[data-mode="1"] .nozzle,.lab-visual[data-mode="2"] .nozzle{opacity:1;left:5%}.real-comparison{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px;align-items:center;margin-top:70px}.real-comparison h3{font-size:34px}.real-comparison p:not(.eyebrow){margin-top:20px;font-size:13px}.photo-compare{height:360px;position:relative;overflow:hidden;border:1px solid #e0ddd9;border-radius:8px;background:#f0ece6}.photo-compare>img{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}#photoBefore{clip-path:inset(0 50% 0 0)}#photoRange{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5;margin:0}#photoDivider{position:absolute;left:50%;top:0;height:100%;border-left:2px solid white;display:flex;align-items:center;color:#fff;text-shadow:0 1px 5px #000;font-size:30px;pointer-events:none}.before-tag,.after-tag{position:absolute;top:15px;padding:5px 10px;background:#fff;border-radius:30px;font-size:9px;z-index:3}.before-tag{left:15px}.after-tag{right:15px;color:#b8232c}.method{background:#f7f5f2;color:#20252b}.method .eyebrow,.method h2 em{color:#b8232c}.step{color:#20252b;border-color:#ddd;opacity:.6}.step small,.process p,.method-note{color:#60666d}.step.active{border-color:#b8232c}.step>span,.process .play{color:#b8232c}.process-art{background:#f0e9e1 url('assets/roof-clean.webp') center/contain no-repeat;height:310px}.tile-grid,.scanner,.waterdrops{display:none!important}.stage-number{color:#b8232c}.method-note{border-color:#ddd}.service-grid{gap:20px;border:0}.service{border:1px solid #e4e1dd;border-radius:8px;overflow:hidden;padding-top:235px;background:white}.service-photo{height:210px}.service h3{font-size:24px}.service-arrow{margin-top:15px}.zones{background:#f5f2ed}.romandie-map{max-height:440px}.floating{background:#24724b;border-color:#fff}.mobile-call{display:none}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.reveal.in-view{opacity:1;transform:none}@media(max-width:850px){.lab{grid-template-columns:1fr}.lab-visual{min-height:470px}.lab-panel{padding:28px}.lab-panel>p:not(.eyebrow){min-height:0}.lab-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lab-tabs button{border:1px solid #eee;padding:14px 8px}.hero{gap:25px}.hero-art{height:430px}.real-comparison{gap:30px}}@media(max-width:650px){.hero{gap:35px;padding-top:35px}.hero-art{height:330px;max-width:none;padding:0;border-bottom-right-radius:70px}.hero h1{font-size:49px}.tag1{right:8px;top:15px;font-size:8px}.tag2{left:10px;bottom:15px}.lab-visual{min-height:330px}.lab-top{font-size:8px;left:10px;right:10px;top:10px}.lab-top>span{padding:6px 9px}.pin{width:28px;height:28px;font-size:19px}.pin-note{font-size:10px;padding:8px 10px;bottom:9px;left:10px;right:10px}.lab-panel{padding:24px 20px}.lab-panel h3{font-size:28px}.lab-tabs button{font-size:12px;gap:9px}.real-comparison{grid-template-columns:1fr;gap:24px;margin-top:45px}.photo-compare{height:300px}.service-grid{grid-template-columns:1fr;gap:18px}.service{padding:230px 24px 24px}.service-photo{height:210px}.service p{max-width:100%;font-size:13px}.service h3{font-size:27px}.service-index{font-size:10px}.process-art{height:280px}.floating{bottom:12px;right:12px;width:47%;text-align:center;border-radius:7px;font-size:13px;padding:13px}.mobile-call{display:block;position:fixed;bottom:12px;left:12px;width:44%;text-align:center;background:#b8232c;color:white;padding:14px;border-radius:7px;z-index:20;font-size:13px;box-shadow:0 4px 20px #0002}footer{padding-bottom:90px!important}.romandie-map{max-height:none}.live-dot{display:none}.method-layout{gap:20px}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
/* Film de toiture : mêmes emplacements, nouvelle séquence automatique. */
.lab-visual>.roof-base,.lab-visual>.roof-dirt{visibility:hidden}#roofFx{z-index:1}.lab-top,.pin-note{z-index:4}.pin{z-index:5}.lab-visual .nozzle{display:none}.lab-panel{padding:28px}.lab-panel h3{font-size:29px}.lab-panel>p:not(.eyebrow){min-height:105px}.lab-tabs{margin:15px 0;display:grid;grid-template-columns:1fr 1fr;gap:5px}.lab-tabs button{font-size:11px;gap:8px;padding:10px 6px;border:1px solid #ede7e3;border-radius:4px}.lab-tabs button span{font-size:9px}.lab-tabs button i{display:none}.cleaning-choice{display:flex;gap:5px;margin-top:14px}.cleaning-choice button{border:1px solid #dedbd7;background:white;color:#535b60;border-radius:30px;font-size:10px;padding:7px 11px;flex:1}.cleaning-choice button.active{background:#202a30;color:white;border-color:#202a30}.film-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px}.film-controls .textlink{font-size:11px}.film-controls>span{font-size:9px;color:#73787e;font-variant-numeric:tabular-nums}.film-progress{height:3px;background:#eee9e4;margin-top:15px;border-radius:5px;overflow:hidden}.film-progress span{display:block;height:100%;width:0;background:#b8232c}.pin-note{font-size:11px;min-height:43px}.lab-visual{min-height:560px}.service-film{display:block;width:100%;height:240px;border-radius:5px;background:#f2eee8;margin-bottom:12px}.service-film-label{font-size:10px!important;margin:0 0 15px!important;color:#c70734!important}.service-film-controls{display:flex;gap:12px;align-items:center;margin-bottom:20px}.service-film-controls button{border:1px solid #d8d2cb;border-radius:30px;background:white;padding:6px 12px;font-size:10px}.service-film-controls span{font-size:10px;color:#68716e}.service-film-hint{font-size:9px!important;margin-top:10px!important}.service .service-arrow:before{content:'Voir la prestation et l’animation';font-size:10px;margin-right:15px;vertical-align:middle;font-family:Arial;font-weight:500}.service-photo{transition:none}@media(max-width:650px){.lab-visual{min-height:325px;scroll-margin-top:105px}.lab-panel{padding:23px 20px}.lab-panel h3{font-size:27px}.lab-panel>p:not(.eyebrow){min-height:0}.lab-tabs button{font-size:11px;padding:11px 7px}.pin-note{font-size:9px;min-height:35px}.cleaning-choice button{font-size:9px;padding:8px 9px}.service-film{height:200px}.service .service-arrow:before{font-size:10px}dialog{padding:32px 22px}.lab-top{top:8px}}
.ribbon{padding:17px 25px}.ribbon>div{min-width:0!important;white-space:normal;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;animation:none!important}.ribbon>div>span{color:white!important;font-size:12px;white-space:nowrap}.ribbon>div>span:before{content:'✳';font-size:10px;margin-right:12px;color:#ffbdce}.privacy-link{border:0;background:none;padding:5px;color:var(--ink);font-size:11px;text-decoration:underline}.wrap,.hero>div,.lab-panel,.method-layout>*,.contact-layout>*,.formrow>*{min-width:0}.formrow{grid-template-columns:repeat(2,minmax(0,1fr))}.service h3,h1,h2,h3{overflow-wrap:break-word}.service-photo{background-position:center 45%}#privacyDialog p{font-size:13px;line-height:1.8;margin-top:18px}#photoRange:focus-visible{opacity:.12;outline:3px solid #b8232c}.service-film:focus-visible{outline:3px solid #b8232c}@media(max-width:650px){header{gap:10px;padding:12px 18px}.brand img{width:110px}.button.small{max-width:155px;text-align:center;line-height:1.3;font-size:10px;padding:11px 12px}.hero .eyebrow{line-height:1.8;letter-spacing:.12em;font-size:8px}.hero h1{font-size:clamp(39px,11.6vw,49px)}.ribbon{padding:16px 20px}.ribbon>div{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.ribbon>div>span{font-size:10px;white-space:normal;line-height:1.5}.ribbon>div>span:before{margin-right:6px}.hero .actions{align-items:stretch;gap:15px}.hero .actions .button{justify-content:center}.service h3{font-size:clamp(24px,7vw,27px)}.sectionhead>p{font-size:14px}.formrow{grid-template-columns:1fr}.tag{max-width:calc(100% - 20px)}input,textarea,select{font-size:16px}.lab-top>span{max-width:100%;white-space:normal}.lab-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{height:310px}.lab-visual[data-phase="1"] .pin,.lab-visual[data-phase="2"] .pin,.lab-visual[data-phase="4"] .pin,.lab-visual[data-phase="6"] .pin{opacity:.2;pointer-events:none}.floating,.mobile-call{padding-bottom:calc(13px + env(safe-area-inset-bottom,0px)/2)}}@media(max-width:350px){.brand img{width:93px}.button.small{max-width:140px;font-size:9px}header{padding-left:15px;padding-right:15px}.top{padding:7px 12px;font-size:8px}.wrap{padding-left:20px;padding-right:20px}.lab-panel{padding:20px 15px}.lab-tabs button{font-size:10px}.hero-art{height:270px}.lab-visual{min-height:290px}.hero .actions{flex-direction:column}.hero .actions .textlink{align-self:flex-start}.mobile-call,.floating{font-size:11px}}
.photo2{background-image:url('assets/bf-ferblanterie.webp');background-position:center 38%}.photo3{background-image:url('assets/bf-couverture.webp');background-position:center 35%}.photo5{background-image:url('assets/bf-velux.webp');background-position:center 58%}.service-film[hidden]{display:none!important}video.service-film{object-fit:contain;background:#211d19}.hero .actions .textlink{align-self:center}.service-film-controls button{min-height:34px}@media(max-width:650px){.hero .actions .textlink{align-self:flex-start}.photo2{background-position:center 38%}.photo5{background-position:center 55%}}
.service-autofilm{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.service-autofilm[hidden]{display:none!important}.service-photo>span{z-index:3}.service .service-arrow:before{content:'Détails de la prestation'}.service .service-photo{background-color:#eee9e2}.service-photo:has(.service-autofilm){isolation:isolate}.service-autofilm{z-index:1}
#playSteps[hidden]{display:none!important}.service-photo>span{max-width:calc(100% - 14px)}.lab-tabs button{min-height:37px}.process-art .stage-number{font-size:24px}
/* Finition claire : rouge de marque, cuivre, eau et entretien. */
.hero{background:radial-gradient(ellipse at 95% 40%,#ffe0d34d,transparent 58%)}.hero-art{box-shadow:0 20px 65px #733e2421;border:1px solid #e7d4c6}.hero-art video{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;object-position:62% center}.hero-art:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#271b1866);pointer-events:none;border-bottom-right-radius:inherit}.hero-art .tag{z-index:3}.hero-art .art-note{bottom:24px;z-index:3;font-size:9px}.tag2{min-width:185px;box-shadow:0 7px 25px #40281f29}.hero-film-track{position:absolute;left:0;right:0;bottom:0;height:5px;z-index:3;overflow:hidden;border-radius:0 0 80px 0;background:#f6d3c5}.hero-film-track>span{display:block;height:100%;width:0;background:#b8232c}.hero-film-pause{position:absolute;right:20px;bottom:50px;z-index:5;background:#fffffff0;border:0;border-radius:50%;width:33px;height:33px;color:#212d35;font-size:12px}.ribbon{background:linear-gradient(110deg,#c90032,#ee1642 65%,#bc6743);box-shadow:none}.sectionhead .eyebrow{color:#c90737}.sectionhead h2 em{background:linear-gradient(100deg,#b8232c,#b44e32);background-clip:text;-webkit-background-clip:text;color:transparent}.lab{box-shadow:0 20px 60px #764a2b0a}.lab-panel{background:linear-gradient(145deg,#fff,#fff7f4);transition:background .6s}.lab[data-phase="1"] .lab-panel,.lab[data-phase="2"] .lab-panel{background:linear-gradient(145deg,#fff,#eaf4ed)}.lab[data-phase="4"] .lab-panel,.lab[data-phase="5"] .lab-panel{background:linear-gradient(145deg,#fff,#e9f5fa)}.lab[data-phase="6"] .lab-panel,.lab[data-phase="7"] .lab-panel{background:linear-gradient(145deg,#fff,#f9e9dc)}.lab[data-phase="1"] .film-progress span,.lab[data-phase="2"] .film-progress span{background:#3d8265}.lab[data-phase="4"] .film-progress span,.lab[data-phase="5"] .film-progress span{background:#277b9f}.lab[data-phase="6"] .film-progress span,.lab[data-phase="7"] .film-progress span{background:#b66c3f}.lab[data-phase="1"] .lab-tabs .active,.lab[data-phase="2"] .lab-tabs .active{color:#296c51;background:#edf7f0;border-left-color:#296c51}.lab[data-phase="4"] .lab-tabs .active,.lab[data-phase="5"] .lab-tabs .active{color:#246c91;background:#eaf6fb;border-left-color:#246c91}.lab[data-phase="6"] .lab-tabs .active,.lab[data-phase="7"] .lab-tabs .active{color:#96502a;background:#fcf0e5;border-left-color:#b77143}.method{background:linear-gradient(115deg,#fff0ee,#fff8ee 70%,#f5ece3);border-top:1px solid #f3ddd5;border-bottom:1px solid #edd9ce}.method .step.active{background:#fffaf7;box-shadow:0 5px 24px #b46c4210}.service-grid{gap:22px}.service{--service-color:#366f56;--service-tint:#f0f7f2;background:linear-gradient(160deg,#fff 55%,var(--service-tint));border-color:#e7e0d9;border-top:4px solid var(--service-color);box-shadow:0 8px 30px #5a3c2710}.service[data-service="1"]{--service-color:#287b9e;--service-tint:#eaf6fa}.service[data-service="2"]{--service-color:#b36e41;--service-tint:#fcf0e6}.service[data-service="3"]{--service-color:#d11b40;--service-tint:#fff0f2}.service[data-service="4"]{--service-color:#376e88;--service-tint:#edf4f8}.service[data-service="5"]{--service-color:#ae7b2d;--service-tint:#fcf5e4}.service:hover{background:linear-gradient(160deg,#fff 45%,var(--service-tint));box-shadow:0 14px 38px #5a3c271a;transform:translateY(-4px)}.service-index{color:var(--service-color);font-weight:700}.service-arrow{color:var(--service-color)}.service .service-photo{height:225px;top:0;background:#eee8e1}.service{padding-top:250px}.service-autofilm{object-fit:cover}.service-photo>.film-scene-caption{font-size:10px;left:12px;right:auto;bottom:14px;padding:6px 10px;background:#fffffff0;color:#243432;border-radius:4px;max-width:calc(100% - 24px);box-shadow:0 4px 15px #0001;line-height:1.25}.card-film-progress{position:absolute;bottom:0;left:0;height:4px;background:var(--service-color);z-index:4;width:0}.zones{background:radial-gradient(ellipse at 12% 15%,#fbe2dc,transparent 55%),linear-gradient(130deg,#fbf6f0,#edf2ec)}.canton{background:#fffcf6e8;border-color:#e3d8cb;box-shadow:0 3px 12px #70452607}.romandie-map{filter:drop-shadow(0 8px 15px #773d1b12)}.contact{background:radial-gradient(ellipse at 5% 90%,#f0bcc9ad,transparent 70%),linear-gradient(115deg,#fff1ec,#f9e9df)}.contact .button{background:linear-gradient(110deg,#b8232c,#c11736)}.faq summary{font-weight:600}.modal-film-wrap{margin-bottom:18px}.modal-film-wrap .service-film{height:270px;margin-top:0}.service-film-label{margin-top:10px!important}.real-comparison{padding:30px;background:linear-gradient(130deg,#f8f0e6,#fff8f2);border-radius:12px;border:1px solid #eee0d1}.photo-compare{background:#f6f0e8}.hero .checks span:before{color:#b8232c}.process-art{border:1px solid #e9d6c4}.service h3{line-height:1.18}@media(max-width:650px){.hero-art{height:350px}.hero-art video{object-position:58% center}.hero-art .tag1{font-size:7px}.tag2{min-width:150px;font-size:10px;bottom:35px;left:12px}.hero-art .art-note{bottom:12px;right:12px;font-size:7px}.hero-film-pause{right:13px;bottom:48px}.service{padding-top:247px}.service .service-photo{height:225px}.service-photo>.film-scene-caption{font-size:10px;bottom:12px}.real-comparison{padding:20px;gap:25px}.modal-film-wrap .service-film{height:220px}.service-grid{gap:22px}.hero-film-track{border-radius:0 0 65px 0}.lab-panel{transition:background .4s}}@media(max-width:350px){.hero-art{height:290px}.service{padding-top:222px}.service .service-photo{height:200px}.service-photo>.film-scene-caption{font-size:9px}}
/* Numéro prioritaire : toujours visible dans l’en-tête fixe. */
header{gap:22px;padding-top:12px;padding-bottom:12px}.header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.header-phone{display:flex;align-items:center;justify-content:center;gap:12px;padding:11px 19px;background:linear-gradient(115deg,#ef0a3e,#c8002e);color:white;border-radius:7px;box-shadow:0 5px 22px #db07322d;border:1px solid #dc0635;line-height:1.2;transition:background .2s,box-shadow .2s}.header-phone:hover{background:#ba002a;box-shadow:0 7px 25px #db073244}.header-phone svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;flex:none}.header-phone small{display:block;font-size:8px;letter-spacing:.14em;margin-bottom:5px;font-weight:600;opacity:.9}.header-phone strong{display:block;font-size:21px;font-weight:800;font-family:Manrope,Arial,sans-serif;letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums}.header-quote{font-size:12px;font-weight:600;white-space:nowrap;border-bottom:1px solid #bcb3ad;padding:7px 0}.header-quote:hover{color:#b8232c}.header-phone:focus-visible{outline:3px solid #303f49;outline-offset:4px}@media(max-width:1150px){header nav{gap:17px;font-size:12px}.header-quote{display:none}.header-actions{gap:0}.header-phone strong{font-size:19px}.header-phone{padding:11px 15px;gap:9px}}@media(max-width:850px){header nav{display:none}.header-phone strong{font-size:20px}.header-phone{padding:10px 17px}.brand img{width:145px}}@media(max-width:650px){header{padding:10px 18px;gap:12px}.brand img{width:104px}.header-phone{padding:9px 12px;gap:8px;border-radius:6px}.header-phone strong{font-size:17px;letter-spacing:0}.header-phone small{font-size:7px;margin-bottom:4px;letter-spacing:.11em}.header-phone svg{width:19px;height:19px}.header-quote{display:none}.top>a{font-size:10px}.hero{padding-top:28px}}@media(max-width:350px){header{padding:9px 14px;gap:7px}.brand img{width:88px}.header-phone{padding:9px 9px;gap:5px}.header-phone strong{font-size:15px}.header-phone svg{width:17px;height:17px}.header-phone small{font-size:6px}.top>a{font-size:8px}}
/* Signature romande : les cinq couleurs présentes dans les sept blasons. */
:root{--canton-red:#d60934;--canton-green:#16734b;--canton-gold:#d8ae32;--canton-black:#25282b;--canton-white:#fffdf7;--cantonal-thread:linear-gradient(90deg,#e3b83e 0 7%,#d60934 7% 14%,#16734b 14% 25%,#fffdf7 25% 29%,#d60934 29% 40%,#fffdf7 40% 44%,#25282b 44% 55%,#fffdf7 55% 59%,#16734b 59% 65%,#fffdf7 65% 69%,#d60934 69% 76%,#fffdf7 76% 79%,#d60934 79% 86%,#e3b83e 86% 92%,#25282b 92% 96%,#d60934 96% 100%)}
.top{background:#25282b;color:#fff;border-bottom:4px solid transparent;border-image:var(--cantonal-thread) 1;font-size:11px;padding-top:6px;padding-bottom:6px}.hero{background:radial-gradient(ellipse at 96% 20%,#edce7538,transparent 43%),radial-gradient(ellipse at 65% 95%,#337b4c14,transparent 45%),radial-gradient(ellipse at 0% 50%,#eb365414,transparent 50%)}.hero h1{font-size:clamp(48px,5.1vw,73px)}.hero h1 em{background:none;color:#d60934}.hero .intro{max-width:455px}.canton-signature{margin-top:28px;padding-top:16px;border-top:1px solid #ded9d2;max-width:445px}.canton-signature>p{font-size:8px;letter-spacing:.16em;font-weight:700;color:#5c625f;margin-bottom:10px}.canton-signature>div{display:flex;gap:7px;flex-wrap:wrap}.canton-chip{display:flex;gap:5px;align-items:center;padding:5px 8px;background:#fffdf8;border:1px solid #e0dbd2;border-radius:5px;font-size:9px;font-weight:700;min-height:32px;box-shadow:0 3px 8px #563a2205}.canton-chip img{width:14px;height:18px;object-fit:contain}.canton-chip:hover{border-color:#b1a396;transform:translateY(-1px)}.ribbon{position:relative;background:#f8f5ed;color:#25282b;padding:20px 25px;border-bottom:1px solid #e6e0d5}.ribbon:before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:var(--cantonal-thread)}.ribbon>div>span{color:#353a36!important;font-size:12px;font-weight:600}.ribbon>div>span:before{color:#d60934}.ribbon>div>span:nth-child(2):before{color:#16734b}.ribbon>div>span:nth-child(3):before{color:#b39028}.ribbon>div>span:nth-child(4):before{color:#25282b}.sectionhead .eyebrow:before{content:'';display:inline-block;width:28px;height:5px;margin-right:9px;vertical-align:middle;background:linear-gradient(90deg,#d60934 0 25%,#16734b 25% 50%,#ddb43d 50% 75%,#25282b 75%);border-radius:1px}.service{--service-color:#176b48;--service-tint:#e6f2e9;background:linear-gradient(155deg,#fff 35%,var(--service-tint));border-top-width:5px}.service[data-service="1"]{--service-color:#292f30;--service-tint:#edf0ec}.service[data-service="2"]{--service-color:#9d7020;--service-tint:#fcf1d2}.service[data-service="3"]{--service-color:#cf0c36;--service-tint:#ffe9ed}.service[data-service="4"]{--service-color:#333a35;--service-tint:#eff2e8}.service[data-service="5"]{--service-color:#16734b;--service-tint:#f2edda}.service .service-index{display:inline-block;font-size:9px;letter-spacing:.1em;color:var(--service-color);background:#ffffffb0;border:1px solid #d2c8ba99;padding:5px 8px;border-radius:4px;margin-top:5px}.service p{max-width:none;font-size:12px;line-height:1.8}.service h3{margin-top:17px;font-size:25px}.service[data-service="5"]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#16734b 0 33%,#fffdf7 33% 66%,#d60934 66%)}.service[data-service="4"]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#25282b 0 50%,#fffdf7 50%)}.zones{background:radial-gradient(ellipse at 8% 0%,#e8cf864d,transparent 55%),radial-gradient(ellipse at 100% 100%,#cde1d591,transparent 60%),#f9f6ee;border-top:1px solid #e4dccd}.canton{overflow:hidden;border:1px solid #e0d7c7;background:#fffdf7;min-height:88px;padding-top:17px}.canton:before{content:'';position:absolute;left:0;right:0;top:0;height:5px;background:var(--ct,#d60934)}.canton-GE{--ct:linear-gradient(90deg,#e3b83e 0 50%,#d60934 50%);border-left-color:#d8ba64}.canton-VD{--ct:linear-gradient(90deg,#16734b 0 60%,#fffdf7 60%)}.canton-VS{--ct:linear-gradient(90deg,#fffdf7 0 50%,#d60934 50%)}.canton-FR{--ct:linear-gradient(90deg,#25282b 0 50%,#fffdf7 50%)}.canton-NE{--ct:linear-gradient(90deg,#16734b 0 33%,#fffdf7 33% 66%,#d60934 66%)}.canton-JU{--ct:linear-gradient(90deg,#d60934 0 50%,#fffdf7 50%)}.canton-BE{--ct:linear-gradient(135deg,#d60934 0 25%,#e3b83e 25% 65%,#25282b 65% 80%,#d60934 80%)}.canton>span{font-size:9px;color:#62645b}.canton img{width:30px;height:38px;margin-top:2px}.map-legend span{background:var(--cantonal-thread);width:26px;height:8px;border:1px solid #b9ac93}.map-legend{line-height:1.8}.contact{background:radial-gradient(ellipse at 0% 70%,#f2b9c4b0,transparent 55%),radial-gradient(ellipse at 95% 10%,#efcf7e61,transparent 45%),radial-gradient(ellipse at 100% 100%,#dce9dc99,transparent 50%),#fcf7ec}.method{background:linear-gradient(120deg,#f7e4cbb3,#fff6e8 40%,#edf3e9)}.lab[data-phase="4"] .lab-panel,.lab[data-phase="5"] .lab-panel{background:linear-gradient(145deg,#fff,#eef3ec)}.lab[data-phase="4"] .film-progress span,.lab[data-phase="5"] .film-progress span{background:#16734b}.lab[data-phase="4"] .lab-tabs .active,.lab[data-phase="5"] .lab-tabs .active{color:#176b48;background:#edf5ee;border-left-color:#176b48}.real-comparison{background:linear-gradient(125deg,#fff8e8,#eef4eb)}.contact .bigphone{font-size:30px;font-weight:700;color:#cf0c36}.hero-film-track>span{background:var(--cantonal-thread)}@media(max-width:650px){.hero h1{font-size:clamp(39px,10.3vw,44px)}.canton-signature{margin-top:23px;padding-top:14px}.canton-chip{font-size:8px;padding:5px 7px}.canton-signature>div{gap:6px}.canton-chip img{width:13px;height:17px}.canton-signature>p{font-size:7px}.ribbon>div>span{font-size:10px}.service p{font-size:13px;line-height:1.8}.service h3{font-size:26px}.service .service-index{font-size:9px}.canton{min-height:83px}.top{font-size:9px}.contact .bigphone{font-size:25px}}@media(max-width:350px){.hero h1{font-size:38px}.canton-chip{padding:4px 6px;gap:3px}.canton-chip img{width:12px;height:16px}.canton-signature>div{gap:5px}.service h3{font-size:24px}.service p{font-size:12px}.top{font-size:8px}}
/* Les prestations séparées gardent la même identité et la lecture automatique. */
.service[data-service="5"]{--service-color:#a67e24;--service-tint:#fff1c9}.service[data-service="6"]{--service-color:#1d754e;--service-tint:#dcecdf}.service[data-service="7"]{--service-color:#2f3536;--service-tint:#edf0e6}.photo6{background-image:url('assets/laine-bois-pente.webp');background-position:center}.photo7{background-image:url('assets/solaire-face-pose.webp');background-position:center}.service[data-service="7"] .service-autofilm{object-fit:contain;background:#eef2ef}.service[data-service="6"]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#17734b 0 33%,#fffdf7 33% 66%,#d60934 66%)}.service[data-service="5"]:after{background:linear-gradient(90deg,#dfba3f 0 50%,#d60934 50%)}
@media(min-width:1100px){.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service{padding:215px 22px 25px}.service .service-photo{height:190px}.service h3{font-size:24px}.service p{font-size:12px;line-height:1.8}.service-photo>.film-scene-caption{font-size:9px;left:9px;max-width:calc(100% - 18px);padding:5px 8px}.service .service-arrow:before{font-size:9px;margin-right:8px}}
@media(min-width:651px) and (max-width:1099px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Fonds en filigrane : couche décorative indépendante, sans interaction. */
.canton-backdrop{position:relative;isolation:isolate}.canton-backdrop:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--canton-watermark);background-repeat:no-repeat;background-size:clamp(170px,25vw,340px);background-position:right -75px top 25px;opacity:.045;filter:saturate(.8)}.mark-GE{--canton-watermark:url('assets/arms-GE.svg')}.mark-VD{--canton-watermark:url('assets/arms-VD.svg')}.mark-VS{--canton-watermark:url('assets/arms-VS.svg')}.mark-FR{--canton-watermark:url('assets/arms-FR.svg')}.mark-NE{--canton-watermark:url('assets/arms-NE.svg')}.mark-JU{--canton-watermark:url('assets/arms-JU.svg')}.mark-BE{--canton-watermark:url('assets/arms-BE.svg')}.hero.canton-backdrop:before{background-position:left -65px bottom 40px;opacity:.035;background-size:270px}#prestations.canton-backdrop:before{background-position:right -70px top 35px}#zones.canton-backdrop:before{background-position:left -80px top 60px;opacity:.035}.faq.canton-backdrop:before{background-position:left -90px top 30px}.contact.canton-backdrop:before{background-position:right -100px top 40px;opacity:.035}
/* Les couleurs des blasons s’étendent aux fonds et aux titres, le site reste clair. */
.hero h1{color:#25282b}.hero h1 em{color:#c90934}.hero .eyebrow{color:#176b48}#comprendre{background-color:#fffdf8}#comprendre .sectionhead h2{color:#1d6548}#comprendre .sectionhead h2 em{background:none;color:#c90934}.method{background:linear-gradient(120deg,#f5df9c,#fff5d6 65%,#f3ebd4);border-color:#e8d28b}.method .eyebrow{color:#775b1b}.method h2 em{color:#1b6c48}.method .step.active{background:#fffdf5;border-left-color:#1b6c48;box-shadow:0 5px 20px #87672c13}.method .step>span{color:#78621e}.process-art{background-color:#fff8e7}.real-comparison{background:linear-gradient(130deg,#f2df9f,#fff3d0);border-color:#e2c977}#prestations{background:linear-gradient(140deg,#edf4ec,#fffdf8 50%,#f8eee2)}#prestations .sectionhead h2{color:#255f45}#prestations .sectionhead h2 em{background:none;color:#292f2c}.service{background:linear-gradient(155deg,#fff 20%,var(--service-tint))}.service[data-service="0"]{--service-tint:#d4e7d8}.service[data-service="1"]{--service-tint:#e5e8e2}.service[data-service="2"]{--service-tint:#f2dfa5}.service[data-service="3"]{--service-tint:#f6dce2}.service[data-service="4"]{--service-tint:#e4e9de}.zones{background:linear-gradient(130deg,#fff8df,#f2f2e5 70%,#e4eee1)}.faq{background:#fff5f4}.faq h2{color:#a70d30}.faq h2 em{color:#252b27}.contact{background:linear-gradient(125deg,#dfeddf,#edf5e9 65%,#f7edcf)}.contact h2 em{color:#1a6b49}.contact .eyebrow{color:#236248}.header-phone,.button{position:relative;z-index:1}.lab,.service-grid,.process,.photo-compare{position:relative;z-index:1}
@media(max-width:650px){.canton-backdrop:before{background-size:170px;background-position:right -75px top 15px;opacity:.04}.hero.canton-backdrop:before{background-size:165px;background-position:left -70px top 60px;opacity:.025}.faq.canton-backdrop:before{background-position:right -85px top 20px}.contact.canton-backdrop:before{background-size:180px;background-position:right -80px top 25px;opacity:.03}.service-grid{grid-template-columns:1fr}.service .service-photo{height:225px}.service{padding-top:247px}.service h3{font-size:26px}.method{background:linear-gradient(130deg,#f8e9b9,#fff7e3)}#prestations{background:linear-gradient(145deg,#e9f2e7,#fffaf1 60%)}.contact{background:linear-gradient(145deg,#deeddc,#f2f5e9)}}@media(max-width:350px){.service .service-photo{height:200px}.service{padding-top:222px}}
.partners{background:linear-gradient(120deg,#f2eee5,#fffaf1);border-top:1px solid #e4dccd;border-bottom:1px solid #e4dccd}.partners-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}.partners-intro>p:not(.eyebrow){font-size:14px;max-width:370px;margin-top:24px;line-height:1.9}.partners h2{font-size:clamp(32px,3.2vw,45px)}.partners h2 em{color:#1c6d49}.partner-card{background:#fff;border:1px solid #e5ddd1;border-top:4px solid #da2735;border-radius:10px;padding:28px;display:grid;grid-template-columns:180px 1fr;align-items:center;gap:22px;box-shadow:0 10px 30px #523f2708}.partner-logo{display:block;background:#fff}.partner-logo img{display:block;width:100%;height:auto;max-height:180px;object-fit:contain}.partner-copy .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:12px;color:#b52336}.partner-copy h3{font-size:31px;margin-bottom:15px}.partner-copy>p:not(.eyebrow){font-size:12px;line-height:1.85;margin-bottom:18px}.partner-scope{color:#59635c}.partner-scope strong{display:block;font-size:11px;color:#2d4234;margin-bottom:5px}.partner-copy .textlink{font-size:11px}.partner-note{grid-column:1/-1;border-top:1px solid #ece7e0;padding-top:15px;font-size:9px;line-height:1.8}.partners.canton-backdrop:before{background-position:left -75px bottom 30px;opacity:.025}@media(max-width:950px){.partners-layout{grid-template-columns:1fr;gap:30px}.partners-intro>p:not(.eyebrow){max-width:600px}.partner-card{grid-template-columns:170px 1fr}}@media(max-width:650px){.partners-layout{gap:25px}.partner-card{padding:22px;grid-template-columns:1fr;gap:10px}.partner-logo{max-width:165px;margin:0 auto}.partner-logo img{max-height:150px}.partner-copy .eyebrow{text-align:center}.partner-copy h3{text-align:center;font-size:28px}.partner-copy>p:not(.eyebrow){font-size:13px}.partner-note{font-size:9px}.partners h2{font-size:34px}}
/* Cantonal map: an edge illustration with a soft fade toward content. */
.canton-backdrop{--canton-watermark:url('assets/romandie-fond.svg')}
.canton-backdrop:before{background-image:url('assets/romandie-fond.svg');background-size:clamp(320px,42vw,540px);background-position:right -120px top 25px;opacity:.16;filter:none;mask-image:linear-gradient(90deg,transparent 48%,#000 83%);-webkit-mask-image:linear-gradient(90deg,transparent 48%,#000 83%)}
.hero.canton-backdrop:before{background-size:460px;background-position:left -125px bottom 0;opacity:.12;mask-image:linear-gradient(90deg,#000,transparent 42%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 42%)}
#prestations.canton-backdrop:before{background-position:right -95px top 5px;opacity:.18}
#zones.canton-backdrop:before{background-position:left -140px top 60px;opacity:.1;mask-image:linear-gradient(90deg,#000,transparent 40%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 40%)}
.faq.canton-backdrop:before{background-position:left -150px top 10px;opacity:.12;mask-image:linear-gradient(90deg,#000,transparent 40%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 40%)}
.contact.canton-backdrop:before{background-position:right -100px top 25px;opacity:.16}
.partners.canton-backdrop:before{background-position:left -150px center;opacity:.1;mask-image:linear-gradient(90deg,#000,transparent 40%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 40%)}
@media(max-width:650px){.canton-backdrop:before{background-size:280px;background-position:right -145px top 10px;opacity:.11;mask-image:linear-gradient(90deg,transparent 45%,#000);-webkit-mask-image:linear-gradient(90deg,transparent 45%,#000)}.hero.canton-backdrop:before{background-size:280px;background-position:left -155px bottom 30px;opacity:.09;mask-image:linear-gradient(90deg,#000,transparent 42%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 42%)}#prestations.canton-backdrop:before{background-size:300px;background-position:right -165px top 0;opacity:.13}#zones.canton-backdrop:before,.faq.canton-backdrop:before,.partners.canton-backdrop:before{background-position:right -160px top 20px;opacity:.09;mask-image:linear-gradient(90deg,transparent 45%,#000);-webkit-mask-image:linear-gradient(90deg,transparent 45%,#000)}.contact.canton-backdrop:before{background-size:300px;background-position:right -150px top 35px;opacity:.11}}

/* One demonstration per service; a quiet photographic welcome. */
.hero-still>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}.hero-still{overflow:hidden}.hero-still .tag2{bottom:24px}.hero-still .tag2:before{display:none}

.hero-still .tag2{left:16px;right:auto;max-width:calc(100% - 32px);transform:none}

/* A distinct contact card, readable against the cantonal background. */
#contactForm{position:relative;isolation:isolate;align-self:start;background:#fff;border:1px solid #cbd7cb;border-top:5px solid #d60934;border-radius:18px;padding:32px;box-shadow:0 18px 48px #203d2720,0 3px 9px #203d270a;min-width:0}#contactForm .contact-form-heading{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid #e5e9e3}#contactForm .contact-form-heading .eyebrow{font-size:10px;color:#c90732;margin:0 0 10px;letter-spacing:.14em}#contactFormTitle{font-size:26px;line-height:1.2;letter-spacing:-.035em;margin:0 0 10px}#contactForm .contact-form-heading>p:last-child{font-size:13px;line-height:1.65;color:#59635c;margin:0}#contactForm label{font-size:12px;color:#283b30}#contactForm input,#contactForm select,#contactForm textarea{margin-top:8px;padding:12px 13px;background:#f8faf7;border:1px solid #cbd4cb;border-radius:7px;line-height:1.5;min-width:0}#contactForm input:focus,#contactForm select:focus,#contactForm textarea:focus{outline:2px solid #d60934;outline-offset:2px;background:#fff}#contactForm textarea{min-height:115px}#contactForm .button{white-space:normal;line-height:1.5;border-radius:7px}#contactForm>.micro{color:#59635c}
@media(max-width:650px){#contactForm{padding:24px 20px;border-radius:14px;box-shadow:0 12px 30px #203d271a}#contactFormTitle{font-size:25px}#contactForm .contact-form-heading{margin-bottom:22px;padding-bottom:20px}#contactForm input,#contactForm select,#contactForm textarea{font-size:16px}#contactForm .button{padding:15px 12px}}

#prestations .sectionhead>p{background:#fcfdf9ed;padding:12px 14px;border-radius:10px}

/* Automatic eight-service showcase in the welcome area. */
.hero-showcase{height:auto!important;min-height:0;aspect-ratio:3/2;padding:0!important;background:#edf1eb;overflow:hidden;position:relative}.hero-showcase .showcase-poster,.hero-showcase canvas,.hero-showcase video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:inherit;margin:0;filter:none}.hero-showcase canvas,.hero-showcase video{z-index:1}.hero-showcase [hidden]{display:none!important}.hero-showcase:after{inset:45% 0 0;background:linear-gradient(transparent,#14231bee 100%);z-index:2}.showcase-brand{position:absolute;top:18px;left:18px;z-index:3;background:#fffffff0;color:#24362c;border-left:3px solid #d60934;border-radius:3px;padding:10px 12px;font-size:8px;letter-spacing:.12em;font-weight:700}.showcase-caption{position:absolute;left:25px;right:65px;bottom:27px;z-index:3;color:white}.showcase-caption>span{font-size:10px;letter-spacing:.12em;color:#ffe6ad}.showcase-caption h2{font-size:clamp(20px,2.1vw,30px);line-height:1.15;color:white;margin:7px 0;letter-spacing:-.03em}.showcase-caption p{font-size:11px;line-height:1.5;color:#f1f5ef;margin:0}.hero-showcase #showcasePause{position:absolute;bottom:29px;right:20px;width:36px;height:36px;border:1px solid #ffffff85;border-radius:50%;background:#ffffffed;color:#233c2d;z-index:4}.showcase-progress{position:absolute;bottom:0;left:0;right:0;display:flex;gap:4px;padding:0 16px 10px;z-index:4}.showcase-progress i{flex:1;height:3px;background:#ffffff50;border-radius:3px;overflow:hidden}.showcase-progress b{display:block;height:100%;width:0;background:#fff}.showcase-progress .active b{background:#efbd4b}.showcase-enter canvas{animation:showcase-reveal .65s ease-out}@keyframes showcase-reveal{from{opacity:.35;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@media(max-width:650px){.hero-showcase{max-width:none;aspect-ratio:1.25}.hero-showcase canvas,.hero-showcase video,.hero-showcase .showcase-poster{height:calc(100% - 65px);object-fit:contain}.showcase-brand{top:12px;left:12px;font-size:7px;padding:8px}.showcase-caption{left:16px;bottom:25px;right:57px}.showcase-caption h2{font-size:21px;margin:5px 0}.showcase-caption p{font-size:10px}.showcase-caption>span{font-size:9px}.hero-showcase #showcasePause{right:14px;bottom:31px;width:34px;height:34px}.hero-showcase:after{inset:53% 0 0}}

/* A single full-screen map remains behind the entire page while scrolling. */
body{background:#fafbf7;position:relative}body:before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:url('assets/romandie-fond.svg') center center / auto 94vh no-repeat;opacity:.20}main,footer{position:relative;z-index:1}.canton-backdrop:before{display:none!important}.hero.canton-backdrop{background:transparent}#prestations.canton-backdrop{background:#fafcf7b8}#zones.canton-backdrop{background:#f5f6edbd}.partners.canton-backdrop,.faq.canton-backdrop{background:#ffffffb8}.contact.canton-backdrop{background:#e8f2e4bd}.hero-showcase,#contactForm{background-color:#fff}#prestations .sectionhead>p{background:#fcfdf9e8}.ribbon{position:relative;z-index:1}@media(max-width:650px){body:before{background-size:auto 87svh;background-position:center center;opacity:.18}.hero.canton-backdrop{background:#fffffd38}#prestations.canton-backdrop{background:#fafcf7a8}.partners.canton-backdrop,.faq.canton-backdrop{background:#ffffffb8}}

.hero-showcase .showcase-poster{z-index:0}.hero-showcase canvas,.hero-showcase video{z-index:1}
