/* FINAL-CACHE-SYNC-0913V */
/* Desktop Services mega-menu: stable viewport fit, readable intro/CTA, no clipping. */
@media (min-width:901px){
  .vf-mega-menu,.header.scrolled .vf-mega-menu{
    top:89px!important;left:50%!important;width:min(1440px,calc(100vw - 36px))!important;
    max-width:calc(100vw - 36px)!important;padding:20px!important;overflow:visible!important;
    transform:translate(-50%,-12px)!important;
  }
  .vf-mega-trigger-wrap:hover .vf-mega-menu,.vf-mega-trigger-wrap:focus-within .vf-mega-menu,.vf-mega-trigger-wrap.is-open .vf-mega-menu{transform:translate(-50%,0)!important}
  .vf-mega-layout{display:grid!important;grid-template-columns:minmax(255px,280px) minmax(0,1fr) minmax(300px,320px)!important;gap:16px!important;align-items:stretch!important;min-width:0!important}
  .vf-mega-intro{min-width:0!important;padding:22px 20px!important;overflow:visible!important}
  .vf-mega-intro h3{font-size:1.45rem!important;line-height:1.08!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important;max-width:230px!important}
  .vf-mega-intro p{font-size:.75rem!important;line-height:1.72!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important;max-width:235px!important}
  .vf-mega-intro>a{white-space:normal!important}
  .vf-mega-services{min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .vf-mega-service{min-width:0!important;max-width:100%!important;grid-template-columns:48px minmax(0,1fr)!important;gap:13px!important;overflow:visible!important}
  .vf-mega-service>div{min-width:0!important;overflow:visible!important}
  .vf-mega-service h4,.vf-mega-service p{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;overflow-wrap:normal!important;word-break:normal!important}
  .vf-mega-cta{min-width:300px!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;padding:26px!important;overflow:hidden!important;isolation:isolate!important}
  .vf-mega-cta span,.vf-mega-cta h3,.vf-mega-cta p,.vf-mega-cta a{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;overflow-wrap:normal!important;word-break:normal!important;max-width:100%!important}
  .vf-mega-cta h3{font-size:1.48rem!important;line-height:1.08!important}
  .vf-mega-cta p{font-size:.74rem!important;line-height:1.68!important}
}
@media (min-width:901px) and (max-width:1199px){
  .vf-mega-menu,.header.scrolled .vf-mega-menu{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;padding:15px!important}
  .vf-mega-layout{grid-template-columns:minmax(215px,230px) minmax(0,1fr) minmax(255px,275px)!important;gap:11px!important}
  .vf-mega-intro{padding:17px 14px!important}.vf-mega-intro h3{font-size:1.22rem!important;max-width:200px!important}.vf-mega-intro p{font-size:.69rem!important;max-width:205px!important}
  .vf-mega-service{padding:13px!important;grid-template-columns:40px minmax(0,1fr)!important}.vf-mega-service .vf-scope-icon{width:39px!important;height:39px!important}.vf-mega-service p{display:none!important}
  .vf-mega-cta{min-width:255px!important;padding:19px!important}.vf-mega-cta h3{font-size:1.23rem!important}.vf-mega-cta p{font-size:.68rem!important}
}

/* Services indicator: a standard compact inverted-V chevron only. */
.vf-services-chevron{display:inline-block!important;position:relative!important;width:10px!important;height:7px!important;margin-left:7px!important;flex:0 0 10px!important;transform:none!important;transition:transform .2s ease!important;vertical-align:1px!important}
.vf-services-chevron:before,.vf-services-chevron:after{content:""!important;position:absolute!important;top:2px!important;width:7px!important;height:1.5px!important;background:currentColor!important;border:0!important;border-radius:2px!important}
.vf-services-chevron:before{left:0!important;transform:rotate(42deg)!important;transform-origin:right center!important}
.vf-services-chevron:after{right:0!important;transform:rotate(-42deg)!important;transform-origin:left center!important}
.vf-mega-trigger-wrap:hover .vf-services-chevron,.vf-mega-trigger-wrap:focus-within .vf-services-chevron,.vf-mega-trigger-wrap.is-open .vf-services-chevron{transform:rotate(180deg)!important}

/* Hero: company eyebrow stays; only old Industrial MEP suffix is gone. Service tab strip is absent from markup. */
.hero .eyebrow{display:block!important;color:#eef3fa!important;margin-bottom:24px!important}
.hero .slide-tabs{display:none!important}
.hero-controls{justify-content:flex-end!important;border-top:0!important}

/* Company profile footer link is text-only. */
.footer a[href$=".pdf"] .vf-footer-external,.footer a[href$=".pdf"] .vf-inline-icon{display:none!important}

/* Premium, restrained global primary CTA animation. */
.button:not(.outline){position:relative!important;overflow:hidden!important;isolation:isolate!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 26px rgba(172,18,42,.12)!important;transition:transform .24s ease,background .24s ease,box-shadow .24s ease!important}
.button:not(.outline):before{content:"";position:absolute;z-index:0;top:-45%;bottom:-45%;left:-42%;width:24%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);transform:skewX(-20deg);pointer-events:none;animation:vfCtaSheen 6.2s ease-in-out infinite}
.button:not(.outline)>*{position:relative;z-index:1}.button:not(.outline):hover{transform:translateY(-2px)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 16px 32px rgba(132,13,31,.18)!important}
.button .vf-inline-icon,.button>span:last-child{transition:transform .22s ease!important}.button:hover .vf-inline-icon,.button:hover>span:last-child{transform:translate(2px,-2px)!important}
@keyframes vfCtaSheen{0%,68%{left:-42%;opacity:0}72%{opacity:1}88%{left:126%;opacity:.85}100%{left:126%;opacity:0}}
@media (prefers-reduced-motion:reduce){.button:not(.outline):before{animation:none!important}.button,.button .vf-inline-icon,.vf-services-chevron{transition:none!important}}
@media (max-width:900px){.vf-services-chevron{display:none!important}.hero .eyebrow{margin-bottom:18px!important}}
