/* Final composition: warm neutrals, brand blue used for actions and details. */
:root{--paper:#f8f8f5;--ink:#252c29;--muted:#616b65;--line:#dce0da;--blue:#377a9e;--dark:#202522;--lightblue:#e7eff2}body{background:var(--paper)}h1,h2,h3{color:inherit}h1,h2{letter-spacing:-.045em}h2{font-size:clamp(2.2rem,3.4vw,3.25rem);line-height:1.14}h2 span{color:#7b847d}.lead,.body-copy{color:var(--muted)}.section-top{margin-bottom:34px}.section-tag{color:#7d857f}.tiny{color:#69736c}.kicker{color:#58645b}.split-heading{align-items:start;gap:85px;margin-bottom:38px}.split-heading>div>.lead{max-width:49ch}.split-heading>.lead{max-width:48ch}.header-inner{min-height:86px}.header-inner nav{gap:24px}.header-tel{padding:9px 17px}.hero{background:#f8f8f5;padding-block:35px 42px}.hero-title{margin-top:32px;margin-bottom:34px}.hero-title h1{font-size:clamp(2.6rem,4.65vw,4.55rem);font-weight:550;line-height:1.12}.hero-title h1 span{color:#7a847d}.hero-title>p{color:#616d64}.hero-top .location{color:#69726b}.hero-photo{height:390px;border-radius:21px;box-shadow:0 16px 35px -27px #202c2950}.hero-photo>img{object-position:50% 43%}.hero-photo figcaption>span:first-child{color:#384a3e;background:#f9faf4eb}.route,.route:first-child{--card-base:#fff;--card-line:#dce2da;background-image:linear-gradient(var(--card-base),var(--card-base)),linear-gradient(#dce2da,#dce2da);border-radius:18px;box-shadow:0 8px 25px -22px #22332b40}.route:hover,.route:focus-visible{background-image:linear-gradient(var(--card-base),var(--card-base)),conic-gradient(from var(--rotation),#a8c9dc 0deg,#dce8ed 65deg,#dce2da 65deg,#dce2da 360deg)}.route-no{color:#657068}.route-title{font-weight:550}.route-title b{background:#edf2f3;color:#377a9e}.route-text{color:#69736b}.route:hover .route-title b{background:#377a9e}.hero-link{color:#4b6554}.button{background:#26322b;border-color:#26322b;box-shadow:0 5px 15px #23382a0c}.button>span{background:#ffffff14;color:#e1ede3}.button:hover{background:#377a9e;border-color:#377a9e;box-shadow:0 8px 24px #377a9e20}.text-link{color:#355f73}.text-link>span{border-color:#d4deda;background:#f1f4f0}.text-link:hover>span{background:#377a9e;color:#fff}.availability{background:#eef0eb;border-color:#dfe3dc}.availability-inner{padding-block:18px;font-size:.76rem}.availability-inner p:last-child{color:#687268}.buildings{padding-block:80px 85px;background:#fff}.maintenance-grid{grid-template-columns:.8fr 1.2fr;gap:55px}.maintenance-intro{background:#f0f2ed;border-color:#e1e5dd;border-radius:20px;padding:32px}.maintenance-intro p{color:#657166}.maintenance-intro h3{margin-block:29px 20px}.maintenance-list{gap:0 32px}.maintenance-list>div{border:0;border-top:1px solid #d5ddd3;border-radius:0;padding:24px 0;background:transparent;box-shadow:none;transform:none}.maintenance-list>div:hover{border-top-color:#72949e;box-shadow:none;transform:none}.maintenance-list h3{font-size:1.13rem;margin-bottom:13px}.maintenance-list p{font-size:.88rem}.boiler{background:#f0f2ed;border-color:#dfe4dc;padding-block:85px}.boiler>.wrap>.split-heading{margin-bottom:32px}.guarantee{margin-top:0;border-radius:22px;background:#26302b;box-shadow:0 15px 35px -27px #26382a50;padding-block:31px 22px}.guarantee-title>.tiny{color:#bfcec2}.guarantee-title h3{font-size:1.42rem}.guarantee-item>strong{font-size:3.9rem}.guarantee-item>p{color:#d1ddd3}.guarantee-condition{color:#becdc0}.offer-row{margin-top:30px;gap:35px}.offer-row>div{border:0;border-top:1px solid #c6d1c3;border-radius:0;background:none;padding:20px 0 0}.offer-row .small-no{color:#5a7063}.offer-row h3{margin-top:14px}.technical-detail{margin-top:46px;padding-top:39px;border-top:1px solid #d0d9cc;gap:55px}.building-diagram{background:#fafbf7;border-color:#d8dfd4;border-radius:20px}.building-diagram>.tiny{font-size:.6rem}.rule-note{border:0;border-left:2px solid #7e9da9;border-radius:0;background:transparent;padding:3px 0 3px 21px}.rule-note h3{font-size:1.22rem}.rule-note p{font-size:.85rem}.ownership{gap:30px;margin-top:28px}.ownership article{padding:0}.ownership h3{font-size:1.06rem}.ownership .tiny{font-size:.61rem}.ownership p{font-size:.85rem}.savings{border-color:#ced8ca;margin-top:35px;padding-top:28px}.savings strong{color:#344f42}.home-services{padding-block:85px;background:#fff}.service-rows>article,.service-rows>article:last-child{--card-base:#fff;--card-line:#dce2da;background-image:linear-gradient(var(--card-base),var(--card-base)),linear-gradient(#dce2da,#dce2da);box-shadow:0 12px 25px -23px #23372a40;border-radius:22px;padding:29px}.service-rows>article.pointer-active,.service-rows>article:focus-within{background-image:linear-gradient(var(--card-base),var(--card-base)),conic-gradient(from var(--rotation),#a8c9dc 0deg,#dae8ef 90deg,#dce2da 90deg,#dce2da 360deg);box-shadow:0 17px 35px -25px #273b2c55}.service-icon{color:#47798d;background:#f0f4f3;border-color:#dfe7df;border-radius:16px}.service-rows>article:hover .service-icon{background:#e8f0f3}.service-rows h3{font-size:1.56rem;line-height:1.25;min-height:2.5em;display:flex;align-items:center;margin-block:22px 16px;max-width:13ch}.service-rows p{font-size:.94rem;color:#657067}.service-rows .text-link{padding-top:24px;font-size:.81rem}.geothermal{background:#232d27;padding-block:80px}.geothermal .kicker{color:#c7d4c9}.geothermal h2 span{color:#a6b8aa}.geothermal .lead,.geo-flow p{color:#c2cfc4}.geo-flow{border-color:#687b6d}.geo-flow span{color:#b4cfda}.geothermal .text-link{color:#e5eee6}.geothermal .text-link>span{background:#ffffff09;border-color:#6a7c70}.faq>.tiny{color:#b9c9bd}.faq details{border-color:#ffffff26;background:#ffffff03;border-radius:13px}.faq details[open]{background:#ffffff07}.faq details p{color:#c4d2c7}.faq summary{line-height:1.5}.work{background:#f8f8f5;padding-block:85px}.gallery{gap:23px}.gallery .photo-open{border-radius:16px;box-shadow:none}.gallery .photo-open img{height:340px;object-position:50% 43%}.gallery figcaption{color:#6a746b;font-size:.69rem}.project-grid{margin-top:44px;gap:26px}.project-grid article{--card-base:#fff;--card-line:#dce2da;background-image:linear-gradient(var(--card-base),var(--card-base)),linear-gradient(#dce2da,#dce2da);box-shadow:0 12px 25px -23px #23372a40}.project-grid article.pointer-active,.project-grid article:focus-within{background-image:linear-gradient(var(--card-base),var(--card-base)),conic-gradient(from var(--rotation),#acc9d9 0deg,#dbe8ee 90deg,#dce2da 90deg,#dce2da 360deg)}.project-copy .tiny{color:#5b7565}.project-copy h3{font-size:1.42rem}.project-copy p{color:#626e65}.about{background:#edf0e9;padding-block:65px}.about h2 span{color:#7b8c7d}.about .lead{color:#515f54}.about p:not(.kicker):not(.lead){color:#647165}.contact{padding-block:85px;background:#fff}.contact-grid{gap:95px}form{background:#f6f7f3;border-color:#dfe5d9;box-shadow:0 15px 35px -33px #23352a50}.fields label{color:#4d5e51}input,select,textarea{border-color:#d3ddce;background:#fff}.preview-note>span{background:#e9eee5;color:#566b53}.contact .email{font-size:1rem}.contact-note{border-left-color:#91a898}.contact-details>a{border-color:#d6dfd3}.mobile-contact{background:#f9faf7;border-color:#dbe3d6}.mobile-contact a:first-child{background:#26322b}.mobile-contact a:last-child{background:#e9eee5;color:#344b3a}.footer-top>p{color:#c4cfc4}
@media(min-width:761px) and (max-width:1050px){.header-tel{display:none}.header-inner nav{gap:22px}.header-inner .brand{width:175px}}
@media(max-width:1100px){.hero-title h1{font-size:4.9vw}.hero-title>p{width:230px}.hero-photo{height:380px}.maintenance-grid{gap:32px}.technical-detail{gap:32px}.service-rows>article{padding:25px 22px}.service-rows h3{font-size:1.37rem}.service-rows .text-link{font-size:.72rem}.contact-grid{gap:55px}.split-heading{gap:45px}.gallery .photo-open img{height:295px}}
@media(max-width:760px){h2{font-size:2.2rem}.section-top{margin-bottom:26px}.header-inner{min-height:80px}.header-tel{display:block;padding:7px;border:0;background:none}.hero{padding-block:25px 30px}.hero-title h1{font-size:clamp(2.25rem,8.1vw,3.7rem)}.hero-title>p{width:auto;font-size:.92rem}.hero-title{margin-top:25px;margin-bottom:24px}.hero-photo{height:285px;border-radius:18px}.hero-bottom{gap:25px}.route,.route:first-child,.route:hover{padding:21px}.route-title{font-size:1.27rem}.availability-inner{font-size:.7rem}.buildings,.boiler,.home-services,.geothermal,.work,.contact{padding-block:60px}.split-heading{gap:23px;margin-bottom:30px}.maintenance-grid{gap:26px}.maintenance-intro{padding:27px}.maintenance-intro h3{font-size:1.8rem;margin:22px 0 16px}.maintenance-list{gap:0 24px}.maintenance-list>div{padding-block:22px}.maintenance-list h3{font-size:1.05rem}.maintenance-list p{font-size:.83rem}.guarantee{padding:25px 20px 20px;border-radius:19px}.guarantee-title h3{font-size:1.1rem}.guarantee-item>strong{font-size:3rem}.guarantee-item>p{font-size:.67rem}.offer-row{gap:24px;margin-top:27px}.offer-row>div{padding:17px 0 0}.offer-row h3{margin:11px 0 9px}.offer-row p{font-size:.84rem}.technical-detail{margin-top:32px;padding-top:28px;gap:25px}.building-diagram{max-width:420px}.rule-note{padding-left:18px}.ownership p{font-size:.82rem}.savings{margin-top:25px;padding-top:24px}.savings .button{width:100%;font-size:.8rem}.service-rows>article,.service-rows>article:last-child{padding:28px}.service-rows h3{min-height:0;max-width:17ch;font-size:1.65rem;margin:23px 0 17px}.service-rows p{font-size:.93rem}.service-rows .text-link{font-size:.81rem}.geo-grid{gap:37px}.gallery{gap:12px}.gallery .photo-open img{height:215px}.gallery figcaption{font-size:.6rem}.gallery .photo-open{border-radius:11px}.project-grid{margin-top:34px}.project-copy h3{font-size:1.42rem}.project-copy p{font-size:.89rem}.about{padding-block:55px}.about h2{font-size:2.15rem}.contact h2{font-size:2.55rem}.contact-grid{gap:32px}form{padding:28px 23px}.contact .email{font-size:.95rem}}
@media(max-width:380px){.hero-title h1{font-size:8.1vw}.hero-photo{height:250px}.gallery .photo-open img{height:300px}.maintenance-list{grid-template-columns:1fr}.service-rows>article,.service-rows>article:last-child{padding:26px 23px}.guarantee-item>strong{font-size:2.7rem}.ownership{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.route:hover,.service-rows>article.pointer-active,.service-rows>article:focus-within,.project-grid article.pointer-active,.project-grid article:focus-within{background-image:linear-gradient(var(--card-base),var(--card-base)),linear-gradient(#dce2da,#dce2da)}}

/* Keep the landscape project photo in its native aspect ratio. */
.hero-photo{height:auto;aspect-ratio:8/5;align-self:center}.hero-photo>img{object-position:50% 50%}.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery .photo-open img{height:auto;aspect-ratio:3/4;object-fit:cover}@media(max-width:760px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.gallery{grid-template-columns:1fr}}

/* Original homepage atmosphere image, without worksite attribution. */
.hero-photo>img{object-position:35% 50%}.hero-photo:after{display:none}
