html { font-size: 14px; scroll-behavior:smooth; }
@media (min-width:768px){ html{font-size:16px;} }
html{position:relative;min-height:100%;}
body{margin:0;background:#fff;color:#17212b;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.btn:focus,.btn:active:focus,.btn-link.nav-link:focus,.form-control:focus,.form-check-input:focus{box-shadow:0 0 0 .1rem #fff,0 0 0 .25rem rgba(20,157,206,.28);}
a{color:#0579b4;} a:hover{color:#035c89;}

:root{--heco-navy:#0b2239;--heco-blue:#139dce;--heco-red:#df2b1f;--heco-ink:#17212b;--heco-muted:#5e6d7a;--heco-soft:#f4f8fb;--heco-line:#e1e8ed;}

.page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#081d31 0%,#0d4267 58%,#137fa9 100%);color:#fff;padding:5rem 0 4.5rem;}
.page-hero:after{content:"";position:absolute;right:-10%;top:-50%;width:520px;height:520px;border-radius:50%;border:70px solid rgba(255,255,255,.055);pointer-events:none;}
.page-hero .container{position:relative;z-index:1;}
.page-hero h1{font-size:clamp(2.35rem,5vw,4.35rem);font-weight:850;letter-spacing:-.045em;max-width:940px;line-height:1.02;}
.page-hero p{color:#d9edf7;font-size:1.16rem;max-width:800px;line-height:1.7;}
.eyebrow{display:inline-block;color:#0879ad;font-size:.76rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.7rem;}
.page-hero .eyebrow{color:#93e2ff;}
.section-space{padding:5rem 0;}
.section-soft{background:var(--heco-soft);}
.section-dark{background:var(--heco-navy);color:#fff;}
.section-dark p{color:#d5e3ec;}
.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.08;}
.lead-copy{font-size:1.08rem;line-height:1.75;color:var(--heco-muted);}
.content-card{height:100%;background:#fff;border:1px solid var(--heco-line);border-radius:1.15rem;padding:1.65rem;box-shadow:0 10px 34px rgba(11,34,57,.07);transition:transform .18s ease,box-shadow .18s ease;}
.content-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(11,34,57,.11);}
.content-card p,.prose{color:#536371;line-height:1.8;}
.prose{white-space:pre-line;}
.mini-card{height:100%;background:#f5f8fb;border:1px solid #e8eef2;border-radius:.95rem;padding:1.2rem;}
.mini-card p{color:#62717e;margin-top:.4rem;}
.sidebar-cta{background:linear-gradient(180deg,#f5fbfe,#eef6fa);border:1px solid #d7e7ef;border-radius:1.1rem;padding:1.65rem;position:sticky;top:6.5rem;box-shadow:0 10px 26px rgba(11,34,57,.06);}
.icon-tile{width:48px;height:48px;border-radius:14px;background:#eaf7fc;color:#0879ad;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;margin-bottom:1rem;}
.trust-strip{background:#fff;border-bottom:1px solid var(--heco-line);}
.trust-item{padding:1.25rem 0;text-align:center;font-weight:700;color:#324452;}
.service-link-card{display:block;height:100%;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--heco-line);border-radius:1.05rem;padding:1.4rem;box-shadow:0 8px 28px rgba(11,34,57,.055);}
.service-link-card:hover{color:inherit;border-color:#b8dce9;box-shadow:0 14px 34px rgba(11,34,57,.1);}
.stat-card{height:100%;border-radius:1rem;background:#fff;border:1px solid var(--heco-line);padding:1.35rem;}
.check-list{list-style:none;padding-left:0;margin-bottom:0;}.check-list li{position:relative;padding-left:1.7rem;margin-bottom:.8rem;color:#4d5d69;}.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:#0b8dbd;font-weight:900;}
.pill-link{display:inline-block;padding:.55rem .85rem;margin:.25rem;border:1px solid #d5e5ec;background:#fff;border-radius:999px;text-decoration:none;color:#243947;font-weight:650;}
.pill-link:hover{background:#edf8fc;color:#056e9e;}
.cta-band{background:linear-gradient(135deg,#071c30,#0f567c);color:#fff;border-radius:1.25rem;padding:2rem;box-shadow:0 16px 45px rgba(11,34,57,.17);}
.cta-band p{color:#d8e9f1;}
.form-shell{background:#fff;border:1px solid var(--heco-line);border-radius:1.2rem;padding:2rem;box-shadow:0 16px 46px rgba(11,34,57,.08);}
.form-control,.form-select{min-height:48px;border-radius:.7rem;border-color:#d9e2e8;}.form-control:focus,.form-select:focus{border-color:#66bfdf;}
textarea.form-control{min-height:150px;}

.heco-logo-panel{background:#fff;border-radius:1.2rem;padding:1.25rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 14px 35px rgba(11,34,57,.12);}
.heco-logo-panel img{max-width:220px;width:100%;height:auto;}

@media(max-width:767px){.page-hero{padding:3.5rem 0}.section-space{padding:3.3rem 0}.sidebar-cta{position:static}.form-shell{padding:1.25rem}.cta-band{padding:1.5rem}.trust-item{padding:.85rem 0}}


/* Final HECO desktop-width tuning */
@media (min-width:1200px){
  .container{max-width:1440px;}
  .heco-navbar .heco-brand img{height:72px !important;max-width:245px !important;}
}
@media (min-width:1600px){
  .container{max-width:1540px;}
}


/* HECO final responsive + content tuning */
.container{padding-left:1.5rem;padding-right:1.5rem;}
.page-hero p,.lead-copy,.content-card p,.prose{max-width:72ch;}
.compact-card{padding:1.35rem;}
.area-card h3{margin-bottom:.55rem;}
.compact-service{padding:1rem 1.1rem;}
.compact-service strong,.compact-service span{display:block;}
.compact-service span{color:var(--heco-muted);font-size:.9rem;margin-top:.35rem;}

@media (min-width: 992px) and (max-width: 1199.98px){
  .heco-navbar .nav-link{font-size:.9rem;padding-left:.42rem!important;padding-right:.42rem!important;}
  .heco-navbar .heco-brand img{height:54px!important;max-width:190px!important;}
  .heco-phone{font-size:.9rem;}
}

@media (max-width: 991.98px){
  .heco-navbar{position:sticky;top:0;z-index:1030;}
  .heco-navbar .navbar-brand img{height:50px!important;max-width:175px!important;}
  .heco-navbar .navbar-collapse{max-height:calc(100vh - 72px);overflow-y:auto;padding:.75rem 0 1rem;}
  .heco-navbar .navbar-nav{margin-bottom:.75rem!important;}
  .heco-navbar .nav-link{padding:.7rem .45rem!important;font-size:1rem;}
  .heco-navbar .dropdown-menu{position:static!important;transform:none!important;width:100%;max-height:none;border-radius:.65rem;background:#f7fafc;padding:.35rem .55rem;margin:.15rem 0 .45rem;}
  .heco-navbar .dropdown-item{white-space:normal;padding:.6rem .65rem;}
  .heco-navbar .d-flex.flex-column.flex-lg-row{gap:.5rem!important;}
  .heco-navbar .d-flex.flex-column.flex-lg-row .btn{width:100%;margin-top:0;}
  .page-hero{padding:3.4rem 0 3rem;}
  .page-hero h1{font-size:clamp(2.25rem,9vw,3.4rem);max-width:100%;}
  .page-hero p{font-size:1.05rem;line-height:1.65;}
  .hero-logo-col{display:none;}
  .section-space{padding:3.5rem 0;}
  .section-title{font-size:clamp(1.9rem,7vw,2.55rem);}
  .sidebar-cta{position:static;top:auto;}
  .trust-strip .row>*{border-bottom:1px solid var(--heco-line);}
  .trust-strip .row>*:last-child{border-bottom:0;}
  .cta-band{text-align:left;}
  .cta-band .btn{width:100%;}
}

@media (max-width: 767.98px){
  html{font-size:15px;}
  .container{padding-left:1.5rem;padding-right:1.5rem;}
  .page-hero{padding:2.8rem 0 2.55rem;}
  .page-hero h1{letter-spacing:-.035em;line-height:1.04;}
  .page-hero .d-flex.flex-wrap.gap-2 .btn{flex:1 1 100%;width:100%;}
  .section-space{padding:2.8rem 0;}
  .content-card,.service-link-card,.form-shell,.sidebar-cta{border-radius:.9rem;}
  .content-card{padding:1.25rem;}
  .service-link-card{padding:1.15rem;}
  .mini-card{padding:1rem;}
  .form-shell{padding:1rem;}
  .cta-band{padding:1.25rem;border-radius:1rem;}
  .pill-link{font-size:.9rem;padding:.48rem .7rem;margin:.18rem;}
  .area-group-heading .text-muted{width:100%;}
  .area-group{margin-bottom:2.5rem!important;}
  .service-expectations{margin-top:2.25rem!important;}
  .heco-footer{padding:2.6rem 0 1.2rem;}
  .heco-footer-bottom{gap:.75rem;}
}

@media (max-width: 420px){
  .heco-navbar .navbar-brand img{height:44px!important;max-width:150px!important;}
  .navbar-toggler{padding:.35rem .5rem;}
  .page-hero h1{font-size:2.15rem;}
  .btn-lg{font-size:1rem;padding:.7rem 1rem;}
}

/* Final media-rich service page system */
.service-media-hero{border-radius:1.35rem;overflow:hidden;background:#fff;padding:.55rem;box-shadow:0 18px 45px rgba(3,35,55,.18)}
.service-media-hero img{width:100%;height:330px;object-fit:cover;border-radius:1rem;display:block}
.equipment-gallery{display:grid;grid-template-columns:1.35fr 1fr;gap:1rem;margin-top:2rem}
.equipment-gallery figure{margin:0;border:1px solid #e2e9ee;border-radius:1rem;overflow:hidden;background:#fff}
.equipment-gallery figure:first-child{grid-row:span 2}
.equipment-gallery img{width:100%;height:230px;object-fit:cover;display:block}.equipment-gallery figure:first-child img{height:100%}
.equipment-gallery figcaption{padding:.8rem 1rem;font-size:.88rem;color:#526473}
.rebate-provider-card{height:100%;border:1px solid #dfe8ee;border-radius:1rem;padding:1.35rem;background:#fff}.rebate-provider-card h3{font-weight:800}.official-link{font-weight:700}
@media(max-width:767px){.service-media-hero img{height:220px}.equipment-gallery{grid-template-columns:1fr}.equipment-gallery figure:first-child{grid-row:auto}.equipment-gallery img,.equipment-gallery figure:first-child img{height:220px}}

/* 2026 final photographic service-page treatment */
.service-photo-hero{position:relative;min-height:440px;display:flex;align-items:center;background-image:var(--hero);background-size:cover;background-position:center;color:#fff;overflow:hidden}
.service-photo-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,28,49,.96) 0%,rgba(4,34,58,.83) 42%,rgba(4,34,58,.20) 76%,rgba(4,34,58,.08) 100%)}
.service-photo-hero .container{z-index:1}.service-hero-copy{max-width:690px;padding:4.6rem 0}.service-photo-hero h1{font-size:clamp(2.7rem,5vw,4.6rem);font-weight:850;line-height:1;letter-spacing:-.045em}.service-photo-hero p{max-width:660px;font-size:1.16rem;line-height:1.65;color:#edf7fb}.service-photo-hero .eyebrow{color:#8ee4ff}
.service-trust-strip{background:#08233d;color:#fff}.trust-point{padding:1rem .6rem;border-right:1px solid rgba(255,255,255,.12);font-size:.9rem;font-weight:650}.trust-point:first-letter{color:#75d9ff}.trust-point span{margin-left:.35rem}
.photo-feature{display:grid;grid-template-columns:1.25fr 1fr;gap:0;border:1px solid #dfe8ee;border-radius:1.1rem;overflow:hidden;background:#fff}.photo-feature img{width:100%;height:300px;object-fit:cover}.photo-feature>div{padding:2rem;align-self:center}.photo-feature h3{font-weight:800}
.service-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.service-photo-grid figure{margin:0;background:#fff;border:1px solid #dfe8ee;border-radius:.9rem;overflow:hidden}.service-photo-grid img{width:100%;height:155px;object-fit:cover;display:block}.service-photo-grid figcaption{padding:.8rem .9rem;font-size:.82rem;color:#425769;font-weight:600}
.rebate-side-card{border:1px solid #cfe0d1;background:#f4fbf4;border-radius:1rem;padding:1.35rem;box-shadow:0 12px 30px rgba(3,35,55,.06)}
@media(max-width:991px){.service-photo-hero{min-height:390px}.service-photo-overlay{background:linear-gradient(90deg,rgba(4,28,49,.94),rgba(4,34,58,.70))}.service-photo-grid{grid-template-columns:repeat(2,1fr)}.photo-feature{grid-template-columns:1fr}.photo-feature img{height:260px}}
@media(max-width:767px){.service-photo-hero{min-height:360px;background-position:center}.service-hero-copy{padding:3.2rem 0}.service-photo-hero h1{font-size:2.55rem}.service-photo-hero .btn{width:100%}.service-photo-grid{grid-template-columns:1fr}.service-photo-grid img{height:220px}.photo-feature img{height:220px}.trust-point{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}}

/* HECO Phase 1 approved public foundation: header, footer, homepage */
:root{--heco-navy:#071d3b;--heco-navy2:#0c2d57;--heco-red:#e31319;--heco-blue:#0f6fad;--heco-soft:#f4f7fa;--heco-line:#dfe6ec;--heco-text:#12213a;}
body{color:var(--heco-text);font-family:Arial,Helvetica,sans-serif;background:#fff;}
.heco-topbar{background:#071d3b;color:#fff;padding:.62rem 0;font-weight:600;letter-spacing:.01em;}
.heco-topbar a{color:#fff;text-decoration:none;}
.heco-header{position:sticky;top:0;z-index:1030;background:#fff;box-shadow:0 4px 18px rgba(7,29,59,.08);}
.heco-navbar{background:#fff;padding:.55rem 0;border:0;box-shadow:none;}
.heco-brand img{height:66px;width:auto;max-width:230px;object-fit:contain;}
.heco-navbar .nav-link{color:#071d3b!important;font-weight:700;font-size:.92rem;padding:.85rem .62rem!important;}
.heco-navbar .nav-link:hover,.heco-navbar .nav-link:focus{color:var(--heco-red)!important;}
.heco-navbar .dropdown-menu{border-radius:.85rem;padding:.7rem;border:1px solid #edf0f3!important;min-width:17rem;}
.heco-navbar .dropdown-item{padding:.55rem .7rem;border-radius:.45rem;font-size:.93rem;}
.heco-navbar .dropdown-item:hover{background:#f2f6fa;color:#d01016;}
.heco-request-btn{font-weight:800;padding:.78rem 1.15rem;white-space:nowrap;}
.admin-navbar{background:#fff;border-bottom:1px solid #dee2e6;}

.home-hero{background:linear-gradient(110deg,#061a35 0%,#09274d 48%,#0d3964 100%);color:#fff;padding:4.8rem 0 4.2rem;overflow:hidden;}
.home-kicker{font-weight:850;letter-spacing:.12em;font-size:.8rem;color:#ff454a;}
.home-hero h1{font-size:clamp(3rem,5.4vw,5.35rem);line-height:.96;letter-spacing:-.055em;font-weight:900;margin:.75rem 0 1.2rem;max-width:650px;}
.home-hero-lead{font-size:1.18rem;line-height:1.7;color:#e8f0f8;max-width:640px;}
.home-hero-proof{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;color:#d7e5f3;font-weight:650;font-size:.9rem;}
.home-hero-media{border-radius:1.25rem;overflow:hidden;background:#fff;padding:.5rem;box-shadow:0 26px 60px rgba(0,0,0,.28);}
.home-hero-media img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;object-position:center;border-radius:.95rem;}
.home-trustbar{background:#fff;border-bottom:1px solid var(--heco-line);box-shadow:0 7px 22px rgba(7,29,59,.05);}
.home-trust-item{padding:1.3rem 1rem;text-align:center;border-right:1px solid var(--heco-line);height:100%;}
.home-trust-item strong,.home-trust-item span{display:block;}.home-trust-item strong{font-size:.98rem;color:var(--heco-navy);}.home-trust-item span{font-size:.8rem;color:#657487;margin-top:.25rem;}
.home-section{padding:5rem 0;}.home-section-soft{background:var(--heco-soft);}.home-section-dark{background:linear-gradient(135deg,#061a35,#0a2d57);}
.home-section-title{font-size:clamp(2.2rem,4vw,3.55rem);line-height:1.04;letter-spacing:-.04em;font-weight:900;color:var(--heco-navy);}
.home-section-copy{font-size:1.08rem;line-height:1.75;color:#5c6b7b;max-width:760px;}
.home-service-card{display:block;height:100%;border:1px solid var(--heco-line);border-radius:1.05rem;background:#fff;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 12px 34px rgba(7,29,59,.07);transition:.2s ease;}
.home-service-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(7,29,59,.13);color:inherit;}
.home-service-card-text{border-top:5px solid var(--heco-blue);}
.home-service-card-text .home-service-body{padding:1.65rem;}
.home-service-photo{height:180px;overflow:hidden;background:#eaf0f4;}.home-service-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.home-service-body{padding:1.35rem;position:relative;}.home-service-icon{width:46px;height:46px;border-radius:50%;background:var(--heco-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-top:-2.2rem;margin-bottom:1rem;border:4px solid #fff;}
.home-service-body h3{font-size:1.25rem;font-weight:850;color:var(--heco-navy);}.home-service-body p{color:#657487;line-height:1.6;font-size:.93rem;min-height:72px;}.home-service-body span{color:var(--heco-red);font-weight:800;font-size:.9rem;}
.home-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;color:#e8f0f8;font-weight:650;}.home-check-grid div{padding:.85rem 1rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:.75rem;}
.home-feature-image{border-radius:1.1rem;overflow:hidden;box-shadow:0 22px 45px rgba(0,0,0,.2);}.home-feature-image img{width:100%;height:390px;object-fit:cover;display:block;}
.home-local-card,.home-rebate-card{border:1px solid var(--heco-line);border-radius:1rem;background:#fff;padding:2.2rem;box-shadow:0 12px 34px rgba(7,29,59,.06);}
.home-area-pills{display:flex;flex-wrap:wrap;gap:.6rem;}.home-area-pills a{padding:.55rem .8rem;border-radius:999px;background:#f1f5f8;color:var(--heco-navy);text-decoration:none;font-weight:700;font-size:.88rem;border:1px solid #e1e7ec;}.home-area-pills a:hover{background:#e9f4fb;color:#0f6fad;}
.home-rebate-card{border-color:#cfe4d1;background:linear-gradient(180deg,#fff,#f5fbf5);}.home-rebate-card p{color:#596a5e;line-height:1.7;}.home-smud-badge{display:inline-block;padding:.7rem 1rem;border-radius:.7rem;background:#eff8ef;border:1px solid #cce0cd;color:#1d6429;font-weight:850;}
.home-cta-wrap{background:#fff;padding:0 0 4.5rem;}.home-cta{background:linear-gradient(110deg,#061a35,#0d3865);color:#fff;border-radius:1rem;padding:2rem 2.25rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;box-shadow:0 18px 40px rgba(7,29,59,.18);}.home-cta h2{font-size:2rem;font-weight:850;margin:.25rem 0;}.home-cta p{color:#d7e5f3;}

.heco-footer{background:#061a35;color:#d7e2ee;padding:3.8rem 0 1.4rem;}.heco-footer h6{color:#fff;font-weight:850;text-transform:uppercase;letter-spacing:.06em;font-size:.86rem;}.heco-footer a{color:#d7e2ee;text-decoration:none;}.heco-footer a:hover{color:#fff;}.heco-footer-logo{background:#fff;display:inline-flex;padding:.55rem .75rem;border-radius:.65rem;}.heco-footer-logo img{width:180px;height:auto;}.footer-links li{margin-bottom:.55rem;}.footer-license{font-weight:800;color:#fff;}.heco-footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:2.3rem;padding-top:1.15rem;font-size:.88rem;}

@media(max-width:1199.98px){.heco-header{position:sticky;top:0}.heco-brand img{height:54px;}.heco-navbar .navbar-collapse{padding:1rem 0;max-height:calc(100vh - 82px);overflow-y:auto;}.heco-navbar .dropdown-menu{position:static!important;transform:none!important;box-shadow:none!important;background:#f7f9fb;}.heco-request-btn{width:100%;}.home-hero-media img{height:auto;}}
@media(max-width:991.98px){.home-hero{padding:3.3rem 0;}.home-hero-media img{height:auto;max-height:500px;}.home-trust-item{border-bottom:1px solid var(--heco-line);}.home-check-grid{grid-template-columns:1fr;}.home-feature-image img{height:300px;}.home-cta{flex-direction:column;align-items:flex-start;}}
@media(max-width:767.98px){.heco-topbar .container{justify-content:center!important;text-align:center;}.heco-topbar .d-flex{justify-content:center;gap:.6rem!important;}.home-hero h1{font-size:3rem;}.home-hero .btn{width:100%;}.home-hero-proof{display:grid;gap:.45rem;}.home-section{padding:3.5rem 0;}.home-service-photo{height:210px;}.home-service-body p{min-height:auto;}.home-local-card,.home-rebate-card{padding:1.4rem;}.home-cta{padding:1.5rem;}.home-cta .btn{width:100%;}.heco-footer{padding-top:3rem;}}


/* Single-photo category page preview */
.category-hero-photo{
  overflow:hidden;
  border:.5rem solid #fff;
  border-radius:1.2rem;
  background:#fff;
  box-shadow:0 22px 55px rgba(0,0,0,.28);
}
.category-hero-photo img{
  display:block;
  width:100%;
  aspect-ratio:3/2;
  height:auto;
  object-fit:cover;
  object-position:center;
  border-radius:.8rem;
}
@media(max-width:991.98px){
  .category-hero-photo{max-width:720px;margin:0 auto;}
}

/* Display the AC repair photo at its natural aspect ratio. */
.ac-repair-hero-photo{display:block;width:100%;max-width:640px;height:auto;margin-inline:auto;border-radius:1rem;box-shadow:0 18px 40px rgba(0,0,0,.18);}

/* Consistent single-photo residential service pages */
.residential-service-hero-photo{
  display:block;
  width:100%;
  max-width:640px;
  aspect-ratio:3/2;
  height:auto;
  margin-inline:auto;
  object-fit:cover;
  object-position:center;
  border:.45rem solid #fff;
  border-radius:1rem;
  box-shadow:0 18px 40px rgba(0,0,0,.2);
}
.residential-service-body .col-md-6 > .content-card{height:100%;}
.residential-service-body aside > .content-card{height:auto;}
.service-process-list{list-style:none;counter-reset:service-step;padding:0;margin:0;display:grid;gap:1rem;}
.service-process-list li{counter-increment:service-step;display:grid;grid-template-columns:2.5rem 1fr;column-gap:1rem;padding:1rem;border:1px solid #dbe3ed;border-radius:.75rem;background:#fff;}
.service-process-list li::before{content:counter(service-step);grid-row:1/3;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#163d7a;color:#fff;font-weight:800;}
.service-process-list li strong,.service-process-list li span{grid-column:2;}
.service-process-list li span{margin-top:.2rem;color:#4f5f75;}
.service-faq .accordion-button{min-height:52px;font-weight:700;color:#172b4d;}
.service-faq .accordion-button:not(.collapsed){background:#edf3fa;color:#163d7a;}
.residential-sidebar-card{position:sticky;top:6.5rem;}
@media(max-width:991.98px){
  .residential-service-hero-photo{max-width:720px;}
  .residential-sidebar-card{position:static;}
}
@media(max-width:575.98px){
  .service-process-list li{grid-template-columns:2.25rem 1fr;padding:.85rem;column-gap:.75rem;}
  .service-process-list li::before{width:2.25rem;height:2.25rem;}
}

/* Installation energy comparison */
#heco-savings .savings-panel { background: #fff; color: #172b4d; padding: clamp(1rem, 3vw, 2rem); border: 1px solid #dbe3ed; border-radius: 1rem; }
#heco-savings .savings-track { display: flex; height: 30px; margin-top: .6rem; background: #edf1f6; overflow: hidden; border-radius: .25rem; }
#heco-savings .savings-heat { background: #163d7a; }
#heco-savings .savings-cool { background: #16808c; }
#heco-savings .savings-swatch { display: inline-block; width: .8rem; height: .8rem; margin-right: .4rem; }
#heco-savings .savings-result { padding: 1.25rem; background: #edf3fa; border-radius: .5rem; }
#heco-savings output { font-variant-numeric: tabular-nums; }
#heco-savings .form-range { min-height: 44px; }
#heco-savings summary { cursor: pointer; padding-block: .5rem; }

/* HVAC upgrade planning tools */
#upgrade-planner .planner-intro { max-width: 57rem; }
#upgrade-planner .planner-tool { padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid #dbe3ed; border-radius: 1rem; background: #fff; }
#upgrade-planner .planner-tool-primary { border-top: .35rem solid #cf2029; box-shadow: 0 .75rem 2rem rgba(23, 43, 77, .08); }
#upgrade-planner .planner-question + .planner-question { margin-top: 1.25rem; }
#upgrade-planner .decision-field { min-height: 48px; }
#upgrade-planner .planner-actions { padding: 1rem; border-radius: .75rem; background: #f6f8fb; }
#upgrade-planner .planner-progress { font-weight: 700; color: #163d7a; }
#upgrade-planner .planner-result { padding: 1.5rem; border: 1px solid #dbe3ed; border-left: .4rem solid #163d7a; border-radius: .75rem; background: #edf3fa; color: #172b4d; scroll-margin-top: 1rem; }
#upgrade-planner .planner-result-pending { border-left-color: #6c757d; background: #f5f6f8; }
#upgrade-planner .planner-result-repair { border-left-color: #287a4b; background: #edf8f1; }
#upgrade-planner .planner-result-compare { border-left-color: #b26a00; background: #fff7e8; }
#upgrade-planner .planner-result-replacement { border-left-color: #cf2029; background: #fff0f1; }
#upgrade-planner .planner-result h3:focus { outline: 3px solid rgba(22, 61, 122, .3); outline-offset: .2rem; }
#upgrade-planner .planner-reasons { padding-left: 1.2rem; margin-bottom: 0; }
#upgrade-planner .planner-reasons li + li { margin-top: .45rem; }
#upgrade-planner #show-recommendation:disabled { cursor: not-allowed; opacity: .55; }
#upgrade-planner .planner-check { padding: .8rem .8rem .8rem 2.4rem; border-bottom: 1px solid #e3e9f0; }
#upgrade-planner .planner-check:last-child { border-bottom: 0; }
#upgrade-planner .planner-check .form-check-input { margin-top: .3rem; }
@media print {
  .heco-topbar, .heco-header, .heco-footer, #upgrade-planner .btn, .page-hero .btn { display: none !important; }
  #upgrade-planner .planner-tool { break-inside: avoid; border-color: #777; box-shadow: none; }
  #upgrade-planner .planner-result { background: transparent; border: 1px solid #777; }
}


/* Consistent single-photo commercial service pages */
.commercial-service-hero-photo{
  display:block;
  width:100%;
  max-width:640px;
  aspect-ratio:3/2;
  height:auto;
  margin-inline:auto;
  object-fit:cover;
  object-position:center;
  border:.45rem solid #fff;
  border-radius:1rem;
  box-shadow:0 18px 40px rgba(0,0,0,.2);
}
.commercial-service-body .content-card{height:100%;}
.commercial-sidebar-card{position:sticky;top:1rem;}
@media(max-width:991.98px){
  .commercial-service-hero-photo{max-width:720px;}
  .commercial-sidebar-card{position:static;}
}


/* Services gateway and shared service breadcrumbs */
.service-breadcrumb-wrap{padding:.75rem 0;background:#f5f7fa;border-bottom:1px solid #e1e7ef;}
.service-breadcrumb-wrap .breadcrumb{font-size:.92rem;}
.service-breadcrumb-wrap .breadcrumb-item a{color:#163d7a;font-weight:650;text-decoration:none;}
.service-breadcrumb-wrap .breadcrumb-item a:hover{text-decoration:underline;}
.services-gateway-hero-photo{display:block;width:100%;max-width:680px;height:auto;margin-inline:auto;border:.45rem solid #fff;border-radius:1rem;box-shadow:0 18px 40px rgba(0,0,0,.2);}
.service-gateway-intro{max-width:52rem;}
.service-audience-card{padding:clamp(1.35rem,3vw,2rem);border:1px solid #dbe3ed;border-top:.35rem solid #163d7a;border-radius:1rem;background:#fff;box-shadow:0 .75rem 2rem rgba(23,43,77,.07);}
.service-audience-card .btn{margin-top:.5rem;}
.service-compact-link{display:flex;flex-direction:column;height:100%;min-height:118px;padding:1rem;border:1px solid #dbe3ed;border-radius:.75rem;background:#fff;color:#172b4d;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.service-compact-link span{margin-top:.35rem;color:#58677c;font-size:.92rem;}
.service-compact-link:hover,.service-compact-link:focus-visible{transform:translateY(-2px);border-color:#163d7a;box-shadow:0 .5rem 1.25rem rgba(23,43,77,.1);}
.service-directory-list{list-style:none;margin:1rem 0 0;padding:0;columns:2;column-gap:1.5rem;}
.service-directory-list li{break-inside:avoid;border-bottom:1px solid #e3e9f0;}
.service-directory-list a{display:flex;justify-content:space-between;gap:.75rem;padding:.7rem .15rem;color:#163d7a;font-weight:650;text-decoration:none;}
.service-directory-list a:hover,.service-directory-list a:focus-visible{text-decoration:underline;}
@media(max-width:575.98px){.service-directory-list{columns:1;}.services-gateway-hero-photo{border-width:.3rem;}}

/* Service-area hub and city pages: one responsive photo per page. */
.service-area-hub-photo,.service-area-hero-photo{display:block;width:100%;margin-inline:auto;object-fit:cover;border:.45rem solid #fff;border-radius:1rem;box-shadow:0 18px 40px rgba(0,0,0,.2);}
.service-area-hub-photo{max-width:680px;height:auto;aspect-ratio:1400/788;object-position:center;}
.service-area-hero-photo{max-width:680px;height:auto;aspect-ratio:3/2;object-position:center;}
.service-area-intro{max-width:54rem;}
.service-area-body .content-card{height:100%;}
.service-area-body .content-card a{color:#163d7a;font-weight:700;text-decoration:none;}
.service-area-body .content-card a:hover,.service-area-body .content-card a:focus-visible{text-decoration:underline;}
.service-area-sidebar-card{position:sticky;top:1rem;}
.service-area-process{list-style:none;padding:0;margin-bottom:0;counter-reset:area-step;}
.service-area-process li{counter-increment:area-step;display:grid;grid-template-columns:2.75rem 1fr;column-gap:1rem;padding:1rem 0;border-bottom:1px solid #dbe3ed;}
.service-area-process li::before{content:counter(area-step);grid-row:1 / span 2;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#163d7a;color:#fff;font-weight:800;}
.service-area-process strong,.service-area-process span{grid-column:2;}
.service-area-process span{color:#58677c;margin-top:.2rem;}
@media(max-width:991.98px){.service-area-sidebar-card{position:static;}.service-area-hub-photo,.service-area-hero-photo{max-width:760px;}}
@media(max-width:575.98px){.service-area-hub-photo,.service-area-hero-photo{border-width:.3rem;border-radius:.75rem;}.service-area-process li{grid-template-columns:2.5rem 1fr;column-gap:.75rem;}}


/* About HECO */
.about-hero-photo{display:block;width:100%;max-width:680px;height:auto;aspect-ratio:3/2;margin-inline:auto;object-fit:cover;object-position:center;border:.45rem solid #fff;border-radius:1rem;box-shadow:0 18px 40px rgba(0,0,0,.2);}
.about-facts{background:#fff;border-bottom:1px solid #dbe3ed;box-shadow:0 .5rem 1.5rem rgba(23,43,77,.06);}
.about-fact{display:flex;flex-direction:column;justify-content:center;min-height:118px;padding:1.35rem clamp(1rem,3vw,2rem);text-align:center;border-right:1px solid #dbe3ed;}
.about-facts [class*="col-"]:last-child .about-fact{border-right:0;}
.about-fact strong{color:#163d7a;font-size:clamp(1.2rem,2.3vw,1.65rem);line-height:1.15;}
.about-fact span{margin-top:.35rem;color:#58677c;}
.about-value-card{height:100%;}
.about-contact-card{position:sticky;top:1rem;}
.about-section-intro{max-width:48rem;}
.about-step{height:100%;padding:1.5rem;border:1px solid #dbe3ed;border-radius:1rem;background:#fff;}
.about-step>span{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin-bottom:1rem;border-radius:50%;background:#163d7a;color:#fff;font-size:1.15rem;font-weight:800;}
.about-audience-card{height:100%;padding:clamp(1.4rem,3vw,2rem);border:1px solid #dbe3ed;border-top:.35rem solid #163d7a;border-radius:1rem;background:#fff;box-shadow:0 .75rem 2rem rgba(23,43,77,.07);}
@media(max-width:991.98px){.about-contact-card{position:static;}.about-hero-photo{max-width:760px;}}
@media(max-width:767.98px){.about-fact{min-height:auto;border-right:0;border-bottom:1px solid #dbe3ed;}.about-facts [class*="col-"]:last-child .about-fact{border-bottom:0;}}
@media(max-width:575.98px){.about-hero-photo{border-width:.3rem;border-radius:.75rem;}}



/* Cookie consent and future optional-tracking foundation */
.heco-cookie-banner {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1080;
  padding: 1rem 0;
  background: #fff;
  border-top: 4px solid var(--heco-blue, #0b2f73);
  box-shadow: 0 -12px 30px rgba(7, 24, 55, 0.18);
}

.heco-cookie-banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.heco-cookie-banner-inner > div:first-child {
  max-width: 760px;
}

.heco-cookie-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  flex: 0 0 auto;
}

.heco-cookie-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1085;
  background: rgba(3, 15, 35, 0.65);
}

.heco-cookie-preferences {
  position: fixed;
  inset: 0;
  z-index: 1090;
  display: grid;
  place-items: center;
  padding: 1rem;
  overflow-y: auto;
}

.heco-cookie-preferences-card {
  width: min(100%, 680px);
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
}

.heco-cookie-option {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid #dfe5ec;
}

.heco-cookie-option .form-switch {
  flex: 0 0 auto;
  margin-top: 0.1rem;
}

.heco-cookie-dialog-open {
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .heco-cookie-banner-inner {
    align-items: stretch;
    flex-direction: column;
    gap: 1rem;
  }

  .heco-cookie-actions {
    justify-content: stretch;
  }

  .heco-cookie-actions .btn {
    flex: 1 1 9rem;
  }
}


/* HECO resource center */
.resource-featured-image,
.article-hero-image {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 1rem;
  box-shadow: 0 18px 45px rgba(7, 30, 55, 0.22);
}

.resource-card-image {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.article-prose .content-card > h2 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}

.article-prose .content-card > h2:first-child {
  margin-top: 0;
}

.article-prose .content-card > h3 {
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

.article-prose .content-card > p,
.article-prose .content-card > ul {
  line-height: 1.75;
  margin-bottom: 1.25rem;
}

.article-prose .content-card > ul {
  padding-left: 1.25rem;
}

.article-prose .content-card > ul li {
  margin-bottom: 0.6rem;
}

/* Blog article cards size to their content instead of inheriting the global equal-card height. */
.article-prose > .content-card,
.article-prose + aside > .content-card {
  height: auto;
}

/* HECO resource image proportions */
.article-resource-hero {
  padding: 3rem 0;
}

.article-resource-hero .article-hero-image {
  height: 360px;
  aspect-ratio: auto;
}

.resource-featured-image {
  height: 380px;
  aspect-ratio: auto;
}

@media (max-width: 991.98px) {
  .article-resource-hero .article-hero-image,
  .resource-featured-image {
    height: 320px;
  }
}

@media (max-width: 767.98px) {
  .article-resource-hero {
    padding: 2.5rem 0;
  }

  .article-resource-hero .article-hero-image,
  .resource-featured-image {
    height: 260px;
  }
}

/* HECO header request button contrast */
.heco-navbar .heco-request-btn,
.heco-navbar .heco-request-btn:visited {
  color: #fff !important;
  background-color: var(--heco-red) !important;
  border-color: var(--heco-red) !important;
}

.heco-navbar .heco-request-btn:hover,
.heco-navbar .heco-request-btn:focus,
.heco-navbar .heco-request-btn:focus-visible,
.heco-navbar .heco-request-btn:active {
  color: #fff !important;
  background-color: #b91f18 !important;
  border-color: #b91f18 !important;
}

.heco-navbar .heco-request-btn:focus-visible {
  box-shadow: 0 0 0 .25rem rgba(223, 43, 31, .3);
}

/* HECO footer request button contrast */
.heco-footer .btn-danger,
.heco-footer .btn-danger:visited {
  color: #fff !important;
  background-color: var(--heco-red) !important;
  border-color: var(--heco-red) !important;
}

.heco-footer .btn-danger:hover,
.heco-footer .btn-danger:focus,
.heco-footer .btn-danger:focus-visible,
.heco-footer .btn-danger:active {
  color: #fff !important;
  background-color: #b91f18 !important;
  border-color: #b91f18 !important;
}

.heco-footer .btn-danger:focus-visible {
  box-shadow: 0 0 0 .25rem rgba(223, 43, 31, .3);
}


/* Google and Yelp review profiles */
.review-platform-actions,
.review-platform-links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.review-platform-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.review-platform-link:hover,
.review-platform-link:focus {
  color: #fff;
  text-decoration: underline;
}

.review-platform-icon {
  display: inline-grid;
  width: 1.9rem;
  height: 1.9rem;
  place-items: center;
  flex: 0 0 auto;
  padding: .18rem;
  border-radius: 50%;
  background: #fff;
}

.review-platform-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.review-platform-icon-google {
  color: #1a73e8;
}

.review-platform-icon-yelp {
  color: #d32323;
}

.review-platform-button {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
}

.review-section-heading {
  max-width: 760px;
}

.review-quote-card {
  height: 100%;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid #dbe3ed;
  border-top: .35rem solid var(--heco-blue);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .75rem 2rem rgba(23, 43, 77, .08);
}

.review-stars {
  margin-bottom: 1rem;
  color: #f5a623;
  font-size: 1.25rem;
  letter-spacing: .12em;
}

.review-quote-card blockquote {
  margin: 0 0 1.25rem;
  color: #27364a;
  font-size: 1.05rem;
  line-height: 1.7;
}

.review-author {
  margin: 0;
  color: var(--heco-blue);
  font-weight: 800;
}

.review-source {
  margin: .2rem 0 0;
  color: #687588;
  font-size: .9rem;
}

.review-source-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid #dbe3ed;
  border-radius: 1rem;
  background: #f5f8fc;
}

@media (max-width: 767.98px) {
  .review-platform-actions,
  .review-source-panel {
    align-items: stretch;
    flex-direction: column;
  }

  .review-platform-button {
    justify-content: center;
    width: 100%;
  }
}


/* Public account registration is disabled; administrators are provisioned privately. */
a[href^="/Identity/Account/Register"] {
  display: none !important;
}
