:root {
  --hhc-sa-navy:#012c5a;
  --hhc-sa-navy-deep:#001a37;
  --hhc-sa-blue:#0a4f8e;
  --hhc-sa-green:#8bd346;
  --hhc-sa-green-dark:#67a92e;
  --hhc-sa-ink:#0a315c;
  --hhc-sa-muted:#5d7086;
  --hhc-sa-bg:#f4f8fb;
  --hhc-sa-line:#dce6ef;
  --hhc-sa-white:#fff;
  --hhc-sa-radius:26px;
  --hhc-sa-shadow:0 24px 65px rgba(1,44,90,.14);
  --hhc-sa-soft-shadow:0 14px 40px rgba(1,44,90,.08);
}

body.hhc-service-area-managed{overflow-x:hidden}
.hhc-sa-page,.hhc-sa-page *{box-sizing:border-box}
.hhc-sa-page{position:relative;color:var(--hhc-sa-ink);background:#fff;font-family:inherit;line-height:1.65;overflow:hidden}
.hhc-sa-page h1,.hhc-sa-page h2,.hhc-sa-page h3{color:var(--hhc-sa-navy);line-height:1.04;margin-top:0;font-weight:800;letter-spacing:-.035em}
.hhc-sa-page h1{font-size:clamp(2.65rem,5vw,5.25rem)}
.hhc-sa-page h2{font-size:clamp(2rem,3.4vw,3.45rem)}
.hhc-sa-page h3{font-size:clamp(1.2rem,1.8vw,1.6rem)}
.hhc-sa-page p{color:var(--hhc-sa-muted);font-size:1.04rem}
.hhc-sa-container{width:min(1320px,calc(100% - 48px));margin:0 auto}
.hhc-sa-section{padding:clamp(72px,8vw,118px) 0}
.hhc-sa-photo{display:block;width:100%;height:100%;object-fit:cover}
.hhc-sa-section-kicker,.hhc-sa-eyebrow,.hhc-sa-module-tag{display:inline-flex;align-items:center;gap:9px;color:var(--hhc-sa-green-dark);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em;margin-bottom:14px}
.hhc-sa-section-kicker::before,.hhc-sa-eyebrow::before{content:"";width:28px;height:3px;border-radius:9px;background:var(--hhc-sa-green)}
.hhc-sa-heading-center{max-width:850px;margin:0 auto 42px;text-align:center}
.hhc-sa-heading-center .hhc-sa-section-kicker::before{display:none}
.hhc-sa-heading-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.65fr);gap:48px;align-items:end;margin-bottom:42px}
.hhc-sa-heading-split h2{margin-bottom:0}
.hhc-sa-heading-split p{margin:0 0 7px;max-width:520px}

.hhc-sa-breadcrumbs{background:#f9fbfd;border-bottom:1px solid var(--hhc-sa-line)}
.hhc-sa-breadcrumbs ol{list-style:none;margin:0;padding:13px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.82rem}
.hhc-sa-breadcrumbs li:not(:last-child)::after{content:"/";color:#9aabba;margin-left:8px}
.hhc-sa-breadcrumbs a{color:var(--hhc-sa-navy);text-decoration:none;font-weight:750}
.hhc-sa-breadcrumbs span{color:var(--hhc-sa-muted)}

/* Hero */
.hhc-sa-hero{position:relative;isolation:isolate;padding:clamp(74px,8vw,120px) 0;background:radial-gradient(circle at 90% 8%,rgba(139,211,70,.25),transparent 25%),linear-gradient(125deg,#f8fbff 0%,#eef6fb 46%,#eef8e8 100%)}
.hhc-sa-hero::before{content:"";position:absolute;z-index:-1;left:-11vw;bottom:-28vw;width:62vw;height:42vw;border-radius:50%;background:rgba(1,44,90,.045);transform:rotate(-12deg)}
.hhc-sa-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr);gap:clamp(44px,6vw,86px);align-items:center}
.hhc-sa-hero-copy{padding:20px 0}
.hhc-sa-hero-copy h1{max-width:760px;margin-bottom:24px}
.hhc-sa-lead{font-size:clamp(1.08rem,1.45vw,1.25rem)!important;max-width:735px;margin:0 0 30px;color:#365a78!important}
.hhc-sa-hero-actions,.hhc-sa-final-actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center}
.hhc-sa-btn{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:0 25px;border-radius:13px;text-decoration:none!important;font-weight:850;line-height:1;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.hhc-sa-btn:hover{transform:translateY(-2px)}
.hhc-sa-btn-primary{color:var(--hhc-sa-navy)!important;background:var(--hhc-sa-green);box-shadow:0 13px 28px rgba(104,173,44,.25)}
.hhc-sa-btn-primary:hover{background:#9be15b;box-shadow:0 17px 34px rgba(104,173,44,.32)}
.hhc-sa-btn-ghost{color:var(--hhc-sa-navy)!important;background:rgba(255,255,255,.72);border:1px solid rgba(1,44,90,.14);box-shadow:0 8px 22px rgba(1,44,90,.05)}
.hhc-sa-btn-dark{color:#fff!important;background:var(--hhc-sa-navy);box-shadow:0 12px 24px rgba(1,44,90,.18)}
.hhc-sa-btn-light{color:var(--hhc-sa-navy)!important;background:#fff}
.hhc-sa-trust-row{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:28px;color:var(--hhc-sa-navy);font-size:.84rem;font-weight:800}
.hhc-sa-trust-row b{color:var(--hhc-sa-green-dark);margin-right:4px}
.hhc-sa-hero-visual{position:relative;height:clamp(430px,42vw,600px);border-radius:32px;overflow:hidden;background:linear-gradient(145deg,#0d4c85,#012c5a);box-shadow:0 32px 80px rgba(1,44,90,.25)}
.hhc-sa-hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 47%,rgba(0,29,61,.72) 100%);pointer-events:none}
.hhc-sa-hero-overlay-card{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:end;padding:20px 22px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(1,44,90,.78);backdrop-filter:blur(12px);box-shadow:0 16px 35px rgba(0,0,0,.18)}
.hhc-sa-hero-overlay-card>span{color:#bce992;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.hhc-sa-hero-overlay-card>strong{grid-column:1;color:#fff;font-size:1.25rem}
.hhc-sa-hero-overlay-card ul{grid-row:1/3;grid-column:2;list-style:none;margin:0;padding:0;display:grid;gap:5px;color:#e8f2fa;font-size:.82rem;font-weight:750}
.hhc-sa-hero-overlay-card li::before{content:"+";color:var(--hhc-sa-green);margin-right:7px}

/* Admin-preview image placeholders */
.hhc-sa-image-placeholder{width:100%;height:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;padding:28px;background:linear-gradient(145deg,#e9f2f8,#eff8e7);border:2px dashed rgba(1,44,90,.23);color:var(--hhc-sa-navy)}
.hhc-sa-image-placeholder .hhc-sa-placeholder-plus{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--hhc-sa-green);font-size:2rem;font-weight:700;box-shadow:0 10px 22px rgba(104,173,44,.22)}
.hhc-sa-image-placeholder strong{font-size:1.15rem}
.hhc-sa-image-placeholder small{display:block;max-width:420px;color:#5b7185;line-height:1.45;font-size:.82rem}

/* Local story */
.hhc-sa-story{background:#fff}
.hhc-sa-story-grid{display:grid;grid-template-columns:minmax(430px,.95fr) minmax(0,1.05fr);gap:clamp(46px,7vw,95px);align-items:center}
.hhc-sa-story-visual{position:relative;height:clamp(430px,38vw,560px);overflow:hidden;border-radius:28px;background:#eef4f8;box-shadow:var(--hhc-sa-shadow)}
.hhc-sa-story-visual::before{content:"";position:absolute;z-index:2;inset:0;border:1px solid rgba(255,255,255,.5);border-radius:inherit;pointer-events:none}
.hhc-sa-photo-badge{position:absolute;z-index:3;left:22px;bottom:22px;padding:11px 14px;border-radius:999px;color:#fff;background:rgba(1,44,90,.86);font-size:.78rem;font-weight:850;backdrop-filter:blur(8px)}
.hhc-sa-story-copy h2{max-width:700px;margin-bottom:22px}
.hhc-sa-story-copy>p{font-size:1.08rem;max-width:760px}
.hhc-sa-climate-card{margin-top:28px;padding:24px 26px;border-radius:18px;background:linear-gradient(135deg,#f6faef,#f6faff);border:1px solid var(--hhc-sa-line);border-left:5px solid var(--hhc-sa-green)}
.hhc-sa-climate-card>span{display:block;color:var(--hhc-sa-navy);font-weight:900;margin-bottom:7px}
.hhc-sa-climate-card p{margin:0;font-size:.96rem}

/* Service cards */
.hhc-sa-services-section{background:var(--hhc-sa-bg)}
.hhc-sa-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hhc-sa-service-card{display:flex;flex-direction:column;overflow:hidden;min-height:480px;border-radius:22px;background:#fff;border:1px solid var(--hhc-sa-line);text-decoration:none!important;box-shadow:0 8px 25px rgba(1,44,90,.05);transition:transform .23s ease,box-shadow .23s ease,border-color .23s ease}
.hhc-sa-service-card:hover{transform:translateY(-7px);box-shadow:var(--hhc-sa-shadow);border-color:rgba(139,211,70,.8)}
.hhc-sa-service-media{height:220px;overflow:hidden;background:linear-gradient(135deg,#eaf3fa,#edf8e5)}
.hhc-sa-service-media .hhc-sa-image-placeholder{min-height:220px;border:0;border-radius:0}
.hhc-sa-service-card:hover .hhc-sa-service-media img{transform:scale(1.035)}
.hhc-sa-service-media img{transition:transform .35s ease}
.hhc-sa-service-body{position:relative;display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:26px}
.hhc-sa-service-no{display:inline-grid;place-items:center;min-width:42px;height:34px;padding:0 10px;border-radius:10px;background:#eef8e7;color:var(--hhc-sa-green-dark);font-size:.76rem;font-weight:900;margin-bottom:18px}
.hhc-sa-service-body h3{margin-bottom:10px}
.hhc-sa-service-body p{flex:1;margin:0 0 18px;font-size:.94rem}
.hhc-sa-service-body strong{color:var(--hhc-sa-navy);font-size:.9rem}
.hhc-sa-service-body strong i{font-style:normal;color:var(--hhc-sa-green-dark);margin-left:5px}

/* Full-width editorial service detail rows */
.hhc-sa-detail{position:relative;background:#fff}
.hhc-sa-detail-blue{background:linear-gradient(180deg,#fff,#f4f9fd)}
.hhc-sa-detail-green{background:linear-gradient(180deg,#fff,#f6fced)}
.hhc-sa-detail+.hhc-sa-detail{border-top:1px solid var(--hhc-sa-line)}
.hhc-sa-detail-grid{display:grid;grid-template-columns:minmax(460px,.95fr) minmax(0,1.05fr);gap:clamp(50px,7vw,100px);align-items:center}
.hhc-sa-detail-reverse .hhc-sa-detail-visual{order:2}
.hhc-sa-detail-reverse .hhc-sa-detail-copy{order:1}
.hhc-sa-detail-visual{position:relative;height:clamp(390px,34vw,500px);overflow:hidden;border-radius:26px;background:#edf4f8;box-shadow:var(--hhc-sa-soft-shadow)}
.hhc-sa-detail-visual .hhc-sa-image-placeholder{min-height:100%;border-radius:26px}
.hhc-sa-detail-tag{position:absolute;left:20px;top:20px;padding:10px 13px;border-radius:999px;background:rgba(1,44,90,.9);color:#fff;font-size:.76rem;font-weight:900;box-shadow:0 8px 22px rgba(1,44,90,.2)}
.hhc-sa-detail-green .hhc-sa-detail-tag{background:rgba(139,211,70,.94);color:var(--hhc-sa-navy)}
.hhc-sa-detail-copy h2{max-width:720px;margin-bottom:19px}
.hhc-sa-detail-copy p{max-width:760px}
.hhc-sa-text-link{display:inline-block;margin-top:13px;color:var(--hhc-sa-navy)!important;font-weight:850;text-decoration:none!important;border-bottom:2px solid var(--hhc-sa-green)}

/* Coverage */
.hhc-sa-neighborhoods{position:relative;background:linear-gradient(135deg,var(--hhc-sa-navy-deep),var(--hhc-sa-navy))}
.hhc-sa-coverage-grid{display:grid;grid-template-columns:minmax(400px,.9fr) minmax(0,1.1fr);gap:clamp(48px,7vw,90px);align-items:center}
.hhc-sa-coverage-visual{height:clamp(360px,32vw,470px);overflow:hidden;border-radius:26px;border:1px solid rgba(255,255,255,.12);background:#073d70;box-shadow:0 24px 55px rgba(0,0,0,.2)}
.hhc-sa-coverage-visual .hhc-sa-image-placeholder{min-height:100%;background:linear-gradient(145deg,#0d4b82,#174f75);border-color:rgba(255,255,255,.22);color:#fff}
.hhc-sa-coverage-visual .hhc-sa-image-placeholder small{color:#d4e3ef}
.hhc-sa-coverage-copy h2,.hhc-sa-coverage-copy h3{color:#fff}
.hhc-sa-neighborhoods .hhc-sa-section-kicker{color:#bce992}
.hhc-sa-chip-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.hhc-sa-chip-grid span{padding:10px 14px;border-radius:999px;color:#fff;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);font-weight:750;font-size:.86rem}
.hhc-sa-child-links{margin-top:32px;padding-top:26px;border-top:1px solid rgba(255,255,255,.15)}
.hhc-sa-child-links h3{font-size:1.15rem;margin-bottom:13px}
.hhc-sa-child-links a{display:inline-flex;margin:5px 7px 5px 0;padding:10px 13px;border-radius:10px;text-decoration:none!important;color:var(--hhc-sa-navy)!important;background:var(--hhc-sa-green);font-size:.82rem;font-weight:850}
.hhc-sa-child-links a span{margin-left:8px}

/* Problems + best contractor */
.hhc-sa-problems-section{background:#f7fafc}
.hhc-sa-problems-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(48px,7vw,90px);align-items:start}
.hhc-sa-problems-copy{position:sticky;top:120px}
.hhc-sa-problem-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.hhc-sa-problem-list div{display:flex;gap:13px;align-items:flex-start;min-height:88px;padding:18px;border-radius:15px;background:#fff;border:1px solid var(--hhc-sa-line);color:var(--hhc-sa-navy);font-size:.92rem;font-weight:750;box-shadow:0 6px 16px rgba(1,44,90,.025)}
.hhc-sa-problem-list span{color:var(--hhc-sa-green-dark);font-size:1.1rem;font-weight:900;line-height:1;margin-top:3px}
.hhc-sa-best{padding-top:0;background:#f7fafc}
.hhc-sa-best-card{position:relative;overflow:hidden;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(36px,6vw,76px);padding:clamp(38px,5vw,66px);border-radius:30px;background:linear-gradient(135deg,#fff,#f8fcf4);border:1px solid var(--hhc-sa-line);box-shadow:0 20px 55px rgba(1,44,90,.07)}
.hhc-sa-best-card::after{content:"+";position:absolute;right:-26px;bottom:-78px;color:rgba(139,211,70,.1);font-size:18rem;font-weight:900;line-height:1}
.hhc-sa-best-title,.hhc-sa-best-copy{position:relative;z-index:1}
.hhc-sa-best-copy p:first-child{margin-top:0}
.hhc-sa-best-note{margin-top:24px;padding:18px 20px;border-left:4px solid var(--hhc-sa-green);background:#eff8e8;color:#47623d!important;font-size:.92rem!important}

/* Rebates / finance image modules */
.hhc-sa-global-modules{background:#fff}
.hhc-sa-global-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.hhc-sa-module{overflow:hidden;min-height:600px;border-radius:26px;display:flex;flex-direction:column;border:1px solid var(--hhc-sa-line);box-shadow:var(--hhc-sa-soft-shadow)}
.hhc-sa-module-rebate{background:linear-gradient(145deg,#f7fced,#eff9e6)}
.hhc-sa-module-finance{background:linear-gradient(145deg,#eef6fc,#f8fbfe)}
.hhc-sa-module-media{height:255px;overflow:hidden;background:#e8f2f8}
.hhc-sa-module-media .hhc-sa-image-placeholder{min-height:255px;border:0;border-radius:0}
.hhc-sa-module-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:clamp(28px,3.6vw,44px)}
.hhc-sa-module-body h2{font-size:clamp(1.75rem,2.4vw,2.45rem)}
.hhc-sa-module-body p{flex:1}
.hhc-sa-module-body small{margin-top:16px;opacity:.72}
.hhc-sa-module-tag{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.78)}

/* Testimonials + FAQ */
.hhc-sa-testimonial{background:#fff}
.hhc-sa-testimonial blockquote{position:relative;max-width:1000px;margin:0 auto;padding:clamp(36px,5vw,62px);border:1px solid var(--hhc-sa-line);border-radius:28px;background:linear-gradient(145deg,#f9fcff,#f5fbea);box-shadow:0 16px 42px rgba(1,44,90,.07)}
.hhc-sa-testimonial blockquote p{margin:0;color:var(--hhc-sa-navy);font-size:clamp(1.25rem,2.1vw,1.75rem);line-height:1.55;font-weight:750}
.hhc-sa-quote-mark{position:absolute;top:14px;left:25px;color:var(--hhc-sa-green);font-size:4.2rem;line-height:1;font-weight:900;opacity:.5}
.hhc-sa-testimonial footer{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:24px;color:var(--hhc-sa-navy)}
.hhc-sa-testimonial footer span{color:var(--hhc-sa-muted);font-size:.92rem}
.hhc-sa-faqs{background:var(--hhc-sa-bg)}
.hhc-sa-faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(45px,7vw,95px)}
.hhc-sa-faq-title{position:sticky;top:120px;align-self:start}
.hhc-sa-faq-list{display:grid;gap:12px}
.hhc-sa-faq-list details{background:#fff;border:1px solid var(--hhc-sa-line);border-radius:16px;overflow:hidden;box-shadow:0 5px 16px rgba(1,44,90,.025)}
.hhc-sa-faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;color:var(--hhc-sa-navy);font-weight:800}
.hhc-sa-faq-list summary::-webkit-details-marker{display:none}
.hhc-sa-faq-list summary span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#eef8e7;color:var(--hhc-sa-green-dark);font-size:1.2rem;transition:transform .2s ease}
.hhc-sa-faq-list details[open] summary span{transform:rotate(45deg)}
.hhc-sa-faq-list details>div{padding:0 22px 20px;border-top:1px solid #eef2f5}
.hhc-sa-faq-list details p{margin-bottom:0}

/* Related areas */
.hhc-sa-related{background:#fff}
.hhc-sa-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hhc-sa-related-grid a{display:flex;justify-content:space-between;align-items:center;min-height:118px;gap:18px;padding:22px;border:1px solid var(--hhc-sa-line);border-radius:17px;text-decoration:none!important;background:linear-gradient(135deg,#fff,#f9fcff);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.hhc-sa-related-grid a:hover{transform:translateY(-4px);border-color:var(--hhc-sa-green);box-shadow:0 13px 30px rgba(1,44,90,.08)}
.hhc-sa-related-grid span{color:var(--hhc-sa-navy);font-size:1.03rem;font-weight:850}
.hhc-sa-related-grid span small{display:block;margin-bottom:4px;color:var(--hhc-sa-green-dark);font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}
.hhc-sa-related-grid strong{color:var(--hhc-sa-green-dark);font-size:.78rem;white-space:nowrap}

/* Final CTA */
.hhc-sa-final-cta{position:relative;isolation:isolate;padding:clamp(70px,8vw,105px) 0;background:var(--hhc-sa-navy-deep);overflow:hidden}
.hhc-sa-final-bg{position:absolute;z-index:-2;inset:0}
.hhc-sa-final-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,26,55,.96) 0%,rgba(1,44,90,.89) 48%,rgba(1,44,90,.66) 100%)}
.hhc-sa-final-card{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:clamp(34px,5vw,58px);border-radius:28px;background:rgba(1,44,90,.86);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(10px);box-shadow:0 24px 60px rgba(0,0,0,.2)}
.hhc-sa-final-card h2{color:#fff;max-width:690px;margin-bottom:12px}
.hhc-sa-final-card p{color:#d9e6f2;max-width:720px;margin-bottom:0}
.hhc-sa-final-card .hhc-sa-section-kicker{color:#bce992}
.hhc-sa-final-actions{flex-shrink:0}
.hhc-sa-disclaimer{margin:22px auto 0;color:#94a9bd!important;font-size:.76rem!important;text-align:center;max-width:900px}

/* Hub compatibility */
.hhc-sa-hub-hero{padding:clamp(80px,10vw,150px) 0;background:radial-gradient(circle at 78% 20%,rgba(139,211,70,.22),transparent 30%),linear-gradient(135deg,#e9f2fa,#f5faef);text-align:center}
.hhc-sa-hub-hero h1{max-width:980px;margin:0 auto 24px}
.hhc-sa-hub-hero p{max-width:820px;margin:0 auto 30px;font-size:1.18rem}
.hhc-sa-hub-hero .hhc-sa-eyebrow::before{display:none}
.hhc-sa-hub-groups{background:var(--hhc-sa-bg);padding-top:55px}
.hhc-sa-region-group+.hhc-sa-region-group{margin-top:72px}
.hhc-sa-region-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:22px;border-bottom:1px solid var(--hhc-sa-line);padding-bottom:18px}
.hhc-sa-region-heading span{color:var(--hhc-sa-green-dark);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}
.hhc-sa-region-heading h2{margin:0;font-size:clamp(1.7rem,2.8vw,2.6rem)}
.hhc-sa-location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hhc-sa-location-card{min-height:255px;padding:26px;border-radius:19px;background:#fff;border:1px solid var(--hhc-sa-line);display:flex;flex-direction:column;justify-content:space-between;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.hhc-sa-location-card:hover{transform:translateY(-5px);box-shadow:var(--hhc-sa-shadow);border-color:rgba(139,211,70,.85)}
.hhc-sa-location-dot{width:10px;height:10px;border-radius:50%;background:var(--hhc-sa-green);display:block;margin-bottom:18px;box-shadow:0 0 0 7px rgba(139,211,70,.13)}
.hhc-sa-location-card h3{font-size:1.55rem;margin-bottom:10px}
.hhc-sa-location-card p{font-size:.92rem}
.hhc-sa-location-card strong{color:var(--hhc-sa-navy);font-size:.85rem}
.hhc-sa-location-card strong span{color:var(--hhc-sa-green-dark);margin-left:5px}
.hhc-sa-hub-seo{background:#fff}

@media (max-width:1080px){
  .hhc-sa-hero-grid{grid-template-columns:1fr 1fr;gap:38px}
  .hhc-sa-story-grid,.hhc-sa-detail-grid,.hhc-sa-coverage-grid{grid-template-columns:1fr 1fr;gap:40px}
  .hhc-sa-service-grid{grid-template-columns:repeat(2,1fr)}
  .hhc-sa-problems-grid{grid-template-columns:1fr}
  .hhc-sa-problems-copy{position:static}
  .hhc-sa-faq-layout{grid-template-columns:1fr}
  .hhc-sa-faq-title{position:static}
}

@media (max-width:860px){
  .hhc-sa-hero-grid,.hhc-sa-story-grid,.hhc-sa-detail-grid,.hhc-sa-coverage-grid,.hhc-sa-heading-split,.hhc-sa-best-card{grid-template-columns:1fr}
  .hhc-sa-hero-visual{height:520px}
  .hhc-sa-story-visual,.hhc-sa-detail-visual,.hhc-sa-coverage-visual{height:450px}
  .hhc-sa-detail-reverse .hhc-sa-detail-visual,.hhc-sa-detail-reverse .hhc-sa-detail-copy{order:initial}
  .hhc-sa-global-grid{grid-template-columns:1fr}
  .hhc-sa-related-grid,.hhc-sa-location-grid{grid-template-columns:repeat(2,1fr)}
  .hhc-sa-final-card{align-items:flex-start;flex-direction:column}
  .hhc-sa-heading-split{gap:16px}
}

@media (max-width:620px){
  .hhc-sa-container{width:min(100% - 28px,1320px)}
  .hhc-sa-section{padding:60px 0}
  .hhc-sa-hero{padding:58px 0 64px}
  .hhc-sa-hero-copy{padding:0}
  .hhc-sa-hero-actions,.hhc-sa-final-actions{align-items:stretch;flex-direction:column;width:100%}
  .hhc-sa-btn{width:100%}
  .hhc-sa-trust-row{display:grid;gap:7px}
  .hhc-sa-hero-visual{height:410px;border-radius:22px}
  .hhc-sa-hero-overlay-card{left:14px;right:14px;bottom:14px;grid-template-columns:1fr;padding:15px}
  .hhc-sa-hero-overlay-card ul{grid-row:auto;grid-column:1;grid-template-columns:repeat(3,auto);margin-top:8px;font-size:.72rem}
  .hhc-sa-story-visual,.hhc-sa-detail-visual,.hhc-sa-coverage-visual{height:330px;border-radius:20px}
  .hhc-sa-service-grid,.hhc-sa-related-grid,.hhc-sa-location-grid{grid-template-columns:1fr}
  .hhc-sa-service-card{min-height:0}
  .hhc-sa-service-media{height:210px}
  .hhc-sa-problem-list{grid-template-columns:1fr}
  .hhc-sa-best-card,.hhc-sa-module-body{padding:27px 22px}
  .hhc-sa-module{min-height:0}
  .hhc-sa-module-media{height:220px}
  .hhc-sa-final-card{padding:28px 22px;border-radius:20px}
  .hhc-sa-region-heading{align-items:flex-start;flex-direction:column;gap:7px}
  .hhc-sa-breadcrumbs ol{font-size:.76rem}
  .hhc-sa-photo-badge{left:14px;bottom:14px}
}

/* v1.1 hub image treatment */
.hhc-sa-hub-hero{text-align:left}
.hhc-sa-hub-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr);gap:clamp(45px,6vw,85px);align-items:center}
.hhc-sa-hub-hero-copy h1{margin:0 0 24px}
.hhc-sa-hub-hero-copy p{margin:0 0 30px;max-width:760px}
.hhc-sa-hub-hero-visual{position:relative;height:clamp(420px,39vw,560px);overflow:hidden;border-radius:30px;background:#0b447a;box-shadow:var(--hhc-sa-shadow)}
.hhc-sa-hub-hero-visual .hhc-sa-image-placeholder{min-height:100%}
.hhc-sa-hub-visual-label{position:absolute;left:22px;right:22px;bottom:22px;padding:17px 19px;border-radius:16px;background:rgba(1,44,90,.84);backdrop-filter:blur(9px);color:#fff}
.hhc-sa-hub-visual-label span{display:block;color:#bce992;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.hhc-sa-hub-visual-label strong{display:block;margin-top:3px}
.hhc-sa-location-card{padding:0;overflow:hidden;justify-content:flex-start;min-height:330px}
.hhc-sa-location-media{position:relative;height:155px;overflow:hidden;background:#eaf2f8}
.hhc-sa-location-media .hhc-sa-location-dot{position:absolute;left:18px;bottom:16px;margin:0;box-shadow:0 0 0 7px rgba(139,211,70,.23)}
.hhc-sa-location-body{display:flex;flex:1;flex-direction:column;padding:22px}
.hhc-sa-location-body p{flex:1}
.hhc-sa-location-body strong{margin-top:8px}
@media(max-width:860px){.hhc-sa-hub-hero-grid{grid-template-columns:1fr}.hhc-sa-hub-hero-visual{height:480px}}
@media(max-width:620px){.hhc-sa-hub-hero-visual{height:360px;border-radius:22px}}
.hhc-sa-hero-visual.is-empty{display:none}
@supports selector(:has(*)){.hhc-sa-hero-grid:has(.hhc-sa-hero-visual.is-empty){grid-template-columns:minmax(0,820px);justify-content:center}}


/* ==========================================================
   v1.2.0 MULTI-LAYOUT ENGINE
   Six distinct compositions powered by the same SEO content.
   ========================================================== */
.hhc-sa-page-v3{display:flex;flex-direction:column}
.hhc-sa-page-v3>.hhc-sa-breadcrumbs{order:1}.hhc-sa-page-v3>.hhc-sa-hero{order:10}.hhc-sa-page-v3>.hhc-sa-story{order:20}.hhc-sa-page-v3>.hhc-sa-services-section{order:30}.hhc-sa-page-v3>#furnace-heating{order:40}.hhc-sa-page-v3>#air-conditioning{order:50}.hhc-sa-page-v3>#heat-pumps{order:60}.hhc-sa-page-v3>.hhc-sa-neighborhoods{order:70}.hhc-sa-page-v3>.hhc-sa-problems-section{order:80}.hhc-sa-page-v3>.hhc-sa-best{order:90}.hhc-sa-page-v3>.hhc-sa-global-modules{order:100}.hhc-sa-page-v3>.hhc-sa-testimonial{order:110}.hhc-sa-page-v3>.hhc-sa-faqs{order:120}.hhc-sa-page-v3>.hhc-sa-related{order:130}.hhc-sa-page-v3>.hhc-sa-final-cta{order:140}
.hhc-sa-preview-layout-label{display:inline-flex;margin:0 0 12px;padding:6px 10px;border:1px dashed currentColor;border-radius:999px;color:#5d7086;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

/* 1 — PREMIUM SPLIT: polished flagship */
.hhc-sa-layout-premium .hhc-sa-hero{background:radial-gradient(circle at 90% 8%,rgba(139,211,70,.28),transparent 28%),linear-gradient(125deg,#f8fbff 0%,#edf5fb 48%,#eef8e8 100%)}
.hhc-sa-layout-premium .hhc-sa-hero-visual{transform:rotate(1deg)}
.hhc-sa-layout-premium .hhc-sa-story-visual{transform:translateY(14px)}
.hhc-sa-layout-premium .hhc-sa-service-card:nth-child(2n){transform:translateY(18px)}.hhc-sa-layout-premium .hhc-sa-service-card:nth-child(2n):hover{transform:translateY(11px)}
.hhc-sa-layout-premium>#heat-pumps{order:40}.hhc-sa-layout-premium>#furnace-heating{order:50}.hhc-sa-layout-premium>.hhc-sa-neighborhoods{order:60}.hhc-sa-layout-premium>#air-conditioning{order:70}

/* 2 — FULL-BLEED EDITORIAL: immersive photo-led */
.hhc-sa-layout-editorial>.hhc-sa-hero{padding:0;min-height:690px;background:#001a37;color:#fff;overflow:visible}
.hhc-sa-layout-editorial .hhc-sa-hero-grid{position:relative;display:flex;align-items:flex-end;min-height:690px;padding-top:100px;padding-bottom:85px}
.hhc-sa-layout-editorial .hhc-sa-hero-visual{position:absolute;z-index:0;left:50%;top:0;width:100vw;height:100%;max-height:none;border-radius:0;transform:translateX(-50%);box-shadow:none}
.hhc-sa-layout-editorial .hhc-sa-hero-visual::after{background:linear-gradient(90deg,rgba(0,20,43,.92) 0%,rgba(1,44,90,.73) 42%,rgba(1,44,90,.18) 76%,rgba(0,0,0,.08) 100%)}
.hhc-sa-layout-editorial .hhc-sa-hero-copy{position:relative;z-index:3;max-width:790px;padding:0}
.hhc-sa-layout-editorial .hhc-sa-hero-copy h1{color:#fff;font-size:clamp(3.2rem,6vw,6.4rem);text-shadow:0 6px 30px rgba(0,0,0,.18)}
.hhc-sa-layout-editorial .hhc-sa-eyebrow,.hhc-sa-layout-editorial .hhc-sa-preview-layout-label{color:#bce992}.hhc-sa-layout-editorial .hhc-sa-lead{color:#e6eef6!important;max-width:680px}.hhc-sa-layout-editorial .hhc-sa-trust-row{color:#fff}.hhc-sa-layout-editorial .hhc-sa-btn-ghost{color:#fff!important;background:rgba(0,25,53,.54);border-color:rgba(255,255,255,.27)}
.hhc-sa-layout-editorial .hhc-sa-hero-overlay-card{display:none}
.hhc-sa-layout-editorial .hhc-sa-story-grid{grid-template-columns:.78fr 1.22fr}.hhc-sa-layout-editorial .hhc-sa-story-visual{height:610px;border-radius:0 90px 0 0;box-shadow:none}
.hhc-sa-layout-editorial .hhc-sa-services-section{background:#fff}.hhc-sa-layout-editorial .hhc-sa-service-grid{grid-template-columns:repeat(2,1fr);gap:1px;background:#dfe8ef;border:1px solid #dfe8ef}.hhc-sa-layout-editorial .hhc-sa-service-card{display:grid;grid-template-columns:190px 1fr;min-height:260px;border:0;border-radius:0;box-shadow:none}.hhc-sa-layout-editorial .hhc-sa-service-media{height:100%}.hhc-sa-layout-editorial .hhc-sa-service-body{padding:30px}
.hhc-sa-layout-editorial .hhc-sa-detail-grid{grid-template-columns:1.18fr .82fr}.hhc-sa-layout-editorial .hhc-sa-detail-visual{height:560px;border-radius:4px}.hhc-sa-layout-editorial .hhc-sa-detail-reverse .hhc-sa-detail-visual{order:initial}.hhc-sa-layout-editorial .hhc-sa-detail-reverse .hhc-sa-detail-copy{order:initial}
.hhc-sa-layout-editorial>.hhc-sa-services-section{order:20}.hhc-sa-layout-editorial>.hhc-sa-story{order:30}.hhc-sa-layout-editorial>#air-conditioning{order:40}.hhc-sa-layout-editorial>#furnace-heating{order:50}.hhc-sa-layout-editorial>.hhc-sa-testimonial{order:60}.hhc-sa-layout-editorial>#heat-pumps{order:70}.hhc-sa-layout-editorial>.hhc-sa-neighborhoods{order:80}.hhc-sa-layout-editorial>.hhc-sa-best{order:90}.hhc-sa-layout-editorial>.hhc-sa-global-modules{order:100}.hhc-sa-layout-editorial>.hhc-sa-problems-section{order:110}

/* 3 — TECHNICAL HVAC: equipment and engineering first */
.hhc-sa-layout-technical{--hhc-sa-bg:#eef3f7}
.hhc-sa-layout-technical .hhc-sa-hero{background:linear-gradient(115deg,#001b38 0%,#023768 60%,#0a4f8e 100%)}
.hhc-sa-layout-technical .hhc-sa-hero::before{background:linear-gradient(90deg,transparent 0 48%,rgba(255,255,255,.04) 48% 49%,transparent 49% 100%);inset:0;width:auto;height:auto;border-radius:0;transform:none;background-size:80px 80px}
.hhc-sa-layout-technical .hhc-sa-hero-copy h1{color:#fff}.hhc-sa-layout-technical .hhc-sa-lead{color:#cfdeeb!important}.hhc-sa-layout-technical .hhc-sa-eyebrow,.hhc-sa-layout-technical .hhc-sa-preview-layout-label{color:#b9e98f}.hhc-sa-layout-technical .hhc-sa-trust-row{color:#fff}.hhc-sa-layout-technical .hhc-sa-btn-ghost{color:#fff!important;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.hhc-sa-layout-technical .hhc-sa-hero-visual{border-radius:8px;clip-path:polygon(8% 0,100% 0,100% 92%,92% 100%,0 100%,0 8%)}
.hhc-sa-layout-technical .hhc-sa-detail{background:#fff}.hhc-sa-layout-technical #furnace-heating,.hhc-sa-layout-technical #heat-pumps{background:#071f3a}.hhc-sa-layout-technical #furnace-heating h2,.hhc-sa-layout-technical #heat-pumps h2{color:#fff}.hhc-sa-layout-technical #furnace-heating p,.hhc-sa-layout-technical #heat-pumps p{color:#c8d6e3}.hhc-sa-layout-technical #furnace-heating .hhc-sa-section-kicker,.hhc-sa-layout-technical #heat-pumps .hhc-sa-section-kicker{color:#aee67a}.hhc-sa-layout-technical #furnace-heating .hhc-sa-text-link,.hhc-sa-layout-technical #heat-pumps .hhc-sa-text-link{color:#bce992}
.hhc-sa-layout-technical .hhc-sa-detail-visual{border-radius:6px;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.hhc-sa-layout-technical .hhc-sa-services-section{background:#0b2a4b}.hhc-sa-layout-technical .hhc-sa-services-section h2,.hhc-sa-layout-technical .hhc-sa-services-section .hhc-sa-heading-split p{color:#fff}.hhc-sa-layout-technical .hhc-sa-service-grid{grid-template-columns:repeat(4,1fr)}.hhc-sa-layout-technical .hhc-sa-service-card{min-height:410px;border-radius:8px;background:#10385f;border-color:rgba(255,255,255,.1)}.hhc-sa-layout-technical .hhc-sa-service-body h3,.hhc-sa-layout-technical .hhc-sa-service-body strong{color:#fff}.hhc-sa-layout-technical .hhc-sa-service-body p{color:#c8d7e4}.hhc-sa-layout-technical .hhc-sa-service-no{background:#8bd346;color:#012c5a}
.hhc-sa-layout-technical>#furnace-heating{order:20}.hhc-sa-layout-technical>.hhc-sa-problems-section{order:30}.hhc-sa-layout-technical>#heat-pumps{order:40}.hhc-sa-layout-technical>.hhc-sa-services-section{order:50}.hhc-sa-layout-technical>#air-conditioning{order:60}.hhc-sa-layout-technical>.hhc-sa-story{order:70}.hhc-sa-layout-technical>.hhc-sa-global-modules{order:80}.hhc-sa-layout-technical>.hhc-sa-neighborhoods{order:90}.hhc-sa-layout-technical>.hhc-sa-best{order:100}

/* 4 — MODERN METRO: asymmetric urban */
.hhc-sa-layout-metro{--hhc-sa-radius:18px}
.hhc-sa-layout-metro .hhc-sa-hero{background:#f1f4fa}.hhc-sa-layout-metro .hhc-sa-hero-grid{grid-template-columns:1.16fr .84fr}.hhc-sa-layout-metro .hhc-sa-hero-copy h1{font-size:clamp(3.2rem,6.4vw,6.7rem);max-width:900px}.hhc-sa-layout-metro .hhc-sa-hero-visual{height:620px;border-radius:90px 8px 90px 8px}.hhc-sa-layout-metro .hhc-sa-hero-overlay-card{left:-50px;right:auto;width:330px;border-radius:7px}
.hhc-sa-layout-metro .hhc-sa-story{background:#0a315c}.hhc-sa-layout-metro .hhc-sa-story h2{color:#fff}.hhc-sa-layout-metro .hhc-sa-story p{color:#d2e0eb}.hhc-sa-layout-metro .hhc-sa-climate-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13);border-left-color:#8bd346}.hhc-sa-layout-metro .hhc-sa-climate-card>span{color:#fff}.hhc-sa-layout-metro .hhc-sa-story-visual{border-radius:6px;box-shadow:none}
.hhc-sa-layout-metro .hhc-sa-service-grid{grid-template-columns:repeat(12,1fr);gap:14px}.hhc-sa-layout-metro .hhc-sa-service-card{grid-column:span 4;min-height:430px;border-radius:14px}.hhc-sa-layout-metro .hhc-sa-service-card:nth-child(1),.hhc-sa-layout-metro .hhc-sa-service-card:nth-child(4){grid-column:span 6}.hhc-sa-layout-metro .hhc-sa-service-card:nth-child(2),.hhc-sa-layout-metro .hhc-sa-service-card:nth-child(3){grid-column:span 3}.hhc-sa-layout-metro .hhc-sa-service-media{height:190px}
.hhc-sa-layout-metro .hhc-sa-detail-grid{grid-template-columns:.78fr 1.22fr}.hhc-sa-layout-metro .hhc-sa-detail-reverse .hhc-sa-detail-visual{order:2}.hhc-sa-layout-metro .hhc-sa-detail-visual{border-radius:70px 8px 8px 8px}.hhc-sa-layout-metro .hhc-sa-neighborhoods{background:#eef1f7}.hhc-sa-layout-metro .hhc-sa-chip-grid span{border-radius:6px}
.hhc-sa-layout-metro>.hhc-sa-services-section{order:20}.hhc-sa-layout-metro>#air-conditioning{order:30}.hhc-sa-layout-metro>#heat-pumps{order:40}.hhc-sa-layout-metro>.hhc-sa-story{order:50}.hhc-sa-layout-metro>.hhc-sa-neighborhoods{order:60}.hhc-sa-layout-metro>#furnace-heating{order:70}.hhc-sa-layout-metro>.hhc-sa-best{order:80}.hhc-sa-layout-metro>.hhc-sa-global-modules{order:90}.hhc-sa-layout-metro>.hhc-sa-problems-section{order:100}

/* 5 — LOCAL HOME STORY: warmer residential */
.hhc-sa-layout-local{--hhc-sa-bg:#f7f6ef;--hhc-sa-line:#e5e4d8}
.hhc-sa-layout-local .hhc-sa-hero{padding:80px 0;background:linear-gradient(180deg,#eef6e7,#f9faf5)}.hhc-sa-layout-local .hhc-sa-hero-grid{position:relative;grid-template-columns:1fr;min-height:640px;align-items:end}.hhc-sa-layout-local .hhc-sa-hero-visual{position:absolute;inset:0;height:100%;border-radius:34px;box-shadow:0 28px 70px rgba(44,71,40,.18)}.hhc-sa-layout-local .hhc-sa-hero-visual::after{background:linear-gradient(90deg,rgba(0,35,55,.8),rgba(0,35,55,.28) 62%,transparent)}.hhc-sa-layout-local .hhc-sa-hero-copy{position:relative;z-index:3;width:min(680px,calc(100% - 50px));margin:38px;padding:38px;border-radius:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);box-shadow:0 22px 55px rgba(1,44,90,.16)}.hhc-sa-layout-local .hhc-sa-hero-copy h1{font-size:clamp(2.8rem,5vw,5.4rem)}.hhc-sa-layout-local .hhc-sa-hero-overlay-card{display:none}
.hhc-sa-layout-local .hhc-sa-story-grid{grid-template-columns:1.2fr .8fr}.hhc-sa-layout-local .hhc-sa-story-visual{border-radius:45% 45% 12px 12px}.hhc-sa-layout-local .hhc-sa-climate-card{background:#fff9e9;border-left-color:#d9b85d}.hhc-sa-layout-local .hhc-sa-service-grid{grid-template-columns:repeat(2,1fr)}.hhc-sa-layout-local .hhc-sa-service-card{min-height:330px;display:grid;grid-template-columns:44% 56%;border-radius:26px}.hhc-sa-layout-local .hhc-sa-service-media{height:100%}.hhc-sa-layout-local .hhc-sa-service-body{padding:25px}
.hhc-sa-layout-local .hhc-sa-neighborhoods{background:#173f45}.hhc-sa-layout-local .hhc-sa-neighborhoods h2,.hhc-sa-layout-local .hhc-sa-neighborhoods h3{color:#fff}.hhc-sa-layout-local .hhc-sa-neighborhoods .hhc-sa-section-kicker{color:#bce992}.hhc-sa-layout-local .hhc-sa-chip-grid span{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14);color:#fff}.hhc-sa-layout-local .hhc-sa-child-links a{color:#012c5a}
.hhc-sa-layout-local>.hhc-sa-story{order:20}.hhc-sa-layout-local>#furnace-heating{order:30}.hhc-sa-layout-local>#heat-pumps{order:40}.hhc-sa-layout-local>.hhc-sa-neighborhoods{order:50}.hhc-sa-layout-local>.hhc-sa-services-section{order:60}.hhc-sa-layout-local>#air-conditioning{order:70}.hhc-sa-layout-local>.hhc-sa-problems-section{order:80}.hhc-sa-layout-local>.hhc-sa-global-modules{order:90}.hhc-sa-layout-local>.hhc-sa-best{order:100}

/* 6 — COMMUNITY FOCUS: neighbourhood-first and compact */
.hhc-sa-layout-community .hhc-sa-hero{padding:58px 0 95px;background:#fff}.hhc-sa-layout-community .hhc-sa-hero-grid{display:flex;flex-direction:column;gap:0}.hhc-sa-layout-community .hhc-sa-hero-visual{order:1;width:100%;height:480px;border-radius:26px}.hhc-sa-layout-community .hhc-sa-hero-copy{order:2;position:relative;z-index:4;width:min(920px,calc(100% - 80px));margin:-95px auto 0;padding:38px 46px;border-radius:24px;background:#fff;box-shadow:0 25px 65px rgba(1,44,90,.16);text-align:center}.hhc-sa-layout-community .hhc-sa-hero-copy h1{max-width:none;font-size:clamp(2.7rem,5vw,5rem)}.hhc-sa-layout-community .hhc-sa-lead{margin-left:auto;margin-right:auto}.hhc-sa-layout-community .hhc-sa-hero-actions,.hhc-sa-layout-community .hhc-sa-trust-row{justify-content:center}.hhc-sa-layout-community .hhc-sa-hero-overlay-card{display:none}
.hhc-sa-layout-community .hhc-sa-neighborhoods{background:linear-gradient(135deg,#012c5a,#075283)}.hhc-sa-layout-community .hhc-sa-coverage-grid{grid-template-columns:.8fr 1.2fr}.hhc-sa-layout-community .hhc-sa-coverage-visual{border-radius:100px 18px 18px 18px}.hhc-sa-layout-community .hhc-sa-neighborhoods h2,.hhc-sa-layout-community .hhc-sa-neighborhoods h3{color:#fff}.hhc-sa-layout-community .hhc-sa-neighborhoods .hhc-sa-section-kicker{color:#bce992}.hhc-sa-layout-community .hhc-sa-chip-grid span{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.16);color:#fff}
.hhc-sa-layout-community .hhc-sa-service-grid{grid-template-columns:1fr}.hhc-sa-layout-community .hhc-sa-service-card{display:grid;grid-template-columns:260px 1fr;min-height:220px;border-radius:18px}.hhc-sa-layout-community .hhc-sa-service-media{height:100%}.hhc-sa-layout-community .hhc-sa-service-body{padding:30px 34px}.hhc-sa-layout-community .hhc-sa-story-grid{grid-template-columns:.7fr 1.3fr}.hhc-sa-layout-community .hhc-sa-story-visual{height:420px;border-radius:20px}
.hhc-sa-layout-community>.hhc-sa-neighborhoods{order:20}.hhc-sa-layout-community>.hhc-sa-services-section{order:30}.hhc-sa-layout-community>.hhc-sa-story{order:40}.hhc-sa-layout-community>#furnace-heating{order:50}.hhc-sa-layout-community>#air-conditioning{order:60}.hhc-sa-layout-community>#heat-pumps{order:70}.hhc-sa-layout-community>.hhc-sa-faqs{order:80}.hhc-sa-layout-community>.hhc-sa-problems-section{order:90}.hhc-sa-layout-community>.hhc-sa-best{order:100}.hhc-sa-layout-community>.hhc-sa-global-modules{order:110}

/* multi-layout responsive normalization */
@media(max-width:1080px){
 .hhc-sa-layout-technical .hhc-sa-service-grid{grid-template-columns:repeat(2,1fr)}
 .hhc-sa-layout-metro .hhc-sa-service-grid{grid-template-columns:repeat(2,1fr)}.hhc-sa-layout-metro .hhc-sa-service-card,.hhc-sa-layout-metro .hhc-sa-service-card:nth-child(n){grid-column:auto}
 .hhc-sa-layout-editorial .hhc-sa-service-grid{grid-template-columns:1fr}
}
@media(max-width:860px){
 .hhc-sa-layout-editorial>.hhc-sa-hero,.hhc-sa-layout-editorial .hhc-sa-hero-grid{min-height:620px}.hhc-sa-layout-editorial .hhc-sa-hero-copy{max-width:100%}
 .hhc-sa-layout-local .hhc-sa-hero-grid{min-height:610px}.hhc-sa-layout-local .hhc-sa-hero-copy{width:calc(100% - 36px);margin:18px;padding:28px}
 .hhc-sa-layout-community .hhc-sa-hero-copy{width:calc(100% - 36px);margin-top:-70px;padding:30px 24px}
 .hhc-sa-layout-community .hhc-sa-coverage-grid,.hhc-sa-layout-community .hhc-sa-story-grid{grid-template-columns:1fr}
 .hhc-sa-layout-local .hhc-sa-service-card,.hhc-sa-layout-community .hhc-sa-service-card{grid-template-columns:1fr}.hhc-sa-layout-local .hhc-sa-service-media,.hhc-sa-layout-community .hhc-sa-service-media{height:230px}
}
@media(max-width:620px){
 .hhc-sa-layout-editorial>.hhc-sa-hero,.hhc-sa-layout-editorial .hhc-sa-hero-grid{min-height:570px}.hhc-sa-layout-editorial .hhc-sa-hero-grid{padding-top:70px;padding-bottom:60px}.hhc-sa-layout-editorial .hhc-sa-hero-copy h1{font-size:2.85rem}.hhc-sa-layout-editorial .hhc-sa-service-card{grid-template-columns:1fr}.hhc-sa-layout-editorial .hhc-sa-service-media{height:220px}
 .hhc-sa-layout-technical .hhc-sa-service-grid,.hhc-sa-layout-metro .hhc-sa-service-grid,.hhc-sa-layout-local .hhc-sa-service-grid{grid-template-columns:1fr}
 .hhc-sa-layout-metro .hhc-sa-hero-visual{height:400px;border-radius:40px 6px}.hhc-sa-layout-metro .hhc-sa-hero-overlay-card{left:14px;width:auto;right:14px}
 .hhc-sa-layout-local .hhc-sa-hero{padding:40px 0}.hhc-sa-layout-local .hhc-sa-hero-grid{min-height:600px}.hhc-sa-layout-local .hhc-sa-hero-copy{margin:14px;padding:24px}.hhc-sa-layout-local .hhc-sa-hero-copy h1{font-size:2.6rem}
 .hhc-sa-layout-community .hhc-sa-hero{padding-top:35px}.hhc-sa-layout-community .hhc-sa-hero-visual{height:330px}.hhc-sa-layout-community .hhc-sa-hero-copy{margin-top:-45px}.hhc-sa-layout-community .hhc-sa-hero-copy h1{font-size:2.55rem}
}


/* v1.2.1 — mobile vertical-alignment polish
   Keep text left-aligned for readability, but center row content inside touch cards. */
@media (max-width:860px){
  .hhc-sa-problem-list div{
    align-items:center;
  }
  .hhc-sa-problem-list span{
    flex:0 0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:center;
    margin-top:0;
    line-height:1;
  }
  .hhc-sa-faq-list summary,
  .hhc-sa-child-links a,
  .hhc-sa-chip-grid span,
  .hhc-sa-related-grid a{
    align-items:center;
  }
}

@media (max-width:620px){
  .hhc-sa-problem-list{
    gap:10px;
  }
  .hhc-sa-problem-list div{
    min-height:86px;
    padding:18px 20px;
    gap:12px;
    line-height:1.38;
  }
  .hhc-sa-problem-list span{
    font-size:1.2rem;
  }
  .hhc-sa-faq-list summary{
    min-height:66px;
    padding:16px 18px;
    line-height:1.35;
  }
  .hhc-sa-faq-list summary span{
    flex:0 0 30px;
  }
  .hhc-sa-chip-grid span{
    display:inline-flex;
    min-height:40px;
  }
  .hhc-sa-child-links a{
    min-height:46px;
  }
  .hhc-sa-related-grid a{
    min-height:92px;
  }
  .hhc-sa-final-actions .hhc-sa-btn,
  .hhc-sa-hero-actions .hhc-sa-btn{
    min-height:54px;
  }
}


/* v1.2.2 — prevent a lone rebate/financing module from leaving half the section empty.
   When only one global module is active, turn it into a full-width editorial feature card. */
@media (min-width:861px){
  .hhc-sa-global-grid > .hhc-sa-module:only-child{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);
    min-height:420px;
  }
  .hhc-sa-global-grid > .hhc-sa-module:only-child .hhc-sa-module-media{
    height:100%;
    min-height:420px;
  }
  .hhc-sa-global-grid > .hhc-sa-module:only-child .hhc-sa-module-media .hhc-sa-image-placeholder{
    min-height:420px;
  }
  .hhc-sa-global-grid > .hhc-sa-module:only-child .hhc-sa-module-body{
    justify-content:center;
    padding:clamp(38px,5vw,68px);
  }
  .hhc-sa-global-grid > .hhc-sa-module:only-child .hhc-sa-module-body p{
    flex:0 0 auto;
    max-width:720px;
  }
  .hhc-sa-global-grid > .hhc-sa-module:only-child .hhc-sa-module-body h2{
    max-width:760px;
  }
}

@media (max-width:860px){
  .hhc-sa-global-grid > .hhc-sa-module:only-child{
    display:flex;
    grid-column:auto;
    min-height:0;
  }
  .hhc-sa-global-grid > .hhc-sa-module:only-child .hhc-sa-module-media,
  .hhc-sa-global-grid > .hhc-sa-module:only-child .hhc-sa-module-media .hhc-sa-image-placeholder{
    height:260px;
    min-height:260px;
  }
}

/* ========================================================================== 
   v1.3.0 — COMPACT LOCATION-PAGE SYSTEM
   Seven purposeful visual blocks instead of a long chain of 11–14 sections.
   The SEO copy remains present, but related content is grouped into richer,
   denser compositions that feel like a designed landing page.
   ========================================================================== */
.hhc-sa-page-v4{display:flex;flex-direction:column}
.hhc-sa-page-v4>.hhc-sa-breadcrumbs{order:1}
.hhc-sa-page-v4>.hhc-sa-v4-hero{order:10}
.hhc-sa-page-v4>.hhc-sa-ai-answer-section{order:15}
.hhc-sa-page-v4>.hhc-sa-v4-overview{order:20}
.hhc-sa-page-v4>.hhc-sa-v4-core-services{order:30}
.hhc-sa-page-v4>.hhc-sa-v4-local-guide{order:40}
.hhc-sa-page-v4>.hhc-sa-v4-planning{order:50}
.hhc-sa-page-v4>.hhc-sa-v4-help{order:60}
.hhc-sa-page-v4>.hhc-sa-v4-final{order:70}
.hhc-sa-page-v4 .hhc-sa-section{padding:clamp(68px,7vw,96px) 0}

/* Overview */
.hhc-sa-v4-overview{background:#fff}
.hhc-sa-v4-overview-grid{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);gap:clamp(42px,6vw,82px);align-items:center}
.hhc-sa-v4-overview-media{min-width:0}
.hhc-sa-v4-overview .hhc-sa-story-visual{height:clamp(410px,35vw,520px)}
.hhc-sa-v4-overview-copy>p{font-size:1.06rem;max-width:760px}
.hhc-sa-v4-mini-services{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.hhc-sa-v4-mini-card{display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:center;min-width:0;padding:10px;border:1px solid var(--hhc-sa-line);border-radius:16px;background:#fff;text-decoration:none!important;box-shadow:0 8px 22px rgba(1,44,90,.045);transition:.2s ease}
.hhc-sa-v4-mini-card:hover{transform:translateY(-2px);border-color:rgba(139,211,70,.8);box-shadow:0 12px 28px rgba(1,44,90,.08)}
.hhc-sa-v4-mini-thumb{display:block;height:62px;overflow:hidden;border-radius:11px;background:#edf5f8}
.hhc-sa-v4-mini-thumb .hhc-sa-image-placeholder{min-height:62px;padding:4px;gap:0;border:0}
.hhc-sa-v4-mini-thumb .hhc-sa-placeholder-plus,.hhc-sa-v4-mini-thumb strong,.hhc-sa-v4-mini-thumb small{display:none}
.hhc-sa-v4-mini-card>span:last-child{min-width:0}
.hhc-sa-v4-mini-card strong{display:block;color:var(--hhc-sa-navy);font-size:.88rem;line-height:1.2}
.hhc-sa-v4-mini-card small{display:block;color:var(--hhc-sa-muted);font-size:.72rem;line-height:1.35;margin-top:3px}

/* Core services: one section, three strong stories */
.hhc-sa-v4-core-services{background:var(--hhc-sa-bg)}
.hhc-sa-v4-service-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hhc-sa-v4-service-feature{min-width:0;overflow:hidden;border:1px solid var(--hhc-sa-line);border-radius:24px;background:#fff;box-shadow:var(--hhc-sa-soft-shadow)}
.hhc-sa-v4-service-image{position:relative;height:260px;overflow:hidden;background:linear-gradient(135deg,#eaf3fa,#edf8e5)}
.hhc-sa-v4-service-image .hhc-sa-image-placeholder{min-height:260px;border:0;border-radius:0}
.hhc-sa-v4-service-image>span{position:absolute;left:18px;top:18px;z-index:2;padding:8px 11px;border-radius:999px;background:rgba(1,44,90,.9);color:#fff;font-size:.72rem;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.hhc-sa-v4-service-copy{padding:28px}
.hhc-sa-v4-service-copy h3{font-size:clamp(1.55rem,2vw,2rem);margin-bottom:14px}
.hhc-sa-v4-service-copy p{font-size:.95rem;margin-bottom:18px}

/* Local guide: coverage and concerns merged */
.hhc-sa-v4-local-guide{background:#fff}
.hhc-sa-v4-local-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:22px;align-items:stretch}
.hhc-sa-v4-coverage-card,.hhc-sa-v4-concerns-card{overflow:hidden;border-radius:26px;border:1px solid var(--hhc-sa-line);box-shadow:var(--hhc-sa-soft-shadow)}
.hhc-sa-v4-coverage-card{display:grid;grid-template-columns:.95fr 1.05fr;background:linear-gradient(135deg,#012c5a,#074d82)}
.hhc-sa-v4-coverage-image{min-height:440px;background:#0a4f8e}
.hhc-sa-v4-coverage-image .hhc-sa-image-placeholder{min-height:440px;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff}
.hhc-sa-v4-coverage-body{padding:34px;color:#fff}
.hhc-sa-v4-coverage-body h2,.hhc-sa-v4-coverage-body h3{color:#fff}
.hhc-sa-v4-coverage-body .hhc-sa-section-kicker{color:#bce992}
.hhc-sa-v4-coverage-body .hhc-sa-chip-grid span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#fff}
.hhc-sa-v4-coverage-body .hhc-sa-child-links{border-top-color:rgba(255,255,255,.16)}
.hhc-sa-v4-coverage-body .hhc-sa-child-links a{background:var(--hhc-sa-green);color:var(--hhc-sa-navy)}
.hhc-sa-v4-concerns-card{padding:36px;background:#f7fafc}
.hhc-sa-v4-concerns-card>p{margin-bottom:24px}
.hhc-sa-v4-problem-list{grid-template-columns:1fr!important;gap:9px!important}
.hhc-sa-v4-problem-list div{min-height:0!important;padding:13px 15px!important;border-radius:12px!important;background:#fff!important}

/* Planning: trust and upgrade information share one contained section */
.hhc-sa-v4-planning{background:#f1f6fa}
.hhc-sa-v4-planning-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:stretch}
.hhc-sa-v4-trust-card{padding:clamp(32px,4vw,50px);border-radius:26px;background:#fff;border:1px solid var(--hhc-sa-line);box-shadow:var(--hhc-sa-soft-shadow)}
.hhc-sa-v4-trust-card h2{font-size:clamp(2rem,3vw,3.1rem)}
.hhc-sa-v4-trust-card .hhc-sa-best-note{margin-top:24px}
.hhc-sa-v4-inline-review{margin:28px 0 0;padding:22px;border-radius:16px;background:#f5faef;border-left:4px solid var(--hhc-sa-green)}
.hhc-sa-v4-inline-review p{margin:0 0 10px;color:var(--hhc-sa-navy);font-weight:700}
.hhc-sa-v4-inline-review footer{display:flex;gap:8px;flex-wrap:wrap;font-size:.82rem;color:var(--hhc-sa-muted)}
.hhc-sa-v4-upgrade-stack{display:grid;gap:16px}
.hhc-sa-v4-upgrade-card{display:grid;grid-template-columns:210px 1fr;min-height:240px;overflow:hidden;border-radius:24px;border:1px solid rgba(1,44,90,.08);background:#fff;box-shadow:var(--hhc-sa-soft-shadow)}
.hhc-sa-v4-upgrade-rebate{background:linear-gradient(135deg,#f2fae9,#fff)}
.hhc-sa-v4-upgrade-media{min-height:240px;background:#e9f4f2}
.hhc-sa-v4-upgrade-media .hhc-sa-image-placeholder{min-height:240px;border:0;border-radius:0}
.hhc-sa-v4-upgrade-body{padding:28px}
.hhc-sa-v4-upgrade-body h3{font-size:1.55rem;margin-bottom:10px}
.hhc-sa-v4-upgrade-body p{font-size:.92rem;margin-bottom:15px}
.hhc-sa-v4-upgrade-body small{display:block;margin-top:12px;color:#7b8998;font-size:.72rem}
.hhc-sa-v4-upgrade-body .hhc-sa-btn{min-height:46px;padding:0 18px;font-size:.84rem}

/* FAQ and related pages are no longer two separate giant bands */
.hhc-sa-v4-help{background:#fff}
.hhc-sa-v4-help-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(30px,5vw,70px);align-items:start}
.hhc-sa-v4-faq-column h2,.hhc-sa-v4-related-column h2{margin-bottom:24px}
.hhc-sa-v4-related-column{padding:30px;border-radius:24px;background:var(--hhc-sa-navy);box-shadow:var(--hhc-sa-shadow)}
.hhc-sa-v4-related-column h2{color:#fff;font-size:clamp(1.8rem,2.6vw,2.5rem)}
.hhc-sa-v4-related-column .hhc-sa-section-kicker{color:#bce992}
.hhc-sa-v4-related-list{display:grid;gap:9px}
.hhc-sa-v4-related-list a{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 15px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);text-decoration:none!important;transition:.2s ease}
.hhc-sa-v4-related-list a:hover{background:rgba(139,211,70,.15);border-color:rgba(139,211,70,.5);transform:translateX(2px)}
.hhc-sa-v4-related-list span{color:#fff;font-weight:800;line-height:1.25}
.hhc-sa-v4-related-list strong{color:#bce992;font-size:.74rem;white-space:nowrap}

/* Compact CTA */
.hhc-sa-v4-final{padding:62px 0!important}
.hhc-sa-v4-final .hhc-sa-final-card{min-height:0;padding:34px 38px}

/* Six layouts remain distinct, but now style the compact section groups. */
/* Premium Split */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-v4-service-feature:nth-child(2){transform:translateY(18px)}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-v4-planning-grid{grid-template-columns:1fr 1fr}

/* Full-Bleed Editorial */
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-overview-grid{grid-template-columns:.72fr 1.28fr}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-overview .hhc-sa-story-visual{height:610px;border-radius:0 70px 0 0;box-shadow:none}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-features{grid-template-columns:1fr}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature{display:grid;grid-template-columns:.46fr .54fr;border-radius:4px;box-shadow:none}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even){grid-template-columns:.54fr .46fr}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even) .hhc-sa-v4-service-image{order:2}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image{height:340px}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-copy{padding:42px}

/* Technical HVAC */
.hhc-sa-page-v4.hhc-sa-layout-technical>.hhc-sa-v4-core-services{background:#021f40}
.hhc-sa-page-v4.hhc-sa-layout-technical>.hhc-sa-v4-core-services h2,.hhc-sa-page-v4.hhc-sa-layout-technical>.hhc-sa-v4-core-services .hhc-sa-heading-split p{color:#fff}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature{border-color:rgba(255,255,255,.12);background:#082d53}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-copy h3,.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-copy p,.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-copy .hhc-sa-text-link{color:#fff}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-local-guide{order:20}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-overview{order:30}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-core-services{order:40}

/* Modern Metro */
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-features{grid-template-columns:repeat(12,1fr)}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-feature{grid-column:span 4;border-radius:8px}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-feature:first-child{grid-column:span 6}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-feature:nth-child(2){grid-column:span 6}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-feature:nth-child(3){grid-column:3/span 8}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-coverage-card,.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-concerns-card{border-radius:8px}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-related-column{border-radius:8px}

/* Local Home Story */
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-overview{background:#f7f6ef}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-overview-grid{grid-template-columns:1.15fr .85fr}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-overview .hhc-sa-story-visual{border-radius:44% 44% 18px 18px}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-core-services{background:#fffdf7}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child{grid-column:span 2}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-features{grid-template-columns:repeat(2,1fr)}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child{display:grid;grid-template-columns:1fr 1fr}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child .hhc-sa-v4-service-image{height:100%;min-height:360px}

/* Community Focus */
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-local-guide{order:20}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-overview{order:30}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-core-services{order:40}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-coverage-card{grid-template-columns:.78fr 1.22fr}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-features{grid-template-columns:1fr}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature{display:grid;grid-template-columns:300px 1fr;min-height:250px}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image{height:100%;min-height:250px}

@media(max-width:1080px){
 .hhc-sa-v4-mini-services{grid-template-columns:1fr}
 .hhc-sa-v4-service-features{grid-template-columns:1fr 1fr}
 .hhc-sa-v4-service-feature:last-child:nth-child(odd){grid-column:1/-1}
 .hhc-sa-v4-local-grid,.hhc-sa-v4-planning-grid{grid-template-columns:1fr}
 .hhc-sa-v4-coverage-card{grid-template-columns:.8fr 1.2fr}
 .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-features{grid-template-columns:1fr 1fr}.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-feature:nth-child(n){grid-column:auto}
 .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature{grid-template-columns:240px 1fr}
}
@media(max-width:860px){
 .hhc-sa-page-v4 .hhc-sa-section{padding:58px 0}
 .hhc-sa-v4-overview-grid,.hhc-sa-v4-help-grid{grid-template-columns:1fr}
 .hhc-sa-v4-overview .hhc-sa-story-visual{height:400px}
 .hhc-sa-v4-service-features{grid-template-columns:1fr}
 .hhc-sa-v4-service-feature:last-child:nth-child(odd){grid-column:auto}
 .hhc-sa-v4-coverage-card{grid-template-columns:1fr}.hhc-sa-v4-coverage-image{min-height:320px}
 .hhc-sa-v4-upgrade-card{grid-template-columns:170px 1fr}
 .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-overview-grid,.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-overview-grid{grid-template-columns:1fr}
 .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-overview .hhc-sa-story-visual{height:440px;border-radius:24px}
 .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature,.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even){grid-template-columns:1fr}.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even) .hhc-sa-v4-service-image{order:initial}
 .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-features{grid-template-columns:1fr}
 .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-features{grid-template-columns:1fr}.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child{grid-column:auto;grid-template-columns:1fr}.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child .hhc-sa-v4-service-image{min-height:0;height:280px}
 .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature{grid-template-columns:1fr}.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image{height:270px;min-height:0}
}
@media(max-width:620px){
 .hhc-sa-page-v4 .hhc-sa-section{padding:46px 0}
 .hhc-sa-v4-overview .hhc-sa-story-visual{height:330px}
 .hhc-sa-v4-overview-copy h2{font-size:2rem}
 .hhc-sa-v4-mini-card{grid-template-columns:60px 1fr}
 .hhc-sa-v4-mini-thumb{height:56px}
 .hhc-sa-v4-service-image{height:220px}.hhc-sa-v4-service-image .hhc-sa-image-placeholder{min-height:220px}
 .hhc-sa-v4-service-copy{padding:22px}.hhc-sa-v4-service-copy h3{font-size:1.55rem}
 .hhc-sa-v4-coverage-image{min-height:250px}.hhc-sa-v4-coverage-body,.hhc-sa-v4-concerns-card{padding:24px}
 .hhc-sa-v4-problem-list div{min-height:66px!important;padding:15px!important}
 .hhc-sa-v4-trust-card{padding:26px 22px}
 .hhc-sa-v4-upgrade-card{grid-template-columns:1fr}.hhc-sa-v4-upgrade-media{min-height:190px;height:190px}.hhc-sa-v4-upgrade-media .hhc-sa-image-placeholder{min-height:190px}
 .hhc-sa-v4-upgrade-body{padding:22px}
 .hhc-sa-v4-related-column{padding:24px 20px}.hhc-sa-v4-related-list a{align-items:center;min-height:64px}.hhc-sa-v4-related-list strong{white-space:normal;text-align:right}
 .hhc-sa-v4-final{padding:42px 0!important}.hhc-sa-v4-final .hhc-sa-final-card{padding:28px 22px}
}

/* ========================================================================== 
   v1.3.1 — ABOUT-PAGE-INSPIRED REFINEMENT
   Cleaner proportions, straight photography, tighter section rhythm, and
   equal-height service cards. Uses the About & Team page's restrained design
   language without copying its layout.
   ========================================================================== */
.hhc-sa-page-v4{
  --hhc-sa-v4-max:1240px;
  --hhc-sa-v4-radius:22px;
}
.hhc-sa-page-v4 .hhc-sa-container{
  width:min(var(--hhc-sa-v4-max),calc(100% - 44px));
}
.hhc-sa-page-v4 .hhc-sa-section{
  padding:clamp(54px,5.6vw,76px) 0;
}
.hhc-sa-page-v4 h1{
  font-size:clamp(2.75rem,4.65vw,4.35rem);
  line-height:1.02;
}
.hhc-sa-page-v4 h2{
  font-size:clamp(1.85rem,2.75vw,2.85rem);
  line-height:1.06;
}
.hhc-sa-page-v4 h3{
  line-height:1.12;
}
.hhc-sa-page-v4 p{
  font-size:.98rem;
  line-height:1.62;
}
.hhc-sa-page-v4 .hhc-sa-heading-split{
  grid-template-columns:minmax(0,1fr) minmax(270px,.56fr);
  gap:40px;
  margin-bottom:30px;
}
.hhc-sa-page-v4 .hhc-sa-heading-split p{
  max-width:430px;
  font-size:.94rem;
}

/* Hero: straight, calm and premium. No tilted / clipped / novelty shapes. */
.hhc-sa-page-v4 .hhc-sa-hero{
  padding:clamp(58px,6vw,82px) 0;
  background:
    radial-gradient(circle at 88% 18%,rgba(139,211,70,.16),transparent 27%),
    linear-gradient(135deg,#f8fbff 0%,#eef5fa 56%,#f2f9ed 100%);
}
.hhc-sa-page-v4 .hhc-sa-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-110px;
  bottom:-170px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:rgba(1,44,90,.035);
  transform:none;
}
.hhc-sa-page-v4 .hhc-sa-hero-grid{
  grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);
  gap:clamp(42px,5vw,66px);
}
.hhc-sa-page-v4 .hhc-sa-hero-copy{
  padding:8px 0;
}
.hhc-sa-page-v4 .hhc-sa-hero-copy h1{
  max-width:660px;
  margin-bottom:18px;
}
.hhc-sa-page-v4 .hhc-sa-lead{
  max-width:650px;
  margin-bottom:24px;
  font-size:clamp(1rem,1.25vw,1.12rem)!important;
}
.hhc-sa-page-v4 .hhc-sa-hero-actions{
  gap:10px;
}
.hhc-sa-page-v4 .hhc-sa-btn{
  min-height:48px;
  padding:0 19px;
  border-radius:12px;
  font-size:.9rem;
}
.hhc-sa-page-v4 .hhc-sa-trust-row{
  margin-top:20px;
  gap:8px 16px;
  font-size:.76rem;
}
.hhc-sa-page-v4 .hhc-sa-hero-visual{
  height:clamp(360px,36vw,455px);
  border-radius:24px!important;
  clip-path:none!important;
  transform:none!important;
  box-shadow:0 22px 58px rgba(1,44,90,.16);
}
.hhc-sa-page-v4 .hhc-sa-hero-overlay-card{
  left:18px;
  right:18px;
  bottom:18px;
  padding:14px 16px;
  border-radius:14px;
  grid-template-columns:1fr auto;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
}
.hhc-sa-page-v4 .hhc-sa-hero-overlay-card>strong{
  font-size:1.02rem;
}
.hhc-sa-page-v4 .hhc-sa-hero-overlay-card ul{
  font-size:.72rem;
}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-hero-visual,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero-visual,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-visual{
  transform:none!important;
  clip-path:none!important;
}

/* Local overview: one strong photo, concise copy, one compact planning note. */
.hhc-sa-page-v4 .hhc-sa-v4-overview-grid{
  grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr);
  gap:clamp(38px,5vw,64px);
}
.hhc-sa-page-v4 .hhc-sa-v4-overview .hhc-sa-story-visual{
  height:clamp(340px,31vw,430px);
  border-radius:22px!important;
  transform:none!important;
  box-shadow:0 18px 46px rgba(1,44,90,.1);
}
.hhc-sa-page-v4 .hhc-sa-v4-overview-copy h2{
  max-width:650px;
  margin-bottom:16px;
}
.hhc-sa-page-v4 .hhc-sa-v4-local-summary{
  max-width:700px;
  margin:0;
  font-size:1rem;
}
.hhc-sa-page-v4 .hhc-sa-climate-card{
  margin-top:20px;
  padding:17px 19px;
  border-radius:14px;
  border-left-width:3px;
  background:#f7fafc;
}
.hhc-sa-page-v4 .hhc-sa-climate-card>span{
  margin-bottom:4px;
  font-size:.9rem;
}
.hhc-sa-page-v4 .hhc-sa-climate-card p{
  font-size:.88rem;
  line-height:1.5;
}
.hhc-sa-v4-service-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:18px;
}
.hhc-sa-v4-service-strip-label{
  color:var(--hhc-sa-muted);
  font-size:.72rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-right:2px;
}
.hhc-sa-v4-service-strip a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid rgba(1,44,90,.1);
  border-radius:999px;
  background:#fff;
  color:var(--hhc-sa-navy)!important;
  text-decoration:none!important;
  font-size:.76rem;
  font-weight:800;
  transition:.2s ease;
}
.hhc-sa-v4-service-strip a:hover{
  transform:translateY(-1px);
  border-color:rgba(139,211,70,.75);
  box-shadow:0 8px 18px rgba(1,44,90,.06);
}
.hhc-sa-v4-service-strip i{
  display:grid;
  width:18px;
  height:18px;
  place-items:center;
  border-radius:50%;
  background:rgba(139,211,70,.17);
  color:var(--hhc-sa-green-dark);
  font-style:normal;
  line-height:1;
}

/* Core service cards: smaller, equal-height, aligned and deliberately quiet. */
.hhc-sa-page-v4 .hhc-sa-v4-core-services{
  background:#f4f8fb;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-features{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
  grid-auto-rows:1fr;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-feature{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  border-radius:20px;
  transform:none!important;
  box-shadow:0 10px 30px rgba(1,44,90,.065);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image{
  height:185px;
  flex:0 0 185px;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image .hhc-sa-image-placeholder{
  min-height:185px;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image>span{
  left:14px;
  top:14px;
  padding:7px 10px;
  font-size:.66rem;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:21px 22px 22px;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy .hhc-sa-section-kicker{
  margin-bottom:9px;
  font-size:.64rem;
  letter-spacing:.1em;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy .hhc-sa-section-kicker::before{
  width:20px;
  height:2px;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy h3{
  margin-bottom:10px;
  font-size:clamp(1.28rem,1.55vw,1.55rem);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy p{
  margin:0 0 14px;
  font-size:.86rem;
  line-height:1.52;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy .hhc-sa-text-link{
  margin-top:auto;
  font-size:.78rem;
}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-v4-service-feature:nth-child(2){
  transform:none!important;
}

/* Keep the remaining blocks contained to the same About-page-style rhythm. */
.hhc-sa-page-v4 .hhc-sa-v4-local-grid,
.hhc-sa-page-v4 .hhc-sa-v4-planning-grid{
  gap:16px;
}
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card,
.hhc-sa-page-v4 .hhc-sa-v4-concerns-card,
.hhc-sa-page-v4 .hhc-sa-v4-trust-card,
.hhc-sa-page-v4 .hhc-sa-v4-related-column,
.hhc-sa-page-v4 .hhc-sa-v4-upgrade-card{
  border-radius:20px;
}
.hhc-sa-page-v4 .hhc-sa-v4-coverage-image{
  min-height:340px;
}
.hhc-sa-page-v4 .hhc-sa-v4-coverage-image .hhc-sa-image-placeholder{
  min-height:340px;
}
.hhc-sa-page-v4 .hhc-sa-v4-coverage-body,
.hhc-sa-page-v4 .hhc-sa-v4-concerns-card{
  padding:28px;
}
.hhc-sa-page-v4 .hhc-sa-v4-concerns-card>p{
  margin-bottom:16px;
  font-size:.9rem;
}
.hhc-sa-page-v4 .hhc-sa-v4-problem-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-problem-list div{
  min-height:54px!important;
  padding:11px 13px!important;
  font-size:.82rem;
}
.hhc-sa-page-v4 .hhc-sa-v4-trust-card{
  padding:34px;
}
.hhc-sa-page-v4 .hhc-sa-v4-trust-card h2{
  font-size:clamp(1.85rem,2.5vw,2.65rem);
}
.hhc-sa-page-v4 .hhc-sa-v4-upgrade-card{
  grid-template-columns:180px 1fr;
  min-height:210px;
}
.hhc-sa-page-v4 .hhc-sa-v4-upgrade-media,
.hhc-sa-page-v4 .hhc-sa-v4-upgrade-media .hhc-sa-image-placeholder{
  min-height:210px;
}
.hhc-sa-page-v4 .hhc-sa-v4-upgrade-body{
  padding:22px;
}
.hhc-sa-page-v4 .hhc-sa-v4-help-grid{
  gap:clamp(28px,4vw,52px);
}
.hhc-sa-page-v4 .hhc-sa-v4-related-column{
  padding:25px;
}
.hhc-sa-page-v4 .hhc-sa-v4-final{
  padding:48px 0!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-final .hhc-sa-final-card{
  padding:28px 30px;
}

/* Six themes still feel different, but none use crooked imagery or gimmicky card offsets. */
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-overview .hhc-sa-story-visual,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-overview .hhc-sa-story-visual{
  border-radius:22px!important;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature{
  display:grid;
  grid-template-columns:minmax(230px,.4fr) minmax(0,.6fr);
  min-height:235px;
  border-radius:18px;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even){
  grid-template-columns:minmax(0,.6fr) minmax(230px,.4fr);
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image{
  height:100%;
  min-height:235px;
  flex:none;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-copy{
  padding:28px;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature{
  border-radius:12px;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-feature{
  border-radius:14px;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-features{
  gap:16px;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child .hhc-sa-v4-service-image{
  min-height:235px;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature{
  min-height:215px;
  border-radius:16px;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image{
  min-height:215px;
}

@media(max-width:1080px){
  .hhc-sa-page-v4 .hhc-sa-hero-grid{
    grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr);
    gap:38px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-features{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-copy{
    padding:18px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-copy h3{
    font-size:1.25rem;
  }
}

@media(max-width:860px){
  .hhc-sa-page-v4 .hhc-sa-container{
    width:min(100% - 36px,var(--hhc-sa-v4-max));
  }
  .hhc-sa-page-v4 .hhc-sa-section{
    padding:50px 0;
  }
  .hhc-sa-page-v4 .hhc-sa-hero{
    padding:48px 0 52px;
  }
  .hhc-sa-page-v4 .hhc-sa-hero-grid,
  .hhc-sa-page-v4 .hhc-sa-v4-overview-grid{
    grid-template-columns:1fr;
  }
  .hhc-sa-page-v4 .hhc-sa-hero-visual{
    height:420px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-overview .hhc-sa-story-visual{
    height:380px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-features{
    grid-template-columns:1fr;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even),
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature{
    display:grid;
    grid-template-columns:220px 1fr;
    min-height:215px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-image,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image{
    height:100%;
    min-height:215px;
    flex:none;
  }
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even) .hhc-sa-v4-service-image{
    order:initial;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-problem-list{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:620px){
  .hhc-sa-page-v4 .hhc-sa-container{
    width:min(100% - 28px,var(--hhc-sa-v4-max));
  }
  .hhc-sa-page-v4 .hhc-sa-section{
    padding:42px 0;
  }
  .hhc-sa-page-v4 h1{
    font-size:clamp(2.35rem,12vw,3.1rem);
  }
  .hhc-sa-page-v4 h2{
    font-size:clamp(1.7rem,8vw,2.25rem);
  }
  .hhc-sa-page-v4 .hhc-sa-hero{
    padding:38px 0 42px;
  }
  .hhc-sa-page-v4 .hhc-sa-hero-copy h1{
    margin-bottom:14px;
  }
  .hhc-sa-page-v4 .hhc-sa-hero-visual{
    height:300px;
    border-radius:19px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-hero-overlay-card{
    left:12px;
    right:12px;
    bottom:12px;
    padding:12px;
  }
  .hhc-sa-page-v4 .hhc-sa-hero-overlay-card ul{
    display:none;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-overview .hhc-sa-story-visual{
    height:300px;
    border-radius:18px!important;
  }
  .hhc-sa-v4-service-strip{
    margin-top:15px;
  }
  .hhc-sa-v4-service-strip-label{
    width:100%;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even),
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature{
    display:flex;
    grid-template-columns:none;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-image,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image{
    height:190px;
    min-height:190px;
    flex:0 0 190px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-copy{
    padding:20px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-coverage-image,
  .hhc-sa-page-v4 .hhc-sa-v4-coverage-image .hhc-sa-image-placeholder{
    min-height:230px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-coverage-body,
  .hhc-sa-page-v4 .hhc-sa-v4-concerns-card{
    padding:22px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-trust-card{
    padding:24px 21px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-upgrade-card{
    grid-template-columns:1fr;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-final{
    padding:38px 0!important;
  }
}

/* v1.3.1 — clean hero variations. Distinct themes, straight image geometry. */
.hhc-sa-page-v4.hhc-sa-layout-editorial>.hhc-sa-hero{
  padding:0;
  min-height:560px;
  background:#001a37;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-grid{
  position:relative;
  display:flex;
  align-items:center;
  min-height:560px;
  padding-top:66px;
  padding-bottom:66px;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-visual{
  position:absolute;
  z-index:0;
  left:50%;
  top:0;
  width:100vw;
  height:100%;
  max-height:none;
  border-radius:0!important;
  transform:translateX(-50%)!important;
  box-shadow:none;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-copy{
  position:relative;
  z-index:3;
  max-width:690px;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-copy h1{
  font-size:clamp(2.9rem,5vw,4.8rem);
}

.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero{
  background:linear-gradient(118deg,#001b38 0%,#023768 64%,#0a4f8e 100%);
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero::before{
  inset:0;
  width:auto;
  height:auto;
  border-radius:0;
  background:linear-gradient(90deg,transparent 0 49%,rgba(255,255,255,.035) 49% 50%,transparent 50% 100%);
  background-size:88px 88px;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero-visual{
  height:430px;
  border-radius:16px!important;
}

.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero{
  background:linear-gradient(180deg,#f2f5fa,#f8fbfd);
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-grid{
  grid-template-columns:1.08fr .92fr;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-copy h1{
  font-size:clamp(2.9rem,5.2vw,4.9rem);
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-visual{
  height:445px;
  border-radius:18px!important;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-overlay-card{
  left:18px;
  right:18px;
  width:auto;
  border-radius:12px;
}

.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero{
  padding:54px 0;
  background:linear-gradient(180deg,#eef6e7,#f8faf5);
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  min-height:520px;
  align-items:end;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero-visual{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border-radius:24px!important;
  transform:none!important;
  box-shadow:0 22px 58px rgba(44,71,40,.15);
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero-copy{
  position:relative;
  z-index:3;
  width:min(620px,calc(100% - 44px));
  margin:22px;
  padding:30px;
  border-radius:20px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(9px);
  box-shadow:0 18px 45px rgba(1,44,90,.13);
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero-copy h1{
  font-size:clamp(2.65rem,4.7vw,4.25rem);
}

.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero{
  padding:46px 0 70px;
  background:#fff;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero-grid{
  display:flex;
  flex-direction:column;
  gap:0;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero-visual{
  order:1;
  width:100%;
  height:390px;
  border-radius:22px!important;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero-copy{
  order:2;
  position:relative;
  z-index:4;
  width:min(820px,calc(100% - 60px));
  margin:-68px auto 0;
  padding:30px 36px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 20px 52px rgba(1,44,90,.13);
  text-align:center;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero-copy h1{
  font-size:clamp(2.55rem,4.7vw,4.2rem);
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero-actions,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-trust-row{
  justify-content:center;
}

@media(max-width:860px){
  .hhc-sa-page-v4.hhc-sa-layout-editorial>.hhc-sa-hero,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-grid{
    min-height:520px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero-visual,
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-visual{
    height:390px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero-grid{
    min-height:500px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero-visual{
    height:350px;
  }
}
@media(max-width:620px){
  .hhc-sa-page-v4.hhc-sa-layout-editorial>.hhc-sa-hero,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-grid{
    min-height:500px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-grid{
    padding-top:50px;
    padding-bottom:50px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero-visual,
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-visual{
    height:300px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero{
    padding:36px 0;
  }
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero-grid{
    min-height:480px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero-copy{
    width:calc(100% - 28px);
    margin:14px;
    padding:22px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero{
    padding:30px 0 52px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero-visual{
    height:290px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero-copy{
    width:calc(100% - 28px);
    margin-top:-42px;
    padding:24px 20px;
  }
}

/* v1.3.2 — mobile hero flow
   Keep the primary hero image at the top on stacked layouts so the page flows:
   hero image → hero copy → local-story image, instead of placing two large images back-to-back. */
@media(max-width:860px){
  .hhc-sa-page-v4 .hhc-sa-hero-grid > .hhc-sa-hero-visual{
    order:1;
  }
  .hhc-sa-page-v4 .hhc-sa-hero-grid > .hhc-sa-hero-copy{
    order:2;
  }
  /* Background/full-bleed themes keep their intentional layered treatment. */
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-visual,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero-visual{
    order:initial;
  }
}

/* ========================================================================== 
   v1.3.3 — MOBILE COMPOSITION / CONTRAST QA
   Fixes late desktop-specific rules that were winning over earlier responsive
   declarations. Mobile now stacks major information blocks cleanly and keeps
   dark-section preview copy readable.
   ========================================================================== */
@media(max-width:860px){
  /* Core-services heading must become one readable column on mobile/tablet. */
  .hhc-sa-page-v4 .hhc-sa-heading-split{
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:start!important;
    margin-bottom:24px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-heading-split>div,
  .hhc-sa-page-v4 .hhc-sa-heading-split>p{
    width:100%;
    max-width:none!important;
    min-width:0;
  }
  .hhc-sa-page-v4 .hhc-sa-heading-split>p{
    margin:0!important;
    font-size:.94rem;
    line-height:1.55;
  }
  .hhc-sa-page-v4 .hhc-sa-heading-split .hhc-sa-section-kicker{
    width:auto;
    max-width:100%;
  }

  /* Local guide always stacks instead of forcing narrow side-by-side cards. */
  .hhc-sa-page-v4 .hhc-sa-v4-local-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-coverage-card,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-coverage-card{
    grid-template-columns:1fr!important;
  }

  /* The premium layout had a more specific desktop 1fr/1fr rule that was
     keeping contractor + rebate cards squeezed beside each other on mobile. */
  .hhc-sa-page-v4 .hhc-sa-v4-planning-grid,
  .hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-v4-planning-grid,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-planning-grid,
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-planning-grid,
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-planning-grid,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-planning-grid,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-planning-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-trust-card,
  .hhc-sa-page-v4 .hhc-sa-v4-upgrade-stack,
  .hhc-sa-page-v4 .hhc-sa-v4-upgrade-card{
    width:100%;
    min-width:0;
  }

  /* Keep rebate / financing modules sleek on mobile instead of creating a
     second compressed two-column layout inside the newly stacked section. */
  .hhc-sa-page-v4 .hhc-sa-v4-upgrade-card{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-upgrade-media,
  .hhc-sa-page-v4 .hhc-sa-v4-upgrade-media .hhc-sa-image-placeholder{
    height:190px!important;
    min-height:190px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-upgrade-body{
    padding:22px!important;
  }

  /* Dark local-coverage preview: all placeholder copy must stay readable. */
  .hhc-sa-page-v4 .hhc-sa-v4-coverage-image .hhc-sa-image-placeholder,
  .hhc-sa-page-v4 .hhc-sa-v4-coverage-image .hhc-sa-image-placeholder strong,
  .hhc-sa-page-v4 .hhc-sa-v4-coverage-image .hhc-sa-image-placeholder small{
    color:#fff!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-coverage-image .hhc-sa-image-placeholder small{
    opacity:.78;
  }
}

@media(max-width:620px){
  /* Slightly tighter hierarchy for phone widths. */
  .hhc-sa-page-v4 .hhc-sa-heading-split h2{
    font-size:clamp(1.7rem,8vw,2.05rem);
  }
  .hhc-sa-page-v4 .hhc-sa-v4-planning-grid{
    gap:14px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-trust-card{
    padding:22px 20px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-upgrade-media,
  .hhc-sa-page-v4 .hhc-sa-v4-upgrade-media .hhc-sa-image-placeholder{
    height:165px!important;
    min-height:165px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-upgrade-body{
    padding:20px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-upgrade-body .hhc-sa-btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-coverage-image,
  .hhc-sa-page-v4 .hhc-sa-v4-coverage-image .hhc-sa-image-placeholder{
    min-height:210px!important;
  }
}

/* ========================================================================== 
   v1.3.4 — DARK / BLUE SECTION CONTRAST SYSTEM
   Every dark-blue content surface uses white foreground copy on desktop and
   mobile. Green accents/buttons keep their intentional Harry's brand colours.
   ========================================================================== */

/* Core dark surfaces used by the current v4 service-area templates. */
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card,
.hhc-sa-page-v4 .hhc-sa-v4-related-column,
.hhc-sa-page-v4 .hhc-sa-final-cta,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-editorial > .hhc-sa-hero,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-hero{
  --hhc-sa-dark-copy:#fff;
  --hhc-sa-dark-accent:#c8f29f;
}

/* Headings and ordinary copy must never inherit the global muted grey on blue. */
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card h1,
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card h2,
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card h3,
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card p,
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card small,
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card strong,
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card li,
.hhc-sa-page-v4 .hhc-sa-v4-related-column h1,
.hhc-sa-page-v4 .hhc-sa-v4-related-column h2,
.hhc-sa-page-v4 .hhc-sa-v4-related-column h3,
.hhc-sa-page-v4 .hhc-sa-v4-related-column p,
.hhc-sa-page-v4 .hhc-sa-v4-related-column small,
.hhc-sa-page-v4 .hhc-sa-v4-related-column span,
.hhc-sa-page-v4 .hhc-sa-v4-related-column li,
.hhc-sa-page-v4 .hhc-sa-final-cta h1,
.hhc-sa-page-v4 .hhc-sa-final-cta h2,
.hhc-sa-page-v4 .hhc-sa-final-cta h3,
.hhc-sa-page-v4 .hhc-sa-final-cta p,
.hhc-sa-page-v4 .hhc-sa-final-cta small,
.hhc-sa-page-v4 .hhc-sa-final-cta li,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services h1,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services h2,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services h3,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services p,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services small,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services strong,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services li,
.hhc-sa-page-v4.hhc-sa-layout-editorial > .hhc-sa-hero h1,
.hhc-sa-page-v4.hhc-sa-layout-editorial > .hhc-sa-hero h2,
.hhc-sa-page-v4.hhc-sa-layout-editorial > .hhc-sa-hero h3,
.hhc-sa-page-v4.hhc-sa-layout-editorial > .hhc-sa-hero p,
.hhc-sa-page-v4.hhc-sa-layout-editorial > .hhc-sa-hero small,
.hhc-sa-page-v4.hhc-sa-layout-editorial > .hhc-sa-hero li,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-hero h1,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-hero h2,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-hero h3,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-hero p,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-hero small,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-hero li{
  color:#fff!important;
}

/* Preserve a green accent for labels while keeping them high-contrast. */
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card .hhc-sa-section-kicker,
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card .hhc-sa-eyebrow,
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card .hhc-sa-module-tag,
.hhc-sa-page-v4 .hhc-sa-v4-related-column .hhc-sa-section-kicker,
.hhc-sa-page-v4 .hhc-sa-v4-related-column .hhc-sa-eyebrow,
.hhc-sa-page-v4 .hhc-sa-final-cta .hhc-sa-section-kicker,
.hhc-sa-page-v4 .hhc-sa-final-cta .hhc-sa-eyebrow,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-section-kicker,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-eyebrow,
.hhc-sa-page-v4.hhc-sa-layout-editorial > .hhc-sa-hero .hhc-sa-eyebrow,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-hero .hhc-sa-eyebrow{
  color:#c8f29f!important;
}

/* Dark preview placeholders: helper copy is white at every breakpoint. */
.hhc-sa-page-v4 .hhc-sa-v4-coverage-image .hhc-sa-image-placeholder,
.hhc-sa-page-v4 .hhc-sa-v4-coverage-image .hhc-sa-image-placeholder strong,
.hhc-sa-page-v4 .hhc-sa-v4-coverage-image .hhc-sa-image-placeholder small{
  color:#fff!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-coverage-image .hhc-sa-image-placeholder small{
  opacity:.88;
}

/* Technical cards are blue too; don't let generic service-card colours win. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy h3,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy p,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy strong,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy small,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy .hhc-sa-text-link{
  color:#fff!important;
}

/* Keep interactive green/white controls readable rather than forcing them white. */
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card .hhc-sa-child-links a,
.hhc-sa-page-v4 .hhc-sa-v4-coverage-card .hhc-sa-btn-primary,
.hhc-sa-page-v4 .hhc-sa-final-cta .hhc-sa-btn-primary{
  color:var(--hhc-sa-navy)!important;
}
.hhc-sa-page-v4 .hhc-sa-final-cta .hhc-sa-btn-light{
  color:var(--hhc-sa-navy)!important;
}

/* The final legal/service note is still white, just visually quieter via opacity. */
.hhc-sa-page-v4 .hhc-sa-final-cta .hhc-sa-disclaimer{
  color:#fff!important;
  opacity:.78;
}



/* ========================================================================== 
   v1.3.5 — COMPACT / CENTERED CONCERN + ACCORDION ROWS
   Fixes the oversized dead space in one-line concern cards and normalizes
   vertical alignment for both concern tiles and FAQ accordion summaries.
   ========================================================================== */

/* Common HVAC Concerns: compact, balanced touch rows on every breakpoint. */
.hhc-sa-page-v4 .hhc-sa-v4-problem-list{
  align-items:start!important;
  grid-auto-rows:auto!important;
  gap:10px!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-problem-list > div{
  box-sizing:border-box;
  display:flex!important;
  align-items:center!important;
  align-self:start!important;
  width:100%;
  min-height:62px!important;
  height:auto!important;
  padding:14px 17px!important;
  gap:12px!important;
  line-height:1.32!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-problem-list > div > span{
  flex:0 0 20px!important;
  width:20px;
  height:20px;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  margin:0!important;
  line-height:1!important;
}

/* FAQs use the same centered row rhythm, including open states. */
.hhc-sa-page-v4 .hhc-sa-faq-list summary{
  box-sizing:border-box;
  min-height:62px!important;
  padding:14px 17px!important;
  align-items:center!important;
  line-height:1.32!important;
}
.hhc-sa-page-v4 .hhc-sa-faq-list summary > span{
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
  align-self:center!important;
  margin:0!important;
}

@media(max-width:620px){
  .hhc-sa-page-v4 .hhc-sa-v4-problem-list{
    gap:9px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-problem-list > div{
    min-height:58px!important;
    padding:13px 15px!important;
    gap:11px!important;
    font-size:.9rem!important;
  }
  .hhc-sa-page-v4 .hhc-sa-faq-list summary{
    min-height:58px!important;
    padding:13px 15px!important;
  }
}


/* ==========================================================
   v1.3.6 — SINGLE-COLUMN HELP SECTION FALLBACK
   Draft/new locations may have FAQs before nearby published pages exist.
   Do not reserve an empty desktop grid column in that state.
   ========================================================== */
.hhc-sa-page-v4 .hhc-sa-v4-help-grid.is-faq-only,
.hhc-sa-page-v4 .hhc-sa-v4-help-grid.is-related-only{
  grid-template-columns:1fr;
  gap:0;
}
.hhc-sa-page-v4 .hhc-sa-v4-help-grid.is-faq-only .hhc-sa-v4-faq-column{
  width:100%;
  max-width:940px;
  margin-inline:auto;
}
.hhc-sa-page-v4 .hhc-sa-v4-help-grid.is-related-only .hhc-sa-v4-related-column{
  width:100%;
  max-width:760px;
  margin-inline:auto;
}
.hhc-sa-page-v4 .hhc-sa-v4-help-grid.is-faq-only .hhc-sa-faq-list{
  width:100%;
}
@media(max-width:860px){
  .hhc-sa-page-v4 .hhc-sa-v4-help-grid.is-faq-only .hhc-sa-v4-faq-column,
  .hhc-sa-page-v4 .hhc-sa-v4-help-grid.is-related-only .hhc-sa-v4-related-column{
    max-width:none;
  }
}


/* ==========================================================
   v1.3.7 — FOUR-CARD CORE HVAC COMPOSITION
   The three-card Metro arrangement left a single oversized orphan card.
   Promote HVAC Maintenance into the core group and use balanced 4/2/1 grids.
   ========================================================== */
.hhc-sa-page-v4 .hhc-sa-v4-service-features{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-feature{
  grid-column:auto!important;
  transform:none!important;
}

/* Four cards need a slightly tighter image/copy rhythm on wide screens. */
.hhc-sa-page-v4 .hhc-sa-v4-service-image{
  height:170px;
  flex-basis:170px;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image .hhc-sa-image-placeholder{
  min-height:170px;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy{
  padding:20px;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy h3{
  font-size:clamp(1.16rem,1.28vw,1.42rem);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy p{
  font-size:.82rem;
}

/* Premium / Technical / Metro: balanced four-card row, no orphan card. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-v4-service-feature:nth-child(n),
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature:nth-child(n),
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-feature:nth-child(n){
  grid-column:auto!important;
  transform:none!important;
}

/* Editorial: two polished horizontal cards per row. */
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-features{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even){
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  min-height:230px;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even) .hhc-sa-v4-service-image{
  order:0!important;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image{
  height:100%;
  min-height:230px;
  flex:none;
}

/* Local Home + Community: deliberate 2x2 card grids instead of a 3-card special case. */
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-features,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-features{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature{
  display:flex!important;
  grid-template-columns:none!important;
  grid-column:auto!important;
  min-height:0!important;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child .hhc-sa-v4-service-image,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image{
  height:185px!important;
  min-height:185px!important;
  flex:0 0 185px!important;
}

@media(max-width:1180px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-features,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-features,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-features,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-features{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:860px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even),
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child{
    display:grid!important;
    grid-template-columns:190px minmax(0,1fr)!important;
    min-height:205px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-image,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child .hhc-sa-v4-service-image{
    height:100%!important;
    min-height:205px!important;
    flex:none!important;
  }
}

@media(max-width:620px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-features,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-features,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-features,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-features{
    grid-template-columns:1fr!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature:nth-child(even),
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child{
    display:flex!important;
    grid-template-columns:none!important;
    min-height:0!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-image,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child .hhc-sa-v4-service-image{
    height:180px!important;
    min-height:180px!important;
    flex:0 0 180px!important;
  }
}

/* ==========================================================
   v1.3.8 — CORE SERVICE CARD MEDIA / PLACEHOLDER POLISH
   Keep the four-card layout, but make the preview image controls feel
   intentional: service badge top-left, compact add-image control top-right,
   centered guidance, and no clipping or wandering green circles.
   ========================================================== */
.hhc-sa-page-v4 .hhc-sa-v4-service-image{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image .hhc-sa-image-placeholder{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:170px;
  height:100%;
  padding:52px 18px 16px;
  gap:6px;
  text-align:center;
  overflow:hidden;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image .hhc-sa-image-placeholder .hhc-sa-placeholder-plus{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  font-size:1.38rem;
  line-height:1;
  color:var(--hhc-sa-navy);
  background:var(--hhc-sa-green);
  box-shadow:0 7px 16px rgba(104,173,44,.20);
  z-index:4;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image .hhc-sa-image-placeholder strong{
  max-width:92%;
  margin:0;
  font-size:1rem;
  line-height:1.24;
  color:var(--hhc-sa-navy);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image .hhc-sa-image-placeholder small{
  max-width:94%;
  margin:0;
  font-size:.72rem;
  line-height:1.38;
  color:#667b8e;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image>span{
  top:14px;
  left:14px;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  padding:0 11px;
  white-space:nowrap;
  line-height:1;
  z-index:5;
}

/* Keep the actual cards visually even and restrained. */
.hhc-sa-page-v4 .hhc-sa-v4-service-feature{
  overflow:hidden;
  border-radius:18px;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy{
  padding:19px 20px 20px;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy h3{
  line-height:1.16;
}

/* Tablet/mobile: the add control stays in the same predictable corner. */
@media (max-width: 1024px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-image .hhc-sa-image-placeholder{
    padding:52px 18px 16px;
  }
}
@media (max-width: 680px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-image .hhc-sa-image-placeholder .hhc-sa-placeholder-plus{
    top:12px;
    right:12px;
    width:36px;
    height:36px;
    min-width:36px;
    font-size:1.28rem;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-image>span{
    top:12px;
    left:12px;
    min-height:36px;
    padding:0 10px;
  }
}

/* =========================================================
   v1.3.10 — EQUIPMENT BRAND BANNER
   A true horizontal logo banner: compact copy, one clean desktop row,
   no individual logo cards, and a swipeable strip on phones.
   ========================================================= */
.hhc-sa-page-v4 .hhc-sa-brands-rail{
  margin-top:28px;
  padding:22px 26px 24px;
  display:block;
  width:100%;
  background:#fff;
  border:1px solid #dce7ef;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(1,44,90,.055);
  overflow:hidden;
}
.hhc-sa-page-v4 .hhc-sa-brands-copy{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.hhc-sa-page-v4 .hhc-sa-brands-copy .hhc-sa-section-kicker{
  justify-content:center;
  margin-bottom:5px;
}
.hhc-sa-page-v4 .hhc-sa-brands-copy h3{
  margin:0;
  color:var(--hhc-sa-navy);
  font-size:clamp(1.25rem,1.8vw,1.65rem);
  line-height:1.1;
}
.hhc-sa-page-v4 .hhc-sa-brands-copy p{
  margin:7px auto 0;
  max-width:720px;
  color:#62778c;
  font-size:.88rem;
  line-height:1.45;
}
.hhc-sa-page-v4 .hhc-sa-brand-logos{
  margin-top:20px;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px;
  width:100%;
}
.hhc-sa-page-v4 .hhc-sa-brand-logo{
  position:relative;
  flex:1 1 0;
  min-width:0;
  height:68px;
  padding:5px 8px;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.hhc-sa-page-v4 .hhc-sa-brand-logo img,
.hhc-sa-page-v4 .hhc-sa-brand-logo-image{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:54px!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  transform:none!important;
}
.hhc-sa-page-v4 .hhc-sa-brands-preview-note{
  margin-top:18px;
  min-height:84px;
  padding:15px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px dashed #9bb7ca;
  border-radius:14px;
  background:linear-gradient(135deg,#eff8fb,#f1faeb);
  color:var(--hhc-sa-navy);
  text-align:left;
}
.hhc-sa-page-v4 .hhc-sa-brands-preview-note>span{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--hhc-sa-green);
  color:var(--hhc-sa-navy);
  font-size:22px;
  font-weight:800;
}
.hhc-sa-page-v4 .hhc-sa-brands-preview-note strong{font-size:.95rem}
.hhc-sa-page-v4 .hhc-sa-brands-preview-note small{display:block;color:#61758a;line-height:1.4;max-width:620px}

/* The banner stays light in every design so supplied manufacturer artwork
   keeps its original colours and remains readable. No partial green borders: the
   green kicker inside the banner provides the Harry's accent without clipping
   around rounded corners. */
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-brands-rail{
  border-radius:4px;
  box-shadow:none;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-brands-rail{
  background:#fff;
  border-color:#dce7ef;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-brands-copy h3{color:var(--hhc-sa-navy)!important}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-brands-copy p{color:#62778c!important}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-brands-copy .hhc-sa-section-kicker{color:#63ad2f!important}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-brands-rail{border-radius:24px;background:linear-gradient(120deg,#fff 0%,#f8fbfd 72%,#f4faef 100%)}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-brands-rail{background:#fffdf8;border-color:#e7e2d4}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-brands-rail{border-color:#dce7ef}

/* v1.3.11: clean full perimeter on the brand banner. */
.hhc-sa-page-v4 .hhc-sa-brands-rail{
  border-width:1px!important;
  border-style:solid!important;
  border-color:#dce7ef!important;
  border-top-color:#dce7ef!important;
  border-right-color:#dce7ef!important;
  border-bottom-color:#dce7ef!important;
  border-left-color:#dce7ef!important;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-brands-rail{border-color:#e7e2d4!important}

@media (max-width:980px){
  .hhc-sa-page-v4 .hhc-sa-brand-logos{gap:16px}
  .hhc-sa-page-v4 .hhc-sa-brand-logo{height:62px}
  .hhc-sa-page-v4 .hhc-sa-brand-logo img,
  .hhc-sa-page-v4 .hhc-sa-brand-logo-image{max-height:46px!important}
}
@media (max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-brands-rail{margin-top:22px;padding:18px 14px 16px;border-radius:16px}
  .hhc-sa-page-v4 .hhc-sa-brands-copy p{font-size:.84rem}
  .hhc-sa-page-v4 .hhc-sa-brand-logos{
    margin-top:16px;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:12px 10px;
    width:100%;
    overflow:visible!important;
    padding:0;
    scroll-snap-type:none!important;
  }
  .hhc-sa-page-v4 .hhc-sa-brand-logo{
    width:100%;
    min-width:0;
    height:54px;
    padding:4px 5px;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    scroll-snap-align:none!important;
  }
  .hhc-sa-page-v4 .hhc-sa-brand-logo img,
  .hhc-sa-page-v4 .hhc-sa-brand-logo-image{
    width:auto!important;
    max-width:94%!important;
    max-height:34px!important;
    object-fit:contain!important;
  }
  .hhc-sa-page-v4 .hhc-sa-brands-preview-note{align-items:flex-start;flex-wrap:wrap}
  .hhc-sa-page-v4 .hhc-sa-brands-preview-note small{flex-basis:100%}
}


/* v1.3.12: mobile equipment logos use a fixed 3-column grid instead of horizontal scrolling. */


/* ==========================================================
   v1.3.13 — CONSISTENT SECTION RHYTHM + TRUST PROOF
   All managed city templates use the same top-level vertical rhythm, regardless
   of which of the six layout families reorders the blocks. This removes doubled
   dead-space between nested cards/sections while keeping each background band
   comfortably separated.
   ========================================================== */
.hhc-sa-page-v4{
  --hhc-sa-section-y:40px;
  --hhc-sa-section-y-tablet:34px;
  --hhc-sa-section-y-mobile:26px;
}
.hhc-sa-page-v4 > .hhc-sa-section{
  padding-top:var(--hhc-sa-section-y)!important;
  padding-bottom:var(--hhc-sa-section-y)!important;
}
.hhc-sa-page-v4 > .hhc-sa-section .hhc-sa-heading-split{margin-bottom:26px}
.hhc-sa-page-v4 .hhc-sa-brands-rail{margin-top:24px}
.hhc-sa-page-v4 .hhc-sa-v4-local-grid,
.hhc-sa-page-v4 .hhc-sa-v4-planning-grid,
.hhc-sa-page-v4 .hhc-sa-v4-help-grid{gap:20px}
.hhc-sa-page-v4 .hhc-sa-v4-final{padding:40px 0!important}

/* Compact trust/accreditation + review proof stays INSIDE the planning section;
   it is not another giant page band. */
.hhc-sa-proof-panel{
  display:grid;
  grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);
  gap:18px 24px;
  align-items:center;
  margin:0 0 22px;
  padding:22px 24px;
  border:1px solid var(--hhc-sa-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(1,44,90,.055);
}
.hhc-sa-proof-heading h2{margin:0 0 8px;font-size:clamp(1.55rem,2vw,2rem)}
.hhc-sa-proof-heading p{margin:0;max-width:520px;font-size:.88rem;line-height:1.5}
.hhc-sa-proof-heading .hhc-sa-section-kicker{margin-bottom:7px}
.hhc-sa-proof-logo-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
  min-width:0;
}
.hhc-sa-proof-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:66px;
  padding:8px 10px;
  border:1px solid #e1e9ef;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.hhc-sa-proof-logo.dark{background:var(--hhc-sa-navy);border-color:var(--hhc-sa-navy)}
.hhc-sa-proof-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:44px;object-fit:contain}
.hhc-sa-proof-logo.compact img{max-height:48px;max-width:78%}
.hhc-sa-proof-logo.google img{max-height:48px}
.hhc-sa-proof-reviews{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding-top:4px;
}
.hhc-sa-proof-review{
  margin:0!important;
  padding:16px 17px;
  border:1px solid #e1e9ef;
  border-radius:14px;
  background:#f8fbfd;
  box-shadow:none!important;
}
.hhc-sa-proof-review::before,.hhc-sa-proof-review::after{display:none!important;content:none!important}
.hhc-sa-proof-review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.hhc-sa-proof-review-top span{color:#f5ad17;letter-spacing:.08em;font-size:.86rem;white-space:nowrap}
.hhc-sa-proof-review-top strong{color:var(--hhc-sa-navy);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.hhc-sa-proof-review p{margin:0 0 9px!important;color:#35536e!important;font-size:.84rem!important;line-height:1.48!important}
.hhc-sa-proof-review footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#728395;font-size:.72rem}
.hhc-sa-proof-review footer strong{color:var(--hhc-sa-navy);font-size:.76rem}

/* The proof panel stays readable inside the dark Technical design. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-proof-panel{background:#fff;border-color:#dce7ef}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-proof-heading h2{color:var(--hhc-sa-navy)!important}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-proof-heading p{color:var(--hhc-sa-muted)!important}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-proof-heading .hhc-sa-section-kicker{color:var(--hhc-sa-green-dark)!important}

@media(max-width:1100px){
  .hhc-sa-proof-panel{grid-template-columns:1fr}
  .hhc-sa-proof-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .hhc-sa-page-v4 > .hhc-sa-section{
    padding-top:var(--hhc-sa-section-y-tablet)!important;
    padding-bottom:var(--hhc-sa-section-y-tablet)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-final{padding:34px 0!important}
  .hhc-sa-proof-panel{margin-bottom:18px;padding:19px 18px}
}
@media(max-width:620px){
  .hhc-sa-page-v4 > .hhc-sa-section{
    padding-top:var(--hhc-sa-section-y-mobile)!important;
    padding-bottom:var(--hhc-sa-section-y-mobile)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-final{padding:28px 0!important}
  .hhc-sa-page-v4 .hhc-sa-brands-rail{margin-top:18px}
  .hhc-sa-proof-panel{padding:17px 14px;border-radius:16px;gap:15px;margin-bottom:16px}
  .hhc-sa-proof-heading{text-align:center}
  .hhc-sa-proof-heading .hhc-sa-section-kicker{justify-content:center}
  .hhc-sa-proof-heading .hhc-sa-section-kicker::before{display:none}
  .hhc-sa-proof-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .hhc-sa-proof-logo{height:58px;padding:7px;border-radius:10px}
  .hhc-sa-proof-logo img{max-height:36px}
  .hhc-sa-proof-logo.compact img,.hhc-sa-proof-logo.google img{max-height:38px}
  .hhc-sa-proof-reviews{grid-template-columns:1fr;gap:9px}
  .hhc-sa-proof-review{padding:14px}
}

/* ==========================================================
   v1.3.14 — MODERN METRO MOBILE HERO QA
   Metro's desktop two-column hero was winning over the shared mobile stack
   because its theme selector is more specific. Force a true mobile hero:
   image first, copy second, full-width controls, no decorative overflow.
   ========================================================== */
@media (max-width:860px){
  .hhc-sa-page-v4.hhc-sa-layout-metro > .hhc-sa-hero{
    padding:30px 0 38px!important;
    overflow:hidden;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro > .hhc-sa-hero::before{
    display:none!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
    align-items:stretch!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-grid > .hhc-sa-hero-visual{
    order:1!important;
    width:100%!important;
    min-width:0!important;
    height:clamp(300px,58vw,390px)!important;
    margin:0!important;
    border-radius:18px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-grid > .hhc-sa-hero-copy{
    order:2!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-copy h1{
    max-width:none!important;
    font-size:clamp(2.55rem,8.4vw,3.65rem)!important;
    line-height:1.03!important;
    letter-spacing:-.035em;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-lead{
    max-width:none!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-overlay-card{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    width:auto!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-preview-layout-label{
    margin-bottom:16px!important;
  }
}

@media (max-width:620px){
  .hhc-sa-page-v4.hhc-sa-layout-metro > .hhc-sa-hero{
    padding:22px 0 32px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-grid{
    gap:20px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-grid > .hhc-sa-hero-visual{
    height:280px!important;
    border-radius:16px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-copy h1{
    font-size:clamp(2.35rem,10.8vw,3rem)!important;
    line-height:1.04!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-lead{
    font-size:1rem!important;
    line-height:1.55!important;
    margin-bottom:20px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:10px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-actions .hhc-sa-btn{
    width:100%!important;
    justify-content:center!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-trust-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:18px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-preview-layout-label{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    padding:7px 11px!important;
    font-size:.68rem!important;
    line-height:1.25!important;
  }
}

/* ========================================================================== 
   v1.3.15 — CoolAir theme title/banner suppression for managed templates
   The Service Areas template already contains its own H1 + slim breadcrumbs.
   Hide only the redundant theme-level title/breadcrumb hero while the managed
   template or private admin preview is actually active. Safe migration pages
   with managed templates OFF are unaffected.
   ========================================================================== */
body.hhc-sa-template-active #rs-breadcrumbs,
body.hhc-sa-template-active .rs-breadcrumbs,
body.hhc-sa-template-active .rts-breadcrumb-area,
body.hhc-sa-template-active .rts-breadcrumbs,
body.hhc-sa-template-active .reactheme-breadcrumbs,
body.hhc-sa-template-active .reactheme-page-title,
body.hhc-sa-template-active .page-title-area,
body.hhc-sa-template-active .page-title-wrapper,
body.hhc-sa-template-active .page-title-wrap,
body.hhc-sa-template-active .page-title-banner,
body.hhc-sa-template-active .inner-page-banner,
body.hhc-sa-template-active .inner-banner,
body.hhc-sa-template-active .breadcrumb-area:not(.hhc-sa-breadcrumbs),
body.hhc-sa-template-active .breadcrumb-wrap:not(.hhc-sa-breadcrumbs),
body.hhc-sa-template-active .banner-breadcrumb,
body.hhc-sa-template-active [data-hhc-sa-theme-title-hidden="1"]{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* ========================================================================== 
   v1.4.2 — MEMBERSHIP AFTERCARE / INTERNAL-LINK MODULE
   Compact by design: lives inside Core HVAC Services so it adds conversion
   value without creating another oversized full-width page band. Each design
   family gets a materially different composition and sales angle.
   ========================================================================== */
.hhc-sa-page-v4 .hhc-sa-membership{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:0;
  margin-top:24px;
  overflow:hidden;
  border:1px solid #dbe6ee;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 42px rgba(1,44,90,.08);
}
.hhc-sa-page-v4 .hhc-sa-membership-main{padding:28px 30px}
.hhc-sa-page-v4 .hhc-sa-membership-eyebrow{
  display:inline-flex;align-items:center;gap:9px;margin:0 0 10px;
  color:#55a928;font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase
}
.hhc-sa-page-v4 .hhc-sa-membership-eyebrow::before{content:"";width:28px;height:3px;border-radius:99px;background:#8bd346}
.hhc-sa-page-v4 .hhc-sa-membership h3{max-width:780px;margin:0 0 10px;color:#012c5a;font-size:clamp(1.55rem,2.3vw,2.2rem);line-height:1.08;letter-spacing:-.025em}
.hhc-sa-page-v4 .hhc-sa-membership-main>p{max-width:760px;margin:0 0 18px;color:#526d83;font-size:.96rem;line-height:1.58}
.hhc-sa-page-v4 .hhc-sa-membership-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 17px;border-radius:10px;
  background:#8bd346;color:#012c5a!important;text-decoration:none!important;font-size:.88rem;font-weight:900;
  box-shadow:0 9px 22px rgba(139,211,70,.20);transition:transform .18s ease,box-shadow .18s ease
}
.hhc-sa-page-v4 .hhc-sa-membership-cta:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(139,211,70,.28)}
.hhc-sa-page-v4 .hhc-sa-membership-side{display:flex;flex-direction:column;justify-content:center;gap:13px;padding:24px 26px;background:#012c5a;color:#fff}
.hhc-sa-page-v4 .hhc-sa-membership-mark{display:flex;align-items:center;gap:5px;width:max-content;color:#fff}
.hhc-sa-page-v4 .hhc-sa-membership-mark span{font-size:1.2rem;font-weight:1000;letter-spacing:-.05em}
.hhc-sa-page-v4 .hhc-sa-membership-mark b{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#8bd346;color:#012c5a;font-size:1rem}
.hhc-sa-page-v4 .hhc-sa-membership-benefits{display:grid;gap:8px}
.hhc-sa-page-v4 .hhc-sa-membership-benefits span{display:flex;align-items:center;gap:8px;color:#fff;font-size:.83rem;font-weight:800;line-height:1.3}
.hhc-sa-page-v4 .hhc-sa-membership-benefits i{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:rgba(139,211,70,.16);color:#bdf08e;font-style:normal;font-weight:1000}
.hhc-sa-page-v4 .hhc-sa-membership-side small{color:#bdd0e0;font-size:.72rem;line-height:1.45}

/* Premium Split — polished light-to-navy aftercare card. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-membership{background:linear-gradient(110deg,#fff 0%,#f5faef 68%,#edf8e6 100%)}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-membership-side{background:linear-gradient(145deg,#012c5a,#06467d)}

/* Full-Bleed Editorial — one confident dark editorial banner. */
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-membership{grid-template-columns:minmax(0,1fr) 340px;border:0;border-radius:4px;background:#061f3d;box-shadow:none}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-membership-main{padding:34px 38px}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-membership h3{max-width:850px;color:#fff;font-size:clamp(1.8rem,3vw,2.75rem)}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-membership-main>p{color:#d4e1ec}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-membership-side{background:#0d3863;border-left:1px solid rgba(255,255,255,.1)}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-membership-cta{border-radius:2px}

/* Technical HVAC — protocol panel with numbered, system-like benefit cells. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership{grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);border-color:#244765;border-radius:8px;background:#071f3a;box-shadow:none}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-main{padding:28px 32px}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership h3{color:#fff}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-main>p{color:#c7d7e5}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-side{background:#0d3458;border-left:1px solid #244765}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-benefits{grid-template-columns:repeat(3,1fr);gap:7px}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-benefits span{justify-content:center;padding:10px 7px;border:1px solid rgba(255,255,255,.11);border-radius:5px;background:rgba(255,255,255,.04);text-align:center;font-size:.74rem}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-benefits i{display:none}

/* Modern Metro — crisp white urban card with oversized AFTERCARE side label. */
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership{grid-template-columns:minmax(0,1fr) 300px;border-radius:14px;border:0;background:#fff;box-shadow:0 14px 38px rgba(1,44,90,.10)}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership::before{content:"AFTERCARE";position:absolute;right:18px;top:9px;color:#edf2f7;font-size:3.4rem;font-weight:1000;letter-spacing:-.06em;line-height:1;pointer-events:none}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-main{position:relative;z-index:1;border-left:6px solid #8bd346}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-side{position:relative;z-index:1;background:#f1f5f8;color:#012c5a}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-benefits span{color:#012c5a}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-benefits i{background:#eaf7df;color:#55a928}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-side small{color:#617a90}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-mark span{color:#012c5a}

/* Local Home Story — softer home-care treatment, warm and residential. */
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-membership{grid-template-columns:minmax(0,1.28fr) minmax(310px,.72fr);border-color:#dfe7d2;border-radius:26px;background:#fbfcf7;box-shadow:0 16px 42px rgba(62,94,53,.08)}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-membership-main{padding:30px 34px}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-membership-side{background:#eef6e7;color:#173852}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-membership-benefits span{color:#173852}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-membership-side small{color:#607566}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-membership-mark span{color:#173852}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-membership-benefits i{background:#fff;color:#55a928}

/* Community Focus — benefit-led panel that reads like continuing local support. */
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership{grid-template-columns:minmax(0,1fr) minmax(400px,.78fr);border-radius:18px;background:#fff}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership-side{background:#f6f9fb;color:#012c5a;border-left:1px solid #dbe6ee}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership-benefits{grid-template-columns:repeat(3,1fr);gap:8px}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership-benefits span{display:grid;justify-items:center;align-content:center;min-height:76px;padding:9px;border:1px solid #dce7ef;border-radius:12px;background:#fff;color:#012c5a;text-align:center;font-size:.76rem}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership-benefits i{background:#eef8e6;color:#55a928}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership-side small{color:#657d92}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership-mark span{color:#012c5a}

/* Compact secondary backlink in the closing CTA. */

@media(max-width:1000px){
  .hhc-sa-page-v4 .hhc-sa-membership,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-membership,
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership,
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-membership,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership{grid-template-columns:1fr}
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-side,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership-side{border-left:0;border-top:1px solid rgba(1,44,90,.10)}
}
@media(max-width:620px){
  .hhc-sa-page-v4 .hhc-sa-membership{margin-top:18px;border-radius:16px}
  .hhc-sa-page-v4 .hhc-sa-membership-main,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-membership-main,
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-main,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-membership-main{padding:22px 20px}
  .hhc-sa-page-v4 .hhc-sa-membership h3{font-size:1.55rem;line-height:1.1}
  .hhc-sa-page-v4 .hhc-sa-membership-main>p{font-size:.91rem;line-height:1.52}
  .hhc-sa-page-v4 .hhc-sa-membership-cta{width:100%;min-height:48px}
  .hhc-sa-page-v4 .hhc-sa-membership-side{padding:18px 20px}
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-benefits,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership-benefits{grid-template-columns:1fr}
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-benefits span,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership-benefits span{min-height:0;justify-content:flex-start;justify-items:start;text-align:left}
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership::before{font-size:2.2rem;right:12px;top:10px}
}

/* ========================================================================== 
   v1.4.3 — MEMBERSHIP AFTERCARE POLISH
   Removes the decorative H+ / oversized watermark treatment and makes the
   right-hand benefit panel read like an intentional continuation of the CTA.
   ========================================================================== */
.hhc-sa-page-v4 .hhc-sa-membership-side-title{
  margin:0;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.hhc-sa-page-v4 .hhc-sa-membership-side{
  min-width:0;
}
.hhc-sa-page-v4 .hhc-sa-membership-benefits span{
  min-width:0;
}

/* Modern Metro: simple, balanced and intentionally urban — no novelty label. */
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership{
  grid-template-columns:minmax(0,1.55fr) minmax(310px,.55fr);
  border:1px solid #dbe6ee;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 36px rgba(1,44,90,.09);
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership::before{
  content:none!important;
  display:none!important;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-main{
  border-left:0;
  padding:28px 30px;
  box-shadow:inset 5px 0 0 #8bd346;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership h3{
  max-width:900px;
  font-size:clamp(1.6rem,2.05vw,2.05rem);
  line-height:1.08;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-main>p{
  max-width:850px;
  margin-bottom:16px;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-side{
  align-self:stretch;
  justify-content:center;
  gap:12px;
  padding:26px 28px;
  border-left:1px solid #dbe6ee;
  background:linear-gradient(180deg,#f6f9fb 0%,#eef4f8 100%);
  color:#012c5a;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-side-title{
  color:#55a928;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-benefits{
  gap:8px;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-benefits span{
  min-height:38px;
  padding:8px 10px;
  border:1px solid #dfe8ef;
  border-radius:10px;
  background:#fff;
  color:#012c5a;
  font-size:.82rem;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-benefits i{
  flex:0 0 21px;
  width:21px;
  height:21px;
  background:#eaf7df;
  color:#55a928;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-side small{
  margin-top:1px;
  color:#617a90;
  font-size:.72rem;
}

/* Light-side variants need dark descriptive headings. */
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-membership-side-title,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-membership-side-title{
  color:#55a928;
}

/* Technical benefits stay protocol-like but get a real heading above them. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-side-title{
  color:#bdf08e;
}

@media(max-width:1000px){
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership{
    grid-template-columns:1fr;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-side{
    border-left:0;
    border-top:1px solid #dbe6ee;
  }
}
@media(max-width:620px){
  .hhc-sa-page-v4 .hhc-sa-membership-side-title{
    font-size:.68rem;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-main{
    padding:22px 20px;
    box-shadow:inset 4px 0 0 #8bd346;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-side{
    padding:18px 20px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-membership-benefits{
    grid-template-columns:1fr;
  }
}

/* v1.4.4 — core service cards intentionally use decorative gradients instead of editable images. */
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#d9e4d6 0%,#c8d8c8 44%,#b8cbbf 100%);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient::before,
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient::after{
  content:"";
  position:absolute;
  inset:auto;
  pointer-events:none;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient::before{
  width:220px;
  height:220px;
  right:-70px;
  top:-95px;
  border-radius:50%;
  background:radial-gradient(circle at center,rgba(255,255,255,.42) 0%,rgba(255,255,255,.1) 48%,rgba(255,255,255,0) 72%);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient::after{
  left:-45px;
  bottom:-110px;
  width:240px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle at center,rgba(255,255,255,.28) 0%,rgba(255,255,255,.08) 55%,rgba(255,255,255,0) 76%);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient > img,
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-image-placeholder,
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-inline-image-action,
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-inline-image-actions,
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-inline-image-hint,
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-photo-badge{
  display:none !important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-number{
  position:absolute;
  left:14px;
  top:14px;
  z-index:4;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--heating,
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--furnace,
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--furnace-heating{
  background:linear-gradient(135deg,#d7e0d6 0%,#c7d7cc 42%,#b6c8bc 100%);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--cooling,
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--air-conditioning{
  background:linear-gradient(135deg,#d6e0db 0%,#c5d2cf 44%,#b4c2c4 100%);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--heat-pumps,
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--heat-pump{
  background:linear-gradient(135deg,#dce4d4 0%,#cedac2 44%,#bdceb0 100%);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--maintenance,
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--hvac-maintenance{
  background:linear-gradient(135deg,#d8e1d5 0%,#cad6c6 42%,#bccbb7 100%);
}
@media (max-width: 782px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient::before{
    width:180px;
    height:180px;
    right:-60px;
    top:-70px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient::after{
    width:190px;
    height:145px;
    left:-36px;
    bottom:-88px;
  }
}


/* ==========================================================================
   v1.4.5 — FINAL CTA MEMBERSHIP LINK PLACEMENT
   Membership is already sold in its dedicated aftercare module. At the final
   conversion CTA it becomes a quiet secondary prompt under the copy, leaving
   Request Service + phone as the only primary action cluster.
   ========================================================================== */
.hhc-sa-page-v4 .hhc-sa-final-copy{
  min-width:0;
}
.hhc-sa-page-v4 .hhc-sa-final-membership-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:13px;
  color:#fff!important;
  text-decoration:none!important;
  font-size:.82rem;
  font-weight:800;
  line-height:1.35;
  opacity:.9;
  transition:opacity .18s ease, transform .18s ease;
}
.hhc-sa-page-v4 .hhc-sa-final-membership-link .hhc-sa-final-membership-label{
  color:#c8f29f!important;
  font-weight:900;
}
.hhc-sa-page-v4 .hhc-sa-final-membership-link b{
  color:#8bd346!important;
  font-size:1rem;
  line-height:1;
}
.hhc-sa-page-v4 .hhc-sa-final-membership-link:hover{
  color:#fff!important;
  opacity:1;
  transform:translateX(2px);
}
.hhc-sa-page-v4 .hhc-sa-final-actions{
  align-self:center;
}
@media(max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-final-membership-link{
    margin-top:11px;
    font-size:.78rem;
  }
  .hhc-sa-page-v4 .hhc-sa-final-actions{
    margin-top:4px;
  }
}


/* v1.4.6 — move the service title package into the gradient header. */
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  height:205px;
  min-height:205px;
  flex:0 0 205px;
  padding:58px 22px 22px;
  isolation:isolate;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-number{
  position:absolute;
  top:16px;
  left:16px;
  z-index:4;
  display:inline-flex;
  width:auto;
  max-width:calc(100% - 32px);
  padding:8px 12px;
  border-radius:999px;
  background:#0b4778;
  color:#fff!important;
  font-size:.69rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 7px 18px rgba(1,44,90,.12);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient-copy{
  position:relative;
  z-index:3;
  min-width:0;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient-kicker{
  display:block;
  margin:0 0 8px;
  color:#4aa91d!important;
  font-size:.65rem;
  font-weight:900;
  line-height:1.35;
  letter-spacing:.095em;
  text-transform:uppercase;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient-copy h3{
  margin:0!important;
  color:#012c5a!important;
  font-size:clamp(1.2rem,1.5vw,1.48rem)!important;
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.025em;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy{
  padding:20px 22px 22px!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy > .hhc-sa-section-kicker,
.hhc-sa-page-v4 .hhc-sa-v4-service-copy > h3{
  display:none!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-copy p{
  margin-top:0!important;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
  height:auto;
  min-height:250px;
  padding:62px 28px 28px;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
  min-height:250px;
  height:100%;
  padding:62px 26px 26px;
}
@media(max-width:1080px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
    height:190px;
    min-height:190px;
    flex-basis:190px;
  }
}
@media(max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
    height:auto;
    min-height:180px;
    flex-basis:auto;
    padding:58px 20px 20px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-gradient-copy h3{
    font-size:1.28rem!important;
  }
}

/* v1.4.6 — two primary buttons, then one full-width membership button below. */
.hhc-sa-page-v4 .hhc-sa-final-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:min(100%,500px);
  min-width:min(500px,42vw);
  flex-shrink:0;
  align-self:center;
}
.hhc-sa-page-v4 .hhc-sa-final-actions > .hhc-sa-btn{
  width:100%;
  min-width:0;
  justify-content:center;
  text-align:center;
}
.hhc-sa-page-v4 .hhc-sa-final-membership-link{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  min-height:50px;
  margin:0;
  padding:11px 18px;
  border:1px solid rgba(139,211,70,.55);
  border-radius:12px;
  background:rgba(255,255,255,.08);
  color:#fff!important;
  text-decoration:none!important;
  text-align:center;
  font-size:.8rem;
  font-weight:800;
  line-height:1.25;
  opacity:1;
  transition:.18s ease;
}
.hhc-sa-page-v4 .hhc-sa-final-membership-link span{
  color:#c8f29f!important;
  font-weight:900;
}
.hhc-sa-page-v4 .hhc-sa-final-membership-link b{
  color:#8bd346!important;
  font-size:1rem;
  line-height:1;
}
.hhc-sa-page-v4 .hhc-sa-final-membership-link:hover{
  background:rgba(139,211,70,.14);
  border-color:rgba(139,211,70,.8);
  transform:translateY(-1px);
}
@media(max-width:860px){
  .hhc-sa-page-v4 .hhc-sa-final-actions{
    width:100%;
    min-width:0;
  }
}
@media(max-width:540px){
  .hhc-sa-page-v4 .hhc-sa-final-actions{
    grid-template-columns:1fr;
  }
  .hhc-sa-page-v4 .hhc-sa-final-membership-link{
    grid-column:1;
    min-height:48px;
    padding:10px 14px;
    font-size:.76rem;
  }
}


/* ==========================================================================
   v1.4.7 — CENTERED CORE SERVICE CARD HEADERS
   Keep the number badge top-left, but center the kicker/title package in the
   gradient header with enough vertical breathing room to prevent overlap.
   ========================================================================== */
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
  justify-content:center!important;
  align-items:center!important;
  min-height:220px!important;
  height:220px!important;
  flex-basis:220px!important;
  padding:58px 24px 24px!important;
  text-align:center;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:330px;
  margin:20px auto 0;
  text-align:center;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient-kicker{
  display:block;
  max-width:100%;
  margin:0 0 10px!important;
  color:#4aa91d!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1.35!important;
  letter-spacing:.09em!important;
  text-align:center!important;
  text-transform:uppercase;
  white-space:normal;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient-copy h3{
  width:100%;
  max-width:320px;
  margin:0 auto!important;
  color:#012c5a!important;
  font-size:clamp(1.34rem,1.72vw,1.7rem)!important;
  font-weight:800!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  text-align:center!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-number{
  top:16px!important;
  left:16px!important;
  right:auto!important;
  transform:none!important;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
  min-height:230px!important;
  height:230px!important;
  padding:62px 26px 24px!important;
}
@media(max-width:1080px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
    min-height:205px!important;
    height:205px!important;
    flex-basis:205px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-gradient-copy{
    margin-top:18px;
  }
}
@media(max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature:first-child .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
    min-height:200px!important;
    height:200px!important;
    flex-basis:200px!important;
    padding:58px 20px 20px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-gradient-copy{
    max-width:290px;
    margin-top:16px;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-gradient-kicker{
    font-size:.68rem!important;
    margin-bottom:9px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-gradient-copy h3{
    max-width:290px;
    font-size:1.38rem!important;
  }
}


/* ==========================================================================
   v1.4.8 — ROOT-CAUSE SERVICE HEADER FIX
   Older v1.4.4 styling positioned every <span> inside the gradient absolutely.
   That included the service kicker and caused it to sit directly on top of the
   title. Only the numbered badge is allowed to be positioned now.
   ========================================================================== */
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-copy{
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  width:100%!important;
  max-width:340px!important;
  margin:18px auto 0!important;
  text-align:center!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-kicker{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  box-shadow:none!important;
  border-radius:0!important;
  color:#4aa91d!important;
  font-size:.74rem!important;
  font-weight:900!important;
  line-height:1.35!important;
  letter-spacing:.085em!important;
  white-space:normal!important;
  text-align:center!important;
  text-transform:uppercase!important;
  transform:none!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-copy h3{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  max-width:330px!important;
  margin:0!important;
  padding:0!important;
  color:#012c5a!important;
  font-size:clamp(1.42rem,1.78vw,1.78rem)!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
  text-align:center!important;
  transform:none!important;
}
@media(max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-copy{
    max-width:300px!important;
    gap:9px!important;
    margin-top:17px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-kicker{
    font-size:.68rem!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-copy h3{
    max-width:300px!important;
    font-size:1.42rem!important;
  }
}


/* ==========================================================================\n   v1.4.9 — REFINED CORE SERVICE HEADER TYPOGRAPHY\n   Keep the hierarchy clean: compact green kicker, smaller semi-bold navy title.\n   ========================================================================== */
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-copy{
  gap:8px!important;
  max-width:320px!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-kicker{
  font-size:.60rem!important;
  font-weight:800!important;
  line-height:1.32!important;
  letter-spacing:.075em!important;
  max-width:300px!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-copy h3{
  max-width:305px!important;
  font-size:clamp(1.12rem,1.28vw,1.34rem)!important;
  font-weight:650!important;
  line-height:1.12!important;
  letter-spacing:-.018em!important;
}
@media(max-width:1080px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-copy h3{
    font-size:1.18rem!important;
  }
}
@media(max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-copy{
    gap:7px!important;
    max-width:285px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-kicker{
    font-size:.57rem!important;
    max-width:270px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-copy h3{
    max-width:285px!important;
    font-size:1.16rem!important;
    font-weight:650!important;
  }
}


/* ==========================================================================
   v1.4.10 — DARK CORE HVAC CARD PALETTE
   Replace the pale green service-card headers with darker Harry's-aligned
   blue/slate tones. Each service gets its own subtle shade without looking
   like four unrelated brands.
   ========================================================================== */
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
  background:linear-gradient(135deg,#123d62 0%,#275a78 52%,#365f73 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--furnace-heating,
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--heating,
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--furnace{
  background:linear-gradient(135deg,#0d355a 0%,#1d4d70 52%,#345f78 100%)!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--air-conditioning,
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--cooling{
  background:linear-gradient(135deg,#12385d 0%,#245b7a 50%,#3b7186 100%)!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--heat-pumps,
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--heat-pump{
  background:linear-gradient(135deg,#17384f 0%,#2a536a 52%,#466f7d 100%)!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--hvac-maintenance,
.hhc-sa-page-v4 .hhc-sa-v4-service-gradient--maintenance{
  background:linear-gradient(135deg,#223447 0%,#3c5266 52%,#5a6f7c 100%)!important;
}

/* Keep the decorative glow restrained on the darker surfaces. */
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient::before{
  background:radial-gradient(circle at center,rgba(255,255,255,.13) 0%,rgba(255,255,255,.035) 48%,rgba(255,255,255,0) 72%)!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient::after{
  background:radial-gradient(circle at center,rgba(255,255,255,.08) 0%,rgba(255,255,255,.025) 55%,rgba(255,255,255,0) 76%)!important;
}

/* Text hierarchy on the dark card headers. */
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-copy h3{
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.08);
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-gradient-kicker{
  color:#a9e96f!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient .hhc-sa-v4-service-number{
  background:rgba(1,44,90,.84)!important;
  border:1px solid rgba(255,255,255,.11);
  color:#fff!important;
  box-shadow:0 8px 20px rgba(0,0,0,.13);
}


/* ==========================================================================
   v1.5.0 — CONVERSION HERO SYSTEM
   Six distinct hero treatments, one secure quick-quote form engine.
   Existing hero image IDs are preserved and reused as visual atmosphere.
   ========================================================================== */
.hhc-sa-page-v4 .hhc-sa-conversion-hero{
  --hhc-sa-hero-photo:none;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:68px 0 72px!important;
  min-height:0!important;
}
.hhc-sa-page-v4 .hhc-sa-conversion-hero::before{
  content:"";
  position:absolute!important;
  inset:0!important;
  z-index:-3!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  transform:none!important;
  pointer-events:none;
}
.hhc-sa-page-v4 .hhc-sa-hero-image-accent{
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:var(--hhc-sa-hero-photo);
  background-size:cover;
  background-position:center;
  opacity:0;
  pointer-events:none;
}
.hhc-sa-page-v4 .hhc-sa-conversion-hero .hhc-sa-hero-grid{
  position:relative;
  z-index:2;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.82fr)!important;
  gap:clamp(42px,5vw,76px)!important;
  align-items:center!important;
  min-height:0!important;
  padding:0!important;
}
.hhc-sa-page-v4 .hhc-sa-conversion-hero .hhc-sa-hero-copy{
  position:relative!important;
  z-index:3!important;
  width:auto!important;
  max-width:720px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  background:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.hhc-sa-page-v4 .hhc-sa-conversion-hero .hhc-sa-hero-copy h1{
  max-width:720px!important;
  margin:14px 0 18px!important;
  font-size:clamp(2.75rem,4.7vw,5rem)!important;
  line-height:.99!important;
  letter-spacing:-.04em!important;
}
.hhc-sa-page-v4 .hhc-sa-conversion-hero .hhc-sa-lead{
  max-width:650px;
  margin:0 0 22px!important;
  font-size:clamp(1rem,1.35vw,1.18rem)!important;
  line-height:1.58!important;
}
.hhc-sa-page-v4 .hhc-sa-hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:20px;
  font-size:.78rem;
  font-weight:850;
}
.hhc-sa-page-v4 .hhc-sa-hero-proof span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.hhc-sa-page-v4 .hhc-sa-hero-proof i{
  color:#69bc2f;
  font-style:normal;
  font-weight:900;
}
.hhc-sa-page-v4 .hhc-sa-hero-phone{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:18px;
  color:#012c5a!important;
  text-decoration:none!important;
  font-size:.85rem;
  font-weight:900;
}
.hhc-sa-page-v4 .hhc-sa-hero-phone span{
  opacity:.66;
  font-weight:700;
}
.hhc-sa-page-v4 .hhc-sa-quick-quote{
  position:relative;
  z-index:4;
  width:100%;
  max-width:500px;
  justify-self:end;
  padding:27px;
  border:1px solid rgba(1,44,90,.1);
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 64px rgba(1,44,90,.16);
}
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading{
  position:relative;
  margin-bottom:18px;
}
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading>span{
  display:block;
  margin-bottom:5px;
  color:#58aa28;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading h2{
  margin:0 0 7px!important;
  color:#012c5a!important;
  font-size:clamp(1.55rem,2vw,2rem)!important;
  line-height:1.07!important;
  letter-spacing:-.025em!important;
}
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading p{
  margin:0;
  color:#68798b!important;
  font-size:.84rem;
  line-height:1.45;
}
.hhc-sa-page-v4 .hhc-sa-quote-location{
  display:inline-flex;
  margin-top:11px;
  padding:6px 10px;
  border-radius:999px;
  background:#edf7e7;
  color:#20570a;
  font-size:.68rem;
  font-weight:850;
}
.hhc-sa-page-v4 .hhc-sa-quote-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}
.hhc-sa-page-v4 .hhc-sa-quote-fields label{
  display:block;
  min-width:0;
}
.hhc-sa-page-v4 .hhc-sa-quote-fields label>span{
  display:block;
  margin:0 0 5px;
  color:#143a60;
  font-size:.7rem;
  font-weight:850;
}
.hhc-sa-page-v4 .hhc-sa-quote-fields label>span small{
  opacity:.6;
  font-size:.64rem;
  font-weight:700;
}
.hhc-sa-page-v4 .hhc-sa-quote-fields input,
.hhc-sa-page-v4 .hhc-sa-quote-fields select,
.hhc-sa-page-v4 .hhc-sa-quote-fields textarea{
  width:100%;
  min-height:46px;
  margin:0;
  padding:10px 12px;
  border:1px solid #d6e1e9;
  border-radius:10px;
  background:#f8fbfd;
  color:#012c5a;
  font:inherit;
  font-size:.82rem;
  outline:none;
  box-shadow:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.hhc-sa-page-v4 .hhc-sa-quote-fields textarea{
  min-height:68px;
  resize:vertical;
}
.hhc-sa-page-v4 .hhc-sa-quote-fields input:focus,
.hhc-sa-page-v4 .hhc-sa-quote-fields select:focus,
.hhc-sa-page-v4 .hhc-sa-quote-fields textarea:focus{
  border-color:#8bd346;
  background:#fff;
  box-shadow:0 0 0 3px rgba(139,211,70,.14);
}
.hhc-sa-page-v4 .hhc-sa-quote-message{
  grid-column:1/-1;
}
.hhc-sa-page-v4 .hhc-sa-quote-submit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  min-height:50px;
  margin-top:13px;
  padding:12px 18px;
  border:0;
  border-radius:11px;
  background:#8bd346;
  color:#012c5a;
  font-size:.88rem;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(139,211,70,.22);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.hhc-sa-page-v4 .hhc-sa-quote-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(139,211,70,.3);
  filter:brightness(1.02);
}
.hhc-sa-page-v4 .hhc-sa-quote-submit:disabled{
  cursor:wait;
  opacity:.7;
}
.hhc-sa-page-v4 .hhc-sa-quote-reassurance{
  margin:9px 0 0!important;
  color:#748493!important;
  text-align:center;
  font-size:.67rem!important;
  line-height:1.35!important;
}
.hhc-sa-page-v4 .hhc-sa-quote-status{
  display:none;
  margin-top:10px;
  padding:10px 12px;
  border-radius:9px;
  font-size:.77rem;
  font-weight:800;
  line-height:1.4;
}
.hhc-sa-page-v4 .hhc-sa-quote-status.is-error,
.hhc-sa-page-v4 .hhc-sa-quote-status.is-success{
  display:block;
}
.hhc-sa-page-v4 .hhc-sa-quote-status.is-error{
  background:#fff0ef;
  color:#9c241e;
}
.hhc-sa-page-v4 .hhc-sa-quote-status.is-success{
  padding:18px;
  background:#eff9e8;
  color:#245b0c;
  font-size:.9rem;
  text-align:center;
}
.hhc-sa-page-v4 .hhc-sa-quote-honeypot{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

/* Premium Split — light flagship hero with restrained photo atmosphere. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-conversion-hero{
  background:radial-gradient(circle at 88% 10%,rgba(139,211,70,.21),transparent 26%),linear-gradient(125deg,#f8fbff 0%,#edf5fb 50%,#eff8e9 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-hero-image-accent{
  left:auto;
  width:48%;
  opacity:.16;
  background-position:center;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 36%);
  mask-image:linear-gradient(90deg,transparent,#000 36%);
}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote{
  border-top:4px solid #8bd346;
}

/* Full-Bleed Editorial — immersive photo + white floating form. */
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-conversion-hero{
  background:linear-gradient(115deg,#001a37,#063a67)!important;
  color:#fff;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-conversion-hero::before{
  background:linear-gradient(90deg,rgba(0,22,47,.95) 0%,rgba(1,44,90,.82) 48%,rgba(1,44,90,.5) 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-image-accent{
  opacity:.42;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-copy h1,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-lead,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-proof,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-phone{
  color:#fff!important;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-phone span{
  color:#cbd8e4;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote{
  border-radius:14px;
  box-shadow:0 30px 70px rgba(0,0,0,.25);
}

/* Technical HVAC — dark system-console feel. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-conversion-hero{
  background:linear-gradient(120deg,#001b38 0%,#02325d 58%,#06477c 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-conversion-hero::before{
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px)!important;
  background-size:44px 44px!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero-image-accent{
  left:55%;
  opacity:.12;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 50%);
  mask-image:linear-gradient(90deg,transparent,#000 50%);
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero-copy h1,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-lead,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero-proof,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero-phone{
  color:#fff!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote{
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:#082f54;
  box-shadow:0 26px 64px rgba(0,0,0,.28);
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-fields label>span{
  color:#fff!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading p{
  opacity:.75;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-location{
  background:rgba(139,211,70,.14);
  color:#c7f29f;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-fields input,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-fields select,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-fields textarea{
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.95);
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-reassurance{
  color:#b9ccdc!important;
}

/* Modern Metro — deep contemporary hero + glass/slate quote panel. */
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-conversion-hero{
  background:radial-gradient(circle at 82% 14%,rgba(139,211,70,.18),transparent 24%),linear-gradient(120deg,#072f53 0%,#023767 58%,#064a76 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-image-accent{
  left:48%;
  opacity:.16;
  filter:saturate(.8) contrast(.95);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);
  mask-image:linear-gradient(90deg,transparent,#000 45%);
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-copy h1,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-lead,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-proof,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-phone{
  color:#fff!important;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote{
  border:1px solid rgba(255,255,255,.16);
  border-radius:22px;
  background:rgba(12,57,94,.88);
  backdrop-filter:blur(14px);
  box-shadow:0 28px 70px rgba(0,0,0,.22);
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-fields label>span{
  color:#fff!important;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading p{
  opacity:.76;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-location{
  background:rgba(139,211,70,.16);
  color:#d4f5b6;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-reassurance{
  color:#c5d3df!important;
}

/* Local Home Story — warm residential background, soft premium form. */
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-conversion-hero{
  background:linear-gradient(120deg,#f5f7ef 0%,#eef5e8 58%,#e5efe0 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-conversion-hero::before{
  background:linear-gradient(90deg,rgba(249,251,245,.98) 0%,rgba(249,251,245,.82) 54%,rgba(249,251,245,.5) 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero-image-accent{
  opacity:.27;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote{
  border:1px solid rgba(84,116,64,.13);
  border-radius:28px 28px 14px 28px;
  background:rgba(255,255,255,.94);
  box-shadow:0 26px 62px rgba(44,71,40,.15);
}

/* Community Focus — neighbourhood-forward, navy request card. */
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-conversion-hero{
  background:linear-gradient(180deg,#fff 0%,#f4f8fb 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero-image-accent{
  right:auto;
  width:45%;
  opacity:.12;
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 90%);
  mask-image:linear-gradient(90deg,#000,transparent 90%);
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote{
  border:0;
  border-radius:18px;
  background:#073a66;
  box-shadow:0 26px 60px rgba(1,44,90,.22);
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-fields label>span{
  color:#fff!important;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading p{
  opacity:.77;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-location{
  background:rgba(139,211,70,.15);
  color:#d4f4b6;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-reassurance{
  color:#c8d5df!important;
}

/* Responsive conversion flow. */
@media(max-width:980px){
  .hhc-sa-page-v4 .hhc-sa-conversion-hero{
    padding:54px 0 58px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-conversion-hero .hhc-sa-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(350px,.9fr)!important;
    gap:30px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-conversion-hero .hhc-sa-hero-copy h1{
    font-size:clamp(2.5rem,5.6vw,3.8rem)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-quick-quote{
    padding:23px;
  }
}
@media(max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-conversion-hero{
    padding:38px 0 44px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-conversion-hero .hhc-sa-hero-grid{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-conversion-hero .hhc-sa-hero-copy{
    order:1!important;
  }
  .hhc-sa-page-v4 .hhc-sa-quick-quote{
    order:2!important;
    max-width:none;
    justify-self:stretch;
    padding:21px;
    border-radius:18px;
  }
  .hhc-sa-page-v4 .hhc-sa-conversion-hero .hhc-sa-hero-copy h1{
    margin-top:11px!important;
    font-size:clamp(2.35rem,10vw,3.15rem)!important;
    line-height:1.02!important;
  }
  .hhc-sa-page-v4 .hhc-sa-conversion-hero .hhc-sa-lead{
    font-size:.98rem!important;
    margin-bottom:18px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-hero-proof{
    gap:8px 14px;
    margin-top:16px;
    font-size:.72rem;
  }
  .hhc-sa-page-v4 .hhc-sa-hero-image-accent{
    opacity:.08!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-image-accent,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero-image-accent{
    opacity:.13!important;
  }
}
@media(max-width:540px){
  .hhc-sa-page-v4 .hhc-sa-quote-fields{
    grid-template-columns:1fr;
    gap:9px;
  }
  .hhc-sa-page-v4 .hhc-sa-quote-message{
    grid-column:1;
  }
  .hhc-sa-page-v4 .hhc-sa-quick-quote-heading{
    margin-bottom:15px;
  }
  .hhc-sa-page-v4 .hhc-sa-quick-quote-heading h2{
    font-size:1.55rem!important;
  }
  .hhc-sa-page-v4 .hhc-sa-quote-fields input,
  .hhc-sa-page-v4 .hhc-sa-quote-fields select{
    min-height:48px;
  }
}


/* v1.5.1 — force correct text contrast inside LIGHT quote cards. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote{
  color:#012c5a!important;
}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote .hhc-sa-quick-quote-heading>span,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote .hhc-sa-quick-quote-heading>span,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote .hhc-sa-quick-quote-heading>span{
  color:#58aa28!important;
}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2{
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote .hhc-sa-quick-quote-heading p{
  color:#647689!important;
  -webkit-text-fill-color:#647689!important;
  opacity:1!important;
}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote .hhc-sa-quote-fields label>span{
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}

/* Form inputs are always dark text on their light controls. */
.hhc-sa-page-v4 .hhc-sa-quick-quote input,
.hhc-sa-page-v4 .hhc-sa-quick-quote select,
.hhc-sa-page-v4 .hhc-sa-quick-quote textarea{
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}
.hhc-sa-page-v4 .hhc-sa-quick-quote input::placeholder,
.hhc-sa-page-v4 .hhc-sa-quick-quote textarea::placeholder{
  color:#748495!important;
  opacity:1!important;
}

/* Keep dark quote cards intentionally white. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote .hhc-sa-quote-fields label>span{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* v1.5.1 — climate/overview card is a LIGHT surface on every layout. */
.hhc-sa-page-v4 .hhc-sa-v4-overview .hhc-sa-climate-card,
.hhc-sa-page-v4 .hhc-sa-v4-overview .hhc-sa-climate-card>span{
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-overview .hhc-sa-climate-card p{
  color:#5e7286!important;
  -webkit-text-fill-color:#5e7286!important;
}

/* v1.5.1 — remove inherited mobile hero heading positioning from form content. */
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading,
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading>span,
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading p{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  min-height:0!important;
  height:auto!important;
}
@media(max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-quick-quote{
    min-height:0!important;
    height:auto!important;
  }
  .hhc-sa-page-v4 .hhc-sa-quick-quote-heading{
    display:block!important;
    margin:0 0 16px!important;
    padding:0!important;
  }
  .hhc-sa-page-v4 .hhc-sa-quick-quote-heading>span{
    margin:0 0 5px!important;
    font-size:.66rem!important;
  }
  .hhc-sa-page-v4 .hhc-sa-quick-quote-heading h2{
    margin:0 0 7px!important;
    font-size:1.52rem!important;
    line-height:1.08!important;
  }
  .hhc-sa-page-v4 .hhc-sa-quick-quote-heading p{
    margin:0!important;
    font-size:.8rem!important;
    line-height:1.42!important;
  }
  .hhc-sa-page-v4 .hhc-sa-quote-location{
    margin-top:10px!important;
  }
}


/* ==========================================================================
   v1.5.2 — BLUE MINI-HEADER FOR LIGHT QUICK-QUOTE CARDS
   Premium, Editorial and Local Home now use a deliberate blue title band
   above the white fields instead of one large plain white card.
   ========================================================================== */

/* Light cards become two-part components: blue header + white form body. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote{
  overflow:hidden!important;
  padding:0!important;
  background:#fff!important;
  border:1px solid rgba(1,44,90,.10)!important;
}

/* Theme-specific Harry's-blue header tones. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote-heading{
  background:
    radial-gradient(circle at 100% 0%,rgba(139,211,70,.15),transparent 32%),
    linear-gradient(125deg,#012c5a 0%,#0b4777 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote-heading{
  background:
    radial-gradient(circle at 92% 0%,rgba(139,211,70,.13),transparent 30%),
    linear-gradient(125deg,#02284f 0%,#0a4a7b 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote-heading{
  background:
    radial-gradient(circle at 100% 0%,rgba(139,211,70,.18),transparent 34%),
    linear-gradient(125deg,#07365f 0%,#185778 100%)!important;
}

.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote-heading,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote-heading,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote-heading{
  position:relative!important;
  margin:0!important;
  padding:22px 27px 20px!important;
  border:0!important;
  min-height:0!important;
}

/* Small accent line gives the header a finished, intentional edge. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote-heading::after,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote-heading::after,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote-heading::after{
  content:"";
  position:absolute;
  left:27px;
  bottom:0;
  width:52px;
  height:3px;
  border-radius:99px;
  background:#8bd346;
}

/* Override v1.5.1 light-card colors specifically inside the new BLUE header. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote .hhc-sa-quick-quote-heading>span,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote .hhc-sa-quick-quote-heading>span,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote .hhc-sa-quick-quote-heading>span{
  color:#a9e96f!important;
  -webkit-text-fill-color:#a9e96f!important;
  margin:0 0 6px!important;
}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  margin:0 0 8px!important;
  font-size:clamp(1.48rem,1.9vw,1.9rem)!important;
  line-height:1.08!important;
}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote .hhc-sa-quick-quote-heading p{
  color:#d9e7f2!important;
  -webkit-text-fill-color:#d9e7f2!important;
  margin:0!important;
  max-width:430px;
  font-size:.8rem!important;
  line-height:1.45!important;
  opacity:1!important;
}

/* White body is now its own padded area. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quote-form,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quote-form,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quote-form{
  padding:20px 27px 25px;
  background:#fff;
}

/* City pill now sits between the blue header and fields. */
.hhc-sa-page-v4 .hhc-sa-quote-form>.hhc-sa-quote-location{
  display:inline-flex;
  align-items:center;
  margin:0 0 15px!important;
  padding:6px 10px;
  border:1px solid rgba(139,211,70,.18);
  border-radius:999px;
  background:#eff8e9!important;
  color:#245b0c!important;
  -webkit-text-fill-color:#245b0c!important;
  font-size:.68rem;
  font-weight:850;
}

/* Dark quote cards keep their existing integrated dark treatment, but the
   location pill still receives a little separation from the fields. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form>.hhc-sa-quote-location,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form>.hhc-sa-quote-location,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form>.hhc-sa-quote-location{
  margin-bottom:14px!important;
}

/* Responsive tightening without flattening the visual hierarchy. */
@media(max-width:760px){
  .hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote-heading,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote-heading,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote-heading{
    padding:19px 21px 18px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote-heading::after,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote-heading::after,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote-heading::after{
    left:21px;
    width:46px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quote-form,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quote-form,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quote-form{
    padding:18px 21px 22px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2,
  .hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2,
  .hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote .hhc-sa-quick-quote-heading h2{
    font-size:1.45rem!important;
  }
}


/* ==========================================================================
   v1.5.3 — TWO-TONE BLUE QUICK-QUOTE CARDS
   Dark-form themes now mirror the visual hierarchy of the light cards:
   darker navy mini-header + slightly lighter blue form body. Remove the
   thin white/light trim around all quote cards.
   ========================================================================== */

/* No bright trim around any quote card. */
.hhc-sa-page-v4 .hhc-sa-quick-quote{
  border:0!important;
}

/* Dark-theme quote cards become true two-piece components. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote{
  overflow:hidden!important;
  padding:0!important;
  background:transparent!important;
}

/* Technical: deep system-console navy header, steel-blue body. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading{
  margin:0!important;
  padding:22px 27px 20px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(139,211,70,.12),transparent 32%),
    linear-gradient(125deg,#001a37 0%,#052e54 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form{
  padding:20px 27px 25px!important;
  background:linear-gradient(135deg,#0b416d 0%,#14547d 100%)!important;
}

/* Modern Metro: darker city-night header, cleaner lighter metro-blue body. */
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading{
  margin:0!important;
  padding:22px 27px 20px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(139,211,70,.14),transparent 34%),
    linear-gradient(125deg,#002445 0%,#063b67 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form{
  padding:20px 27px 25px!important;
  background:linear-gradient(135deg,#0d4b75 0%,#165f87 100%)!important;
}

/* Community: strong Harry's navy header, friendly mid-blue body. */
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading{
  margin:0!important;
  padding:22px 27px 20px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(139,211,70,.13),transparent 34%),
    linear-gradient(125deg,#012c5a 0%,#083d6b 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form{
  padding:20px 27px 25px!important;
  background:linear-gradient(135deg,#0c4d78 0%,#17648d 100%)!important;
}

/* Dark header typography. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading{
  position:relative!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading::after,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading::after,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading::after{
  content:"";
  position:absolute;
  left:27px;
  bottom:0;
  width:52px;
  height:3px;
  border-radius:99px;
  background:#8bd346;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading>span,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading>span,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading>span{
  color:#a9e96f!important;
  -webkit-text-fill-color:#a9e96f!important;
  margin:0 0 6px!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  margin:0 0 8px!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading p{
  color:#d8e6f1!important;
  -webkit-text-fill-color:#d8e6f1!important;
  margin:0!important;
  opacity:1!important;
}

/* Dark body labels remain bright and readable. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form .hhc-sa-quote-fields label>span{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Location pill has a little more contrast against the lighter blue body. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form>.hhc-sa-quote-location,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form>.hhc-sa-quote-location,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form>.hhc-sa-quote-location{
  background:rgba(139,211,70,.18)!important;
  border:1px solid rgba(139,211,70,.22)!important;
  color:#e7fbd5!important;
  -webkit-text-fill-color:#e7fbd5!important;
}

/* Reassurance text remains visible without competing with the CTA. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-reassurance,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-reassurance,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-reassurance{
  color:#d1dfeb!important;
  -webkit-text-fill-color:#d1dfeb!important;
}

/* Keep the light cards clean too: no outline/trim on the blue header edge. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote{
  border:0!important;
}

/* Responsive internal padding. */
@media(max-width:760px){
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading,
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading{
    padding:19px 21px 18px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form,
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form{
    padding:18px 21px 22px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading::after,
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading::after,
  .hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading::after{
    left:21px;
    width:46px;
  }
}


/* ==========================================================================
   v1.5.4 — WHITE HEADER + BLUE FORM BODY FOR DARK-THEME QUOTE CARDS
   This intentionally flips the v1.5.3 dark-theme hierarchy:
   clean white title card on top, rich blue form body below.
   ========================================================================== */

/* Technical HVAC */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading{
  background:#fff!important;
  color:#012c5a!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form{
  background:linear-gradient(135deg,#0a3d67 0%,#14547d 100%)!important;
}

/* Modern Metro */
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading{
  background:#fff!important;
  color:#012c5a!important;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form{
  background:linear-gradient(135deg,#0b4773 0%,#17618b 100%)!important;
}

/* Community Focus */
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading{
  background:#fff!important;
  color:#012c5a!important;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form{
  background:linear-gradient(135deg,#0c4c77 0%,#1a6790 100%)!important;
}

/* White-header typography */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading>span,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading>span,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading>span{
  color:#58aa28!important;
  -webkit-text-fill-color:#58aa28!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading h2,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading h2{
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading p,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading p{
  color:#66798b!important;
  -webkit-text-fill-color:#66798b!important;
  opacity:1!important;
}

/* Keep the green accent line but make it cleaner against white. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading::after,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading::after,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading::after{
  background:#8bd346!important;
}

/* Blue form body typography */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form .hhc-sa-quote-fields label>span{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form .hhc-sa-quote-fields label>span small,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form .hhc-sa-quote-fields label>span small,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form .hhc-sa-quote-fields label>span small{
  color:#c8d8e5!important;
  -webkit-text-fill-color:#c8d8e5!important;
  opacity:1!important;
}

/* Location chip sits naturally on the blue form body. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form>.hhc-sa-quote-location,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form>.hhc-sa-quote-location,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form>.hhc-sa-quote-location{
  background:rgba(139,211,70,.18)!important;
  border:1px solid rgba(139,211,70,.28)!important;
  color:#eafbd8!important;
  -webkit-text-fill-color:#eafbd8!important;
}

/* Inputs remain bright/clean on the blue body. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form input,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form select,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form textarea,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form input,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form select,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form textarea,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form input,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form select,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form textarea{
  background:#f7fafc!important;
  border-color:rgba(255,255,255,.45)!important;
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}

/* Reassurance line */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-reassurance,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-reassurance,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-reassurance{
  color:#d6e4ef!important;
  -webkit-text-fill-color:#d6e4ef!important;
}

/* Keep the overall card seamless; no bright outline/trim. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote{
  border:0!important;
  background:transparent!important;
  box-shadow:0 28px 70px rgba(1,44,90,.24)!important;
}


/* ==========================================================================
   v1.5.5 — STANDARDIZED QUICK-QUOTE CARD SYSTEM
   All six themes now use the same proven hierarchy:
   BLUE MINI-HEADER + WHITE FORM BODY.
   Themes still vary by header shade/accent, not by reversing the component.
   ========================================================================== */

/* Shared quote card shell. */
.hhc-sa-page-v4 .hhc-sa-quick-quote{
  overflow:hidden!important;
  padding:0!important;
  border:0!important;
  background:#fff!important;
  box-shadow:0 26px 64px rgba(1,44,90,.18)!important;
}

/* All six headers are blue. */
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading{
  position:relative!important;
  margin:0!important;
  padding:22px 27px 20px!important;
  min-height:0!important;
  color:#fff!important;
}

/* Theme-specific shades keep the six designs from becoming identical. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote-heading{
  background:
    radial-gradient(circle at 100% 0%,rgba(139,211,70,.15),transparent 32%),
    linear-gradient(125deg,#012c5a 0%,#0b4777 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote-heading{
  background:
    radial-gradient(circle at 92% 0%,rgba(139,211,70,.13),transparent 30%),
    linear-gradient(125deg,#02284f 0%,#0a4a7b 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading{
  background:
    radial-gradient(circle at 100% 0%,rgba(139,211,70,.12),transparent 32%),
    linear-gradient(125deg,#001a37 0%,#06365f 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading{
  background:
    radial-gradient(circle at 100% 0%,rgba(139,211,70,.14),transparent 34%),
    linear-gradient(125deg,#002445 0%,#084b7d 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote-heading{
  background:
    radial-gradient(circle at 100% 0%,rgba(139,211,70,.18),transparent 34%),
    linear-gradient(125deg,#07365f 0%,#185778 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading{
  background:
    radial-gradient(circle at 100% 0%,rgba(139,211,70,.13),transparent 34%),
    linear-gradient(125deg,#012c5a 0%,#0b4778 100%)!important;
}

/* Shared green accent line under every blue mini-header. */
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading::after{
  content:"";
  position:absolute;
  left:27px;
  bottom:0;
  width:52px;
  height:3px;
  border-radius:99px;
  background:#8bd346!important;
}

/* Shared header typography. */
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading>span{
  color:#a9e96f!important;
  -webkit-text-fill-color:#a9e96f!important;
  margin:0 0 6px!important;
  font-weight:900!important;
}
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  margin:0 0 8px!important;
  line-height:1.08!important;
}
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading p{
  color:#d9e7f2!important;
  -webkit-text-fill-color:#d9e7f2!important;
  margin:0!important;
  opacity:1!important;
  line-height:1.45!important;
}

/* All six form bodies are clean white. */
.hhc-sa-page-v4 .hhc-sa-quote-form{
  padding:20px 27px 25px!important;
  background:#fff!important;
  color:#012c5a!important;
}

/* City pill uses the same readable light-surface treatment everywhere. */
.hhc-sa-page-v4 .hhc-sa-quote-form>.hhc-sa-quote-location{
  display:inline-flex;
  align-items:center;
  margin:0 0 15px!important;
  padding:6px 10px!important;
  border:1px solid rgba(139,211,70,.20)!important;
  border-radius:999px!important;
  background:#eff8e9!important;
  color:#245b0c!important;
  -webkit-text-fill-color:#245b0c!important;
  font-size:.68rem!important;
  font-weight:850!important;
}

/* Shared dark labels on white form body. */
.hhc-sa-page-v4 .hhc-sa-quote-form .hhc-sa-quote-fields label>span{
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}
.hhc-sa-page-v4 .hhc-sa-quote-form .hhc-sa-quote-fields label>span small{
  color:#728497!important;
  -webkit-text-fill-color:#728497!important;
  opacity:1!important;
}

/* Shared clean controls. */
.hhc-sa-page-v4 .hhc-sa-quote-form input,
.hhc-sa-page-v4 .hhc-sa-quote-form select,
.hhc-sa-page-v4 .hhc-sa-quote-form textarea{
  background:#f7fafc!important;
  border:1px solid #d6e1e9!important;
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}
.hhc-sa-page-v4 .hhc-sa-quote-form input::placeholder,
.hhc-sa-page-v4 .hhc-sa-quote-form textarea::placeholder{
  color:#748495!important;
  opacity:1!important;
}

/* Reassurance copy belongs to the light body too. */
.hhc-sa-page-v4 .hhc-sa-quote-reassurance{
  color:#748493!important;
  -webkit-text-fill-color:#748493!important;
}

/* Preserve green CTA as the primary conversion action. */
.hhc-sa-page-v4 .hhc-sa-quote-submit{
  background:#8bd346!important;
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}

/* Responsive spacing stays consistent across all six designs. */
@media(max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-quick-quote-heading{
    padding:19px 21px 18px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-quick-quote-heading::after{
    left:21px!important;
    width:46px!important;
  }
  .hhc-sa-page-v4 .hhc-sa-quote-form{
    padding:18px 21px 22px!important;
  }
}


/* ==========================================================================
   v1.5.6 — AUTHORITATIVE STANDARD FORM SYSTEM
   Older Technical/Metro/Community rules used higher specificity than the
   generic v1.5.5 white-body rule. Force EVERY theme to:
   BLUE HEADER + WHITE BODY.
   ========================================================================== */

/* WHITE FORM BODY — explicit per-layout selectors beat all previous rules. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote .hhc-sa-quote-form,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote .hhc-sa-quote-form,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote .hhc-sa-quote-form,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote .hhc-sa-quote-form,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote .hhc-sa-quote-form,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote .hhc-sa-quote-form{
  background:#fff!important;
  background-image:none!important;
  color:#012c5a!important;
}

/* DARK LABELS ON WHITE BODY — all six themes. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quote-form .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quote-form .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quote-form .hhc-sa-quote-fields label>span,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form .hhc-sa-quote-fields label>span{
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quote-form .hhc-sa-quote-fields label>span small,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quote-form .hhc-sa-quote-fields label>span small,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form .hhc-sa-quote-fields label>span small,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form .hhc-sa-quote-fields label>span small,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quote-form .hhc-sa-quote-fields label>span small,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form .hhc-sa-quote-fields label>span small{
  color:#738497!important;
  -webkit-text-fill-color:#738497!important;
  opacity:1!important;
}

/* STANDARD LIGHT CONTROLS — all six themes. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quote-form input,
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quote-form select,
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quote-form textarea,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quote-form input,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quote-form select,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quote-form textarea,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form input,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form select,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form textarea,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form input,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form select,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form textarea,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quote-form input,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quote-form select,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quote-form textarea,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form input,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form select,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form textarea{
  background:#f7fafc!important;
  background-image:none!important;
  border:1px solid #d6e1e9!important;
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}

/* STANDARD CITY CHIP — no dark transparent pill left over from older themes. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quote-form>.hhc-sa-quote-location,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quote-form>.hhc-sa-quote-location,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form>.hhc-sa-quote-location,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form>.hhc-sa-quote-location,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quote-form>.hhc-sa-quote-location,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form>.hhc-sa-quote-location{
  background:#eff8e9!important;
  border:1px solid rgba(139,211,70,.22)!important;
  color:#245b0c!important;
  -webkit-text-fill-color:#245b0c!important;
}

/* STANDARD REASSURANCE COPY — readable on white. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quote-form .hhc-sa-quote-reassurance,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quote-form .hhc-sa-quote-reassurance,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quote-form .hhc-sa-quote-reassurance,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quote-form .hhc-sa-quote-reassurance,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quote-form .hhc-sa-quote-reassurance,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quote-form .hhc-sa-quote-reassurance{
  color:#748493!important;
  -webkit-text-fill-color:#748493!important;
}

/* Keep the six BLUE headers and their theme-specific gradients. */
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-quick-quote-heading{
  background:radial-gradient(circle at 100% 0%,rgba(139,211,70,.15),transparent 32%),linear-gradient(125deg,#012c5a 0%,#0b4777 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-quick-quote-heading{
  background:radial-gradient(circle at 92% 0%,rgba(139,211,70,.13),transparent 30%),linear-gradient(125deg,#02284f 0%,#0a4a7b 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-quick-quote-heading{
  background:radial-gradient(circle at 100% 0%,rgba(139,211,70,.12),transparent 32%),linear-gradient(125deg,#001a37 0%,#06365f 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-quick-quote-heading{
  background:radial-gradient(circle at 100% 0%,rgba(139,211,70,.14),transparent 34%),linear-gradient(125deg,#002445 0%,#084b7d 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-quick-quote-heading{
  background:radial-gradient(circle at 100% 0%,rgba(139,211,70,.18),transparent 34%),linear-gradient(125deg,#07365f 0%,#185778 100%)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-quick-quote-heading{
  background:radial-gradient(circle at 100% 0%,rgba(139,211,70,.13),transparent 34%),linear-gradient(125deg,#012c5a 0%,#0b4778 100%)!important;
}

/* Header text always white/green. */
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading>span{
  color:#a9e96f!important;
  -webkit-text-fill-color:#a9e96f!important;
}
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.hhc-sa-page-v4 .hhc-sa-quick-quote-heading p{
  color:#d9e7f2!important;
  -webkit-text-fill-color:#d9e7f2!important;
  opacity:1!important;
}


/* ==========================================================================
   v1.5.8 — INTERACTIVE CORE HVAC SERVICE CARDS
   All six Service Area designs now share a brighter card composition:
   dark gradient title area + WHITE information body + 2px Harry's green
   perimeter. Cards lift on hover/focus and give a short "pop" response on tap.
   ========================================================================== */

/* Card shell: universal white lower body and green perimeter. */
.hhc-sa-page-v4 .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:2px solid #8bd346!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(1,44,90,.10)!important;
  transition:
    transform .24s cubic-bezier(.2,.72,.25,1),
    box-shadow .24s ease,
    border-color .24s ease!important;
  will-change:transform;
  cursor:default;
  outline:none;
}

/* Explicitly neutralize old dark body rules in every theme. */
.hhc-sa-page-v4 .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy,
.hhc-sa-page-v4.hhc-sa-layout-premium .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy{
  background:#fff!important;
  color:#536a7d!important;
  border:0!important;
}

/* Readable dark body copy everywhere. */
.hhc-sa-page-v4 .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy p{
  color:#536a7d!important;
  -webkit-text-fill-color:#536a7d!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy .hhc-sa-text-link{
  position:relative;
  z-index:3;
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
  font-weight:850!important;
  text-decoration:none!important;
  border-bottom:2px solid #8bd346!important;
  padding-bottom:4px;
  transition:color .18s ease,border-color .18s ease,transform .18s ease;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy .hhc-sa-text-link:hover{
  color:#2c7011!important;
  border-bottom-color:#69bc2f!important;
}

/* A very subtle highlight layer gives the card depth without another color block. */
.hhc-sa-page-v4 .hhc-sa-v4-service-feature::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(125deg,rgba(255,255,255,.18),transparent 34%);
  opacity:0;
  transition:opacity .24s ease;
}

/* Desktop hover/focus = lift, green glow and a slightly brighter header. */
@media(hover:hover) and (pointer:fine){
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature:hover,
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature.is-keyboard-focus{
    transform:translateY(-7px) scale(1.012)!important;
    border-color:#77c934!important;
    box-shadow:
      0 24px 48px rgba(1,44,90,.17),
      0 0 0 4px rgba(139,211,70,.08)!important;
    z-index:4;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature:hover::after,
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature.is-keyboard-focus::after{
    opacity:1;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature:hover .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient,
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature.is-keyboard-focus .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
    filter:brightness(1.08) saturate(1.04);
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature:hover .hhc-sa-v4-service-number,
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature.is-keyboard-focus .hhc-sa-v4-service-number{
    transform:translateY(-2px)!important;
    box-shadow:0 10px 22px rgba(0,0,0,.18)!important;
  }
}

/* Header motion is deliberately subtle. */
.hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
  transition:filter .24s ease!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-number{
  transition:transform .22s ease,box-shadow .22s ease!important;
}

/* Touch/mobile: tapping gives a brief raised "pop" instead of feeling static. */
.hhc-sa-page-v4 .hhc-sa-v4-service-feature.is-pressed,
.hhc-sa-page-v4 .hhc-sa-v4-service-feature:active{
  transform:translateY(-3px) scale(1.008)!important;
  border-color:#69bc2f!important;
  box-shadow:
    0 18px 38px rgba(1,44,90,.17),
    0 0 0 4px rgba(139,211,70,.08)!important;
  z-index:4;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-feature.is-tapped{
  transform:translateY(-7px) scale(1.014)!important;
  border-color:#69bc2f!important;
  box-shadow:
    0 24px 48px rgba(1,44,90,.19),
    0 0 0 5px rgba(139,211,70,.09)!important;
  z-index:4;
}
.hhc-sa-page-v4 .hhc-sa-v4-service-feature.is-tapped::after{
  opacity:1;
}

/* Keyboard accessibility: show green focus emphasis without a white ring. */
.hhc-sa-page-v4 .hhc-sa-v4-service-feature:focus-visible{
  border-color:#69bc2f!important;
  box-shadow:
    0 20px 42px rgba(1,44,90,.16),
    0 0 0 4px rgba(139,211,70,.13)!important;
}

/* Editorial horizontal cards need a clean dividing seam between header/body. */
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient{
  border-right:1px solid rgba(1,44,90,.08)!important;
}

/* Card borders should remain visibly green even inside dark sections. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-v4-service-feature,
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-v4-service-feature{
  border-color:#8bd346!important;
}

/* Mobile gets a little more white-body separation and breathing room. */
@media(max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature{
    box-shadow:0 12px 28px rgba(1,44,90,.11)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-copy{
    padding:21px 20px 22px!important;
  }
}

/* Respect reduced-motion preferences. */
@media(prefers-reduced-motion:reduce){
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature,
  .hhc-sa-page-v4 .hhc-sa-v4-service-image.hhc-sa-v4-service-gradient,
  .hhc-sa-page-v4 .hhc-sa-v4-service-number,
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature::after{
    transition:none!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature:hover,
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature:active,
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature.is-pressed,
  .hhc-sa-page-v4 .hhc-sa-v4-service-feature.is-tapped{
    transform:none!important;
  }
}


/* ==========================================================================
   v1.5.9 — TECHNICAL LAYOUT: BREAK UP THE LARGE BLUE CORE-SERVICES BLOCK
   The section previously stacked Core HVAC cards + brands + membership inside
   one large navy slab. Keep the technical personality in the card headers,
   but move the section itself to a lighter canvas.
   ========================================================================== */

/* Light section canvas instead of one giant navy block. */
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services{
  background:
    radial-gradient(circle at 92% 8%,rgba(139,211,70,.07),transparent 24%),
    linear-gradient(180deg,#f6f9fb 0%,#eef4f8 100%)!important;
  color:#012c5a!important;
  padding-top:58px!important;
  padding-bottom:62px!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-heading-split h2{
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-heading-split p{
  color:#61778b!important;
  -webkit-text-fill-color:#61778b!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-section-kicker{
  color:#58aa28!important;
  -webkit-text-fill-color:#58aa28!important;
}

/* Technical service cards: dark title header, WHITE information body. */
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-v4-service-feature{
  background:#fff!important;
  border:2px solid #8bd346!important;
  box-shadow:0 14px 32px rgba(1,44,90,.11)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy{
  background:#fff!important;
  background-image:none!important;
  color:#536a7d!important;
  -webkit-text-fill-color:#536a7d!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy p{
  color:#536a7d!important;
  -webkit-text-fill-color:#536a7d!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-v4-service-feature .hhc-sa-v4-service-copy .hhc-sa-text-link{
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}

/* Separate the three modules visually instead of letting them merge. */
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-brands-rail{
  margin-top:30px!important;
  padding:24px 28px 22px!important;
  background:#fff!important;
  border:1px solid #dce7ef!important;
  border-radius:16px!important;
  box-shadow:0 12px 28px rgba(1,44,90,.07)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-membership{
  margin-top:30px!important;
}

/* Technical membership: mostly light, with one restrained blue support panel. */
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership{
  grid-template-columns:minmax(0,1.12fr) minmax(330px,.68fr)!important;
  overflow:hidden;
  border:1px solid #d9e6ee!important;
  border-top:3px solid #8bd346!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(1,44,90,.09)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-main{
  padding:28px 32px!important;
  background:#fff!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership h3{
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-main>p{
  color:#5d7286!important;
  -webkit-text-fill-color:#5d7286!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-eyebrow{
  color:#58aa28!important;
  -webkit-text-fill-color:#58aa28!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-side{
  padding:24px 26px!important;
  background:linear-gradient(135deg,#eaf2f8 0%,#dceaf3 100%)!important;
  color:#012c5a!important;
  border-left:1px solid #d1e0e9!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-side-title{
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-benefits{
  grid-template-columns:repeat(3,1fr)!important;
  gap:8px!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-benefits span{
  min-height:52px;
  justify-content:center!important;
  padding:9px 7px!important;
  border:1px solid #cbdce7!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
  text-align:center!important;
  font-size:.73rem!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-side small{
  color:#60778a!important;
  -webkit-text-fill-color:#60778a!important;
}

/* Keep a little breathing room between heading and cards. */
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-v4-service-grid{
  margin-top:26px!important;
}

/* Responsive balance. */
@media(max-width:980px){
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership{
    grid-template-columns:1fr!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-side{
    border-left:0!important;
    border-top:1px solid #d1e0e9!important;
  }
}
@media(max-width:760px){
  .hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services{
    padding-top:42px!important;
    padding-bottom:46px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-brands-rail,
  .hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-membership{
    margin-top:22px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-main,
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-side{
    padding:21px 20px!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-benefits{
    grid-template-columns:1fr!important;
  }
  .hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-membership-benefits span{
    min-height:0!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
}


/* ==========================================================================
   v1.5.10 — GLOBAL SERVICE AREA VERTICAL RHYTHM
   One spacing system for every city and every one of the six layout families.
   Previous releases accumulated layout-specific padding/margins; these final
   rules make the page read as one intentionally spaced system.
   ========================================================================== */

.hhc-sa-page-v4{
  --hhc-sa-rhythm-section:32px;
  --hhc-sa-rhythm-module:26px;
  --hhc-sa-rhythm-section-tablet:28px;
  --hhc-sa-rhythm-module-tablet:22px;
  --hhc-sa-rhythm-section-mobile:24px;
  --hhc-sa-rhythm-module-mobile:18px;
}

/* ALL main content sections receive exactly the same outer vertical padding.
   Explicit layout selectors beat old Premium/Editorial/Technical/Metro/etc.
   rules that had accumulated different values. */
.hhc-sa-page-v4.hhc-sa-layout-premium > .hhc-sa-section,
.hhc-sa-page-v4.hhc-sa-layout-editorial > .hhc-sa-section,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-section,
.hhc-sa-page-v4.hhc-sa-layout-metro > .hhc-sa-section,
.hhc-sa-page-v4.hhc-sa-layout-local > .hhc-sa-section,
.hhc-sa-page-v4.hhc-sa-layout-community > .hhc-sa-section{
  padding-top:var(--hhc-sa-rhythm-section)!important;
  padding-bottom:var(--hhc-sa-rhythm-section)!important;
}

/* Core-services internal rhythm:
   heading -> service cards -> brands -> membership all use the same gap. */
.hhc-sa-page-v4 .hhc-sa-v4-core-services .hhc-sa-heading-split{
  margin-bottom:var(--hhc-sa-rhythm-module)!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-core-services .hhc-sa-v4-service-features{
  margin-top:0!important;
  margin-bottom:0!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-core-services .hhc-sa-brands-rail{
  margin-top:var(--hhc-sa-rhythm-module)!important;
  margin-bottom:0!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-core-services .hhc-sa-membership{
  margin-top:var(--hhc-sa-rhythm-module)!important;
  margin-bottom:0!important;
}
/* If the brand rail is disabled, membership still receives exactly one gap. */
.hhc-sa-page-v4 .hhc-sa-v4-service-features + .hhc-sa-membership{
  margin-top:var(--hhc-sa-rhythm-module)!important;
}

/* Planning section rhythm:
   proof panel -> contractor/rebate grid always uses one consistent gap. */
.hhc-sa-page-v4 .hhc-sa-v4-planning .hhc-sa-proof-panel{
  margin-top:0!important;
  margin-bottom:var(--hhc-sa-rhythm-module)!important;
}
.hhc-sa-page-v4 .hhc-sa-v4-planning .hhc-sa-v4-planning-grid{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Remove one-off Technical spacing from v1.5.9 so Owen Sound and every other
   Technical page follows the same global rhythm as the other five themes. */
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services{
  padding-top:var(--hhc-sa-rhythm-section)!important;
  padding-bottom:var(--hhc-sa-rhythm-section)!important;
}
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-brands-rail,
.hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-v4-core-services .hhc-sa-membership{
  margin-top:var(--hhc-sa-rhythm-module)!important;
}

/* Keep local coverage, FAQs and planning grids internally balanced. */
.hhc-sa-page-v4 .hhc-sa-v4-local-grid,
.hhc-sa-page-v4 .hhc-sa-v4-planning-grid,
.hhc-sa-page-v4 .hhc-sa-v4-help-grid{
  gap:var(--hhc-sa-rhythm-module)!important;
}

/* Closing CTA gets the same visual breathing room as the main sections. */
.hhc-sa-page-v4 .hhc-sa-v4-final{
  padding-top:var(--hhc-sa-rhythm-section)!important;
  padding-bottom:var(--hhc-sa-rhythm-section)!important;
}

/* Tablet rhythm. */
@media(max-width:860px){
  .hhc-sa-page-v4.hhc-sa-layout-premium > .hhc-sa-section,
  .hhc-sa-page-v4.hhc-sa-layout-editorial > .hhc-sa-section,
  .hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-section,
  .hhc-sa-page-v4.hhc-sa-layout-metro > .hhc-sa-section,
  .hhc-sa-page-v4.hhc-sa-layout-local > .hhc-sa-section,
  .hhc-sa-page-v4.hhc-sa-layout-community > .hhc-sa-section{
    padding-top:var(--hhc-sa-rhythm-section-tablet)!important;
    padding-bottom:var(--hhc-sa-rhythm-section-tablet)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-core-services .hhc-sa-heading-split{
    margin-bottom:var(--hhc-sa-rhythm-module-tablet)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-core-services .hhc-sa-brands-rail,
  .hhc-sa-page-v4 .hhc-sa-v4-core-services .hhc-sa-membership,
  .hhc-sa-page-v4 .hhc-sa-v4-service-features + .hhc-sa-membership,
  .hhc-sa-page-v4 .hhc-sa-v4-planning .hhc-sa-proof-panel{
    margin-top:var(--hhc-sa-rhythm-module-tablet)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-planning .hhc-sa-proof-panel{
    margin-top:0!important;
    margin-bottom:var(--hhc-sa-rhythm-module-tablet)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-local-grid,
  .hhc-sa-page-v4 .hhc-sa-v4-planning-grid,
  .hhc-sa-page-v4 .hhc-sa-v4-help-grid{
    gap:var(--hhc-sa-rhythm-module-tablet)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-final{
    padding-top:var(--hhc-sa-rhythm-section-tablet)!important;
    padding-bottom:var(--hhc-sa-rhythm-section-tablet)!important;
  }
}

/* Mobile rhythm — tighter, but still mathematically consistent. */
@media(max-width:620px){
  .hhc-sa-page-v4.hhc-sa-layout-premium > .hhc-sa-section,
  .hhc-sa-page-v4.hhc-sa-layout-editorial > .hhc-sa-section,
  .hhc-sa-page-v4.hhc-sa-layout-technical > .hhc-sa-section,
  .hhc-sa-page-v4.hhc-sa-layout-metro > .hhc-sa-section,
  .hhc-sa-page-v4.hhc-sa-layout-local > .hhc-sa-section,
  .hhc-sa-page-v4.hhc-sa-layout-community > .hhc-sa-section{
    padding-top:var(--hhc-sa-rhythm-section-mobile)!important;
    padding-bottom:var(--hhc-sa-rhythm-section-mobile)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-core-services .hhc-sa-heading-split{
    margin-bottom:var(--hhc-sa-rhythm-module-mobile)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-core-services .hhc-sa-brands-rail,
  .hhc-sa-page-v4 .hhc-sa-v4-core-services .hhc-sa-membership,
  .hhc-sa-page-v4 .hhc-sa-v4-service-features + .hhc-sa-membership{
    margin-top:var(--hhc-sa-rhythm-module-mobile)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-planning .hhc-sa-proof-panel{
    margin-top:0!important;
    margin-bottom:var(--hhc-sa-rhythm-module-mobile)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-local-grid,
  .hhc-sa-page-v4 .hhc-sa-v4-planning-grid,
  .hhc-sa-page-v4 .hhc-sa-v4-help-grid{
    gap:var(--hhc-sa-rhythm-module-mobile)!important;
  }
  .hhc-sa-page-v4 .hhc-sa-v4-final{
    padding-top:var(--hhc-sa-rhythm-section-mobile)!important;
    padding-bottom:var(--hhc-sa-rhythm-section-mobile)!important;
  }
}

/* ==========================================================
   v1.5.13 HUB DIRECTORY REDESIGN
   Turns the all-service-area listing into a compact location
   directory instead of a stack of blog-style article cards.
   ========================================================== */
.hhc-sa-hub .hhc-sa-hub-intro{
  padding-top:68px;
  padding-bottom:52px;
}
.hhc-sa-hub .hhc-sa-hub-intro .hhc-sa-heading-split{
  margin-bottom:0;
}
.hhc-sa-hub .hhc-sa-hub-groups{
  padding:48px 0 72px;
  background:
    radial-gradient(circle at 8% 8%,rgba(139,211,70,.08),transparent 22%),
    linear-gradient(180deg,#f4f8fb 0%,#edf4f8 100%);
}
.hhc-sa-hub .hhc-sa-region-group{
  position:relative;
  padding:28px;
  border:1px solid #d7e3ed;
  border-radius:26px;
  background:
    radial-gradient(circle at 96% 0%,rgba(139,211,70,.09),transparent 30%),
    #fff;
  box-shadow:0 16px 42px rgba(1,44,90,.065);
  overflow:hidden;
}
.hhc-sa-hub .hhc-sa-region-group + .hhc-sa-region-group{
  margin-top:24px;
}
.hhc-sa-hub .hhc-sa-region-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin:0 0 20px;
  padding:0 0 18px;
  border-bottom:1px solid #e2eaf1;
}
.hhc-sa-hub .hhc-sa-region-heading > div{
  min-width:0;
}
.hhc-sa-hub .hhc-sa-region-heading span{
  display:block;
  margin-bottom:4px;
  color:#5aa71f;
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1.2;
  text-transform:uppercase;
}
.hhc-sa-hub .hhc-sa-region-heading h2{
  margin:0;
  color:#012c5a;
  font-size:clamp(1.45rem,2vw,2rem);
  line-height:1.08;
}
.hhc-sa-hub .hhc-sa-region-count{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(139,211,70,.42);
  border-radius:999px;
  background:#f3faed;
  color:#326f12;
  font-size:.73rem;
  font-weight:850;
  white-space:nowrap;
}
.hhc-sa-hub .hhc-sa-location-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.hhc-sa-hub .hhc-sa-location-card{
  position:relative;
  min-height:104px;
  display:grid;
  grid-template-columns:104px minmax(0,1fr) 34px;
  align-items:center;
  gap:14px;
  padding:9px 12px 9px 9px;
  overflow:hidden;
  border:1px solid #dbe5ee;
  border-radius:17px;
  background:linear-gradient(135deg,#fff 0%,#fbfdfd 72%,#f2faec 100%);
  box-shadow:0 5px 16px rgba(1,44,90,.035);
  color:#012c5a;
  text-decoration:none!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.hhc-sa-hub .hhc-sa-location-card:hover,
.hhc-sa-hub .hhc-sa-location-card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(139,211,70,.82);
  background:linear-gradient(135deg,#fff 0%,#fbfef9 60%,#edf9e3 100%);
  box-shadow:0 14px 28px rgba(1,44,90,.11),0 0 0 3px rgba(139,211,70,.08);
  outline:none;
}
.hhc-sa-hub .hhc-sa-location-media{
  position:relative;
  width:104px;
  height:84px;
  overflow:hidden;
  border-radius:12px;
  background:linear-gradient(145deg,#0f4f84,#0a355f);
}
.hhc-sa-hub .hhc-sa-location-media.is-empty::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 35% 30%,rgba(139,211,70,.35),transparent 30%);
}
.hhc-sa-hub .hhc-sa-location-media .hhc-sa-photo{
  width:100%!important;
  height:100%!important;
  display:block;
  object-fit:cover!important;
  transition:transform .35s ease;
}
.hhc-sa-hub .hhc-sa-location-card:hover .hhc-sa-location-media .hhc-sa-photo{
  transform:scale(1.045);
}
.hhc-sa-hub .hhc-sa-location-media .hhc-sa-location-dot{
  position:absolute;
  left:9px;
  bottom:9px;
  z-index:2;
  width:7px;
  height:7px;
  margin:0;
  border:2px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:#8bd346;
  box-shadow:0 0 0 4px rgba(139,211,70,.22);
}
.hhc-sa-hub .hhc-sa-location-body{
  min-width:0;
  display:block;
  padding:0;
}
.hhc-sa-hub .hhc-sa-location-kicker{
  display:block;
  margin-bottom:4px;
  color:#5d7388;
  font-size:.61rem;
  font-weight:850;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}
.hhc-sa-hub .hhc-sa-location-card h3{
  margin:0 0 4px;
  color:#012c5a;
  font-size:1.04rem;
  font-weight:850;
  line-height:1.12;
}
.hhc-sa-hub .hhc-sa-location-meta{
  display:block;
  overflow:hidden;
  color:#6c8092;
  font-size:.69rem;
  font-weight:650;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hhc-sa-hub .hhc-sa-location-arrow{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid #d9e5ed;
  border-radius:50%;
  background:#f5f9fc;
  color:#245078;
  font-size:1rem;
  font-weight:900;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.hhc-sa-hub .hhc-sa-location-card:hover .hhc-sa-location-arrow,
.hhc-sa-hub .hhc-sa-location-card:focus-visible .hhc-sa-location-arrow{
  transform:translateX(2px);
  border-color:#8bd346;
  background:#8bd346;
  color:#012c5a;
}

@media(max-width:1080px){
  .hhc-sa-hub .hhc-sa-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .hhc-sa-hub .hhc-sa-hub-intro{padding-top:52px;padding-bottom:40px}
  .hhc-sa-hub .hhc-sa-hub-groups{padding-top:32px}
  .hhc-sa-hub .hhc-sa-region-group{padding:20px;border-radius:21px}
  .hhc-sa-hub .hhc-sa-region-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:15px;padding-bottom:14px}
  .hhc-sa-hub .hhc-sa-location-grid{grid-template-columns:1fr;gap:10px}
  .hhc-sa-hub .hhc-sa-location-card{grid-template-columns:88px minmax(0,1fr) 32px;min-height:92px;gap:12px;padding:8px 10px 8px 8px;border-radius:15px}
  .hhc-sa-hub .hhc-sa-location-media{width:88px;height:76px;border-radius:10px}
  .hhc-sa-hub .hhc-sa-location-card h3{font-size:1rem}
}
@media(max-width:410px){
  .hhc-sa-hub .hhc-sa-location-card{grid-template-columns:78px minmax(0,1fr) 30px;gap:10px}
  .hhc-sa-hub .hhc-sa-location-media{width:78px;height:70px}
  .hhc-sa-hub .hhc-sa-location-meta{font-size:.64rem}
}

/* ==========================================================
   v1.5.14 — HUB SERVICE-LOCATOR UPGRADE
   Address verification, equipment-brand banner, 26-location
   preview registry and map-pin location cards.
   ========================================================== */
.hhc-sa-hub .hhc-sa-hub-checker{
  padding:58px 0 68px;
  background:linear-gradient(180deg,#fff 0%,#f6f9fb 100%);
}
.hhc-sa-hub .hhc-sa-hub-checker-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.62fr);
  gap:44px;
  align-items:end;
  margin-bottom:24px;
}
.hhc-sa-hub .hhc-sa-hub-checker-heading h2{
  max-width:760px;
  margin:7px 0 0;
  color:#012c5a;
  font-size:clamp(2rem,3.5vw,3.35rem);
  line-height:1.02;
  letter-spacing:-.04em;
}
.hhc-sa-hub .hhc-sa-hub-checker-heading>p{
  max-width:620px;
  margin:0;
  color:#63798d;
  font-size:1rem;
  line-height:1.65;
}
.hhc-sa-hub .hhc-sa-hub-checker-shell{
  position:relative;
  border-radius:30px;
}
.hhc-sa-hub .hhc-sa-hub-checker-shell::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:16px 36px -22px;
  border-radius:34px;
  background:rgba(1,44,90,.10);
  filter:blur(28px);
  pointer-events:none;
}
.hhc-sa-hub .hhc-sa-hub-checker-shell>.hhc-flh-address-checker{
  position:relative;
  z-index:1;
  min-height:500px;
  border:1px solid #d8e4ec;
  border-radius:30px;
  box-shadow:0 28px 70px rgba(1,44,90,.15);
}
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-map-panel{
  min-height:500px;
  background:
    radial-gradient(circle at 20% 20%,rgba(139,211,70,.16),transparent 24%),
    linear-gradient(145deg,#0a416d,#012c5a);
}
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-map{
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(145deg,#0c4776,#062f56);
  background-size:44px 44px,44px 44px,auto;
}
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-map-placeholder span{
  border-radius:50%;
  box-shadow:0 0 0 12px rgba(139,211,70,.10),0 12px 24px rgba(0,0,0,.18);
}
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-map-caption{
  border-color:rgba(255,255,255,.14);
  background:rgba(0,31,62,.88);
  backdrop-filter:blur(12px);
}
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-checker-panel{
  padding:44px 46px;
  background:
    radial-gradient(circle at 98% 0%,rgba(139,211,70,.13),transparent 32%),
    #fff;
}
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-checker-panel>h2{
  font-size:clamp(2.45rem,4vw,4.05rem);
}
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-checker-row .hhc-flh-submit{
  box-shadow:0 13px 28px rgba(139,211,70,.28);
}
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-area-chips span,
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-area-chips a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
}
.hhc-sa-hub .hhc-sa-hub-checker-fallback{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:24px 26px;
  border:1px solid #d8e4ec;
  border-radius:22px;
  background:linear-gradient(120deg,#fff 0%,#f7fbfd 60%,#eff8e8 100%);
  box-shadow:0 18px 46px rgba(1,44,90,.08);
}
.hhc-sa-hub .hhc-sa-hub-checker-fallback>span{
  width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#8bd346;color:#012c5a;font-size:1.8rem;font-weight:900;
}
.hhc-sa-hub .hhc-sa-hub-checker-fallback strong{display:block;color:#012c5a;font-size:1.05rem}
.hhc-sa-hub .hhc-sa-hub-checker-fallback p{margin:4px 0 0;color:#667c8e}

.hhc-sa-hub .hhc-sa-hub-brands{
  position:relative;
  padding:34px 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 30%,rgba(139,211,70,.18),transparent 26%),
    linear-gradient(120deg,#072b50,#0b4c7f);
}
.hhc-sa-hub .hhc-sa-hub-brands::after{
  content:"";
  position:absolute;
  width:360px;height:360px;right:-160px;top:-230px;border:1px solid rgba(255,255,255,.08);border-radius:50%;
}
.hhc-sa-hub .hhc-sa-hub-brands-shell{
  position:relative;z-index:1;display:grid;grid-template-columns:minmax(250px,.42fr) minmax(0,1fr);gap:34px;align-items:center;
}
.hhc-sa-hub .hhc-sa-hub-brands-copy span{
  display:block;margin-bottom:5px;color:#a9ea6f;font-size:.67rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;
}
.hhc-sa-hub .hhc-sa-hub-brands-copy h2{
  margin:0 0 6px;color:#fff;font-size:clamp(1.55rem,2.2vw,2.2rem);line-height:1.02;
}
.hhc-sa-hub .hhc-sa-hub-brands-copy p{margin:0;color:#c6d6e3;font-size:.83rem;line-height:1.5}
.hhc-sa-hub .hhc-sa-hub-brand-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
}
.hhc-sa-hub .hhc-sa-hub-brand-card{
  min-width:0;height:82px;display:grid;place-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 10px 24px rgba(0,0,0,.11);transition:transform .18s ease,box-shadow .18s ease;
}
.hhc-sa-hub .hhc-sa-hub-brand-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,0,0,.16)}
.hhc-sa-hub .hhc-sa-hub-brand-card img{display:block!important;max-width:100%!important;max-height:52px!important;width:auto!important;height:auto!important;object-fit:contain!important}
.hhc-sa-hub .hhc-sa-hub-brand-card strong{color:#012c5a;font-size:.82rem;text-align:center}
.hhc-sa-hub .hhc-sa-hub-brand-card.is-placeholder{background:rgba(255,255,255,.92);border-style:dashed}

.hhc-sa-hub .hhc-sa-directory-summary{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:14px 18px;border:1px solid #d7e4ed;border-radius:18px;background:linear-gradient(120deg,#fff,#f5fbef);box-shadow:0 10px 26px rgba(1,44,90,.05);
}
.hhc-sa-hub .hhc-sa-directory-summary>div{display:flex;align-items:center;gap:12px;min-width:0}
.hhc-sa-hub .hhc-sa-directory-pin{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:13px;background:#012c5a;box-shadow:0 9px 20px rgba(1,44,90,.18)}
.hhc-sa-hub .hhc-sa-directory-pin svg{width:22px;height:22px;fill:#8bd346;stroke:#012c5a;stroke-width:1.7}
.hhc-sa-hub .hhc-sa-directory-pin circle{fill:#012c5a;stroke:none}
.hhc-sa-hub .hhc-sa-directory-summary small{display:block;color:#5e7589;font-size:.63rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.hhc-sa-hub .hhc-sa-directory-summary strong{display:block;margin-top:2px;color:#012c5a;font-size:1rem}
.hhc-sa-hub .hhc-sa-directory-summary>span{flex:0 0 auto;padding:7px 11px;border:1px solid rgba(139,211,70,.4);border-radius:999px;background:#fff;color:#326f12;font-size:.72rem;font-weight:850}

.hhc-sa-hub .hhc-sa-location-map-pin{
  position:absolute;
  z-index:3;
  left:8px;
  bottom:7px;
  width:28px;
  height:34px;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.28));
  transition:transform .2s ease;
}
.hhc-sa-hub .hhc-sa-location-map-pin svg{width:28px;height:34px;overflow:visible}
.hhc-sa-hub .hhc-sa-location-map-pin path{fill:#ea4335;stroke:#fff;stroke-width:1.4}
.hhc-sa-hub .hhc-sa-location-map-pin circle{fill:#fff;stroke:none}
.hhc-sa-hub .hhc-sa-location-card:hover .hhc-sa-location-map-pin,
.hhc-sa-hub .hhc-sa-location-card:focus-visible .hhc-sa-location-map-pin{transform:translateY(-3px) scale(1.04)}
.hhc-sa-hub .hhc-sa-location-status{
  display:inline-flex;width:max-content;margin-top:6px;padding:3px 7px;border-radius:999px;background:#fff4cf;color:#795d00;font-size:.56rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;
}
.hhc-sa-hub .hhc-sa-location-card.is-unpublished{border-style:dashed}

@media(max-width:1100px){
  .hhc-sa-hub .hhc-sa-hub-brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .hhc-sa-hub .hhc-sa-hub-checker-heading{grid-template-columns:1fr;gap:12px}
  .hhc-sa-hub .hhc-sa-hub-checker-shell>.hhc-flh-address-checker{min-height:0}
  .hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-map-panel{min-height:390px}
  .hhc-sa-hub .hhc-sa-hub-brands-shell{grid-template-columns:1fr;gap:20px}
  .hhc-sa-hub .hhc-sa-hub-brands-copy{text-align:center;max-width:700px;margin:0 auto}
}
@media(max-width:700px){
  .hhc-sa-hub .hhc-sa-hub-checker{padding:42px 0 48px}
  .hhc-sa-hub .hhc-sa-hub-checker-heading{margin-bottom:18px;text-align:center}
  .hhc-sa-hub .hhc-sa-hub-checker-heading .hhc-sa-section-kicker{justify-content:center}
  .hhc-sa-hub .hhc-sa-hub-checker-heading .hhc-sa-section-kicker::before{display:none}
  .hhc-sa-hub .hhc-sa-hub-checker-shell::before{inset:12px 18px -16px}
  .hhc-sa-hub .hhc-sa-hub-checker-shell>.hhc-flh-address-checker{border-radius:22px}
  .hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-map-panel{min-height:300px}
  .hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-checker-panel{padding:26px 20px}
  .hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-checker-panel>h2{font-size:2.25rem}
  .hhc-sa-hub .hhc-sa-hub-checker-fallback{grid-template-columns:1fr;text-align:center;justify-items:center}
  .hhc-sa-hub .hhc-sa-hub-brand-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .hhc-sa-hub .hhc-sa-hub-brand-card{height:68px;padding:9px}
  .hhc-sa-hub .hhc-sa-hub-brand-card img{max-height:40px!important}
  .hhc-sa-hub .hhc-sa-directory-summary{align-items:flex-start;flex-direction:column}
  .hhc-sa-hub .hhc-sa-directory-summary>span{align-self:flex-start}
}

/* ==========================================================
   v1.5.15 — HUB LOCATION / CHECKER POLISH
   Pins live with city names, all circular arrows use SVG for
   true optical centering, and verified addresses surface the
   matching local Service Area card inside the checker panel.
   ========================================================== */
.hhc-sa-hub .hhc-sa-location-title-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
  margin:0 0 4px;
}
.hhc-sa-hub .hhc-sa-location-title-row h3{
  margin:0;
}
.hhc-sa-hub .hhc-sa-location-map-pin{
  position:static;
  z-index:auto;
  left:auto;
  bottom:auto;
  flex:0 0 auto;
  width:17px;
  height:21px;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 2px 3px rgba(1,44,90,.18));
  transform:none;
  transition:transform .2s ease;
}
.hhc-sa-hub .hhc-sa-location-map-pin svg{
  display:block;
  width:17px;
  height:21px;
  overflow:visible;
}
.hhc-sa-hub .hhc-sa-location-map-pin path{
  fill:#ea4335;
  stroke:#fff;
  stroke-width:1.3;
}
.hhc-sa-hub .hhc-sa-location-map-pin circle{
  fill:#fff;
  stroke:none;
}
.hhc-sa-hub .hhc-sa-location-card:hover .hhc-sa-location-map-pin,
.hhc-sa-hub .hhc-sa-location-card:focus-visible .hhc-sa-location-map-pin{
  transform:translateY(-1px) scale(1.06);
}

/* SVG removes the font baseline offset that made the arrow appear low/right. */
.hhc-sa-hub .hhc-sa-location-arrow{
  display:grid;
  place-items:center;
  padding:0;
  line-height:0;
}
.hhc-sa-hub .hhc-sa-location-arrow svg{
  display:block;
  width:15px;
  height:15px;
  margin:0;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Keep the Hub's Verify button clean, single-line and balanced. */
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-checker-row{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:stretch!important;
  gap:12px!important;
}
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-checker-row .hhc-flh-submit{
  width:auto!important;
  min-width:222px!important;
  min-height:58px!important;
  margin:0!important;
  padding:0 20px!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-checker-row .hhc-flh-submit b{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0 0 1px;
  border-radius:50%;
  background:rgba(1,44,90,.09);
  color:#012c5a;
  font-size:16px;
  font-weight:900;
  line-height:1;
}

/* Result card generated after the Forms Hub confirms an address. */
.hhc-sa-hub .hhc-sa-verified-area-card{
  display:grid;
  grid-template-columns:86px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin:16px 0 0;
  padding:10px 12px 10px 10px;
  border:1px solid rgba(139,211,70,.52);
  border-radius:17px;
  background:
    radial-gradient(circle at 100% 0%,rgba(139,211,70,.12),transparent 38%),
    linear-gradient(135deg,#fff 0%,#f8fcf5 100%);
  box-shadow:0 12px 28px rgba(1,44,90,.08);
}
.hhc-sa-hub .hhc-sa-verified-area-card.is-outside{
  border-color:#ead7a8;
  background:linear-gradient(135deg,#fff 0%,#fffaf0 100%);
}
.hhc-sa-hub .hhc-sa-verified-area-media{
  width:86px;
  height:68px;
  overflow:hidden;
  border-radius:11px;
  background:linear-gradient(145deg,#0d4b7c,#062f56);
}
.hhc-sa-hub .hhc-sa-verified-area-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.hhc-sa-hub .hhc-sa-verified-area-media.is-empty{
  position:relative;
  background:
    radial-gradient(circle at 50% 45%,rgba(139,211,70,.38),transparent 24%),
    linear-gradient(145deg,#0d4b7c,#062f56);
}
.hhc-sa-hub .hhc-sa-verified-area-media.is-empty::after{
  content:"⌖";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#8bd346;
  font-size:1.6rem;
  font-weight:900;
}
.hhc-sa-hub .hhc-sa-verified-area-copy{
  min-width:0;
}
.hhc-sa-hub .hhc-sa-verified-area-copy>span{
  display:block;
  margin-bottom:3px;
  color:#5d7388;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.hhc-sa-hub .hhc-sa-verified-area-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 4px;
}
.hhc-sa-hub .hhc-sa-verified-area-title strong{
  color:#012c5a;
  font-size:1.04rem;
  line-height:1.1;
}
.hhc-sa-hub .hhc-sa-verified-area-title .hhc-sa-location-map-pin{
  width:16px;
  height:20px;
}
.hhc-sa-hub .hhc-sa-verified-area-title .hhc-sa-location-map-pin svg{
  width:16px;
  height:20px;
}
.hhc-sa-hub .hhc-sa-verified-area-copy p{
  margin:0;
  color:#667d90;
  font-size:.74rem;
  line-height:1.4;
}
.hhc-sa-hub .hhc-sa-verified-area-action{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:9px 12px;
  border-radius:11px;
  background:#012c5a;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  font-size:.72rem;
  font-weight:900;
  white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.hhc-sa-hub .hhc-sa-verified-area-action:hover,
.hhc-sa-hub .hhc-sa-verified-area-action:focus-visible{
  transform:translateY(-2px);
  background:#0b4777;
  box-shadow:0 10px 22px rgba(1,44,90,.18);
  outline:none;
}
.hhc-sa-hub .hhc-sa-verified-area-action span{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#8bd346;
  color:#012c5a;
  -webkit-text-fill-color:#012c5a;
  line-height:1;
}

@media(max-width:700px){
  .hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-checker-row{
    grid-template-columns:1fr!important;
  }
  .hhc-sa-hub .hhc-sa-hub-checker-shell .hhc-flh-checker-row .hhc-flh-submit{
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
  }
  .hhc-sa-hub .hhc-sa-verified-area-card{
    grid-template-columns:72px minmax(0,1fr);
    gap:11px;
  }
  .hhc-sa-hub .hhc-sa-verified-area-media{
    width:72px;
    height:62px;
  }
  .hhc-sa-hub .hhc-sa-verified-area-action{
    grid-column:1/-1;
    width:100%;
  }
}


/* ==========================================================
   v1.5.17 — LARGER FLOATING TRUST BANNER
   Wider, more substantial proof rail with stronger floating
   depth and a broader soft-green gradient. No accent chip.
   ========================================================== */
.hhc-sa-hub .hhc-sa-hub-trust-strip{
  position:relative;
  z-index:6;
  width:min(1320px,calc(100% - 72px));
  margin:-44px auto -25px;
}
.hhc-sa-hub .hhc-sa-hub-trust-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(285px,.78fr) minmax(0,1.75fr);
  gap:34px;
  align-items:center;
  padding:25px 28px;
  overflow:hidden;
  border:1px solid rgba(197,217,229,.95);
  border-radius:28px;
  background:
    radial-gradient(circle at 93% 38%,rgba(139,211,70,.24) 0%,rgba(139,211,70,.14) 22%,rgba(139,211,70,.06) 44%,transparent 66%),
    linear-gradient(112deg,#ffffff 0%,#fbfdff 38%,#f2fae9 72%,#e8f7d9 100%);
  box-shadow:
    0 34px 76px rgba(1,44,90,.18),
    0 14px 28px rgba(1,44,90,.10),
    0 3px 8px rgba(1,44,90,.06);
  transform:translateZ(0);
}
.hhc-sa-hub .hhc-sa-hub-trust-card::before{display:none!important;content:none!important}
.hhc-sa-hub .hhc-sa-hub-trust-copy{
  min-width:0;
  padding-left:4px;
}
.hhc-sa-hub .hhc-sa-hub-trust-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 7px;
  color:#5b7a25;
  font-size:.71rem;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1.15;
  text-transform:uppercase;
}
.hhc-sa-hub .hhc-sa-hub-trust-kicker i{
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:#8bd346;
  box-shadow:0 0 0 5px rgba(139,211,70,.14);
}
.hhc-sa-hub .hhc-sa-hub-trust-copy>strong{
  display:block;
  color:#012c5a;
  font-size:1.18rem;
  font-weight:850;
  line-height:1.2;
  letter-spacing:-.025em;
}
.hhc-sa-hub .hhc-sa-hub-trust-logos{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:11px;
  align-items:stretch;
}
.hhc-sa-hub .hhc-sa-hub-trust-logo{
  min-width:0;
  height:70px;
  display:grid;
  place-items:center;
  padding:9px 12px;
  overflow:hidden;
  border:1px solid rgba(216,228,236,.96);
  border-radius:15px;
  background:rgba(255,255,255,.96);
  box-shadow:0 7px 18px rgba(1,44,90,.07);
}
.hhc-sa-hub .hhc-sa-hub-trust-logo.dark{
  border-color:#103d68;
  background:#062f59;
}
.hhc-sa-hub .hhc-sa-hub-trust-logo img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:47px!important;
  object-fit:contain!important;
}
.hhc-sa-hub .hhc-sa-hub-trust-logo.compact img{max-width:80%!important;max-height:49px!important}
.hhc-sa-hub .hhc-sa-hub-trust-logo.google img{max-height:48px!important}

@media(max-width:1180px){
  .hhc-sa-hub .hhc-sa-hub-trust-strip{width:min(1040px,calc(100% - 48px))}
  .hhc-sa-hub .hhc-sa-hub-trust-card{grid-template-columns:1fr;gap:16px;padding:22px 24px}
  .hhc-sa-hub .hhc-sa-hub-trust-copy{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0}
  .hhc-sa-hub .hhc-sa-hub-trust-kicker{margin:0}
  .hhc-sa-hub .hhc-sa-hub-trust-copy>strong{font-size:1rem;text-align:right}
  .hhc-sa-hub .hhc-sa-hub-trust-logo{height:64px}
}
@media(max-width:700px){
  .hhc-sa-hub .hhc-sa-hub-trust-strip{width:min(100% - 28px,640px);margin:-26px auto -14px}
  .hhc-sa-hub .hhc-sa-hub-trust-card{border-radius:21px;padding:18px 15px;gap:14px}
  .hhc-sa-hub .hhc-sa-hub-trust-copy{display:block;text-align:center;padding:0 4px}
  .hhc-sa-hub .hhc-sa-hub-trust-kicker{justify-content:center;margin-bottom:6px}
  .hhc-sa-hub .hhc-sa-hub-trust-copy>strong{text-align:center;font-size:.94rem}
  .hhc-sa-hub .hhc-sa-hub-trust-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .hhc-sa-hub .hhc-sa-hub-trust-logo{height:56px;padding:7px 8px;border-radius:11px}
  .hhc-sa-hub .hhc-sa-hub-trust-logo img{max-height:36px!important}
  .hhc-sa-hub .hhc-sa-hub-trust-logo.compact img,.hhc-sa-hub .hhc-sa-hub-trust-logo.google img{max-height:38px!important}
}


/* ==========================================================
   v1.5.18 — TIGHTER ALL SERVICE AREAS HERO
   Reduce the hub hero's vertical footprint without changing its
   composition. The trust card still overlaps the section edge.
   ========================================================== */
.hhc-sa-hub .hhc-sa-hub-hero{
  padding:clamp(54px,6vw,88px) 0;
}
.hhc-sa-hub .hhc-sa-hub-hero-visual{
  height:clamp(360px,31vw,455px);
}
.hhc-sa-hub .hhc-sa-hub-hero-copy h1{
  margin-bottom:18px;
}
.hhc-sa-hub .hhc-sa-hub-hero-copy p{
  margin-bottom:24px;
}
@media(max-width:860px){
  .hhc-sa-hub .hhc-sa-hub-hero{padding:48px 0 58px}
  .hhc-sa-hub .hhc-sa-hub-hero-visual{height:410px}
}
@media(max-width:620px){
  .hhc-sa-hub .hhc-sa-hub-hero{padding:40px 0 48px}
  .hhc-sa-hub .hhc-sa-hub-hero-visual{height:320px}
}


/* ==========================================================
   v1.5.20 — DARK BLUE TRUST BANNER + WHITE / LIGHT-GREEN COPY
   Make the trust strip feel premium and unified with one deep
   navy-to-green fade, borderless marks, white ESA artwork, and
   brighter copy for stronger contrast.
   ========================================================== */
.hhc-sa-hub .hhc-sa-hub-trust-card{
  border:1px solid rgba(157,199,228,.20);
  background:
    radial-gradient(circle at 88% 50%,rgba(139,211,70,.28) 0%,rgba(139,211,70,.16) 26%,transparent 52%),
    radial-gradient(circle at 18% 28%,rgba(52,124,212,.20) 0%,rgba(52,124,212,.10) 20%,transparent 44%),
    linear-gradient(100deg,#07284d 0%,#0a315b 33%,#0f3b64 64%,#234c53 82%,#3b6c4e 100%);
  box-shadow:
    0 40px 84px rgba(1,44,90,.24),
    0 18px 38px rgba(1,44,90,.14),
    0 5px 14px rgba(1,44,90,.08);
}
.hhc-sa-hub .hhc-sa-hub-trust-kicker{
  color:#b8eb86;
}
.hhc-sa-hub .hhc-sa-hub-trust-kicker i{
  background:#8bd346;
  box-shadow:0 0 0 5px rgba(139,211,70,.18);
}
.hhc-sa-hub .hhc-sa-hub-trust-copy>strong{
  color:#ffffff;
}
.hhc-sa-hub .hhc-sa-hub-trust-logo{
  height:72px;
  padding:8px 10px;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
}
.hhc-sa-hub .hhc-sa-hub-trust-logo.dark{
  border:0!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
}
.hhc-sa-hub .hhc-sa-hub-trust-logo.esa-inverse img{
  max-height:52px!important;
}
.hhc-sa-hub .hhc-sa-hub-trust-logo img{
  max-height:50px!important;
}
.hhc-sa-hub .hhc-sa-hub-trust-logo.compact img{max-height:51px!important}
.hhc-sa-hub .hhc-sa-hub-trust-logo.google img{max-height:50px!important}

@media(max-width:1180px){
  .hhc-sa-hub .hhc-sa-hub-trust-logo{height:66px}
}
@media(max-width:700px){
  .hhc-sa-hub .hhc-sa-hub-trust-card{
    background:
      radial-gradient(circle at 86% 82%,rgba(139,211,70,.24),transparent 44%),
      radial-gradient(circle at 18% 12%,rgba(64,123,214,.16),transparent 34%),
      linear-gradient(145deg,#082849 0%,#0b315a 42%,#183f62 70%,#355e4d 100%);
  }
  .hhc-sa-hub .hhc-sa-hub-trust-logo{height:58px;padding:6px 5px}
  .hhc-sa-hub .hhc-sa-hub-trust-logo.dark{border-radius:0}
}


/* ==========================================================
   v1.5.21 — ALL SERVICE AREAS / STYLE B DIRECTORY CARDS
   CSS-built branded map cards. Directory artwork is intentionally
   independent from each city hero. A dedicated directory_image_id
   can replace the CSS map later without changing this layout.
   ========================================================== */
.hhc-sa-hub .hhc-sa-location-grid{
  gap:14px;
}
.hhc-sa-hub .hhc-sa-location-card.hhc-sa-style-b-card{
  --hhc-card-navy:#062f59;
  --hhc-card-green:#8bd346;
  position:relative;
  isolation:isolate;
  min-height:146px;
  display:grid;
  grid-template-columns:minmax(150px,42%) minmax(0,1fr) 46px;
  align-items:center;
  gap:12px;
  padding:0 14px 0 0;
  overflow:hidden;
  border:1px solid rgba(192,211,224,.82);
  border-radius:20px;
  background:
    radial-gradient(circle at 91% 18%,rgba(139,211,70,.08),transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#fbfdff 64%,#f6fbf2 100%);
  box-shadow:0 8px 22px rgba(1,44,90,.055);
  color:#012c5a;
  text-decoration:none!important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.hhc-sa-hub .hhc-sa-location-card.hhc-sa-style-b-card:hover,
.hhc-sa-hub .hhc-sa-location-card.hhc-sa-style-b-card:focus-visible{
  transform:translateY(-4px);
  border-color:rgba(139,211,70,.9);
  background:
    radial-gradient(circle at 92% 18%,rgba(139,211,70,.13),transparent 38%),
    linear-gradient(135deg,#fff 0%,#fcfefd 62%,#f1faea 100%);
  box-shadow:0 18px 38px rgba(1,44,90,.14),0 0 0 3px rgba(139,211,70,.07);
  outline:none;
}
.hhc-sa-hub .hhc-sa-style-b-map{
  position:relative;
  align-self:stretch;
  width:100%;
  height:auto;
  min-height:146px;
  overflow:hidden;
  border-radius:19px 0 0 19px;
  background:#d8e3ee;
  clip-path:polygon(0 0,87% 0,100% 50%,87% 100%,0 100%);
}
.hhc-sa-hub .hhc-sa-style-b-map::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at var(--hhc-map-park-x) var(--hhc-map-park-y),rgba(100,161,86,.47) 0 9%,rgba(139,211,70,.25) 10% 19%,transparent 35%),
    radial-gradient(circle at 86% 84%,rgba(79,142,72,.28) 0 10%,transparent 26%),
    linear-gradient(145deg,rgba(255,255,255,.34),rgba(202,216,230,.08));
}
.hhc-sa-hub .hhc-sa-style-b-map::after{
  content:"";
  position:absolute;
  top:-12%;
  right:6%;
  z-index:8;
  width:4px;
  height:124%;
  background:linear-gradient(180deg,transparent 0%,rgba(139,211,70,.98) 12%,rgba(139,211,70,.98) 88%,transparent 100%);
  transform:rotate(-10deg);
  transform-origin:center;
  opacity:.95;
}
.hhc-sa-hub .hhc-sa-css-map-layer{
  position:absolute;
  inset:-36%;
  z-index:1;
  pointer-events:none;
  opacity:.86;
}
.hhc-sa-hub .hhc-sa-css-map-layer-a{
  background:repeating-linear-gradient(var(--hhc-map-a),transparent 0 24px,rgba(255,255,255,.9) 24px 30px,transparent 30px 58px);
}
.hhc-sa-hub .hhc-sa-css-map-layer-b{
  background:repeating-linear-gradient(var(--hhc-map-b),transparent 0 34px,rgba(244,248,252,.92) 34px 40px,transparent 40px 76px);
  transform:translate(5%,2%) scale(1.04);
  opacity:.72;
}
.hhc-sa-hub .hhc-sa-css-map-layer-c{
  background:repeating-linear-gradient(var(--hhc-map-c),transparent 0 52px,rgba(169,192,211,.42) 52px 55px,transparent 55px 98px);
  transform:translate(-8%,7%) scale(1.06);
  opacity:.54;
}
.hhc-sa-hub .hhc-sa-style-b-map.has-map-image::before{
  z-index:2;
  background:linear-gradient(145deg,rgba(10,58,96,.28),rgba(216,231,242,.16) 48%,rgba(139,211,70,.14));
}
.hhc-sa-hub .hhc-sa-directory-map-image{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  filter:saturate(.92) contrast(.98) brightness(1.01);
  transition:transform .42s ease,filter .42s ease;
}
.hhc-sa-hub .hhc-sa-style-b-card:hover .hhc-sa-directory-map-image{
  transform:scale(1.045);
  filter:saturate(.98) contrast(1) brightness(1.01);
}
.hhc-sa-hub .hhc-sa-map-active-dot{
  position:absolute;
  top:14px;
  left:14px;
  z-index:10;
  width:16px;
  height:16px;
  border:4px solid rgba(255,255,255,.96);
  border-radius:50%;
  background:#79c629;
  box-shadow:0 2px 8px rgba(1,44,90,.14);
}
.hhc-sa-hub .hhc-sa-map-home-pin{
  position:absolute;
  left:var(--hhc-map-pin-x);
  top:var(--hhc-map-pin-y);
  z-index:12;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:5px solid #fff;
  border-radius:50% 50% 50% 0;
  background:#072f5b;
  color:#fff;
  box-shadow:0 10px 22px rgba(1,44,90,.24),0 0 0 10px rgba(139,211,70,.12);
  transform:translate(-50%,-50%) rotate(-45deg);
  transition:transform .25s ease,box-shadow .25s ease;
}
.hhc-sa-hub .hhc-sa-map-home-pin b{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border-radius:50%;
  background:#fff;
  color:#07315c;
  font-size:1.15rem;
  font-weight:950;
  font-family:Arial,sans-serif;
  line-height:1;
  transform:rotate(45deg);
}
.hhc-sa-hub .hhc-sa-map-home-pin b::after{
  content:"";
  position:absolute;
  left:7px;
  right:7px;
  bottom:5px;
  height:3px;
  border-radius:999px;
  background:#8bd346;
}
.hhc-sa-hub .hhc-sa-map-home-pin i{display:none}
.hhc-sa-hub .hhc-sa-map-radius{
  position:absolute;
  left:var(--hhc-map-pin-x);
  top:var(--hhc-map-pin-y);
  z-index:6;
  border:1px solid rgba(139,211,70,.46);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.hhc-sa-hub .hhc-sa-map-radius-one{width:86px;height:86px}
.hhc-sa-hub .hhc-sa-map-radius-two{width:122px;height:122px;border-color:rgba(139,211,70,.25)}
.hhc-sa-hub .hhc-sa-style-b-card:hover .hhc-sa-map-home-pin{
  transform:translate(-50%,-54%) rotate(-45deg) scale(1.04);
  box-shadow:0 13px 26px rgba(1,44,90,.28),0 0 0 13px rgba(139,211,70,.14);
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-body{
  min-width:0;
  align-self:center;
  padding:14px 0 14px 4px;
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-kicker{
  margin-bottom:8px;
  color:#526b84;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.17em;
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-title-row{
  gap:7px;
  margin:0;
  flex-wrap:nowrap;
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-title-row h3{
  overflow:hidden;
  margin:0;
  color:#062f59;
  font-size:clamp(1.12rem,1.45vw,1.48rem);
  font-weight:900;
  line-height:1.04;
  letter-spacing:-.035em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-map-pin{
  width:17px;
  height:21px;
  flex:0 0 17px;
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-divider{
  display:block;
  width:min(100%,220px);
  height:1px;
  margin:10px 0 8px;
  background:linear-gradient(90deg,rgba(196,210,222,.9),rgba(196,210,222,.25));
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-meta{
  color:#314d69;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:-.01em;
  white-space:normal;
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-meta i{
  margin:0 4px;
  color:#76bd2a;
  font-style:normal;
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-status{
  margin-top:8px;
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-arrow{
  width:42px;
  height:42px;
  border:3px solid rgba(255,255,255,.96);
  border-radius:50%;
  background:#062f59;
  color:#fff;
  box-shadow:0 4px 12px rgba(1,44,90,.18),0 0 0 1px rgba(139,211,70,.35);
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-arrow svg{
  width:18px;
  height:18px;
}
.hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-arrow svg path{
  stroke:#fff;
  stroke-width:2;
}
.hhc-sa-hub .hhc-sa-style-b-card:hover .hhc-sa-location-arrow,
.hhc-sa-hub .hhc-sa-style-b-card:focus-visible .hhc-sa-location-arrow{
  transform:translateX(2px) scale(1.03);
  border-color:#fff;
  background:#0a3c6c;
  color:#fff;
  box-shadow:0 6px 15px rgba(1,44,90,.24),0 0 0 2px #8bd346;
}
.hhc-sa-hub .hhc-sa-location-card.hhc-sa-style-b-card.is-unpublished{
  border-style:dashed;
}

@media(max-width:1180px){
  .hhc-sa-hub .hhc-sa-location-card.hhc-sa-style-b-card{
    grid-template-columns:minmax(140px,40%) minmax(0,1fr) 42px;
    min-height:140px;
  }
  .hhc-sa-hub .hhc-sa-style-b-map{min-height:140px}
  .hhc-sa-hub .hhc-sa-map-home-pin{width:47px;height:47px;border-width:4px}
  .hhc-sa-hub .hhc-sa-map-home-pin b{width:28px;height:28px;font-size:1rem}
}
@media(max-width:1080px){
  .hhc-sa-hub .hhc-sa-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hhc-sa-hub .hhc-sa-location-card.hhc-sa-style-b-card{min-height:150px}
  .hhc-sa-hub .hhc-sa-style-b-map{min-height:150px}
}
@media(max-width:700px){
  .hhc-sa-hub .hhc-sa-location-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .hhc-sa-hub .hhc-sa-location-card.hhc-sa-style-b-card{
    grid-template-columns:minmax(122px,36%) minmax(0,1fr) 42px;
    min-height:132px;
    gap:11px;
    padding-right:12px;
    border-radius:17px;
  }
  .hhc-sa-hub .hhc-sa-style-b-map{min-height:126px;border-radius:16px 0 0 16px;clip-path:polygon(0 0,85% 0,100% 50%,85% 100%,0 100%)}
  .hhc-sa-hub .hhc-sa-style-b-map::after{width:3px;right:7%}
  .hhc-sa-hub .hhc-sa-map-active-dot{top:10px;left:10px;width:13px;height:13px;border-width:3px}
  .hhc-sa-hub .hhc-sa-map-home-pin{width:42px;height:42px;border-width:4px}
  .hhc-sa-hub .hhc-sa-map-home-pin b{width:25px;height:25px;font-size:.92rem}
  .hhc-sa-hub .hhc-sa-map-radius-one{width:68px;height:68px}
  .hhc-sa-hub .hhc-sa-map-radius-two{width:94px;height:94px}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-body{padding:10px 0 10px 0}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-kicker{margin-bottom:6px;font-size:.52rem;letter-spacing:.13em}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-title-row h3{font-size:1.05rem}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-divider{margin:7px 0 6px}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-meta{font-size:.62rem;line-height:1.2}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-meta i{margin:0 2px}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-arrow{width:36px;height:36px;border-width:2px}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-arrow svg{width:15px;height:15px}
}
@media(max-width:440px){
  .hhc-sa-hub .hhc-sa-location-grid{
    grid-template-columns:1fr;
  }
  .hhc-sa-hub .hhc-sa-location-card.hhc-sa-style-b-card{
    grid-template-columns:minmax(112px,35%) minmax(0,1fr) 38px;
    min-height:124px;
    gap:9px;
    padding-right:10px;
  }
  .hhc-sa-hub .hhc-sa-style-b-map{min-height:118px}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-title-row h3{font-size:.98rem}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-map-pin{width:14px;height:18px;flex-basis:14px}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-map-pin svg{width:14px;height:18px}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-meta{font-size:.58rem}
  .hhc-sa-hub .hhc-sa-style-b-card .hhc-sa-location-arrow{width:32px;height:32px}
}

/* ==========================================================
   v1.5.26 — LOCAL SEO / AI DISCOVERY / AGENT-FRIENDLY CONTENT
   Visible, people-first regional search copy + concise answer
   summaries. No hidden keyword blocks and no llms.txt hacks.
   ========================================================== */
.hhc-sa-hub .hhc-sa-hub-ai-answer{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  align-items:center;
  gap:24px;
  margin-top:30px;
  padding:22px 24px;
  border:1px solid rgba(139,211,70,.32);
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 45%,rgba(139,211,70,.20),transparent 38%),
    linear-gradient(112deg,#062f59 0%,#0a3b69 58%,#1f574e 100%);
  box-shadow:0 16px 36px rgba(1,44,90,.14);
  color:#fff;
}
.hhc-sa-hub .hhc-sa-hub-ai-answer-copy>span{
  display:block;
  margin-bottom:6px;
  color:#a9e56f;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hhc-sa-hub .hhc-sa-hub-ai-answer-copy>strong{
  display:block;
  color:#fff;
  font-size:clamp(1.05rem,1.55vw,1.35rem);
  line-height:1.18;
}
.hhc-sa-hub .hhc-sa-hub-ai-answer-copy p{
  max-width:850px;
  margin:8px 0 0;
  color:rgba(255,255,255,.82);
  font-size:.86rem;
  line-height:1.58;
}
.hhc-sa-hub .hhc-sa-hub-ai-intents{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
.hhc-sa-hub .hhc-sa-hub-ai-intents span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:.68rem;
  font-weight:800;
  white-space:nowrap;
}

.hhc-sa-hub .hhc-sa-region-seo{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:14px 22px;
  margin:-3px 0 20px;
  padding:0 0 20px;
  border-bottom:1px solid #e8eef3;
}
.hhc-sa-hub .hhc-sa-region-seo-copy>span,
.hhc-sa-hub .hhc-sa-region-search-intent>span{
  display:block;
  margin-bottom:6px;
  color:#5aa71f;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hhc-sa-hub .hhc-sa-region-seo-copy p{
  max-width:980px;
  margin:0;
  color:#49647c;
  font-size:.82rem;
  line-height:1.58;
}
.hhc-sa-hub .hhc-sa-region-search-intent>div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.hhc-sa-hub .hhc-sa-region-search-intent b{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 9px;
  border:1px solid rgba(139,211,70,.34);
  border-radius:999px;
  background:linear-gradient(135deg,#fff,#f2faeb);
  color:#214b72;
  font-size:.64rem;
  font-weight:800;
  line-height:1.1;
}
.hhc-sa-hub .hhc-sa-region-city-links{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 8px;
  padding-top:2px;
}
.hhc-sa-hub .hhc-sa-region-city-links>span{
  color:#667f94;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.hhc-sa-hub .hhc-sa-region-city-links a{
  position:relative;
  color:#07345f!important;
  font-size:.7rem;
  font-weight:800;
  text-decoration:none!important;
}
.hhc-sa-hub .hhc-sa-region-city-links a:not(:last-child)::after{
  content:"•";
  margin-left:8px;
  color:#79c629;
}
.hhc-sa-hub .hhc-sa-region-city-links a:hover,
.hhc-sa-hub .hhc-sa-region-city-links a:focus-visible{
  color:#5a9e23!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}

.hhc-sa-ai-answer-section{
  position:relative;
  z-index:12;
  margin-top:10px;
  padding:0 0 18px;
}
.hhc-sa-ai-answer-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(460px,.95fr);
  gap:24px;
  align-items:center;
  padding:22px 24px;
  border:1px solid rgba(139,211,70,.34);
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 18%,rgba(139,211,70,.17),transparent 38%),
    linear-gradient(112deg,#072f59 0%,#0a3d6a 58%,#164c58 100%);
  box-shadow:0 18px 42px rgba(1,44,90,.18);
  color:#fff;
}
.hhc-sa-ai-answer-kicker{
  display:block;
  margin-bottom:6px;
  color:#a8e66f;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hhc-sa-ai-answer-copy h2{
  margin:0;
  color:#fff!important;
  font-size:clamp(1.35rem,2vw,1.9rem);
  line-height:1.08;
}
.hhc-sa-ai-answer-lead{
  margin:9px 0 0;
  color:rgba(255,255,255,.88)!important;
  font-size:.86rem;
  line-height:1.55;
}
.hhc-sa-ai-answer-coverage{
  margin:8px 0 0;
  color:rgba(255,255,255,.70)!important;
  font-size:.73rem;
  line-height:1.45;
}
.hhc-sa-ai-answer-coverage strong{color:#c8ef9e}
.hhc-sa-ai-answer-services{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.hhc-sa-ai-answer-services>div{
  min-height:72px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.075);
}
.hhc-sa-ai-answer-services strong{
  display:block;
  margin-bottom:4px;
  color:#fff;
  font-size:.75rem;
  line-height:1.15;
}
.hhc-sa-ai-answer-services span{
  display:block;
  color:rgba(255,255,255,.68);
  font-size:.64rem;
  line-height:1.35;
}

@media(max-width:1080px){
  .hhc-sa-hub .hhc-sa-hub-ai-answer,
  .hhc-sa-hub .hhc-sa-region-seo,
  .hhc-sa-ai-answer-card{
    grid-template-columns:1fr;
  }
  .hhc-sa-hub .hhc-sa-hub-ai-intents{justify-content:flex-start}
  .hhc-sa-ai-answer-services{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
  .hhc-sa-hub .hhc-sa-hub-ai-answer{
    margin-top:22px;
    padding:18px;
    border-radius:18px;
  }
  .hhc-sa-hub .hhc-sa-region-seo{
    gap:13px;
    margin-bottom:16px;
    padding-bottom:16px;
  }
  .hhc-sa-hub .hhc-sa-region-search-intent b{font-size:.6rem}
  .hhc-sa-hub .hhc-sa-region-city-links{gap:5px 7px}
  .hhc-sa-ai-answer-section{margin-top:10px;padding-bottom:10px}
  .hhc-sa-ai-answer-card{padding:18px;border-radius:19px;gap:16px}
  .hhc-sa-ai-answer-services{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .hhc-sa-hub .hhc-sa-hub-ai-intents span{font-size:.61rem;padding:6px 8px}
  .hhc-sa-hub .hhc-sa-region-seo-copy p{font-size:.76rem}
  .hhc-sa-hub .hhc-sa-region-city-links a{font-size:.66rem}
  .hhc-sa-ai-answer-card{padding:16px}
  .hhc-sa-ai-answer-services{grid-template-columns:1fr 1fr;gap:6px}
  .hhc-sa-ai-answer-services>div{min-height:66px;padding:9px 10px}
}

/* ==========================================================
   v1.5.29 — STYLE B MAP EDGE ACCENT ALIGNMENT
   The green separator now follows the exact chevron edge of the
   clipped map pane instead of using a rotated vertical bar that
   could drift inward at different card sizes/breakpoints.
   ========================================================== */
.hhc-sa-hub .hhc-sa-style-b-map{
  --hhc-sa-map-edge-x:87%;
  --hhc-sa-map-edge-inner-x:84%;
  --hhc-sa-map-edge-inner-mid:96.5%;
}
.hhc-sa-hub .hhc-sa-style-b-map::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:8;
  width:auto;
  height:auto;
  background:#8bd346;
  transform:none;
  transform-origin:center;
  opacity:.98;
  clip-path:polygon(
    var(--hhc-sa-map-edge-x) 0,
    100% 50%,
    var(--hhc-sa-map-edge-x) 100%,
    var(--hhc-sa-map-edge-inner-x) 100%,
    var(--hhc-sa-map-edge-inner-mid) 50%,
    var(--hhc-sa-map-edge-inner-x) 0
  );
  pointer-events:none;
}
@media(max-width:700px){
  .hhc-sa-hub .hhc-sa-style-b-map{
    --hhc-sa-map-edge-x:85%;
    --hhc-sa-map-edge-inner-x:82%;
    --hhc-sa-map-edge-inner-mid:96%;
  }
  .hhc-sa-hub .hhc-sa-style-b-map::after{
    right:auto;
    width:auto;
  }
}



/* ==========================================================
   v1.5.30 — HUB VERIFIED CARD + LIVE TEAM CTA
   - Address-checker result now mirrors the current Style B
     directory-card language and uses the dedicated map artwork.
   - Hub closing CTA reuses Harry's customer-facing team roster
     and current phone settings for a live/available team treatment.
   ========================================================== */

/* Address checker: current Style B local-area card */
.hhc-sa-hub .hhc-sa-verified-area-card.hhc-sa-verified-style-b{
  --hhc-verified-edge:86%;
  --hhc-verified-edge-inner:82.7%;
  --hhc-verified-edge-mid:96.4%;
  min-height:112px;
  display:grid;
  grid-template-columns:minmax(132px,31%) minmax(0,1fr) 48px;
  align-items:center;
  gap:13px;
  margin:16px 0 0;
  padding:0 13px 0 0;
  overflow:hidden;
  border:1px solid rgba(192,211,224,.88);
  border-radius:18px;
  background:
    radial-gradient(circle at 92% 14%,rgba(139,211,70,.10),transparent 35%),
    linear-gradient(135deg,#fff 0%,#fbfdff 62%,#f5faef 100%);
  box-shadow:0 12px 28px rgba(1,44,90,.08);
}
.hhc-sa-hub .hhc-sa-verified-area-card.hhc-sa-verified-style-b.is-outside{
  border-color:rgba(220,192,118,.65);
  background:linear-gradient(135deg,#fff 0%,#fffdf8 66%,#fff8e7 100%);
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-media{
  position:relative;
  align-self:stretch;
  width:100%;
  height:auto;
  min-height:112px;
  overflow:hidden;
  border-radius:17px 0 0 17px;
  background:#d8e3ee;
  clip-path:polygon(0 0,var(--hhc-verified-edge) 0,100% 50%,var(--hhc-verified-edge) 100%,0 100%);
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(145deg,rgba(10,58,96,.24),rgba(216,231,242,.12) 48%,rgba(139,211,70,.12));
  pointer-events:none;
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:8;
  background:#8bd346;
  clip-path:polygon(
    var(--hhc-verified-edge) 0,
    100% 50%,
    var(--hhc-verified-edge) 100%,
    var(--hhc-verified-edge-inner) 100%,
    var(--hhc-verified-edge-mid) 50%,
    var(--hhc-verified-edge-inner) 0
  );
  pointer-events:none;
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-map-image{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  filter:saturate(.92) contrast(.98) brightness(1.01);
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-active-dot{
  position:absolute;
  top:12px;
  left:12px;
  z-index:10;
  width:15px;
  height:15px;
  border:4px solid #fff;
  border-radius:50%;
  background:#79c629;
  box-shadow:0 2px 8px rgba(1,44,90,.14);
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-media.is-empty::after{
  content:"";
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-media.is-empty::before{
  background:
    radial-gradient(circle at 48% 48%,rgba(139,211,70,.34),transparent 24%),
    linear-gradient(145deg,#0d4b7c,#062f56);
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-copy{
  min-width:0;
  padding:14px 0;
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-copy>span:first-child{
  display:block;
  margin:0 0 7px;
  color:#315d7f;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:0;
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-title strong{
  color:#012c5a;
  font-size:1.14rem;
  font-weight:900;
  line-height:1.05;
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-title .hhc-sa-location-map-pin{
  width:15px;
  height:19px;
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-title .hhc-sa-location-map-pin svg{
  width:15px;
  height:19px;
}
.hhc-sa-hub .hhc-sa-verified-area-divider{
  display:block;
  width:min(100%,220px);
  height:1px;
  margin:8px 0 7px;
  background:linear-gradient(90deg,rgba(1,44,90,.18),rgba(1,44,90,.05));
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-copy p{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  margin:0;
  color:#123f68;
  font-size:.72rem;
  font-weight:750;
  line-height:1.25;
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-copy p i{
  color:#75bd2f;
  font-style:normal;
  font-weight:900;
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action{
  width:42px;
  height:42px;
  min-height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:2px solid #fff;
  border-radius:50%;
  background:#012c5a;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 0 0 1px rgba(139,211,70,.58),0 7px 16px rgba(1,44,90,.17);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action:hover,
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action:focus-visible{
  transform:translateX(2px) scale(1.05);
  background:#0a4778;
  box-shadow:0 0 0 3px rgba(139,211,70,.13),0 10px 22px rgba(1,44,90,.2);
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* All Service Areas closing CTA: live team / phone treatment */
.hhc-sa-hub-team-cta{
  padding:38px 0 18px;
  background:#f7fafc;
}
.hhc-sa-hub-team-card{
  width:min(1580px,calc(100% - 32px));
  min-height:250px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:54px;
  padding:44px clamp(34px,4vw,62px);
  overflow:hidden;
  border:1px solid rgba(198,215,226,.78);
  border-radius:30px;
  background:
    radial-gradient(circle at 91% 48%,rgba(139,211,70,.24),transparent 31%),
    radial-gradient(circle at 72% 0%,rgba(139,211,70,.09),transparent 29%),
    linear-gradient(110deg,#fff 0%,#fbfdff 58%,#f4faee 100%);
  box-shadow:0 22px 52px rgba(1,44,90,.09);
}
.hhc-sa-hub-team-copy>span{
  display:block;
  margin:0 0 13px;
  color:#4f9e19;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hhc-sa-hub-team-copy h2{
  margin:0 0 14px;
  color:#012c5a;
  font-size:clamp(2.25rem,3.6vw,4rem);
  line-height:1.02;
  letter-spacing:-.035em;
}
.hhc-sa-hub-team-copy p{
  max-width:820px;
  margin:0;
  color:#60778b;
  font-size:clamp(1rem,1.3vw,1.28rem);
  line-height:1.55;
}
.hhc-sa-hub-team-online{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:17px;
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
  font-size:.84rem;
  font-weight:900;
  text-decoration:none!important;
}
.hhc-sa-hub-team-online b{color:#69b624;font-size:1rem}
.hhc-sa-hub-team-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:30px;
}
.hhc-sa-hub-team-roster{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.hhc-sa-hub-team-roster small{
  display:block;
  padding-left:8px;
  color:#315d7f;
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
}
.hhc-sa-hub-team-roster small i{
  color:#75bd2f;
  font-style:normal;
  margin:0 4px;
}
.hhc-sa-hub-team-faces{
  display:flex;
  align-items:center;
  padding-left:4px;
}
.hhc-sa-hub-team-face{
  position:relative;
  z-index:1;
  flex:0 0 64px;
  width:64px;
  height:64px;
  margin-left:-9px;
  overflow:visible;
  border:3px solid #fff;
  border-radius:50%;
  background:#164d78;
  box-shadow:0 0 0 2px rgba(139,211,70,.72),0 7px 18px rgba(1,44,90,.14);
  transition:transform .2s ease,z-index .2s ease;
}
.hhc-sa-hub-team-face:first-child{margin-left:0}
.hhc-sa-hub-team-face:hover{z-index:5;transform:translateY(-4px) scale(1.05)}
.hhc-sa-hub-team-face img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  border-radius:50%;
  object-fit:cover!important;
}
.hhc-sa-hub-team-face>b{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  border-radius:50%;
  color:#fff;
  font-size:1.2rem;
  font-weight:900;
}
.hhc-sa-hub-team-face>i{
  position:absolute;
  right:-1px;
  bottom:1px;
  z-index:4;
  width:14px;
  height:14px;
  border:3px solid #fff;
  border-radius:50%;
  background:#78c62d;
  box-shadow:0 0 0 1px rgba(84,151,25,.22);
}
.hhc-sa-hub-team-phone{
  min-width:244px;
  min-height:76px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 24px;
  border-radius:16px;
  background:#83d53a;
  color:#012c5a!important;
  -webkit-text-fill-color:#012c5a!important;
  box-shadow:0 15px 34px rgba(105,182,36,.24);
  font-size:1.22rem;
  font-weight:950;
  text-decoration:none!important;
  white-space:nowrap;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.hhc-sa-hub-team-phone:hover,
.hhc-sa-hub-team-phone:focus-visible{
  transform:translateY(-3px);
  background:#91df49;
  box-shadow:0 19px 38px rgba(105,182,36,.32);
  outline:none;
}
.hhc-sa-hub-team-disclaimer{
  margin-top:15px!important;
  color:#7c8f9f!important;
}

@media(max-width:1100px){
  .hhc-sa-hub-team-card{
    grid-template-columns:1fr;
    gap:28px;
  }
  .hhc-sa-hub-team-actions{
    justify-content:flex-start;
  }
}
@media(max-width:700px){
  .hhc-sa-hub .hhc-sa-verified-area-card.hhc-sa-verified-style-b{
    --hhc-verified-edge:84%;
    --hhc-verified-edge-inner:80.5%;
    --hhc-verified-edge-mid:95.8%;
    grid-template-columns:minmax(106px,32%) minmax(0,1fr) 40px;
    min-height:102px;
    gap:10px;
    padding-right:10px;
    border-radius:16px;
  }
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-media{
    min-height:102px;
    border-radius:15px 0 0 15px;
  }
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-active-dot{
    top:9px;left:9px;width:13px;height:13px;border-width:3px;
  }
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-copy{padding:10px 0}
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-copy>span:first-child{font-size:.5rem;letter-spacing:.12em;margin-bottom:5px}
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-title strong{font-size:.98rem}
  .hhc-sa-hub .hhc-sa-verified-area-divider{margin:6px 0 5px}
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-copy p{font-size:.59rem;gap:3px}
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action{width:34px;height:34px;min-height:34px}
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action svg{width:15px;height:15px}

  .hhc-sa-hub-team-cta{padding:26px 0 12px}
  .hhc-sa-hub-team-card{
    width:min(100% - 20px,1580px);
    min-height:0;
    padding:30px 22px;
    gap:25px;
    border-radius:23px;
    text-align:center;
  }
  .hhc-sa-hub-team-copy>span{margin-bottom:10px;font-size:.68rem}
  .hhc-sa-hub-team-copy h2{font-size:clamp(2rem,9.6vw,2.8rem)}
  .hhc-sa-hub-team-copy p{font-size:.96rem}
  .hhc-sa-hub-team-online{justify-content:center}
  .hhc-sa-hub-team-actions{
    flex-direction:column;
    align-items:center;
    gap:18px;
  }
  .hhc-sa-hub-team-roster{align-items:center}
  .hhc-sa-hub-team-roster small{padding-left:0}
  .hhc-sa-hub-team-face{
    flex-basis:54px;
    width:54px;
    height:54px;
    margin-left:-8px;
  }
  .hhc-sa-hub-team-face>i{width:12px;height:12px;border-width:2px}
  .hhc-sa-hub-team-phone{
    width:100%;
    min-width:0;
    min-height:60px;
    border-radius:14px;
    font-size:1.08rem;
  }
}
@media(max-width:430px){
  .hhc-sa-hub .hhc-sa-verified-area-card.hhc-sa-verified-style-b{
    grid-template-columns:96px minmax(0,1fr) 34px;
    min-height:96px;
    gap:8px;
    padding-right:8px;
  }
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-media{min-height:96px}
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-title strong{font-size:.9rem}
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-title .hhc-sa-location-map-pin{width:13px;height:16px}
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-title .hhc-sa-location-map-pin svg{width:13px;height:16px}
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-copy p{font-size:.54rem}
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action{width:31px;height:31px;min-height:31px}

  .hhc-sa-hub-team-card{padding:27px 17px}
  .hhc-sa-hub-team-face{flex-basis:48px;width:48px;height:48px;margin-left:-7px}
}

/* ================================================================
 * v1.6.0 — Smart Local Service Dock + SEO-safe Service Area Router
 * ================================================================ */
body.hhc-sa-smart-open{overflow:hidden!important;touch-action:none}

.hhc-sa-smart-local-root{
  --smart-navy:#012c5a;
  --smart-navy-2:#074878;
  --smart-green:#8bd246;
  --smart-green-dark:#65b226;
  --smart-ink:#092f55;
  --smart-muted:#627a90;
  --smart-line:#d9e5ee;
  --smart-soft:#f5f9fc;
  --smart-shadow:0 24px 70px rgba(1,44,90,.24);
  position:relative;
  z-index:2147482000;
  font-family:inherit;
}
.hhc-sa-smart-local-root *{box-sizing:border-box}
.hhc-sa-smart-local-root[hidden],
.hhc-sa-smart-local-root [hidden],
.hhc-sa-hub-location-overlay[hidden]{display:none!important}

/* Display-mode controls. Mobile is the production default. */
.hhc-sa-smart-display-mobile,
.hhc-sa-smart-display-mobile-tablet{display:none}
.hhc-sa-smart-display-all{display:block}
@media(max-width:1024px){.hhc-sa-smart-display-mobile-tablet{display:block}}
@media(max-width:768px){.hhc-sa-smart-display-mobile{display:block}}

.hhc-sa-smart-dock{
  position:fixed!important;
  left:max(14px,env(safe-area-inset-left));
  right:max(14px,env(safe-area-inset-right));
  bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));
  z-index:2147482004;
  width:auto!important;
  max-width:560px;
  min-height:66px;
  margin:0 auto!important;
  padding:8px 9px 8px 12px!important;
  display:flex!important;
  align-items:center;
  gap:11px;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,rgba(1,44,90,.98),rgba(7,72,120,.97))!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 13px 36px rgba(0,30,62,.34),inset 0 1px 0 rgba(255,255,255,.12)!important;
  text-align:left!important;
  cursor:pointer!important;
  appearance:none!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.hhc-sa-smart-dock:hover,.hhc-sa-smart-dock:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 17px 42px rgba(0,30,62,.4),0 0 0 2px rgba(139,210,70,.14)!important;
  outline:none!important;
}
.hhc-sa-smart-dock-pulse{
  position:relative;
  flex:0 0 38px;
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(139,210,70,.12);
  border:1px solid rgba(139,210,70,.28);
}
.hhc-sa-smart-dock-pulse:before,
.hhc-sa-smart-dock-pulse i{
  content:"";
  width:11px;height:11px;
  border-radius:50%;
  background:var(--smart-green);
  box-shadow:0 0 0 4px rgba(139,210,70,.13),0 0 16px rgba(139,210,70,.72);
}
.hhc-sa-smart-dock-pulse:before{position:absolute;animation:hhc-sa-smart-pulse 2s ease-out infinite}
.hhc-sa-smart-dock-copy{min-width:0;display:flex;flex:1 1 auto;flex-direction:column;gap:1px}
.hhc-sa-smart-dock-copy small{
  display:block;color:#b8d7ec!important;font-size:10px!important;font-weight:800!important;line-height:1.25!important;
  letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.hhc-sa-smart-dock-copy small b{color:var(--smart-green)!important;font-size:12px}
.hhc-sa-smart-dock-copy strong{
  display:block;color:#fff!important;font-size:15px!important;line-height:1.2!important;font-weight:900!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.hhc-sa-smart-dock-open-icon{
  flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;
  background:var(--smart-green);color:var(--smart-navy)!important;-webkit-text-fill-color:var(--smart-navy)!important;
  font-size:24px;line-height:1;font-weight:600;box-shadow:0 8px 20px rgba(103,181,37,.25)
}
.hhc-sa-smart-local-root.is-open .hhc-sa-smart-dock{opacity:0;pointer-events:none;transform:translateY(14px)}

.hhc-sa-smart-backdrop{
  position:fixed!important;inset:0!important;z-index:2147482005!important;
  background:rgba(0,25,51,.54)!important;
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)
}
.hhc-sa-smart-sheet{
  position:fixed!important;
  left:50%!important;
  bottom:0!important;
  z-index:2147482006!important;
  width:min(760px,100%)!important;
  max-height:min(90dvh,860px)!important;
  margin:0!important;
  padding:12px 18px max(20px,calc(env(safe-area-inset-bottom) + 14px))!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  transform:translateX(-50%);
  border:1px solid rgba(1,44,90,.11)!important;
  border-bottom:0!important;
  border-radius:28px 28px 0 0!important;
  background:#fff!important;
  color:var(--smart-ink)!important;
  box-shadow:var(--smart-shadow)!important;
  scrollbar-width:thin;
  scrollbar-color:#b5c9d9 transparent;
}
.hhc-sa-smart-handle{width:50px;height:5px;margin:0 auto 10px;border-radius:999px;background:#d4e0e9}
.hhc-sa-smart-sheet-top{
  position:sticky;top:-12px;z-index:10;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 -18px 14px;padding:10px 18px 12px;
  background:rgba(255,255,255,.96);border-bottom:1px solid #e7eef4;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.hhc-sa-smart-place{min-width:0;display:flex;align-items:center;gap:10px}
.hhc-sa-smart-place-map{flex:0 0 60px;width:60px;height:46px;overflow:hidden;border-radius:11px;border:1px solid #d6e3ec;background:#edf5f8}
.hhc-sa-smart-place-map img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.hhc-sa-smart-place-pin{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eef8e7;color:#65b226;font-size:24px}
.hhc-sa-smart-place>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.hhc-sa-smart-place small{color:#648097!important;font-size:9px!important;line-height:1.15!important;font-weight:900!important;letter-spacing:.12em;text-transform:uppercase}
.hhc-sa-smart-place strong{max-width:260px;color:var(--smart-navy)!important;font-size:16px!important;line-height:1.2!important;font-weight:950!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hhc-sa-smart-place button{
  width:auto!important;min-height:0!important;margin:1px 0 0!important;padding:0!important;border:0!important;background:transparent!important;
  color:#5aa91e!important;-webkit-text-fill-color:#5aa91e!important;font-size:11px!important;line-height:1.2!important;font-weight:850!important;text-decoration:underline;text-underline-offset:2px;cursor:pointer
}
.hhc-sa-smart-close{
  flex:0 0 40px!important;width:40px!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0!important;
  display:grid!important;place-items:center!important;border:1px solid #dae6ef!important;border-radius:12px!important;background:#f5f9fc!important;
  color:var(--smart-navy)!important;-webkit-text-fill-color:var(--smart-navy)!important;font-size:25px!important;line-height:1!important;font-weight:500!important;cursor:pointer!important
}
.hhc-sa-smart-close:hover,.hhc-sa-smart-close:focus-visible{background:#eaf3f8!important;outline:2px solid rgba(139,210,70,.45)!important;outline-offset:1px!important}

.hhc-sa-smart-screen{animation:hhc-sa-smart-screen-in .22s ease both}
.hhc-sa-smart-heading{margin:0 0 15px}
.hhc-sa-smart-heading>span{
  display:block;margin:0 0 5px;color:#65b226!important;font-size:10px!important;line-height:1.25!important;font-weight:950!important;letter-spacing:.13em;text-transform:uppercase
}
.hhc-sa-smart-heading h2{margin:0 0 7px!important;color:var(--smart-navy)!important;font-size:clamp(25px,6vw,34px)!important;line-height:1.04!important;font-weight:950!important;letter-spacing:-.035em!important}
.hhc-sa-smart-heading h2 b{color:inherit!important;font-weight:inherit!important}
.hhc-sa-smart-heading p{margin:0!important;color:var(--smart-muted)!important;font-size:13.5px!important;line-height:1.55!important}

.hhc-sa-smart-location-note{
  display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:9px;
  margin:0 0 14px;padding:10px 11px;border:1px solid #d6eac7;border-radius:13px;background:#f5fbeF
}
.hhc-sa-smart-location-dot{width:9px;height:9px;border-radius:50%;background:var(--smart-green);box-shadow:0 0 0 4px rgba(139,210,70,.15)}
.hhc-sa-smart-location-note div{min-width:0}
.hhc-sa-smart-location-note small{display:block;color:#66804f!important;font-size:8.5px!important;line-height:1.15!important;font-weight:900!important;letter-spacing:.1em}
.hhc-sa-smart-location-note strong{display:block;color:#264b2a!important;font-size:11.5px!important;line-height:1.35!important;font-weight:800!important}
.hhc-sa-smart-location-note button{width:auto!important;min-height:34px!important;margin:0!important;padding:6px 10px!important;border:0!important;border-radius:9px!important;background:#dff4cd!important;color:#28561e!important;-webkit-text-fill-color:#28561e!important;font-size:10.5px!important;font-weight:900!important;cursor:pointer!important}

.hhc-sa-smart-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 13px}
.hhc-sa-smart-service{
  width:100%!important;min-height:70px!important;margin:0!important;padding:10px 11px!important;
  display:grid!important;grid-template-columns:40px minmax(0,1fr) 24px;align-items:center;gap:9px;
  border:1px solid #dce8f0!important;border-radius:15px!important;background:linear-gradient(150deg,#fff,#f6fafc)!important;
  color:var(--smart-navy)!important;-webkit-text-fill-color:var(--smart-navy)!important;text-align:left!important;box-shadow:0 6px 16px rgba(1,44,90,.045)!important;cursor:pointer!important
}
.hhc-sa-smart-service:hover,.hhc-sa-smart-service:focus-visible{border-color:#a9d783!important;background:linear-gradient(150deg,#fff,#f5fbea)!important;transform:translateY(-1px);box-shadow:0 9px 20px rgba(1,44,90,.08)!important;outline:none!important}
.hhc-sa-smart-service>i{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#edf7e7;color:#5fab21!important;font-style:normal!important}
.hhc-sa-smart-service>i svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hhc-sa-smart-service>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:2px;color:var(--smart-navy)!important;line-height:1.2!important}
.hhc-sa-smart-service>span:nth-child(2)>strong{color:var(--smart-navy)!important;font-size:12.5px!important;line-height:1.15!important;font-weight:900!important}
.hhc-sa-smart-service>span:nth-child(2)>small{color:#73899b!important;font-size:9px!important;line-height:1.2!important;font-weight:650!important}
.hhc-sa-smart-service>b:last-child{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--smart-navy);color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:13px!important;font-weight:850!important}

.hhc-sa-smart-exact,.hhc-sa-smart-location-primary{
  width:100%!important;min-height:60px!important;margin:0 0 11px!important;padding:9px 11px!important;
  display:grid!important;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:10px;
  border:1px solid #d7e4ed!important;border-radius:14px!important;background:#f7fafc!important;color:var(--smart-navy)!important;-webkit-text-fill-color:var(--smart-navy)!important;text-align:left!important;cursor:pointer!important
}
.hhc-sa-smart-exact>span,.hhc-sa-smart-location-primary>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--smart-navy);color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:21px!important}
.hhc-sa-smart-exact div,.hhc-sa-smart-location-primary div{min-width:0}
.hhc-sa-smart-exact strong,.hhc-sa-smart-location-primary strong{display:block;color:var(--smart-navy)!important;font-size:12.5px!important;line-height:1.2!important;font-weight:900!important}
.hhc-sa-smart-exact small,.hhc-sa-smart-location-primary small{display:block;margin-top:2px;color:#6d8396!important;font-size:10px!important;line-height:1.35!important;font-weight:600!important}
.hhc-sa-smart-exact>b,.hhc-sa-smart-location-primary>b{color:#65b226!important;font-size:17px!important}
.hhc-sa-smart-exact:hover,.hhc-sa-smart-location-primary:hover{border-color:#a8d781!important;background:#f4faef!important}
.hhc-sa-smart-exact.is-loading,.hhc-sa-smart-location-primary.is-loading{opacity:.65;cursor:wait!important}
.hhc-sa-smart-exact.is-error,.hhc-sa-smart-location-primary.is-error{border-color:#df9a9a!important;background:#fff8f8!important}

.hhc-sa-smart-call-mini{
  display:flex!important;align-items:center;justify-content:center;gap:4px;width:100%;min-height:40px;padding:7px 10px;border-radius:11px;
  background:#eef6fb;color:#45647d!important;-webkit-text-fill-color:#45647d!important;text-decoration:none!important;font-size:11px!important;font-weight:700!important
}
.hhc-sa-smart-call-mini strong{color:var(--smart-navy)!important;font-weight:950!important}

.hhc-sa-smart-back{
  width:auto!important;min-height:34px!important;margin:0 0 8px!important;padding:5px 9px!important;border:1px solid #dbe6ee!important;border-radius:10px!important;
  background:#f7fafc!important;color:var(--smart-navy)!important;-webkit-text-fill-color:var(--smart-navy)!important;font-size:11px!important;font-weight:850!important;cursor:pointer!important
}
.hhc-sa-smart-form-heading{padding:13px 14px;margin-bottom:12px;border-radius:16px;background:linear-gradient(135deg,var(--smart-navy),#0c5b89)}
.hhc-sa-smart-form-heading>span{color:#a9e56f!important}
.hhc-sa-smart-form-heading h2{color:#fff!important;font-size:24px!important}
.hhc-sa-smart-form-heading p{color:#d3e4f0!important;font-size:12px!important}

.hhc-sa-smart-form{margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--smart-ink)!important}
.hhc-sa-smart-intent-block{margin:0 0 12px;padding:11px;border:1px solid #e0e9ef;border-radius:14px;background:#f8fbfd}
.hhc-sa-smart-intent-block>span{display:block;margin:0 0 6px;color:#395b75!important;font-size:10px!important;line-height:1.2!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.06em}
.hhc-sa-smart-intent-block>span:not(:first-child){margin-top:10px}
.hhc-sa-smart-chip-row{display:flex;flex-wrap:wrap;gap:6px}
.hhc-sa-smart-chip-row button{
  width:auto!important;min-height:34px!important;margin:0!important;padding:6px 10px!important;border:1px solid #d6e3ec!important;border-radius:999px!important;
  background:#fff!important;color:#385b76!important;-webkit-text-fill-color:#385b76!important;font-size:10.5px!important;font-weight:800!important;box-shadow:none!important;cursor:pointer!important
}
.hhc-sa-smart-chip-row button.is-selected{border-color:var(--smart-green)!important;background:#eaf8de!important;color:#285b1c!important;-webkit-text-fill-color:#285b1c!important;box-shadow:inset 0 0 0 1px rgba(139,210,70,.35)!important}
.hhc-sa-smart-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hhc-sa-smart-form label{display:block;margin:0 0 10px!important;color:#264b68!important;font-size:11px!important;font-weight:850!important;line-height:1.3!important}
.hhc-sa-smart-form label>span{display:block;margin-bottom:5px;color:#264b68!important;font-size:11px!important;font-weight:850!important}
.hhc-sa-smart-form input:not([type=checkbox]),.hhc-sa-smart-form textarea{
  width:100%!important;min-height:45px!important;margin:0!important;padding:10px 11px!important;border:1px solid #d6e2eb!important;border-radius:11px!important;
  background:#f8fbfd!important;color:#123b5e!important;-webkit-text-fill-color:#123b5e!important;font:inherit!important;font-size:13px!important;font-weight:650!important;box-shadow:inset 0 1px 2px rgba(1,44,90,.025)!important;outline:none!important
}
.hhc-sa-smart-form textarea{min-height:72px!important;resize:vertical}
.hhc-sa-smart-form input:focus,.hhc-sa-smart-form textarea:focus{border-color:#7fbc4f!important;box-shadow:0 0 0 3px rgba(139,210,70,.13)!important;background:#fff!important}
.hhc-sa-smart-form input::placeholder,.hhc-sa-smart-form textarea::placeholder{color:#8a9cab!important;-webkit-text-fill-color:#8a9cab!important;opacity:1}
.hhc-sa-smart-wide{display:block!important}
.hhc-sa-smart-wide>small{display:block;margin:5px 0 0;color:#788d9e!important;font-size:9.5px!important;line-height:1.4!important;font-weight:600!important}
.hhc-sa-smart-other input{background:#fffdf4!important;border-color:#eadba7!important}
.hhc-sa-smart-consent{display:flex!important;align-items:flex-start;gap:8px;margin:5px 0 11px!important;padding:9px 10px;border-radius:11px;background:#f7fafc}
.hhc-sa-smart-consent input{flex:0 0 auto;width:17px!important;height:17px!important;margin:1px 0 0!important;accent-color:var(--smart-green)}
.hhc-sa-smart-consent span{margin:0!important;color:#5d7385!important;font-size:10px!important;line-height:1.4!important;font-weight:650!important}
.hhc-sa-smart-turnstile{margin:4px 0 10px;min-height:1px;overflow:visible}
.hhc-sa-smart-submit{
  width:100%!important;min-height:51px!important;margin:2px 0 0!important;padding:10px 13px!important;display:flex!important;align-items:center;justify-content:center;gap:10px;
  border:0!important;border-radius:13px!important;background:linear-gradient(135deg,#8bd246,#75c633)!important;color:var(--smart-navy)!important;-webkit-text-fill-color:var(--smart-navy)!important;
  font-size:13px!important;font-weight:950!important;box-shadow:0 11px 24px rgba(105,181,37,.22)!important;cursor:pointer!important
}
.hhc-sa-smart-submit:hover,.hhc-sa-smart-submit:focus-visible{background:linear-gradient(135deg,#99df52,#83d43e)!important;transform:translateY(-1px);outline:none!important}
.hhc-sa-smart-status{margin:8px 0 0!important;padding:0!important;font-size:11px!important;line-height:1.4!important;text-align:center!important}
.hhc-sa-smart-status.is-error,.hhc-sa-smart-status[data-status=error]{color:#a33434!important}
.hhc-sa-smart-status.is-success,.hhc-sa-smart-status[data-status=success]{color:#3f7c25!important}
.hhc-sa-smart-security{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:8px;color:#73899a}
.hhc-sa-smart-security>span{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:#eef8e8;color:#5aa921;font-size:11px;font-weight:900}
.hhc-sa-smart-security p{margin:0!important;display:flex;flex-direction:column}
.hhc-sa-smart-security strong{color:#48657d!important;font-size:9.5px!important;line-height:1.2!important;font-weight:900!important}
.hhc-sa-smart-security small{color:#8294a3!important;font-size:8.5px!important;line-height:1.3!important;font-weight:600!important}

/* Keep Google suggestions above the bottom-sheet fields. */
.hhc-sa-smart-form .hhc-flh-address-input-wrap{position:relative!important}
.hhc-sa-smart-form .hhc-flh-suggestions{
  position:absolute!important;left:0!important;right:0!important;top:calc(100% + 5px)!important;z-index:50!important;
  max-height:210px!important;overflow:auto!important;border:1px solid #d7e4ed!important;border-radius:12px!important;background:#fff!important;box-shadow:0 14px 34px rgba(1,44,90,.18)!important
}
.hhc-sa-smart-form .hhc-flh-suggestion{width:100%!important;min-height:42px!important;margin:0!important;padding:9px 11px!important;border:0!important;border-bottom:1px solid #edf2f6!important;border-radius:0!important;background:#fff!important;color:#173f61!important;-webkit-text-fill-color:#173f61!important;text-align:left!important;font-size:11px!important;font-weight:700!important;box-shadow:none!important}
.hhc-sa-smart-form .hhc-flh-suggestion:hover{background:#f2f8ee!important}

.hhc-sa-smart-fallback{padding:18px;border:1px solid #dae6ee;border-radius:16px;background:#f8fbfd;text-align:center}
.hhc-sa-smart-fallback strong{display:block;color:var(--smart-navy)!important;font-size:15px!important}
.hhc-sa-smart-fallback p{margin:6px 0 13px!important;color:#6a8193!important;font-size:12px!important;line-height:1.5!important}
.hhc-sa-smart-fallback>div{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.hhc-sa-smart-fallback a{display:inline-flex;min-height:40px;align-items:center;padding:8px 12px;border-radius:10px;background:var(--smart-navy);color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:850}

.hhc-sa-smart-location-search{display:block;margin:0 0 10px!important;color:#425f76!important;font-size:10px!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.06em}
.hhc-sa-smart-location-search span{display:block;margin-bottom:5px}
.hhc-sa-smart-location-search input{width:100%!important;min-height:45px!important;padding:9px 11px!important;border:1px solid #d6e3ec!important;border-radius:11px!important;background:#f8fbfd!important;color:#143e60!important;-webkit-text-fill-color:#143e60!important;font-size:13px!important;outline:none!important}
.hhc-sa-smart-location-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:43vh;overflow:auto;padding:1px 2px 3px}
.hhc-sa-smart-location-list a{
  min-height:46px;padding:8px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #dce7ee;border-radius:12px;background:#fff;
  color:var(--smart-navy)!important;text-decoration:none!important;box-shadow:0 4px 10px rgba(1,44,90,.03)
}
.hhc-sa-smart-location-list a:hover{border-color:#acd989;background:#f7fcef}
.hhc-sa-smart-location-list a.is-current{border-color:#a5d87e;background:#f2faeb}
.hhc-sa-smart-location-list a span{min-width:0;display:flex;align-items:center;gap:6px}
.hhc-sa-smart-location-list a i{color:#ef493d!important;font-style:normal;font-size:14px}
.hhc-sa-smart-location-list a strong{color:inherit!important;font-size:11.5px!important;line-height:1.2!important;font-weight:850!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hhc-sa-smart-location-list a>b{color:#69904f!important;font-size:9.5px!important;line-height:1.2!important;font-weight:850!important;white-space:nowrap}

.hhc-sa-smart-success{text-align:center;padding:7px 0 6px}
.hhc-sa-smart-success-check{width:58px;height:58px;margin:3px auto 10px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#8bd246,#6ebc2d);color:#012c5a;font-size:29px;font-weight:950;box-shadow:0 12px 27px rgba(102,181,39,.24)}
.hhc-sa-smart-success>span{display:block;color:#65ad2b!important;font-size:9.5px!important;line-height:1.2!important;font-weight:950!important;letter-spacing:.12em;text-transform:uppercase}
.hhc-sa-smart-success h2{margin:5px auto 8px!important;color:var(--smart-navy)!important;font-size:26px!important;line-height:1.08!important;font-weight:950!important;letter-spacing:-.03em!important}
.hhc-sa-smart-success h2 b{color:inherit!important;font-weight:inherit!important}
.hhc-sa-smart-success>p{max-width:530px;margin:0 auto 12px!important;color:#62798d!important;font-size:12px!important;line-height:1.55!important}
.hhc-sa-smart-success-receipt{max-width:500px;margin:0 auto 13px;padding:11px 13px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid #d9e8cf;border-radius:13px;background:#f4faef;text-align:left}
.hhc-sa-smart-success-receipt small{color:#70905b!important;font-size:8px!important;font-weight:900!important;letter-spacing:.09em}
.hhc-sa-smart-success-receipt strong{color:#254f32!important;font-size:11.5px!important;font-weight:900!important}
.hhc-sa-smart-success-receipt span{color:#6f8578!important;font-size:9.5px!important;font-weight:800!important}
.hhc-sa-smart-team{display:flex;flex-direction:column;align-items:center;margin:4px 0 13px}
.hhc-sa-smart-team>small{margin-bottom:5px;color:#48657c!important;font-size:10.5px!important;font-weight:850!important}
.hhc-sa-smart-team>small i{color:#6fb92d;font-style:normal}
.hhc-sa-smart-team>div{display:flex;justify-content:center;padding-left:9px}
.hhc-sa-smart-team>div>span{position:relative;width:47px;height:47px;margin-left:-9px;border:3px solid #fff;border-radius:50%;background:#dceaf3;box-shadow:0 0 0 2px #9ad969,0 6px 13px rgba(1,44,90,.12);overflow:visible}
.hhc-sa-smart-team>div>span img,.hhc-sa-smart-team>div>span>b{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;object-fit:cover;overflow:hidden;color:#fff;background:var(--smart-navy)}
.hhc-sa-smart-team>div>span i{position:absolute;right:-1px;bottom:0;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#79ca33;box-shadow:0 0 0 1px rgba(74,142,26,.2)}
.hhc-sa-smart-success-actions{display:flex;justify-content:center;gap:8px}
.hhc-sa-smart-success-actions a,.hhc-sa-smart-success-actions button{
  width:auto!important;min-width:130px;min-height:43px!important;margin:0!important;padding:8px 12px!important;border:0!important;border-radius:11px!important;
  background:var(--smart-navy)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;font-size:11px!important;font-weight:900!important;box-shadow:none!important;cursor:pointer!important
}
.hhc-sa-smart-success-actions button{background:#eaf6df!important;color:#356522!important;-webkit-text-fill-color:#356522!important}

/* Hub smart router, intentionally placed above the exact-address checker. */
.hhc-sa-hub-smart-router{
  width:min(100%,1180px);margin:0 auto 18px;padding:13px 14px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;
  border:1px solid #d9e7ef;border-radius:17px;background:linear-gradient(135deg,#fff 0%,#f8fbfd 66%,#f2fae9 100%);box-shadow:0 10px 26px rgba(1,44,90,.06)
}
.hhc-sa-hub-smart-router.has-match{border-color:#c5e3af;box-shadow:0 11px 28px rgba(97,164,42,.11)}
.hhc-sa-hub-smart-icon{position:relative;width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#012c5a;color:#fff;font-size:24px}
.hhc-sa-hub-smart-icon i{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border:3px solid #fff;border-radius:50%;background:#8bd246}
.hhc-sa-hub-smart-copy{min-width:0}
.hhc-sa-hub-smart-copy small{display:block;margin-bottom:2px;color:#68ae2d!important;font-size:8.5px!important;font-weight:950!important;letter-spacing:.12em}
.hhc-sa-hub-smart-copy strong{display:block;color:#012c5a!important;font-size:15px!important;line-height:1.25!important;font-weight:950!important}
.hhc-sa-hub-smart-copy p{margin:3px 0 0!important;color:#688095!important;font-size:11px!important;line-height:1.45!important}
.hhc-sa-hub-smart-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.hhc-sa-hub-smart-actions button,.hhc-sa-hub-smart-actions a{
  min-height:38px!important;margin:0!important;padding:7px 11px!important;display:inline-flex!important;align-items:center;justify-content:center;border:0!important;border-radius:10px!important;
  background:#8bd246!important;color:#012c5a!important;-webkit-text-fill-color:#012c5a!important;text-decoration:none!important;font-size:10.5px!important;font-weight:900!important;box-shadow:none!important;cursor:pointer!important
}
.hhc-sa-hub-smart-actions button.secondary{border:1px solid #d4e2eb!important;background:#fff!important;color:#345a76!important;-webkit-text-fill-color:#345a76!important}
.hhc-sa-hub-smart-actions a{background:#012c5a!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.hhc-sa-location-card.is-smart-match{border-color:#8bd246!important;box-shadow:0 0 0 2px rgba(139,210,70,.17),0 15px 32px rgba(1,44,90,.12)!important}

.hhc-sa-hub-location-overlay{position:fixed;inset:0;z-index:2147482100;display:grid;place-items:end center;font-family:inherit}
.hhc-sa-hub-location-backdrop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:rgba(0,25,51,.56)!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)!important}
.hhc-sa-hub-location-sheet{
  position:relative;z-index:2;width:min(680px,100%);max-height:min(88dvh,760px);overflow:auto;padding:12px 18px max(20px,calc(env(safe-area-inset-bottom) + 14px));
  border-radius:27px 27px 0 0;background:#fff;box-shadow:0 -22px 70px rgba(1,44,90,.28);color:#092f55
}
.hhc-sa-hub-location-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 13px}
.hhc-sa-hub-location-head>div{min-width:0}
.hhc-sa-hub-location-head small{display:block;color:#6eb62f!important;font-size:9px!important;font-weight:950!important;letter-spacing:.12em}
.hhc-sa-hub-location-head h2{margin:3px 0 5px!important;color:#012c5a!important;font-size:27px!important;line-height:1.05!important;font-weight:950!important;letter-spacing:-.035em!important}
.hhc-sa-hub-location-head p{margin:0!important;color:#687f92!important;font-size:11.5px!important;line-height:1.5!important}
.hhc-sa-hub-location-head>button{flex:0 0 40px!important;width:40px!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0!important;border:1px solid #dbe7ef!important;border-radius:12px!important;background:#f5f9fc!important;color:#012c5a!important;-webkit-text-fill-color:#012c5a!important;font-size:25px!important;line-height:1!important;cursor:pointer!important}

@keyframes hhc-sa-smart-pulse{0%{transform:scale(.8);opacity:.75}70%,100%{transform:scale(2.5);opacity:0}}
@keyframes hhc-sa-smart-screen-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media(min-width:769px){
  .hhc-sa-smart-sheet{bottom:18px!important;border-radius:26px!important;border-bottom:1px solid rgba(1,44,90,.11)!important}
  .hhc-sa-smart-dock{left:auto!important;right:22px!important;max-width:390px!important;margin:0!important}
}
@media(max-width:700px){
  .hhc-sa-hub-smart-router{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:11px;margin-bottom:14px}
  .hhc-sa-hub-smart-icon{width:42px;height:42px;border-radius:12px;font-size:21px}
  .hhc-sa-hub-smart-actions{grid-column:1/-1;width:100%;justify-content:stretch}
  .hhc-sa-hub-smart-actions button,.hhc-sa-hub-smart-actions a{flex:1 1 auto}
  .hhc-sa-hub-location-sheet{padding-left:14px;padding-right:14px}
}
@media(max-width:480px){
  .hhc-sa-smart-dock{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,calc(env(safe-area-inset-bottom) + 7px));min-height:61px;border-radius:18px!important}
  .hhc-sa-smart-dock-pulse{flex-basis:34px;width:34px;height:34px}
  .hhc-sa-smart-dock-open-icon{flex-basis:38px;width:38px;height:38px;border-radius:12px;font-size:22px}
  .hhc-sa-smart-dock-copy strong{font-size:13.5px!important}
  .hhc-sa-smart-sheet{padding-left:13px!important;padding-right:13px!important;border-radius:23px 23px 0 0!important;max-height:92dvh!important}
  .hhc-sa-smart-sheet-top{margin-left:-13px;margin-right:-13px;padding-left:13px;padding-right:13px}
  .hhc-sa-smart-place-map{flex-basis:54px;width:54px;height:42px}
  .hhc-sa-smart-place strong{max-width:180px;font-size:14px!important}
  .hhc-sa-smart-service-grid{gap:7px}
  .hhc-sa-smart-service{grid-template-columns:36px minmax(0,1fr) 21px;gap:7px;min-height:64px!important;padding:8px!important;border-radius:13px!important}
  .hhc-sa-smart-service>i{width:36px;height:36px;border-radius:10px}
  .hhc-sa-smart-service>i svg{width:19px;height:19px}
  .hhc-sa-smart-service>span:nth-child(2)>strong{font-size:11.5px!important}
  .hhc-sa-smart-service>b:last-child{width:21px;height:21px;font-size:11px!important}
  .hhc-sa-smart-form-grid{grid-template-columns:1fr 1fr;gap:8px}
  .hhc-sa-smart-location-list{grid-template-columns:1fr 1fr;gap:6px}
  .hhc-sa-smart-location-list a{padding:7px;min-height:43px}
  .hhc-sa-smart-location-list a strong{font-size:10.8px!important}
  .hhc-sa-smart-success-actions{flex-direction:column}
  .hhc-sa-smart-success-actions a,.hhc-sa-smart-success-actions button{width:100%!important}
}
@media(max-width:370px){
  .hhc-sa-smart-service-grid,.hhc-sa-smart-location-list{grid-template-columns:1fr}
  .hhc-sa-smart-form-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .hhc-sa-smart-local-root *,
  .hhc-sa-hub-location-overlay *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
.hhc-sa-smart-local-root.no-motion *{animation:none!important;transition:none!important}

/* ==========================================================
   v1.6.2 — SMALLER ALL SERVICE AREAS HERO TITLE
   Keep the hub headline prominent without letting the long
   Ontario title overpower the rest of the hero composition.
   Individual city-page hero typography is intentionally untouched.
   ========================================================== */
.hhc-sa-hub .hhc-sa-hub-hero-copy h1{
  font-size:clamp(2.65rem,4.15vw,4.45rem);
  line-height:1.08;
}
@media(max-width:860px){
  .hhc-sa-hub .hhc-sa-hub-hero-copy h1{
    font-size:clamp(2.55rem,7vw,3.75rem);
  }
}
@media(max-width:620px){
  .hhc-sa-hub .hhc-sa-hub-hero-copy h1{
    font-size:clamp(2.35rem,11vw,3.05rem);
  }
}

/* ========================================================================== 
   v1.7.0 — Local Service Explorer
   Replaces the redundant Core HVAC card grid with one interactive, city-aware
   service browser. Existing content remains server-rendered; JS controls only
   the active visual panel. No service action redirects to Contact Us.
   ========================================================================== */
.hhc-sa-page-v4 .hhc-sa-service-explorer-section{
  overflow:visible;
}
.hhc-sa-page-v4 .hhc-sa-explorer-heading{
  align-items:end;
  margin-bottom:26px;
}
.hhc-sa-page-v4 .hhc-sa-explorer-heading h2{
  max-width:780px;
}
.hhc-sa-page-v4 .hhc-sa-explorer-heading>p{
  max-width:470px;
}
.hhc-sa-page-v4 .hhc-sa-explorer{
  display:grid;
  grid-template-columns:minmax(230px,29%) minmax(0,1fr);
  min-height:520px;
  overflow:hidden;
  border:1px solid rgba(1,44,90,.12);
  border-radius:28px;
  background:#fff;
  box-shadow:0 22px 56px rgba(1,44,90,.12);
}
.hhc-sa-page-v4 .hhc-sa-explorer [hidden]{display:none!important}
.hhc-sa-page-v4 .hhc-sa-explorer-nav{
  display:flex;
  flex-direction:column;
  justify-content:space-evenly;
  gap:7px;
  min-width:0;
  height:100%;
  padding:16px;
  background:linear-gradient(160deg,#052f5a 0%,#083f6b 72%,#0c4c72 100%);
}
.hhc-sa-page-v4 .hhc-sa-explorer-tab{
  position:relative;
  width:100%;
  min-height:66px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 24px;
  align-items:center;
  gap:10px;
  margin:0;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  color:#fff;
  text-align:left;
  font-family:inherit;
  cursor:pointer;
  box-shadow:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.hhc-sa-page-v4 .hhc-sa-explorer-tab:hover,
.hhc-sa-page-v4 .hhc-sa-explorer-tab:focus-visible{
  transform:translateX(2px);
  border-color:rgba(139,211,70,.48);
  background:rgba(255,255,255,.075);
  outline:2px solid rgba(139,211,70,.42);
  outline-offset:2px;
}
.hhc-sa-page-v4 .hhc-sa-explorer-tab.is-active{
  border-color:#8bd346;
  background:linear-gradient(135deg,rgba(139,211,70,.22),rgba(139,211,70,.08));
  box-shadow:inset 4px 0 0 #8bd346,0 10px 24px rgba(0,0,0,.12);
}
.hhc-sa-page-v4 .hhc-sa-explorer-tab-number{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(255,255,255,.1);
  color:#b8ef82;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.03em;
}
.hhc-sa-page-v4 .hhc-sa-explorer-tab.is-active .hhc-sa-explorer-tab-number{
  background:#8bd346;
  color:#012c5a;
}
.hhc-sa-page-v4 .hhc-sa-explorer-tab-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.hhc-sa-page-v4 .hhc-sa-explorer-tab-copy strong{
  color:#fff;
  font-size:.89rem;
  line-height:1.2;
  font-weight:900;
}
.hhc-sa-page-v4 .hhc-sa-explorer-tab-copy small{
  display:block;
  overflow:hidden;
  color:#bdd0df;
  font-size:.59rem;
  line-height:1.25;
  font-weight:750;
  letter-spacing:.025em;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.hhc-sa-page-v4 .hhc-sa-explorer-tab>b{
  color:#8bd346;
  font-size:1.05rem;
  font-weight:900;
  transition:transform .2s ease;
}
.hhc-sa-page-v4 .hhc-sa-explorer-tab.is-active>b{transform:translateX(3px)}

/* Mobile-only discovery cue. Kept out of the desktop grid entirely. */
.hhc-sa-page-v4 .hhc-sa-explorer-swipe-hint{display:none}

.hhc-sa-page-v4 .hhc-sa-explorer-stage{
  position:relative;
  min-width:0;
  background:linear-gradient(145deg,#fff 0%,#fbfdfd 72%,#f4f9ee 100%);
}
.hhc-sa-page-v4 .hhc-sa-explorer-panel{
  min-height:100%;
  display:flex;
  flex-direction:column;
  gap:22px;
  padding:34px 38px 32px;
  color:#173f61;
}
.hhc-sa-page-v4 .hhc-sa-explorer-panel.is-entering{
  animation:hhcSaExplorerIn .34s cubic-bezier(.2,.75,.25,1) both;
}
@keyframes hhcSaExplorerIn{
  from{opacity:.25;transform:translateY(9px)}
  to{opacity:1;transform:none}
}
.hhc-sa-page-v4 .hhc-sa-explorer.no-motion .hhc-sa-explorer-panel{animation:none!important}
.hhc-sa-page-v4 .hhc-sa-explorer-panel-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:24px;
}
.hhc-sa-page-v4 .hhc-sa-explorer-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin-bottom:13px;
  padding:6px 10px;
  border-radius:999px;
  background:#eaf7df;
  color:#4f8f21;
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hhc-sa-page-v4 .hhc-sa-explorer-kicker{
  display:block;
  margin-bottom:7px;
  color:#5d9e2d;
  font-size:.68rem;
  line-height:1.35;
  font-weight:950;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.hhc-sa-page-v4 .hhc-sa-explorer-panel h3{
  max-width:760px;
  margin:0 0 11px;
  color:#012c5a;
  font-size:clamp(1.75rem,2.5vw,2.55rem);
  line-height:1.03;
  letter-spacing:-.035em;
}
.hhc-sa-page-v4 .hhc-sa-explorer-panel-top p{
  max-width:800px;
  margin:0;
  color:#587188;
  font-size:.94rem;
  line-height:1.65;
}
.hhc-sa-page-v4 .hhc-sa-explorer-city-mark{
  min-width:112px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:9px 11px;
  border:1px solid rgba(1,44,90,.1);
  border-radius:999px;
  background:#fff;
  color:#244f6f;
  box-shadow:0 7px 20px rgba(1,44,90,.06);
  font-size:.72rem;
  font-weight:900;
}
.hhc-sa-page-v4 .hhc-sa-explorer-city-mark span{color:#77c933;font-size:1rem}

.hhc-sa-page-v4 .hhc-sa-explorer-capabilities{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.hhc-sa-page-v4 .hhc-sa-explorer-capability{
  min-height:110px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:start;
  gap:10px;
  padding:15px;
  border:1px solid rgba(1,44,90,.09);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 20px rgba(1,44,90,.045);
}
.hhc-sa-page-v4 .hhc-sa-explorer-capability>span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#edf8e5;
  color:#559529;
  font-size:.62rem;
  font-weight:950;
}
.hhc-sa-page-v4 .hhc-sa-explorer-capability strong{
  display:block;
  margin:2px 0 5px;
  color:#0b3a61;
  font-size:.78rem;
  line-height:1.25;
  font-weight:900;
}
.hhc-sa-page-v4 .hhc-sa-explorer-capability p{
  margin:0;
  color:#687e90;
  font-size:.73rem;
  line-height:1.45;
}
.hhc-sa-page-v4 .hhc-sa-explorer-local-note{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:15px 17px;
  border:1px solid rgba(139,211,70,.4);
  border-radius:16px;
  background:linear-gradient(135deg,#f5fbea,#fff 72%);
}
.hhc-sa-page-v4 .hhc-sa-explorer-local-note>span{
  color:#4f8f21;
  font-size:.67rem;
  line-height:1.35;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.hhc-sa-page-v4 .hhc-sa-explorer-local-note p{
  margin:0;
  color:#526d82;
  font-size:.78rem;
  line-height:1.5;
}
.hhc-sa-page-v4 .hhc-sa-explorer-actions{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:14px;
}
.hhc-sa-page-v4 .hhc-sa-explorer-request{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0;
  padding:12px 18px;
  border:1px solid #78c537;
  border-radius:14px;
  background:linear-gradient(135deg,#9bdd55,#82cf40);
  color:#012c5a!important;
  font-family:inherit;
  font-size:.82rem;
  line-height:1.2;
  font-weight:950;
  box-shadow:0 10px 22px rgba(105,180,46,.19);
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.hhc-sa-page-v4 .hhc-sa-explorer-request:hover,
.hhc-sa-page-v4 .hhc-sa-explorer-request:focus-visible{
  transform:translateY(-2px);
  filter:saturate(1.04);
  box-shadow:0 14px 28px rgba(105,180,46,.25);
  color:#012c5a!important;
  outline:2px solid rgba(1,44,90,.16);
  outline-offset:3px;
}
.hhc-sa-page-v4 .hhc-sa-explorer-request b{font-size:1rem}
.hhc-sa-page-v4 .hhc-sa-explorer-actions>small{
  max-width:390px;
  color:#718696;
  font-size:.69rem;
  line-height:1.45;
}

/* Service actions now point visitors at an existing in-page conversion point. */
.hhc-sa-page-v4 #request-hvac-service.is-service-explorer-target,
.hhc-sa-page-v4 #rebates-financing.is-service-explorer-target{
  animation:hhcSaExplorerTarget 1s ease both;
}
@keyframes hhcSaExplorerTarget{
  0%,100%{filter:none}
  35%{filter:drop-shadow(0 0 16px rgba(139,211,70,.45))}
}

/* Six visual-layout personalities keep the explorer from feeling cloned. */
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-explorer{
  border-radius:14px;
  box-shadow:0 14px 34px rgba(1,44,90,.08);
}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-explorer-nav{border-radius:0;background:#073a66}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-explorer-tab{border-radius:8px}

.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer{
  border-color:rgba(139,211,70,.28);
  background:#06284a;
  box-shadow:0 24px 60px rgba(0,13,29,.3);
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-nav{background:#031d39}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-stage,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-panel{background:linear-gradient(145deg,#082d51,#0d3d63)}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-panel h3{color:#fff}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-panel-top p,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-capability p,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-local-note p{color:#cad8e4}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-capability,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-city-mark{
  border-color:rgba(255,255,255,.11);
  background:rgba(255,255,255,.07);
  box-shadow:none;
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-capability strong,
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-city-mark{color:#fff}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-local-note{
  border-color:rgba(139,211,70,.42);
  background:rgba(139,211,70,.08);
}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-explorer-actions>small{color:#bdd0df}

@media(min-width:1001px){
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-explorer{
    display:block;
    min-height:0;
    border-radius:18px;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-explorer-nav{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(145px,1fr);
    overflow-x:auto;
    padding:12px;
    background:#062f59;
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-explorer-tab{
    min-height:62px;
    grid-template-columns:30px minmax(0,1fr);
  }
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-explorer-tab>b{display:none}
  .hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-explorer-panel{min-height:445px}
}

.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-explorer{
  border-radius:32px;
  background:#fffdf7;
  box-shadow:0 20px 48px rgba(73,61,35,.1);
}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-explorer-stage{background:linear-gradient(145deg,#fffdf8,#fff 70%,#f7fbe9)}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-explorer{
  border-color:rgba(139,211,70,.35);
  box-shadow:0 18px 48px rgba(1,44,90,.1);
}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-explorer-nav{
  background:linear-gradient(160deg,#063762,#0b4968 70%,#2f6b57);
}

@media(max-width:1000px){
  .hhc-sa-page-v4 .hhc-sa-explorer{
    grid-template-columns:210px minmax(0,1fr);
    border-radius:22px;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-nav{padding:12px}
  .hhc-sa-page-v4 .hhc-sa-explorer-tab{
    min-height:59px;
    grid-template-columns:30px minmax(0,1fr) 18px;
    padding:9px 10px;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-tab-number{width:30px;height:30px}
  .hhc-sa-page-v4 .hhc-sa-explorer-tab-copy small{display:none}
  .hhc-sa-page-v4 .hhc-sa-explorer-panel{padding:28px}
  .hhc-sa-page-v4 .hhc-sa-explorer-capabilities{grid-template-columns:1fr}
  .hhc-sa-page-v4 .hhc-sa-explorer-capability{min-height:0}
}

@media(max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-explorer-heading{
    display:block;
    margin-bottom:18px;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-heading>p{margin-top:10px}
  .hhc-sa-page-v4 .hhc-sa-explorer{
    display:block;
    min-height:0;
    overflow:visible;
    border-radius:20px;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-nav{
    display:flex;
    flex-direction:row;
    justify-content:flex-start;
    gap:8px;
    height:auto;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    padding:10px;
    border-radius:20px 20px 0 0;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-nav::-webkit-scrollbar{display:none}
  .hhc-sa-page-v4 .hhc-sa-explorer-swipe-hint{
    min-height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    max-height:34px;
    padding:6px 12px;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(139,211,70,.22);
    background:linear-gradient(90deg,#052f5a,#073e69 66%,#0a486c);
    color:#dce9f3;
    font-size:.65rem;
    line-height:1;
    font-weight:850;
    letter-spacing:.075em;
    text-transform:uppercase;
    transition:opacity .2s ease,max-height .24s ease,padding .24s ease,border-width .24s ease;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-swipe-hint b{
    display:inline-block;
    color:#8bd346;
    font-size:.95rem;
    animation:hhcSaExplorerSwipeCue 1.15s ease-in-out infinite;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-swipe-hint.is-dismissed{
    max-height:0;
    min-height:0;
    padding-top:0;
    padding-bottom:0;
    border-top-width:0;
    border-bottom-width:0;
    opacity:0;
    overflow:hidden;
  }
  @keyframes hhcSaExplorerSwipeCue{
    0%,100%{transform:translateX(0);opacity:.72}
    50%{transform:translateX(5px);opacity:1}
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-tab{
    flex:0 0 auto;
    width:auto;
    min-width:128px;
    min-height:50px;
    grid-template-columns:28px auto;
    gap:8px;
    scroll-snap-align:center;
    border-radius:13px;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-tab:hover,
  .hhc-sa-page-v4 .hhc-sa-explorer-tab:focus-visible{transform:none}
  .hhc-sa-page-v4 .hhc-sa-explorer-tab>b,
  .hhc-sa-page-v4 .hhc-sa-explorer-tab-copy small{display:none}
  .hhc-sa-page-v4 .hhc-sa-explorer-tab-number{width:28px;height:28px;border-radius:9px}
  .hhc-sa-page-v4 .hhc-sa-explorer-tab-copy strong{font-size:.77rem;white-space:nowrap}
  .hhc-sa-page-v4 .hhc-sa-explorer-stage{border-radius:0 0 20px 20px}
  .hhc-sa-page-v4 .hhc-sa-explorer-panel{
    gap:16px;
    padding:22px 18px 20px;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-panel-top{
    display:block;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-city-mark{
    width:max-content;
    min-width:0;
    margin-top:13px;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-panel h3{
    font-size:clamp(1.55rem,8vw,2.1rem);
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-panel-top p{
    font-size:.88rem;
    line-height:1.58;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-capabilities{gap:8px}
  .hhc-sa-page-v4 .hhc-sa-explorer-capability{
    grid-template-columns:28px minmax(0,1fr);
    padding:12px;
    border-radius:13px;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-capability>span{width:28px;height:28px}
  .hhc-sa-page-v4 .hhc-sa-explorer-local-note{
    display:block;
    padding:13px 14px;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-local-note>span{display:block;margin-bottom:6px}
  .hhc-sa-page-v4 .hhc-sa-explorer-actions{
    display:block;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-request{
    width:100%;
    min-height:50px;
  }
  .hhc-sa-page-v4 .hhc-sa-explorer-actions>small{
    display:block;
    margin-top:9px;
    text-align:center;
  }
}

@media(prefers-reduced-motion:reduce){
  .hhc-sa-page-v4 .hhc-sa-explorer-swipe-hint b{animation:none!important}
  .hhc-sa-page-v4 .hhc-sa-explorer *,
  .hhc-sa-page-v4 #request-hvac-service.is-service-explorer-target,
  .hhc-sa-page-v4 #rebates-financing.is-service-explorer-target{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

/* ========================================================================== 
   v1.8.0 — Mobile / Tablet Hero Service Launcher
   Desktop keeps the full quick-quote form. Smaller screens can swap that
   form for a compact service picker wired directly to the Local Explorer.
   ========================================================================== */
.hhc-sa-page-v4 .hhc-sa-hero-service-launcher{
  display:none;
  position:relative;
  z-index:4;
  width:100%;
  max-width:500px;
  justify-self:end;
  overflow:hidden;
  border:1px solid rgba(1,44,90,.1);
  border-radius:22px;
  background:#fff;
  box-shadow:0 24px 64px rgba(1,44,90,.18);
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-heading{
  position:relative;
  padding:20px 22px 18px;
  background:linear-gradient(135deg,#073a66 0%,#07508a 72%,#0b5c91 100%);
  color:#fff;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-heading::after{
  content:"";
  position:absolute;
  left:22px;
  bottom:0;
  width:48px;
  height:3px;
  border-radius:999px;
  background:#8bd346;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-heading>span{
  display:block;
  margin:0 0 5px;
  color:#9ee45b;
  font-size:.67rem;
  line-height:1.2;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-heading h2{
  margin:0 0 7px!important;
  color:#fff!important;
  font-size:clamp(1.45rem,2.5vw,1.95rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-heading p{
  margin:0!important;
  color:#dce8f2!important;
  font-size:.82rem!important;
  line-height:1.45!important;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-body{
  padding:18px;
  background:linear-gradient(145deg,#ffffff 0%,#fbfdf9 76%,#f1f8eb 100%);
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-location{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 0 12px;
  padding:6px 10px;
  border:1px solid #d9e9cf;
  border-radius:999px;
  background:#eef8e7;
  color:#2f6720;
  font-size:.67rem;
  line-height:1.2;
  font-weight:900;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-location span{color:#72c534}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-service{
  appearance:none;
  min-width:0;
  min-height:64px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 18px;
  align-items:center;
  gap:9px;
  margin:0;
  padding:10px;
  border:1px solid #dce6ed;
  border-radius:13px;
  background:#f8fbfd;
  color:#123d62!important;
  text-align:left;
  text-decoration:none!important;
  font-family:inherit;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(1,44,90,.035);
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-service:hover,
.hhc-sa-page-v4 .hhc-sa-hero-launcher-service:focus-visible{
  border-color:#8bd346;
  background:#fff;
  color:#012c5a!important;
  transform:translateY(-1px);
  box-shadow:0 9px 20px rgba(1,44,90,.09);
  outline:2px solid rgba(139,211,70,.18);
  outline-offset:2px;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-service.is-launching{
  border-color:#8bd346;
  background:#f0f9e9;
  box-shadow:0 0 0 3px rgba(139,211,70,.17),0 10px 22px rgba(1,44,90,.1);
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-number{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#e8f5de;
  color:#4d9822;
  font-size:.7rem;
  line-height:1;
  font-weight:950;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-service-copy{
  min-width:0;
  display:block;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-service-copy strong{
  display:-webkit-box;
  overflow:hidden;
  color:#123d62;
  font-size:.78rem;
  line-height:1.16;
  font-weight:950;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  text-overflow:ellipsis;
  white-space:normal;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-service-copy small{
  display:block;
  overflow:hidden;
  margin-top:3px;
  color:#7a8e9e;
  font-size:.58rem;
  line-height:1.15;
  font-weight:750;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-service>b{
  color:#76c939;
  font-size:.9rem;
  line-height:1;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-service.is-direct>b{font-size:.82rem}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-helper{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:11px 0 10px;
  color:#718696;
  font-size:.64rem;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.035em;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-helper b{color:#74c537;font-size:.88rem}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-quick{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding:10px 14px;
  border:1px solid #78c93b;
  border-radius:12px;
  background:linear-gradient(135deg,#98df52,#82d13f);
  color:#012c5a!important;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(109,184,47,.2);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-quick:hover,
.hhc-sa-page-v4 .hhc-sa-hero-launcher-quick:focus-visible{
  color:#012c5a!important;
  transform:translateY(-1px);
  filter:brightness(1.02);
  box-shadow:0 14px 30px rgba(109,184,47,.27);
  outline:2px solid rgba(1,44,90,.17);
  outline-offset:2px;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-quick small,
.hhc-sa-page-v4 .hhc-sa-hero-launcher-quick strong{display:block}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-quick small{
  margin-bottom:2px;
  color:#315d22;
  font-size:.59rem;
  line-height:1.1;
  font-weight:850;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-quick strong{
  color:#012c5a;
  font-size:.78rem;
  line-height:1.15;
  font-weight:950;
}
.hhc-sa-page-v4 .hhc-sa-hero-launcher-quick>b{font-size:1rem}

/* Small personality shifts so all six hero designs keep their identity. */
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-service-launcher{border-radius:14px}
.hhc-sa-page-v4.hhc-sa-layout-editorial .hhc-sa-hero-launcher-heading{background:linear-gradient(135deg,#062f57,#0a5686)}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero-service-launcher{border-color:rgba(255,255,255,.14);border-radius:10px}
.hhc-sa-page-v4.hhc-sa-layout-technical .hhc-sa-hero-launcher-heading{background:linear-gradient(135deg,#052746,#0b426c)}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-service-launcher{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.98);border-radius:22px}
.hhc-sa-page-v4.hhc-sa-layout-metro .hhc-sa-hero-launcher-heading{background:linear-gradient(135deg,#0a3457,#0b527d)}
.hhc-sa-page-v4.hhc-sa-layout-local .hhc-sa-hero-service-launcher{border-color:rgba(84,116,64,.15);border-radius:28px 28px 14px 28px}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero-service-launcher{border:0;border-radius:18px}
.hhc-sa-page-v4.hhc-sa-layout-community .hhc-sa-hero-launcher-heading{background:linear-gradient(135deg,#073a66,#0b5078 72%,#316c59)}

/* Desktop always keeps the proven hero form. */
@media(min-width:1025px){
  .hhc-sa-page-v4 .hhc-sa-hero-service-launcher{display:none!important}
}

/* Phones + tablets mode. */
@media(max-width:1024px){
  .hhc-sa-page-v4 .hhc-sa-conversion-hero.hhc-sa-hero-launcher-scope-mobile-tablet .hhc-sa-quick-quote{display:none!important}
  .hhc-sa-page-v4 .hhc-sa-conversion-hero.hhc-sa-hero-launcher-scope-mobile-tablet .hhc-sa-hero-service-launcher{display:block}
}

/* Phones-only mode. */
@media(max-width:768px){
  .hhc-sa-page-v4 .hhc-sa-conversion-hero.hhc-sa-hero-launcher-scope-mobile .hhc-sa-quick-quote{display:none!important}
  .hhc-sa-page-v4 .hhc-sa-conversion-hero.hhc-sa-hero-launcher-scope-mobile .hhc-sa-hero-service-launcher{display:block}
}

@media(max-width:760px){
  .hhc-sa-page-v4 .hhc-sa-hero-service-launcher{
    order:2!important;
    max-width:none;
    justify-self:stretch;
    border-radius:18px;
  }
  .hhc-sa-page-v4 .hhc-sa-hero-launcher-heading{padding:18px 18px 16px}
  .hhc-sa-page-v4 .hhc-sa-hero-launcher-heading::after{left:18px}
  .hhc-sa-page-v4 .hhc-sa-hero-launcher-body{padding:15px}
  .hhc-sa-page-v4 .hhc-sa-hero-launcher-grid{gap:8px}
  .hhc-sa-page-v4 .hhc-sa-hero-launcher-service{
    min-height:58px;
    grid-template-columns:30px minmax(0,1fr) 14px;
    gap:7px;
    padding:8px;
    border-radius:11px;
  }
  .hhc-sa-page-v4 .hhc-sa-hero-launcher-number{width:30px;height:30px;border-radius:9px;font-size:.64rem}
  .hhc-sa-page-v4 .hhc-sa-hero-launcher-service-copy strong{font-size:.73rem}
  .hhc-sa-page-v4 .hhc-sa-hero-launcher-service-copy small{font-size:.54rem}
}

@media(max-width:430px){
  .hhc-sa-page-v4 .hhc-sa-hero-launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hhc-sa-page-v4 .hhc-sa-hero-launcher-service-copy small{display:none}
  .hhc-sa-page-v4 .hhc-sa-hero-launcher-service{min-height:54px}
}

/* Clear visual handoff after a launcher service is selected. */
.hhc-sa-page-v4 .hhc-sa-explorer.is-hero-launch-target{
  animation:hhcSaHeroExplorerHandoff 1.05s ease both;
}
@keyframes hhcSaHeroExplorerHandoff{
  0%,100%{box-shadow:inherit}
  35%{box-shadow:0 0 0 4px rgba(139,211,70,.28),0 24px 64px rgba(1,44,90,.18)}
}

/* Explicit service requests may temporarily reveal the existing dock on tablet
   even if the admin normally keeps the collapsed dock phone-only. */
.hhc-sa-smart-local-root.hhc-sa-smart-force-visible{display:block!important}

@media(prefers-reduced-motion:reduce){
  .hhc-sa-page-v4 .hhc-sa-hero-service-launcher *,
  .hhc-sa-page-v4 .hhc-sa-explorer.is-hero-launch-target{
    animation:none!important;
    transition:none!important;
  }
}




/* v1.8.3: Local Coverage Index — editorial neighbourhood SEO section. */
.hhc-sa-hub-local-index{background:#fff;padding-top:14px}
.hhc-sa-local-index-heading{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(36px,6vw,86px);align-items:end;margin-bottom:28px}
.hhc-sa-local-index-title-wrap h2{max-width:760px;margin:10px 0 0;color:#012c5a;font-size:clamp(2.3rem,4.5vw,4.6rem);line-height:.98;letter-spacing:-.05em}
.hhc-sa-local-index-intro>p{max-width:720px;margin:0 0 18px;color:#526a84;font-size:1.02rem;line-height:1.72}
.hhc-sa-local-index-meta{display:flex;flex-wrap:wrap;gap:10px}
.hhc-sa-local-index-meta span{display:inline-flex;align-items:baseline;gap:7px;padding:9px 13px;border-radius:999px;background:#f2f8ec;border:1px solid rgba(139,211,70,.35);color:#315a2d;font-size:.83rem;font-weight:800}
.hhc-sa-local-index-meta strong{color:#012c5a;font-size:1rem}
.hhc-sa-local-index-shell{overflow:hidden;border:1px solid rgba(1,44,90,.13);border-radius:30px;background:#fff;box-shadow:0 24px 70px rgba(1,44,90,.08)}
.hhc-sa-local-index-row{display:grid;grid-template-columns:minmax(255px,.72fr) minmax(0,1.8fr);min-height:190px;border-bottom:1px solid rgba(1,44,90,.1)}
.hhc-sa-local-index-row:last-child{border-bottom:0}
.hhc-sa-local-index-row:nth-child(even){background:linear-gradient(90deg,#fbfef8 0%,#fff 58%)}
.hhc-sa-local-index-region{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;padding:28px 26px;border-right:1px solid rgba(1,44,90,.1);background:linear-gradient(145deg,rgba(1,44,90,.025),rgba(139,211,70,.035))}
.hhc-sa-local-index-number{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#012c5a;color:#8bd346;font-size:.78rem;font-weight:950;letter-spacing:.06em;box-shadow:0 10px 22px rgba(1,44,90,.12)}
.hhc-sa-local-index-region small{display:block;margin:2px 0 7px;color:#69b624;font-size:.68rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.hhc-sa-local-index-region h3{margin:0 0 9px;color:#012c5a;font-size:clamp(1.25rem,1.35vw,1.65rem);line-height:1.12;letter-spacing:-.025em}
.hhc-sa-local-index-region p{margin:0;color:#6a7e93;font-size:.87rem;line-height:1.55}
.hhc-sa-local-index-places{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;padding:18px 22px}
.hhc-sa-local-index-place{position:relative;display:flex;align-items:center;gap:9px;min-width:0;min-height:46px;padding:8px 10px;color:#183b61;text-decoration:none;font-size:.9rem;font-weight:700;border-radius:12px;transition:background .18s ease,color .18s ease,transform .18s ease}
.hhc-sa-local-index-place i{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:7px;background:#eff9e7}
.hhc-sa-local-index-place i svg{width:12px;height:12px;fill:none;stroke:#69b624;stroke-width:1.9}
.hhc-sa-local-index-place>span{min-width:0}
.hhc-sa-local-index-place>b{margin-left:auto;color:#69b624;font-size:.82rem}
a.hhc-sa-local-index-place.is-city-page{color:#012c5a;font-weight:850;background:rgba(139,211,70,.07)}
a.hhc-sa-local-index-place.is-city-page:hover,a.hhc-sa-local-index-place.is-city-page:focus-visible{background:#eef9e5;color:#012c5a;transform:translateY(-1px);outline:none}
.hhc-sa-local-index-note{max-width:1020px;margin:16px auto 0;text-align:center;color:#6a7e93;font-size:.82rem;line-height:1.55}
.hhc-sa-local-index-note strong{color:#012c5a}
@media (max-width:1100px){
  .hhc-sa-local-index-places{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .hhc-sa-local-index-heading{grid-template-columns:1fr;gap:18px}
  .hhc-sa-local-index-title-wrap h2{font-size:clamp(2.3rem,8vw,3.8rem)}
  .hhc-sa-local-index-row{grid-template-columns:1fr;min-height:0}
  .hhc-sa-local-index-region{grid-template-columns:42px minmax(0,1fr);padding:22px 20px;border-right:0;border-bottom:1px solid rgba(1,44,90,.09)}
  .hhc-sa-local-index-places{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 14px 18px}
}
@media (max-width:520px){
  .hhc-sa-hub-local-index{padding-top:4px}
  .hhc-sa-local-index-shell{border-radius:22px}
  .hhc-sa-local-index-region{padding:19px 15px}
  .hhc-sa-local-index-number{width:38px;height:38px;border-radius:12px}
  .hhc-sa-local-index-region h3{font-size:1.2rem}
  .hhc-sa-local-index-places{grid-template-columns:1fr;padding:10px 10px 14px}
  .hhc-sa-local-index-place{min-height:42px;padding:7px 9px;font-size:.88rem}
  .hhc-sa-local-index-note{text-align:left;padding:0 4px}
}
@media (prefers-reduced-motion:reduce){
  .hhc-sa-local-index-place{transition:none!important;transform:none!important}
}


/* v1.8.6: Compact 4-across community grid on tablet/mobile.
   The local index remains fully server-rendered; this only changes presentation. */
@media (max-width:860px){
  .hhc-sa-local-index-places{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    align-content:start;
    padding:12px 12px 16px;
  }
  .hhc-sa-local-index-place{
    justify-content:flex-start;
    gap:6px;
    min-height:44px;
    padding:7px 6px;
    border-radius:10px;
    font-size:clamp(.68rem,1.65vw,.82rem);
    line-height:1.15;
  }
  .hhc-sa-local-index-place i{
    flex:0 0 18px;
    width:18px;
    height:18px;
    border-radius:6px;
  }
  .hhc-sa-local-index-place i svg{width:11px;height:11px}
  .hhc-sa-local-index-place>span{
    overflow-wrap:anywhere;
  }
  .hhc-sa-local-index-place>b{
    display:none;
  }
}
@media (max-width:520px){
  .hhc-sa-local-index-places{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    padding:9px 8px 13px;
  }
  .hhc-sa-local-index-place{
    min-height:42px;
    gap:5px;
    padding:6px 4px;
    border-radius:9px;
    font-size:clamp(.61rem,2.55vw,.72rem);
    line-height:1.08;
  }
  .hhc-sa-local-index-place i{
    flex:0 0 16px;
    width:16px;
    height:16px;
    border-radius:5px;
  }
  .hhc-sa-local-index-place i svg{width:10px;height:10px}
  a.hhc-sa-local-index-place.is-city-page{
    background:rgba(139,211,70,.09);
  }
}


/* v1.8.8 — Quick Local HVAC Answer normal-flow placement.
   Keep the answer card completely below the hero instead of overlapping the
   hero/form or the next section. A small 10px gap preserves separation. */
.hhc-sa-page-v4 > .hhc-sa-ai-answer-section{
  margin-top:10px;
}

/* v1.8.9 — Hide the Quick Local HVAC Answer card on phones.
   The city hero launcher + Local Service Explorer already provide the mobile
   service-discovery flow, so this answer card stays desktop/tablet only. */
@media (max-width:700px){
  .hhc-sa-page-v4 > .hhc-sa-ai-answer-section{
    display:none !important;
  }
}


/* v1.8.10 — Keep the address-checker verified-area arrow inside the card on compact screens. */
@media (max-width: 820px){
  .hhc-sa-hub .hhc-sa-verified-area-card.hhc-sa-verified-style-b{
    position:relative;
    grid-template-columns:minmax(110px,34%) minmax(0,1fr);
    gap:10px;
    padding-right:58px;
  }
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action{
    position:absolute!important;
    right:12px!important;
    top:50%!important;
    left:auto!important;
    bottom:auto!important;
    margin:0!important;
    transform:translateY(-50%)!important;
    z-index:12;
    flex:0 0 auto;
  }
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action:hover,
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action:focus-visible{
    transform:translateY(-50%) translateX(2px) scale(1.05)!important;
  }
}
@media (max-width: 430px){
  .hhc-sa-hub .hhc-sa-verified-area-card.hhc-sa-verified-style-b{
    grid-template-columns:96px minmax(0,1fr);
    padding-right:48px;
  }
  .hhc-sa-hub .hhc-sa-verified-style-b .hhc-sa-verified-area-action{
    right:9px!important;
  }
}

/* ==========================================================
   v1.8.12 — FULL-BLEED ALL SERVICE AREAS HERO ARTWORK
   The bundled artwork is authored at 4:3, so the hero frame uses
   the same ratio. This fills the entire card with no side bars,
   no letterboxing and no crop of the supplied composition.
   ========================================================== */
.hhc-sa-hub .hhc-sa-hub-hero-visual.is-bundled-ontario-hero{
  width:100%;
  height:auto!important;
  aspect-ratio:4 / 3;
  min-height:0;
  background:#062f59;
}
.hhc-sa-hub .hhc-sa-hub-hero-visual.is-bundled-ontario-hero .hhc-sa-hub-bundled-photo{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:860px){
  .hhc-sa-hub .hhc-sa-hub-hero-visual.is-bundled-ontario-hero{
    height:auto!important;
    aspect-ratio:4 / 3;
  }
}
@media(max-width:620px){
  .hhc-sa-hub .hhc-sa-hub-hero-visual.is-bundled-ontario-hero{
    height:auto!important;
    aspect-ratio:4 / 3;
    border-radius:22px;
  }
}


/* ==========================================================
   v1.8.13 — OUTSIDE-AREA ADDRESS RESULT CLARITY
   Keep the conversion-friendly "may still be within reach" message,
   but replace the unexplained blank blue Style B media panel with an
   explicit coverage-status treatment. This only affects the fallback
   card shown when no published local Service Area page matches.
   ========================================================== */
.hhc-sa-hub .hhc-sa-verified-area-card.hhc-sa-verified-style-b.is-outside .hhc-sa-verified-area-media.is-empty::before{
  background:
    radial-gradient(circle at 42% 46%,rgba(240,170,46,.22),transparent 31%),
    linear-gradient(145deg,#0b4a7b 0%,#07365f 58%,#062d51 100%);
}
.hhc-sa-hub .hhc-sa-verified-area-card.hhc-sa-verified-style-b.is-outside .hhc-sa-verified-area-media::after{
  background:linear-gradient(180deg,#f2b23e,#e99b1f);
}
.hhc-sa-hub .hhc-sa-verified-area-card.hhc-sa-verified-style-b.is-outside .hhc-sa-verified-area-active-dot{
  background:#f0a62e;
  box-shadow:0 0 0 3px rgba(240,166,46,.12),0 2px 8px rgba(1,44,90,.18);
}
.hhc-sa-hub .hhc-sa-verified-area-status-art{
  position:absolute;
  inset:0;
  z-index:6;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:4px;
  padding:18px 28% 15px 17px;
  color:#fff;
  text-shadow:0 1px 2px rgba(1,31,57,.28);
}
.hhc-sa-hub .hhc-sa-verified-area-status-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  margin-bottom:3px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
  background:rgba(255,255,255,.10);
  box-shadow:0 7px 16px rgba(0,0,0,.10);
}
.hhc-sa-hub .hhc-sa-verified-area-status-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:#fff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hhc-sa-hub .hhc-sa-verified-area-status-art>span:not(.hhc-sa-verified-area-status-icon){
  color:#ffd99b;
  font-size:.5rem;
  font-weight:900;
  letter-spacing:.11em;
  line-height:1.2;
  text-transform:uppercase;
}
.hhc-sa-hub .hhc-sa-verified-area-status-art strong{
  max-width:120px;
  color:#fff;
  font-size:.84rem;
  font-weight:900;
  line-height:1.05;
}
.hhc-sa-hub .hhc-sa-verified-area-card.hhc-sa-verified-style-b.is-outside .hhc-sa-verified-area-copy>span:first-child{
  color:#9b6a16;
}
.hhc-sa-hub .hhc-sa-verified-area-card.hhc-sa-verified-style-b.is-outside .hhc-sa-verified-area-action{
  box-shadow:0 0 0 1px rgba(240,166,46,.72),0 7px 16px rgba(1,44,90,.17);
}
@media (max-width:820px){
  .hhc-sa-hub .hhc-sa-verified-area-status-art{
    gap:3px;
    padding:12px 25% 10px 12px;
  }
  .hhc-sa-hub .hhc-sa-verified-area-status-icon{width:27px;height:27px;margin-bottom:1px}
  .hhc-sa-hub .hhc-sa-verified-area-status-icon svg{width:15px;height:15px}
  .hhc-sa-hub .hhc-sa-verified-area-status-art>span:not(.hhc-sa-verified-area-status-icon){font-size:.42rem;letter-spacing:.08em}
  .hhc-sa-hub .hhc-sa-verified-area-status-art strong{font-size:.69rem;max-width:92px}
}
@media (max-width:430px){
  .hhc-sa-hub .hhc-sa-verified-area-status-art{padding:9px 20px 8px 10px}
  .hhc-sa-hub .hhc-sa-verified-area-status-icon{width:23px;height:23px}
  .hhc-sa-hub .hhc-sa-verified-area-status-icon svg{width:13px;height:13px}
  .hhc-sa-hub .hhc-sa-verified-area-status-art>span:not(.hhc-sa-verified-area-status-icon){font-size:.37rem;line-height:1.15}
  .hhc-sa-hub .hhc-sa-verified-area-status-art strong{font-size:.6rem;line-height:1.05;max-width:68px}
}


/* v1.8.15: standardized optional SMS marketing consent */
.hhc-sa-page-v4 .hhc-sa-quote-sms-consent{display:flex;align-items:flex-start;gap:9px;margin:11px 0 3px;padding:10px 11px;border:1px solid #e0e8ee;border-radius:11px;background:#f7fafc;color:#5d7184;font-size:10.5px;line-height:1.45;font-weight:600}
.hhc-sa-page-v4 .hhc-sa-quote-sms-consent input{flex:0 0 auto;width:16px!important;height:16px!important;margin:1px 0 0!important;min-height:0!important;padding:0!important;accent-color:#8bd346}
.hhc-sa-page-v4 .hhc-sa-quote-sms-consent span{display:block}
.hhc-sa-smart-consent--sms{margin-top:-4px!important}
@media(max-width:700px){.hhc-sa-page-v4 .hhc-sa-quote-sms-consent{font-size:10px}}


/* v1.8.18: keep the complete theme back-to-top hit-area clear of the Smart Local Dock. */
.hhc-service-area-managed .hhc-sa-dock-clearance-target{
  top:auto!important;
  bottom:calc(var(--hhc-sa-smart-dock-clearance,92px) + var(--hhc-sa-backtop-extra,0px))!important;
  z-index:2147482003!important;
  transition:bottom .22s ease,opacity .2s ease,transform .2s ease!important;
}

/* v1.8.22: prevent mobile browser scroll anchoring from choosing a deep
   Service Area content block while the hero/layout finishes rendering. */
@media (max-width:1024px){
  body.hhc-service-area-managed .hhc-sa-page{overflow-anchor:none;}
}
