Apex Heating & Cooling | Up to $24,500 CleanBC Heat Pump Rebate | BC Licensed

{“@context”:”https://schema.org”,”@graph”:[{“@type”:[“HVACBusiness”,”LocalBusiness”],”@id”:”https://apexheatpumps.ca/#business”,”name”:”Apex Heating & Cooling Ltd.”,”url”:”https://apexheatpumps.ca”,”telephone”:”+16044426711″,”email”:”info@apexheatpumps.ca”,”address”:{“@type”:”PostalAddress”,”addressLocality”:”New Westminster”,”addressRegion”:”BC”,”addressCountry”:”CA”},”areaServed”:[{“@type”:”City”,”name”:”New Westminster”},{“@type”:”City”,”name”:”Vancouver”},{“@type”:”City”,”name”:”Burnaby”},{“@type”:”City”,”name”:”Surrey”},{“@type”:”City”,”name”:”Coquitlam”},{“@type”:”City”,”name”:”Richmond”},{“@type”:”City”,”name”:”Langley”},{“@type”:”City”,”name”:”Abbotsford”},{“@type”:”City”,”name”:”Chilliwack”},{“@type”:”City”,”name”:”Maple Ridge”},{“@type”:”City”,”name”:”Kamloops”}],”hasCredential”:{“@type”:”EducationalOccupationalCredential”,”name”:”Technical Safety BC Gas Contractor Licence”,”identifier”:”LIC-00215095″},”memberOf”:{“@type”:”ProgramMembership”,”programName”:”CleanBC Better Homes Energy Savings Program”}},{“@type”:”FAQPage”,”mainEntity”:[{“@type”:”Question”,”name”:”How much is the CleanBC heat pump rebate?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”The CleanBC Energy Savings Program offers up to $16,000 for heat pump installation, and up to $24,500 when electrical upgrades are included.”}}]}]}

:root {
–gold:#C9A84C; –gold-light:#E8C96A; –gold-dark:#A07830;
–gold-pale:#F5E0A0; –gold-rich:#D4AF37; –gold-deep:#8B6914;
–gold-glow:rgba(201,168,76,0.20);
–black:#080808; –black2:#0f0f0f; –black3:#161616; –black4:#1e1e1e;
–white:#FFFFFF; –cream:#FBF5E6;
–grey1:#C0C0C0; –grey2:#888888; –grey3:#444444;
–display:’Playfair Display’,serif; –body:’Outfit’,sans-serif; –impact:’Bebas Neue’,cursive;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(–black);color:var(–white);font-family:var(–body);overflow-x:hidden;line-height:1}
body::after{content:”;position:fixed;inset:0;background-image:url(“data:image/svg+xml,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’300′ height=’300’%3E%3Cfilter id=’n’%3E%3CfeTurbulence type=’fractalNoise’ baseFrequency=’0.75′ numOctaves=’4′ stitchTiles=’stitch’/%3E%3CfeColorMatrix type=’saturate’ values=’0’/%3E%3C/filter%3E%3Crect width=’300′ height=’300′ filter=’url(%23n)’ opacity=’0.03’/%3E%3C/svg%3E”);pointer-events:none;z-index:9000}

/* MOBILE BAR */
.mob-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:8999;background:var(–gold)}
.mob-bar a{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 20px;font-family:var(–impact);font-size:20px;letter-spacing:0.1em;color:var(–black);text-decoration:none}
@media(max-width:768px){.mob-bar{display:block}body{padding-bottom:54px}}

