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.
From Call to Cashback in 4 Steps
CleanBC-Eligible Services
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.
- 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
Combined Program Maximum
Our team confirms your income tier, calculates your exact rebate, and handles the full pre-approval process at no cost to you.
Serving Metro Vancouver,
Fraser Valley & Kamloops
Why Homeowners Choose Apex
Frequently Asked Questions
Heat Pump & Rebate Guides
Full blog launching with new site. Subscribe for updates →
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.
Issued: Feb 19, 2026 · Expires: Feb 19, 2027
Apex Heating & Cooling Ltd. · BC Ltd. #1531572
Select your city…
New Westminster
Vancouver
Burnaby
Surrey
Coquitlam
Richmond
Langley
Abbotsford
Chilliwack
Maple Ridge
Kamloops
Other
Select heating type…
Natural Gas Furnace
Gas Boiler
Oil Furnace / Boiler
Propane Heating
Electric Baseboard
Wood Stove / Fireplace
Existing Heat Pump (upgrade)
Other
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));
