:root{--red:#bc2026;--red-dark:#97191e;--ink:#202020;--muted:#555;--paper:#f2f2f2;--heading:'Barlow',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}h1,h2,h3{font-family:var(--heading);line-height:1.12;margin:0 0 20px;font-weight:700}p{margin:0 0 22px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #397bba;outline-offset:4px}.wrap{width:min(1180px,100%);padding-inline:32px;margin-inline:auto}.narrow{max-width:880px}.skip{position:fixed;top:-60px;left:16px;background:#fff;padding:10px;z-index:30}.skip:focus{top:10px}.masthead{min-height:122px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;width:310px;height:114px;overflow:hidden;flex-shrink:0}.brand img{width:100%;height:100%;object-fit:cover;object-position:center 32%;max-width:none}.header-contact{text-align:right}.header-contact>span{display:block;font-size:13px}.header-contact>a{display:block;color:var(--red);font:800 32px/1.2 var(--heading)}.header-contact small{font-size:11px;color:var(--muted)}.nav-bar{background:var(--red);color:#fff}nav{display:flex;justify-content:space-between;gap:12px}nav a{font:700 16px/1.2 var(--heading);text-transform:uppercase;padding:18px 8px}nav a:hover{background:var(--red-dark)}.menu-toggle{display:none}.hero{height:500px;position:relative;background:#363936;isolation:isolate;overflow:hidden}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 55%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0007,transparent 70%);z-index:-1}.hero-inner{height:100%;display:flex;align-items:center}.hero-panel{width:490px;background:#151515f2;color:white}.hero-kicker{padding:18px 26px 0;margin:0;background:var(--red);font:600 12px/1.3 var(--heading);letter-spacing:1.8px}.hero h1{font-size:42px;padding:10px 26px 22px;margin:0;background:var(--red)}.hero-details{padding:24px 26px}.hero-details>p{font-size:18px;line-height:1.6;margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--red);border:0;color:white;padding:13px 24px;font:700 16px/1.3 var(--heading);border-radius:3px;text-align:center}.button:hover{background:var(--red-dark)}.hero-rating{display:block;font-size:12px;margin-top:20px}.stars{color:#bf7814;letter-spacing:3px;font-size:18px}.hero-rating .stars{color:#ffc45d;font-size:15px;display:inline-block;margin-right:9px}.hero-caption{position:absolute;right:25px;bottom:15px;background:#171717ce;color:#fff;font-size:11px;padding:5px 10px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-block:16px}.quick-actions>a{background:#272727;color:#fff;padding:23px 24px}.quick-actions>a:first-child{background:#111}.quick-actions>a:last-child{background:#454545}.quick-actions>a:hover{background:var(--red)}.quick-actions strong{display:block;font:700 23px/1.1 var(--heading);margin-bottom:9px}.quick-actions span{font-size:13px;line-height:1.5;display:block;color:#eee}.section{padding-block:68px}.intro{background:var(--paper);text-align:center}.section-title{font-size:39px;text-transform:uppercase;color:var(--red);font-weight:800}.intro .section-title:after{content:'';width:45px;height:4px;background:#242424;display:block;margin:24px auto 30px}.intro>div>p{max-width:740px;margin-inline:auto;color:#4a4a4a}.service-list{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:8px 45px;max-width:600px;margin:30px auto 36px}.service-list>a:before{content:'›';font:bold 18px Arial;display:inline-grid;place-items:center;background:var(--red);color:#fff;width:18px;height:18px;border-radius:50%;margin-right:10px}.service-list>a:hover{color:var(--red)}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:35px 0 10px}.intro-columns h3{font-size:28px;color:var(--red)}.intro-columns p{font-size:15px;color:#555}.service-section{background:#292929;color:#fff;padding:0 0 50px;border-top:55px solid var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;position:relative;top:-45px;margin-bottom:-10px}.service-card{display:flex;align-items:center;flex-direction:column;text-align:center;scroll-margin-top:50px}.service-card>img{width:100%;height:240px;object-fit:cover;border:5px solid white;margin-bottom:25px}.service-card h2{font-size:28px;text-transform:uppercase}.service-card p{font-size:15px;line-height:1.75;color:#eee}.service-card>.button{margin-top:auto}.cooling-row{display:flex;align-items:center;gap:60px;border-top:1px solid #ffffff36;padding-top:32px}.cooling-row h2{font-size:29px;text-transform:uppercase;margin-bottom:12px}.cooling-row p{font-size:15px;max-width:690px;margin:0;color:#eee}.cooling-row .button{flex-shrink:0}.review-heading,.work-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:32px}.review-heading h2{margin-bottom:12px}.review-heading p{margin:0;color:var(--muted)}.underlined{color:var(--red);font-size:14px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.review-grid article{border-top:2px solid #ddd;padding-top:24px;display:flex;flex-direction:column}.review-grid blockquote{font-size:19px;line-height:1.6;margin:15px 0 24px;flex:1}.review-grid b{font-size:14px}.review-grid small{font-size:12px;color:#666}.source-note{font-size:11px;color:#666;margin:22px 0 0}.work{background:var(--paper)}.work-heading h2{margin:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project{display:block;background:#fff;border:0;padding:0;color:var(--ink);text-align:left}.project>img{width:100%;height:300px;object-fit:cover}.project>span{display:flex;justify-content:space-between;gap:20px;font:600 20px/1.2 var(--heading);padding:18px}.project>span>span{color:var(--red)}.project:hover>span{color:var(--red)}.contact{background:var(--red);color:white;padding-block:43px}.contact .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact h2{font-size:33px;text-transform:uppercase;margin-bottom:10px}.contact p{margin:0;font-size:14px}.contact a{font:800 38px/1.1 var(--heading);white-space:nowrap}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:60px}.faq .section-title{font-size:33px}.faq>div>p{color:#666;font-size:14px}details{border-bottom:1px solid #ddd}details:first-child{border-top:1px solid #ddd}summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;font-size:15px;font-weight:bold;padding-block:20px}summary::-webkit-details-marker{display:none}summary span{color:var(--red);font-size:24px;font-weight:normal}details[open] summary span{transform:rotate(45deg)}details>p{font-size:14px;color:#555}details a{color:var(--red);text-decoration:underline}footer{background:#202020;color:white}.footer-top{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:50px;padding-block:50px}.footer-top h2{font-size:27px}.footer-top h3{font-size:21px;text-transform:uppercase}.footer-top p{font-size:14px;color:#bbb;margin-bottom:14px}.footer-top>div>a{display:block;font-size:14px;color:#ccc;margin-block:6px}.footer-top>div>a:hover{color:#fff;text-decoration:underline}.footer-top>div>.footer-phone{font:700 24px var(--heading);color:white}.footer-bottom{border-top:1px solid #ffffff29;display:flex;justify-content:space-between;padding-block:22px;font-size:12px;color:#bbb}.mobile-call{display:none}dialog{border:0;padding:40px;max-width:620px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 70px #0006}dialog::backdrop{background:#000b}.close-dialog{position:absolute;right:12px;top:4px;background:transparent;border:0;font-size:30px;color:inherit;padding:4px 8px}dialog h2{font-size:34px;color:var(--red);padding-right:20px}dialog p,dialog li{font-size:15px}dialog ul{padding-left:20px;margin-bottom:25px}dialog li{margin-bottom:9px}#photo-dialog{max-width:1000px;background:#222;color:white;padding:42px 20px 15px}#photo-dialog img{max-height:70vh;width:100%;object-fit:contain}#photo-dialog p{font-size:12px;text-align:center;margin:14px 0 0}
.brand img{width:calc(100% + 6px);margin-left:-3px}
.hero-image{top:0;left:0}
@media(min-width:1600px){.hero{height:560px}}
@media(max-width:950px){.wrap{padding-inline:24px}nav a{font-size:14px;padding:17px 4px}.hero{height:460px}.hero-panel{width:450px}.hero h1{font-size:38px}.quick-actions strong{font-size:21px}.quick-actions>a{padding:20px}.service-grid{gap:22px}.service-card>img{height:210px}.review-heading,.work-heading{align-items:start;flex-direction:column;gap:16px}.section-title{font-size:35px}.cooling-row{gap:30px}.contact a{font-size:31px}.contact h2{font-size:29px}.faq{gap:35px}.project>img{height:260px}.project>span{font-size:18px}}
@media(max-width:650px){.wrap{padding-inline:20px}.masthead{min-height:98px;gap:10px}.brand{width:235px;height:91px}.header-contact{display:none}.menu-toggle{display:flex;gap:9px;align-items:center;border:0;background:none;padding:12px 0 12px 8px;color:#222;font:700 15px var(--heading)}.menu-toggle span{font-size:21px}.nav-bar{position:relative}nav{display:none}nav.open{display:flex;flex-direction:column;gap:0;padding-block:10px}nav a{font-size:16px;padding:12px 6px}.hero{height:auto;padding:225px 0 0;background:#181818}.hero-image{height:260px;object-position:center 57%}.hero:after{background:linear-gradient(transparent 160px,#181818 260px)}.hero-inner{display:block;padding-inline:20px}.hero-panel{width:100%;background:#181818;margin-bottom:24px}.hero-kicker{padding:15px 22px 0}.hero h1{font-size:35px;padding:9px 22px 20px}.hero-details{padding:23px 0 0}.hero-details>p{font-size:16px}.hero-details .button{width:100%;padding-block:15px}.hero-rating{font-size:12px;margin-top:18px;text-align:center}.hero-rating .stars{font-size:12px;letter-spacing:2px;margin-right:5px}.hero-caption{top:14px;bottom:auto;right:14px;font-size:10px}.quick-actions{grid-template-columns:1fr;gap:8px;padding-block:12px}.quick-actions>a{padding:17px 20px}.quick-actions strong{font-size:22px;margin-bottom:5px}.quick-actions span{font-size:12px}.section{padding-block:45px}.section-title{font-size:32px}.intro .section-title:after{margin:20px auto 26px}.intro>div>p{font-size:15px}.service-list{gap:14px 15px;font-size:14px}.intro-columns{grid-template-columns:1fr;gap:7px;margin-top:30px}.intro-columns h3{font-size:26px;margin-bottom:13px}.intro-columns p{font-size:14px}.service-section{border-top:30px solid var(--paper);padding-bottom:35px}.service-grid{grid-template-columns:1fr;top:-25px;gap:36px}.service-card>img{height:265px;margin-bottom:22px}.service-card h2{font-size:29px;margin-bottom:15px}.service-card p{font-size:15px;max-width:440px}.service-card .button{width:100%}.cooling-row{display:block;margin-top:14px;padding-top:28px}.cooling-row h2{font-size:29px}.cooling-row .button{margin-top:23px;width:100%}.review-heading p{font-size:14px}.review-grid{grid-template-columns:1fr;gap:27px}.review-grid blockquote{font-size:19px;margin-bottom:18px}.gallery{grid-template-columns:1fr;gap:22px}.project>img{height:310px}.project>span{font-size:21px}.contact .wrap{display:block}.contact h2{font-size:29px}.contact p{font-size:14px;margin-bottom:24px}.contact a{font-size:37px}.faq{grid-template-columns:1fr;gap:15px}.faq .section-title{font-size:31px;margin-bottom:14px}summary{font-size:14px}.footer-top{grid-template-columns:1fr 1fr;gap:30px;padding-block:38px}.footer-top>div:first-child{grid-column:1/-1}.footer-top h3{font-size:19px}.footer-top>div>a{font-size:13px}.footer-bottom{font-size:11px;padding-bottom:85px}.mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:16px 20px max(16px,env(safe-area-inset-bottom));background:var(--red);color:#fff;font:600 16px var(--heading);box-shadow:0 -1px 8px #0003}.mobile-call b{font-size:19px}dialog{padding:35px 24px}dialog h2{font-size:29px}}
@media(max-width:360px){.brand{width:210px;height:86px}.hero h1{font-size:30px}.service-list{grid-template-columns:1fr}.contact a{font-size:33px}.hero-rating .stars{display:block;margin-bottom:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.dealer-label{text-align:center;flex-shrink:0;padding:10px 22px;border-left:1px solid #dedede;border-right:1px solid #dedede;font-family:var(--heading);line-height:1.1}.dealer-label img{width:180px;height:auto;margin:0 auto 10px}.dealer-label span{display:block;font-size:13px;font-weight:600;letter-spacing:.6px;color:#555}
@media(min-width:651px) and (max-width:850px){.masthead{gap:14px}.brand{width:220px;height:90px}.dealer-label{padding-inline:12px}.dealer-label img{width:135px}.dealer-label span{font-size:11px}.header-contact>a{font-size:24px}.header-contact>span{font-size:12px}.header-contact small{font-size:10px}}
@media(max-width:650px){.masthead{display:grid;grid-template-columns:1fr auto;gap:0 10px}.masthead .brand{grid-column:1;grid-row:1}.menu-toggle{grid-column:2;grid-row:1}.dealer-label{grid-column:1/-1;grid-row:2;border:0;border-top:1px solid #e5e5e5;padding:12px 0 14px}.dealer-label img{width:155px;margin-bottom:8px}.dealer-label span{font-size:12px}}
.contact a.alt-link{font:700 16px/1.3 var(--heading);white-space:normal;text-decoration:underline;display:inline-block;margin-top:10px;padding:6px 0}
.button.secondary{background:transparent;color:var(--red);border:2px solid var(--red);margin-top:10px}.button.secondary:hover{background:var(--red);color:#fff}dialog .button{display:flex}
.request{background:#f7f6f3}.request-intro a,.urgent-note a,.form-message a{color:var(--red);font-weight:700;text-decoration:underline}.request form{margin-top:28px}
.request fieldset{border:0;margin:0 0 32px;padding:0;min-width:0}.request legend{font:700 24px/1.2 var(--heading);padding:0 0 14px;margin:0;color:var(--ink)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.form-grid .full{grid-column:1/-1}.field{min-width:0}
.request label,.request .label{display:block;font-weight:700;font-size:15px;margin-bottom:6px}.request .req{color:var(--red)}.request .opt{font-weight:400;color:var(--muted)}
.request input[type=text],.request input[type=tel],.request input[type=email],.request select,.request textarea{display:block;width:100%;min-height:48px;padding:12px 14px;font:16px/1.4 Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;border:1px solid #8a8d91;border-radius:6px}
.request textarea{resize:vertical;min-height:130px}.request input:focus-visible,.request select:focus-visible,.request textarea:focus-visible{outline:3px solid #397bba;outline-offset:2px;border-color:#397bba}
.request input:user-invalid,.request select:user-invalid,.request textarea:user-invalid{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.request small{display:block;margin-top:5px;font-size:13px;color:var(--muted)}
.choices{display:flex;flex-wrap:wrap;gap:10px}.choices.stack{flex-direction:column}
.request label.choice{display:flex;align-items:center;gap:10px;min-height:48px;margin:0;padding:8px 14px;font-weight:400;font-size:16px;background:#fff;border:1px solid #8a8d91;border-radius:6px;cursor:pointer}
.request .choice input{width:22px;height:22px;flex-shrink:0;margin:0;accent-color:var(--red)}.request .choice:has(input:checked){border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.request .choice:has(input:focus-visible){outline:3px solid #397bba;outline-offset:2px}
.request label.consent{align-items:flex-start;margin-bottom:20px}.urgent-note{margin:12px 0 0;padding:12px 14px;background:#fff;border-left:4px solid var(--red);font-size:15px}
.request .button{min-height:52px;border-radius:6px;padding-inline:36px}.request .button:disabled{opacity:.7;cursor:wait}.privacy-note{margin:12px 0 0;font-size:13px;color:var(--muted)}
.form-message{margin:0 0 20px;padding:16px 18px;border-radius:6px;font-size:16px}.form-message[role=alert]{background:#fdecea;border:1px solid var(--red)}.form-message[role=status]{background:#fff;border:1px solid #8a8d91;border-left:4px solid var(--red)}.form-message:focus{outline:3px solid #397bba}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){.request .wrap{padding-inline:16px}.form-grid{grid-template-columns:1fr}.request .button{width:100%}.request legend{font-size:22px}}
/* Hero photo sits on the right on wider screens so the equipment is not hidden behind the text panel. */
@media(min-width:651px){.hero{background:#1c1d1c}.hero-image{left:auto;right:0;width:60%;object-position:50% 74%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%);mask-image:linear-gradient(90deg,transparent,#000 22%)}}
@media(max-width:650px){.hero-image{object-position:center 68%}}