/* HEADER */
header{position:sticky;top:0;z-index:500;background:rgba(8,8,8,0.96);backdrop-filter:blur(24px);border-bottom:3px solid var(–gold)}
.hdr{max-width:1440px;margin:0 auto;padding:0 48px;height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0}
.logo img{height:46px;width:auto}
.logo-text{font-family:var(–impact);font-size:26px;letter-spacing:0.12em;color:var(–gold);text-transform:uppercase;line-height:1.1;display:block}
.logo-sub{font-family:var(–body);font-size:10px;color:var(–grey2);letter-spacing:0.18em;text-transform:uppercase;display:block}
nav ul{display:flex;list-style:none;gap:28px}
nav a{font-family:var(–body);font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(–grey1);text-decoration:none;transition:color 0.2s;position:relative;padding-bottom:2px}
nav a::after{content:’’;position:absolute;bottom:0;left:0;right:0;height:1px;background:var(–gold);transform:scaleX(0);transform-origin:left;transition:transform 0.25s}
nav a:hover{color:var(–gold)} nav a:hover::after{transform:scaleX(1)}
.hdr-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.hdr-phone{font-family:var(–impact);font-size:21px;letter-spacing:0.05em;color:var(–gold);text-decoration:none;transition:color 0.2s}
.hdr-phone:hover{color:var(–gold-light)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(–impact);font-size:14px;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;padding:13px 30px;position:relative;overflow:hidden;transition:color 0.3s}
.btn-gold{background:var(–gold);color:var(–black);clip-path:polygon(0 0,calc(100% – 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% – 12px))}
.btn-gold::before{content:’’;position:absolute;inset:0;background:var(–gold-light);transform:translateX(-101%);transition:transform 0.35s}
.btn-gold:hover::before{transform:translateX(0)} .btn-gold>*{position:relative;z-index:1}
.btn-outline{background:transparent;color:var(–gold);border:2px solid var(–gold);clip-path:polygon(0 0,calc(100% – 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% – 12px))}
.btn-outline:hover{background:rgba(201,168,76,0.1)}
.btn-black{background:var(–black);color:var(–gold);clip-path:polygon(0 0,calc(100% – 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% – 12px))}
.btn-black::before{content:’’;position:absolute;inset:0;background:var(–black3);transform:translateX(-101%);transition:transform 0.35s}
.btn-black:hover::before{transform:translateX(0)} .btn-black>*{position:relative;z-index:1}
@media(max-width:1100px){nav{display:none}} @media(max-width:640px){.hdr{padding:0 20px}.hdr-phone{display:none}}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse 80% 70% at 65% 50%,rgba(201,168,76,0.07) 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 5% 95%,rgba(201,168,76,0.04) 0%,transparent 50%),var(–black)}
.bg-lines{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.bg-lines span{position:absolute;width:1px;background:linear-gradient(to bottom,transparent,rgba(201,168,76,0.2),transparent);animation:linePulse 10s ease-in-out infinite}
.bg-lines span:nth-child(1){left:8%;height:70%;top:15%;animation-delay:0s} .bg-lines span:nth-child(2){left:22%;height:45%;top:30%;animation-delay:2.5s}
.bg-lines span:nth-child(3){left:50%;height:60%;top:10%;animation-delay:1.2s} .bg-lines span:nth-child(4){left:72%;height:80%;top:5%;animation-delay:3.5s}
.bg-lines span:nth-child(5){right:8%;height:50%;top:25%;animation-delay:1.8s}
@keyframes linePulse{0%,100%{opacity:0;transform:scaleY(0.4)} 50%{opacity:1;transform:scaleY(1)}}
.hero-slab{position:absolute;top:-10%;right:-8%;width:52%;height:120%;background:linear-gradient(145deg,transparent 0%,rgba(201,168,76,0.04) 25%,rgba(201,168,76,0.09) 50%,rgba(201,168,76,0.04) 75%,transparent 100%);transform:skewX(-6deg);pointer-events:none}
.hero-slab::after{content:’’;position:absolute;top:0;left:40%;width:2px;height:100%;background:linear-gradient(to bottom,transparent,rgba(201,168,76,0.45) 30%,rgba(201,168,76,0.45) 70%,transparent)}
.hero-bracket-tl{position:absolute;top:56px;left:56px;width:72px;height:72px;border-top:2px solid rgba(201,168,76,0.7);border-left:2px solid rgba(201,168,76,0.7);pointer-events:none}
.hero-bracket-br{position:absolute;bottom:56px;right:56px;width:72px;height:72px;border-bottom:2px solid rgba(201,168,76,0.35);border-right:2px solid rgba(201,168,76,0.35);pointer-events:none}
.hero-inner{position:relative;z-index:2;max-width:1440px;margin:0 auto;padding:0 48px;display:grid;grid-template-columns:1fr 420px;gap:64px;align-items:center;width:100%}
@media(max-width:1100px){.hero-inner{grid-template-columns:1fr}.hero-card{display:none}} @media(max-width:640px){.hero-inner{padding:0 20px}}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px}
.eyebrow-dot{width:8px;height:8px;background:var(–gold);border-radius:50%;animation:dotPulse 2.2s ease-in-out infinite;box-shadow:0 0 0 0 rgba(201,168,76,0.5)}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,0.5)} 50%{box-shadow:0 0 0 8px rgba(201,168,76,0)}}
.eyebrow-text{font-family:var(–body);font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(–gold)}
.hero h1{font-family:var(–impact);font-size:clamp(72px,10vw,140px);line-height:0.9;letter-spacing:0.015em;text-transform:uppercase;margin-bottom:10px}
.h1-l1{color:var(–white);display:block} .h1-l2{color:transparent;-webkit-text-stroke:2px var(–gold);display:block;line-height:0.95}
.h1-l3{color:var(–gold);display:block;text-shadow:0 0 80px rgba(201,168,76,0.5),0 0 160px rgba(201,168,76,0.2)}
.hero-sub{font-family:var(–impact);font-size:clamp(16px,2vw,22px);letter-spacing:0.14em;text-transform:uppercase;color:var(–grey1);margin-bottom:28px;display:flex;align-items:center;gap:14px}
.hero-sub::before{content:’’;display:block;width:40px;height:1px;background:var(–gold);flex-shrink:0}
.hero-desc{font-size:17px;color:var(–grey1);line-height:1.72;max-width:540px;margin-bottom:40px}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:60px} .hero-btns .btn{font-size:15px;padding:16px 36px}
.hero-stats{border-top:1px solid rgba(201,168,76,0.25);padding-top:40px;display:grid;grid-template-columns:repeat(4,1fr)}
.hstat{padding:0 24px;border-right:1px solid rgba(201,168,76,0.14)} .hstat:first-child{padding-left:0} .hstat:last-child{border-right:none}
.hstat-n{font-family:var(–impact);font-size:clamp(28px,4vw,52px);color:var(–gold);letter-spacing:0.02em;line-height:1;margin-bottom:6px}
.hstat-l{font-size:11px;color:var(–grey2);letter-spacing:0.1em;text-transform:uppercase}
/* HERO CARD */
.hero-card{background:linear-gradient(135deg,#1a1400 0%,#0f0d00 50%,#161000 100%);border:1px solid var(–gold);position:relative;overflow:hidden;box-shadow:0 0 60px rgba(201,168,76,0.15),inset 0 0 40px rgba(201,168,76,0.03)}
.hero-card::before{content:’’;position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(–gold-dark),var(–gold),var(–gold-light),var(–gold),var(–gold-dark))}
.hero-card::after{content:’’;position:absolute;bottom:14px;right:14px;width:28px;height:28px;border-bottom:1px solid rgba(201,168,76,0.5);border-right:1px solid rgba(201,168,76,0.5)}
.hcard-hd{padding:28px 28px 20px;border-bottom:1px solid rgba(201,168,76,0.2);background:rgba(201,168,76,0.08)}
.hcard-lbl{font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(–gold);margin-bottom:8px}
.hcard-ttl{font-family:var(–display);font-size:20px;font-weight:700;color:var(–white);line-height:1.2}
.hcard-tiers{padding:20px 28px}
.hcard-tier{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(201,168,76,0.1)}
.hcard-tier:last-child{border-bottom:none}
.hcard-tier-name{font-size:13px;color:var(–grey1);margin-bottom:2px} .hcard-tier-sub{font-size:11px;color:var(–grey2)}
.hcard-tier-amt{font-family:var(–impact);font-size:26px;color:var(–gold);letter-spacing:0.03em}
.hcard-total{padding:18px 28px;background:linear-gradient(135deg,rgba(201,168,76,0.2) 0%,rgba(201,168,76,0.08) 100%);border-top:2px solid var(–gold);display:flex;justify-content:space-between;align-items:center}
.hcard-total-lbl{font-size:11px;color:var(–gold);letter-spacing:0.08em;text-transform:uppercase;font-weight:600}
.hcard-total-amt{font-family:var(–impact);font-size:36px;color:var(–gold-light);letter-spacing:0.03em}
.hcard-cta{padding:20px 28px 28px}
.hcard-note{font-size:11px;color:var(–grey2);text-align:center;margin-top:12px;line-height:1.5}

/* TRUST STRIP — GOLD BG */
.trust{background:linear-gradient(to right,var(–gold-deep),var(–gold-dark),var(–gold),var(–gold-rich),var(–gold),var(–gold-dark),var(–gold-deep));position:relative}
.trust::before{content:’’;position:absolute;inset:0;background:repeating-linear-gradient(-55deg,transparent,transparent 20px,rgba(0,0,0,0.05) 20px,rgba(0,0,0,0.05) 40px)}
.trust-inner{max-width:1440px;margin:0 auto;display:flex;align-items:stretch;position:relative;z-index:1}
.trust-item{flex:1;display:flex;align-items:center;gap:12px;padding:22px 28px;border-right:1px solid rgba(0,0,0,0.18);font-size:13px;color:var(–black);font-weight:700;letter-spacing:0.04em}
.trust-item:last-child{border-right:none} .trust-icon{font-size:22px;flex-shrink:0}
@media(max-width:900px){.trust-inner{flex-wrap:wrap}.trust-item{flex:1 1 50%;border-bottom:1px solid rgba(0,0,0,0.12)}} @media(max-width:500px){.trust-item{flex:1 1 100%}}

/* SECTION COMMON */
.s{padding:120px 0;position:relative}
.s-in{max-width:1440px;margin:0 auto;padding:0 48px} @media(max-width:640px){.s-in{padding:0 20px}}
.tag{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(–gold);margin-bottom:16px}
.tag::before{content:’’;width:14px;height:1px;background:var(–gold);display:block}
.tag-dk{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:rgba(0,0,0,0.55);margin-bottom:16px}
.tag-dk::before{content:’’;width:14px;height:1px;background:rgba(0,0,0,0.4);display:block}
.sh{font-family:var(–display);font-size:clamp(36px,5vw,62px);font-weight:900;line-height:1.05;color:var(–white);margin-bottom:14px}
.sh em{color:var(–gold);font-style:normal}
.sh-dk{font-family:var(–display);font-size:clamp(36px,5vw,62px);font-weight:900;line-height:1.05;color:var(–black);margin-bottom:14px}
.sh-dk em{font-style:italic;font-weight:400;color:rgba(0,0,0,0.7)}
.sh-rule{display:block;width:56px;height:2px;background:linear-gradient(to right,var(–gold),var(–gold-dark));margin-top:20px}
.sh-rule.center{margin-inline:auto}
.sh-rule-dk{display:block;width:56px;height:2px;background:rgba(0,0,0,0.25);margin-top:20px}
.sd{font-size:17px;color:var(–grey1);line-height:1.7;max-width:560px}
.sd-dk{font-size:17px;color:rgba(0,0,0,0.6);line-height:1.7;max-width:560px}

/* HOW IT WORKS — GOLD BG */
.how{background:linear-gradient(135deg,var(–gold-deep) 0%,var(–gold-dark) 20%,var(–gold) 50%,var(–gold-rich) 80%,var(–gold-dark) 100%);position:relative;overflow:hidden}
.how::before{content:’’;position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 30px,rgba(0,0,0,0.04) 30px,rgba(0,0,0,0.04) 60px)}
.how::after{content:‘HOW’;position:absolute;font-family:var(–impact);font-size:clamp(150px,22vw,340px);color:rgba(0,0,0,0.07);line-height:1;bottom:-40px;right:-20px;pointer-events:none;user-select:none}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;gap:2px;position:relative;z-index:1}
@media(max-width:900px){.how-grid{grid-template-columns:repeat(2,1fr)}} @media(max-width:500px){.how-grid{grid-template-columns:1fr}}
.how-card{padding:48px 36px;position:relative;overflow:hidden;background:rgba(0,0,0,0.14);backdrop-filter:blur(4px);transition:background 0.3s}
.how-card:hover{background:rgba(0,0,0,0.24)}
.how-num{position:absolute;top:-16px;right:8px;font-family:var(–impact);font-size:110px;line-height:1;color:rgba(0,0,0,0.1);pointer-events:none;user-select:none}
.how-card::after{content:’’;position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,0.4);transform:scaleX(0);transform-origin:left;transition:transform 0.4s}
.how-card:hover::after{transform:scaleX(1)}
.how-icon{font-size:38px;margin-bottom:24px;display:block}
.how-title{font-family:var(–impact);font-size:22px;letter-spacing:0.05em;text-transform:uppercase;color:var(–black);margin-bottom:12px}
.how-desc{font-size:14px;color:rgba(0,0,0,0.65);line-height:1.65}

