@font-face{font-family:Manrope;src:url('./manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('./manrope-bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{--ink:#0b2d3e;--navy:#0b2d3e;--blue:#086982;--ice:#b8e8f5;--orange:#fb9d65;--paper:#f7fafb;--muted:#526772;--line:#d5e1e6;--max:1280px;--accent:#a3e7ff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font:400 16px/1.75 Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}img,svg{display:block}img{max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;line-height:1.12}h1,h2{letter-spacing:-.052em}p{color:var(--muted)}h1{font-size:clamp(3.4rem,5.7vw,5.5rem)}h2{font-size:clamp(2.25rem,3.6vw,3.7rem)}h3{font-size:1.55rem;letter-spacing:-.035em}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.icon{width:23px;height:23px;flex-shrink:0;stroke-width:1.7}::selection{background:var(--ice);color:var(--ink)}:focus-visible{outline:3px solid #ef803d;outline-offset:5px}.eyebrow{display:block;font-size:.75rem;font-weight:700;letter-spacing:.145em;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:14px 23px;border:1px solid transparent;border-radius:4px;font-size:.9rem;font-weight:700;line-height:1.5;text-align:center;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--navy);color:white}.button.primary:hover{background:#16465c}.button.outline{border-color:#95aeb9;background:transparent}.button.outline:hover{background:#e0eff3}.button.light{background:var(--ice);color:var(--ink)}.button.warm-button{background:#9b3f1a;color:white}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.text-link{display:inline-block;font-weight:700;font-size:.95rem;padding-bottom:5px;border-bottom:1px solid currentColor;line-height:1.8}.text-link:hover{color:var(--blue)}.text-button{border:0;background:none;padding:8px 0;text-decoration:underline;text-underline-offset:5px;font-size:.875rem;line-height:1.6}.skip-link{position:fixed;top:10px;left:10px;z-index:30;transform:translateY(-200%);background:white;padding:12px}.skip-link:focus{transform:none}.concept-strip{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 24px;padding:6px 24px;background:#e3eff3;font-size:.75rem;line-height:1.8;color:#46606b}.concept-strip a{text-decoration:underline;text-underline-offset:3px}.site-header{position:sticky;top:0;z-index:20;background:rgba(247,250,251,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);transition:transform .25s ease}.site-header.header-hidden{transform:translateY(calc(-100% - 1px));pointer-events:none}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:96px}.brand{display:inline-flex;flex-direction:column;line-height:1;flex-shrink:0}.brand-name{font-size:2.25rem;font-weight:900;letter-spacing:-.075em}.brand-dot{color:#ce652e;margin-left:3px}.brand-sub{font-size:.75rem;letter-spacing:.145em;font-weight:700;margin-top:8px}.nav-wrap nav{display:flex;align-items:center;gap:32px}.nav-wrap nav a{font-size:.875rem;padding:33px 0;position:relative}.nav-wrap nav a[aria-current]::after{position:absolute;content:'';height:2px;background:var(--blue);bottom:24px;left:0;right:0}.nav-wrap nav a:hover{color:var(--blue)}.header-call{display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:700;border-left:1px solid var(--line);padding-left:30px;white-space:nowrap}.menu-toggle{display:none}.home-hero{background:#eef5f8}.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:58px;padding-top:46px;padding-bottom:36px}.hero-copy{padding:16px 0}.hero-copy .eyebrow{margin-bottom:26px}.hero-copy h1{font-size:clamp(3rem,5.5vw,5rem);line-height:1.07}.hero-copy h1 span,.page-hero h1 span{color:var(--blue)}.hero-copy>p{font-size:1.06rem;max-width:480px;margin-top:28px;line-height:1.85}.hero-copy .button-row{margin-top:32px}.hero-local{display:flex;align-items:center;gap:10px;margin-top:34px;font-size:.875rem;color:#4a6572}.hero-local .icon{width:19px;height:19px}.hero-bottom{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.14em;padding-top:20px;padding-bottom:23px;border-top:1px solid #cddfe7}.climate-stage{--accent:#a3e7ff;background:#0b2d3e;color:var(--accent);border-radius:160px 8px 8px 8px;padding:34px 32px 28px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;isolation:isolate;transition:background .7s,color .7s;overflow:hidden}.climate-stage[data-mode=heating]{--accent:#ffbc87;background:#3a2c28}.stage-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-left:50px;position:relative;z-index:2}.stage-heading .eyebrow{font-size:.75rem;letter-spacing:.14em}.stage-index{font-size:.75rem;opacity:.68;font-variant-numeric:tabular-nums;white-space:nowrap}.rotor-space{position:relative;aspect-ratio:1.13/1;min-width:0;overflow:hidden;isolation:isolate;display:grid;place-items:center;margin:10px -12px 4px}.rotor{width:82%;aspect-ratio:1;object-fit:contain;position:relative;z-index:2;animation:spin 22s linear infinite;will-change:transform;filter:drop-shadow(0 8px 20px #0007)}[data-mode=heating] .rotor{animation-duration:36s}.orbit{border:1px solid currentColor;border-radius:50%;position:absolute;aspect-ratio:1;opacity:.2;pointer-events:none}.orbit-one{width:80%}.orbit-two{width:93%;border-style:dashed;opacity:.15;animation:spin 90s linear infinite reverse}.orbit-three{width:64%;opacity:.12;background:radial-gradient(circle,#54c5e628,transparent 68%)}.airflow{position:absolute;inset:0;width:100%;height:100%;opacity:.38;color:var(--accent);pointer-events:none}.airflow path{stroke:currentColor;stroke-width:1;stroke-dasharray:18 25;animation:flow 9s linear infinite}.airflow path:nth-child(2){animation-delay:-3s}.airflow path:nth-child(3){animation-delay:-6s}.stage-controls{position:relative;z-index:3;border-top:1px solid #ffffff24;padding-top:21px}.season-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ffffff38;border-radius:5px;padding:4px;gap:4px}.season-switch button{color:#dbe9ed;display:flex;justify-content:center;align-items:center;gap:9px;border:0;background:none;font-size:.875rem;padding:10px 12px;line-height:1.4;min-height:43px;border-radius:3px;transition:background .25s,color .25s}.season-switch .icon{width:19px;height:19px}.season-switch button[aria-pressed=true]{background:var(--accent);color:var(--ink)}.season-description{font-size:.8125rem;line-height:1.55;text-align:center;color:#d4e2e8;margin-top:16px;min-height:2.5em}.benefits-bar{background:#dcedf3;border-top:1px solid #cadfe6;border-bottom:1px solid #cadfe6}.benefits-inner{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:26px;padding-block:24px}.benefits-inner>span{display:flex;align-items:center;gap:13px;font-size:.875rem;line-height:1.6}.benefits-inner>span+span{border-left:1px solid #bcd5df;padding-left:26px}.section{padding-block:100px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:18px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{padding:32px;background:#edf4f7;border:1px solid #d3e1e8;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}.service-card:hover{transform:translateY(-6px);border-color:var(--blue)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.service-number{font-size:.75rem;letter-spacing:.1em;color:#5d727c}.card-top .icon{width:32px;height:32px;color:var(--blue)}.service-card h3{font-size:1.65rem;margin-bottom:17px}.service-card p{font-size:.95rem;line-height:1.8;margin-bottom:35px}.card-link{margin-top:auto;border-top:1px solid #cbdde5;padding-top:19px;font-size:.875rem;font-weight:700}.service-card.warm{background:#fff1e7;border-color:#efdacb}.warm .card-top .icon{color:#a85128}.warm .card-link{border-color:#e6cec0}.local-section{background:#eaf2f5;padding:80px 0}.local-grid{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:76px}.home-photo{margin:0;position:relative}.home-photo img{width:100%;aspect-ratio:1.17;object-fit:cover;border-radius:5px}.home-photo figcaption{margin-top:14px;font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:#47616f}.local-copy .eyebrow{margin-bottom:22px}.local-copy>p{margin-top:24px;margin-bottom:25px}.local-note{display:flex;gap:16px;margin-top:35px;border-top:1px solid #c9dce4;padding-top:25px}.local-note .icon{margin-top:4px}.local-note p{font-size:.875rem}.cta-band{background:var(--navy);color:white;padding-block:66px}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:50px}.cta-inner .eyebrow{color:var(--ice);margin-bottom:15px}.cta-inner h2{font-size:clamp(2.2rem,3.5vw,3.4rem)}.cta-inner p{color:#c2d6df;margin-top:17px;max-width:630px}.cta-inner>.button{flex-shrink:0}.site-footer{padding-top:65px;background:#f1f6f8}.footer-grid{display:grid;grid-template-columns:1.1fr .6fr 1.15fr 1fr;gap:45px;padding-bottom:58px}.footer-grid p{font-size:.8125rem;line-height:1.9;margin-top:23px}.footer-grid h2{font-size:.8125rem;letter-spacing:0;line-height:1.6;margin-bottom:18px}.footer-grid>div>a:not(.brand){display:block;font-size:.8125rem;margin-top:8px}.footer-grid>div>h2+p{margin-top:0}.footer-grid .footer-phone{font-weight:700;font-size:1rem!important}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-block:22px;font-size:.75rem;line-height:1.7}.footer-bottom p{font-size:inherit}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}.footer-bottom .text-button{font-size:.75rem;flex-shrink:0}.page-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:65px;align-items:end;padding-block:74px 62px}.page-hero .eyebrow{margin-bottom:22px}.page-hero h1{font-size:clamp(3rem,5.3vw,5rem)}.page-hero>p{max-width:430px;padding-bottom:5px;line-height:1.9}.service-jump{display:flex;gap:35px;padding-block:21px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-jump a{display:flex;gap:10px;align-items:center;font-size:.875rem;font-weight:700}.service-jump a:hover{color:var(--blue)}.service-detail{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px;padding-block:80px}.service-detail .eyebrow{margin-bottom:19px}.service-copy>p{margin-top:25px;max-width:550px}.service-list{list-style:none;margin:28px 0 33px;padding:0;border-top:1px solid var(--line)}.service-list li{padding:13px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.service-list li::before{content:'+';margin-right:13px;font-size:1.05rem;color:var(--blue)}.cooling-visual{max-width:475px;justify-self:end;width:100%}.compact{border-radius:90px 6px 6px 6px;padding:28px}.compact .stage-heading{padding-left:15px}.compact .eyebrow{margin:0}.compact .rotor-space{aspect-ratio:1.25}.heating-section{background:#fbefe6}.heating-section .service-list{border-color:#e5d3c6}.heating-section .service-list li{border-color:#e5d3c6}.heating-section .service-list li::before{color:#a04a23}.heating-visual{padding:30px 30px 24px;border:1px solid #e0bfaa;background:#f8e1d0;border-radius:6px 90px 6px 6px;overflow:hidden;isolation:isolate}.heat-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-right:30px;color:#844221}.heat-heading .eyebrow{margin:0;font-size:.75rem}.heat-animation{display:grid;justify-items:center;align-items:end;padding-top:15px;position:relative;height:320px;overflow:hidden}.heat-waves{position:absolute;top:20px;width:90%;height:220px;pointer-events:none}.heat-waves path{stroke:#c36638;stroke-width:2;stroke-dasharray:30 50;animation:heat-flow 5s linear infinite}.heat-waves path:nth-child(2){animation-delay:-2s}.heat-waves path:nth-child(3){animation-delay:-3s}.heat-icon{width:165px;height:145px;padding:20px;background:#faeadf;box-shadow:0 0 70px #fb9d6540;border:1px solid #cc9b7e;border-radius:12px;color:#92461f;position:relative;animation:heat-glow 4s ease-in-out infinite}.heat-icon .icon{width:100%;height:100%;stroke-width:1}.heating-visual>p{border-top:1px solid #ddbaa3;margin-top:24px;padding-top:19px;font-size:.8125rem;text-align:center;color:#714b35}.plumbing-panel{border:1px solid #cbdde6;padding:40px;background:#e7f2f7;border-radius:5px}.plumbing-panel>.eyebrow{margin-bottom:36px}.pipe-row{display:flex;gap:26px;align-items:start;border-top:1px solid #c6dce6;padding:28px 0}.pipe-row:last-child{padding-bottom:0}.pipe-row>.icon{width:33px;height:33px;color:var(--blue)}.pipe-row h3{font-size:1.35rem;margin-bottom:8px}.pipe-row p{font-size:.875rem}.questions-section{background:#ecf3f6}.faq-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:100px}.faq-grid .eyebrow{margin-bottom:18px}.faq-grid h2{font-size:2.7rem}.faq-list details{border-top:1px solid #bfD4de}.faq-list details:last-child{border-bottom:1px solid #bfd4de}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;padding-block:22px;font-weight:700;cursor:pointer;font-size:.9375rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list details[open] summary .icon{transform:rotate(45deg)}.faq-list details p{font-size:.9375rem;padding:0 28px 25px 0}.about-feature{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:center}.about-image{height:100%;min-height:540px}.about-image img{width:100%;height:100%;object-fit:cover;border-radius:5px 100px 5px 5px}.about-feature-copy{padding-block:35px}.about-feature-copy .eyebrow{margin-bottom:25px}.about-feature-copy p{margin-top:23px}.about-feature-copy .button{margin-top:28px}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.about-values>div{border-top:1px solid var(--line);padding-top:25px}.value-number{font-size:.75rem;color:var(--blue);letter-spacing:.1em}.about-values h2{font-size:1.65rem;margin:25px 0 18px}.about-values p{font-size:.9375rem}.area-section{padding-block:80px;background:var(--navy);color:white}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.area-grid .eyebrow{color:var(--ice);margin-bottom:20px}.area-grid p{margin-top:22px;color:#c3d8e2}.area-grid .muted-note{font-size:.875rem}.area-grid .button{margin-top:30px}.area-list{border:1px solid #476170;border-radius:5px;padding:35px}.area-home{display:flex;gap:20px;align-items:center;border-bottom:1px solid #476170;padding-bottom:28px}.area-home>.icon{width:40px;height:40px;color:var(--ice)}.area-home span{font-size:.75rem;letter-spacing:.1em;color:var(--ice)}.area-home h3{font-size:1.3rem;margin-top:10px;line-height:1.4}.area-list>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:28px;font-size:.9375rem}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:stretch}.contact-primary{padding:44px;background:var(--navy);color:white;border-radius:6px 85px 6px 6px}.contact-primary .eyebrow{color:var(--ice);margin-bottom:30px}.contact-primary h2{font-size:2.2rem}.contact-primary>p{color:#c9dfe9;margin-top:18px;max-width:430px}.big-phone{display:inline-block;font-size:clamp(1.9rem,3.2vw,3rem);font-weight:700;letter-spacing:-.03em;margin:27px 0 29px;line-height:1.3;white-space:nowrap}.contact-primary .text-button{color:#d3e7ef}.contact-primary .button-row{gap:26px}.contact-primary .copy-status{font-size:.8125rem;min-height:1.6em;margin-top:9px}.call-note{display:flex;align-items:center;gap:17px;border-top:1px solid #365766;margin-top:15px;padding-top:25px}.call-note .icon{color:var(--ice)}.call-note p{font-size:.875rem;color:#d0e2e9}.contact-details{display:grid;grid-template-rows:1fr 1fr;gap:24px}.contact-info{border:1px solid var(--line);padding:28px 32px;border-radius:5px}.info-title{display:flex;align-items:center;gap:14px;margin-bottom:16px}.info-title h2{font-size:1.1rem;letter-spacing:-.02em}.info-title .icon{color:var(--blue)}address{font-style:normal;font-size:.9375rem;color:var(--muted);line-height:1.85}.contact-info .text-link{margin-top:12px;font-size:.875rem}.hours{font-size:.875rem;margin:0}.hours>div{display:flex;justify-content:space-between;gap:20px;padding-block:5px}.hours dd{margin:0;text-align:right;color:var(--muted)}.small-note{font-size:.75rem;margin-top:16px}.contact-bottom{display:grid;grid-template-columns:1fr 1.2fr;gap:95px}.contact-bottom .eyebrow{margin-bottom:22px}.call-checklist{padding:0;margin:0;list-style:none}.call-checklist li{display:flex;gap:27px;padding:25px 0;border-top:1px solid var(--line)}.call-checklist li>span{font-size:.75rem;color:var(--blue);padding-top:4px}.call-checklist h3{font-size:1.2rem;margin-bottom:12px}.call-checklist p{font-size:.9375rem}.error-page{min-height:50vh}.error-page p{margin:25px 0}.reveal{transition:opacity .7s,transform .7s}.reveal.pending{opacity:0;transform:translateY(22px)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes flow{to{stroke-dashoffset:-430}}@keyframes heat-flow{to{stroke-dashoffset:320}}@keyframes heat-glow{50%{box-shadow:0 0 70px #ed9a6760}}.motion-paused *, .motion-paused *::before, .motion-paused *::after{animation-play-state:paused!important}.motion-paused .reveal{transition:none}.motion-paused .reveal.pending{opacity:1;transform:none}
@media(min-width:1500px){.hero-grid{gap:90px}.hero-copy h1{font-size:5rem}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav-wrap{gap:22px}.nav-wrap nav{gap:22px}.header-call{padding-left:20px}.hero-grid{gap:32px}.hero-copy h1{font-size:clamp(3rem,5.5vw,5rem)}.hero-copy .button-row{gap:10px}.hero-copy .button{padding:13px 18px}.climate-stage{padding:30px 24px 25px;border-top-left-radius:115px}.stage-heading{padding-left:30px}.stage-heading .eyebrow{font-size:.75rem}.local-grid{gap:45px}.service-detail{gap:55px}.service-card{padding:26px}.footer-grid{gap:28px}.page-hero{gap:40px}.faq-grid,.area-grid{gap:60px}.about-feature{gap:48px}.contact-primary{padding:35px}.contact-info{padding:25px}.contact-bottom{gap:55px}}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.nav-wrap{min-height:84px}.header-call{display:none}.hero-grid{gap:28px;grid-template-columns:1.06fr 1fr}.hero-copy h1{font-size:clamp(2.6rem,5vw,3rem)}.hero-copy>p{font-size:.9375rem}.hero-copy .eyebrow{font-size:.75rem;margin-bottom:20px}.hero-copy .button-row{align-items:stretch;flex-direction:column;width:max-content;max-width:100%}.hero-local{font-size:.75rem;margin-top:23px}.climate-stage{border-top-left-radius:80px;padding:30px 20px 22px}.stage-heading{padding-left:10px;gap:8px}.stage-index{display:none}.season-switch button{padding:10px 8px;font-size:.8125rem;gap:6px}.stage-controls{padding-top:15px}.season-description{font-size:.75rem}.rotor-space{aspect-ratio:.95}.benefits-inner{grid-template-columns:1fr 1fr 1.3fr;gap:15px}.benefits-inner>span{font-size:.75rem;gap:10px}.benefits-inner>span+span{padding-left:15px}.benefits-inner .icon{width:20px;height:20px}.section{padding-block:75px}.services-grid{gap:15px}.service-card{padding:22px}.service-card h3{font-size:1.4rem}.service-card p{font-size:.875rem}.card-top{margin-bottom:25px}.local-grid{gap:35px}.local-section{padding:65px 0}.local-copy h2{font-size:2.65rem}.local-copy>p{font-size:.9375rem}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 65px}.footer-bottom{flex-wrap:wrap;justify-content:flex-start;column-gap:32px;row-gap:8px}.footer-bottom p{flex-basis:100%}.page-hero{grid-template-columns:1fr;gap:26px;padding-block:55px 45px}.page-hero>p{max-width:630px}.page-hero h1{font-size:3.6rem}.service-detail{gap:35px}.service-copy h2{font-size:2.7rem}.service-copy>p{font-size:.9375rem}.heating-visual{padding:25px 20px}.heat-heading{padding-right:12px}.heat-animation{height:285px}.plumbing-panel{padding:28px}.faq-grid{gap:40px;grid-template-columns:1fr 1.2fr}.faq-grid h2{font-size:2.3rem}.about-feature{gap:35px}.about-feature-copy h2{font-size:2.4rem}.about-feature-copy p{font-size:.9375rem}.about-image{min-height:520px}.about-values{gap:30px}.area-grid{gap:35px}.area-list{padding:28px}.contact-grid{grid-template-columns:1.1fr 1fr;gap:20px}.contact-primary{padding:30px 25px;border-top-right-radius:65px}.contact-primary h2{font-size:1.9rem}.big-phone{font-size:1.9rem}.contact-info{padding:24px 20px}.hours>div{flex-direction:column;gap:0}.hours dd{text-align:left}.contact-bottom{gap:40px}.contact-bottom h2{font-size:2.5rem}}
@media(max-width:650px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 40px)}.concept-strip{padding:7px 18px;font-size:.75rem;gap:0 10px}.concept-strip>a{display:none}.nav-wrap{min-height:78px;flex-wrap:wrap;gap:0;position:relative}.brand-name{font-size:2rem}.brand-sub{font-size:.75rem;margin-top:6px}.menu-toggle{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line);padding:9px 12px;border-radius:4px;font-size:.8125rem;line-height:1.5;min-height:42px}.menu-toggle .icon{width:19px;height:19px}.nav-wrap nav{display:none;width:100%;order:3;gap:0;padding:12px 0 18px;border-top:1px solid var(--line);margin-top:0;flex-direction:column;align-items:stretch}.nav-wrap.menu-open nav{display:flex;animation:menu-in .25s ease-out}.nav-wrap nav a{padding:12px 10px;font-size:1rem;border-radius:3px}.nav-wrap nav a[aria-current]{background:#e3eff3}.nav-wrap nav a[aria-current]::after{display:none}.hero-grid{grid-template-columns:1fr;padding-top:35px;padding-bottom:27px;gap:30px}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:.75rem;letter-spacing:.14em;margin-bottom:23px}.hero-copy h1{font-size:clamp(2.65rem,11.5vw,4.7rem);line-height:1.1;letter-spacing:-.055em}.hero-copy>p{font-size:1rem;line-height:1.8;margin-top:22px;max-width:480px}.hero-copy .button-row{margin-top:27px;flex-direction:row;width:auto;gap:10px}.hero-copy .button{font-size:.8125rem;padding:13px 15px;min-height:51px;gap:8px}.hero-copy .button .icon{width:18px;height:18px}.hero-local{margin-top:23px;font-size:.8125rem}.climate-stage{border-radius:80px 5px 5px 5px;padding:26px 26px 22px;max-width:510px;width:100%;margin-inline:auto}.stage-heading{padding-left:22px}.stage-heading .eyebrow{font-size:.75rem}.stage-index{display:inline;font-size:.75rem}.rotor-space{aspect-ratio:1.2/1;margin-block:4px 8px}.rotor{width:78%}.stage-controls{padding-top:15px}.season-switch button{font-size:.875rem;min-height:45px}.season-description{font-size:.8125rem;min-height:auto;margin-top:13px}.hero-bottom{font-size:.75rem;padding-top:16px;padding-bottom:18px;gap:10px}.hero-bottom span:last-child{display:none}.benefits-inner{grid-template-columns:1fr;gap:0;padding:12px 0}.benefits-inner>span{font-size:.8125rem;gap:15px;padding:10px 0}.benefits-inner>span+span{border-left:0;padding-left:0}.benefits-inner .icon{width:19px;height:19px}.section{padding-block:58px}h2{font-size:2.45rem}.section-heading{display:block;margin-bottom:30px}.section-heading>.text-link{margin-top:23px}.section-heading .eyebrow{font-size:.75rem;margin-bottom:16px}.services-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:28px}.card-top{margin-bottom:23px}.service-card h3{font-size:1.65rem}.service-card p{font-size:1rem;margin-bottom:24px}.card-link{padding-top:16px}.local-section{padding-block:48px}.local-grid{grid-template-columns:1fr;gap:36px}.home-photo img{aspect-ratio:1.2}.home-photo figcaption{font-size:.75rem}.local-copy h2{font-size:2.65rem}.local-copy .eyebrow{font-size:.75rem;margin-bottom:18px}.local-copy>p{font-size:1rem}.local-note{margin-top:29px}.cta-band{padding-block:46px}.cta-inner{flex-direction:column;align-items:flex-start;gap:26px}.cta-inner .eyebrow{font-size:.75rem}.cta-inner h2{font-size:2.45rem}.cta-inner p{font-size:.9375rem;margin-top:20px}.site-footer{padding-top:43px}.footer-grid{gap:32px 24px;padding-bottom:33px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid p{font-size:.8125rem;margin-top:18px}.footer-grid h2{margin-bottom:14px}.footer-grid>div>a:not(.brand){font-size:.8125rem}.footer-bottom{gap:12px 25px;font-size:.75rem;padding-block:20px}.footer-bottom .text-button{font-size:.75rem}.page-hero{padding-top:39px;padding-bottom:34px;gap:23px}.page-hero h1{font-size:clamp(2.7rem,10.3vw,4rem);line-height:1.13}.page-hero .eyebrow{font-size:.75rem;margin-bottom:21px}.page-hero>p{font-size:1rem;line-height:1.8}.service-jump{gap:18px;flex-wrap:wrap;padding-block:20px}.service-jump a{font-size:.8125rem;gap:7px}.service-jump .icon{width:18px;height:18px}.service-detail{grid-template-columns:1fr;gap:34px;padding-block:50px}.service-copy .eyebrow{font-size:.75rem}.service-copy h2{font-size:2.65rem}.service-copy>p{font-size:1rem}.service-list li{font-size:.9375rem}.cooling-visual{max-width:none;justify-self:stretch}.compact{max-width:100%;padding:27px}.compact .rotor-space{aspect-ratio:1.35}.heating-section .service-copy{grid-row:1}.heating-section .service-detail{gap:38px}.heating-visual{padding:28px}.heat-heading{padding-right:17px}.heat-animation{height:290px}.heating-visual>p{font-size:.8125rem}.plumbing-panel{padding:28px}.pipe-row{gap:23px;padding:25px 0}.faq-grid{grid-template-columns:1fr;gap:28px}.faq-grid .eyebrow{font-size:.75rem}.faq-grid h2{font-size:2.45rem}.faq-list summary{font-size:.9375rem;gap:20px;padding-block:21px}.about-feature{grid-template-columns:1fr;gap:30px}.about-image{height:auto;min-height:0}.about-image img{aspect-ratio:1.05;object-fit:cover;max-height:460px;border-top-right-radius:80px}.about-feature-copy{padding:0}.about-feature-copy .eyebrow{font-size:.75rem;margin-bottom:18px}.about-feature-copy h2{font-size:2.65rem}.about-feature-copy p{font-size:1rem}.about-values{grid-template-columns:1fr;gap:28px}.about-values>div{padding-top:24px}.about-values h2{font-size:1.55rem;margin:15px 0}.about-values p{font-size:1rem}.area-section{padding-block:50px}.area-grid{grid-template-columns:1fr;gap:35px}.area-grid h2{font-size:2.65rem}.area-grid .eyebrow{font-size:.75rem}.area-list{padding:28px}.area-list>div:last-child{font-size:.9375rem;gap:20px}.contact-grid{grid-template-columns:1fr;gap:22px}.contact-primary{padding:33px 27px;border-top-right-radius:65px}.contact-primary .eyebrow{font-size:.75rem;margin-bottom:25px}.contact-primary h2{font-size:2.15rem}.contact-primary>p{font-size:.9375rem}.big-phone{font-size:clamp(1.85rem,7.5vw,2.6rem);margin-block:25px}.contact-primary .button-row{gap:20px}.contact-info{padding:27px}.contact-details{gap:18px}.hours>div{flex-direction:row;gap:14px;font-size:.8125rem}.hours dd{text-align:right}.contact-bottom{grid-template-columns:1fr;gap:30px}.contact-bottom h2{font-size:2.5rem}.contact-bottom .eyebrow{font-size:.75rem}.call-checklist li{gap:23px}.call-checklist p{font-size:.9375rem}.reveal.pending{transform:translateY(12px)}@keyframes menu-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero-copy h1{font-size:2.65rem}.hero-copy .button-row{flex-direction:column}.hero-copy .button{width:100%}.climate-stage{padding:25px 20px 21px}.stage-heading{padding-left:18px}.stage-heading .eyebrow{font-size:.75rem}.stage-index{display:none}.big-phone{font-size:1.75rem}.contact-primary{padding:30px 22px}.hours>div{flex-direction:column;gap:0}.hours dd{text-align:left}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:auto!important}.service-jump{gap:18px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}}

.compact .rotor{width:72%}
