:root{--ink:#080d17;--panel:#111e33;--panel-raised:#17263e;--line:#31425c;--muted:#b8c6db;--white:#f8fbff;--orange:#ff8514;--blue:#194dff;--body:Manrope,Arial,sans-serif;--header:140px;color-scheme:dark;font-family:var(--body);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:145px}body{margin:0;background:var(--ink);color:var(--white);font-size:16px;line-height:1.7;overflow-x:clip}body.menu-open{overflow:hidden}main,section,article,aside,form,figure,fieldset,div{min-inline-size:0}img,video,svg{max-width:100%}img,video{display:block}img{height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,textarea,input{color:inherit}button{border:0}button:disabled{cursor:default}svg{flex-shrink:0}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-family:var(--body);font-weight:700;letter-spacing:-.035em;line-height:1.15;overflow-wrap:break-word}h1{font-size:clamp(2.75rem,5.1vw,5rem)}h2{font-size:clamp(2.25rem,3.8vw,3.65rem)}h3{font-size:1.65rem;line-height:1.25;letter-spacing:-.025em}h1 span,h2 span{color:var(--orange)}p{color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:3px solid #94c1ff;outline-offset:5px}.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:.8125rem;line-height:1.6;letter-spacing:.13em;font-weight:700;color:var(--orange);margin-bottom:22px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:48px}.section-heading>p{max-width:350px;flex-shrink:0}.section-heading>div{min-width:0}.primary{background:var(--orange);color:#11151d}.primary:hover{background:#ffa140}.blue{background:var(--blue);color:white}.dark{background:var(--ink);color:white}.outline{background:transparent;border-color:#7d8da5;color:white}.outline:hover{background:#ffffff10}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.text-link,.text-button{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:.9375rem;line-height:1.6}.text-link svg{transition:transform .2s}.text-link:hover svg{transform:translateX(4px)}.text-button{padding:0;background:none;text-decoration:underline;text-underline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.skip{position:fixed;z-index:100;top:12px;left:16px;transform:translateY(-150%);background:white;color:black;padding:12px}.skip:focus{transform:none}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;color:var(--orange);line-height:1.1}.brand-type i{font-style:normal;color:#5489ff}.brand-symbol{background:#000;border-radius:8px}.desktop-nav{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:.875rem;font-weight:700;line-height:1.45}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--orange)}.header-call{display:flex;gap:9px;align-items:center;white-space:nowrap;font-size:.875rem;font-weight:700}.header-call svg{color:var(--orange)}.motion-toggle,.menu-toggle{display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid #ffffff2b;border-radius:8px;width:40px;height:44px;flex:0 0 auto;padding:8px}.menu-toggle{display:none}.mobile-menu{position:absolute;top:calc(100% + 9px);left:0;right:0;padding:15px 24px;background:#0b1322;border:1px solid var(--line);border-radius:12px;max-height:calc(100svh - 150px);overflow-y:auto;overscroll-behavior:contain}.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid #ffffff12;font-size:.9375rem;line-height:1.45}.mobile-menu a:last-child{color:var(--orange);border-bottom:0}.energy-headline .text-link{color:white}.hero-trust{display:inline-flex;gap:10px;align-items:center;font-size:.8125rem;color:#dce9fd;margin-top:25px;line-height:1.5}.hero-trust svg{color:#7ea7ff;width:19px}.video-control{display:flex;align-items:center;gap:10px;color:white;background:#111b2bc9;border:1px solid #ffffff4d;border-radius:30px;padding:10px 14px;font-size:.8125rem;letter-spacing:0;flex-shrink:0}.video-control svg{width:15px;height:15px}.energy-scope{background:var(--blue);padding:20px 24px;text-align:center;font-weight:700;font-size:.875rem;line-height:2;letter-spacing:.035em}.energy-scope b{color:#ffb251;padding-inline:15px}
/* Consistent illustrated cards, without arbitrary numbering or cramped titles. */
.service-grid,.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.service-card,.detail-card,.credential-card,.brand-card,.review-card,.gallery-item{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);min-width:0}.service-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.service-copy p{margin-bottom:25px}.service-label{margin-top:auto;font-size:.875rem;color:#ffae62;font-weight:700}.cool .service-label{color:#90b4ff}.photo-note{position:absolute;left:12px;bottom:12px;background:#081020db;color:#e8efff;font-size:.75rem;line-height:1.4;padding:7px 10px;border-radius:4px;max-width:calc(100% - 24px)}img.product-image{object-fit:contain!important;background:#edf0f4;padding:18px}.service-photo .photo-note{bottom:20px;max-width:calc(100% - 94px)}
.credentials{background:#0d1626}.credential-card{padding:34px;position:relative;border-top:3px solid #4779ff}.credential-card.bois{border-top-color:var(--orange)}.credential-top{display:flex;gap:20px;justify-content:space-between;align-items:center;min-height:105px;margin-bottom:24px}.qualification-logo{width:180px;height:auto;object-fit:contain;background:#fff;border-radius:7px;padding:9px}.credential-domain{font-size:.75rem;line-height:1.6;font-weight:700;letter-spacing:.08em;max-width:135px;text-align:right;color:#b9cce9}.qualification-wordmark{font-size:2rem;font-weight:700;letter-spacing:-.05em;color:#f1f5fc;white-space:nowrap}.qualification-wordmark span{color:var(--orange)}.qualification-wordmark small{display:block;font-size:.75rem;letter-spacing:.04em;line-height:1.6;margin-top:8px}.credential-card h3{font-size:1.5rem;margin-bottom:18px}.credential-card p{margin-bottom:20px}.credential-card .cert-date{font-size:.8125rem;color:#ced9e9;line-height:1.8}.credential-card .text-link{font-size:.875rem}
.reviews-section{background:var(--blue)}.reviews-section .eyebrow,.reviews-section h2{color:white}.reviews-section h2 span{color:#ffbc75}.review-rating{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;max-width:275px;text-align:right}.review-rating>strong{font-size:4.2rem;line-height:1.1;letter-spacing:-.06em}.review-rating>strong span{font-size:1.5rem;color:#c7d7ff;letter-spacing:0}.review-rating>span{font-size:.875rem;color:white;margin-top:10px}.review-rating small{font-size:.75rem;color:#d3dfff}.carousel{min-width:0}.carousel-track{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;padding:3px 1px 10px}.carousel-track::-webkit-scrollbar{display:none}.carousel-track:focus-visible{outline-offset:3px}.review-card{flex:0 0 calc((100% - 24px)/2);scroll-snap-align:start;border-color:#ffffff40;background:#101b32}.review-card figcaption{display:flex;flex-direction:column;padding:34px;min-height:370px;height:100%}.review-topic{font-size:.8125rem;color:#aac6ff;font-weight:700}.quote-mark{color:var(--orange);font-size:5rem;line-height:.9;margin-top:23px;height:58px;font-family:Georgia,serif}.review-card blockquote{font-size:1.75rem;font-weight:700;letter-spacing:-.025em;line-height:1.35;flex:1;margin-bottom:32px}.review-author{display:flex;align-items:center;gap:13px}.review-initial{width:42px;height:42px;background:#244584;border-radius:50%;display:grid;place-items:center;font-weight:700}.review-author strong{font-size:.9375rem}.review-author small{display:block;font-size:.75rem;color:var(--muted)}.review-author a{margin-left:auto;padding:10px}.carousel-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;font-size:.875rem}.carousel-controls{display:flex;gap:10px;flex-shrink:0}.carousel-controls button{width:46px;height:46px;border:1px solid #ffffff60;border-radius:50%;background:#ffffff0a;color:white;display:grid;place-items:center}.carousel-controls button:hover{background:#ffffff20}.carousel-controls [data-prev] svg{transform:rotate(180deg)}.carousel-controls [data-pause] svg{width:16px;height:16px}
.partners-section{background:#0d1626}.brand-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;display:flex;flex-direction:column;transition:border-color .2s}.brand-card:hover{border-color:var(--orange)}.partner-image{height:155px;background:#fff;display:grid;place-items:center;padding:28px}.partner-logo{width:100%;height:95px;object-fit:contain}.partner-copy{padding:28px;display:flex;flex-direction:column;flex:1}.partner-copy>span:first-child{font-size:.75rem;color:#91b4ff;letter-spacing:.12em;font-weight:700;margin-bottom:16px}.partner-copy h3{font-size:1.4rem;margin-bottom:13px}.partner-copy p{font-size:.9375rem;margin-bottom:25px}.partner-copy .text-link{margin-top:auto;font-size:.875rem}
.offer-section{background:var(--orange);color:var(--ink);padding-block:85px}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.offer-image{height:610px;position:relative;border-radius:16px;overflow:hidden;background:#191c22}.offer-image img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;inset:auto 0 0;padding:35px 25px 24px;background:linear-gradient(transparent,#080d17da);color:white;font-size:.75rem;letter-spacing:.1em;font-weight:700}.offer-copy .eyebrow{color:#422711}.offer-copy h2{font-size:clamp(2.3rem,3.6vw,3.7rem);margin-bottom:25px}.offer-copy h2 span{color:white}.offer-copy p{color:#342311}.offer-copy .price{font-size:.9375rem;margin-top:24px}.offer-copy .price small{display:block;font-size:.8125rem;margin-top:6px}.offer-benefits{display:flex;flex-wrap:wrap;gap:22px;font-weight:700;font-size:.9375rem;margin:25px 0 30px}.offer-benefits span{display:flex;align-items:center;gap:8px}.care-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding:48px;border-radius:16px;background:linear-gradient(110deg,#194dff,#132f6d);border:1px solid #4e7fff}.care-title>svg{width:37px;height:37px;color:#ffb46e;margin-bottom:22px}.care-title h3{font-size:2rem}.care-panel p{color:#e1eaff;margin-bottom:27px}.care-panel .blue{background:#fff;color:#0b2d7a}.realisations-home{background:#0d1626}.gallery-teaser{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gallery-teaser a{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;height:430px}.gallery-teaser img{width:100%;height:100%;object-fit:cover}.gallery-teaser span{position:absolute;inset:auto 0 0;padding:60px 28px 27px;background:linear-gradient(transparent,#080d17);font-size:1.0625rem;font-weight:700}.answers{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.answers>div>p:not(.eyebrow){margin-top:25px}.answers .button{margin-top:25px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0;font-weight:700;cursor:pointer;font-size:1rem;line-height:1.6}.faq summary::-webkit-details-marker{display:none}.faq summary>span{color:var(--orange);flex-shrink:0}.faq details[open] summary>span{transform:rotate(45deg)}.faq-answer{color:var(--muted);padding:0 32px 25px 0;line-height:1.8}.closing{background:var(--blue)}.closing-inner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;padding-block:80px}.closing .eyebrow{color:#d6e3ff}.closing h2 span{color:#ffbb72}.closing p{color:#e0e9ff;margin-bottom:24px}
/* Detail pages share the same layout, proportions and text hierarchy. */
.detail-hero{padding:194px 0 75px;background:linear-gradient(120deg,#0b1524,#142843)}.detail-hero.cool{background:linear-gradient(115deg,#0b1936,#113cc2)}.detail-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:65px;align-items:center}.breadcrumb{display:inline-block;font-size:.8125rem;color:#c5d2e8;margin-bottom:30px}.detail-grid h1{font-size:clamp(2.75rem,4.2vw,4.2rem)}.detail-intro{font-size:1.0625rem;line-height:1.8;margin:25px 0 30px;color:#d4dfef}.detail-grid figure{overflow:hidden;border-radius:16px;border:1px solid #6887b15e;background:#091322;display:flex;flex-direction:column}.detail-grid figure>img{height:500px;object-fit:cover;width:100%}.detail-grid figcaption{font-size:.75rem;color:#d3e2f6;padding:13px 18px}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.detail-card{display:flex;flex-direction:column}.detail-card-image{height:260px;position:relative;overflow:hidden;background:#e2e7ec}.detail-card-image img{width:100%;height:100%;object-fit:cover}.detail-card-copy{padding:27px}.detail-card-copy h3{font-size:1.5rem;margin-bottom:18px}.detail-card-copy p{font-size:1rem;line-height:1.8}.page-intro{padding-top:194px;padding-bottom:58px}.page-intro h1{max-width:1000px}.page-intro>p:not(.eyebrow){margin-top:25px;font-size:1.0625rem}.page-intro .button{margin-top:30px}.gallery-section{padding-bottom:100px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.gallery-item{padding:0;text-align:left;display:flex;flex-direction:column;color:white}.gallery-image{display:block;height:350px;position:relative;background:#1b2940}.gallery-image>img{height:100%;width:100%;object-fit:cover}.zoom-label{position:absolute;right:14px;bottom:14px;padding:8px 11px;background:#0a1424df;border:1px solid #ffffff66;display:flex;align-items:center;gap:8px;border-radius:6px;font-size:.75rem}.zoom-label svg{width:16px}.gallery-caption{display:block;padding:24px}.gallery-caption small{display:block;color:var(--orange);font-size:.75rem;margin-bottom:10px}.gallery-caption strong{font-size:1rem;line-height:1.5;display:block}.lightbox{background:#0a1321;border:1px solid #738db3;border-radius:12px;padding:18px;max-width:95vw;width:900px;color:#fff}.lightbox::backdrop{background:#000d}.lightbox img{max-height:78svh;width:100%;object-fit:contain}.lightbox p{font-size:.875rem;margin-top:12px;padding-right:40px}.lightbox-close{position:absolute;right:24px;top:24px;background:#0a1424df;color:white;border-radius:50%;padding:12px;display:flex}
/* Stable intrinsic sizes prevent Safari form and fieldset overflow. */
.contact-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:65px;align-items:start;padding-bottom:100px}.contact-layout>*{min-width:0;max-width:100%}.contact-aside{padding-top:22px}.big-phone{display:block;font-size:clamp(1.5rem,2.5vw,2.4rem);font-weight:700;letter-spacing:-.04em;margin-bottom:22px;white-space:nowrap}.contact-aside>p{margin-bottom:26px}.contact-email{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;color:#d8e5f8}.contact-email span{min-width:0;overflow-wrap:anywhere}.address-block{display:grid;grid-template-columns:23px minmax(0,1fr);gap:14px;margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}.address-block>svg{color:var(--orange);margin-top:4px}.address-block>a{grid-column:2;font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.offer-aside{border:1px solid #9a5c2f;border-left:4px solid var(--orange);background:#ff851410;border-radius:10px;margin-top:38px;padding:27px}.offer-aside>span{font-size:.75rem;font-weight:700;letter-spacing:.08em;color:var(--orange)}.offer-aside h2{font-size:1.7rem;line-height:1.3;margin:18px 0}.offer-aside h2 b{color:var(--orange)}.offer-aside p{font-size:.9375rem}.contact-form-card{width:100%;min-width:0;border:1px solid var(--line);border-top:4px solid var(--blue);padding:36px;background:var(--panel);border-radius:16px}.contact-form-card form,.contact-form-card section{width:100%;max-width:100%;min-width:0}.contact-form-card fieldset{border:0;padding:0;margin:0 0 28px;min-inline-size:0;max-inline-size:100%;inline-size:100%}.contact-form-card legend{padding:0;margin:0 0 20px;font-size:1.25rem;font-weight:700;max-width:100%;line-height:1.4}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.choice{position:relative;display:block;min-width:0;max-width:100%;cursor:pointer}.choice input{position:absolute;top:12px;right:12px;left:auto;margin:0;width:18px;height:18px;z-index:2;accent-color:var(--orange);cursor:pointer}.choice>span{display:flex;flex-direction:column;align-items:stretch;gap:12px;height:100%;min-width:0;overflow:hidden;padding:10px 10px 13px;border:1px solid #51617a;border-radius:9px;background:#0b1424;font-size:.875rem;font-weight:700;line-height:1.6;overflow-wrap:anywhere;transition:background .2s,border-color .2s}.choice img{display:block;width:100%;max-width:100%;min-width:0;height:95px;object-fit:cover;border-radius:5px}.choice img.product-image{padding:8px}.choice input:checked+span{border-color:var(--orange);background:#352317;box-shadow:inset 0 0 0 1px var(--orange)}.choice input:focus-visible+span{outline:3px solid #8fbeff;outline-offset:3px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin-bottom:24px}.field-grid label,.message-label{font-size:.875rem;font-weight:700;display:block;min-width:0}.field-grid label>span:not(.optional){color:var(--orange)}.optional{color:var(--muted);font-size:.75rem;font-weight:400}.field-grid input,textarea{display:block;width:100%;min-width:0;max-width:100%;margin-top:9px;background:#0a1424;border:1px solid #586880;border-radius:7px;padding:14px 13px;font-size:16px;line-height:1.5;outline-offset:2px;font-weight:400;transition:border-color .2s}.field-grid input{min-height:54px}textarea{resize:vertical;min-height:130px}input::placeholder,textarea::placeholder{color:#95a4ba;opacity:1}.form-explanation,.summary-explain{font-size:.875rem;line-height:1.8;margin:22px 0}.form-privacy{font-size:.75rem;line-height:1.8;margin-top:22px}.form-privacy a{text-decoration:underline;text-underline-offset:4px}.inline-note{margin:0 0 25px;padding:15px;background:#ff851418;border:1px solid #bb6a35;border-radius:8px;font-size:.875rem;color:#ffca98}.contact-form-card .button{width:100%;justify-content:space-between}.contact-form-card h2{font-size:2rem;line-height:1.2}.contact-form-card dl{margin:28px 0}.contact-form-card dt{color:#9cb6df;font-size:.8125rem;font-weight:700;margin-top:22px}.contact-form-card dd{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem}.summary-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:23px}.summary-actions button{font-size:.875rem}#copy-status{font-size:.875rem;margin-top:18px}#request-summary,#project-form{scroll-margin-top:145px}
.legal{max-width:1000px;padding-bottom:90px}.legal h2{font-size:1.5rem;line-height:1.4;padding:20px 0 20px 22px;border-left:4px solid var(--blue);margin:42px 0 23px;background:linear-gradient(90deg,#1b2d49,transparent)}.legal p{line-height:1.9;margin-bottom:20px;overflow-wrap:anywhere}.legal a{text-decoration:underline;text-underline-offset:4px;color:#d5e5ff}footer{background:#03080f}.footer-top{display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:50px;padding-block:60px}.footer-top p{font-size:.875rem;line-height:1.9;margin-top:23px}.footer-top h2{font-size:.9375rem;line-height:1.5;letter-spacing:0;margin-bottom:21px}.footer-phone{display:block;font-size:1.4rem;font-weight:700;color:var(--orange);margin-bottom:14px}.break{display:block;overflow-wrap:anywhere;font-size:.8125rem}.footer-top .text-link{font-size:.8125rem;margin-top:16px}.footer-top .brand-type{font-size:23px}.footer-top .brand-symbol,.footer-top .brand-art{width:48px;height:73px}.footer-bottom{border-top:1px solid var(--line);padding-block:23px;display:flex;justify-content:space-between;gap:20px;color:#afbed3;font-size:.75rem}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:24px}.mobile-dock{display:none}
.reveal-ready{transition:opacity .65s ease,transform .65s ease}.reveal-waiting{opacity:.25;transform:translateY(18px)}.page-motion-paused .reveal-waiting{opacity:1;transform:none}
@media(min-width:1600px){}
@media(max-width:1300px){.desktop-nav{display:none}.header-call{margin-left:auto}.menu-toggle{display:flex}.detail-grid{gap:40px}.offer-grid{gap:45px}.contact-layout{gap:40px}.footer-top{gap:30px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.section{padding-block:75px}.section-heading{gap:25px}.section-heading>p{max-width:270px}.brand-card{flex-basis:calc((100% - 24px)/2)}.detail-grid{grid-template-columns:1fr;gap:40px}.detail-grid>div{max-width:740px}.detail-grid figure{max-width:740px;width:100%}.detail-grid figure>img{height:450px;object-position:center}.steps-grid{grid-template-columns:1fr}.detail-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.detail-card-image{height:100%;min-height:250px}.detail-card-copy{padding:35px}.answers{gap:40px;grid-template-columns:1fr 1.2fr}.contact-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:25px}.contact-form-card{padding:24px}.field-grid{grid-template-columns:1fr}.offer-image{height:580px}.care-panel{gap:30px;padding:35px}.closing-inner{gap:40px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-top .brand-type{font-size:27px}}
@media(max-width:700px){:root{--header:116px}.wrap{width:calc(100% - 36px)}.brand{gap:9px}.header-call{display:none}.motion-toggle{margin-left:auto;width:32px;height:39px;padding:8px}.motion-toggle svg{width:14px}.menu-toggle{width:36px;height:39px}.mobile-menu{max-height:calc(100svh - 130px);padding:12px 20px}.mobile-menu a{padding:12px 0}.section{padding-block:62px}h1{font-size:2.8rem;letter-spacing:-.04em;line-height:1.12}h2{font-size:2.15rem;line-height:1.16;letter-spacing:-.035em}h3{font-size:1.5rem}.eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:18px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:100%;margin-top:23px}.section-heading>.button{margin-top:24px}.actions{gap:20px}.hero-trust{font-size:.75rem;max-width:300px;align-items:flex-start;margin-top:27px}.video-control{font-size:.75rem;padding:9px 11px}.energy-scope{font-size:.75rem;padding:17px 15px;line-height:2.1}.energy-scope b{padding-inline:8px}.service-grid,.credential-grid{grid-template-columns:1fr;gap:23px}.service-copy p{font-size:1rem;line-height:1.8}.credential-card{padding:26px 23px}.credential-top{min-height:85px;gap:12px;margin-bottom:23px}.credential-domain{font-size:.6875rem;max-width:105px}.qualification-logo{width:155px;max-width:55%;padding:8px}.qualification-wordmark{font-size:1.85rem}.qualification-wordmark small{font-size:.625rem}.credential-card h3{font-size:1.4rem}.review-rating{align-items:flex-start;text-align:left;margin-top:25px;max-width:100%}.review-rating>strong{font-size:3.5rem}.review-rating>span{margin-top:5px}.review-rating small{margin-top:3px}.carousel-track{gap:16px}.review-card{flex-basis:calc(100% - 20px)}.review-card figcaption{padding:26px;min-height:370px}.review-card blockquote{font-size:1.6rem;line-height:1.4}.review-topic{font-size:.75rem}.carousel-footer{flex-wrap:wrap;align-items:center;gap:17px}.carousel-controls{margin-left:auto;gap:8px}.carousel-controls button{width:43px;height:43px}.carousel-footer>.text-link{font-size:.8125rem}.brand-card{flex-basis:calc(100% - 28px)}.partner-image{height:155px}.partner-copy{padding:26px}.offer-section{padding-block:60px}.offer-grid{grid-template-columns:1fr;gap:40px}.offer-image{height:420px;max-width:100%}.offer-copy h2{font-size:2.35rem;line-height:1.13}.offer-copy p{font-size:1rem}.offer-benefits{gap:14px;font-size:.875rem}.care-panel{grid-template-columns:1fr;gap:27px;padding:28px 24px}.care-title>svg{margin-bottom:18px}.care-title h3{font-size:1.75rem}.care-panel .actions{gap:15px;align-items:stretch;flex-direction:column}.gallery-teaser{grid-template-columns:1fr;gap:23px}.gallery-teaser a{height:350px}.gallery-teaser span{padding:60px 24px 23px}.answers{grid-template-columns:1fr;gap:30px}.faq summary{font-size:1rem;gap:20px}.faq-answer{padding-right:8px;font-size:1rem}.closing-inner{grid-template-columns:1fr;gap:28px;padding-block:60px}.closing h2{font-size:2.35rem}.detail-hero{padding-top:147px;padding-bottom:48px}.detail-grid{gap:32px}.detail-grid h1{font-size:clamp(2.35rem,9vw,3.6rem);line-height:1.15}.breadcrumb{margin-bottom:23px}.detail-intro{font-size:1rem;margin:24px 0 28px}.detail-grid .actions{align-items:flex-start;flex-direction:column;gap:23px}.detail-grid figure>img{height:365px;object-fit:contain;background:#0b1424}.detail-grid figure>img[src*="mitsubishi"]{object-fit:cover;object-position:70% center}.steps-grid{gap:24px}.detail-card{display:flex}.detail-card-image{height:235px;min-height:0}.detail-card-copy{padding:27px 24px 30px}.detail-card-copy h3{font-size:1.5rem;line-height:1.3;letter-spacing:-.02em}.detail-card-copy p{font-size:1rem}.page-intro{padding-top:148px;padding-bottom:40px}.page-intro h1{font-size:clamp(2.15rem,9.2vw,3.7rem);line-height:1.15}.page-intro>p:not(.eyebrow){font-size:1rem;line-height:1.8}.gallery-grid{grid-template-columns:1fr;gap:24px}.gallery-image{height:390px}.gallery-image>img{object-fit:contain;background:#111e33}.gallery-caption{padding:23px}.gallery-section{padding-bottom:65px}.contact-layout{display:flex;flex-direction:column;gap:42px;padding-bottom:65px}.contact-form-card{order:-1;padding:25px 18px;border-radius:14px;flex-shrink:0}.contact-aside{width:100%;padding-top:0}.contact-form-card legend{font-size:1.15rem;margin-bottom:18px}.choice-grid{gap:10px}.choice>span{padding:8px 8px 12px;gap:11px;font-size:.8125rem;line-height:1.6}.choice img{height:90px}.choice input{top:13px;right:13px}.choice-grid .choice{align-self:stretch}.field-grid{gap:21px}.contact-form-card fieldset{margin-bottom:25px}.form-privacy{font-size:.75rem}.contact-form-card h2{font-size:2rem}.big-phone{font-size:2rem;letter-spacing:-.03em}.offer-aside{margin-top:28px}.legal{padding-bottom:60px}.legal h2{font-size:1.3rem;margin-top:30px;padding:15px 0 15px 17px}.legal p{font-size:1rem}.footer-top{grid-template-columns:1fr;padding-block:48px;gap:32px}.footer-top>div:first-child{grid-column:auto}.footer-top .brand-type{font-size:23px}.footer-top .brand-type small{font-size:7px}.footer-top .brand-symbol,.footer-top .brand-art{width:47px;height:73px}.footer-top p{margin-top:17px}.footer-bottom{display:block;padding-bottom:calc(105px + env(safe-area-inset-bottom))}.footer-bottom>div{gap:20px;margin-top:14px}.mobile-dock{position:fixed;z-index:45;bottom:0;left:0;right:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.65fr);border-top:1px solid #4a6080;background:#0a1322;padding-bottom:env(safe-area-inset-bottom)}.mobile-dock a{display:flex;align-items:center;justify-content:center;gap:11px;min-height:65px;padding:13px 10px;font-size:.8125rem;line-height:1.5;font-weight:700;min-width:0}.mobile-dock a:first-child svg{color:var(--orange);width:21px}.mobile-dock a:last-child{background:var(--orange);color:#0c111b}.mobile-dock a:last-child svg{width:19px}.reveal-waiting{transform:translateY(12px)}}
@media(max-width:370px){.brand{gap:6px}.motion-toggle{width:28px}.menu-toggle{width:31px}.wrap{width:calc(100% - 28px)}.contact-form-card{padding:23px 14px}.choice-grid{gap:8px}.choice>span{font-size:.75rem}.credential-top{flex-wrap:wrap}.credential-domain{max-width:none;text-align:left}.mobile-dock a{font-size:.75rem;gap:7px}.review-card figcaption{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-waiting{opacity:1;transform:none}.logo-fire,.logo-cold{filter:none;transform:none}}
@media print{.site-header,.mobile-dock,.hero-film,.motion-toggle,.video-control,.carousel-controls,.skip{display:none}body{background:#fff;color:#000}.energy-hero,.page-intro,.detail-hero{padding-top:20px;min-height:0}.wrap{width:100%}p{color:#333}.section{padding-block:25px}.carousel-track{display:block;overflow:visible}.review-card,.brand-card{margin-bottom:20px;break-inside:avoid}.footer-bottom{padding-bottom:20px}}

/* Anthony Morel: an upward warm curve, a blue return, one continuous house. */
:root{--turn:50px 8px 50px 8px;--turn-small:24px 6px 24px 6px;--accent:var(--orange);--return:#4388ff}
.site-header{position:fixed;z-index:50;top:14px;left:24px;right:24px;display:flex;align-items:center;gap:22px;min-height:129px;padding:5px 24px;background:#020407f0;border:1px solid #ffffff24;border-radius:8px 8px 34px 8px;box-shadow:0 12px 38px #0003;backdrop-filter:blur(20px)}
.site-header:after{content:'';position:absolute;left:28px;bottom:-1px;width:calc(100% - 56px);height:2px;background:linear-gradient(90deg,var(--orange) 0 24%,transparent 24% 76%,var(--blue) 76%)}
.brand-symbol,.brand-art{width:78px;height:118px;display:block;overflow:visible}.brand-type{font-family:'Arial Black',Arial,sans-serif;font-weight:900;font-size:36px;letter-spacing:-.055em;white-space:nowrap}.brand-type small{display:block;color:#eff5ff;font-family:var(--body);font-weight:700;font-size:9px;letter-spacing:.045em;margin-top:10px}.brand-type i{color:#6c9bff}
.logo-fire{transform-origin:105px 226px;animation:morel-flame 2.35s ease-in-out infinite;filter:drop-shadow(0 0 5px #ff7900a0)}.logo-cold{transform-origin:128px 151px;animation:morel-cold 16s linear infinite;filter:drop-shadow(0 0 5px #478effa0)}
@keyframes morel-flame{0%,100%{transform:translateY(0) skewX(-2deg) scale(1,1)}20%{transform:translate(-2px,-5px) skewX(4deg) scale(.96,1.085)}45%{transform:translate(2px,-1px) skewX(-4deg) scale(1.04,.985)}72%{transform:translate(0,-6px) skewX(2deg) scale(.97,1.095)}}
@keyframes morel-cold{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.energy-hero{position:relative;isolation:isolate;min-height:850px;min-height:max(780px,100svh);padding:235px 0 38px;display:flex;flex-direction:column;justify-content:space-between;background:#050d18;overflow:hidden}
.hero-film{position:absolute;inset:0;overflow:hidden;z-index:-3;background:url('/assets/maison-vivante.webp') center/cover}.hero-film video{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.94}.energy-hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#031025ed 0%,#061427aa 45%,#04101e26 80%),linear-gradient(0deg,#080d17b0,transparent 45%)}
.hero-signature{position:absolute;right:7%;top:24%;width:290px;height:435px;mix-blend-mode:screen;opacity:.78;z-index:-1;pointer-events:none}.hero-signature .brand-symbol,.hero-signature .brand-art{width:100%;height:100%;background:transparent}.hero-signature .logo-fire{animation-duration:3.2s}.hero-signature .logo-cold{animation-duration:24s}
.energy-headline{position:relative}.energy-headline h1{font-size:clamp(3.6rem,5.5vw,5.8rem);font-weight:700;line-height:1.12;letter-spacing:-.045em;max-width:1080px}.energy-headline h1 span{display:inline-block;margin-top:5px;color:#ff992d}.energy-lead{font-size:1.125rem;line-height:1.8;color:#edf4ff;margin:28px 0 32px}.energy-headline .actions{gap:28px}.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:70px;padding-top:23px;border-top:1px solid #ffffff40;font-size:.75rem;letter-spacing:.13em;font-weight:700}.hero-foot>span{color:#e8f0fb}.hero-trust{color:#dae8fe}
.comfort-links{background:#070e19;border-bottom:1px solid #334e79}.comfort-links>.wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.comfort-links a{position:relative;display:grid;grid-template-columns:1fr 30px;gap:8px 18px;padding:30px 32px 31px;color:white;border-left:1px solid #27394f;border-radius:0 0 36px 0;transition:background .3s}.comfort-links a:last-child{border-right:1px solid #27394f}.comfort-links a:after{content:'';position:absolute;left:32px;right:32px;bottom:0;height:3px;background:var(--accent);transform:scaleX(.3);transform-origin:left;transition:transform .5s}.comfort-links a:hover:after,.comfort-links a:focus-visible:after{transform:scaleX(1)}.comfort-links a:hover{background:#12203a}.comfort-links a>span{font-weight:700;font-size:1.8rem;letter-spacing:-.04em;line-height:1.15;color:var(--accent)}.comfort-links small{font-size:.8125rem;grid-column:1;line-height:1.5;color:#cad8eb}.comfort-links svg{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent)}.comfort-cool{--accent:#6d9aff}.comfort-water{--accent:#45c5ff}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:60px;padding:9px 10px 9px 23px;border-radius:26px 6px 26px 6px;font-weight:700;font-size:.9375rem;line-height:1.5;border:1px solid transparent;transition:background .2s;max-width:100%;text-align:left}.button:hover{transform:none}.button-turn{display:grid;place-items:center;min-width:40px;width:40px;height:40px;border:1px solid currentColor;border-radius:5px 5px 19px 5px;opacity:.9;flex-shrink:0}.button-turn svg{transition:transform .35s}.button:hover .button-turn svg,.button:focus-visible .button-turn svg{transform:rotate(-35deg) translate(1px,-1px)}.button.outline{border-color:#7d8da5}.button.primary{border-color:var(--orange)}
.service-card{display:flex;flex-direction:column;position:relative;isolation:isolate;border:1px solid #3b4961;border-radius:var(--turn);background:#111b2c;transition:border-color .3s;--accent:var(--orange)}.service-card.cool{--accent:#528bff}.service-card:after{content:'';position:absolute;inset:0;pointer-events:none;border-top:3px solid var(--accent);border-right:3px solid var(--accent);border-radius:inherit;opacity:.55;transition:opacity .3s}.service-card:hover,.service-card:focus-visible{border-color:var(--accent);transform:none}.service-card:hover:after{opacity:1}.service-photo{height:350px;position:relative;background:#dfe4eb;overflow:hidden}.service-card:hover .service-photo>img{transform:scale(1.035)}.service-copy{padding:30px 34px 36px;position:relative;display:flex;flex-direction:column;flex:1}.service-gesture{display:block;font-size:.875rem;letter-spacing:.015em;line-height:1.5;color:var(--accent);font-weight:700;margin-bottom:16px}.service-copy h3{font-size:2rem;line-height:1.2;margin-bottom:20px}.service-label{display:flex;align-items:center;gap:15px}.service-label:before{content:'';display:inline-block;width:26px;height:12px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);border-radius:0 0 0 12px;transition:width .35s}.service-card:hover .service-label:before{width:40px}.card-action{display:grid;place-items:center;position:absolute;bottom:20px;right:20px;width:50px;height:50px;border-radius:22px 5px 22px 5px;background:var(--accent);color:#071325}.card-action svg{transition:transform .35s}.service-card:hover .card-action svg{transform:rotate(-35deg)}
.section-heading>div{position:relative;padding-left:27px}.section-heading>div:before{content:'';position:absolute;left:0;top:4px;bottom:3px;width:10px;border-left:3px solid var(--orange);border-bottom:3px solid var(--blue);border-radius:0 0 0 12px}.section-heading .eyebrow{max-width:100%}.detail-hero{border-bottom:3px solid var(--accent)}.detail-hero.cool{--accent:#4078ff}.detail-grid figure{border-radius:var(--turn);border-top:3px solid var(--accent);border-right:3px solid var(--accent)}.detail-card,.credential-card,.review-card,.brand-card,.gallery-item{border-radius:var(--turn-small)}.detail-card-image{border-bottom:3px solid var(--accent)}.detail-card-copy{position:relative}.detail-card-copy:before{content:'';position:absolute;left:27px;bottom:0;width:36px;height:3px;background:var(--blue)}.credential-card,.review-card,.brand-card{border-bottom:3px solid var(--return)}.credential-card.bois{border-bottom-color:var(--orange)}.review-card figcaption{padding-top:34px}.review-initial{border-radius:18px 4px 18px 4px}.partner-image{border-bottom:3px solid var(--return)}.brand-card.warm{--return:var(--orange)}.offer-image{border-radius:var(--turn);border-left:4px solid #fff}.care-panel{border-radius:var(--turn);border-right:4px solid var(--orange)}.gallery-teaser a{border-radius:var(--turn-small)}.closing{position:relative;isolation:isolate;background:#1145e7;border-top:4px solid var(--orange)}.closing-inner{padding-left:36px;border-left:3px solid #90b5ff}.closing h2{line-height:1.17}.closing h2 span{display:inline-block;margin-top:7px}.page-intro{position:relative}.page-intro .eyebrow{padding-left:21px;border-left:3px solid var(--blue)}.contact-form-card{border-radius:34px 8px 34px 8px;border-top-color:var(--blue);border-left:3px solid var(--accent);transition:border-color .3s}.contact-form-card[data-need='climatisation'],.contact-form-card[data-need='sanitaire']{--accent:#49a7ff}.contact-form-card .choice>span{border-radius:17px 5px 17px 5px}.contact-form-card .choice input:checked+span{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#24324a}.choice input{accent-color:var(--accent)}.project-thread{display:flex;gap:15px;align-items:center;padding:0 0 22px;margin-bottom:26px;border-bottom:1px solid #42516a}.project-thread:before{content:'';width:25px;height:28px;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);border-radius:0 0 0 20px;flex-shrink:0}.project-thread small{display:block;font-size:.75rem;color:#b4c8e5}.project-thread strong{display:block;font-size:1rem;color:#f5f9ff;line-height:1.5}.faq details[open]{padding-left:18px;border-left:3px solid var(--blue);background:#101d31;border-radius:0 6px 25px 6px}.faq details[open] summary{padding-right:18px}.footer-top .brand-symbol,.footer-top .brand-art{width:62px;height:95px}.footer-top .brand-type{font-size:27px}
.page-motion-paused *,.page-motion-paused *:before,.page-motion-paused *:after{animation-play-state:paused!important}
@media(min-width:1600px){.site-header{left:calc((100% - 1480px)/2);right:calc((100% - 1480px)/2)}}
@media(max-width:1300px){.site-header{gap:18px}.hero-signature{right:4%;width:240px;height:360px;opacity:.6}.energy-headline h1{font-size:clamp(3.2rem,6vw,5rem)}.service-photo{height:310px}}
@media(max-width:1000px){.hero-signature{top:auto;bottom:90px;width:185px;height:275px;opacity:.5}.energy-headline h1{max-width:800px}.service-copy{padding:28px}.service-copy h3{font-size:1.8rem}.comfort-links a{padding:26px 20px}.comfort-links a:after{left:20px;right:20px}.comfort-links a>span{font-size:1.6rem}.comfort-links small{font-size:.75rem}}
@media(max-width:700px){.site-header{top:9px;left:9px;right:9px;gap:8px;min-height:109px;padding:5px 10px;border-radius:8px 8px 23px 8px}.site-header:after{left:18px;width:calc(100% - 36px)}.brand-symbol,.brand-art{width:62px;height:96px}.brand-type{font-size:27px;letter-spacing:-.055em}.brand-type small{font-size:7px;letter-spacing:0;margin-top:9px}.brand{gap:8px}.energy-hero{min-height:790px;min-height:max(760px,100svh);padding:167px 0 30px}.energy-headline h1{font-size:clamp(2.4rem,10vw,4.2rem);line-height:1.12;letter-spacing:-.045em}.energy-headline h1 span{margin-top:10px}.energy-lead{font-size:1rem;line-height:1.8;max-width:275px;margin:25px 0 28px}.energy-headline .actions{align-items:flex-start;flex-direction:column;gap:23px}.hero-film video{opacity:1;object-position:58% center}.energy-hero:after{background:linear-gradient(90deg,#041124db,#04102270 70%,#03101e30),linear-gradient(0deg,#080d17b3,transparent 42%)}.hero-signature{width:125px;height:190px;right:6%;bottom:118px;opacity:.58}.hero-foot{margin-top:125px;padding-top:19px;gap:14px;align-items:flex-start}.hero-foot>span{font-size:.6875rem;line-height:1.8;max-width:165px;letter-spacing:.08em}.comfort-links>.wrap{width:100%}.comfort-links a{display:flex;flex-direction:column;gap:8px;padding:24px 14px 27px;border-radius:0 0 25px 0}.comfort-links a>span{font-size:1.3rem;letter-spacing:-.04em}.comfort-links small{font-size:.75rem;line-height:1.5}.comfort-links svg{width:19px;margin-top:auto;padding-top:4px;height:23px}.comfort-links a:after{left:14px;right:14px;transform:scaleX(.75)}.button{font-size:.875rem;min-height:57px;padding:8px 9px 8px 18px;gap:18px;border-radius:23px 5px 23px 5px}.button-turn{width:38px;min-width:38px;height:38px}.service-photo{height:290px}.service-copy{padding:26px 24px 32px}.service-copy h3{font-size:1.7rem;line-height:1.25}.service-gesture{font-size:.8125rem;margin-bottom:13px}.service-card{border-radius:36px 7px 36px 7px}.section-heading>div{padding-left:22px}.section-heading h2{font-size:2.05rem;line-height:1.18}.section-heading>div:before{width:8px}.detail-grid figure{border-radius:36px 7px 36px 7px}.detail-card-image{height:235px}.credential-card,.review-card,.brand-card{border-radius:26px 6px 26px 6px}.closing-inner{padding-left:21px}.closing h2{font-size:2.2rem}.project-thread{margin-bottom:23px;gap:12px}.project-thread strong{font-size:.9375rem}.contact-form-card{border-radius:27px 7px 27px 7px}.footer-top .brand-symbol,.footer-top .brand-art{width:59px;height:90px}.footer-top .brand-type{font-size:26px}.footer-top .brand-type small{font-size:7px}}
@media(max-width:370px){.site-header{padding-inline:8px;gap:5px}.brand{gap:6px}.brand-symbol,.brand-art{width:54px;height:86px}.brand-type{font-size:23px}.brand-type small{font-size:6px}.energy-headline h1{font-size:2.35rem}.hero-signature{right:4%;width:110px;height:170px}.comfort-links a{padding-inline:11px}.comfort-links a>span{font-size:1.15rem}.comfort-links small{font-size:.75rem}.section-heading h2{font-size:1.9rem}.footer-top .brand-type{font-size:23px}}
@media(prefers-reduced-motion:reduce){.logo-fire,.logo-cold{animation:none!important;transform:none;filter:none}.comfort-links a:after{transform:scaleX(1)}}
@media print{.site-header,.hero-signature,.hero-film{display:none}.energy-hero{padding-top:20px;min-height:0}}

.site-header .menu-toggle{margin-left:auto}.footer-motion{width:auto;height:auto;min-height:34px;padding:5px 10px;gap:8px;display:inline-flex;font-size:.75rem;color:#b8c6db;margin:0;border:1px solid #3c4a60;border-radius:6px;background:transparent}.footer-motion svg{width:13px;height:13px}.footer-bottom{align-items:center}@media(max-width:700px){.footer-motion{margin:17px 0 0}}

body[data-energy="cool"]{--accent:#5d95ff;--return:#2d62ff}body[data-energy="water"]{--accent:#45c5ff;--return:#2874ff}.service-card[href="/plomberie-sanitaire/"]{--accent:#45c5ff}.detail-hero.cool h1 span{color:#ffab4d}

.comfort-links small{overflow-wrap:anywhere}.hero-headline,.hero-signature{min-width:0}@media(max-width:380px){.comfort-links a{padding-inline:8px}.comfort-links small{font-size:.75rem}}

.contact-form-card .button{width:100%;justify-content:space-between}