/* SERVICES */
.services{background:var(–black)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:var(–gold);margin-top:64px}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr;gap:3px}}
.svc-card{background:var(–black3);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform 0.3s}
.svc-card:hover{transform:translateY(-6px);z-index:2}
.svc-card::before{content:’’;position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 80px 80px 0;border-color:transparent rgba(201,168,76,0.14) transparent transparent;transition:border-color 0.3s}
.svc-card:hover::before{border-color:transparent rgba(201,168,76,0.3) transparent transparent}
.svc-body{padding:48px 36px 32px;flex:1}
.svc-icon{width:64px;height:64px;background:rgba(201,168,76,0.1);border:1px solid var(–gold);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:28px;position:relative}
.svc-icon::after{content:’’;position:absolute;bottom:-5px;right:-5px;width:12px;height:12px;border-bottom:2px solid var(–gold);border-right:2px solid var(–gold)}
.svc-name{font-family:var(–impact);font-size:22px;letter-spacing:0.05em;text-transform:uppercase;color:var(–white);margin-bottom:8px}
.svc-rebate{font-family:var(–display);font-size:52px;font-weight:900;color:var(–gold);line-height:1;margin-bottom:16px;text-shadow:0 0 40px rgba(201,168,76,0.3)}
.svc-desc{font-size:14px;color:var(–grey1);line-height:1.65}
.svc-foot{padding:20px 36px;background:linear-gradient(to right,rgba(201,168,76,0.1),rgba(201,168,76,0.03));border-top:1px solid var(–gold);display:flex;align-items:center;justify-content:space-between}
.svc-link{font-family:var(–impact);font-size:14px;letter-spacing:0.1em;text-transform:uppercase;color:var(–gold);text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:gap 0.2s}
.svc-link:hover{gap:14px}
.svc-badge{font-size:10px;color:var(–grey2);letter-spacing:0.08em;text-transform:uppercase}

