
/* wpcode-3229 */
@media (max-width: 768px) {
  .jbc-sticky-call {
    background: #0a2a45 !important;
    padding: 10px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px !important;
    box-shadow: 0 -4px 18px rgba(21, 155, 220, 0.45) !important;
    color: #ffffff !important;
    border-top: 1px solid rgba(21, 155, 220, 0.25) !important;
  }
  .jbc-sticky-call:hover {
    background: #0d3355 !important;
    box-shadow: 0 -4px 24px rgba(21, 155, 220, 0.65) !important;
  }
}
/* wpcode-3228 */
@media (max-width: 767px) {

  .wp-block-group[style*="159BDC"] {
    padding: 48px 24px !important;
    background: linear-gradient(135deg, #0e8abf 0%, #159BDC 60%, #1ab0f0 100%) !important;
  }

  .wp-block-group[style*="159BDC"] h2 {
    font-size: 26px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.3px !important;
    margin-bottom: 10px !important;
  }

  .wp-block-group[style*="159BDC"] p {
    font-size: 15px !important;
    opacity: 0.92 !important;
    margin-bottom: 28px !important;
  }

  .wp-block-group[style*="159BDC"] .wp-block-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }

  .wp-block-group[style*="159BDC"] .wp-block-button {
    width: 100% !important;
  }

  .wp-block-group[style*="159BDC"] .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
    letter-spacing: 0.2px !important;
  }

  .wp-block-group[style*="159BDC"] .wp-block-button__link.has-background {
    background: #ffffff !important;
    color: #0a2a45 !important;
    border: none !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.18) !important;
  }

  .wp-block-group[style*="159BDC"] .wp-block-button__link:not(.has-background) {
    background: rgba(255,255,255,0.12) !important;
    color: #ffffff !important;
    border: 2px solid rgba(255,255,255,0.65) !important;
  }

}
/* wpcode-3220 */
.page-id-236 .entry-hero { display: none !important; }
/* wpcode-3163 */
/* JBC UX/UI fixes — CTA recolor + layout, deployed via WPCode 2026-06-20 */
/* Recolor brand orange (#F5A623) to site primary blue (#0D7AB8) on all CTAs */
.jbc-btn-primary,.jbc-call,#jbc-calc-fab,.jbc-prog-dot.done,.jbc-comm-cta{background-color:#0D7AB8 !important;border-color:#0D7AB8 !important;}
.jbc-btn-primary:hover,.jbc-call:hover,#jbc-calc-fab:hover,.jbc-comm-cta:hover{background-color:#1180ba !important;border-color:#1180ba !important;}
.jbc-comm-cta{box-shadow:0 4px 14px rgba(0,0,0,.25) !important;}
/* Lift floating Get-an-Estimate button above the 58px sticky bottom bar */
#jbc-calc-fab{bottom:76px !important;z-index:9997 !important;}
/* Force WHITE text on CTAs. The theme has a broad 'a:not(...)' !important link-color rule (~11 classes specificity); we repeat the class to exceed it. */
.jbc-call.jbc-call.jbc-call.jbc-call.jbc-call.jbc-call.jbc-call.jbc-call.jbc-call.jbc-call.jbc-call.jbc-call.jbc-call,.jbc-comm-cta.jbc-comm-cta.jbc-comm-cta.jbc-comm-cta.jbc-comm-cta.jbc-comm-cta.jbc-comm-cta.jbc-comm-cta.jbc-comm-cta.jbc-comm-cta.jbc-comm-cta.jbc-comm-cta.jbc-comm-cta,.jbc-btn-primary.jbc-btn-primary.jbc-btn-primary.jbc-btn-primary.jbc-btn-primary.jbc-btn-primary.jbc-btn-primary.jbc-btn-primary.jbc-btn-primary.jbc-btn-primary.jbc-btn-primary.jbc-btn-primary.jbc-btn-primary,#jbc-calc-fab,a#calc-cta{color:#ffffff !important;}
/* Remove stray gradient bars flanking the trust badges */
.jbc-trust-inner::before,.jbc-trust-inner::after{display:none !important;}
/* Blog/archive: hide post body content that bleaks outside .entry-summary cards */
body.blog article .entry-content-wrap > div:not(.entry-summary),
body.archive article .entry-content-wrap > div:not(.entry-summary),
body.category article .entry-content-wrap > div:not(.entry-summary),
body.tag article .entry-content-wrap > div:not(.entry-summary) {
  display: none !important;
}

/* ── Quote form: fix submit button touching bottom of card ── */
.raq-form-card {
  padding-bottom: 32px !important;
}
.jbc-qf-btn {
  margin-bottom: 0 !important;
}

