/* a title that is plain text (not a heading) keeps the colour of its panel */
p.ph2.ph2.ph2,p.ph3.ph3.ph3{color:inherit}
p.ph2.ph2.ph2,p.ph3.ph3.ph3,h2.as3.as3.as3{max-width:none}
/* One Call Now button per site (colour from --cta, set per page) and the app-style bottom bar on phones and small tablets */
a.cta-call,a.cta-call:visited,button.cta-call{background:var(--cta,#14325c)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--cta,#14325c) 84%,#fff) 0%,var(--cta,#14325c) 100%)!important;color:var(--cta-ink,#fff)!important;border-color:var(--cta,#14325c)!important;text-decoration:none;text-shadow:0 1px 0 rgba(0,0,0,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 0 1px color-mix(in srgb,var(--cta,#14325c) 80%,#000),0 14px 26px -12px color-mix(in srgb,var(--cta,#14325c) 80%,transparent),0 3px 8px -2px color-mix(in srgb,var(--cta,#14325c) 45%,transparent)!important;transition:transform .15s ease,box-shadow .2s ease,background-color .15s ease}
a.cta-call:hover,a.cta-call:focus-visible,button.cta-call:hover,button.cta-call:focus-visible{background:var(--cta-hover,#0f2547)!important;border-color:var(--cta-hover,#0f2547)!important;color:var(--cta-ink,#fff)!important;transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 18px 30px -12px color-mix(in srgb,var(--cta,#14325c) 85%,transparent),0 4px 10px -2px color-mix(in srgb,var(--cta,#14325c) 50%,transparent)!important}
a.cta-call:focus-visible,button.cta-call:focus-visible{outline:3px solid color-mix(in srgb,var(--cta,#14325c) 45%,#fff);outline-offset:2px}
a.cta-call:active,button.cta-call:active{transform:translateY(1px) scale(.99)}
a.cta-call svg,button.cta-call svg{stroke:currentColor!important;color:inherit}
/* Call Now and request buttons: one rounded, centred shape on every site (the old square buttons are gone) */
a.cta-call,button.cta-call{display:inline-flex!important;align-items:center;justify-content:center!important;gap:10px;border-radius:14px!important;min-height:50px;padding:0 26px;font-weight:700;letter-spacing:.01em;line-height:1.1;text-align:center}
a.cta-call svg,button.cta-call svg{width:20px;height:20px;flex:none}
.hero a.cta-call,.cover-hero a.cta-call,.button-row a.cta-call,.hero-actions a.cta-call{min-height:56px;padding:0 32px;font-size:1.0625rem;border-radius:16px!important}
header a.cta-call{min-height:44px;padding:0 20px;border-radius:12px!important}
button.cta-call{min-height:52px}
@media(max-width:600px){.hero a.cta-call,.cover-hero a.cta-call,.button-row a.cta-call,.hero-actions a.cta-call{min-width:min(100%,260px);padding:0 28px}}

button.cta-call:disabled{opacity:.6;cursor:not-allowed}

.app-bar{display:none}
@media(max-width:900px){
  header .menu-toggle,header .main-nav,header .primary-nav,header nav.nav,header .header-call,header .nav-cta{display:none!important}
  body.has-app-bar{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
  .mobile-bar,.mobile-call{display:none!important}
  .app-bar{display:block;position:fixed;z-index:90;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:620px;margin:0 auto;padding:7px 8px 8px;border-radius:24px;background:rgba(255,255,255,.97);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border:1px solid rgba(15,23,42,.1);box-shadow:0 14px 34px -10px rgba(15,23,42,.35),0 2px 8px rgba(15,23,42,.1);font-family:inherit;color:#1f2933}
  .app-bar .tr-mobile{margin:0}
  .app-bar .tr-mobile:not([hidden]){display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px 14px;padding:1px 0 7px;font-size:12px;line-height:1.2;font-weight:600;color:#1f2933}
  .app-bar .tr-mobile .tr-pill{padding:0;border:0;background:transparent;box-shadow:none;gap:4px;font-size:12px}
  .app-bar .tr-mobile .tr-stars{font-size:13px;letter-spacing:0}
  .app-bar .tr-mobile .tr-count{font-size:12px}
  .ab-row{display:grid;grid-template-columns:1fr 1fr minmax(0,1.85fr) 1fr;align-items:stretch;gap:4px}
  .ab-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:4px 2px;border-radius:16px;color:#3b4656;font-size:12px;font-weight:600;line-height:1.1;font-family:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,color .15s ease}
  .ab-tab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .ab-tab:active{background:rgba(15,23,42,.07)}
  .ab-tab[aria-current]{color:var(--ab-active,#14325c);background:color-mix(in srgb,var(--cta,#14325c) 11%,#fff)}
  .ab-tab[aria-current] svg{stroke-width:2.1}
  .ab-call{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 12px;border-radius:17px;font-size:16px;font-weight:700;line-height:1;font-family:inherit;letter-spacing:.01em;white-space:nowrap}
  .ab-call svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
  .ab-tab:focus-visible{outline:3px solid color-mix(in srgb,var(--cta,#14325c) 45%,#fff);outline-offset:1px}
}
@keyframes ab-pulse{0%,70%{box-shadow:0 0 0 0 color-mix(in srgb,var(--cta,#14325c) 0%,transparent)}80%{box-shadow:0 0 0 0 color-mix(in srgb,var(--cta,#14325c) 42%,transparent)}100%{box-shadow:0 0 0 14px color-mix(in srgb,var(--cta,#14325c) 0%,transparent)}}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){.ab-call{position:relative}.ab-call::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;animation:ab-pulse 5.5s ease-out 2s infinite}}
@media(max-width:350px){.app-bar{left:6px;right:6px;padding:6px 5px 7px}.ab-tab{font-size:11px}.ab-call{font-size:14px;gap:6px;padding:0 6px}.ab-call svg{width:18px;height:18px}.ab-row{grid-template-columns:1fr 1fr minmax(0,1.7fr) 1fr}}
@media(max-width:430px){.card-body h3,.service-body h3{font-size:clamp(17px,4.9vw,24px);overflow-wrap:break-word}}
@media(max-width:650px){body .cards-rows .service-card figure{align-self:start;width:100%;height:auto;min-width:0;overflow:hidden}}
@media(prefers-reduced-motion:reduce){a.cta-call,button.cta-call,.ab-tab{transition:none}}
@media(forced-colors:active){.app-bar{border:2px solid CanvasText}.ab-tab[aria-current]{outline:2px solid Highlight}}
@media print{.app-bar{display:none!important}}