/* REBATES — FULL GOLD BG */
.rebates{background:linear-gradient(160deg,var(–gold-deep) 0%,var(–gold-dark) 20%,var(–gold) 45%,var(–gold-rich) 75%,var(–gold-dark) 100%);overflow:hidden;position:relative}
.rebates::before{content:’’;position:absolute;inset:0;background:url(“data:image/svg+xml,%3Csvg xmlns=‘http://www.w3.org/2000/svg’ width=‘80’ height=‘80’%3E%3Cpath d=‘M0 80L80 0M-20 20L20-20M60 100L100 60’ stroke=‘rgba(0,0,0,0.05)’ stroke-width=‘1’/%3E%3C/svg%3E”)}
.rebates-wm{position:absolute;font-family:var(–impact);font-size:clamp(120px,20vw,280px);color:rgba(0,0,0,0.07);top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;user-select:none;letter-spacing:0.05em}
.rebates-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;position:relative;z-index:1}
@media(max-width:900px){.rebates-layout{grid-template-columns:1fr;gap:48px}}
.rtable{border:2px solid rgba(0,0,0,0.2);overflow:hidden;margin-top:32px;background:rgba(0,0,0,0.1)}
.rtable-head{background:rgba(0,0,0,0.28);display:grid;grid-template-columns:1.5fr 1fr 1fr;padding:14px 24px}
.rtable-head span{font-family:var(–impact);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,245,200,0.9)}
.rrow{display:grid;grid-template-columns:1.5fr 1fr 1fr;padding:18px 24px;border-bottom:1px solid rgba(0,0,0,0.1);align-items:center;transition:background 0.2s}
.rrow:hover{background:rgba(0,0,0,0.08)}
.rrow-lvl{font-size:14px;color:rgba(0,0,0,0.75);font-weight:600} .rrow-lvl small{display:block;font-size:11px;color:rgba(0,0,0,0.45);margin-top:2px}
.rrow-amt{font-family:var(–impact);font-size:24px;color:var(–black);letter-spacing:0.03em}
.rrow-note{font-size:11px;color:rgba(0,0,0,0.45);line-height:1.4}
.rrow-total{background:rgba(0,0,0,0.2);border-top:2px solid rgba(0,0,0,0.3)!important}
.rrow-total .rrow-lvl{font-weight:700;color:var(–black)} .rrow-total .rrow-amt{font-size:30px}
.elig{background:rgba(255,255,255,0.92);border:none;border-left:5px solid var(–black);padding:28px 32px;margin-top:24px}
.elig-ttl{font-family:var(–impact);font-size:15px;letter-spacing:0.1em;text-transform:uppercase;color:var(–black);margin-bottom:14px}
.elig-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.elig-list li{font-size:14px;color:rgba(0,0,0,0.7);line-height:1.5;padding-left:18px;position:relative}
.elig-list li::before{content:‘▸’;position:absolute;left:0;color:var(–gold-dark);font-size:11px;top:2px}
.svc-stack{border:2px solid rgba(0,0,0,0.2);margin-top:28px;background:rgba(0,0,0,0.12)}
.svc-row{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid rgba(0,0,0,0.1);transition:background 0.2s}
.svc-row:last-child{border-bottom:none} .svc-row:hover{background:rgba(0,0,0,0.08)}
.svc-row-name{font-size:14px;color:rgba(0,0,0,0.7);font-weight:600}
.svc-row-amt{font-family:var(–impact);font-size:20px;color:var(–black);letter-spacing:0.03em}
.svc-row-total{background:rgba(0,0,0,0.22);border-top:2px solid rgba(0,0,0,0.3)!important}
.svc-row-total .svc-row-name{color:var(–black);font-weight:700} .svc-row-total .svc-row-amt{font-size:28px}

/* AREAS */
.areas{background:var(–black2)}
.areas-grid{display:grid;grid-template-columns:repeat(6,1fr);border:2px solid var(–gold);margin-top:64px}
@media(max-width:1100px){.areas-grid{grid-template-columns:repeat(4,1fr)}} @media(max-width:700px){.areas-grid{grid-template-columns:repeat(3,1fr)}} @media(max-width:480px){.areas-grid{grid-template-columns:repeat(2,1fr)}}
.area-card{background:var(–black2);padding:26px 20px;border-right:1px solid rgba(201,168,76,0.2);border-bottom:1px solid rgba(201,168,76,0.2);transition:background 0.2s;cursor:default}
.area-card:hover{background:linear-gradient(135deg,rgba(201,168,76,0.14) 0%,rgba(201,168,76,0.04) 100%)}
.area-name{font-family:var(–impact);font-size:16px;letter-spacing:0.04em;text-transform:uppercase;color:var(–white);margin-bottom:3px}
.area-region{font-size:10px;color:var(–grey2);text-transform:uppercase;letter-spacing:0.1em}
.area-dot{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(–gold);margin-top:6px}
.area-dot::before{content:’’;width:5px;height:5px;background:var(–gold);border-radius:50%;flex-shrink:0}

