/* Local candidate: shared layout follows the existing home-page brand styles. */
.hh-site-consistent {
  --hh-blue: #0a56a0;
  --hh-heading: #073d74;
  --hh-copy: #516171;
  --hh-border: #dbe9f6;
  min-width: 320px;
}
.hh-site-consistent :where(.container) {
  min-width: 0;
  width: 100%;
  max-width: 1530px;
  box-sizing: border-box;
}
/* Keep the page backgrounds full width; reserve room inside every page's content. */
@media (min-width: 641px) {
  .hh-site-consistent > :where(:not(.header):not(.footer-fix)) .container {
    padding-right: max(15px, calc(74px - max(0px, (100vw - 1530px) / 2)));
  }
}
.hh-site-consistent .v7-section,
.hh-site-consistent .v7-service-section { padding: 56px 0; }
.hh-site-consistent .v7-title h2 {
  color: var(--hh-heading);
  font-size: 28px;
  font-weight: 900;
  line-height: 1.35;
}
.hh-site-consistent .v7-title--white h2 { color: #fff; }
.hh-site-consistent .v7-service-card,
.hh-site-consistent .hb-panel {
  border: 1px solid var(--hh-border);
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(17,55,95,.08);
  padding: 26px 24px;
}
.hh-site-consistent .v7-service-card h3 {
  color: var(--hh-heading);
  font-size: 22px;
}
.hh-site-consistent .v7-service-card > p { color: var(--hh-copy); font-size: 14px; }
.hh-site-consistent .v7-more-btn,
.hh-site-consistent .v7-sc-btn,
.hh-site-consistent .hb-actions a { border-radius: 999px; }
.hh-site-consistent .hb-actions a:last-child { background: #15a56a; }
.hh-site-consistent .footer-logo img { width: 110px; height: auto; }
/* Existing article, list, service and contact families use the same home tokens. */
.hh-site-consistent :is(.nv-article,.nv-prevnext,.nv-quicklinks,.nv-sb,
  .lv-card,.lv-sb,.nl-card,.nl-sb,.au-card,.au-sb,.cp-service,.cp-panel,
  .cp-hero-card,.ct-card-phone,.ct-card-wx,.ct-info-card,.hh-card) {
  border-radius: 18px;
}
.hh-site-consistent :is(.lv-layout,.nl-layout) > * { min-width: 0; }
.hh-site-consistent :is(.au-card-head,.cp-section-title,.hh-card) h2 {
  color: var(--hh-heading); font-size: 28px; font-weight: 900; line-height: 1.35;
}
.hh-site-consistent :is(.nv-article-body,.about-1,.content-body) {
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.hh-site-consistent :is(.nv-article-body,.about-1,.content-body) h2 {
  color: var(--hh-heading);
}
.hh-site-consistent :is(.au-hero-cta,.au-bottom-btns,.nv-bottom-btns,
  .nl-bottom-btns,.lv-bottom-btns,.nv-cta-sb,.nl-cta,.lv-cta) .btn,
.hh-site-consistent :is(.nv-btn-w,.nv-btn-o,.nl-btn-w,.nl-btn-o,
  .lv-btn-w,.lv-btn-o,.au-btn-w,.au-btn-o,.ct-phone-btn) { border-radius: 999px; }
.hh-site-consistent .ct-phone-info a.tel-num { color: var(--hh-blue); }
.hh-site-consistent .ct-phone-btn,
.hh-site-consistent .ct-card-phone .phone-icon {
  background: var(--hh-blue); box-shadow: 0 6px 20px rgba(10,86,160,.22);
}
.hh-site-consistent .hh-wrap {
  max-width: 1530px; width: 100%; box-sizing: border-box;
}
.hh-site-consistent .hh-footer { background: #333; }
.hh-site-consistent :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #073d74;
}
@media (max-width: 767px) {
  .hh-site-consistent .v7-section,
  .hh-site-consistent .v7-service-section { padding: 38px 0; }
  .hh-site-consistent .v7-title h2 { font-size: 23px; }
  .hh-site-consistent .v7-service-card,
  .hh-site-consistent .hb-panel { padding: 20px 18px; }
  .hh-site-consistent :is(.au-card-head,.cp-section-title,.hh-card) h2 { font-size: 23px; }
}
