/* HVACDirect-inspired palette. Scoped to network components; no theme reset. */
.hin-brand {
  --hr-navy:#123f63; --hr-blue:#19649c; --hr-orange:#f26a21;
  --hr-ink:#183b56; --hr-muted:#526779; --hr-ice:#edf6fb;
  --hr-line:#d7e4ed; --hr-shadow:0 14px 36px rgb(18 63 99 / 8%);
}
.hin-brand :is(.hin-home,.hin-wrap,.hin-region-wrap,.ins-wrap,.hin-latest,.hin-recent-installers,.hin-refresh){font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--hr-ink);font-size:1rem;line-height:1.65}
.hin-brand :is(.hin-home,.hin-wrap,.hin-region-wrap,.ins-wrap,.hin-latest,.hin-recent-installers,.hin-refresh) *{box-sizing:border-box}
.hin-brand :is(.hin-home,.hin-wrap,.hin-region-wrap,.ins-wrap,.hin-latest,.hin-recent-installers,.hin-refresh) :is(h1,h2,h3){color:var(--hr-navy);line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
.hin-brand :is(.hin-home,.ins-wrap,.hin-latest,.hin-recent-installers,.hin-refresh) a:focus-visible,
.hin-brand :is(.hin-wrap,.hin-region-wrap) a:focus-visible,
.hin-brand .hin-zip-form :is(input,button):focus-visible{outline:3px solid var(--hr-blue);outline-offset:4px}
.hin-brand :is(.hin-home,.ins-wrap,.hin-latest,.hin-recent-installers){max-width:1200px;margin-inline:auto}
.hin-brand .hin-home .hin-hero{display:block;padding:clamp(28px,5vw,64px);background:linear-gradient(120deg,var(--hr-ice),#fff);border-top:4px solid var(--hr-orange);border-bottom:0;border-radius:12px 12px 0 0;margin:0}
.hin-brand .hin-home .hin-hero h1{max-width:850px;font-size:clamp(2.1rem,4.7vw,3.8rem);font-weight:800;margin:0 0 18px}
.hin-brand .hin-home .hin-hero p{font-size:1.125rem;color:var(--hr-muted);margin:0}
.hin-brand .hin-home>.hin-card{padding:clamp(20px,3vw,36px);border-color:var(--hr-line);border-radius:12px;box-shadow:var(--hr-shadow);margin-block:24px}
.hin-brand .hin-home>.hin-hero+.hin-card{margin-top:0;border-radius:0 0 12px 12px;border-top:0;background:var(--hr-ice)}
.hin-brand .hin-home h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 24px}
.hin-brand .hin-zip-form .hin-zip-row{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.hin-brand .hin-zip-form input{background:#fff;color:var(--hr-ink);border:1px solid #9db7ca;border-radius:6px;padding:14px 16px;min-height:52px;font:inherit;min-width:0;max-width:100%}
.hin-brand .hin-zip-form input[name=zip]{flex:1 1 180px}
.hin-brand .hin-zip-form input[name=radius]{flex:0 1 110px;width:110px}
.hin-brand .hin-zip-form button{border:0;border-radius:6px;padding:14px 24px;background:var(--hr-orange);color:#142f43;min-height:52px;font:inherit;font-weight:800;cursor:pointer}
.hin-brand .hin-zip-form button:hover{background:#ff813b}
.hin-brand .hin-state-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hin-brand .hin-state-list .hin-pill{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:10px 15px;border:1px solid var(--hr-line);border-radius:6px;background:#fff;color:var(--hr-navy);font-size:.9375rem;font-weight:600;text-decoration:none;box-shadow:none}
.hin-brand .hin-state-list .hin-pill::after{content:'↗';color:var(--hr-blue);flex-shrink:0}
.hin-brand .hin-state-list .hin-pill:hover{background:var(--hr-ice);border-color:var(--hr-blue)}
.hin-brand :is(.hin-result-card,.hin-contractor-card,.hin-city-card){border-color:var(--hr-line);background:#fff;border-radius:10px;box-shadow:0 5px 18px rgb(18 63 99 / 5%)}
.hin-brand .hin-result-card{margin-top:12px;padding:20px}
.hin-brand .hin-result-card a{color:var(--hr-navy);font-weight:700}
.hin-brand .hin-city-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.hin-brand .hin-city-card{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;min-height:104px;padding:24px;color:#fff;text-align:left;font-size:1.25rem;font-weight:800;line-height:1.3;text-decoration:none;overflow-wrap:anywhere;background:linear-gradient(125deg,#123f63,#19649c);border:1px solid #19649c;border-left:5px solid var(--hr-orange);border-radius:10px;box-shadow:0 8px 20px rgb(18 63 99 / 18%);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.hin-brand .hin-city-card::after{content:'';display:block;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background-color:var(--hr-orange);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23142f43' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat}
.hin-brand .hin-city-card:hover{color:#fff;background:linear-gradient(125deg,#164e79,#2075b2);box-shadow:0 12px 26px rgb(18 63 99 / 25%);transform:translateY(-3px)}
.hin-brand .hin-city-card:focus-visible{outline:3px solid var(--hr-orange);outline-offset:4px;color:#fff}
@media(prefers-reduced-motion:reduce){.hin-brand .hin-city-card{transition:none}.hin-brand .hin-city-card:hover{transform:none}}

/* Existing page-editor marketing sections, observed on the live homepage. */
.hin-brand .ins-wrap{padding:clamp(20px,3vw,36px) 0}
.hin-brand .ins-wrap .ins-hero{padding:clamp(28px,5vw,60px);background:var(--hr-navy);border:0;border-radius:12px;color:#fff}
.hin-brand .ins-wrap .ins-hero .ins-title{color:#fff;font-size:clamp(2rem,4vw,3.25rem);max-width:850px;margin:12px 0 24px}
.hin-brand .ins-wrap .ins-kicker{color:#ffab77;font-weight:800;letter-spacing:.12em;font-size:.8125rem;text-transform:uppercase}
.hin-brand .ins-wrap .ins-sub{color:#e4eef5;font-size:1.125rem;max-width:850px}
.hin-brand .ins-wrap .ins-note{background:rgb(255 255 255 / 8%);border:0;border-left:3px solid var(--hr-orange);color:#fff;padding:18px 22px;margin-top:28px}
.hin-brand .ins-wrap .ins-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;margin-top:24px}
.hin-brand .ins-wrap .ins-card{border:1px solid var(--hr-line);padding:clamp(22px,3vw,36px);border-radius:12px;background:#fff;box-shadow:var(--hr-shadow)}
.hin-brand .ins-wrap .ins-card h3{font-size:1.6rem;margin-top:0}
.hin-brand .ins-wrap .ins-bullets{padding:0;list-style:none}
.hin-brand .ins-wrap .ins-bullets li{padding:12px 0;border-bottom:1px solid var(--hr-line)}
.hin-brand .ins-wrap .ins-muted{color:var(--hr-muted)}
.hin-brand .ins-wrap .ins-metric{background:var(--hr-ice);border-color:var(--hr-line);border-radius:6px}
.hin-brand .ins-wrap .ins-step{background:var(--hr-ice);padding:16px 20px;border:0;border-left:3px solid var(--hr-orange);border-radius:0 6px 6px 0;margin-bottom:12px}
.hin-brand .ins-wrap .ins-cta{padding:24px;background:var(--hr-ice);border:1px solid var(--hr-line);border-radius:10px}
.hin-brand .ins-wrap .ins-btn{background:var(--hr-orange);border:1px solid var(--hr-orange);color:#142f43;border-radius:6px;padding:13px 20px;font-weight:800;text-decoration:none}
.hin-brand .ins-wrap .ins-btn.secondary{background:#fff;border-color:var(--hr-navy);color:var(--hr-navy)}
.hin-brand .ins-wrap .ins-split{gap:24px;margin-top:24px}

/* Retain live article and installer data, links, images, and carousel behavior. */
.hin-brand :is(.hin-latest,.hin-recent-installers){padding:clamp(28px,4vw,52px) clamp(18px,3vw,32px);margin-block:32px;border-radius:12px}
.hin-brand .hin-latest{background:var(--hr-ice)}
.hin-brand .hin-recent-installers{background:#fff;border:1px solid var(--hr-line)}
.hin-brand :is(.hin-latest__heading,.hin-recent-installers__heading) h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.hin-brand :is(.hin-latest__eyebrow,.hin-recent-installers__eyebrow){color:#a6410d;letter-spacing:.12em;font-weight:800}
.hin-brand :is(.hin-latest__card,.hin-recent-installers__card){background:#fff;border:1px solid var(--hr-line);border-radius:10px;overflow:hidden;box-shadow:var(--hr-shadow)}
.hin-brand :is(.hin-latest__body,.hin-recent-installers__body){padding:24px}
.hin-brand :is(.hin-latest__card-title,.hin-recent-installers__name) a{color:var(--hr-navy);text-decoration:none}
.hin-brand :is(.hin-latest__read,.hin-recent-installers__profile-link){color:var(--hr-blue);font-weight:800}
.hin-brand .hin-recent-installers__placeholder{background:linear-gradient(135deg,var(--hr-ice),#d9eaf5);color:var(--hr-navy)}
.hin-brand .hin-recent-installers__initials{color:var(--hr-navy)}
.hin-brand .hin-recent-installers__contractor-cta{background:var(--hr-navy);color:#fff;border-radius:10px;padding:28px}
.hin-brand :is(.hin-recent-installers__register-button,.hin-recent-installers__top-button){background:var(--hr-orange);color:#142f43;border:0;border-radius:6px;font-weight:800}

/* Optional [hin_design_home] layout. */
.hin-brand .hin-refresh{max-width:1200px;margin:24px auto 0}
.hin-refresh :is(h1,h2,h3,p){margin-top:0}
.hin-refresh p{margin-bottom:20px}
.hin-brand .hin-refresh h2{font-size:clamp(1.8rem,3vw,2.7rem);font-weight:800;margin-bottom:20px}
.hin-brand .hin-refresh h3{font-size:1.125rem;font-weight:750;margin-bottom:10px}
.hin-brand .hin-refresh .hr-eyebrow{color:#a6410d;text-transform:uppercase;letter-spacing:.13em;font-size:.8125rem;font-weight:800;line-height:1.5;margin:0 0 18px}
.hr-hero{display:grid;grid-template-columns:1.15fr 1fr;background:linear-gradient(120deg,#edf6fb,#f8fbfd);border-radius:14px;overflow:hidden}
.hr-hero-copy{padding:clamp(28px,4.5vw,62px)}
.hin-brand .hin-refresh h1{font-size:clamp(2.7rem,4.8vw,4.5rem);line-height:1.04;letter-spacing:-.055em;font-weight:850;margin:0 0 28px}
.hin-refresh h1 span{color:var(--hr-blue)}
.hr-lead{font-size:1.125rem;max-width:470px;color:var(--hr-muted)}
.hr-text-link{color:var(--hr-navy);text-decoration:underline;text-underline-offset:5px;font-weight:750}
.hr-text-link span{margin-left:12px}
.hr-hero-tags{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:38px;color:var(--hr-muted);font-size:.875rem}
.hr-hero-tags span{border-top:2px solid #a6c6dc;padding-top:10px}
.hr-search-panel{background:var(--hr-navy);padding:clamp(28px,4vw,48px);color:#dcebf5;position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-top:5px solid var(--hr-orange)}
.hr-location-mark{width:44px;height:44px;color:#ffab77;margin-bottom:26px}
.hr-location-mark svg{width:100%;height:100%}
.hin-brand .hin-refresh .hr-search-panel .hr-eyebrow{color:#ffab77}
.hin-brand .hin-refresh .hr-search-panel h2{color:#fff;font-size:clamp(1.8rem,3.3vw,2.6rem);margin-bottom:16px}
.hin-brand .hr-search-panel .hin-zip-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px}
.hin-brand .hr-search-panel .hin-zip-row input{width:100%}
.hin-brand .hr-search-panel .hin-zip-row button{grid-column:1/-1;width:100%;margin:0}
.hin-brand .hr-search-panel :is(input,button):focus-visible{outline-color:#fff}
.hr-search-panel .hin-results{margin-top:20px}
.hr-search-panel .hin-result-card{color:var(--hr-ink)}
.hr-search-browse{color:#fff;text-align:center;font-size:.9375rem;font-weight:600;text-underline-offset:5px;margin-top:20px}
.hr-search-browse span{margin-left:8px}
.hr-section{padding-block:64px}
.hr-section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:32px}
.hr-section-heading>p{max-width:350px;color:var(--hr-muted);margin-bottom:20px}
.hr-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.hr-steps li{border-top:1px solid #b4cddd;padding-top:20px}
.hr-step-number{display:inline-block;font-size:2.5rem;letter-spacing:-.05em;color:var(--hr-blue);font-weight:750;line-height:1;margin-bottom:26px}
.hr-steps p{font-size:.9375rem;color:var(--hr-muted);margin:0}
.hr-savings{padding:clamp(28px,4vw,48px);display:grid;grid-template-columns:1fr 1.1fr;gap:60px;background:var(--hr-ice);border-radius:12px}
.hr-savings-intro>p:not(.hr-eyebrow){color:var(--hr-muted)}
.hin-brand .hin-refresh .hr-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:13px 22px;background:var(--hr-orange);border:1px solid var(--hr-orange);border-radius:5px;color:#142f43;font-weight:800;font-size:.9375rem;text-decoration:none;line-height:1.5}
.hin-brand .hin-refresh .hr-button:hover{background:#ff813b;border-color:#ff813b}
.hr-benefits{display:grid;gap:24px;align-content:center}
.hr-benefits article{display:flex;gap:20px}
.hr-benefit-icon{width:44px;height:44px;flex:0 0 44px;background:#fff;border:1px solid #c2d8e7;border-radius:8px;text-align:center;line-height:42px;font-size:1.5rem;font-weight:700;color:var(--hr-blue)}
.hr-benefits p{color:var(--hr-muted);font-size:.9375rem;margin:0}
.hr-states{scroll-margin-top:24px}
.hr-ready{border-top:1px solid var(--hr-line);display:grid;grid-template-columns:1fr 1.4fr;gap:64px}
.hr-ready>div>p:last-child{color:var(--hr-muted);max-width:320px}
.hr-ready ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.hr-ready li{padding-left:18px;border-left:3px solid var(--hr-orange)}
.hr-ready li strong{display:block;color:var(--hr-navy);margin-bottom:8px}
.hr-ready li span{font-size:.9375rem;color:var(--hr-muted)}
.hr-contractor{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:40px;background:var(--hr-navy);border-radius:12px;color:#dcebf5}
.hin-brand .hin-refresh .hr-contractor h2{color:#fff;font-size:1.9rem}
.hin-brand .hin-refresh .hr-contractor .hr-eyebrow{color:#ffab77}
.hr-contractor p:last-child{margin:0}
.hr-contractor .hr-button{flex-shrink:0;max-width:100%}
@media(max-width:900px){
  .hin-brand .hin-state-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hr-hero{grid-template-columns:1fr 1fr}.hr-hero-copy{padding:32px}.hr-search-panel{padding:28px}
  .hr-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hr-savings{gap:32px}.hr-ready{gap:32px}.hr-contractor{align-items:start;flex-direction:column}
}
@media(max-width:680px){
  .hin-brand .hin-refresh{margin-top:12px}
  .hr-hero,.hr-savings,.hr-ready{grid-template-columns:1fr}
  .hr-hero-copy{padding:32px 24px}.hr-search-panel{padding:32px 24px}
  .hin-brand .hin-refresh h1{font-size:clamp(2.5rem,10vw,3.7rem)}
  .hr-section{padding-block:40px}.hr-savings{padding:28px 24px}
  .hr-section-heading{display:block;margin-bottom:24px}.hr-section-heading>p{max-width:none}
  .hr-steps{gap:28px 20px}.hr-step-number{margin-bottom:18px}
  .hr-contractor{padding:28px 24px}
  .hin-brand .hin-state-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hin-brand .ins-wrap .ins-grid,.hin-brand .ins-wrap .ins-split{display:grid;grid-template-columns:1fr}
}
@media(max-width:380px){.hr-ready ul,.hr-steps{grid-template-columns:1fr}.hin-brand .hin-state-list{grid-template-columns:1fr}}