/* WHY APEX */
.why{background:var(–black2)}
.why-layout{display:grid;grid-template-columns:1fr 460px;gap:80px;align-items:start}
@media(max-width:1000px){.why-layout{grid-template-columns:1fr;gap:48px}}
.why-list{margin-top:48px}
.why-item{display:grid;grid-template-columns:56px 1fr;gap:0;padding:28px 0;border-bottom:1px solid rgba(201,168,76,0.12)}
.why-item:first-child{padding-top:0;border-top:1px solid rgba(201,168,76,0.12)}
.why-n{font-family:var(–impact);font-size:52px;line-height:1;color:rgba(201,168,76,0.28);padding-top:4px}
.why-title{font-family:var(–impact);font-size:20px;letter-spacing:0.06em;text-transform:uppercase;color:var(–white);margin-bottom:8px}
.why-desc{font-size:14px;color:var(–grey1);line-height:1.65}
/* CREDENTIALS — FULL GOLD CARD */
.creds{background:linear-gradient(160deg,var(–gold-deep) 0%,var(–gold-dark) 25%,var(–gold) 60%,var(–gold-rich) 100%);position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(201,168,76,0.3)}
.creds::before{content:’’;position:absolute;inset:0;background:repeating-linear-gradient(-55deg,transparent,transparent 20px,rgba(0,0,0,0.05) 20px,rgba(0,0,0,0.05) 40px)}
.creds-hd{padding:28px 32px 22px;border-bottom:2px solid rgba(0,0,0,0.18);position:relative;z-index:1;background:rgba(0,0,0,0.14)}
.creds-title{font-family:var(–impact);font-size:18px;letter-spacing:0.1em;text-transform:uppercase;color:var(–black)}
.cred-item{padding:18px 32px;border-bottom:1px solid rgba(0,0,0,0.1);position:relative;z-index:1}
.cred-item:last-child{border-bottom:none}
.cred-lbl{font-size:10px;color:rgba(0,0,0,0.48);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:4px}
.cred-val{font-family:var(–impact);font-size:18px;color:var(–black);letter-spacing:0.04em}
.cred-sub{font-size:12px;color:rgba(0,0,0,0.58);margin-top:2px}
.creds-cta{padding:24px 32px 32px;position:relative;z-index:1}

