body.admin-bar .header{top:32px}body.admin-bar{--wp-admin--admin-bar--height:32px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #45683e;outline-offset:5px}main .wp-block-html{margin:0}.ec-fallback{padding:80px 24px;max-width:1000px;margin:auto}.ec-fallback h1{font-size:clamp(32px,5vw,60px)}.ec-fallback a{color:#34502d}@media(max-width:782px){body.admin-bar .header{top:46px}}@media(max-width:600px){body.admin-bar .header{top:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photoBand{background-attachment:scroll!important}}

.ec-legal{max-width:850px}.ec-legal h1{font-size:clamp(36px,6vw,68px);line-height:1.1;margin:18px 0 32px}.ec-legal h2{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:40px 0 14px}.ec-legal p{line-height:1.75;margin:0 0 18px}.ec-legal a,.ec-privacy-link{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.ec-legal h2[id]{scroll-margin-top:130px}

/* Photo galleries: complete photos, native swipe and explicit controls. */
.ec-gallery{--ec-photo-height:380px;width:100%;min-width:0;position:relative;background:#eeeae2;border-radius:12px;overflow:hidden}
.ec-gallery-window{position:relative}
.ec-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;width:100%;border-radius:inherit}
.ec-gallery-track::-webkit-scrollbar{display:none}
.ec-gallery-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;height:var(--ec-photo-height)}
body .ec-gallery .ec-gallery-slide img{display:block;position:static;inset:auto;width:100%;height:100%;min-height:0;max-width:100%;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0;margin:0;background:transparent}
.ec-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;background:#26382eef;color:#fff;cursor:pointer;box-shadow:0 2px 10px #0002;padding:0;z-index:2}
.ec-gallery-arrow span{font:34px/1 Georgia,serif;display:block;margin-top:-3px}
.ec-gallery-prev{left:10px}.ec-gallery-next{right:10px}
.ec-gallery-arrow:hover{background:#45683e}
.ec-gallery-dots{display:flex;justify-content:center;flex-wrap:wrap;padding:6px 10px;gap:0;background:#f4f0e7}
.ec-gallery-dot{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:0;background:transparent;padding:0;cursor:pointer}
.ec-gallery-dot span{width:7px;height:7px;border-radius:20px;background:#7b8575;transition:width .15s}
.ec-gallery-dot[aria-current=true] span{width:20px;background:#26382e}
.ec-gallery [hidden]{display:none!important}
.ec-gallery:focus-within{overflow:visible}.ec-gallery-track:focus-visible{outline:3px solid #45683e;outline-offset:-3px}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.serviceTile>.ec-gallery{--ec-photo-height:270px;width:calc(100% + 48px);margin:0 -24px 26px;border-radius:0}
.storyMain>.ec-gallery{--ec-photo-height:400px}.storyDetail>.ec-gallery{--ec-photo-height:240px}
.storyMain:has(>.ec-gallery),.storyDetail:has(>.ec-gallery){border-radius:14px}
.homeHero .heroPhoto:has(>.ec-gallery){aspect-ratio:auto;min-height:0;border-radius:24px;align-self:center}
.heroPhoto>.ec-gallery{--ec-photo-height:440px}
.serviceIntroPhoto:has(>.ec-gallery){min-height:0;align-self:center;border-radius:14px}
.serviceIntroPhoto>.ec-gallery{--ec-photo-height:460px}
.vmeGrid .ec-gallery{--ec-photo-height:500px}
footer .footerEnergy .ec-gallery{--ec-photo-height:220px}
@media(max-width:1000px){.ec-gallery{--ec-photo-height:320px}.serviceTile>.ec-gallery{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px}}
@media(min-width:601px) and (max-width:800px){.serviceTile>.ec-gallery{grid-column:1;grid-row:1/4;width:180px;margin:0;--ec-photo-height:260px}}
@media(max-width:600px){.ec-gallery{--ec-photo-height:350px}.serviceTile>.ec-gallery{width:calc(100% + 44px);margin:0 -22px 20px;--ec-photo-height:310px}.heroPhoto>.ec-gallery{--ec-photo-height:320px}.storyMain>.ec-gallery{--ec-photo-height:350px}.storyDetail>.ec-gallery{--ec-photo-height:220px}.serviceIntroPhoto>.ec-gallery{--ec-photo-height:350px}.vmeGrid .ec-gallery{--ec-photo-height:400px}.ec-gallery-arrow{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.ec-gallery *{transition:none!important;scroll-behavior:auto!important}}

/* 0.3.1: constrain galleries within the grid instead of using intrinsic image width. */
.equalServices>*,.projectGrid>*,.vmeGrid>*,.heroGrid>*{min-width:0}
.ec-gallery-window,.ec-gallery-track{min-width:0;max-width:100%}
.ec-gallery-slide{overflow:hidden}
.ec-region-intro{display:block;margin-top:16px}
.ec-region-list{list-style:none;padding:0;margin:12px 0 18px;display:flex;flex-direction:column;gap:5px;font-size:clamp(16px,1.3vw,20px);line-height:1.4}
.ec-region-list li{display:flex;gap:12px;align-items:baseline}
.ec-region-list li span{color:#45683e;font-weight:700}
.ec-region-followup{margin-top:0}
footer .footerEnergy.ec-energy-banner{display:block;grid-template-columns:none;width:100%;max-width:none;padding:0;margin:0 0 45px;border-radius:0;background:#26382e}
footer .footerEnergy.ec-energy-banner img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;background:none}
@media(max-width:600px){footer .footerEnergy.ec-energy-banner img{aspect-ratio:1.6/1;object-position:70% center}.ec-region-list{font-size:17px}}

footer:has(.ec-energy-banner){padding-top:0}
/* Large project collections keep their indicator in one scrollable row. */
.projectGrid .ec-gallery-dots{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;max-width:100%;scrollbar-width:thin}
.projectGrid .ec-gallery-dot{flex:0 0 28px}
.ec-google-reviews{min-width:0;width:100%}

/* Keep the homepage photo beside the heading, independent of the region list. */
@media(min-width:801px){
 .homeHero .heroGrid>.heroPhoto{align-self:start;margin-block-start:44px}
}
/* Four services and legible example drawings. */
@media(min-width:801px){.equalServices{grid-template-columns:repeat(2,minmax(0,1fr))}}
.conformityStory .storyPhotos img{object-fit:contain;background:#fff;width:100%;height:auto;aspect-ratio:1191/842}
.conformityStory .storyDetail{width:100%;background:#fff}
.schemaSection .ec-gallery{max-width:1000px;margin-inline:auto}
.schemaSection .ec-gallery-slide{aspect-ratio:1191/842;background:#fff}
.schemaSection .ec-gallery-slide img{object-fit:contain;height:100%;width:100%}
.schemaLinks{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}
.schemaLinks a{text-decoration:underline;text-underline-offset:4px}
.serviceBenefits .benefitCards h2{font-size:1.5rem}
@media(min-width:1001px){.nav{gap:14px}.nav a{font-size:14px}.navwrap{gap:16px}}

@media(min-width:801px){.trust{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Mobile navigation matches the eCharge palette, including iOS button text. */
.header .menu{color:#293b30;-webkit-text-fill-color:#293b30;background:#c8e6c5;border:1px solid #a9c9a4;border-radius:999px;padding:10px 17px;font:inherit;font-weight:600;min-height:44px;appearance:none;-webkit-appearance:none;cursor:pointer}
.header .menu:hover,.header .menu[aria-expanded="true"]{background:#b4d8af;border-color:#76996e}
.header .menu:focus-visible{outline:2px solid #54774b;outline-offset:3px}

/* Reserve the actual mobile contact bar height so footer links stay reachable. */
@media (max-width: 800px) {
 body { padding-bottom: calc(var(--ec-contact-bar-height, calc(90px + env(safe-area-inset-bottom, 0px))) + 20px); }
 .mobileCta {
  background: #fffdf8;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
 }
}

/* 0.4.19: authentic installer portrait, shared by NL and FR. */
.portrait.ec-work-portrait{display:block;align-self:start;margin:0;padding:0;border:0;min-height:0;overflow:hidden;border-radius:72px 12px 12px 12px;background:#ebe6d8}
.ec-work-portrait img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
@media(max-width:560px){.portrait.ec-work-portrait{border-radius:48px 12px 12px 12px}}