/* ── Homepage hero: move reviews badge above H1, centered ── */
.wp-block-cover__inner-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.wp-block-cover__inner-container > * {
  width: 100%;
}
/* Visual order: badge → eyebrow → H1 → description → buttons → trust bar */
.wp-block-cover__inner-container > a.jbc-rating-badge {
  order: 0 !important;
  width: -webkit-fit-content !important;
  width: fit-content !important;
  margin: 0 auto 12px !important;
  align-self: center !important;
}
.wp-block-cover__inner-container > p.wp-block-paragraph:first-of-type { order: 1; }
.wp-block-cover__inner-container > h1.wp-block-heading { order: 2; }
.wp-block-cover__inner-container > p.wp-block-paragraph:not(:first-of-type):not(:last-of-type) { order: 3; }
.wp-block-cover__inner-container > .wp-block-buttons { order: 4; }
.wp-block-cover__inner-container > p.wp-block-paragraph:last-of-type { order: 5; }
/* ===== Modern nav bar (Claude 2026-06-20) ===== */
.site-header .menu > li.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item > a{color:#eef3f8 !important;}
.site-header .menu > li.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item > a:hover{color:#ffffff !important;}
.site-header .menu li.menu-item-172.menu-item-172.menu-item-172 > a{color:#ffffff !important;}
.site-header .main-navigation .menu>li>a{font-weight:500 !important;letter-spacing:.3px !important;position:relative !important;transition:color .2s ease !important;}
.site-header .main-navigation .menu>li>a::after{content:"" !important;position:absolute !important;left:12px;right:12px;bottom:6px;height:2px;background:#0D7AB8;transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
.site-header .main-navigation .menu>li>a:hover::after,.site-header .main-navigation .menu>li.current-menu-item>a::after{transform:scaleX(1);}
.site-header .menu li.menu-item-172>a{background:#0D7AB8 !important;border-radius:999px !important;padding:9px 20px !important;margin-left:10px !important;font-weight:600 !important;box-shadow:0 4px 12px rgba(21,155,220,.35) !important;transition:all .2s ease !important;}
.site-header .menu li.menu-item-172>a:hover{background:#1180ba !important;transform:translateY(-1px) !important;}
.site-header .menu li.menu-item-172>a::after{display:none !important;}
.site-header .main-navigation .menu .sub-menu{border-radius:10px !important;overflow:hidden !important;box-shadow:0 12px 30px rgba(0,0,0,.28) !important;padding:6px 0 !important;}
.site-header .main-navigation .menu .sub-menu li>a:hover{background:rgba(21,155,220,.15) !important;}
.site-header .site-header-inner-wrap{box-shadow:0 1px 0 rgba(255,255,255,.06) !important;}
/* ===== Nav v2 - even more modern (Claude 2026-06-20) ===== */
.site-header .main-navigation .menu > li > a::after{display:none !important;}
.site-header .main-navigation .menu > li > a{border-radius:999px !important;padding:10px 16px !important;transition:background .2s ease,color .2s ease !important;}
.site-header .main-navigation .menu > li > a:hover{background:rgba(255,255,255,.12) !important;}
.site-header .main-navigation .menu > li.current-menu-item > a{background:rgba(21,155,220,.20) !important;}
.site-header .main-navigation .menu .sub-menu{background:rgba(15,20,30,.72) !important;-webkit-backdrop-filter:blur(14px) saturate(140%) !important;backdrop-filter:blur(14px) saturate(140%) !important;border:1px solid rgba(255,255,255,.08) !important;border-radius:14px !important;box-shadow:0 18px 44px rgba(0,0,0,.38) !important;padding:8px !important;}
.site-header .main-navigation .menu .sub-menu li.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item.menu-item > a{color:#eef3f8 !important;}
.site-header .main-navigation .menu .sub-menu li > a{border-radius:9px !important;margin:2px 4px !important;transition:background .15s ease !important;}
.site-header .main-navigation .menu .sub-menu li > a:hover{background:rgba(21,155,220,.22) !important;}
.site-header .main-navigation .menu .sub-menu li > a::after{display:none !important;}
.site-header .menu li.menu-item-172 > a{background:linear-gradient(135deg,#1aa6e8 0%,#1280bd 100%) !important;box-shadow:0 6px 18px rgba(21,155,220,.45) !important;padding:11px 24px !important;}
.site-header .menu li.menu-item-172 > a:hover{background:linear-gradient(135deg,#1aa6e8 0%,#0f72a8 100%) !important;box-shadow:0 10px 26px rgba(21,155,220,.6) !important;transform:translateY(-1px) !important;}
/* ===== Site-wide polish (Claude 2026-06-20) ===== */
@media (prefers-reduced-motion: no-preference){ html:focus-within{scroll-behavior:smooth;} }
.wp-block-button__link,.wp-element-button,.kb-button,.button,.wpforms-submit{border-radius:8px !important;transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,filter .2s ease !important;}
.wp-block-button__link:hover,.wp-element-button:hover,.kb-button:hover,.button:hover,.wpforms-submit:hover{transform:translateY(-2px) !important;box-shadow:0 8px 22px rgba(16,40,70,.18) !important;filter:brightness(1.03) !important;}
.entry-content .wp-block-image img,.entry-content figure img{border-radius:12px !important;}
.loop-entry,.entry.loop-entry{border-radius:14px !important;overflow:hidden !important;transition:transform .2s ease,box-shadow .25s ease !important;}
.loop-entry:hover{transform:translateY(-4px) !important;box-shadow:0 16px 36px rgba(16,40,70,.14) !important;}
.wpforms-field input[type=text],.wpforms-field input[type=email],.wpforms-field input[type=tel],.wpforms-field input[type=url],.wpforms-field textarea,.wpforms-field select{border-radius:8px !important;border:1px solid #d7dde5 !important;transition:border-color .15s ease,box-shadow .15s ease !important;}
.wpforms-field input:focus,.wpforms-field textarea:focus,.wpforms-field select:focus{border-color:#0D7AB8 !important;box-shadow:0 0 0 3px rgba(21,155,220,.18) !important;outline:none !important;}
a:focus-visible,button:focus-visible,.wp-block-button__link:focus-visible,.wpforms-submit:focus-visible{outline:2px solid #0D7AB8 !important;outline-offset:2px !important;}
h1,h2,h3{letter-spacing:-.01em !important;}
/* ===== Remove white gap below nav bar, all pages (Claude 2026-06-20) ===== */
.entry-content-wrap{padding-top:0 !important;}
/* ===== Stats bar: subtle + modern (Claude 2026-06-20) ===== */
.wp-container-core-group-is-layout-ef9f4b4c h3.wp-block-heading{color:#ffffff !important;letter-spacing:-.01em !important;margin-bottom:6px !important;}
.wp-container-core-group-is-layout-ef9f4b4c p.wp-block-paragraph{color:rgba(255,255,255,.55) !important;font-size:12px !important;letter-spacing:.14em !important;text-transform:uppercase !important;font-weight:500 !important;margin-top:0 !important;}
@media (min-width:782px){.wp-container-core-group-is-layout-ef9f4b4c .wp-block-column + .wp-block-column{border-left:1px solid rgba(255,255,255,.12) !important;}}
/* ===== Flush hero into stats bar (Claude 2026-06-20) ===== */
.home .entry-content > *{margin-top:0 !important;margin-bottom:0 !important;}
/* ===== Homepage: transparent header over hero + white logo + glass nav (Claude 2026-06-20) ===== */
.home .site-header{position:fixed !important;top:0;left:0;right:0;background:rgba(10,16,28,.72) !important;-webkit-backdrop-filter:blur(14px) saturate(140%) !important;backdrop-filter:blur(14px) saturate(140%) !important;box-shadow:0 4px 20px rgba(0,0,0,.22) !important;z-index:99 !important;transition:background .3s ease,backdrop-filter .3s ease,box-shadow .3s ease !important;}
.home .site-header.jbc-top{background:transparent !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;box-shadow:none !important;}
.home .site-header-inner-wrap,.home .site-header-wrap{box-shadow:none !important;background:transparent !important;}
.home .site-header .custom-logo{filter:brightness(0) invert(1) !important;}
@media(min-width:1024px){.home .main-navigation .menu{background:rgba(255,255,255,.10) !important;-webkit-backdrop-filter:blur(12px) saturate(140%) !important;backdrop-filter:blur(12px) saturate(140%) !important;border:1px solid rgba(255,255,255,.20) !important;border-radius:999px !important;padding:4px 6px !important;}}
/* ===== Interior pages: sticky frosted header (all widths; JS sets exact offset) (Claude 2026-06-20) ===== */
body:not(.home) .site-header{position:fixed !important;top:0;left:0;right:0;z-index:99 !important;background:rgba(10,16,28,.85) !important;-webkit-backdrop-filter:blur(14px) saturate(140%) !important;backdrop-filter:blur(14px) saturate(140%) !important;box-shadow:0 4px 20px rgba(0,0,0,.18) !important;}
body:not(.home){padding-top:80px;}
body:not(.home) .site-header .custom-logo{filter:brightness(0) invert(1) !important;}
@media(min-width:1024px){body:not(.home) .main-navigation .menu{background:rgba(255,255,255,.10) !important;-webkit-backdrop-filter:blur(12px) saturate(140%) !important;backdrop-filter:blur(12px) saturate(140%) !important;border:1px solid rgba(255,255,255,.20) !important;border-radius:999px !important;padding:4px 6px !important;}}
/* ===== Trusted-by badges: border-free polish (match stat bar, light theme) (Claude 2026-06-20) ===== */
.jbc-badges .jbc-badge{background:transparent !important;border:none !important;box-shadow:none !important;border-radius:0 !important;padding:10px 26px !important;}
@media(min-width:1024px){.jbc-badges .jbc-badge:not(:nth-child(3n+1)){border-left:1px solid rgba(0,0,0,.10) !important;}}

/* ===== Thank-You page polish (page-id-3098) — Claude 2026-06-26 ===== */
.page-id-3098 .entry-hero-container-inner{display:none !important;}
.page-id-3098 .content-bg.entry.single-entry{
  max-width:640px;
  margin:56px auto 48px !important;
  border-radius:20px;
  box-shadow:0 18px 50px rgba(10,42,69,.12);
  overflow:hidden;
}
.page-id-3098 .entry-content-wrap{padding:54px 44px 48px !important;}
.page-id-3098 .entry-content{text-align:center;}
.page-id-3098 .entry-content > h1:first-child{
  font-size:2rem;line-height:1.2;color:#0A2A45;
  margin:0 0 16px;letter-spacing:-.01em;
}
.page-id-3098 .entry-content > h1:first-child::before{
  content:"\2713";
  display:flex;align-items:center;justify-content:center;
  width:80px;height:80px;margin:0 auto 24px;
  border-radius:50%;
  background:linear-gradient(135deg,#0D7AB8,#0A6FA8);
  color:#fff;font-size:40px;font-weight:700;line-height:1;
  box-shadow:0 10px 26px rgba(21,155,220,.38);
}
.page-id-3098 .entry-content p{
  font-size:1.06rem;color:#46596b;line-height:1.65;
  margin:0 auto 14px;max-width:46ch;
}
.page-id-3098 .entry-content a[href^="tel"]{color:#0D7AB8;font-weight:700;text-decoration:none;}
.page-id-3098 .entry-content .wp-block-buttons{margin-top:30px;}
.page-id-3098 .entry-content .wp-block-button__link{
  background:#0D7AB8 !important;color:#fff !important;
  border-radius:999px;padding:15px 38px;font-weight:600;font-size:1rem;
  box-shadow:0 8px 20px rgba(21,155,220,.32);
  transition:transform .15s ease,box-shadow .15s ease;
}
.page-id-3098 .entry-content .wp-block-button__link:hover{
  transform:translateY(-2px);box-shadow:0 12px 28px rgba(21,155,220,.42);
}

/* ===== Remove green outline on shared "Proudly Serving" areas block (site-wide) ===== */
.jbc-areas-block{border-left:0 !important;}

/* force the thank-you heading visible (overrides theme hide-duplicate-H1) */
.page-id-3098 .entry-content > h1:first-child{display:block !important;}

/* TY button label contrast — beat broad theme link-color !important (repeat class for specificity) */
.page-id-3098 .entry-content a.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link,
.page-id-3098 .entry-content a.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link:hover,
.page-id-3098 .entry-content a.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link.wp-block-button__link:focus{color:#fff !important;}


/* ===== WCAG AA contrast fixes — Claude 2026-06-26 ===== */
/* light-blue CTA buttons -> accessible darker blue + white text */
.raq-phone-btn,.com-btn-primary,.jbc-pb-cta{background:#0D7AB8 !important;color:#fff !important;}
.raq-phone-btn *,.com-btn-primary *,.jbc-pb-cta *{color:#fff !important;}
/* orange CTAs -> dark navy text (white/blue on orange fails AA) */
.jbc-jobs-cta a,.jbc-cf-nxt,.jbc-cf-dot.act{color:#0A2A45 !important;}
/* blog index card footer "Read More" sits on a dark band -> white */
.loop-entry .entry-footer a,.loop-entry .post-more-link{color:#fff !important;}
/* Google rating badge text -> accessible blue */
.jbc-rating-badge,.jbc-rating-badge *{color:#0D7AB8 !important;}
/* low-contrast gray meta text -> darker */
.jbc-job-date,.raq-areas-note,.meta-label,.entry-meta,.entry-meta a,.entry-date,.posted-on,.byline,.comments-link{color:#5b6470 !important;}
.jbc-cf-dot{color:#6b7280 !important;}
.jbc-job-tag{color:#7a4f00 !important;}
/* content & footer text links -> accessible blue (out-specifies theme #31AADE !important rule via :not(:root) chain; excludes buttons) */
.entry-content a:not(.wp-block-button__link):not(.wp-element-button):not(.kb-button):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),
.site-footer a:not(.wp-block-button__link):not(.wp-element-button):not(.kb-button):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){color:#0D7AB8 !important;}


/* ===== AA contrast fixes round 2 — Claude 2026-06-26 ===== */
/* darken inline custom-blue (#159BDC) Gutenberg buttons & bands -> white text passes AA */
.wp-block-button__link[style*="background-color:#159bdc" i]{background-color:#0D7AB8 !important;}
.wp-block-group[style*="background-color:#159bdc" i],.wp-block-cover[style*="background-color:#159bdc" i]{background-color:#0D7AB8 !important;}
.wp-block-group[style*="background-color:#159bdc" i] p{color:#fff !important;}
/* high-specificity link overrides (beat content-link + theme link rules) */
.jbc-jobs-cta a:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){color:#0A2A45 !important;}
.jbc-cf-nxt:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.jbc-cf-dot.act:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){color:#0A2A45 !important;}
.loop-entry .post-more-link:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.loop-entry .entry-footer a:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){color:#fff !important;}
.jbc-rating-badge:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){color:#0D7AB8 !important;}
/* trusted-by heading + license line gray -> darker */
.jbc-trust-inner h3,.jbc-trust-inner .bt,.jbc-trust-inner span,.jbc-trust-inner small{color:#5b6470 !important;}


/* ===== AA contrast fixes round 3 — Claude 2026-06-26 ===== */
/* keep colored-button labels white (out-specify theme #31AADE + content-link overrides) */
.com-btn-primary:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.com-btn-primary:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) *,
.raq-phone-btn:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.raq-phone-btn:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) *,
.jbc-pb-cta:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.jbc-pb-cta:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) *,
.jbc-comm-cta:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.jbc-comm-cta:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) *,
.jbc-btn-primary:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.jbc-btn-primary:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) *{color:#fff !important;}


/* ===== AA contrast fixes round 4 — Claude 2026-06-26 ===== */
/* blog/archive card meta grays (boost over Kadence meta CSS) */
.entry-meta:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.entry-meta:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) .meta-label,.entry-meta:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) .entry-date,.entry-meta:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) .posted-on,.entry-meta:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) .byline,.entry-meta:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) time{color:#5b6470 !important;}
.entry-meta a:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){color:#0D7AB8 !important;}
/* "Read More" sits on a dark card footer band -> white (cards are .entry-list-item) */
.entry-list-item .entry-footer a:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.entry-list-item .post-more-link:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){color:#fff !important;}


/* ===== AA contrast fixes round 5 — Claude 2026-06-26 ===== */
/* "Read More" on dark card footer -> white (beats pre-existing #primary id rule) */
#primary .entry-list-item .post-more-link:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),
#primary .entry-list-item .entry-footer a:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){color:#fff !important;}


/* ===== AA contrast fixes round 6: service pages (.svc-*) — Claude 2026-06-26 ===== */
/* dark "benefits" band -> light text */
.svc-page .svc-benefits-section h2,.svc-page .svc-benefits-section h3,.svc-page .svc-benefits-section h4,.svc-page .svc-benefits-section .svc-title{color:#fff !important;}
.svc-page .svc-benefits-section p,.svc-page .svc-benefits-section li,.svc-page .svc-benefits-section span,.svc-page .svc-benefits-section strong{color:#e6edf3 !important;}
.svc-page .svc-benefits-section .svc-label,.svc-page .svc-benefits-section .svc-label-light{color:#9fd4f2 !important;}
/* blue eyebrow labels + blue emphasis on light bg -> accessible blue */
.svc-page .svc-label{color:#0D7AB8 !important;}
.svc-page strong{color:#0D7AB8 !important;}
/* primary svc CTA: darker blue bg + white text */
.svc-btn.svc-btn-primary{background:#0D7AB8 !important;}
.svc-btn-primary:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.svc-btn-primary:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) *{color:#fff !important;}
/* "from $" pricing blue on light card -> darker (also commercial cards) */
.jbc-pb-from,.jbc-pb-from strong,.jbc-pb-from span,.jbc-pb-price,.jbc-pb-price strong{color:#0a6699 !important;}


/* ===== AA contrast fixes round 7 — Claude 2026-06-26 ===== */
/* H2/H3 on dark svc band -> white (beat equal-spec .entry-content h2:not([class]) rule) */
.svc-page .svc-benefits-section h2:not(:root):not(:root),.svc-page .svc-benefits-section h3:not(:root):not(:root){color:#fff !important;}
/* eyebrow labels darker to clear AA on off-white sections */
.svc-page .svc-label{color:#0a6699 !important;}


/* ===== AA contrast fixes round 8 — Claude 2026-06-26 ===== */
/* prev/next post navigation links on off-white cards -> darker accessible blue */
.post-navigation a:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.post-navigation small:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.nav-links a:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root),.nav-links small:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){color:#0a6699 !important;}


/* ===== Service pricing bar -> trust strip — Claude 2026-06-26 ===== */
.jbc-pb{
  background:#ffffff !important;
  border:1px solid #e6ebf1 !important;
  border-radius:14px !important;
  box-shadow:0 6px 22px rgba(10,42,69,.07) !important;
  padding:15px 22px !important;
  display:flex !important; align-items:center !important; flex-wrap:wrap !important;
  gap:10px 18px !important;
  margin:18px 0 !important;
}
.jbc-pb .jbc-pb-from{
  display:inline-flex !important; align-items:center !important; gap:12px !important;
  color:#0A2A45 !important; font-weight:700 !important; font-size:1.05rem !important; letter-spacing:-.01em !important;
}
.jbc-pb .jbc-pb-from::before{
  content:"\2713";
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; flex:0 0 30px;
  border-radius:9px;
  background:linear-gradient(135deg,#0D7AB8,#0A5E92);
  color:#fff !important; font-size:16px; font-weight:700; line-height:1;
  box-shadow:0 3px 9px rgba(13,122,184,.35);
}
.jbc-pb .jbc-pb-from strong{ color:#0D7AB8 !important; font-weight:800 !important; }
.jbc-pb .jbc-pb-sep{ display:none !important; }
.jbc-pb .jbc-pb-range{
  color:#5b6470 !important; font-weight:500 !important; font-size:.95rem !important;
  position:relative !important; padding-left:17px !important;
}
.jbc-pb .jbc-pb-range::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:5px; height:5px; border-radius:50%; background:#cbd5e0;
}
.jbc-pb .jbc-pb-range::after{
  content:"  \00b7  Free, no-obligation estimate"; color:#5b6470;
}
.jbc-pb .jbc-pb-cta{
  margin-left:auto !important;
  background:#0D7AB8 !important; color:#fff !important;
  border:0 !important; border-radius:999px !important;
  padding:11px 26px !important; font-weight:600 !important; font-size:.97rem !important;
  box-shadow:0 6px 16px rgba(13,122,184,.30) !important;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease !important;
}
.jbc-pb .jbc-pb-cta:hover{
  transform:translateY(-2px) !important; background:#0A6699 !important;
  box-shadow:0 10px 24px rgba(13,122,184,.42) !important;
}
@media (max-width:600px){
  .jbc-pb .jbc-pb-cta{ margin-left:0 !important; width:100% !important; text-align:center !important; }
}


/* ===== Trust strip -> frosted pill overlaid on hero image — Claude 2026-06-26 ===== */
/* collapse the gray Kadence hero band that only holds the strip (kills the whitespace) */
.entry-hero.page-hero-section:has(.jbc-pb){ position:relative !important; z-index:12 !important; min-height:0 !important; height:0 !important; overflow:visible !important; }
.entry-hero-container-inner:has(.jbc-pb){ background:transparent !important; min-height:0 !important; height:0 !important; padding:0 !important; overflow:visible !important; }
.entry-header.page-title:has(.jbc-pb){ min-height:0 !important; padding:0 !important; margin:0 !important; }
.hero-container.site-container:has(.jbc-pb){ position:relative !important; min-height:0 !important; padding-top:0 !important; padding-bottom:0 !important; height:0 !important; overflow:visible !important; }
/* compact frosted-glass pill, overlaid near top of the hero image */
.jbc-pb{
  position:absolute !important;
  top:28px !important; left:50% !important; transform:translateX(-50%) !important;
  z-index:20 !important;
  width:auto !important; max-width:min(660px,92vw) !important; margin:0 !important;
  display:flex !important; align-items:center !important; flex-wrap:nowrap !important;
  background:rgba(13,27,45,.55) !important;
  -webkit-backdrop-filter:blur(16px) saturate(140%) !important;
  backdrop-filter:blur(16px) saturate(140%) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:999px !important;
  box-shadow:0 12px 34px rgba(0,0,0,.32) !important;
  padding:8px 10px 8px 18px !important;
  gap:0 14px !important;
}
.jbc-pb .jbc-pb-from{ color:#fff !important; font-size:.98rem !important; white-space:nowrap !important; }
.jbc-pb .jbc-pb-from strong{ color:#bfe6ff !important; }
.jbc-pb .jbc-pb-from::before{ flex:0 0 26px !important; width:26px !important; height:26px !important; font-size:14px !important; }
.jbc-pb .jbc-pb-range{ color:rgba(255,255,255,.85) !important; font-size:.9rem !important; white-space:nowrap !important; }
.jbc-pb .jbc-pb-range::before{ background:rgba(255,255,255,.45) !important; }
.jbc-pb .jbc-pb-range::after{ content:"" !important; display:none !important; }
.jbc-pb .jbc-pb-cta{ margin-left:8px !important; padding:9px 22px !important; font-size:.92rem !important; box-shadow:0 4px 12px rgba(0,0,0,.28) !important; white-space:nowrap !important; }
@media (max-width:640px){
  .jbc-pb{ top:16px !important; max-width:94vw !important; padding:7px 9px 7px 14px !important; }
  .jbc-pb .jbc-pb-range{ display:none !important; }
}


/* ===== Service hero: full-bleed under transparent nav — Claude 2026-06-26 ===== */
body:has(.svc-hero){ padding-top:0 !important; }
body:has(.svc-hero) .site-header.jbc-hero-nav{
  background:transparent !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  box-shadow:none !important; border-bottom-color:transparent !important;
}
/* keep the frosted price pill below the (now transparent) nav */
body:has(.svc-hero) .jbc-pb{ top:100px !important; }
@media (max-width:640px){ body:has(.svc-hero) .jbc-pb{ top:86px !important; } }


/* ===== Nav: space the Request-a-Quote pill away from Blog (avoid hover overlap) — Claude 2026-06-26 ===== */
.main-navigation .menu > .menu-item-172{ margin-right:26px !important; }


/* ===== Footer upgrade + frost glass — Claude 2026-06-26 ===== */
.site-footer{ background:linear-gradient(180deg,#0A2A45 0%,#06203a 100%) !important; color:#cdd8e3 !important; }
.site-footer .site-footer-wrap{ max-width:1180px !important; margin:0 auto !important; padding:0 24px !important; }
.jbc-foot{ padding:50px 0 6px; }
/* CTA banner — frosted glass */
.jbc-foot-cta{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px;
  background:rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.16); border-radius:18px;
  padding:26px 32px; margin-bottom:46px; box-shadow:0 14px 36px rgba(0,0,0,.28);
}
.jbc-foot-cta h3{ color:#fff !important; font-size:1.45rem; margin:0 0 6px; line-height:1.22; letter-spacing:-.01em; }
.jbc-foot-cta p{ color:#aebccb !important; margin:0; font-size:.97rem; }
.jbc-foot-cta-btns{ display:flex; gap:12px; flex-wrap:wrap; }
.jbc-foot-btn{ display:inline-flex; align-items:center; border-radius:999px; padding:12px 26px; font-weight:600; font-size:.95rem; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; }
.jbc-foot-btn-primary{ background:#0D7AB8; box-shadow:0 8px 20px rgba(13,122,184,.4); }
.jbc-foot-btn-primary:hover{ transform:translateY(-2px); background:#0a6699; }
.jbc-foot-btn-ghost{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.3); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.jbc-foot-btn-ghost:hover{ background:rgba(255,255,255,.16); transform:translateY(-2px); }
/* columns */
.jbc-foot-cols{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.1fr; gap:36px; padding-bottom:38px; }
.jbc-foot-col h4{ color:#fff !important; font-size:.8rem; letter-spacing:.09em; text-transform:uppercase; margin:0 0 16px; }
.jbc-foot-col ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.jbc-foot-col li{ margin:0 0 10px !important; color:#aebccb; font-size:.92rem; line-height:1.45; }
.jbc-foot-name{ color:#fff !important; font-weight:800; font-size:1.18rem; letter-spacing:-.01em; margin-bottom:12px; }
.jbc-foot-name span{ color:#7fc4ef; font-weight:600; }
.jbc-foot-tag{ color:#aebccb !important; font-size:.92rem; line-height:1.55; margin:0 0 16px !important; max-width:36ch; }
.jbc-foot-contact li:first-child{ margin-bottom:12px !important; }
.jbc-foot-areas{ display:flex !important; flex-wrap:wrap; gap:6px 16px; }
.jbc-foot-areas li{ margin:0 !important; }
.jbc-foot-areas-note{ color:#7fc4ef !important; font-size:.85rem; margin:14px 0 0 !important; }
/* trust badges — frosted chips */
.jbc-foot-badges{ display:flex; flex-wrap:wrap; gap:10px; padding:22px 0 6px; border-top:1px solid rgba(255,255,255,.1); }
.jbc-foot-badge{ background:rgba(255,255,255,.06); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.15); border-radius:999px; padding:7px 16px; font-size:.81rem; color:#dce6f0; font-weight:600; }
/* existing bottom bar -> copyright line */
.site-footer .site-bottom-footer-wrap{ border-top:1px solid rgba(255,255,255,.1) !important; padding:18px 0 !important; color:#8ea0b3 !important; font-size:.85rem !important; }
/* link colors (beat theme #31AADE !important + earlier .site-footer link override) */
.jbc-foot a:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){ color:#cdd8e3 !important; text-decoration:none !important; transition:color .15s ease !important; }
.jbc-foot a:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):hover{ color:#7fc4ef !important; }
.jbc-foot .jbc-foot-contact li:first-child a:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){ color:#fff !important; font-weight:700; font-size:1.06rem; }
.jbc-foot .jbc-foot-btn:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){ color:#fff !important; }
.site-footer .site-bottom-footer-wrap a:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){ color:#aebccb !important; }
@media (max-width:900px){
  .jbc-foot-cols{ grid-template-columns:1fr 1fr; gap:28px 24px; }
  .jbc-foot-cta{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:560px){
  .jbc-foot-cols{ grid-template-columns:1fr; }
  .jbc-foot-cta-btns{ width:100%; }
  .jbc-foot-btn{ flex:1; justify-content:center; }
}


/* ===== Footer Google-reviews link — Claude 2026-06-26 ===== */
.jbc-foot-reviews{ display:inline-block; margin-top:18px; font-weight:700; font-size:.9rem; letter-spacing:.01em; }
.jbc-foot .jbc-foot-reviews:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root){ color:#ffce54 !important; text-decoration:none !important; }
.jbc-foot .jbc-foot-reviews:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):hover{ color:#ffdd8a !important; }


/* ===== About-us: drop redundant gray title band — Claude 2026-06-26 ===== */
.page-id-361 .entry-hero-container-inner{ display:none !important; }


/* ===== Full-bleed transparent-nav hero for /services/ + /commercial/ — Claude 2026-06-26 ===== */
/* services-hub + commercial hero */
body:has(.svc-hub-hero), body:has(.com-hero){ padding-top:0 !important; }
body:has(.svc-hub-hero) .site-header.jbc-hero-nav, body:has(.com-hero) .site-header.jbc-hero-nav{
  background:transparent !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  box-shadow:none !important; border-bottom-color:transparent !important;
}
/* commercial: remove the misplaced "Starting at Custom" pricing pill + any leftover title band */
.page-id-2313 .jbc-pb{ display:none !important; }
.page-id-2313 .entry-hero-container-inner{ display:none !important; }


/* ===== Commercial: image hero + full-width — Claude 2026-06-26 ===== */
/* full-width: remove the Kadence boxed container so sections span edge-to-edge */
.page-id-2313 .content-container,
.page-id-2313 .content-wrap,
.page-id-2313 article.content-bg,
.page-id-2313 .entry-content-wrap,
.page-id-2313 .entry-content,
.page-id-2313 .com-wrap{
  max-width:none !important; width:100% !important; margin-left:0 !important; margin-right:0 !important;
}
.page-id-2313 .entry-content-wrap{ padding-left:0 !important; padding-right:0 !important; padding-bottom:0 !important; }
.page-id-2313 article.content-bg{ box-shadow:none !important; border-radius:0 !important; }
/* hero background image (parking-garage job photo) with navy overlay for legible white text */
.com-hero{
  background:linear-gradient(rgba(9,22,40,.70), rgba(9,22,40,.80)), url('https://jbcpressurewashings.com/wp-content/uploads/2021/06/Washing-Car-parking-lot.jpeg') center/cover no-repeat !important;
}

.page-id-2313 .content-container{ padding-left:0 !important; padding-right:0 !important; }


/* ===== Commercial outline (Call) buttons -> white text on dark bands — Claude 2026-06-26 ===== */
/* com-btn-outline white */
.com-btn-outline:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root), .com-btn-outline:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) *{ color:#fff !important; }


/* ===== Commercial hero secondary (Call) button -> white text — Claude 2026-06-26 ===== */
/* com-btn-secondary white */
.com-btn-secondary:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root), .com-btn-secondary:not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root):not(:root) *{ color:#fff !important; }


/* ===== Rust card before/after slider — Claude 2026-06-26 ===== */
.svc-card-img.jbc-ba{ position:relative; overflow:hidden; --ba:50%; cursor:ew-resize; background:#0a1a2d !important; }
.svc-card-img.jbc-ba .jbc-ba-layer{ position:absolute; inset:0; background-image:url('/wp-content/uploads/2022/05/service6.jpg'); background-size:200% 100%; background-repeat:no-repeat; }
.svc-card-img.jbc-ba .jbc-ba-after{ background-position:right center; }
.svc-card-img.jbc-ba .jbc-ba-before{ background-position:left center; clip-path:inset(0 calc(100% - var(--ba)) 0 0); }
.svc-card-img.jbc-ba .jbc-ba-handle{ position:absolute; top:0; bottom:0; left:var(--ba); width:3px; background:#fff; transform:translateX(-1.5px); box-shadow:0 0 6px rgba(0,0,0,.5); pointer-events:none; z-index:3; }
.svc-card-img.jbc-ba .jbc-ba-knob{ position:absolute; top:50%; left:var(--ba); transform:translate(-50%,-50%); width:36px; height:36px; border-radius:50%; background:#0D7AB8; border:3px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.5); pointer-events:none; z-index:4; display:flex; align-items:center; justify-content:center; }
.svc-card-img.jbc-ba .jbc-ba-knob::before{ content:"\2194"; color:#fff; font-size:17px; font-weight:700; line-height:1; }
.svc-card-img.jbc-ba .jbc-ba-lbl{ position:absolute; bottom:10px; z-index:3; padding:3px 9px; border-radius:999px; font-size:.66rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#fff; background:rgba(8,18,32,.62); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); pointer-events:none; }
.svc-card-img.jbc-ba .jbc-ba-lbl-b{ left:10px; }
.svc-card-img.jbc-ba .jbc-ba-lbl-a{ right:10px; }
.svc-card-img.jbc-ba .jbc-ba-range{ position:absolute; inset:0; width:100%; height:100%; margin:0; padding:0; opacity:0; cursor:ew-resize; z-index:5; -webkit-appearance:none; appearance:none; background:transparent; }
.svc-card-img.jbc-ba .jbc-ba-range::-webkit-slider-thumb{ -webkit-appearance:none; width:44px; height:220px; cursor:ew-resize; }
.svc-card-img.jbc-ba .jbc-ba-range::-moz-range-thumb{ width:44px; height:220px; border:0; background:transparent; cursor:ew-resize; }

/* wpcode-3045 */
/* JBC Nav Refresh - matches the cohesive cyan palette already used on /commercial/ */

/* Hide the duplicate Contact menu item (theme outputs Contact twice -> /request-a-quote/) */
body nav.top-nav li#menu-item-1733 { display: none !important; }

/* Strip the heavy per-link black box; use plain transparent links instead */
body nav.top-nav ul#menu-main_menu > li > a,
body nav.top-nav ul#menu-main_menu > li > a:link,
body nav.top-nav ul#menu-main_menu > li > a:visited {
    background-color: transparent !important;
    background: transparent !important;
    color: #ffffff !important;
    padding: 10px 16px !important;
    border-radius: 0 !important;
    letter-spacing: 0.4px !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4) !important;
    text-decoration: none !important;
    transition: color .2s ease, background-color .2s ease !important;
    position: relative !important;
}

/* Hover: cyan text + animated underline */
body nav.top-nav ul#menu-main_menu > li > a:hover {
    color: #31aade !important;
    background-color: transparent !important;
    background: transparent !important;
}

/* Animated underline pseudo-element */
body nav.top-nav ul#menu-main_menu > li > a::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 4px;
    width: 0;
    height: 2px;
    background-color: #31aade;
    transition: width .25s ease, left .25s ease;
}
body nav.top-nav ul#menu-main_menu > li > a:hover::after,
body nav.top-nav ul#menu-main_menu > li > a[aria-current="page"]::after {
    width: 60%;
    left: 20%;
}

/* Active page state */
body nav.top-nav ul#menu-main_menu > li > a[aria-current="page"] {
    color: #31aade !important;
}

/* CTA pill: 'Request a Free Quote' */
body nav.top-nav ul#menu-main_menu li#menu-item-172 > a,
body nav.top-nav ul#menu-main_menu li#menu-item-172 > a:link,
body nav.top-nav ul#menu-main_menu li#menu-item-172 > a:visited {
    background-color: #31aade !important;
    background: #31aade !important;
    color: #ffffff !important;
    border-radius: 24px !important;
    padding: 10px 22px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    margin-left: 8px !important;
    box-shadow: 0 2px 8px rgba(49, 170, 222, 0.3) !important;
    text-shadow: none !important;
    transition: background-color .2s, transform .2s, box-shadow .2s !important;
}
body nav.top-nav ul#menu-main_menu li#menu-item-172 > a:hover {
    background-color: #1d8cba !important;
    background: #1d8cba !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(49, 170, 222, 0.5) !important;
}
/* No underline animation on the CTA */
body nav.top-nav ul#menu-main_menu li#menu-item-172 > a::after {
    display: none !important;
    content: none !important;
}

/* Submenu (Services dropdown) - lighten background and use cyan accent */
body nav.top-nav ul#menu-main_menu ul.sub-menu {
    background-color: rgba(20, 25, 35, 0.97) !important;
    border-top: 2px solid #31aade !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.35) !important;
    padding: 6px 0 !important;
}
body nav.top-nav ul#menu-main_menu ul.sub-menu > li > a {
    background-color: transparent !important;
    color: #f5f5f5 !important;
    padding: 9px 18px !important;
    letter-spacing: 0.2px !important;
    text-shadow: none !important;
    border-left: 3px solid transparent !important;
    transition: border-color .2s, color .2s, background-color .2s !important;
}
body nav.top-nav ul#menu-main_menu ul.sub-menu > li > a:hover {
    background-color: rgba(49, 170, 222, 0.12) !important;
    color: #31aade !important;
    border-left-color: #31aade !important;
}
body nav.top-nav ul#menu-main_menu ul.sub-menu > li > a::after {
    display: none !important;
}

/* Mobile responsiveness */
@media (max-width: 992px) {
    body nav.top-nav ul#menu-main_menu > li > a {
        padding: 12px 16px !important;
    }
    body nav.top-nav ul#menu-main_menu li#menu-item-172 > a {
        margin-left: 0 !important;
        margin-top: 8px !important;
        display: inline-block !important;
    }
}
/* wpcode-3037 */
/* Rating badge - dark text on white pill (4.5:1 against #ffffff) */
body a.jbc-rating-badge,
body a.jbc-rating-badge:link,
body a.jbc-rating-badge:visited,
body div#canvas a.jbc-rating-badge {
  background-color: #ffffff !important;
  color: #1a1a1a !important;
  border: 1px solid #1a1a1a !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.3) !important;
  text-decoration: none !important;
}
body a.jbc-rating-badge:hover {
  background-color: #f5f5f5 !important;
  color: #000000 !important;
}

/* Footer area badge */
body .jbc-footer-area-badge,
body div.jbc-footer-col div.jbc-footer-area-badge {
  color: #ffffff !important;
  background-color: #0a3a63 !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  display: inline-block !important;
}

/* Footer CTA button */
body a.jbc-footer-cta,
body a.jbc-footer-cta:link,
body a.jbc-footer-cta:visited {
  background-color: #0f4c81 !important;
  color: #ffffff !important;
  border: 1px solid #0a3a63 !important;
  padding: 8px 14px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  text-decoration: none !important;
}
body a.jbc-footer-cta:hover { background-color: #082a48 !important; color: #ffffff !important; }

/* Footer bottom copyright */
body #jbc-footer .jbc-footer-bottom,
body #jbc-footer .jbc-footer-bottom span,
body #jbc-footer .jbc-footer-bottom a,
body div#jbc-footer div.jbc-footer-bottom > div > span {
  color: #ffffff !important;
}

/* Generic safety net for footer text */
body #jbc-footer, body #jbc-footer p, body #jbc-footer li,
body #jbc-footer a:not(.jbc-footer-cta):not(.jbc-rating-badge) {
  color: #f2f2f2 !important;
}
body #jbc-footer a:not(.jbc-footer-cta):not(.jbc-rating-badge):hover {
  color: #ffffff !important;
}
/* wpcode-3041 */
/* ============================================================
   JBC Privacy Policy — 2026 Modern Design
   Scoped to the .jbc-policy wrapper on the Privacy Policy page.
   Brand: Blue #31AADE | Logo #10A9EF | Dark #45433F
============================================================ */

/* Page-level: give a soft neutral page background behind the card */
body.page-id-3 {
  background: #f4f6f8 !important;
}
body.page-id-3 .entry-content,
body.page-id-3 .et_pb_post_content,
body.page-id-3 .et_pb_text_inner,
body.page-id-3 main,
body.page-id-3 .post,
body.page-id-3 article {
  background: transparent !important;
  color: inherit !important;
}

/* White content card */
.jbc-policy {
  max-width: 880px;
  margin: 32px auto;
  padding: 48px 56px 64px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.10), 0 4px 12px rgba(0,0,0,0.05);
  color: #2a2a28;
  font-size: 17px;
  line-height: 1.7;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* "Last updated" badge */
.jbc-policy .jbc-policy-updated {
  margin: 0 0 24px;
}
.jbc-policy .jbc-badge {
  display: inline-block;
  padding: 7px 16px;
  background: linear-gradient(135deg, #31AADE 0%, #10A9EF 100%);
  color: #fff;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  box-shadow: 0 4px 12px rgba(49, 170, 222, 0.30);
}

/* Lead paragraph */
.jbc-policy .jbc-policy-lead {
  font-size: 19px;
  line-height: 1.65;
  color: #45433F;
  margin: 0 0 36px;
  padding-bottom: 28px;
  border-bottom: 1px solid #e6e9ec;
}

/* Table of contents card */
.jbc-policy .jbc-policy-toc {
  background: #f5fafd;
  border: 1px solid #d3eaf6;
  border-left: 4px solid #31AADE;
  border-radius: 12px;
  padding: 22px 28px;
  margin: 0 0 48px;
}
.jbc-policy .jbc-policy-toc h3 {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #45433F;
}
.jbc-policy .jbc-policy-toc ol {
  margin: 0;
  padding-left: 22px;
  columns: 2;
  column-gap: 32px;
}
.jbc-policy .jbc-policy-toc li {
  margin: 4px 0;
  break-inside: avoid;
  color: #45433F;
}
.jbc-policy .jbc-policy-toc a {
  color: #45433F;
  text-decoration: none;
  font-size: 15px;
  border-bottom: 1px dotted transparent;
  transition: color .15s ease, border-color .15s ease;
}
.jbc-policy .jbc-policy-toc a:hover {
  color: #10A9EF;
  border-bottom-color: #10A9EF;
}

@media (max-width: 720px) {
  .jbc-policy { margin: 16px 12px; padding: 28px 22px 44px; font-size: 16px; border-radius: 12px; }
  .jbc-policy .jbc-policy-toc ol { columns: 1; }
  .jbc-policy h2 { font-size: 22px; }
}

/* Section headings */
.jbc-policy h2 {
  margin: 56px 0 16px;
  padding: 0 0 10px;
  font-size: 26px;
  font-weight: 700;
  color: #45433F;
  border-bottom: 2px solid #31AADE;
  scroll-margin-top: 120px;
}
.jbc-policy h2:first-of-type { margin-top: 32px; }

.jbc-policy h3 {
  margin: 28px 0 10px;
  font-size: 16px;
  font-weight: 700;
  color: #31AADE;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

/* Paragraphs & lists */
.jbc-policy p { margin: 0 0 14px; color: #2a2a28; }
.jbc-policy ul,
.jbc-policy ol {
  margin: 0 0 20px;
  padding-left: 22px;
}
.jbc-policy li { margin: 6px 0; color: #2a2a28; }
.jbc-policy strong { color: #45433F; }

/* Links in body */
.jbc-policy a {
  color: #10A9EF;
  text-decoration: none;
  border-bottom: 1px solid rgba(16, 169, 239, 0.35);
  transition: color .15s ease, border-color .15s ease;
}
.jbc-policy a:hover {
  color: #0a8acc;
  border-bottom-color: #0a8acc;
}
.jbc-policy a[target="_blank"]:after {
  content: " ↗";
  font-size: 0.85em;
  opacity: 0.7;
}

/* Contact card at the bottom */
.jbc-policy .jbc-policy-contact {
  background: linear-gradient(135deg, #45433F 0%, #2a2826 100%);
  color: #f5f6f7;
  border-radius: 14px;
  padding: 28px 32px;
  margin-top: 24px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}
.jbc-policy .jbc-policy-contact p { color: #f5f6f7; }
.jbc-policy .jbc-policy-contact strong { color: #fff; font-size: 18px; }
.jbc-policy .jbc-policy-contact a {
  color: #7fd1f7;
  border-bottom-color: rgba(127, 209, 247, 0.4);
}
.jbc-policy .jbc-policy-contact a:hover {
  color: #b8e6fb;
  border-bottom-color: #b8e6fb;
}
/* wpcode-2975 */
/* ================================================================
   JBC SERVICE PAGES — 2026 MODERN DESIGN
   Applies to: /services/[slug]/ pages
   ================================================================ */

/* Reset service page container */
.svc-page { font-family: inherit; color: #2a2a2a; }
.svc-page * { box-sizing: border-box; }
.svc-page h1,.svc-page h2,.svc-page h3 { margin: 0; }
.svc-page p { margin: 0 0 1em; line-height: 1.75; }
.svc-page p:last-child { margin-bottom: 0; }
.svc-page ul { margin: 0 0 1em 0; padding-left: 1.4em; line-height: 1.75; }

/* ── HERO ──────────────────────────────────────────── */
.svc-hero {
  position: relative;
  min-height: 520px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
}
.svc-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(20,20,20,0.82) 0%, rgba(20,20,20,0.55) 100%);
}
.svc-hero-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 0 auto;
  padding: 80px 30px;
  text-align: center;
  color: #fff;
}
.svc-eyebrow {
  display: inline-block;
  background: rgba(49,170,222,0.2);
  border: 1px solid rgba(49,170,222,0.5);
  color: #31AADE;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 5px 16px;
  border-radius: 20px;
  margin-bottom: 18px !important;
}
.svc-hero-content h1 {
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 16px !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}
.svc-hero-sub {
  font-size: 17px;
  color: rgba(255,255,255,0.88);
  max-width: 600px;
  margin: 0 auto 28px !important;
  line-height: 1.65;
}
.svc-hero-ctas {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── BUTTONS ──────────────────────────────────────── */
.svc-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.3px;
  padding: 13px 26px;
  border-radius: 6px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  white-space: nowrap;
  border: 2px solid transparent;
}
.svc-btn-primary {
  background: #31AADE !important;
  color: #fff !important;
  border-color: #31AADE;
}
.svc-btn-primary:hover {
  background: #2090bb !important;
  border-color: #2090bb;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(49,170,222,0.35);
}
.svc-btn-secondary {
  background: rgba(255,255,255,0.12) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,0.5);
  backdrop-filter: blur(4px);
}
.svc-btn-secondary:hover {
  background: rgba(255,255,255,0.22) !important;
  border-color: #fff;
}
.svc-btn-outline-white {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,0.6);
}
.svc-btn-outline-white:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: #fff;
}
.svc-btn-lg { padding: 15px 32px; font-size: 15px; }

/* ── TRUST BAR ─────────────────────────────────────── */
.svc-trust-bar {
  background: #45433F;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  padding: 0;
}
.svc-trust-bar span {
  color: #e0dedd;
  font-size: 13px;
  font-weight: 600;
  padding: 12px 24px;
  border-right: 1px solid rgba(255,255,255,0.1);
  white-space: nowrap;
}
.svc-trust-bar span:last-child { border-right: none; }

/* ── SECTION LABELS ────────────────────────────────── */
.svc-label {
  display: inline-block;
  color: #31AADE;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.svc-label-light { color: rgba(49,170,222,0.9); }

/* ── OVERVIEW ──────────────────────────────────────── */
.svc-overview {
  background: #fff;
  padding: 80px 30px;
}
.svc-overview-inner {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.svc-overview-img {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.12);
}
.svc-overview-img img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
}
.svc-overview-text h2 {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 800;
  color: #1a1a1a;
  margin-bottom: 20px !important;
  line-height: 1.25;
}
.svc-overview-text p {
  font-size: 16px;
  color: #4a4a4a;
  line-height: 1.8;
}
.svc-overview-text strong { color: #31AADE; }

/* ── BENEFITS ──────────────────────────────────────── */
.svc-benefits-section {
  background: #45433F;
  padding: 80px 30px;
}
.svc-benefits-inner {
  max-width: 1160px;
  margin: 0 auto;
  text-align: center;
}
.svc-benefits-inner > h2 {
  font-size: clamp(22px, 2.5vw, 34px);
  font-weight: 800;
  color: #fff;
  margin-bottom: 48px !important;
}
.svc-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.svc-benefit-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 28px 24px;
  text-align: left;
  transition: background 0.2s, transform 0.2s;
}
.svc-benefit-card:hover {
  background: rgba(49,170,222,0.12);
  border-color: rgba(49,170,222,0.3);
  transform: translateY(-2px);
}
.svc-benefit-icon { font-size: 28px; margin-bottom: 12px; }
.svc-benefit-card h3 {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px !important;
}
.svc-benefit-card p {
  font-size: 13px;
  color: #b0aeac;
  line-height: 1.6;
  margin: 0 !important;
}

/* ── PROCESS ───────────────────────────────────────── */
.svc-process-section {
  background: #f8f8f8;
  padding: 80px 30px;
}
.svc-process-inner {
  max-width: 820px;
  margin: 0 auto;
}
.svc-process-inner > h2 {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 800;
  color: #1a1a1a;
  margin-bottom: 48px !important;
}
.svc-steps { display: flex; flex-direction: column; gap: 24px; }
.svc-step {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  background: #fff;
  border-radius: 12px;
  padding: 24px 28px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  border-left: 4px solid #31AADE;
}
.svc-step-num {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #31AADE;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.svc-step-text h3 {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 6px !important;
}
.svc-step-text p {
  font-size: 14px;
  color: #5a5a5a;
  margin: 0 !important;
  line-height: 1.65;
}

/* ── SERVICE AREAS ─────────────────────────────────── */
.svc-areas-section {
  background: #fff;
  padding: 80px 30px;
}
.svc-areas-inner {
  max-width: 1160px;
  margin: 0 auto;
  text-align: center;
}
.svc-areas-inner > h2 {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 800;
  color: #1a1a1a;
  margin-bottom: 14px !important;
}
.svc-areas-inner > p {
  font-size: 16px;
  color: #5a5a5a;
  margin-bottom: 32px !important;
}
.svc-areas-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.svc-area-chip {
  background: #f0f8fd;
  border: 1px solid #c5e5f5;
  color: #1a6f99;
  font-size: 13px;
  font-weight: 600;
  padding: 7px 16px;
  border-radius: 24px;
  white-space: nowrap;
}

/* ── CTA BAND ──────────────────────────────────────── */
.svc-cta-band {
  background: linear-gradient(135deg, #31AADE 0%, #1a7daa 100%);
  padding: 80px 30px;
  text-align: center;
}
.svc-cta-inner { max-width: 700px; margin: 0 auto; }
.svc-cta-band h2 {
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 800;
  color: #fff;
  margin-bottom: 12px !important;
}
.svc-cta-band p {
  font-size: 17px;
  color: rgba(255,255,255,0.88);
  margin-bottom: 32px !important;
}
.svc-cta-btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── RESPONSIVE ────────────────────────────────────── */
@media (max-width: 900px) {
  .svc-overview-inner { grid-template-columns: 1fr; gap: 36px; }
  .svc-overview-img img { height: 280px; }
  .svc-benefits-grid { grid-template-columns: 1fr 1fr; }
  .svc-trust-bar span { font-size: 12px; padding: 10px 14px; }
}
@media (max-width: 600px) {
  .svc-hero { min-height: 420px; }
  .svc-hero-content { padding: 60px 20px; }
  .svc-benefits-grid { grid-template-columns: 1fr; }
  .svc-overview, .svc-benefits-section, .svc-process-section,
  .svc-areas-section, .svc-cta-band { padding: 50px 20px; }
  .svc-trust-bar { flex-direction: column; gap: 0; }
  .svc-trust-bar span { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); width: 100%; text-align: center; }
}

/* ── FULL-WIDTH BREAKOUT (escape .container) ──────── */
.svc-page {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  max-width: 100vw;
}

/* Lighten the overlay so the photo shows through */
.svc-hero-overlay {
  background: linear-gradient(135deg, rgba(10,10,10,0.72) 0%, rgba(10,10,10,0.48) 100%) !important;
}

/* Hide theme's default page header on service sub-pages */
body.page-id-2969 .page-header, body.page-id-2970 .page-header,
body.page-id-2971 .page-header, body.page-id-2972 .page-header,
body.page-id-2973 .page-header, body.page-id-2974 .page-header,
body[class*="page-id-2969"] .page_title, body[class*="page-id-2970"] .page_title,
body[class*="page-id-2971"] .page_title, body[class*="page-id-2972"] .page_title,
body[class*="page-id-2973"] .page_title, body[class*="page-id-2974"] .page_title,
.services-roof-soft-washing .page-header,
.services-pressure-washing .page-header,
.services-concrete-cleaning .page-header,
.services-gutter-cleaning .page-header,
.services-window-cleaning .page-header,
.services-rust-stain-removal .page-header { display: none !important; }

/* Generic: hide page title header on any child-of-services page */
.page-template-default .page_header_holder,
body.page [class*="services"] .page_header_holder { display: none !important; }

/* Theme page title bar on service pages */
.svc-page ~ .page_header_holder,
.item-content .page_header_holder { display: none !important; }

/* Target the actual .page_title or h1.entry-title that appears before hero */
.page-id-2969 .entry-title, .page-id-2970 .entry-title,
.page-id-2971 .entry-title, .page-id-2972 .entry-title,
.page-id-2973 .entry-title, .page-id-2974 .entry-title { display: none !important; }

/* The dark header bar the theme renders above page content on inner pages */
body[class*="page-id-296"] .page_header_holder { display: none !important; }

/* Also target the heading that shows above the svc-hero */
.svc-page ~ h1, .entry-content > h1:first-child,
.item-content > h1:first-child { display: none !important; }

/* Fix: ensure .svc-page doesn't add horizontal scroll */
html { overflow-x: hidden; } body { overflow-x: clip; }

/* ============================================================
   JBC SERVICES HUB PAGE — /services/ — 2026 Redesign
   ============================================================ */

/* Hide entry title on hub page & all sub-pages */
.page-id-236 .entry-title { display: none !important; }

/* Full-width breakout — same as .svc-page */
.svc-hub {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  max-width: 100vw;
  overflow-x: hidden;
}

/* ---- Hub Hero ---- */
.svc-hub-hero {
  position: relative;
  min-height: 540px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.svc-hub-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(10,10,10,0.76) 0%, rgba(10,10,10,0.50) 100%);
}
.svc-hub-hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto;
  padding: 60px 24px;
  text-align: center;
  color: #ffffff;
}
.svc-hub-hero-content h1 {
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 12px 0 16px;
  color: #ffffff !important;
}
.svc-hub-hero-content .svc-hero-sub {
  font-size: 1.05rem;
  line-height: 1.7;
  opacity: 0.92;
  margin-bottom: 32px;
  color: #fff !important;
}

/* ---- Hub Intro ---- */
.svc-hub-intro {
  background: #ffffff;
  padding: 64px 24px 48px;
  text-align: center;
}
.svc-hub-intro-inner {
  max-width: 720px;
  margin: 0 auto;
}
.svc-hub-intro-inner h2 {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 800;
  color: #45433F;
  margin: 10px 0 16px;
}
.svc-hub-intro-inner p {
  font-size: 1.05rem;
  color: #555;
  line-height: 1.75;
}

/* ---- Service Card Grid ---- */
.svc-hub-grid-wrap {
  background: #f5f5f3;
  padding: 48px 32px 64px;
}
.svc-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .svc-hub-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 580px) {
  .svc-hub-grid { grid-template-columns: 1fr; }
}

/* ---- Individual Service Card ---- */
.svc-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
  color: inherit !important;
}
.svc-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 36px rgba(49,170,222,0.18);
  text-decoration: none !important;
}
.svc-card-img {
  height: 220px;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}
.svc-card-body {
  padding: 24px 24px 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.svc-card-body h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: #45433F;
  margin: 0 0 10px;
}
.svc-card-body p {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.65;
  margin: 0 0 auto;
  padding-bottom: 18px;
}
.svc-card-cta {
  display: inline-block;
  color: #31AADE !important;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  text-decoration: none;
  margin-top: 16px;
  transition: color 0.2s ease;
}
.svc-card:hover .svc-card-cta {
  color: #1a7daa !important;
}

/* ---- Hub Service Areas ---- */
.svc-hub-areas {
  background: #ffffff;
  padding: 64px 24px;
  text-align: center;
}
.svc-hub-areas-inner {
  max-width: 900px;
  margin: 0 auto;
}
.svc-hub-areas-inner h2 {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 800;
  color: #45433F;
  margin: 10px 0 14px;
}
.svc-hub-areas-inner > p {
  font-size: 1rem;
  color: #666;
  line-height: 1.7;
  margin-bottom: 28px;
}

/* Reuse .svc-btn-white / .svc-btn-outline-white from service pages */
.svc-btn-white {
  background: #ffffff;
  color: #31AADE !important;
  border: 2px solid #ffffff;
  padding: 14px 32px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s;
  display: inline-block;
}
.svc-btn-white:hover {
  background: #e8f6fc;
  color: #1a7daa !important;
}
.svc-btn-outline-white {
  background: transparent;
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,0.7);
  padding: 14px 32px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none !important;
  transition: background 0.2s, border-color 0.2s;
  display: inline-block;
}
.svc-btn-outline-white:hover {
  background: rgba(255,255,255,0.15);
  border-color: #ffffff;
}


/* ---- Fix: hide wpautop <p> wrappers inside hub grid ---- */
.svc-hub-grid > p { display: none !important; }

/* ---- Fix: hide "Services" theme title on hub page ---- */
.page-id-236 section.page_title { display: none !important; }

/* ---- Fix: hide theme title on all individual service pages ---- */
.page-id-2969 section.page_title,
.page-id-2970 section.page_title,
.page-id-2971 section.page_title,
.page-id-2972 section.page_title,
.page-id-2973 section.page_title,
.page-id-2974 section.page_title { display: none !important; }


/* ============================================================
 *  REQUEST A QUOTE PAGE (/request-a-quote/)
 * ============================================================ */

.page-id-160 .page_title { display: none !important; }

/* OUTER WRAP */
.raq-wrap { width: 100%; font-family: inherit; }

/* HERO BAND */
.raq-hero {
  background: linear-gradient(135deg, #1a2744 0%, #1f3a6e 55%, #31AADE 100%);
  padding: 72px 24px 64px;
  text-align: center;
  color: #fff;
}
.raq-hero-inner { max-width: 760px; margin: 0 auto; }
.raq-eyebrow {
  display: inline-block;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.28);
  color: #fff;
  padding: 6px 20px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.4px;
  margin-bottom: 22px;
}
.raq-hero-h1 {
  font-size: clamp(26px, 5vw, 46px);
  font-weight: 800;
  color: #fff !important;
  margin: 0 0 16px;
  line-height: 1.15;
}
.raq-hero-sub {
  font-size: 17px;
  color: rgba(255,255,255,0.85);
  margin: 0 0 30px;
  line-height: 1.65;
}
.raq-trust-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.raq-trust-pills span {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  color: #fff;
  padding: 7px 18px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
}

/* BODY GRID */
.raq-body {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 32px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 24px 72px;
  align-items: start;
}
.raq-body > p { display: none !important; }

/* FORM CARD */
.raq-form-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 32px rgba(0,0,0,0.10);
  overflow: hidden;
}
.raq-form-header {
  background: linear-gradient(135deg, #31AADE, #1f7aad);
  padding: 28px 32px 24px;
}
.raq-form-header h2 { color: #fff !important; font-size: 22px; font-weight: 700; margin: 0 0 6px; }
.raq-form-header p { color: rgba(255,255,255,0.85); font-size: 14px; margin: 0; }
.raq-form-card .wpforms-container { padding: 32px; }
.raq-form-card .wpforms-field-label { font-weight: 600; color: #2a2a2a; font-size: 14px; margin-bottom: 6px !important; }
.raq-form-card input[type='text'],
.raq-form-card input[type='email'],
.raq-form-card select,
.raq-form-card textarea {
  border: 2px solid #e8edf2 !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-size: 15px !important;
  width: 100% !important;
  transition: border-color 0.2s !important;
  background: #fafbfc !important;
}
.raq-form-card input[type='text']:focus,
.raq-form-card input[type='email']:focus,
.raq-form-card select:focus,
.raq-form-card textarea:focus {
  border-color: #31AADE !important;
  background: #fff !important;
  outline: none !important;
}
.raq-form-card textarea { min-height: 100px !important; }
.raq-form-card .wpforms-submit {
  background: #31AADE !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 32px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background 0.2s !important;
}
.raq-form-card .wpforms-submit:hover { background: #1a8fc0 !important; }

/* SIDEBAR */
.raq-sidebar { display: flex; flex-direction: column; gap: 20px; }
.raq-sidebar-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.08);
  padding: 24px;
}
.raq-sidebar-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: #1a2744;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid #f0f4f8;
}
.raq-icon-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.raq-icon-list li { font-size: 14px; color: #444; line-height: 1.4; }

/* Call card */
.raq-call-card { background: linear-gradient(135deg, #1a2744, #1f3a6e) !important; }
.raq-call-card h3 { color: #fff !important; border-bottom-color: rgba(255,255,255,0.15) !important; }
.raq-call-card p { color: rgba(255,255,255,0.8); font-size: 14px; margin: 0 0 14px; }
body.page-id-160 a.raq-phone-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #31AADE;
  color: #fff !important;
  text-align: center;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background 0.2s;
  line-height: 1;
}
body.page-id-160 a.raq-phone-btn:hover { background: #259ac5 !important; color: #fff !important; }
/* Fix emoji rendering in phone button */
body.page-id-160 a.raq-phone-btn img.emoji { width: 18px !important; height: 18px !important; vertical-align: middle !important; display: inline !important; margin-right: 4px !important; }

.raq-hours { color: rgba(255,255,255,0.6) !important; font-size: 12px; text-align: center; margin: 10px 0 0 !important; }

/* Areas grid */
.raq-areas-grid { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.raq-areas-grid span {
  background: #f0f7fc;
  color: #1a2744;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 50px;
  border: 1px solid #cde4f2;
}
.raq-areas-note { font-size: 12px; color: #888; margin: 0; font-style: italic; }

/* Services list */
.raq-services-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.raq-services-list li { font-size: 14px; }
.raq-services-list a { color: #333 !important; text-decoration: none; font-size: 14px; font-weight: 500; }
.raq-services-list a:hover { color: #31AADE !important; }

/* RESPONSIVE */
@media (max-width: 768px) {
  .raq-body { grid-template-columns: 1fr; padding: 32px 16px 48px; }
  .raq-hero { padding: 48px 20px 40px; }
  .raq-form-header { padding: 22px 20px 18px; }
  .raq-form-card .wpforms-container { padding: 20px; }
}

/* ============================================================
 *  ABOUT US PAGE — /about-us/ (page ID 361)
 * ============================================================ */
.page-id-361 section.page_title { display: none !important; }

.about-wrap { font-family: inherit; }

/* HERO */
.about-hero {
  background: linear-gradient(135deg, #45433F 0%, #1e1d1b 100%);
  padding: 80px 24px 70px;
  text-align: center;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
}
.about-hero-inner { max-width: 860px; margin: 0 auto; }
.about-eyebrow {
  display: inline-block;
  background: rgba(49,170,222,0.15);
  border: 1px solid rgba(49,170,222,0.4);
  color: #31AADE;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 5px 16px;
  border-radius: 20px;
  margin-bottom: 20px;
}
.about-h1 {
  color: #ffffff;
  font-size: clamp(28px, 4.5vw, 48px);
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 18px;
}
.about-subhead {
  color: #c9c7c5;
  font-size: 17px;
  line-height: 1.65;
  margin: 0 0 32px;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

/* STATS BAR */
.about-stats-bar {
  background: #31AADE;
  display: flex;
  justify-content: center;
  gap: 0;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  padding: 28px 0;
}
.about-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 44px;
  border-right: 1px solid rgba(255,255,255,0.25);
}
.about-stat:last-child { border-right: none; }
.about-stat-num {
  font-size: 32px;
  font-weight: 800;
  color: #ffffff;
  line-height: 1;
}
.about-stat-label {
  font-size: 13px;
  color: rgba(255,255,255,0.85);
  font-weight: 600;
  margin-top: 4px;
  text-align: center;
}

/* OUR STORY */
.about-story {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: 1120px;
  margin: 72px auto;
  padding: 0 24px;
}
.about-story-img img {
  width: 100%;
  border-radius: 16px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.15);
  object-fit: cover;
  height: 420px;
}
.about-story-text .about-label {
  color: #31AADE;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.about-story-text h2 {
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 20px;
  line-height: 1.2;
}
.about-story-text p {
  color: #d4d2d0;
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 14px;
}

/* FOUNDER BAND */
.about-founder-band {
  background: linear-gradient(135deg, #f8f9fa 0%, #eef4f8 100%);
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  padding: 72px 24px;
}
.about-founder-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 56px;
  align-items: center;
}
.about-founder-img {
  width: 260px;
  height: 260px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  border: 5px solid #31AADE;
  box-shadow: 0 8px 32px rgba(49,170,222,0.25);
  display: block;
  margin: 0 auto;
}
.about-founder-text .about-label {
  color: #31AADE;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: 0 0 8px;
}
.about-founder-text h2 {
  font-size: 36px;
  font-weight: 800;
  color: #45433F;
  margin: 0;
  line-height: 1;
}
.about-founder-title {
  color: #31AADE;
  font-weight: 600;
  font-size: 15px;
  margin: 6px 0 20px !important;
}
.about-founder-text p {
  color: #555;
  font-size: 16px;
  line-height: 1.75;
  font-style: italic;
  margin: 0 0 24px;
}

/* VALUES */
.about-values {
  max-width: 1120px;
  margin: 72px auto;
  padding: 0 24px;
}
.about-label.text-center, .text-center { text-align: center; }
.about-values .about-label {
  color: #31AADE;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-align: center;
  margin: 0 0 10px;
  display: block;
}
.about-values h2 {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 800;
  color: #ffffff;
  text-align: center;
  margin: 0 0 44px;
}
.about-values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.about-value-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 28px 24px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  border-top: 3px solid #31AADE;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.about-value-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(49,170,222,0.15);
}
.about-value-icon {
  font-size: 32px;
  margin-bottom: 14px;
}
.about-value-card h3 {
  font-size: 17px;
  font-weight: 700;
  color: #45433F;
  margin: 0 0 10px;
}
.about-value-card p {
  font-size: 14px;
  color: #666;
  line-height: 1.65;
  margin: 0;
}

/* SERVICE AREA BAND */
.about-area-band {
  background: #45433F;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  padding: 64px 24px;
  text-align: center;
}
.about-area-inner { max-width: 900px; margin: 0 auto; }
.about-area-band .about-label {
  color: #31AADE;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}
.about-area-band h2 {
  color: #ffffff;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 800;
  margin: 0 0 12px;
}
.about-area-sub {
  color: #c9c7c5;
  font-size: 15px;
  margin: 0 0 28px;
}
.about-area-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.about-area-tags span {
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  color: #e0dedd;
  font-size: 13px;
  font-weight: 600;
  padding: 7px 18px;
  border-radius: 20px;
}

/* CTA BAND */
.about-cta-band {
  background: linear-gradient(135deg, #31AADE 0%, #1e8bb5 100%);
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  padding: 72px 24px;
  text-align: center;
}
.about-cta-inner { max-width: 700px; margin: 0 auto; }
.about-cta-band h2 {
  color: #ffffff;
  font-size: clamp(24px, 3.5vw, 40px);
  font-weight: 800;
  margin: 0 0 16px;
}
.about-cta-band p {
  color: rgba(255,255,255,0.9);
  font-size: 17px;
  margin: 0 0 36px;
  line-height: 1.65;
}
.about-cta-btns {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.svc-btn-outline-white {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,0.7) !important;
}
.svc-btn-outline-white:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: #ffffff !important;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .about-story { grid-template-columns: 1fr; gap: 32px; }
  .about-founder-inner { grid-template-columns: 1fr; text-align: center; }
  .about-founder-img { margin-bottom: 12px; }
  .about-values-grid { grid-template-columns: repeat(2, 1fr); }
  .about-stat { padding: 0 24px; }
}
@media (max-width: 600px) {
  .about-values-grid { grid-template-columns: 1fr; }
  .about-stats-bar { flex-wrap: wrap; gap: 16px; padding: 24px 16px; }
  .about-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.2); padding-bottom: 16px; width: 45%; }
  .about-stat:last-child, .about-stat:nth-last-child(2) { border-bottom: none; }
  .about-story-img img { height: 260px; }
}
/* Fix wpautop stray p tags in About Us grid sections */
.about-founder-inner > p,
.about-story > p,
.about-cta-btns > p,
.about-wrap > p { display: none !important; }


/* ============================================================
 *  COMMERCIAL PAGE (/commercial/)  —  page ID 2313
 * ============================================================ */

/* Hide duplicate WP page title banner */
.page-id-2313 .page_title { display: none !important; }

/* Suppress stray wpautop <p> tags */
.com-wrap > p,
.com-hero > p,
.com-stats-bar > p,
.com-serve-section > p,
.com-services-section > p,
.com-why-section > p,
.com-process-section > p,
.com-cta-band > p,
.com-section-inner > p,
.com-process-steps > p,
.com-process-steps p,
.com-cta-inner > p,
.com-cta-btns > p { display: none !important; }

/* ---- HERO ---- */
.com-hero {
  background: linear-gradient(135deg, #0d1b3e 0%, #1a2744 35%, #1f3a6e 70%, #31AADE 100%);
  padding: 80px 24px 72px;
  text-align: center;
  color: #fff;
  position: relative;
}
.com-hero-inner { max-width: 860px; margin: 0 auto; }
.com-eyebrow {
  display: inline-block;
  background: rgba(255,255,255,0.13);
  border: 1px solid rgba(255,255,255,0.28);
  color: #fff;
  padding: 6px 22px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-bottom: 24px;
  text-transform: uppercase;
}
.com-hero-h1 {
  font-size: clamp(28px, 5vw, 52px);
  font-weight: 800;
  color: #fff !important;
  margin: 0 0 20px;
  line-height: 1.12;
}
.com-hero-sub {
  font-size: 18px;
  color: rgba(255,255,255,0.85);
  margin: 0 0 36px;
  line-height: 1.65;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.com-hero-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-bottom: 40px;
}
.com-btn-primary {
  background: #31AADE;
  color: #fff !important;
  padding: 16px 36px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background 0.2s, transform 0.15s;
  display: inline-block;
}
.com-btn-primary:hover { background: #259ac5 !important; color: #fff !important; transform: translateY(-2px); }
.com-btn-secondary {
  background: rgba(255,255,255,0.12);
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.55);
  padding: 14px 32px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background 0.2s, transform 0.15s;
  display: inline-block;
}
.com-btn-secondary:hover { background: rgba(255,255,255,0.22) !important; color: #fff !important; transform: translateY(-2px); }
.com-trust-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.com-trust-pills span {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.22);
  color: #fff;
  padding: 7px 18px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
}

/* ---- STATS BAR ---- */
.com-stats-bar {
  background: #1a2744;
  padding: 36px 24px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
.com-stat-num {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  color: #31AADE;
  line-height: 1;
  margin-bottom: 6px;
}
.com-stat-label {
  font-size: 13px;
  color: rgba(255,255,255,0.75);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ---- WHO WE SERVE SECTION ---- */
.com-serve-section {
  background: #f5f6f8;
  padding: 72px 24px;
}
.com-section-inner { max-width: 1100px; margin: 0 auto; }
.com-section-label {
  text-align: center;
  color: #31AADE;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}
.com-section-h2 {
  text-align: center;
  font-size: clamp(24px, 4vw, 38px);
  font-weight: 800;
  color: #1a2744 !important;
  margin: 0 0 14px;
  line-height: 1.2;
}
.com-section-sub {
  text-align: center;
  font-size: 16px;
  color: #555;
  margin: 0 auto 48px;
  max-width: 620px;
  line-height: 1.65;
}
.com-serve-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.com-serve-card {
  background: #fff;
  border-radius: 14px;
  padding: 28px 20px 24px;
  text-align: center;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  transition: transform 0.2s, box-shadow 0.2s;
  border: 1px solid #e8eaf0;
}
.com-serve-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(0,0,0,0.12); }
.com-serve-icon {
  font-size: 36px;
  margin-bottom: 14px;
  display: block;
}
.com-serve-card h3 {
  font-size: 15px;
  font-weight: 700;
  color: #1a2744;
  margin: 0 0 8px;
}
.com-serve-card p {
  font-size: 13px;
  color: #666;
  margin: 0;
  line-height: 1.5;
  display: block !important;
}

/* ---- SERVICES SECTION ---- */
.com-services-section {
  background: #fff;
  padding: 72px 24px;
}
.com-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.com-svc-card {
  border: 2px solid #e8eaf0;
  border-radius: 16px;
  padding: 32px 28px;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
  position: relative;
  overflow: hidden;
}
.com-svc-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, #1a2744, #31AADE);
  opacity: 0;
  transition: opacity 0.2s;
}
.com-svc-card:hover { border-color: #31AADE; box-shadow: 0 8px 32px rgba(49,170,222,0.12); transform: translateY(-3px); }
.com-svc-card:hover::before { opacity: 1; }
.com-svc-icon {
  font-size: 32px;
  margin-bottom: 16px;
  display: block;
}
.com-svc-card h3 {
  font-size: 17px;
  font-weight: 700;
  color: #1a2744;
  margin: 0 0 10px;
}
.com-svc-card p {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  margin: 0;
  display: block !important;
}

/* ---- WHY JBC SECTION ---- */
.com-why-section {
  background: #1a2744;
  padding: 72px 24px;
}
.com-why-section .com-section-h2 { color: #fff !important; }
.com-why-section .com-section-sub { color: rgba(255,255,255,0.75); }
.com-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.com-why-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  padding: 32px 26px;
  transition: background 0.2s, border-color 0.2s;
}
.com-why-card:hover { background: rgba(255,255,255,0.10); border-color: rgba(49,170,222,0.5); }
.com-why-check {
  width: 44px; height: 44px;
  background: rgba(49,170,222,0.18);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
  font-size: 20px;
}
.com-why-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 10px;
}
.com-why-card p {
  font-size: 14px;
  color: rgba(255,255,255,0.72);
  line-height: 1.6;
  margin: 0;
  display: block !important;
}

/* ---- PROCESS SECTION ---- */
.com-process-section {
  background: #f5f6f8;
  padding: 72px 24px;
}
.com-process-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  position: relative;
}
.com-process-steps::before {
  content: '';
  position: absolute;
  top: 40px; left: calc(16.66% + 24px); right: calc(16.66% + 24px);
  height: 2px;
  background: linear-gradient(90deg, #31AADE, #1f3a6e);
  z-index: 0;
}
.com-step {
  text-align: center;
  position: relative;
  z-index: 1;
}
.com-step-num {
  width: 80px; height: 80px;
  background: linear-gradient(135deg, #31AADE, #1f3a6e);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  margin: 0 auto 20px;
  box-shadow: 0 4px 20px rgba(49,170,222,0.30);
}
.com-step h3 {
  font-size: 17px;
  font-weight: 700;
  color: #1a2744;
  margin: 0 0 10px;
}
.com-step p {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  margin: 0;
  display: block !important;
}

/* ---- CTA BAND ---- */
.com-cta-band {
  background: linear-gradient(135deg, #1a2744 0%, #1f3a6e 50%, #31AADE 100%);
  padding: 72px 24px;
  text-align: center;
}
.com-cta-band h2 {
  font-size: clamp(24px, 4vw, 40px);
  font-weight: 800;
  color: #fff !important;
  margin: 0 0 16px;
}
.com-cta-band p {
  font-size: 17px;
  color: rgba(255,255,255,0.85);
  margin: 0 auto 36px;
  max-width: 560px;
  line-height: 1.65;
  display: block !important;
}
.com-cta-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}
.com-cta-primary, .com-cta-primary-btn {
  background: #fff;
  color: #1a2744 !important;
  padding: 16px 36px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background 0.2s, transform 0.15s;
  display: inline-block;
}
.com-cta-primary:hover, .com-cta-primary-btn:hover { background: #e8f4fb !important; color: #1a2744 !important; transform: translateY(-2px); }
.com-cta-phone {
  background: rgba(255,255,255,0.15);
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.55);
  padding: 14px 32px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background 0.2s, transform 0.15s;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.com-cta-phone:hover { background: rgba(255,255,255,0.25) !important; color: #fff !important; transform: translateY(-2px); }
.com-btn-outline {
  background: rgba(255,255,255,0.15);
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.55);
  padding: 14px 32px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background 0.2s, transform 0.15s;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.com-btn-outline:hover { background: rgba(255,255,255,0.25) !important; color: #fff !important; transform: translateY(-2px); }


/* ---- RESPONSIVE ---- */

/* Hide stray arrow paragraphs in process section */
.page-id-2313 .com-process-steps p { display: none !important; }

/* Hide arrow divs — CSS ::before line handles the visual connector */
.com-step-arrow { display: none !important; }
@media (max-width: 900px) {
  .com-stats-bar { grid-template-columns: repeat(2, 1fr); }
  .com-serve-grid { grid-template-columns: repeat(2, 1fr); }
  .com-services-grid { grid-template-columns: 1fr 1fr; }
  .com-why-grid { grid-template-columns: 1fr 1fr; }
  .com-process-steps { grid-template-columns: 1fr; gap: 24px; }
  .com-process-steps::before { display: none; }
}
@media (max-width: 600px) {
  .com-hero { padding: 56px 16px 48px; }
  .com-serve-grid { grid-template-columns: 1fr 1fr; }
  .com-services-grid { grid-template-columns: 1fr; }
  .com-why-grid { grid-template-columns: 1fr; }
  .com-stats-bar { grid-template-columns: repeat(2, 1fr); }
  .com-hero-btns { flex-direction: column; align-items: center; }
  .com-cta-btns { flex-direction: column; align-items: center; }
}

/* ============================================================
 *  GLOBAL: SERVING AREAS BLOCK (.jbc-areas-block)
 * ============================================================ */
.jbc-areas-block {
  background: #f5f6f8;
  border-top: 3px solid #31AADE;
  padding: 48px 24px 40px;
  margin: 0;
  width: 100%;
}
.jbc-areas-block h3 {
  color: #1a2744 !important;
  font-size: clamp(20px, 3vw, 28px) !important;
  font-weight: 800 !important;
  text-align: center;
  margin: 0 0 8px !important;
}
.jbc-areas-block h3::before {
  content: '';
  display: inline-block;
  width: 32px;
  height: 3px;
  background: #31AADE;
  vertical-align: middle;
  margin-right: 12px;
}
.jbc-areas-block h3::after {
  content: '';
  display: inline-block;
  width: 32px;
  height: 3px;
  background: #31AADE;
  vertical-align: middle;
  margin-left: 12px;
}
.jbc-areas-block p {
  text-align: center;
  color: #555;
  font-size: 15px;
  margin: 0 0 24px;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 6px !important;
}
/* Style the city links/spans inside the areas block */
.jbc-areas-block a,
.jbc-areas-block span.area-tag,
.jbc-areas-block .area-item {
  display: inline-block;
  background: #fff;
  border: 1.5px solid #31AADE;
  color: #1a2744 !important;
  padding: 6px 16px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  margin: 4px;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s;
}
.jbc-areas-block a:hover,
.jbc-areas-block span.area-tag:hover {
  background: #31AADE;
  color: #fff !important;
}
/* Style pill-like spans (the city boxes from the screenshot) */
.jbc-areas-block .areas-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  max-width: 1000px;
  margin: 0 auto;
}

/* ============================================================
 *  GLOBAL: FAQ SECTION
 * ============================================================ */
.jbc-faq-section,
.entry-content .jbc-faq-section {
  background: #fff;
  padding: 48px 24px 56px;
  margin: 0;
  width: 100%;
}
/* Override green FAQ headings anywhere on site */
h2.faq-title,
.entry-content h2:not([class]),
.jbc-faq-section h2 {
  color: #1a2744 !important;
  font-size: clamp(22px, 3vw, 32px) !important;
  font-weight: 800 !important;
  text-align: center;
  margin: 0 0 32px !important;
}
/* FAQ accordion items */
.jbc-faq-section details,
.entry-content details {
  border: 1.5px solid #e8eaf0;
  border-radius: 10px;
  margin-bottom: 10px;
  overflow: hidden;
  transition: border-color 0.2s;
}
.jbc-faq-section details[open],
.entry-content details[open] {
  border-color: #31AADE;
}
.jbc-faq-section details summary,
.entry-content details summary,
.jbc-faq-section .faq-q,
.entry-content .faq-toggle {
  padding: 16px 20px;
  font-weight: 700;
  font-size: 15px;
  color: #1a2744 !important;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 12px;
}
.jbc-faq-section details summary::before,
.entry-content details summary::before {
  content: '+';
  font-size: 20px;
  color: #31AADE;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}
.jbc-faq-section details[open] summary::before,
.entry-content details[open] summary::before {
  content: '−';
}
.jbc-faq-section details p,
.entry-content details p {
  padding: 0 20px 16px 52px;
  font-size: 14px;
  color: #555;
  line-height: 1.7;
  margin: 0;
  display: block !important;
}

/* Catch-all: override ANY green heading on site to brand navy */
h1[style*="color: rgb(30"],
h2[style*="color: rgb(30"],
h3[style*="color: rgb(30"],
h4[style*="color: rgb(30"] { color: #1a2744 !important; }

/* ============================================================
 *  BLOG POST SINGLE TEMPLATE (body.single-post)
 * ============================================================ */
body.single-post .page_title { display: none !important; }

/* Post title area */
body.single-post .post-title-wrap,
body.single-post .item-page > h1,
body.single-post h1.entry-title,
body.single-post .entry-title {
  font-size: clamp(24px, 4vw, 42px) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin: 0 0 16px !important;
}

/* Hero background for single posts */
body.single-post .item-page,
body.single-post article.post {
  background: transparent !important;
}

/* Post content readability */
body.single-post .entry-content,
body.single-post .item-content {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 24px 48px;
  background: #fff;
  border-radius: 0 0 12px 12px;
  color: #333 !important;
}
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4 {
  color: #1a2744 !important;
  margin-top: 32px;
}
body.single-post .entry-content p {
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: #444 !important;
  margin-bottom: 16px;
  display: block !important;
}
body.single-post .entry-content ul,
body.single-post .entry-content ol {
  padding-left: 24px;
  color: #444;
  margin-bottom: 16px;
}
body.single-post .entry-content li {
  margin-bottom: 8px;
  line-height: 1.65;
}
body.single-post .entry-content strong {
  color: #1a2744;
}
body.single-post .entry-content a {
  color: #31AADE !important;
  text-decoration: underline;
}

/* Post header banner */
body.single-post .post-header,
body.single-post header.entry-header {
  background: linear-gradient(135deg, #1a2744 0%, #1f3a6e 60%, #31AADE 100%);
  padding: 56px 24px 48px;
  text-align: center;
  max-width: 100%;
}

/* Post meta (category, date) */
body.single-post .post-meta,
body.single-post .entry-meta {
  color: rgba(255,255,255,0.7) !important;
  font-size: 13px;
  margin-bottom: 8px;
}

/* Post CTA block — injected at end of post content via this CSS after */
body.single-post .entry-content::after {
  content: '';
  display: block;
  margin-top: 40px;
  padding: 32px 24px;
  background: linear-gradient(135deg, #1a2744, #31AADE);
  border-radius: 12px;
  text-align: center;
}

/* ============================================================
 *  ARTICLES LISTING PAGE (page-id-2173)
 * ============================================================ */
/* Hide broken Divi shortcode text */
.page-id-2173 .entry-content > p:first-child {
  display: none !important;
}
.page-id-2173 .page_title { display: none !important; }

/* Articles page post grid is injected via PHP snippet */
.art-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px 72px;
}
.art-hero {
  background: linear-gradient(135deg, #1a2744 0%, #1f3a6e 60%, #31AADE 100%);
  padding: 64px 24px 56px;
  text-align: center;
  color: #fff;
}
.art-hero h1 {
  font-size: clamp(28px, 5vw, 48px);
  font-weight: 800;
  color: #fff !important;
  margin: 0 0 14px;
}
.art-hero p {
  font-size: 17px;
  color: rgba(255,255,255,0.85);
  margin: 0;
  display: block !important;
}
.art-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  padding: 48px 0 0;
}
.art-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0,0,0,0.08);
  border: 1px solid #e8eaf0;
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
.art-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.13);
}
.art-card-cat {
  background: linear-gradient(135deg, #1a2744, #31AADE);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 10px 16px;
}
.art-card-body {
  padding: 20px 20px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.art-card-title {
  font-size: 16px;
  font-weight: 700;
  color: #1a2744 !important;
  margin: 0 0 10px;
  line-height: 1.35;
  text-decoration: none !important;
  display: block;
}
.art-card-title:hover { color: #31AADE !important; }
.art-card-excerpt {
  font-size: 13px;
  color: #666;
  line-height: 1.6;
  flex: 1;
  margin: 0 0 16px;
}
.art-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #31AADE !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
}
.art-card-link::after { content: '→'; }
.art-card-link:hover { color: #1a2744 !important; }

@media (max-width: 900px) { .art-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .art-grid { grid-template-columns: 1fr; } }

/* ============================================================
   SINGLE BLOG POST TEMPLATE — 2026
   ============================================================ */

/* Page title banner: white text on charcoal */
body.single-post .page_title h1 {
  color: #fff !important;
}
body.single-post .page_title .breadcrumbs,
body.single-post .page_title .breadcrumbs a,
body.single-post .page_title nav a {
  color: rgba(255,255,255,0.75) !important;
}

/* Article header above content */
body.single-post .entry-header {
  margin-bottom: 28px;
}

/* Entry content wrapper */
body.single-post .entry-content {
  max-width: 780px;
  margin: 0 auto;
  padding: 40px 32px 48px;
  background: #fff;
  border-radius: 0 0 12px 12px;
  color: #333 !important;
}

/* Paragraphs */
body.single-post .entry-content p {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #444 !important;
  margin-bottom: 20px;
  display: block !important;
}

/* Headings inside post */
body.single-post .entry-content h2 {
  color: #1a2744 !important;
  font-size: clamp(20px, 2.5vw, 26px) !important;
  font-weight: 800 !important;
  margin: 36px 0 14px !important;
  padding-bottom: 8px;
  border-bottom: 2px solid #31AADE;
}
body.single-post .entry-content h3 {
  color: #1f3a6e !important;
  font-size: clamp(17px, 2vw, 20px) !important;
  font-weight: 700 !important;
  margin: 28px 0 10px !important;
}
body.single-post .entry-content h4 {
  color: #1a2744 !important;
  font-weight: 700 !important;
  margin: 20px 0 8px !important;
}

/* Lists */
body.single-post .entry-content ul,
body.single-post .entry-content ol {
  padding-left: 28px;
  margin-bottom: 20px;
  color: #444 !important;
}
body.single-post .entry-content li {
  font-size: 16px !important;
  line-height: 1.75 !important;
  margin-bottom: 8px;
  color: #444 !important;
}

/* Blockquotes */
body.single-post .entry-content blockquote {
  border-left: 4px solid #31AADE;
  background: #f0f8fd;
  margin: 24px 0;
  padding: 16px 20px;
  border-radius: 0 8px 8px 0;
  color: #1a2744 !important;
  font-style: italic;
}

/* Images in post */
body.single-post .entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 16px 0;
}

/* Featured image */
body.single-post .post-thumbnail img,
body.single-post .wp-post-image {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 12px 12px 0 0;
  display: block;
}

/* Inline CTA box inside post */
body.single-post .entry-content .post-cta {
  background: linear-gradient(135deg, #1a2744 0%, #1f3a6e 70%, #31AADE 100%);
  border-radius: 12px;
  padding: 32px 28px;
  text-align: center;
  margin: 40px 0;
  color: #fff !important;
}
body.single-post .entry-content .post-cta h3 {
  color: #fff !important;
  font-size: 22px !important;
  margin: 0 0 8px !important;
  border: none;
}
body.single-post .entry-content .post-cta p {
  color: rgba(255,255,255,0.85) !important;
  margin-bottom: 20px !important;
}
body.single-post .entry-content .post-cta a {
  display: inline-block;
  background: #31AADE;
  color: #fff !important;
  padding: 14px 32px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none !important;
  transition: background 0.2s;
}
body.single-post .entry-content .post-cta a:hover {
  background: #2090bb;
  color: #fff !important;
}

/* Share buttons area */
body.single-post .social_part {
  margin: 24px 0 8px;
  padding-top: 16px;
  border-top: 1px solid #e8ecf0;
}

/* Sidebar on blog posts */
body.single-post .column-sidebar {
  padding-left: 24px;
}
body.single-post .column-sidebar .widget {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
body.single-post .column-sidebar .widget-title {
  color: #1a2744 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding-bottom: 10px;
  border-bottom: 2px solid #31AADE;
  margin-bottom: 14px !important;
}

/* Back-to-articles link */
body.single-post .back-to-articles {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #31AADE !important;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none !important;
  margin-bottom: 16px;
}

@media (max-width: 768px) {
  body.single-post .entry-content {
    padding: 24px 18px 36px;
  }
  body.single-post .column-sidebar {
    padding-left: 0;
    margin-top: 32px;
  }
}

/* SERVING AREAS — city pill tags (.jbc-city spans) */
.jbc-city {
  display: inline-block !important;
  background: #fff !important;
  border: 1.5px solid #31AADE !important;
  color: #1a2744 !important;
  padding: 6px 16px !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin: 4px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}


/* ── SINGLE POST — Hide sidebar, full-width content ───────── */
body.single aside.column-sidebar,
body.single .column-sidebar {
  display: none !important;
}
body.single .column-main {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}
/* Make post content max-width sensible on wide screens */
body.single .entry-content {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* ── SINGLE POST CTA — Fix inline + kill duplicate ───── */
body.single .post-cta-inline {
  background: linear-gradient(135deg, #1a2744 0%, #1f3a6e 65%, #31AADE 100%) !important;
  border-radius: 16px !important;
  padding: 48px 32px !important;
  text-align: center !important;
  margin: 40px 0 !important;
}
body.single .post-cta-inline h3,
body.single .post-cta-inline h2 {
  color: #ffffff !important;
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 800 !important;
  margin-bottom: 14px !important;
}
body.single .post-cta-inline p {
  color: rgba(255,255,255,0.88) !important;
  font-size: 17px !important;
  margin-bottom: 28px !important;
}
body.single-post .entry-content .post-cta-inline a,
body.single-post .entry-content .post-cta-inline a:link,
body.single-post .entry-content .post-cta-inline a:visited {
  background: #31AADE !important;
  color: #ffffff !important;
  padding: 14px 34px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  display: inline-block !important;
}
body.single-post .entry-content .post-cta-inline a:hover {
  background: #2090bb !important;
  color: #ffffff !important;
}
/* Hide the duplicate standalone .post-cta on single posts */
body.single .post-cta:not(.post-cta-inline) {
  display: none !important;
}

/* wpcode-2962 */
/* ============================================================
 *    JBC Brand Colors + Header / Nav / Footer Layout Fix
 *    Blue accent : #31AADE | Dark/charcoal: #45433F
 *    Header template: header-1.php uses .container > .row > .col-xl-2 + .col-xl-10
 *    ============================================================ */

/* ===== HIDE SEARCH DIALOG & MODALS (appear before header) ===== */
dialog:not([open]) { display: none !important; }
body > dialog { display: none !important; }
.search-overlay, .search-popup, .search-modal { display: none !important; }

/* ===== HEADER BACKGROUND & POSITION ===== */
header.page_header,
.page_header {
	    background-color: #45433F !important;
	    border-bottom: 1px solid #5a5754 !important;
	    position: sticky !important;
	    top: 32px !important;
	    z-index: 1000 !important;
}

body:not(.admin-bar) header.page_header,
body:not(.admin-bar) .page_header { top: 0 !important; }

/* ===== HEADER CONTAINER ===== */
.page_header .container,
.page_header > .container {
	    max-width: 100% !important;
	    width: 100% !important;
	    padding-left: 30px !important;
	    padding-right: 30px !important;
}

/* ===== KEY FIX: Bootstrap .row  logo + nav side by side ===== */
.page_header .row,
.page_header .row.align-items-center {
	    display: flex !important;
	    flex-direction: row !important;
	    align-items: center !important;
	    flex-wrap: nowrap !important;
	    margin-left: 0 !important;
	    margin-right: 0 !important;
	    min-height: 75px !important;
}

/* ===== LOGO COLUMN (col-xl-2) ===== */
.page_header .col-xl-2,
.page_header [class*="col-"]:first-child {
	    flex: 0 0 auto !important;
	    width: auto !important;
	    max-width: none !important;
	    padding: 8px 20px 8px 0 !important;
}

.page_header .logo img,
.page_header img[src*="logo"],
.page_header img[src*="JBCLOGO"],
.page_header .col-xl-2 img {
	    height: 60px !important;
	    width: auto !important;
	    max-width: 200px !important;
	    display: block !important;
}

/* ===== NAV COLUMN (col-xl-10) ===== */
.page_header .col-xl-10,
.page_header [class*="col-"]:last-child {
	    flex: 1 1 auto !important;
	    width: auto !important;
	    max-width: none !important;
	    display: flex !important;
	    justify-content: flex-end !important;
	    align-items: center !important;
	    padding-left: 0 !important;
	    padding-right: 0 !important;
}

/* ===== HIDE LOGIN/REGISTER MODALS ===== */
.page_header .menu-form,
.page_header .menu-img,
.page_header .menu-overlay,
.page_header form.search-form,
.page_header .searchform,
.page_header .widget_search {
	    display: none !important;
}

/* ===== NAV LIST  HORIZONTAL ===== */
.page_header nav ul,
.page_header ul.sf-menu,
.page_header #main-navigation ul,
.mainmenu_wrapper ul {
	    display: flex !important;
	    flex-direction: row !important;
	    list-style: none !important;
	    list-style-type: none !important;
	    margin: 0 !important;
	    padding: 0 !important;
	    align-items: center !important;
}

/* ===== NAV LIST ITEMS ===== */
.page_header nav ul li,
.page_header ul.sf-menu > li,
.mainmenu_wrapper ul > li {
	    list-style: none !important;
	    list-style-type: none !important;
	    display: flex !important;
	    align-items: stretch !important;
	    position: relative !important;
	    margin: 0 !important;
	    padding: 0 !important;
}

.page_header nav ul li::before,
.page_header nav ul li::marker { display: none !important; content: none !important; }

/* ===== NAV LINKS ===== */
.page_header nav ul li a,
.page_header .sf-menu > li > a,
.page_header #main-navigation ul li a,
.mainmenu_wrapper ul li a {
	    color: #ffffff !important;
	    font-size: 13px !important;
	    font-weight: 600 !important;
	    text-transform: uppercase !important;
	    letter-spacing: 0.7px !important;
	    padding: 26px 13px !important;
	    display: flex !important;
	    align-items: center !important;
	    text-decoration: none !important;
	    white-space: nowrap !important;
	    transition: color 0.2s ease !important;
	    background: transparent !important;
}

.page_header nav ul li a:hover,
.page_header nav ul .current-menu-item > a,
.page_header nav ul .current_page_item > a {
	    color: #31AADE !important;
}

/* "Request a Quote" CTA button */
.page_header nav ul li:last-child > a {
	    background: #31AADE !important;
	    color: #ffffff !important;
	    border-radius: 4px !important;
	    padding: 9px 18px !important;
	    margin-left: 10px !important;
}
.page_header nav ul li:last-child > a:hover {
	    background: #2090bb !important;
}

/* ===== SECTIONS & BACKGROUNDS ===== */
.ds, section.ds { background-color: #45433F !important; }
.ms { background-color: #3d3b38 !important; }

/* ===== FOOTER ===== */
.page_footer, footer, footer.page_footer {
	    background-color: #45433F !important;
	    color: #e0dedd !important;
}
.page_footer h3, .page_footer h4, .page_footer h5,
footer h3, footer h4, footer h5 { color: #ffffff !important; }
.page_footer a, footer a { color: #31AADE !important; }
.page_footer a:hover, footer a:hover { color: #ffffff !important; text-decoration: none !important; }
.sub_footer, .bottom_footer, .copyright_section {
	    background-color: #3a3836 !important;
	    color: #a0a0a0 !important;
}

/* ===== GLOBAL LINKS ===== */
a:not([style]):not(.wpforms-submit):not(.btn):not(.page_header nav a):not(.svc-btn):not(.raq-phone-btn):not(.com-btn-primary):not(.com-btn-secondary):not(.com-cta-primary):not(.com-cta-phone):not(.com-btn-outline) { color: #31AADE !important; }
a:not([style]):not(.wpforms-submit):not(.btn):not(.page_header nav a):not(.svc-btn):not(.raq-phone-btn):not(.com-btn-primary):not(.com-btn-secondary):not(.com-cta-primary):not(.com-cta-phone):not(.com-btn-outline):hover { color: #2090bb !important; text-decoration: none !important; }
.color1, .theme-color, .highlight { color: #31AADE !important; }

/* ===== BUTTONS ===== */
.theme-btn, .btn-primary, input[type="submit"].btn,
.btn-maincolor, a.btn-maincolor {
	    background-color: #31AADE !important;
	    border-color: #31AADE !important;
	    color: #ffffff !important;
}
.theme-btn:hover, .btn-primary:hover, .btn-maincolor:hover {
	    background-color: #2090bb !important;
	    border-color: #2090bb !important;
}

/* ===== INLINE STYLE OVERRIDES ===== */
[style*="background:#171717"], [style*="background: #171717"],
[style*="background:#1c1c1c"], [style*="background: #1c1c1c"] {
	    background-color: #45433F !important;
}
[style*="color:#1daae2"], [style*="color: #1daae2"] { color: #31AADE !important; }

/* ===== MOBILE ===== */
@media (max-width: 991px) {
	.page_header .row { flex-wrap: wrap !important; }
	.page_header .col-xl-2, .page_header [class*="col-"]:first-child {
		        flex: 0 0 100% !important; width: 100% !important; padding: 10px 15px !important;
	}
	.page_header .col-xl-10, .page_header [class*="col-"]:last-child {
		        flex: 0 0 100% !important; width: 100% !important; padding-bottom: 10px !important;
	}
	.page_header nav ul li a, .mainmenu_wrapper ul li a {
		        padding: 8px 10px !important; font-size: 12px !important;
	}
}
	}
	}
	}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}

/* ===== HIDE SEARCH DIALOG + MOBILE TOGGLE (desktop) ===== */
/* Force-hide any open dialog elements that are the theme search */
dialog { display: none !important; }

/* Hide mobile hamburger toggle on desktop */
.toggle_menu,
button.toggle_menu,
.navbar-toggle,
.menu-toggle,
.mobile-toggle,
.page_header > button,
header > button { display: none !important; }

/* Admin bar search  keep inside bar, prevent overflow */
#wpadminbar #wp-admin-bar-search { overflow: hidden; }
#wpadminbar .ab-item .adminbar-search { display: none; }

/* Re-show hamburger on mobile */
@media (max-width: 991px) {
	    .toggle_menu,
	.navbar-toggle { display: block !important; }
}
}

/* HIDE SEARCH MODAL DIV */
#search_modal { display: none !important; }
div.modal#search_modal { display: none !important; }

/* =============================================
   HIDE OLD FOOTER / NEW JBC FOOTER 2026
   ============================================= */

/* Hide the old theme footer */
footer.page_footer { display: none !important; }

/* FOOTER WRAPPER */
#jbc-footer {
  background: #2e2c29;
  font-family: inherit;
}

#jbc-footer .jbc-footer-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 30px 48px;
}

#jbc-footer .jbc-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.6fr;
  gap: 48px;
  align-items: start;
}

/* BRAND COLUMN */
.jbc-footer-logo-wrap { display: inline-block; margin-bottom: 16px; }
.jbc-footer-logo-img {
  height: 68px; width: auto; display: block;
  border-radius: 4px;
}
.jbc-footer-about {
  color: #a8a6a3; font-size: 14px; line-height: 1.75;
  margin: 0 0 18px 0; max-width: 280px;
}
.jbc-footer-area-badge {
  display: inline-flex; align-items: center; gap: 5px;
  background: rgba(49,170,222,0.1);
  color: #31AADE; border: 1px solid rgba(49,170,222,0.25);
  border-radius: 20px; padding: 5px 14px;
  font-size: 12px; font-weight: 600; letter-spacing: 0.3px;
}

/* COLUMN HEADINGS */
.jbc-footer-heading {
  color: #ffffff; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.8px;
  margin: 0 0 18px 0; padding-bottom: 10px;
  border-bottom: 2px solid #31AADE; display: inline-block;
}

/* NAV LINKS */
.jbc-footer-links {
  list-style: none !important; margin: 0 !important; padding: 0 !important;
}
.jbc-footer-links li {
  list-style: none !important; margin-bottom: 9px; padding: 0;
}
.jbc-footer-links li::before, .jbc-footer-links li::marker { display: none !important; content: none !important; }
.jbc-footer-links li a {
  color: #a8a6a3 !important; font-size: 14px; text-decoration: none !important;
  transition: color 0.2s; display: flex; align-items: center; gap: 7px;
}
.jbc-footer-links li a::before {
  content: '›'; color: #31AADE; font-size: 18px; line-height: 1;
  flex-shrink: 0; margin-top: -1px;
}
.jbc-footer-links li a:hover { color: #31AADE !important; }

/* CONTACT ITEMS */
.jbc-contact-item {
  display: flex; align-items: flex-start; gap: 10px;
  margin-bottom: 14px; color: #a8a6a3; font-size: 14px; line-height: 1.55;
}
.jbc-contact-item svg { flex-shrink: 0; margin-top: 1px; }
.jbc-contact-item a { color: #a8a6a3 !important; text-decoration: none !important; }
.jbc-contact-item a:hover { color: #31AADE !important; }

/* CTA BUTTON */
.jbc-footer-cta {
  display: inline-block; background: #31AADE; color: #ffffff !important;
  padding: 11px 22px; border-radius: 4px; font-size: 14px;
  font-weight: 600; text-decoration: none !important; margin-top: 10px;
  transition: background 0.2s; white-space: nowrap;
}
.jbc-footer-cta:hover { background: #2090bb !important; color: #ffffff !important; }

/* BOTTOM BAR */
#jbc-footer .jbc-footer-bottom {
  background: #1e1d1b; padding: 16px 30px;
}
#jbc-footer .jbc-footer-bottom-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center;
  color: #6a6866; font-size: 13px; flex-wrap: wrap; gap: 8px;
}
.jbc-footer-bottom-right a { color: #6a6866 !important; text-decoration: none !important; }
.jbc-footer-bottom-right a:hover { color: #31AADE !important; }
.jbc-sep { margin: 0 8px; }

/* FOOTER RESPONSIVE */
@media (max-width: 991px) {
  #jbc-footer .jbc-footer-grid {
    grid-template-columns: 1fr 1fr; gap: 36px;
  }
  .jbc-footer-brand { grid-column: 1 / -1; }
  .jbc-footer-contact-col { grid-column: 1 / -1; }
}
@media (max-width: 576px) {
  #jbc-footer .jbc-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  #jbc-footer .jbc-footer-main { padding: 40px 20px 32px; }
  #jbc-footer .jbc-footer-bottom-inner { flex-direction: column; text-align: center; }
}

/* FIX: CTA button white text (override global link color) */
#jbc-footer a.jbc-footer-cta,
a.jbc-footer-cta { color: #ffffff !important; }
#jbc-footer a.jbc-footer-cta:hover { color: #ffffff !important; background: #2090bb !important; }

/* HIDE old theme copyright bar */
section.page_copyright, .page_copyright { display: none !important; }

/* ============================================================
   NAV DROPDOWN — Services sub-menu
   ============================================================ */
nav.top-nav .menu-item-has-children {
  position: relative;
}
nav.top-nav .sub-menu {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 9999 !important;
  background: #2d2c29 !important;
  min-width: 240px !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25) !important;
  flex-direction: column !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
nav.top-nav .menu-item-has-children:hover .sub-menu {
  display: flex !important;
  flex-direction: column !important;
}
nav.top-nav .sub-menu li {
  display: block !important;
  width: 100% !important;
}
nav.top-nav .sub-menu li a {
  display: block !important;
  padding: 10px 20px !important;
  color: #ffffff !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
}
nav.top-nav .sub-menu li a:hover {
  background: #31AADE !important;
  color: #ffffff !important;
}

/* wpcode-2948 */
/* Match logo blue #10A9EF - override Divi inline CSS */
.et-db #et-boc .et-l .et_pb_module .et_pb_text_inner h4,
.et_pb_text_inner h4,
h4 {
	  color: #10A9EF !important;
}

.et_pb_button,
a.et_pb_button,
.et_pb_button:hover,
a.et_pb_button:hover {
	  color: #10A9EF !important;
	  border-color: #10A9EF !important;
}

.et_pb_column_2 {
	  background-color: #10A9EF !important;
}
}
}
}
/* wpcode-2880 */
/* JBC: Hide Tracktruck login modal from public visitors. Staff login at /wp-admin */
#login_modal,
#login_modal.modal,
body #login_modal {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Hide login-modal trigger icons in the header (icon-only links that toggle login) */
header a[data-modal*="login" i],
header a[data-target*="login" i],
header a.login-trigger,
header .menu_user_btn,
header .header-login,
.top-bar a[href*="login"] {
  display: none !important;
}
