[hidden]{display:none!important}

:root{--red:#ED1C24;--red-dark:#b90f16;--blue:#1D9DC0;--blue-dark:#075d73;--ink:#071117;--ink2:#13242e;--paper:#fff;--soft:#f4f7f8;--soft2:#eaf5f8;--muted:#53616b;--line:#d9e3e7;--max:1180px;--radius:22px;--shadow:0 18px 50px rgba(4,22,32,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:14px;top:10px;background:#fff;padding:10px 14px;z-index:9999;border-radius:10px}.utility{background:#000;color:#fff;font-size:14px}.utility .wrap{min-height:38px;display:flex;justify-content:space-between;align-items:center;gap:14px}.utility a{font-weight:900;text-decoration:none}.site-header{position:sticky;top:0;z-index:60;background:rgba(4,10,14,.97);border-bottom:1px solid rgba(255,255,255,.10);backdrop-filter:blur(12px)}.nav{min-height:82px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;text-decoration:none}.brand img{width:205px;height:auto}.navlinks{display:flex;gap:22px;margin-left:auto;align-items:center}.navlinks a{color:#edf3f5;text-decoration:none;font-size:15px;font-weight:800}.navlinks a:hover,.navlinks a:focus{color:#fff;text-decoration:underline;text-underline-offset:6px}.desktop-actions{display:flex;gap:9px}.menu{display:none;margin-left:auto;width:45px;height:45px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:transparent}.menu i,.menu i:before,.menu i:after{display:block;width:23px;height:2px;background:#fff;content:"";position:relative;margin:auto}.menu i:before{position:absolute;top:-7px}.menu i:after{position:absolute;top:7px}.mobile-nav{display:none;background:#071117;border-top:1px solid rgba(255,255,255,.12);padding:5px 18px 18px}.mobile-nav.open{display:block}.mobile-nav a{display:block;color:#fff;text-decoration:none;font-weight:850;padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.10)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:10px 18px;border-radius:12px;border:2px solid transparent;text-decoration:none;font-weight:900;font-size:19px;line-height:1.1;transition:.16s ease}.btn:hover{transform:translateY(-1px)}.btn.red{background:var(--red);color:#fff}.btn.blue{background:var(--blue);color:#06131a}.btn.white{background:#fff;color:#071117}.btn.outline{background:transparent;border-color:#bcc9ce;color:#17252d}.btn.dark{background:#071117;color:#fff}.hero{background:linear-gradient(132deg,#050b0f 0%,#0a1820 58%,#102b37 100%);color:#fff;position:relative;overflow:hidden}.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center;padding:70px 0}.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#bceaf5;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.eyebrow:before{content:"";width:27px;height:4px;border-radius:99px;background:var(--red)}h1{font-size:clamp(42px,6vw,70px);line-height:1.01;letter-spacing:-.045em;margin:0 0 19px}.hero p{font-size:clamp(18px,2vw,21px);max-width:720px;color:#d8e5ea;margin:0 0 26px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap}.hero-art{position:relative}.hero-art img{filter:drop-shadow(0 26px 60px rgba(0,0,0,.28));border-radius:26px}.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.trust-item{padding:16px 18px;border-right:1px solid var(--line);text-align:center}.trust-item:last-child{border-right:0}.trust-item strong{display:block;font-size:14px}.trust-item span{color:var(--muted);font-size:13px}section{padding:74px 0}.tight{padding:48px 0}.section-head{max-width:780px;margin-bottom:31px}.kicker{font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.09em;color:var(--blue-dark);margin-bottom:8px}h2{font-size:clamp(31px,4vw,48px);line-height:1.07;letter-spacing:-.035em;margin:0 0 13px}h3{font-size:22px;line-height:1.18;margin:0 0 9px}p{margin:0 0 15px}.lead{font-size:19px;color:#43525c}.grid{display:grid;gap:21px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 7px 26px rgba(7,26,36,.045)}.card.media{overflow:hidden;padding:0}.card.media img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#eef5f7}.card.media .inside{padding:24px}.soft{background:var(--soft)}.band{background:var(--soft)}.band-blue{background:#eaf5f8}.band-dark{background:#071117;color:#fff}.band-dark .lead,.band-dark p{color:#d4e2e7}.icon{width:45px;height:45px;border-radius:13px;background:var(--soft2);display:grid;place-items:center;color:var(--blue-dark);font-weight:950;margin-bottom:14px}.text-link{font-weight:900;color:var(--blue-dark);text-decoration:none}.text-link:hover{text-decoration:underline}.checklist{list-style:none;padding:0;margin:0;display:grid;gap:10px}.checklist li{position:relative;padding-left:28px}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--blue-dark);font-weight:1000}.callout{background:#fff3f3;border-left:5px solid var(--red);padding:20px 22px;border-radius:0 15px 15px 0}.steps{display:grid;gap:15px;counter-reset:s}.step{display:grid;grid-template-columns:43px 1fr;gap:14px}.step:before{counter-increment:s;content:counter(s);width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:950}.cta-panel{display:flex;justify-content:space-between;align-items:center;gap:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:18px;font-weight:900;cursor:pointer}.faq details p{padding-top:10px;color:#4c5c66}.page-intro{background:#f4f7f8;border-bottom:1px solid var(--line);padding:34px 0}.page-intro h1{font-size:clamp(34px,5vw,52px);color:#071117;margin-bottom:10px}.page-intro p{font-size:18px;color:#4b5a64;max-width:760px;margin:0}.form-shell{display:grid;grid-template-columns:.78fr 1.22fr;gap:28px;align-items:start}.form-card,.tool-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.field{margin-bottom:16px}label.field-label{display:block;font-weight:900;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #b8c5ca;border-radius:11px;padding:13px 14px;color:#071117;background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,157,192,.15)}textarea{min-height:112px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.progress{height:8px;background:#e6edf0;border-radius:999px;overflow:hidden;margin-bottom:21px}.progress span{display:block;width:33%;height:100%;background:linear-gradient(90deg,var(--red),var(--blue));transition:.2s}.form-step{display:none}.form-step.active{display:block}.form-nav{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice{display:flex;gap:8px;align-items:flex-start;border:1px solid #bcc9ce;border-radius:12px;padding:13px;background:#fff;font-weight:750}.choice input{width:auto;margin-top:5px}.consent{display:grid;grid-template-columns:21px 1fr;gap:9px;align-items:start;margin:13px 0}.consent input{width:18px;height:18px;margin-top:3px}.notice{font-size:13px;color:#5d6b74}.error{font-size:14px;color:#a20d15;font-weight:850;margin-top:6px}.hidden-hp{position:absolute;left:-99999px;width:1px;height:1px;overflow:hidden}.conditional{display:none}.conditional.show{display:block}.result{display:none;background:#eaf5f8;border:1px solid #afdce7;border-radius:16px;padding:22px;margin-top:18px}.result.show{display:block}.mini-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef5f7;border:1px solid #d7e4e8;font-size:13px;font-weight:850;margin:0 5px 7px 0}.registration{background:#071117;color:#fff;border-radius:18px;padding:21px}.registration strong{display:block;font-size:18px}.registration span{color:#c7d7dd;font-size:14px}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-list a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff;font-weight:900}.service-list a:hover{border-color:var(--blue);box-shadow:0 8px 22px rgba(29,157,192,.08)}footer{background:#020609;color:#fff;padding:50px 0 22px}.footer-grid{display:grid;grid-template-columns:1.15fr .8fr .9fr;gap:28px}.footer-logo{width:200px}.footer-links{display:grid;gap:8px}footer a{color:#dce8ec;text-decoration:none}footer a:hover{text-decoration:underline}.footer-note{border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding-top:18px;color:#a9bac1;font-size:13px}.sticky-mobile{display:none}
@media(max-width:1160px){.navlinks,.desktop-actions{display:none}.menu{display:block}}
@media(max-width:980px){.hero .wrap{grid-template-columns:1fr .8fr;gap:30px}.form-shell{grid-template-columns:1fr}.three{grid-template-columns:1fr 1fr}}
@media(max-width:720px){body{padding-bottom:72px}.utility{display:none}.nav{min-height:70px}.brand img{width:168px}.hero .wrap{display:block;padding:45px 0 42px}.hero h1{font-size:42px}.hero p{font-size:18px}.hero-art{margin-top:26px}.hero-art img{max-height:250px;width:100%;object-fit:cover}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .btn{padding:10px 12px}.trust-grid{grid-template-columns:1fr 1fr}.trust-item{border-bottom:1px solid var(--line)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(3),.trust-item:nth-child(4){border-bottom:0}.two,.three,.row,.choice-grid,.service-list,.footer-grid{grid-template-columns:1fr}section{padding:56px 0}.page-intro{padding:25px 0}.form-card,.tool-card{padding:21px}.cta-panel{display:block}.cta-panel .btn{margin-top:12px;width:100%}.sticky-mobile{position:fixed;display:grid;grid-template-columns:1fr 1fr;gap:8px;bottom:0;left:0;right:0;z-index:100;background:#fff;border-top:1px solid var(--line);padding:8px}.sticky-mobile .btn{min-height:53px;font-size:18px}.contact-page .form-card,.assessment-page .tool-card{order:-1}.contact-page .sticky-mobile{grid-template-columns:1fr}.assessment-page .sticky-mobile{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.hero h1{font-size:38px}.hero-actions{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)!important}.trust-item:last-child{border-bottom:0!important}}


/* ============================================================
   V2.1 Replacement Conversion Layer
   ============================================================ */

.replace-banner{
  position:relative;
  z-index:48;
  background:linear-gradient(90deg,#ED1C24 0%,#d7171e 46%,#124f62 100%);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.replace-banner .wrap{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding-top:8px;
  padding-bottom:8px;
  text-align:center;
}
.replace-banner-copy{
  font-weight:850;
  line-height:1.32;
  font-size:15px;
}
.replace-banner-copy strong{font-weight:1000}
.replace-banner .replace-banner-cta{
  flex:0 0 auto;
  min-height:40px;
  padding:8px 14px;
  border-radius:10px;
  background:#fff;
  color:#071117;
  text-decoration:none;
  font-weight:950;
  white-space:nowrap;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.replace-banner .replace-banner-cta:hover{transform:translateY(-1px)}
.replace-banner-close{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.14);
  color:#fff;
  font-size:24px;
  line-height:1;
}

.replacement-nudge{
  padding:0;
  background:#fff;
}
.replacement-nudge .replace-nudge-card{
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  padding:28px;
  border-radius:20px;
  border:1px solid #f1b9bc;
  background:linear-gradient(135deg,#fff4f4 0%,#fff 52%,#eaf6f9 100%);
  box-shadow:0 12px 32px rgba(18,42,52,.06);
}
.replacement-nudge .kicker{color:#a90d14}
.replacement-nudge h2{font-size:clamp(28px,3.2vw,40px)}
.replacement-nudge p{max-width:760px;color:#40515a;margin-bottom:0}
.replace-nudge-actions{
  display:flex;
  flex-direction:column;
  gap:9px;
  min-width:225px;
}
.replace-nudge-actions .btn{width:100%}
.replace-nudge-note{
  text-align:center;
  font-size:12px;
  color:#61717a;
}

.replace-popup{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:220;
  width:min(430px,calc(100vw - 32px));
  background:#fff;
  color:#071117;
  border-radius:22px;
  border:1px solid #ccd9de;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  overflow:hidden;
  opacity:0;
  transform:translateY(26px) scale(.98);
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
}
.replace-popup.show{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.replace-popup-top{
  height:7px;
  background:linear-gradient(90deg,#ED1C24 0 50%,#1D9DC0 50% 100%);
}
.replace-popup-body{padding:24px}
.replace-popup .popup-eyebrow{
  color:#a90d14;
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:7px;
}
.replace-popup h2{
  font-size:29px;
  margin:0 34px 10px 0;
  line-height:1.04;
}
.replace-popup p{
  color:#46565f;
  margin-bottom:18px;
}
.replace-popup-actions{display:grid;gap:9px}
.replace-popup-actions .btn{width:100%}
.replace-popup small{
  display:block;
  margin-top:10px;
  color:#6a7981;
  text-align:center;
  line-height:1.35;
}
.replace-popup-close{
  position:absolute;
  right:12px;
  top:15px;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:#edf3f5;
  color:#17252d;
  font-size:23px;
  line-height:1;
}

.quiz-promise{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 0;
}
.quiz-promise span{
  display:inline-flex;
  padding:7px 10px;
  border:1px solid #d3e0e4;
  background:#fff;
  border-radius:999px;
  color:#45545d;
  font-size:12px;
  font-weight:850;
}
.result-offer{
  border-top:1px solid #bbdce4;
  margin-top:18px;
  padding-top:18px;
}
.result-offer h3{margin-bottom:7px}
.result-offer .offer-note{
  font-size:13px;
  color:#5d6b74;
  margin-bottom:14px;
}

@media(max-width:720px){
  .replace-banner .wrap{
    min-height:70px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    padding-right:34px;
    text-align:left;
  }
  .replace-banner-copy{font-size:13px}
  .replace-banner .replace-banner-cta{
    font-size:13px;
    padding:7px 10px;
    white-space:normal;
    text-align:center;
    max-width:125px;
  }
  .replace-banner-close{
    right:3px;
    width:31px;
    height:31px;
    font-size:20px;
  }
  .replacement-nudge .replace-nudge-card{
    grid-template-columns:1fr;
    padding:23px;
  }
  .replace-nudge-actions{min-width:0}
  .replace-popup{
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-width:none;
    border-radius:24px 24px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
    transform:translateY(105%);
  }
  .replace-popup.show{transform:translateY(0)}
  .replace-popup-body{padding:22px 20px calc(22px + env(safe-area-inset-bottom))}
  .replace-popup h2{font-size:26px}
}


/* ============================================================
   V2.2 Proof & Media Layer
   Authentic MAC HVAC project media supplied by owner.
   ============================================================ */
.hero-photo{position:relative;border-radius:26px;overflow:hidden;box-shadow:0 26px 60px rgba(0,0,0,.30);border:1px solid rgba(255,255,255,.12);background:#071117}
.hero-photo img{width:100%;height:100%;min-height:390px;object-fit:cover;filter:none;transform:none}
.hero-photo .photo-badge{position:absolute;left:16px;bottom:16px;background:rgba(2,6,9,.88);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:950;letter-spacing:.03em;backdrop-filter:blur(6px)}
.project-photo{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#edf3f5;box-shadow:0 10px 30px rgba(6,24,34,.08)}
.project-photo img{width:100%;height:100%;object-fit:cover}
.project-photo.ratio-wide{aspect-ratio:16/10}.project-photo.ratio-square{aspect-ratio:1/1}.project-photo.ratio-tall{aspect-ratio:4/5}
.photo-card{padding:0;overflow:hidden}.photo-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.photo-card .inside{padding:22px 24px 24px}.photo-card .caption{font-size:13px;color:#65747c;margin-top:8px}
.proof-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center}.proof-grid.reverse{grid-template-columns:.85fr 1.15fr}.proof-copy{max-width:650px}.proof-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#a90d14;margin-bottom:9px}.proof-label:before{content:"";width:23px;height:4px;background:var(--red);border-radius:99px}
.work-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.work-tile{position:relative;border-radius:16px;overflow:hidden;min-height:205px;background:#eaf1f3;border:1px solid var(--line)}.work-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.work-tile:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(2,6,9,.86))}.work-tile span{position:absolute;z-index:2;left:14px;bottom:12px;right:12px;color:#fff;font-weight:900;font-size:14px;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.work-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.work-item{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 26px rgba(7,26,36,.05)}.work-item img{width:100%;aspect-ratio:16/11;object-fit:cover;background:#eef4f6}.work-item .work-copy{padding:17px 18px}.work-item h3{font-size:18px;margin-bottom:5px}.work-item p{font-size:14px;color:#53616b;margin:0}.work-item.featured{grid-column:span 2}.work-item.featured img{aspect-ratio:16/9}.authentic-note{display:flex;gap:12px;align-items:flex-start;background:#edf8fa;border:1px solid #bddfe6;border-radius:16px;padding:18px}.authentic-note strong{display:block}.authentic-dot{width:12px;height:12px;flex:0 0 auto;border-radius:50%;background:var(--blue);margin-top:7px}
.experience-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #cfdde2;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900;color:#263942;margin:6px 8px 0 0}.experience-pill strong{color:#071117}
.scope-card{background:linear-gradient(135deg,#071117 0%,#102a36 100%);color:#fff;border-radius:22px;padding:28px}.scope-card p{color:#d0dee3}.scope-card .checklist li:before{color:#81d4e8}.scope-exclusion{margin-top:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.16);color:#d0dee3;font-size:14px}
.no-project-claim{font-size:12px;color:#68777f;margin-top:8px}
@media(max-width:980px){.work-strip{grid-template-columns:repeat(2,1fr)}.work-gallery{grid-template-columns:repeat(2,1fr)}.work-item.featured{grid-column:span 2}.proof-grid,.proof-grid.reverse{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.hero-photo{margin-top:26px}.hero-photo img{min-height:260px;max-height:300px}.proof-grid,.proof-grid.reverse{grid-template-columns:1fr}.proof-grid.reverse .proof-copy{order:-1}.work-strip{grid-template-columns:1fr 1fr}.work-tile{min-height:165px}.work-gallery{grid-template-columns:1fr}.work-item.featured{grid-column:auto}.work-item.featured img,.work-item img{aspect-ratio:16/11}}
@media(max-width:420px){.work-strip{grid-template-columns:1fr}.work-tile{min-height:200px}}


/* Testing V2.2 contact/business identity layout */
.contact-identity-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 8px 26px rgba(7,26,36,.05)}
.contact-identity-item{display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px 10px}
.contact-identity-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:#61727b}
.contact-identity-value{font-size:18px;line-height:1.35;color:#071117;font-weight:900;text-decoration:none;overflow-wrap:anywhere}
.contact-identity-value:hover{text-decoration:underline}
footer .footer-links span{display:block;color:#dce8ec}
footer .registration span{display:block;margin-top:4px}
@media(max-width:720px){.contact-identity-card{grid-template-columns:1fr}.contact-identity-item{padding:5px 4px 10px;border-bottom:1px solid var(--line)}.contact-identity-item:last-child{border-bottom:0}}

/* V2.3 full-service architecture */
.four{grid-template-columns:repeat(4,minmax(0,1fr))}.priority-card{position:relative}.priority-label{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef5f7;color:#40515a;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}.priority-card.priority-1{border-color:#efb5b8;box-shadow:0 10px 30px rgba(237,28,36,.08)}.priority-card.priority-1 .priority-label{background:#fff0f0;color:#a90d14}.band-dark .card{background:#10232c;border-color:#28404b;color:#fff}.band-dark .card p{color:#d4e2e7}
@media(max-width:1100px){.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.four{grid-template-columns:1fr}.service-priority-grid .btn{width:100%}}


/* V2.4 final polish */
.priority-card{display:flex;flex-direction:column}
.priority-card .btn{margin-top:auto;align-self:flex-start}
.about-craft-img{object-position:68% center}
.service-area-hero-img{object-position:center 58%}
@media(max-width:720px){.priority-card .btn{align-self:stretch}.about-craft-img{object-position:70% center}}


/* ============================================================
   V2.4.3 Launch Polish: interaction affordance + uniform CTAs
   ============================================================ */
.btn{
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}
.btn:hover,.btn:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(7,31,42,.18);
}
.btn:active{transform:translateY(0) scale(.985);box-shadow:0 4px 12px rgba(7,31,42,.14)}
.btn:focus-visible,.navlinks a:focus-visible,.mobile-nav a:focus-visible,.service-list a:focus-visible,footer a:focus-visible{
  outline:3px solid rgba(29,157,192,.42);
  outline-offset:3px;
}
.btn.red:hover,.btn.red:focus-visible{background:#b90f16;color:#fff}
.btn.blue:hover,.btn.blue:focus-visible{background:#075d73;color:#fff}
.btn.outline:hover,.btn.outline:focus-visible{background:#eaf5f8;border-color:#1D9DC0;color:#075d73}
.btn.dark:hover,.btn.dark:focus-visible{background:#12303c;color:#fff}
.btn.white:hover,.btn.white:focus-visible{background:#eef5f7;color:#071117}
.navlinks a,.mobile-nav a,footer a,.text-link,.service-list a{transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.navlinks a:hover,.navlinks a:focus-visible{color:#81d4e8;text-decoration:none}
.mobile-nav a:hover,.mobile-nav a:focus-visible{background:rgba(29,157,192,.12);color:#bceaf5;padding-left:10px}
footer a:hover,footer a:focus-visible{color:#81d4e8;text-decoration:underline;text-underline-offset:4px}
.text-link:hover,.text-link:focus-visible{color:#075d73;text-decoration:underline;text-underline-offset:4px}
.service-list a:hover,.service-list a:focus-visible{transform:translateY(-2px);background:#f7fbfc;border-color:#1D9DC0;box-shadow:0 10px 24px rgba(29,157,192,.12)}
.choice{transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}
.choice:hover,.choice:focus-within{border-color:#1D9DC0;background:#f7fbfc;box-shadow:0 0 0 3px rgba(29,157,192,.10)}

/* Same visual size for the four main service CTAs. */
.service-priority-grid .priority-card .btn{
  width:100%;
  min-height:64px;
  align-self:stretch;
  padding:10px 14px;
  text-align:center;
}
.compact-card{align-self:start}

@media (prefers-reduced-motion: reduce){
  .btn,.navlinks a,.mobile-nav a,footer a,.text-link,.service-list a,.choice{transition:none!important}
  .btn:hover,.btn:focus-visible,.service-list a:hover,.service-list a:focus-visible{transform:none!important}
}


/* V2.4.4 quiz-result clarity */
.result{
  background:#fff;
  border:1px solid #afdce7;
  padding:0;
  overflow:hidden;
}
.result-summary{
  background:linear-gradient(135deg,#eaf5f8 0%,#f8fcfd 100%);
  padding:26px;
  border-bottom:1px solid #c9e3e9;
}
.result-kicker{
  color:#075d73;
  font-size:12px;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:7px;
}
.result-summary h3{
  font-size:30px;
  margin-bottom:9px;
}
.result-main-text{
  font-size:17px;
  color:#273943;
  margin-bottom:16px;
}
.result-reasons{
  background:#fff;
  border:1px solid #c9e3e9;
  border-radius:13px;
  padding:15px 17px;
  margin:17px 0 12px;
}
.result-reasons strong{
  display:block;
  margin-bottom:7px;
}
.result-reasons ul{
  margin:0;
  padding-left:20px;
}
.result-reasons li{
  margin:4px 0;
}
.result-disclaimer{
  margin:10px 0 0;
  color:#596a73;
  font-size:13px;
}
.result-offer{
  border-top:0;
  margin:0;
  padding:25px 26px 27px;
  background:#fff;
}
.result-offer h3{
  font-size:24px;
}
.result-offer .offer-note{
  font-size:15px;
  color:#45555f;
  max-width:720px;
}
.result .optional{
  color:#65757e;
  font-weight:650;
  font-size:13px;
}
.result-contact-note{
  color:#65757e;
  font-size:12px;
  margin:12px 0 0;
}
.result [data-result-submit]{
  min-width:240px;
}
@media(max-width:720px){
  .result-summary,.result-offer{padding:21px}
  .result-summary h3{font-size:26px}
  .result [data-result-submit]{width:100%;min-width:0}
}


/* V2.4.5 HVAC Savings Check */
.savings-teaser{background:linear-gradient(135deg,#eaf5f8,#f8fbfc)}
.savings-cta-panel{border-color:#b9dbe4;box-shadow:0 12px 35px rgba(7,93,115,.08)}
.savings-shell{display:grid;grid-template-columns:.72fr 1.28fr;gap:22px;align-items:start}
.savings-inputs{position:sticky;top:140px}
.money-input{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid #b8c5ca;border-radius:11px;background:#fff;overflow:hidden}
.money-input span{padding:0 0 0 14px;font-weight:900;color:#52616a}.money-input input{border:0;box-shadow:none!important;padding-left:7px}
.source-note{margin-top:16px;padding:13px 14px;border-radius:12px;background:#f4f7f8;color:#53616b;font-size:12px}
.savings-tool{padding:0;overflow:hidden}.savings-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);background:#f7fafb}
.savings-tab{border:0;border-right:1px solid var(--line);padding:14px 10px;background:transparent;color:#314650;font-weight:900;line-height:1.2}.savings-tab:last-child{border-right:0}.savings-tab:hover,.savings-tab:focus-visible{background:#eaf5f8;color:#075d73}.savings-tab.active{background:#071117;color:#fff}
.savings-scenario{padding:24px 25px 8px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.savings-scenario h3{font-size:28px}.savings-scenario p{max-width:760px;color:#475862}
.scenario-switch{display:flex;gap:6px;white-space:nowrap}.scenario-switch button{border:1px solid #aabcc3;background:#fff;color:#314650;border-radius:999px;padding:8px 12px;font-weight:900}.scenario-switch button:hover,.scenario-switch button:focus-visible{border-color:var(--blue);color:#075d73}.scenario-switch button.active{background:var(--blue);border-color:var(--blue);color:#06131a}
.savings-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px 25px 4px}.savings-summary>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.savings-summary span{display:block;color:#5a6a73;font-size:12px;font-weight:800;margin-bottom:3px}.savings-summary strong{font-size:24px;line-height:1.1}
.savings-chart{padding:22px 25px}.chart-row{display:grid;grid-template-columns:190px 1fr 80px;gap:12px;align-items:center;margin:15px 0}.chart-label{font-size:13px;font-weight:850;color:#44545e}.chart-track{height:26px;border-radius:999px;background:#e6eef1;overflow:hidden}.chart-bar{height:100%;min-width:4%;border-radius:999px;transition:width .28s ease}.chart-bar.care{background:linear-gradient(90deg,#1D9DC0,#0c718b)}.chart-bar.waste{background:linear-gradient(90deg,#ED1C24,#b90f16)}.chart-row strong{text-align:right}
.scenario-explanation{margin:0 25px 12px;padding:16px 18px;background:#f5f8f9;border-radius:13px;color:#3f515a}.savings-guardrail{padding:0 25px 25px;color:#65757e;font-size:12px}.savings-guidance .card{height:100%}.savings-guidance .mini-badge{margin-bottom:12px}
.savings-page .band-dark .text-link{color:#9ee5f4}.savings-page .band-dark .text-link:hover{color:#fff}
@media(max-width:980px){.savings-shell{grid-template-columns:1fr}.savings-inputs{position:static}.savings-tabs{grid-template-columns:repeat(3,1fr)}.savings-tab:nth-child(4),.savings-tab:nth-child(5){border-top:1px solid var(--line)}}
@media(max-width:720px){.savings-tabs{grid-template-columns:1fr 1fr}.savings-scenario{display:block;padding:21px}.scenario-switch{margin-top:15px}.savings-summary{grid-template-columns:1fr;padding:10px 21px}.savings-chart{padding:18px 21px}.chart-row{grid-template-columns:1fr;gap:5px}.chart-row strong{text-align:left}.scenario-explanation{margin:0 21px 12px}.savings-guardrail{padding:0 21px 21px}.savings-cta-panel .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.chart-bar{transition:none}}


/* V2.4.6 National HVAC Waste & Savings Guide */
.national-baseline{background:#fff}
.baseline-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.baseline-card{
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
  background:#fff;
  box-shadow:0 9px 25px rgba(6,24,34,.045);
}
.baseline-card span{
  display:block;
  color:#5f7079;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.baseline-card strong{
  display:block;
  margin:7px 0 3px;
  font-size:30px;
  line-height:1.05;
}
.baseline-card small{color:#667780;line-height:1.45}
.baseline-note{
  max-width:900px;
  margin:17px 0 0;
  color:#6a7a82;
  font-size:12px;
}

.national-savings-shell{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.national-savings-tabs{
  display:grid;
  gap:9px;
  position:sticky;
  top:112px;
}
.national-savings-tab{
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  border:1px solid #bed0d7;
  background:#fff;
  border-radius:13px;
  padding:13px 14px;
  text-align:left;
  color:#102029;
  font-weight:900;
  cursor:pointer;
  transition:.18s ease;
}
.national-savings-tab span{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  flex:0 0 29px;
  border-radius:50%;
  background:#edf4f6;
  color:#52656f;
  font-size:11px;
}
.national-savings-tab:hover{
  transform:translateX(3px);
  border-color:var(--blue);
  box-shadow:0 8px 18px rgba(8,65,82,.08);
}
.national-savings-tab.active{
  background:#071117;
  border-color:#071117;
  color:#fff;
}
.national-savings-tab.active span{
  background:var(--red);
  color:#fff;
}

.national-savings-result{padding:27px}
.result-topline{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  padding-bottom:19px;
  border-bottom:1px solid var(--line);
}
.result-topline h3{
  font-size:31px;
  max-width:620px;
}
.result-number{
  flex:0 0 230px;
  background:#071117;
  color:#fff;
  padding:17px;
  border-radius:16px;
}
.result-number span{
  display:block;
  color:#bcd2dc;
  font-size:11px;
  line-height:1.3;
  text-transform:uppercase;
  font-weight:850;
  letter-spacing:.05em;
}
.result-number strong{
  display:block;
  margin-top:6px;
  font-size:28px;
  line-height:1.1;
}
.national-result-copy{
  font-size:17px;
  color:#3f5059;
  margin:20px 0;
}
.national-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:19px 0 25px;
}
.national-fact{
  border:1px solid #d8e4e8;
  border-radius:13px;
  padding:13px;
  background:#f7fafb;
}
.national-fact span{
  display:block;
  color:#667780;
  font-size:11px;
  line-height:1.3;
}
.national-fact strong{
  display:block;
  margin-top:4px;
  font-size:19px;
}

.national-chart{
  background:#071117;
  color:#fff;
  border-radius:17px;
  padding:18px 20px;
}
.national-chart-row{
  display:grid;
  grid-template-columns:230px 1fr 90px;
  gap:12px;
  align-items:center;
  margin:13px 0;
}
.national-chart-label{
  color:#d3e0e5;
  font-size:12px;
}
.national-chart-track{
  height:31px;
  border-radius:8px;
  background:#263a43;
  overflow:hidden;
}
.national-chart-bar{
  height:100%;
  min-width:4%;
  border-radius:8px;
  background:linear-gradient(90deg,#ed1c24,#ff767b);
  transition:width .35s ease;
}
.national-chart-bar.care{
  background:linear-gradient(90deg,#1d9dc0,#6ed6ec);
}
.national-chart-bar.waste{
  background:linear-gradient(90deg,#ed1c24,#ff767b);
}
.national-chart-row strong{text-align:right}

.national-why{
  border-left:4px solid var(--blue);
  background:#f4f9fa;
  margin-top:20px;
  padding:14px 16px;
  border-radius:0 12px 12px 0;
}
.national-why strong{display:block;margin-bottom:4px}
.national-why p{margin:0;color:#465861}
.national-source{
  margin-top:13px;
  color:#708088;
  font-size:11px;
}
.evidence-grid .card{padding:23px}
.savings-final-cta{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:30px;
  align-items:center;
}
.cta-stack{display:grid;gap:10px}
.source-section{padding-top:38px}
.sources-details{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.sources-details summary{
  cursor:pointer;
  font-weight:900;
  padding:17px 20px;
  background:#f5f8f9;
}
.sources-body{padding:20px}
.sources-body p{margin:0 0 12px}

@media(max-width:900px){
  .national-savings-shell{grid-template-columns:1fr}
  .national-savings-tabs{
    position:static;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .national-savings-tab{display:block;text-align:center}
  .national-savings-tab span{margin:0 auto 6px}
}
@media(max-width:720px){
  .baseline-grid,
  .national-facts,
  .savings-final-cta{grid-template-columns:1fr}
  .national-savings-tabs{grid-template-columns:1fr 1fr}
  .result-topline{display:block}
  .result-number{margin-top:16px}
  .national-chart-row{grid-template-columns:1fr}
  .national-chart-row strong{text-align:left}
}
@media(max-width:440px){
  .national-savings-tabs{grid-template-columns:1fr}
}


/* ===== V2.4.7 HVAC COST & RISK CHECK ===== */
.risk-hero .hero-copy p{max-width:720px}
.risk-check-section{overflow:visible}
.risk-calculator{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:22px;align-items:start}
.risk-questions,.risk-results{padding:24px}
.risk-results{position:sticky;top:112px}
.risk-q{padding:17px 0;border-top:1px solid var(--line)}
.risk-q:first-child{border-top:0;padding-top:0}
.risk-q h3{font-size:15px;margin:0 0 9px;line-height:1.35}
.risk-choices{display:flex;flex-wrap:wrap;gap:8px}
.risk-choice{min-height:44px;border:1px solid #bdccd3;background:#fff;color:#102029;border-radius:12px;padding:9px 12px;font-weight:850;cursor:pointer;transition:.16s ease}
.risk-choice:hover{border-color:var(--blue);transform:translateY(-1px)}
.risk-choice:focus-visible{outline:3px solid rgba(29,157,192,.28);outline-offset:2px}
.risk-choice.active{background:#eaf8fc;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.risk-choice.risk-danger.active{background:#fff0f1;border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.risk-main-answer{padding:15px 16px;border-radius:15px;background:#fff0f1;border-left:5px solid var(--red);line-height:1.48;margin-bottom:13px}
.risk-main-answer strong{font-size:19px}
.risk-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.risk-metric{border:1px solid #d9e3e8;border-radius:15px;padding:14px;min-width:0}
.risk-metric span{display:block;color:#61727a;font-size:11px;line-height:1.3;font-weight:800}
.risk-metric strong{display:block;margin-top:5px;font-size:28px;line-height:1.05;overflow-wrap:anywhere}
.risk-good{background:#eef9f2}.risk-good strong,.risk-green{color:#08783f}
.risk-bad{background:#fff0f1}.risk-bad strong,.risk-red{color:var(--red)}
.risk-warn{background:#fff7e8}.risk-warn strong{color:#9b5900}
.risk-info{background:#eef9fc}.risk-info strong{color:#117b99}
.risk-gamble{margin-top:13px;background:#071117;color:#fff;border-radius:17px;padding:18px 19px}
.risk-eyebrow{display:block;color:#bdd0d8;font-size:11px;letter-spacing:.05em;font-weight:900}
.risk-gamble h3{font-size:27px;line-height:1.12;margin:6px 0 8px}
.risk-gamble p{color:#d7e6eb;margin:0;line-height:1.48}
.risk-gamble small{display:block;color:#a9c0c9;margin-top:12px;line-height:1.4}
.risk-bar-block{margin-top:14px}
.risk-bar-label{display:flex;justify-content:space-between;gap:12px;color:#d6e5ea;font-size:11px;margin-bottom:5px}
.risk-bar{height:12px;background:#263a43;border-radius:999px;overflow:hidden}
.risk-bar i{display:block;height:100%;min-width:4%;border-radius:999px;transition:width .25s ease}
.risk-bar-save i{background:linear-gradient(90deg,#1d9dc0,#6ed6ec)}
.risk-bar-fail i{background:linear-gradient(90deg,#ed1c24,#ff767b)}
.risk-sale{margin-top:13px;padding:16px;border-radius:16px;background:#fff7e8;border-left:5px solid #9b5900}
.risk-sale>span{font-weight:900}.risk-sale>strong{display:block;color:#9b5900;font-size:29px;line-height:1.05;margin:5px 0 7px}.risk-sale p{margin:0;color:#45565f}
.risk-payback,.risk-current{margin-top:13px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.risk-payback h3,.risk-current h3{background:#071117;color:#fff;padding:12px 14px;margin:0;font-size:17px}
.risk-payback-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 14px;border-top:1px solid var(--line)}
.risk-payback-row strong{color:var(--red);font-size:18px}
.risk-payback>small{display:block;padding:10px 14px;color:#6d7d85;border-top:1px solid var(--line);line-height:1.4}
.risk-current-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:11px 14px;border-top:1px solid var(--line)}
.risk-current-row>div>strong{display:block}.risk-current-row small{display:block;color:#6a7a82;font-size:11px;line-height:1.35;margin-top:3px}.risk-current-row>b{font-size:17px;text-align:right}
.risk-callout{margin-top:13px;padding:14px 15px;border-radius:14px;background:#eef9f2;border-left:5px solid #08783f;line-height:1.48}
.risk-callout.warn{background:#fff7e8;border-left-color:#9b5900}.risk-callout.bad{background:#fff0f1;border-left-color:var(--red)}
.risk-math{margin-top:13px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.risk-math summary{padding:13px 15px;cursor:pointer;font-weight:900;background:#f5f8f9}.risk-math>div{padding:0 16px 15px;color:#586a73;font-size:12px;line-height:1.5}.risk-math ul{padding-left:20px}
.risk-cta{display:block;text-align:center;margin-top:14px;width:100%}.risk-disclaimer{font-size:11px;color:#6c7b83;line-height:1.45;margin:10px 0 0}
.risk-impact-grid .card,.risk-repair-grid .card{padding:23px}.risk-repair-grid strong{display:block;color:var(--red);font-size:29px;margin:7px 0}.risk-repair-grid p{margin:0;color:#51636c}
@media(max-width:1000px){.risk-calculator{grid-template-columns:1fr}.risk-results{position:static}}
@media(max-width:720px){.risk-metrics{grid-template-columns:1fr}.risk-results,.risk-questions{padding:18px}.risk-gamble h3{font-size:23px}.risk-sale>strong{font-size:26px}}
@media(max-width:440px){.risk-choice{width:100%;text-align:left}.risk-current-row{grid-template-columns:1fr}.risk-current-row>b{text-align:left}}
