/* S05: five core entry templates only. No behavioural or content overrides. */
body.site-v2.core-visual {
  --ink:#172830; --muted:#52626a; --soft:#f4f5f2; --line:#d9e0df;
  --brand-dark:#075e5b; --signal:#f4cb51;
  --hp-ink:var(--ink); --hp-muted:var(--muted); --hp-soft:var(--soft);
  --hp-line:var(--line); --hp-teal:var(--brand-dark); --hp-signal:var(--signal);
}
.site-v2.core-visual :is(h1,h2,h3,h4){text-wrap:balance;letter-spacing:0}
.site-v2.core-visual :is(.button,.hp-button,.header-action){border-radius:8px}
.site-v2.core-visual :is(.button--signal,.hp-button--call){background:var(--signal);color:var(--ink);border-color:transparent}
.site-v2.core-visual :is(.button--signal,.hp-button--call):hover{background:#ffdc73}
.site-v2.core-visual .pulse-dot,.site-v2.core-visual .hp-status{animation:none;background:var(--signal);box-shadow:none}
.site-v2.core-visual .site-header{border-bottom:1px solid var(--line)}
.site-v2.core-visual .utility-bar{background:#101e25}
.site-v2.core-visual .brand__mark{box-shadow:none}
.site-v2.core-visual .section,.site-v2.core-visual .hp-section{padding-block:72px}

/* A quiet dark stage; all interaction panels sit on an opaque light surface. */
.site-v2.core-visual :is(.hp-hero,.emergency-hero,.service-detail-hero,.price-hero,.directory-intro){
  background:#142830;
  background-image:linear-gradient(112deg,#111f28 10%,#18373d 100%);
  color:#fff;border-bottom:1px solid #314c52;padding:40px 0 48px;
}
.site-v2.core-visual .hp-hero{padding-bottom:0}
.site-v2.core-visual :is(.hp-hero__grid,.emergency-hero__grid,.service-detail-hero__grid,.price-hero__grid,.directory-intro__grid){
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center;
}
.site-v2.core-visual :is(.hp-hero__grid,.emergency-hero__grid,.service-detail-hero__grid,.price-hero__grid,.directory-intro__grid)>div{min-width:0}
.site-v2.core-visual .hp-hero__grid{padding-bottom:36px}
.site-v2.core-visual :is(.hp-hero,.emergency-hero,.service-detail-hero,.price-hero,.directory-intro) h1{
  font-size:clamp(2.2rem,3.7vw,3.45rem);line-height:1.18;color:#fff;margin:18px 0 24px;
}
.site-v2.core-visual :is(.hp-hero h1 span,.emergency-hero h1 em,.price-hero h1 em){color:var(--signal)}
.site-v2.core-visual :is(.hp-hero .hp-lead,.hero-copy,.directory-lead){font-size:1.125rem;color:#c9d7da;max-width:58ch}
.site-v2.core-visual :is(.hp-hero .hp-kicker,.emergency-hero .eyebrow,.service-detail-hero .eyebrow,.price-hero .eyebrow,.directory-intro .eyebrow){color:#acdcd4}
.site-v2.core-visual :is(.hp-hero,.emergency-hero,.service-detail-hero,.price-hero,.directory-intro) :is(.breadcrumbs,.breadcrumbs a){color:#c3d5d9}
.site-v2.core-visual :is(.hp-hero,.emergency-hero,.service-detail-hero,.price-hero,.directory-intro) :is(.button--glass,.hp-button--outline){color:#fff;background:transparent;border:1px solid #8da5ad}
.site-v2.core-visual :is(.hp-hero,.emergency-hero,.service-detail-hero,.price-hero) :is(.button--glass,.hp-button--outline):hover{background:#ffffff10}
.site-v2.core-visual :is(.home-contact-links a,.montage-path a,.directory-price-link,.emergency-hero__scope-link){color:#b7e7df;text-decoration:underline;text-underline-offset:5px}
.site-v2.core-visual .directory-price-link{border-bottom:0}
.site-v2.core-visual :is(.service-detail-hero__facts,.price-hero__facts,.emergency-hero__facts,.hp-hero__facts){border-top:1px solid #456068;padding-top:20px;margin-top:24px;gap:20px}
.site-v2.core-visual :is(.service-detail-hero__facts,.price-hero__facts,.emergency-hero__facts) b{color:#fff;font-size:1.125rem;letter-spacing:0}
.site-v2.core-visual :is(.service-detail-hero__facts,.price-hero__facts,.emergency-hero__facts) span{color:#c3d5d9;text-transform:none;letter-spacing:0}
.site-v2.core-visual .hp-hero__phone a{color:#fff;font-size:1.2rem;letter-spacing:0}
.site-v2.core-visual .hp-hero__phone span{color:#c3d5d9}
.site-v2.core-visual .hp-safety{padding-block:20px;color:#c9d7da;border-color:#456068}
.site-v2.core-visual .hp-safety strong{color:#fff}
.site-v2.core-visual :is(.hp-hero,.emergency-hero,.service-detail-hero,.price-hero,.directory-intro) :is(a,button,input):focus-visible{outline-color:var(--signal)}

/* The existing task routes become a compact, legible choice panel. */
.site-v2.core-visual :is(.hp-dispatch,.emergency-console,.montage-selector,.price-console,.directory-help){
  background:#fff;color:var(--ink);border:1px solid #d5dfdf;border-radius:20px;padding:24px;
  box-shadow:0 20px 48px #07121930;min-width:0;
}
.site-v2.core-visual.design-hero-pilot .hp-hero .hp-dispatch{background:#fff;border-color:#d5dfdf;padding:24px;color:var(--ink)}
.site-v2.core-visual :is(.hp-dispatch,.emergency-console,.montage-selector) .design-art{margin:-16px -16px 20px;border-radius:13px}
.site-v2.core-visual :is(.hp-dispatch,.emergency-console,.montage-selector) .design-art img{aspect-ratio:2/1;max-height:none;object-position:center 47%}
.site-v2.core-visual .hp-dispatch .design-art img{aspect-ratio:2.35/1;object-position:center 12%}
.site-v2.core-visual .emergency-console .design-art img{object-position:center 20%}
.site-v2.core-visual .montage-selector .design-art img{object-position:center 68%}
.site-v2.core-visual :is(.hp-dispatch,.emergency-console,.montage-selector,.price-console,.directory-help) h2{color:var(--ink);font-size:1.65rem;line-height:1.3;margin:12px 0 20px}
.site-v2.core-visual :is(.hp-dispatch,.emergency-console,.montage-selector,.price-console,.directory-help) :is(p,small){color:var(--muted)}
.site-v2.core-visual :is(.hp-dispatch,.emergency-console,.montage-selector,.price-console,.directory-help) :is(.eyebrow,.hero-request-link){color:var(--brand-dark)}
.site-v2.core-visual :is(.hp-dispatch,.emergency-console,.montage-selector,.price-console,.directory-help) :is(a,button):focus-visible{outline-color:var(--brand-dark)}
.site-v2.core-visual .hp-dispatch__top{margin:0;color:var(--muted)}
.site-v2.core-visual .hp-dispatch__top strong{font-size:1.125rem;color:var(--brand-dark);letter-spacing:0}
.site-v2.core-visual .hp-dispatch h2 br{display:none}
.site-v2.core-visual .hp-dispatch nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.site-v2.core-visual .hp-dispatch nav a{display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:8px;align-items:start;min-height:110px;padding:14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--soft)}
.site-v2.core-visual .hp-dispatch__index{display:none}
.site-v2.core-visual .hp-dispatch nav a:first-child{background:#fff5d8;border-color:#e9cd7c}
.site-v2.core-visual .hp-dispatch nav :is(strong,small){line-height:1.45}
.site-v2.core-visual .hp-dispatch nav strong{font-size:1rem}
.site-v2.core-visual .hp-dispatch nav small{font-size:.875rem;color:var(--muted);margin-top:6px}
.site-v2.core-visual .hp-dispatch nav b{display:block;font-size:1.125rem;color:var(--brand-dark)}
.site-v2.core-visual .hp-dispatch>p{font-size:.875rem;margin:18px 0 0;padding-top:16px;border-color:var(--line);color:var(--muted)}
.site-v2.core-visual .hp-dispatch>p br{display:none}
.site-v2.core-visual .hp-dispatch nav a:hover{background:#fff;border-color:var(--brand-dark)}
.site-v2.core-visual .emergency-console__top{color:var(--muted);letter-spacing:0}
.site-v2.core-visual .emergency-console__top i{color:var(--brand-dark)}
.site-v2.core-visual .emergency-console__signal{margin:20px 0;background:transparent;padding:0;border-radius:0}
.site-v2.core-visual .emergency-console__signal>span{background:#fff2cc;color:var(--ink);border:1px solid #e9cd7c;box-shadow:none;animation:none}
.site-v2.core-visual .emergency-console__signal strong{font-size:1.5rem;color:var(--ink)}
.site-v2.core-visual .emergency-console__items{gap:10px}
.site-v2.core-visual .emergency-console__items span{background:var(--soft);color:var(--muted);border-color:var(--line);border-radius:8px;padding:12px}
.site-v2.core-visual .emergency-console__items i{background:var(--brand-dark);box-shadow:none;animation:none}
.site-v2.core-visual .emergency-console>a{color:var(--brand-dark);background:transparent;border-top:1px solid var(--line);padding:18px 0 0;min-height:48px;text-decoration:underline;text-underline-offset:5px}
.site-v2.core-visual .montage-object-grid a{background:var(--soft);border-radius:10px;min-height:94px}
.site-v2.core-visual .service-selector__urgent{border-top:1px solid var(--line)}
.site-v2.core-visual .directory-help>a{color:var(--brand-dark);border-color:var(--line);padding-block:18px}
.site-v2.core-visual .directory-help>a:last-of-type{color:var(--ink);background:#fff5d8;margin:0 -12px;padding-inline:12px;border:1px solid #e9cd7c;border-radius:8px}
.site-v2.core-visual .directory-help>small{color:var(--muted)}
.site-v2.core-visual .directory-search label{color:#fff}
.site-v2.core-visual .directory-search>p{color:#c3d5d9}
.site-v2.core-visual .directory-search input{height:60px;border:2px solid #d9e6e3;box-shadow:0 8px 24px #0002}
.site-v2.core-visual .core-price-metric{display:flex;align-items:center;gap:24px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.site-v2.core-visual .core-price-metric strong{font-size:clamp(3.5rem,6vw,5rem);line-height:1;font-weight:750;letter-spacing:0;color:var(--brand-dark);font-variant-numeric:tabular-nums}
.site-v2.core-visual .core-price-metric span{font-size:1.125rem;line-height:1.4;color:var(--muted)}
.site-v2.core-visual .price-console .button{width:100%;margin-top:12px}

/* The same visual grammar continues below the hero, including the contact card. */
.site-v2.core-visual :is(.hp-price-explain,.price-shortlist__rows,.service-scope__grid article,.price-rules__grid article,.service-option-grid article){border-radius:12px;border:1px solid var(--line);box-shadow:none}
.site-v2.core-visual :is(.hp-price-row>strong,.price-shortlist__value strong,.price-item>b){color:var(--brand-dark);letter-spacing:0;font-variant-numeric:tabular-nums}
.site-v2.core-visual .hp-price-row>strong{background:#eef4ef;padding:6px 10px;border-radius:6px}
.site-v2.core-visual .hp-service-grid{gap:16px}
.site-v2.core-visual .hp-service-grid>a{border-radius:12px;padding:26px;border-top:3px solid #b8cec8}
.site-v2.core-visual .hp-service-grid>a:hover{border-color:var(--brand-dark);box-shadow:0 8px 24px #18352c0a}
.site-v2.core-visual .hp-service-num{color:var(--brand-dark);font-size:.875rem}
.site-v2.core-visual .hp-project__photo img{height:540px}
.site-v2.core-visual .hp-process{padding-top:12px}
.site-v2.core-visual :is(.hp-process__steps li,.process-line article){border-top:2px solid #c6d5cf;padding-top:22px}
.site-v2.core-visual :is(.hp-process__steps li>span,.process-line article>span){display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eef2e9;color:var(--brand-dark);font-size:1rem;letter-spacing:0}
.site-v2.core-visual .process-line__mark{display:none}
.site-v2.core-visual .hp-faq details[open]{border-color:var(--brand-dark)}
.site-v2.core-visual :is(.price-search input,.directory-links a,.directory-sections a,.price-filters button){border-radius:8px}
.site-v2.core-visual .price-search input:focus{border-color:var(--brand-dark)}
.site-v2.core-visual .price-filters button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.site-v2.core-visual .price-filters button.is-active small{color:#e4eeea}
.site-v2.core-visual .price-group__heading{background:#eef2ed;border-bottom:1px solid var(--line)}
.site-v2.core-visual .price-group__heading>span{color:var(--brand-dark);font-size:1.25rem;letter-spacing:0}
.site-v2.core-visual .price-item:hover{background:#fbfcf8}
.site-v2.core-visual .price-estimate{border:2px solid var(--brand-dark);background:#fff;border-radius:14px;box-shadow:0 8px 24px #173b3010}
.site-v2.core-visual .price-estimate__total{padding:20px;background:#fff5d8;border-radius:10px}
.site-v2.core-visual .price-estimate__head .eyebrow{font-size:.875rem}
.site-v2.core-visual .price-estimate textarea{font-size:1rem}
.site-v2.core-visual .appliance-connections{padding:20px 0;border:0;border-block:1px solid var(--line);border-radius:0;margin-block:24px}
.site-v2.core-visual .appliance-connections__links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px}
.site-v2.core-visual .appliance-connections__links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;border:0;border-radius:0;color:var(--brand-dark);font-size:.9375rem;text-decoration:underline;text-underline-offset:4px;max-width:100%}
.site-v2.core-visual .directory-group{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,2fr);gap:32px;padding-block:40px}
.site-v2.core-visual .directory-group__heading{gap:14px;align-items:start}
.site-v2.core-visual .directory-group__heading>span{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#eef2e9}
.site-v2.core-visual .directory-links{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
.site-v2.core-visual .directory-links a{height:100%;background:#f4f5f2;border-color:#e6e9e3;min-height:64px}
.site-v2.core-visual .directory-links a:hover{background:#fff;border-color:var(--brand-dark)}
.site-v2.core-visual .conversion-section{background:#132830;border-top:4px solid var(--signal);padding-block:72px}
.site-v2.core-visual .conversion-form-card{border-radius:16px;padding:32px;box-shadow:0 20px 48px #07121930}
.site-v2.core-visual .conversion-form-card__heading{padding-bottom:4px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.site-v2.core-visual .conversion-form-card__heading>span{font-size:1.5rem}
.site-v2.core-visual .conversion-phone{font-variant-numeric:tabular-nums;letter-spacing:0}
.site-v2.core-visual :is(.lead-demo,.lead-form) input:not([type=checkbox]),.site-v2.core-visual :is(.lead-demo,.lead-form) textarea{background:#fafbf8;border-color:#9aaaaa}
.site-v2.core-visual :is(.lead-demo,.lead-form) input:focus,.site-v2.core-visual :is(.lead-demo,.lead-form) textarea:focus{background:#fff}
.site-v2.core-visual .project-brief{background:#1d363e;border-color:#587077;border-radius:12px}
.site-v2.core-visual .mobile-action-bar{box-shadow:0 -4px 24px #14283014;border-top:1px solid var(--line)}
.site-v2.core-visual .mobile-action-bar__primary{background:var(--signal);color:var(--ink)}

@media(min-width:981px){.site-v2.core-visual .hp-price-explain{position:sticky;top:112px}}
@media(max-width:1100px){
  .site-v2.core-visual :is(.hp-hero__grid,.emergency-hero__grid,.service-detail-hero__grid,.price-hero__grid,.directory-intro__grid){gap:28px}
  .site-v2.core-visual .hp-dispatch nav a{padding:12px;grid-template-columns:1fr}
  .site-v2.core-visual .hp-dispatch nav b{display:none}
}
@media(max-width:980px){
  .site-v2.core-visual :is(.hp-hero__grid,.emergency-hero__grid,.service-detail-hero__grid,.price-hero__grid,.directory-intro__grid){grid-template-columns:minmax(0,1fr);gap:32px}
  .site-v2.core-visual .hp-actions{flex-direction:row}
  .site-v2.core-visual .hp-dispatch nav a{grid-template-columns:minmax(0,1fr) 18px}
  .site-v2.core-visual .hp-dispatch nav b{display:block}
  .site-v2.core-visual :is(.hp-dispatch,.emergency-console,.montage-selector) .design-art img{aspect-ratio:2.4/1;max-height:320px}
  .site-v2.core-visual .directory-group{grid-template-columns:1fr;gap:8px}
}
@media(max-width:640px){
  .site-v2.core-visual :is(.hp-hero,.emergency-hero,.service-detail-hero,.price-hero,.directory-intro){padding:26px 0 32px}
  .site-v2.core-visual .hp-hero{padding-bottom:0}
  .site-v2.core-visual :is(.hp-hero,.emergency-hero,.service-detail-hero,.price-hero,.directory-intro) h1{font-size:clamp(1.7rem,8.2vw,2rem);line-height:1.22;margin:16px 0 20px;letter-spacing:0;overflow-wrap:anywhere}
  .site-v2.core-visual :is(.hp-hero .hp-lead,.hero-copy,.directory-lead){font-size:1rem}
  .site-v2.core-visual :is(.hp-dispatch,.emergency-console,.montage-selector,.price-console,.directory-help){padding:20px;border-radius:15px}
  .site-v2.core-visual :is(.hp-dispatch,.emergency-console,.montage-selector) .design-art{margin:-12px -12px 18px;border-radius:10px}
  .site-v2.core-visual :is(.hp-dispatch,.emergency-console,.montage-selector) .design-art img{aspect-ratio:1.85/1;max-height:none}
  .site-v2.core-visual .hp-dispatch nav{grid-template-columns:1fr;gap:8px}
  .site-v2.core-visual .hp-dispatch nav a{min-height:78px;padding:14px}
  .site-v2.core-visual .hp-dispatch nav small{margin-top:3px}
  .site-v2.core-visual :is(.section,.hp-section){padding-block:48px}
  .site-v2.core-visual :is(.service-detail-hero__facts,.price-hero__facts,.emergency-hero__facts,.hp-hero__facts){gap:12px 18px}
  .site-v2.core-visual .hp-hero__facts{margin-top:20px;padding-top:16px}
  .site-v2.core-visual .hp-price-row>strong{width:fit-content}
  .site-v2.core-visual .hp-service-grid>a{padding:22px}
  .site-v2.core-visual .hp-project__photo img{height:420px}
  .site-v2.core-visual .hp-process{padding-top:0}
  .site-v2.core-visual .directory-links{grid-template-columns:1fr}
  .site-v2.core-visual .directory-group{padding-block:28px}
  .site-v2.core-visual .core-price-metric strong{font-size:4rem}
  .site-v2.core-visual .conversion-section{padding-block:48px 56px}
  .site-v2.core-visual .conversion-form-card{padding:22px 18px;border-radius:12px}
  .site-v2.core-visual .conversion-form-card__heading>span{font-size:1.3rem}
}
@media(prefers-reduced-motion:reduce){.site-v2.core-visual *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Readable editorial sections: descriptive copy stays separate from link blocks. */
.site-v2 .hp-price-row__name h3 {min-width:0;overflow-wrap:anywhere;}
.site-v2 .core-editorial {background:#f6f8f7;}
.site-v2 .core-editorial .container {max-width:1180px;}
.site-v2 .core-editorial__section {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);gap:clamp(24px,4vw,64px);padding-block:36px;border-top:1px solid #d3dfdc;}
.site-v2 .core-editorial__section:first-child {border-top:0;padding-top:0;}
.site-v2 .core-editorial__section:last-child {padding-bottom:0;}
.site-v2 .core-editorial__section h2 {margin:0;letter-spacing:0;line-height:1.3;overflow-wrap:anywhere;}
.site-v2 .core-editorial__copy {min-width:0;max-width:68ch;}
.site-v2 .core-editorial__copy p {margin:0 0 18px;color:#34474b;}
.site-v2 .core-editorial__copy ul {padding-left:1.3em;margin:20px 0;}
.site-v2 .core-editorial__copy li {padding-left:.3em;margin-block:12px;color:#34474b;}
.site-v2 .core-editorial__copy li::marker {color:#007773;}
.site-v2 .core-editorial__copy p:last-child {margin-bottom:0;}
@media(max-width:760px){.site-v2 .core-editorial__section {grid-template-columns:minmax(0,1fr);gap:20px;padding-block:28px;}}
