/* Photographic actions, comparison and a progressively enhanced quote form. */
.service-action>img{filter:saturate(.88) brightness(.86);transition:none}.service-action .action-after{position:absolute;inset:0;z-index:1}.expertise-card:hover .service-action>img,.expertise-card:focus-visible .service-action>img{transform:none;filter:saturate(.88) brightness(.86)}.action-after{animation-duration:7s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-play-state:paused}.in-view .action-after{animation-play-state:running}.action-couverture .action-after{animation-name:tile-replacement}.action-charpente .action-after{animation-name:timber-repair}.action-zinguerie .action-after{animation-name:gutter-flow}.action-fuite .action-after{animation-name:leak-repair}.action-demoussage .action-after{animation-name:moss-removal}.action-isolation .action-after{animation-name:insulation-laying}.action-hydrofuge .action-after{animation-name:water-beading}.action-facade .action-after{animation-name:facade-cleaning}.action-state{position:absolute;z-index:6;top:16px;right:12px;font-size:.68rem;line-height:1.4;background:#081218d9;border:1px solid #ffffff30;border-radius:3px;padding:6px 8px;max-width:70%;text-align:right;color:#e9f2f5}.action-state>span{display:block;animation:state-before 7s ease-in-out infinite;animation-play-state:paused}.action-state>span+span{position:absolute;inset:6px 8px;animation-name:state-after}.in-view .action-state>span{animation-play-state:running}.service-action .media-caption{font-size:.77rem}.service-action .media-index{font-size:.65rem;left:12px;top:21px}.service-illustration-note,.comparison-note{font-size:.875rem;line-height:1.6;color:#a8bdc8;margin-top:22px;max-width:920px}
@keyframes tile-replacement{0%,16%{clip-path:inset(45% 45%);opacity:0;transform:translateY(-12px)}34%,72%{clip-path:inset(0);opacity:1;transform:translateY(0)}92%,100%{clip-path:inset(0);opacity:0;transform:translateY(0)}}
@keyframes timber-repair{0%,16%{clip-path:inset(0 100% 0 0)}44%,76%{clip-path:inset(0);opacity:1}96%,100%{clip-path:inset(0);opacity:0}}
@keyframes gutter-flow{0%,16%{clip-path:polygon(0 0,0 0,0 100%,0 100%)}44%,76%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}96%,100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:0}}
@keyframes leak-repair{0%,16%{clip-path:circle(0 at 50% 45%)}44%,76%{clip-path:circle(100% at 50% 45%);opacity:1}96%,100%{clip-path:circle(100% at 50% 45%);opacity:0}}
@keyframes moss-removal{0%,16%{clip-path:inset(0 100% 0 0)}55%,76%{clip-path:inset(0);opacity:1}96%,100%{clip-path:inset(0);opacity:0}}
@keyframes insulation-laying{0%,16%{clip-path:inset(100% 0 0)}48%,76%{clip-path:inset(0);opacity:1}96%,100%{clip-path:inset(0);opacity:0}}
@keyframes water-beading{0%,16%{opacity:0}44%,76%{opacity:1}96%,100%{opacity:0}}
@keyframes facade-cleaning{0%,16%{clip-path:inset(0 0 100%)}54%,76%{clip-path:inset(0);opacity:1}96%,100%{clip-path:inset(0);opacity:0}}
@keyframes state-before{0%,24%,92%,100%{opacity:1}38%,82%{opacity:0}}
@keyframes state-after{0%,24%,92%,100%{opacity:0}38%,82%{opacity:1}}
.motion-paused .action-after,.motion-paused .action-state>span{animation-play-state:paused!important}.transformation{background:#0e171d;border-block:1px solid #ffffff10}.comparison{border:1px solid #4d606c;border-radius:5px;overflow:hidden;background:#0a1319}.comparison-images{position:relative;aspect-ratio:1.9;overflow:hidden}.comparison-images>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison-before{clip-path:inset(0 calc(100% - var(--comparison)) 0 0)}.compare-label{position:absolute;top:22px;background:#09151dde;border:1px solid #ffffff55;border-radius:3px;color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.1em;padding:8px 12px;z-index:2}.compare-before{left:22px}.compare-after{right:22px}.comparison-divider{position:absolute;left:var(--comparison);top:0;bottom:0;width:2px;background:#fff;z-index:3;box-shadow:0 0 16px #0006}.comparison-divider>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#f2a36d;border:2px solid #fff;color:#101820;font-size:1.4rem}.comparison>label{display:flex;justify-content:space-between;color:#d4e3eb;padding:18px 24px 0;font-size:.92rem}.comparison>input{appearance:auto;accent-color:#f2a36d;background:transparent;border:0;width:calc(100% - 48px);margin:0 24px 12px;padding:0;min-height:40px;cursor:ew-resize}.comparison>input:focus{outline:2px solid #99f2f6;outline-offset:0}
.service-detail-visual{margin:0;position:relative;border:1px solid #ffffff25;border-radius:5px;overflow:hidden;align-self:stretch;min-height:450px}.service-detail-visual img{height:100%;min-height:450px;max-height:620px;width:100%;object-fit:cover}.service-detail-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 24px 20px;background:linear-gradient(transparent,#081218e6);color:#f0f5f7;font-size:.8rem}.service-cta{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.service-call{font-weight:600;font-size:1rem;color:#d7e6ed}.service-call:hover{color:#f6b284}.service-explanation{background:#0a1217}.explanation-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px}.explanation-grid h2{font-size:clamp(2.2rem,3.2vw,3.3rem);margin-bottom:24px}.explanation-grid p{color:#bdcbd3;font-size:1rem}.explanation-grid aside{padding:30px;border:1px solid #33444e;border-top:2px solid #f2a36d;background:#142029;border-radius:4px;align-self:start}.explanation-grid aside h3{font-size:1.4rem;margin-bottom:18px}.service-checks{list-style:none;padding:0;margin:0}.service-checks li{display:flex;align-items:flex-start;gap:12px;font-size:1rem;line-height:1.6;padding:14px 0;border-top:1px solid #ffffff15}.service-checks li>span{color:#91e1e9}.service-process{background:#101a21}.service-faq{background:#080d11}.service-page .local-service{background:#101b23}.local-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:80px}.local-grid h2{font-size:clamp(2.2rem,3.3vw,3.4rem);margin-bottom:25px}.local-grid p{color:#bdcbd3;font-size:1rem;line-height:1.8;margin-top:15px}.local-grid .text-link{margin-top:22px}.local-list{border:1px solid #38515e;padding:32px;align-self:start;border-radius:4px}.local-list h3{font-size:1.4rem;margin-bottom:20px}.local-list ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;list-style:none;margin:0;padding:0}.local-list li{font-size:.95rem;color:#dce7ec;padding-bottom:10px;border-bottom:1px solid #ffffff18}.local-list a{color:#f2b48a}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.quote-wizard{padding:32px;scroll-margin-top:120px;min-width:0}.quote-wizard .wizard-heading>.eyebrow{font-size:.72rem;margin-bottom:14px}.quote-wizard h3{font-size:1.6rem;line-height:1.25}.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0;list-style:none;margin:27px 0 32px}.wizard-progress li{border-top:2px solid #48616e;padding-top:12px;color:#b5c8d4;font-size:.8rem;line-height:1.5}.wizard-progress li>span{display:inline-grid;place-items:center;background:#263b47;width:22px;height:22px;border-radius:100%;margin-right:6px;color:#dce9f1;font-size:.75rem}.wizard-progress li[aria-current]{border-color:#f2a36d;color:#ffbd8c}.wizard-progress li[aria-current]>span{background:#f2a36d;color:#101820}.wizard-progress li.step-done{border-color:#91e1e9}.wizard-step{padding:0;margin:0;border:0;min-width:0}.wizard-step legend{font-size:1.1rem;font-weight:650;margin-bottom:20px;padding:0}.wizard-step:focus{outline:none}.wizard-step[hidden],.wizard-actions [hidden],#form-result[hidden]{display:none!important}.wizard-step .field label{font-size:.9rem;color:#e1ebf0}.wizard-step input,.wizard-step select,.wizard-step textarea{font-size:1rem;min-height:49px;background:#0b141b;color:#f4f8fa;border-color:#526d7e}.wizard-step input::placeholder,.wizard-step textarea::placeholder{color:#9bb0be}.wizard-step input:focus,.wizard-step select:focus,.wizard-step textarea:focus{outline:2px solid #91e1e9;outline-offset:2px}.project-advice{border-left:2px solid #91e1e9;padding:15px 18px;margin-top:22px;background:#152b35;color:#d0e6f0;font-size:.9rem;line-height:1.7}.urgent-advice{border-color:#f2a36d;background:#3b281e;color:#ffe2c9}.field-hint{font-size:.87rem;line-height:1.6;color:#b9cbd6}.wizard-actions{display:flex;gap:12px;justify-content:space-between;margin-top:26px}.wizard-actions>.button{justify-content:center;min-width:120px;font-size:.9rem}.wizard-next,.wizard-submit{margin-left:auto}.wizard-progress+fieldset{margin-top:20px}.quote-wizard .form-help{font-size:.8rem;color:#b2c5d0;margin-top:20px}.quote-summary{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.3fr);gap:0;margin:0 0 22px}.quote-summary dt,.quote-summary dd{border-bottom:1px solid #334954;padding:12px 0;font-size:.9rem;line-height:1.55;overflow-wrap:anywhere}.quote-summary dt{color:#a9c1d1;padding-right:12px}.quote-summary dd{margin:0;color:#f0f6f9;white-space:pre-wrap}.quote-wizard .form-result{padding:24px;border:1px solid #486370;background:#152832;scroll-margin-top:125px}.form-result h4{font-size:1.3rem;margin:0 0 12px}.quote-wizard .form-result p{font-size:.92rem;line-height:1.7;color:#d3e1e9}.form-result label{font-size:.9rem;margin-top:20px}.form-result #send-request{width:100%;margin:4px 0 8px;justify-content:center}.form-result textarea{font-size:.9rem;color:#edf4f8;background:#0b141b;border-color:#526d7e}.service-page .contact{border-top:1px solid #263c48}.service-page .other-expertises h2{font-size:clamp(2.1rem,3vw,3rem)}
@media(max-width:1000px){.explanation-grid,.local-grid{gap:36px}.quote-wizard{padding:25px}.wizard-progress li{font-size:.75rem}.wizard-progress li>span{display:block;margin-bottom:6px}.service-detail-visual{min-height:380px}.service-detail-visual img{min-height:380px}.comparison-images{aspect-ratio:1.65}}
@media(max-width:900px){.explanation-grid,.local-grid{grid-template-columns:1fr;gap:30px}.service-detail-visual{min-height:0}.service-detail-visual img{height:380px;min-height:0}.local-list{max-width:none}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid>div>p:not(.eyebrow){max-width:640px}.quote-wizard{max-width:720px;width:100%}.comparison-images{aspect-ratio:1.4}}
@media(max-width:600px){.quote-wizard{padding:24px 18px;scroll-margin-top:128px}.quote-wizard h3{font-size:1.5rem}.wizard-progress{gap:9px;margin:22px 0 27px}.wizard-progress li{font-size:.76rem}.wizard-step legend{font-size:1rem}.wizard-actions>.button{min-width:0;padding:13px 17px;font-size:.85rem}.wizard-next,.wizard-submit{flex:1}.quote-summary{grid-template-columns:1fr}.quote-summary dt{padding-bottom:2px;border-bottom:0;font-size:.8rem}.quote-summary dd{padding-top:2px}.quote-wizard .form-result{padding:19px 15px}.form-result #send-request{padding-inline:14px;font-size:.85rem}.form-result textarea{font-size:.82rem}.comparison-images{aspect-ratio:1.15}.compare-label{top:14px;font-size:.69rem;padding:6px 9px}.compare-before{left:13px}.compare-after{right:13px}.comparison>label{padding-inline:15px;font-size:.82rem}.comparison>input{width:calc(100% - 30px);margin-inline:15px}.comparison-note,.service-illustration-note{font-size:.8rem}.explanation-grid aside,.local-list{padding:25px}.local-list ul{grid-template-columns:1fr 1fr;gap:9px 14px}.local-list li{font-size:.86rem}.service-detail-visual img{height:340px}.service-cta{gap:18px}.service-call{font-size:.94rem}.service-detail-visual figcaption{font-size:.74rem}.service-action .action-state{font-size:.71rem}.service-action .media-caption{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.action-after{animation:none!important;clip-path:none;opacity:1;transform:none}.action-state>span{animation:none!important}.action-state>span:first-child{opacity:0}.action-state>span+span{opacity:1}}
