body :where(.button,.cs-action,.cs-header-price,.cs-header-inquiry,.home-price-button,.cs-menu-inquiry,.cs-menu-calculator,#cs-consent .consent-actions button){--action-face:#0075a8;--action-hover:#006994;--action-stripe:#68BA15}
/* Shared filled actions, desktop/mobile. Text links and icon controls excluded. */
body :is(.button:not(.button-call),.cs-action,.cs-header-price,.cs-header-inquiry,.home-price-button,.cs-menu-inquiry,.cs-menu-calculator,#cs-consent .consent-actions button){

 background:var(--action-face)!important;color:#fff!important;
 border-left:4px solid var(--action-stripe)!important;
 box-shadow:none!important;transform:none!important;
 transition:background-color .18s ease!important;
 box-sizing:border-box;
}
body :is(.cs-action:not(.cs-contact-action):not(.cs-price-trigger),.career .button,.cs-menu-inquiry,.cs-menu-calculator){
 --action-face:#293239;--action-hover:#35434c;--action-stripe:#009bdf;
}
body :is(.button:not(.button-call),.cs-action,.cs-header-price,.cs-header-inquiry,.home-price-button,.cs-menu-inquiry,.cs-menu-calculator,#cs-consent .consent-actions button):hover:not(:disabled){background:var(--action-hover)!important;box-shadow:none!important;transform:none!important}
body :is(.button:not(.button-call),.cs-action,.cs-header-price,.cs-header-inquiry,.home-price-button,.cs-menu-inquiry,.cs-menu-calculator,#cs-consent .consent-actions button):active{transform:none!important;box-shadow:none!important}
body :is(.button:not(.button-call),.cs-action,.cs-header-price,.cs-header-inquiry,.home-price-button,.cs-menu-inquiry,.cs-menu-calculator,#cs-consent .consent-actions button):focus-visible{outline:3px solid #009bdf!important;outline-offset:3px;transform:none!important;box-shadow:none!important}
body :is(.button:not(.button-call),.cs-action,.cs-header-price,.cs-header-inquiry,.home-price-button,.cs-menu-inquiry,.cs-menu-calculator,#cs-consent .consent-actions button) svg{transform:none!important;transition:none!important;animation:none!important}
body :is(.button:not(.button-call),.cs-action,.cs-header-price,.cs-header-inquiry,.home-price-button,.cs-menu-inquiry,.cs-menu-calculator,#cs-consent .consent-actions button):disabled{background:#e1e6e9!important;color:#45535d!important;border-left-color:#89979f!important;box-shadow:none!important;transform:none!important;cursor:not-allowed}
/* Keep existing menu footprint; these were outlined actions on anthracite. */
body #cs-mobile-menu :is(.cs-menu-inquiry,.cs-menu-calculator){border-left:4px solid #009bdf!important;background:var(--action-face)!important}
body .career #apply.cs-action{border-left-width:4px!important}
@media(prefers-reduced-motion:reduce){body :is(.button:not(.button-call),.cs-action,.cs-header-price,.cs-header-inquiry,.home-price-button,.cs-menu-inquiry,.cs-menu-calculator,#cs-consent .consent-actions button){transition:none!important}}
/* Equal desktop header pair; keep compact mobile header unchanged. */
@media(min-width:1101px){
 body .mainnav .cs-header-actions,
 body .mainnav .cs-header-actions[data-contact-aligned]{grid-template-columns:repeat(2,minmax(0,1fr));}
 body .mainnav .cs-header-actions .cs-header-price,
 body .mainnav .cs-header-actions .cs-header-inquiry{width:100%;justify-self:stretch;}
}

/* Stand 52: restrained anthracite depth on large surfaces only.
   Background images do not affect dimensions, typography or interactions. */
body .hero,
body .detail-hero,
body .page-intro,
body .hero-concept {
  background-image:linear-gradient(135deg,#35434b 0%,#293239 56%,#252d33 100%);
}
body .process,
body .city-process,
body .city-page .city-process,
body .customer-reviews,
body .service.featured {
  background-image:linear-gradient(135deg,#303c44 0%,#293239 58%,#252d33 100%);
}
body .footer-invitation,
body .site-footer {
  background-image:linear-gradient(110deg,#2e3940 0%,#293239 60%,#272f36 100%);
}

/* Stand 52: fill the existing mobile logo area without taller headers. */
@media(max-width:1100px){
 body header .mainnav .brand{flex:1 1 auto;min-width:0;max-width:180px}
 body header .mainnav .brand picture{display:block;min-width:0;width:100%;line-height:0}
 body header .mainnav .brand .brandimg{width:100%;max-width:180px;object-fit:contain;object-position:left center}
 #cs-mobile-menu .cs-menu-logo{flex:1 1 auto;min-width:0;height:83px;padding:0}
 #cs-mobile-menu .cs-menu-logo img{width:100%;max-width:230px;height:100%;object-fit:contain;object-position:left center}
}
@media(max-width:1100px) and (max-height:460px){
 #cs-mobile-menu .cs-menu-logo{height:63px}
}

/* Stand 53: desktop logo +12% at spacious widths; retain its 96px box height. */
@media(min-width:1101px){
 body header .mainnav .brand .brandimg{width:clamp(180px,calc(10vw + 20px),202px);height:96px;object-fit:contain;object-position:left center}
}

/* Stand 55: reserve the actual desktop logo width plus its separation. */
@media(min-width:1101px){
 body header .mainnav .brand{width:calc(clamp(180px,calc(10vw + 20px),202px) + 16px);flex:0 0 auto}
 body header .mainnav .brand .brandimg{box-shadow:none}
}
@media(min-width:1101px) and (max-width:1366px){
 body header .mainnav #navigation>a,
 body header .mainnav #navigation>button.nav-menu{padding-left:6px;padding-right:6px}
}

/* Stand 57: one permanent close-button frame. No focus-dependent inner frame.
   Border is included in the measured opener size; SVG never receives an outline. */
body #cs-mobile-menu .cs-menu-close,
body #cs-mobile-menu .cs-menu-close:is(:hover,:active,:focus,:focus-visible){
 box-sizing:border-box;flex:none;
 width:var(--cs-close-width,48px);min-width:var(--cs-close-width,48px);max-width:var(--cs-close-width,48px);
 height:var(--cs-close-height,44px);min-height:var(--cs-close-height,44px);max-height:var(--cs-close-height,44px);
 display:grid;place-items:center;padding:8px;
 border:3px solid #8bd9ef!important;border-radius:8px;
 background:#303a42!important;color:#8bd9ef;
 outline:none!important;box-shadow:none!important;
 transform:none!important;transition:none!important;animation:none!important;
 appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;
}
body #cs-mobile-menu .cs-menu-close svg,
body #cs-mobile-menu .cs-menu-close:focus-visible svg{
 width:22px;height:22px;flex:none;pointer-events:none;
 outline:none!important;box-shadow:none!important;transform:none!important;
 transition:none!important;animation:none!important;
}

/* Stand 59: header contact text matches the navigation anthracite. */
body header .contactbar a[href^="tel:"],
body header .contactbar a[href^="mailto:"]{color:#555f65}

/* Stand 60: quieter desktop contact row; mobile dimensions unchanged. */
@media(min-width:1101px){
 body header .contactbar a[href^="tel:"],
 body header .contactbar a[href^="mailto:"]{font-size:16px}
}
