:root{--ink:#15332d;--muted:#53675f;--green:#087d56;--mint:#91e4ba;--dark:#0a2925;--pale:#f3f8f5;--line:#dce9e1;scroll-behavior:smooth;scroll-padding-top:105px}
*{box-sizing:border-box}
body{margin:0;font:16px/1.85 "Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff}
a{color:var(--green);text-decoration:none;text-underline-offset:4px}
a:hover{text-decoration:underline}
a:focus-visible,summary:focus-visible{outline:3px solid #d99412;outline-offset:5px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.2;letter-spacing:-.9px}
h2{font-size:clamp(29px,3.4vw,42px);margin-bottom:20px}
h3{font-size:21px;margin-bottom:16px}
strong{font-weight:650}
address{font-style:normal}
.container{width:min(1130px,calc(100% - 80px));margin-inline:auto}
.site-header{position:fixed;inset:0 0 auto;background:#0a2925f5;z-index:10;border-bottom:1px solid #ffffff16}
.header-inner{width:min(1220px,calc(100% - 64px));margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:16px;font-weight:700;letter-spacing:.8px;line-height:1.2;flex-shrink:0}
.brand:hover{text-decoration:none}
.brand img{border-radius:11px}
.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:1.8px;margin-top:7px;color:#c0d8cc}
nav{display:flex;align-items:center;gap:27px}
nav a{color:#d3e4dc;font-size:12px;min-height:44px;display:inline-flex;align-items:center}
nav a:hover{color:#91e4ba;text-decoration:none}
.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--green);border:1px solid #349c74;border-radius:25px;padding:9px 22px;font-size:12px;font-weight:600;color:#fff;min-height:44px;white-space:nowrap}
.header-cta:hover{background:#056640;text-decoration:none}
section{padding:78px 0;scroll-margin-top:104px}
.hero{position:relative;min-height:100svh;background:#14392e url("assets/hvac-scene.svg") center/cover no-repeat;display:flex;align-items:center;justify-content:center;padding:175px 32px 105px;color:#fff;text-align:center}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#08292085,#092d26c4 45%,#08241cbd)}
.hero-inner{position:relative;z-index:1;max-width:900px}
.eyebrow{font-size:10px;text-transform:uppercase;font-weight:650;letter-spacing:2.8px;color:var(--green);margin-bottom:18px}
.hero .eyebrow{color:#aff1ce}
.hero h1{font-size:clamp(44px,5.4vw,76px);line-height:1.08;letter-spacing:-2.9px;margin:24px 0}
.hero-tagline{font-size:24px;letter-spacing:-.3px;font-weight:400;color:#d7eee2;margin-bottom:15px}
.hero-copy{font-size:16px;color:#d7e7df;line-height:1.9;max-width:640px;margin:0 auto 30px}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border-radius:28px;min-height:48px;padding:12px 26px;font-size:13px;font-weight:600;color:#fff;background:var(--green);border:1px solid var(--green)}
.button:hover{background:#066b47;text-decoration:none}
.outline-button{background:transparent;border-color:#bedccc9c}
.outline-button:hover{background:#ffffff12;text-decoration:none}
.hero-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:28px;margin-top:55px;font-size:9px;letter-spacing:1.7px;color:#c0dbca}
.hero-meta span+span:before{content:"";display:inline-block;background:#81cca2;width:4px;height:4px;vertical-align:middle;margin-right:28px;border-radius:50%}
.visual-note{position:absolute;bottom:16px;left:25px;right:25px;margin:0;text-align:right;font-size:9px;color:#c9e0d1;line-height:1.6}
.section-heading{margin-bottom:40px;max-width:780px}
.section-heading>p:last-child{color:var(--muted);font-size:15px;margin-bottom:0}
.centered{margin-inline:auto;text-align:center}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px}
.about-grid p{font-size:15px;color:var(--muted)}
.check-list{padding:0;margin:25px 0 0;list-style:none}
.check-list li{display:flex;gap:14px;align-items:baseline;font-size:14px;margin:12px 0}
.check-list li:before{content:"✓";font-size:17px;color:var(--green);font-weight:700}
.text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-weight:600;font-size:12px}
.pale-section{background:var(--pale)}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.topic-card{background:#fff;border:1px solid var(--line);padding:35px 28px;border-radius:8px;box-shadow:0 9px 30px #122d2004}
.topic-icon{display:flex;align-items:center;justify-content:center;background:#e4f3eb;color:var(--green);border-radius:50%;height:58px;width:58px;font-size:30px;margin-bottom:27px}
.topic-card p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:20px}
.topic-card h3{font-size:21px}
.section-note{font-size:11px;color:var(--muted);margin:26px 0 0;line-height:1.8;text-align:center}
.contact-banner{background:var(--dark);color:#fff;padding:55px 0}
.banner-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.banner-inner .eyebrow{color:var(--mint)}
.banner-inner h2{font-size:31px;margin-bottom:13px}
.banner-inner p:last-child{color:#c1d9cc;font-size:14px;margin:0}
.banner-inner>a{flex-shrink:0}
.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);margin:0}
.details-grid>div{padding:27px 30px 27px 0;border-bottom:1px solid var(--line);min-width:0}
dt{font-size:9px;text-transform:uppercase;letter-spacing:1.7px;font-weight:650;color:var(--muted);margin-bottom:12px}
dd{font-size:15px;line-height:1.8;font-weight:550;margin:0;overflow-wrap:anywhere}
.wide-detail{grid-column:span 2}
.faq-grid{display:grid;grid-template-columns:.85fr 1.5fr;gap:70px}
.faq-grid .section-heading{margin-bottom:0}
.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}
.faq-list details:first-child{padding-top:0}
.faq-list summary{font-weight:600;font-size:16px;cursor:pointer;min-height:44px;padding-right:20px;line-height:1.7}
.faq-list summary::marker{color:var(--green);font-size:11px}
.faq-list p{font-size:14px;line-height:1.9;color:var(--muted);margin:14px 0 5px;overflow-wrap:anywhere}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:24px}
.contact-card{padding:32px 25px;border:1px solid var(--line);border-radius:6px;text-align:center;min-width:0}
.contact-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #acd8be;border-radius:50%;font-size:22px;color:var(--green);margin:0 auto 20px}
.contact-card h3{font-size:17px;margin-bottom:14px}
.contact-card>a{font-size:17px;font-weight:550;display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.contact-card p{font-size:11px;color:var(--muted);margin:10px 0 0}
.address-card{padding:35px;background:var(--pale);border-radius:6px;margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.address-card .eyebrow{font-size:9px;letter-spacing:1.7px}
.address-card address{font-size:15px;font-weight:500}
.address-card>a{flex-shrink:0}
footer{background:var(--dark);color:#b5cfc1;padding:30px 0;font-size:10px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}
.footer-name{color:#fff;font-size:14px;font-weight:600}
.footer-inner p{margin:5px 0 0}
.back-top{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;color:#b9eccc}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;top:12px;left:12px;z-index:20;background:#fff;padding:12px 20px}
@media(max-width:1024px){.header-inner{width:calc(100% - 44px);gap:20px}.brand{font-size:14px}.brand small{font-size:8px}.brand img{width:37px;height:37px}nav{gap:19px}nav a{font-size:11px}.header-cta{padding:9px 17px}.container{width:calc(100% - 60px)}.about-grid{gap:35px}.topic-card{padding:28px 23px}.faq-grid{gap:40px}.contact-card>a{font-size:14px}.banner-inner h2{font-size:27px}.footer-inner{gap:20px}}
@media(max-width:768px){:root{scroll-padding-top:137px}.header-inner{min-height:118px;position:relative;padding:12px 0 43px;justify-content:space-between;gap:15px}.brand{font-size:13px}.brand img{width:36px;height:36px}.brand small{font-size:7px;letter-spacing:1.5px}.header-cta{font-size:11px;padding:8px 16px;min-height:40px}nav{position:absolute;bottom:5px;left:0;right:0;justify-content:center;gap:32px}nav a{font-size:11px;min-height:36px}.hero{padding:180px 25px 80px;min-height:100svh}.hero h1{font-size:clamp(40px,7vw,57px);letter-spacing:-1.8px}.hero-tagline{font-size:21px}.hero-copy{font-size:14px}.hero-meta{gap:19px;font-size:8px;letter-spacing:1px;margin-top:35px}.hero-meta span+span:before{margin-right:19px}.visual-note{text-align:center;font-size:8px}section{padding:60px 0;scroll-margin-top:136px}.container{width:calc(100% - 48px)}.about-grid{gap:28px}.topic-grid{grid-template-columns:1fr;gap:20px}.topic-card{padding:30px}.topic-icon{margin-bottom:20px}.topic-card p{max-width:580px}.banner-inner{flex-direction:column;align-items:flex-start;gap:26px}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-detail{grid-column:auto}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-grid h2 br{display:none}.contact-grid{grid-template-columns:1fr;gap:20px}.contact-card>a{font-size:17px}.address-card{padding:30px}.address-card address{font-size:14px}.footer-inner{align-items:flex-start}.footer-inner>p{font-size:9px}}
@media(max-width:500px){.header-inner{width:calc(100% - 36px)}nav{gap:25px}nav a{font-size:10px}.header-cta{gap:10px;padding:8px 14px}.brand{font-size:12px;gap:9px}.brand small{font-size:7px;letter-spacing:1px}.hero{padding:176px 20px 76px}.hero h1{font-size:clamp(37px,9vw,45px);letter-spacing:-1.4px}.hero .eyebrow{font-size:8px;letter-spacing:1.9px}.hero-tagline{font-size:19px}.hero-copy{font-size:13px}.hero-copy br{display:none}.hero-actions{gap:14px}.button,.outline-button{font-size:12px;padding:12px 22px}.hero-meta{gap:13px;font-size:7px;letter-spacing:.7px}.hero-meta span+span:before{margin-right:13px;width:3px;height:3px}.visual-note{left:20px;right:20px}.container{width:calc(100% - 40px)}section{padding:48px 0}.section-heading{margin-bottom:30px}.section-heading>p:last-child{font-size:14px}.section-heading br{display:none}.section-heading h2{font-size:29px;line-height:1.3}.eyebrow{font-size:9px;letter-spacing:2.2px}.about-grid{grid-template-columns:1fr;gap:18px}.about-grid p{font-size:14px}.check-list li{font-size:13px}.topic-card{padding:28px}.topic-card h3{font-size:20px}.topic-card p{font-size:13px}.banner-inner h2{font-size:25px}.banner-inner p:last-child{font-size:13px}.details-grid{grid-template-columns:1fr}.details-grid>div{padding:23px 0}.section-note{font-size:10px}.faq-list summary{font-size:15px}.faq-list p{font-size:13px}.contact-card{padding:27px 21px}.contact-card>a{font-size:13px}.contact-card h3{font-size:16px}.address-card{flex-direction:column;align-items:flex-start;padding:27px;gap:25px}.address-card .eyebrow{font-size:8px}.address-card address{font-size:13px}.footer-inner{flex-direction:column;gap:13px}.footer-name{font-size:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