/* CTA BANNER — DEEP GOLD */
.ctabanner{background:linear-gradient(135deg,var(–gold-deep) 0%,var(–gold-dark) 20%,var(–gold) 50%,var(–gold-rich) 78%,var(–gold-deep) 100%);padding:100px 48px;text-align:center;position:relative;overflow:hidden}
.ctabanner::before{content:’’;position:absolute;inset:0;background:repeating-linear-gradient(-55deg,transparent,transparent 16px,rgba(0,0,0,0.05) 16px,rgba(0,0,0,0.05) 32px)}
.ctabanner-wm{position:absolute;font-family:var(–impact);font-size:clamp(100px,18vw,260px);color:rgba(0,0,0,0.07);line-height:1;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;user-select:none}
.ctabanner-in{position:relative;z-index:1;max-width:700px;margin:0 auto}
.ctabanner-tag{font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:rgba(0,0,0,0.38);margin-bottom:14px}
.ctabanner h2{font-family:var(–display);font-size:clamp(32px,5vw,62px);font-weight:900;color:var(–black);line-height:1.05;margin-bottom:14px}
.ctabanner p{font-size:18px;color:rgba(0,0,0,0.58);margin-bottom:36px}
.ctabanner-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn-semi{background:rgba(0,0,0,0.18);color:var(–black);border:2px solid rgba(0,0,0,0.28);clip-path:polygon(0 0,calc(100% – 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% – 12px));font-family:var(–impact);font-size:16px;letter-spacing:0.12em;text-transform:uppercase;padding:18px 44px;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.btn-semi:hover{background:rgba(0,0,0,0.28)}

/* FAQ */
.faq{background:var(–black);position:relative;overflow:hidden}
.faq::before{content:’?’;position:absolute;right:-30px;top:50%;transform:translateY(-50%);font-family:var(–impact);font-size:clamp(280px,38vw,580px);color:rgba(201,168,76,0.025);line-height:1;pointer-events:none;user-select:none}
.faq-wrap{max-width:780px;margin:0 auto;border:1px solid var(–gold);position:relative;z-index:1}
.faq-item{border-bottom:1px solid rgba(201,168,76,0.12)} .faq-item:last-child{border-bottom:none}
.faq-q{width:100%;background:none;border:none;color:var(–white);font-family:var(–body);font-size:16px;font-weight:500;text-align:left;padding:24px 32px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:color 0.2s,background 0.2s}
.faq-q:hover{color:var(–gold);background:rgba(201,168,76,0.04)}
.faq-arr{width:32px;height:32px;flex-shrink:0;background:rgba(201,168,76,0.1);border:1px solid var(–gold);color:var(–gold);display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform 0.3s,background 0.3s}
.faq-item.open .faq-arr{transform:rotate(45deg);background:var(–gold);color:var(–black)}
.faq-a{display:none;padding:0 32px 24px;font-size:15px;color:var(–grey1);line-height:1.75;border-top:1px solid rgba(201,168,76,0.08)}
.faq-item.open .faq-a{display:block}

/* BLOG — GOLD GUTTERS */
.blog{background:var(–black2)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:64px;background:var(–gold)}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr}}
.blog-card{background:var(–black3);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform 0.3s}
.blog-card:hover{transform:translateY(-4px);z-index:2}
.blog-card::before{content:’’;position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(–gold-dark),var(–gold),var(–gold-light))}
.blog-body{padding:32px;flex:1;border-bottom:1px solid rgba(201,168,76,0.1)}
.blog-cat{font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(–gold);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.blog-cat::before{content:’’;width:16px;height:1px;background:var(–gold)}
.blog-title{font-family:var(–display);font-size:20px;font-weight:700;color:var(–white);line-height:1.25;margin-bottom:12px}
.blog-excerpt{font-size:13px;color:var(–grey1);line-height:1.6}
.blog-foot{padding:16px 32px;display:flex;justify-content:space-between;align-items:center;background:rgba(201,168,76,0.04)}
.blog-read{font-size:11px;color:var(–grey2)}
.blog-link{font-family:var(–impact);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;color:var(–gold);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap 0.2s}
.blog-link:hover{gap:10px}

/* CONTACT */
.contact{background:var(–black);position:relative}
.contact::before{content:’’;position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(–gold-deep),var(–gold-dark),var(–gold),var(–gold-light),var(–gold),var(–gold-dark),var(–gold-deep))}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:48px}}
.cinfo-item{display:flex;gap:20px;align-items:flex-start;padding:24px 0;border-bottom:1px solid rgba(201,168,76,0.12)}
.cinfo-item:first-child{padding-top:0}
.cinfo-icon{width:48px;height:48px;flex-shrink:0;background:rgba(201,168,76,0.1);border:1px solid var(–gold);display:flex;align-items:center;justify-content:center;font-size:20px}
.cinfo-lbl{font-size:10px;color:var(–gold);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:4px;font-weight:700}
.cinfo-val{font-size:17px;color:var(–white);font-weight:500}
.cinfo-val a{color:var(–white);text-decoration:none;font-family:var(–impact);font-size:24px;letter-spacing:0.03em;transition:color 0.2s}
.cinfo-val a:hover{color:var(–gold)}
.lic-box{margin-top:32px;background:linear-gradient(135deg,rgba(201,168,76,0.14) 0%,rgba(201,168,76,0.05) 100%);border:1px solid var(–gold);border-left:5px solid var(–gold);padding:20px 24px}
.lic-ttl{font-family:var(–impact);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;color:var(–gold);margin-bottom:6px}
.lic-txt{font-size:13px;color:var(–grey1);line-height:1.6}
.qform{background:linear-gradient(160deg,#1a1400 0%,var(–black3) 60%);border:1px solid var(–gold);padding:40px;position:relative;box-shadow:0 0 40px rgba(201,168,76,0.1)}
.qform::before{content:’’;position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(–gold-deep),var(–gold-dark),var(–gold),var(–gold-light),var(–gold),var(–gold-dark),var(–gold-deep))}
.qform-ttl{font-family:var(–impact);font-size:30px;letter-spacing:0.05em;text-transform:uppercase;color:var(–gold);margin-bottom:4px}
.qform-sub{font-size:13px;color:var(–grey2);margin-bottom:28px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
@media(max-width:600px){.fgrid{grid-template-columns:1fr}}
.fg{display:flex;flex-direction:column;gap:6px} .fg.full{grid-column:1/-1}
.fg label{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(–gold)}
.fg input,.fg select,.fg textarea{background:rgba(0,0,0,0.65);border:1px solid rgba(201,168,76,0.35);color:var(–white);font-family:var(–body);font-size:15px;padding:12px 16px;outline:none;width:100%;transition:border-color 0.2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(–gold);background:rgba(0,0,0,0.85)}
.fg select{appearance:none;background-image:url(“data:image/svg+xml,%3Csvg xmlns=‘http://www.w3.org/2000/svg’ width=‘12’ height=‘8’%3E%3Cpath d=‘M1 1l5 5 5-5’ stroke=’%23C9A84C’ stroke-width=‘2’ fill=‘none’/%3E%3C/svg%3E”);background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.fg textarea{resize:vertical;min-height:90px} .fg select option{background:var(–black3)}
.fsub{width:100%;margin-top:6px;padding:18px;font-family:var(–impact);font-size:16px;letter-spacing:0.12em;text-transform:uppercase;background:linear-gradient(135deg,var(–gold-dark),var(–gold),var(–gold-light));color:var(–black);border:none;cursor:pointer;transition:opacity 0.2s}
.fsub:hover{opacity:0.9}

/* FOOTER */
footer{background:var(–black);border-top:4px solid var(–gold)}
.footer-top{max-width:1440px;margin:0 auto;padding:70px 48px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px}
@media(max-width:1000px){.footer-top{grid-template-columns:1fr 1fr;gap:40px}} @media(max-width:560px){.footer-top{grid-template-columns:1fr;padding:40px 20px}}
.ft-logo-text{font-family:var(–impact);font-size:32px;letter-spacing:0.1em;color:var(–gold);text-transform:uppercase;margin-bottom:4px}
.ft-logo-sub{font-size:11px;color:var(–grey2);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:20px}
.ft-blurb{font-size:14px;color:var(–grey1);line-height:1.7;max-width:280px;margin-bottom:24px}
.ft-contacts{display:flex;flex-direction:column;gap:10px}
.ft-contact{font-size:14px;color:var(–grey1)}
.ft-contact a{color:var(–gold);text-decoration:none;font-weight:600} .ft-contact a:hover{color:var(–gold-light)}
.ft-col-title{font-family:var(–impact);font-size:16px;letter-spacing:0.1em;text-transform:uppercase;color:var(–gold);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(201,168,76,0.25)}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.ft-links a{font-size:13px;color:var(–grey1);text-decoration:none;transition:color 0.2s} .ft-links a:hover{color:var(–gold)}
.ft-lic{background:linear-gradient(135deg,rgba(201,168,76,0.12) 0%,rgba(201,168,76,0.05) 100%);border:1px solid rgba(201,168,76,0.3);border-left:4px solid var(–gold);padding:16px 18px}
.ft-lic-title{font-family:var(–impact);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;color:var(–gold);margin-bottom:8px}
.ft-lic-rows{display:flex;flex-direction:column;gap:4px}
.ft-lic-row{display:flex;justify-content:space-between;font-size:12px}
.ft-lic-lbl{color:var(–grey2)} .ft-lic-val{color:var(–grey1);font-weight:600}
.footer-bottom{border-top:1px solid rgba(201,168,76,0.15);max-width:1440px;margin:0 auto;padding:22px 48px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
@media(max-width:640px){.footer-bottom{padding:18px 20px}}
.footer-copy{font-size:12px;color:var(–grey2)} .footer-copy span{color:var(–gold)}

/* FADE IN */
.fade-up{opacity:0;transform:translateY(32px);transition:opacity 0.65s ease,transform 0.65s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}


CleanBC Approved Energy Savings Provider · TSBC Gas Contractor

Up To
$24,500
Back.

Zero Upfront. Fully Managed. BC-Wide.

Apex is BC’s premier CleanBC Energy Savings Program contractor. We handle your entire rebate application — most qualifying homeowners pay nothing out of pocket. Gas furnace to heat pump conversions fully covered.

$24.5K
Max Rebate
100%
Approval Rate
11+
Cities Served
$0
Upfront for Most

✦ CleanBC ESP Rebate Tiers
How Much Can You Get Back?
Income Level 3
Gas / oil / propane homes
$10,500
Income Level 2
Moderate income household
$12,000
Income Level 1
Lower income household
$16,000
With Electrical Upgrades
$24,500
✦ Check My Eligibility

Income Level 1 households can receive up to $24,500 total with electrical upgrades.

🏅TSBC Gas Contractor · LIC-00215095
CleanBC Registered ESP Contractor
💯100% Rebate Approval Rate
Zero Upfront Cost — We Manage Everything
📞Free Quote: 604-442-6711

✦ Simple Process

From Call to Cashback in 4 Steps

01

📞

Free Consultation
Call or book online. We assess your home, confirm your CleanBC income tier, and estimate your maximum rebate at no cost.
02

📋

We Handle Paperwork
Apex submits your entire rebate pre-approval application. You sign once — we manage everything else with the BC government.
03

🔧

Professional Install
Our TSBC-licensed technicians complete a clean, professional installation. Typically one day. Zero mess, zero hassle.
04

💰

Rebate Applied
Your CleanBC rebate is applied directly at invoice. Most homeowners pay zero out of pocket and start saving on energy bills immediately.

✦ What We Install

CleanBC-Eligible Services

🌡️
Heat Pump Installation
$16,000
Replace your gas furnace with a modern cold-climate heat pump. CleanBC rebates up to $16,000 for Income Level 1, $12,000 for Level 2, and $10,500 for Level 3 homes. Works efficiently in BC winters.
Get Free Quote →Most Popular
💧
Heat Pump Water Heater
$3,500
Switch from gas to a heat pump water heater. Up to $3,500 back through CleanBC ESP for income-qualified households converting from gas water heating systems.
Get Free Quote →CleanBC Eligible
🪟
Windows & Doors
$9,500
Energy-efficient windows and exterior doors — up to $950 per unit. Income Level 1 & 2 households only. Pre-approval required before installation. Contact us before you start.
Get Free Quote →Pre-Approval Required

REBATES
✦ CleanBC ESP Program

What You Qualify For

All heat pump rebates flow through the CleanBC Better Homes Energy Savings Program (ESP). Rebates are income-tiered — the lower your income, the more you receive.

ESP Income LevelHeat Pump+ Electrical
Income Level 3Gas/oil/propane homes
$10,500
Contact us for electrical upgrade details
Income Level 2Moderate income
$12,000
+ up to $8,500 electrical upgrades
Income Level 1Lower income household
$16,000
+ up to $8,500 electrical upgrades
Level 1 Maximum (incl. electrical)
$24,500
Highest possible total rebate
✦ Basic Eligibility Requirements
  • BC homeowner or long-term renter with landlord consent
  • Property assessed value under $1,230,000
  • Currently heating with gas, oil, or propane
  • Must use a registered CleanBC ESP contractor like Apex
  • Pre-approval required for windows & doors before installation
✦ All Services Combined

Combined Program Maximum

Heat Pump Installation
Up to $16,000
Electrical Upgrades
Up to $8,500
Heat Pump Water Heater
Up to $3,500
Windows & Doors
Up to $9,500
Total Combined Maximum
$37,500+
✦ Check Your Eligibility Free

Our team confirms your income tier, calculates your exact rebate, and handles the full pre-approval process at no cost to you.

✦ Get My Free Estimate

✦ Where We Work

Serving Metro Vancouver,
Fraser Valley & Kamloops

New Westminster
Metro Vancouver
Available Now
Vancouver
Metro Vancouver
Available Now
Burnaby
Metro Vancouver
Available Now
Surrey
Metro Vancouver
Available Now
Coquitlam
Metro Vancouver
Available Now
Richmond
Metro Vancouver
Available Now
Langley
Fraser Valley
Available Now
Abbotsford
Fraser Valley
Available Now
Chilliwack
Fraser Valley
Available Now
Maple Ridge
Metro Vancouver
Available Now
Kamloops
BC Interior
Available Now
Not Listed?
Contact Us

✦ Our Difference

Why Homeowners Choose Apex

01
100% Rebate Approval Rate
We have never had a rebate application denied. Our pre-approval process is thorough, compliant, and proven. You won’t be left chasing paperwork after installation.
02
Full Rebate Management
From income verification to final rebate collection, Apex handles every step. Most homeowners don’t lift a finger beyond signing once.
03
TSBC Licensed & Insured
Apex holds Technical Safety BC Gas Contractor Licence LIC-00215095. Every installation is completed to BC code by licensed professionals.
04
Zero Pressure Sales Process
Free consultations, honest eligibility assessments. If your home doesn’t qualify, we’ll tell you upfront — no hard sell, no surprises at invoice.

✦ Our Credentials
TSBC Gas Contractor Licence
LIC-00215095
Technical Safety BC · Gas, Contractor
Licence Period
Feb 19, 2026 – Feb 19, 2027
Active & Current
CleanBC Registration
ESP Contractor
Better Homes Energy Savings Program
Company Registration
BC Ltd. #1531572
Apex Heating & Cooling Ltd.
Rebate Approval Rate
100%
Zero denied applications to date

$24,500
✦ Limited Program Availability — Act Now

Don’t Leave $24,500

on the Table

CleanBC rebates are funded and time-limited. Book your free assessment today and lock in your eligibility before the program changes.

✦ Common Questions

Frequently Asked Questions

The CleanBC Better Homes Energy Savings Program (ESP) offers rebates of up to $16,000 for qualifying heat pump installations, and up to $24,500 when electrical upgrades are included. Rebates are tiered by income: Income Level 3 up to $10,500, Level 2 up to $12,000, and Level 1 up to $16,000 on the heat pump alone. Call us for a free eligibility check.

In most cases, no. Apex applies the CleanBC rebate directly at the time of installation — your invoice reflects the rebate amount immediately. Many qualifying homeowners pay zero out of pocket. We’ll confirm your situation during your free consultation.

Key factors: you must own your BC home (or have landlord consent as a long-term renter), your property must be assessed at under $1,230,000, and you must currently heat with gas, oil, or propane. Income Levels 1 and 2 have additional household income requirements. Call us — we’ll confirm your tier in minutes at no cost.

Yes. Modern cold-climate heat pumps (like the Midea units we install) operate efficiently down to -30°C. BC winters rarely reach those extremes. Most homes in Metro Vancouver, Fraser Valley, and Kamloops experience significant savings year-round using a heat pump as the primary heating system.

A standard single-zone heat pump installation typically takes one day. Multi-zone systems may take 1–2 days. We minimize disruption to your home and leave the worksite clean.

Yes. Apex holds Technical Safety BC Gas Contractor Licence LIC-00215095 (active until February 2027) and is a registered CleanBC Energy Savings Program contractor. All work is performed by TSBC-licensed technicians to BC code.

CleanBC ESP offers up to $950 per energy-efficient window or exterior door, to a maximum of $9,500. Available to Income Level 1 and 2 households only. Pre-approval must be obtained before installation begins. Contact us to start your pre-approval today.

✦ Knowledge Centre

Heat Pump & Rebate Guides

CleanBC Rebates
How to Qualify for Up to $16,000 in CleanBC Heat Pump Rebates
A step-by-step breakdown of the CleanBC ESP income tiers, eligibility rules, and how Apex manages your application from start to finish.
7 min readRead More →
Heat Pump Basics
Gas Furnace vs. Heat Pump: The True Cost Comparison for BC Homeowners
Monthly operating costs, equipment lifespan, and rebate savings — side by side. See why most BC homeowners save more with a heat pump.
6 min readRead More →
Installation Guide
What to Expect on Heat Pump Installation Day: A Step-by-Step Guide
From the first truck to your first test run — exactly what happens during a professional Apex heat pump installation, hour by hour.
5 min readRead More →
Local Guide · Fraser Valley
Heat Pump Rebates in Surrey & Abbotsford: 2025 CleanBC Guide
Fraser Valley homeowners can access full CleanBC ESP rebates. Here’s what local eligibility looks like and how to get started fast.
5 min readRead More →
Cold Climate Performance
Do Heat Pumps Work in BC Winters? The Truth About Cold-Climate Performance
Modern heat pumps run efficiently at -30°C. We explain the technology and why BC’s climate is actually perfect for heat pump heating.
8 min readRead More →
Windows & Doors
Up to $9,500 Back on Windows & Doors: CleanBC ESP Guide for BC Homeowners
Pre-approval is mandatory and often overlooked. We walk you through the window and door rebate process before you spend a dollar.
6 min readRead More →

Full blog launching with new site. Subscribe for updates →

✦ Get In Touch

Start Your Free Rebate Check

Call us or fill out the form. We’ll confirm your CleanBC income tier, calculate your maximum rebate, and schedule your free home assessment — all at no cost.

📞
Phone / Text
✉️
📍
Service Area
Metro Vancouver · Fraser Valley · Kamloops
🕐
Hours
Mon–Sat: 8 AM – 7 PM · Sun: By Appointment
✦ Technical Safety BC Licence
LIC-00215095 · Gas, Contractor

Issued: Feb 19, 2026 · Expires: Feb 19, 2027

Apex Heating & Cooling Ltd. · BC Ltd. #1531572

✦ Get Free Quote
We’ll respond within 2 business hours.
First Name
Last Name
Phone
Email
Your City

Select your city…

New Westminster

Vancouver

Burnaby

Surrey

Coquitlam

Richmond

Langley

Abbotsford

Chilliwack

Maple Ridge

Kamloops

Other

Current Heating System

Select heating type…

Natural Gas Furnace

Gas Boiler

Oil Furnace / Boiler

Propane Heating

Electric Baseboard

Wood Stove / Fireplace

Existing Heat Pump (upgrade)

Other

Message (Optional)

By submitting, you agree to be contacted by Apex Heating & Cooling. We never share your information.

// FAQ accordion
document.querySelectorAll(‘.faq-q’).forEach(btn => {
btn.addEventListener(‘click’, () => {
const item = btn.closest(‘.faq-item’);
const isOpen = item.classList.contains(‘open’);
document.querySelectorAll(‘.faq-item’).forEach(i => i.classList.remove(‘open’));
if (!isOpen) item.classList.add(‘open’);
});
});
// Scroll fade
const obs = new IntersectionObserver((entries) => {
entries.forEach(e => { if (e.isIntersecting) e.target.classList.add(‘visible’); });
}, {threshold: 0.08});
document.querySelectorAll(‘.fade-up’).forEach(el => obs.observe(el));