/* ========================================================================== 
   ES-PRO V58 — consolidated responsive visual system
   Loaded after app.css so the public site has one predictable final layer.
   ========================================================================== */

:root{
  --v52-navy:#07366d;
  --v52-navy-deep:#031c34;
  --v52-blue:#1765d8;
  --v52-teal:#0899a4;
  --v52-cyan:#25cbd2;
  --v52-orange:#286fbd;
  --v52-ink:#092744;
  --v52-body:#4e6578;
  --v52-line:#dce6ec;
  --v52-soft:#f2f6f8;
  --v52-shadow:0 18px 48px rgba(4,36,62,.11);
  --container:min(1320px,calc(100% - clamp(40px,6.4vw,96px)));
}

html{font-size:16px!important}
body{font-size:16px!important;line-height:1.65!important}
h1,h2,h3{word-break:normal;overflow-wrap:normal;text-wrap:balance}
.section-heading h2,.filter-bar h2{font-size:clamp(2rem,3vw,3.15rem)!important;line-height:1.08!important}
.listing-body h2,.service-list-card h2,.industry-card h2{font-size:clamp(1.35rem,1.75vw,1.78rem)!important;line-height:1.2!important;letter-spacing:-.025em!important}
.catalog-product-card h3{font-size:1.08rem!important;line-height:1.28!important}
.section{padding:88px 0!important}
.section-heading{margin-bottom:38px!important}
.section-heading.split{gap:clamp(40px,6vw,78px)!important}
.section-heading p{font-size:.98rem;line-height:1.72}
.ui-icon{display:block;width:1.25em;height:1.25em;flex:0 0 auto}
.brand-icon{width:17px!important;height:17px!important;stroke-width:1.9!important}
.button{min-height:48px!important;padding:11px 20px!important;border-radius:10px!important;font-size:.72rem!important}

/* Header — stable proportions and a correctly centred mobile control. */
.site-header{background:#fff}
.navbar{min-height:82px!important}
.brand{width:178px!important;flex-basis:178px!important}
.brand img{width:auto!important;height:58px!important;max-width:100%!important}
.desktop-nav{gap:clamp(16px,1.25vw,24px)!important}
.desktop-nav>a,.desktop-nav>.nav-item>a{
  min-height:82px!important;
  color:#102f49!important;
  font-size:.87rem!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
}
.desktop-nav>a:after,.desktop-nav>.nav-item>a:before{bottom:14px!important;height:2px!important}
.nav-quote{min-height:46px!important}

/* Hero — smooth crossfade, visible photography and restrained typography. */
.page-home .hero{
  position:relative!important;
  height:clamp(560px,var(--banner-height-desktop,620px),660px)!important;
  min-height:560px!important;
  max-height:660px!important;
  overflow:hidden!important;
  background:var(--v52-navy-deep)!important;
  isolation:isolate;
}
.page-home .hero__slide{
  position:absolute!important;
  inset:0!important;
  z-index:0;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .9s cubic-bezier(.22,.61,.36,1),visibility 0s linear .9s!important;
}
.page-home .hero__slide.active{
  z-index:1;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  transition-delay:0s!important;
}
.page-home .hero .banner-media{position:absolute!important;inset:-2px!important;overflow:hidden!important}
.page-home .hero .banner-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:var(--banner-x,50%) var(--banner-y,50%)!important;
  transform:scale(var(--banner-zoom,1))!important;
  transform-origin:var(--banner-x,50%) var(--banner-y,50%)!important;
  filter:saturate(.96) contrast(1.03)!important;
  transition:filter .9s ease,transform 6s ease!important;
}
.page-home .hero__slide:not(.active) .banner-media img{filter:saturate(.85) contrast(1.01) blur(2px)!important}
.page-home .hero__veil{
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(3,25,46,.91) 0%,rgba(3,29,51,.81) 32%,rgba(3,29,51,.48) 57%,rgba(3,29,51,.08) 82%,transparent 100%)!important;
}
.page-home .hero__slide[data-overlay-direction="right"] .hero__veil{
  background:linear-gradient(270deg,rgba(3,25,46,.91) 0%,rgba(3,29,51,.81) 32%,rgba(3,29,51,.48) 57%,rgba(3,29,51,.08) 82%,transparent 100%)!important;
}
.page-home .hero__content,
.page-home .hero__content.container{
  position:absolute!important;
  z-index:2!important;
  inset:0!important;
  display:flex!important;
  width:var(--container)!important;
  height:100%!important;
  align-items:center!important;
  margin:auto!important;
  padding:52px 0 82px!important;
  transform:none!important;
}
.page-home .hero__copy{width:min(630px,52%)!important;max-width:630px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
.page-home .hero__content .eyebrow{margin-bottom:12px!important;color:#44dce2!important;font-size:.7rem!important;letter-spacing:.13em!important}
.page-home .hero__content h1,
.page-home .hero__content .hero-title,
.page-home .hero__title,
.page-home .hero__title--long,
.page-home .hero__title--very-long{
  display:block!important;
  max-width:14ch!important;
  margin:0 0 16px!important;
  overflow:visible!important;
  color:#fff!important;
  font-size:clamp(2.85rem,4vw,3.95rem)!important;
  line-height:1.04!important;
  letter-spacing:-.043em!important;
  text-shadow:0 4px 24px rgba(0,0,0,.22)!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
}
.page-home .hero__copy>p{display:block!important;max-width:580px!important;margin:0 0 20px!important;overflow:visible!important;color:rgba(255,255,255,.92)!important;font-size:.94rem!important;line-height:1.6!important;-webkit-box-orient:initial!important;-webkit-line-clamp:unset!important}
.page-home .hero__actions{display:flex!important;flex-wrap:wrap!important;gap:11px!important}
.page-home .hero__actions .button{width:auto!important;min-width:184px!important;min-height:48px!important}
.page-home .hero__actions .button--primary{color:#fff!important;background:linear-gradient(135deg,#13bfc9,#16aeb9)!important;border-color:#2ad0d5!important;box-shadow:0 12px 28px rgba(8,175,186,.25)!important}
.page-home .hero__actions .button--outline{color:#fff!important;background:rgba(3,31,54,.32)!important;border-color:rgba(255,255,255,.52)!important;backdrop-filter:blur(7px)!important}
.page-home .hero-benefits{display:grid!important;width:min(100%,620px)!important;max-width:620px!important;margin-top:22px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.page-home .hero-benefits>div{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;padding:0 14px!important;border:0!important;border-right:1px solid rgba(255,255,255,.2)!important}
.page-home .hero-benefits>div:first-child{padding-left:0!important}
.page-home .hero-benefits>div:last-child{padding-right:0!important;border-right:0!important}
.page-home .hero-benefits>div>span{width:32px!important;height:32px!important;color:#8fc1ff!important}
.page-home .hero-benefits .ui-icon{width:25px!important;height:25px!important}
.page-home .hero-benefits strong{color:#fff!important;font-size:.69rem!important;line-height:1.25!important}
.page-home .hero-benefits small{margin-top:3px!important;color:#d5e3ea!important;font-size:.56rem!important;line-height:1.35!important}
.page-home .hero__dots{z-index:20!important;bottom:50px!important;left:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;transform:translateX(-50%)!important;pointer-events:auto!important}
.page-home .hero__dots button{display:block!important;width:30px!important;height:4px!important;flex:0 0 30px!important;opacity:1!important;background:rgba(255,255,255,.62)!important;border:0!important;border-radius:999px!important;box-shadow:0 0 0 1px rgba(3,32,55,.1)!important;transition:width .25s ease,background .25s ease!important;cursor:pointer!important}
.page-home .hero__dots button.active{width:42px!important;background:#2dd5db!important}

/* Compact trust band with less white mass on the home page. */
.page-home .trust-strip-wrap{position:relative!important;z-index:8!important;min-height:0!important;margin:0!important;padding:0!important;background:#edf3f6!important}
.page-home .trust-strip-wrap>.container{width:var(--container)!important}
.page-home .trust-strip{min-height:92px!important;margin:-30px auto 0!important;background:rgba(255,255,255,.98)!important;border:1px solid rgba(8,48,78,.09)!important;border-radius:16px!important;box-shadow:0 16px 40px rgba(4,36,62,.12)!important}
.page-home .trust-strip__item{min-width:0!important;padding:15px 16px!important}
.page-home .trust-strip__icon{width:40px!important;height:40px!important;flex-basis:40px!important;color:#1378a3!important;background:#e8f5f7!important;border-radius:12px!important}
.page-home .trust-strip__icon .ui-icon{width:21px!important;height:21px!important}
.page-home .trust-strip__item strong{font-size:.88rem!important}
.page-home .trust-strip__item div>span{font-size:.58rem!important;line-height:1.35!important}

/* Service cards — icons are in the content zone, never on top of an image. */
.page-home .services-section{padding:86px 0!important}
.page-home .service-grid{gap:18px!important}
.page-home .service-card{display:flex!important;min-height:0!important;flex-direction:column!important;overflow:hidden!important;padding:0!important;background:#fff!important;border:1px solid var(--v52-line)!important;border-radius:18px!important;box-shadow:0 14px 34px rgba(4,36,62,.07)!important}
.page-home .service-card__media{display:block!important;width:100%!important;height:190px!important;aspect-ratio:auto!important;overflow:hidden!important}
.page-home .service-card__media img{width:100%!important;height:100%!important;object-fit:cover!important}
.page-home .service-card__body{display:flex!important;min-height:230px!important;flex:1!important;flex-direction:column!important;padding:20px 21px 22px!important}
.page-home .service-card__meta{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px}
.page-home .service-card__icon{display:grid;width:42px;height:42px;place-items:center;color:#0b4c9c;background:#e6f7f7;border:1px solid #c8ecee;border-radius:12px}
.page-home .service-card__icon .ui-icon{width:21px;height:21px}
.page-home .service-card__meta small{display:block!important;color:#91a5b4!important;font-size:.62rem!important;font-weight:850;letter-spacing:.08em}
.page-home .service-card__body h3{margin:0 0 10px!important;font-size:1.14rem!important;line-height:1.26!important}
.page-home .service-card__body p{display:-webkit-box;margin:0 0 17px!important;overflow:hidden;color:#64798a!important;font-size:.84rem!important;line-height:1.6!important;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.page-home .service-card__body .text-link{margin-top:auto}

/* Featured products — readable heading, wide photos and no fake icon overlay. */
.page-home .product-showcase{position:relative!important;overflow:hidden!important;padding:82px 0 88px!important;color:var(--v52-body)!important;background:linear-gradient(180deg,#f7f9fb 0%,#edf2f5 100%)!important}
.page-home .product-showcase::before{position:absolute;left:-180px;bottom:-180px;width:420px;height:420px;content:"";background:radial-gradient(circle,rgba(8,153,164,.14),transparent 68%);pointer-events:none}
.page-home .product-showcase::after{position:absolute;right:-220px;top:-220px;width:520px;height:520px;content:"";background:radial-gradient(circle,rgba(19,101,173,.13),transparent 67%);pointer-events:none}
.page-home .product-showcase>.container{position:relative!important;z-index:1!important;display:block!important}
.page-home .showcase-heading{display:grid!important;max-width:none!important;margin:0 0 30px!important;grid-template-columns:minmax(0,1.25fr) minmax(320px,.65fr)!important;gap:50px!important;align-items:end!important}
.page-home .showcase-heading>div:first-child{max-width:none!important}
.page-home .showcase-heading .eyebrow{margin:0 0 10px!important;color:var(--v52-orange)!important;font-size:.7rem!important;letter-spacing:.12em!important}
.page-home .showcase-heading h2{max-width:780px!important;margin:0!important;color:var(--v52-ink)!important;font-size:clamp(2.35rem,3.25vw,3.45rem)!important;line-height:1.06!important;letter-spacing:-.045em!important}
.page-home .showcase-heading__action{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:15px!important;margin:0!important;padding:0!important}
.page-home .showcase-heading__action p{display:block!important;max-width:460px!important;margin:0!important;padding-left:15px!important;color:#526a7d!important;border-left:2px solid var(--v52-orange)!important;font-size:.9rem!important;line-height:1.67!important}
.page-home .showcase-heading__action .button{width:auto!important;min-width:270px!important;color:#fff!important;background:linear-gradient(135deg,#286fbd,#1177b8)!important;border-color:#286fbd!important;box-shadow:0 12px 26px rgba(7,154,167,.2)!important}
.page-home .product-rail{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:16px!important;margin:0!important;overflow:visible!important;padding:0!important}
.page-home .product-mini{position:relative!important;display:flex!important;min-width:0!important;min-height:340px!important;flex-direction:column!important;overflow:hidden!important;padding:0 0 18px!important;background:#fff!important;border:1px solid #dde6ec!important;border-radius:17px!important;box-shadow:0 14px 34px rgba(4,36,62,.08)!important;transition:transform .25s ease,box-shadow .25s ease!important}
.page-home .product-mini:hover{transform:translateY(-5px)!important;box-shadow:0 20px 45px rgba(4,36,62,.13)!important}
.page-home .product-mini::before,.page-home .product-mini::after{display:none!important;content:none!important}
.page-home .product-mini__image{display:block!important;width:100%!important;height:176px!important;aspect-ratio:auto!important;margin:0 0 18px!important;overflow:hidden!important;border:0!important;border-radius:17px 17px 0 0!important}
.page-home .product-mini__image img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .45s ease!important}
.page-home .product-mini:hover .product-mini__image img{transform:scale(1.035)!important}
.page-home .product-mini small{display:block!important;margin:0 18px 8px!important;color:var(--v52-orange)!important;font-size:.61rem!important;font-weight:850!important;line-height:1.3!important;letter-spacing:.07em!important;text-transform:uppercase!important}
.page-home .product-mini strong{display:block!important;min-height:0!important;margin:0 18px 16px!important;padding:0!important;color:var(--v52-ink)!important;font-size:.96rem!important;line-height:1.34!important}
.page-home .product-mini .product-arrow{display:grid!important;width:38px!important;height:38px!important;place-items:center;margin:auto 18px 0!important;color:var(--v52-orange)!important;background:#eaf8f8!important;border:1px solid #c7e9eb!important;border-radius:11px!important}
.page-home .product-mini .product-arrow .ui-icon{width:18px!important;height:18px!important}

/* Industries — one coherent palette; the semantic icon sits inside the body. */
.page-home .industries-section--showcase{position:relative!important;overflow:hidden!important;padding:82px 0 90px!important;background:#f4f7f9!important}
.page-home .industries-section--showcase::before,.page-home .industries-section--showcase::after{display:none!important;content:none!important}
.page-home .industries-section--showcase .section-heading.split{display:grid!important;margin:0 0 30px!important;grid-template-columns:minmax(0,1.18fr) minmax(320px,.7fr)!important;gap:50px!important;align-items:end!important}
.page-home .industries-section--showcase .section-heading h2{max-width:790px!important;color:var(--v52-ink)!important;font-size:clamp(2.35rem,3.25vw,3.45rem)!important;line-height:1.06!important}
.page-home .industries-section--showcase .section-heading p{max-width:460px!important;margin:0 0 15px!important;color:#526a7d!important;font-size:.9rem!important;line-height:1.67!important}
.page-home .industries-section--showcase .text-link{display:inline-flex!important;width:auto!important;padding:11px 17px!important;color:#fff!important;background:linear-gradient(135deg,#286fbd,#1765d8)!important;border-radius:10px!important;box-shadow:0 10px 23px rgba(20,94,176,.17)!important}
.page-home .industry-showcase-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:17px!important;overflow:visible!important;padding:0!important}
.page-home .industry-showcase-card{display:flex!important;min-width:0!important;min-height:0!important;flex-direction:column!important;overflow:hidden!important;background:#fff!important;border:1px solid #dbe5eb!important;border-radius:18px!important;box-shadow:0 15px 36px rgba(4,36,62,.09)!important}
.page-home .industry-showcase-card>img{position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:190px!important;flex:0 0 190px!important;object-fit:cover!important;filter:saturate(.95) contrast(1.02)!important}
.page-home .industry-showcase-card__shade{display:none!important}
.page-home .industry-showcase-card__body{position:relative!important;inset:auto!important;display:flex!important;min-height:230px!important;flex:1!important;flex-direction:column!important;padding:20px 20px 21px!important;background:linear-gradient(150deg,#0a5270 0%,#073956 58%,#062c49 100%)!important}
.page-home .industry-showcase-card:nth-child(n) .industry-showcase-card__body{background:linear-gradient(150deg,#0a5270 0%,#073956 58%,#062c49 100%)!important}
.page-home .industry-showcase-card__icon{position:static!important;display:grid!important;width:43px!important;height:43px!important;place-items:center!important;margin:0 0 14px!important;color:#66e6e9!important;background:rgba(65,218,223,.1)!important;border:1px solid rgba(103,230,233,.34)!important;border-radius:12px!important;box-shadow:none!important}
.page-home .industry-showcase-card__icon .ui-icon{width:22px!important;height:22px!important}
.page-home .industry-showcase-card h3{margin:0 0 9px!important;color:#fff!important;font-size:1.13rem!important;line-height:1.24!important}
.page-home .industry-showcase-card p{display:-webkit-box!important;margin:0 0 15px!important;overflow:hidden!important;color:#d5e3ea!important;font-size:.8rem!important;line-height:1.58!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important}
.page-home .industry-showcase-card a{display:inline-flex!important;align-items:center!important;gap:7px!important;margin-top:auto!important;color:#68e4e8!important;font-size:.7rem!important;font-weight:850!important;text-transform:uppercase!important}

/* Continuous partner marquee with soft edge fades instead of hard clipping. */
.page-home .partners-section{overflow:hidden!important;padding:62px 0 42px!important;background:#fff!important}
.page-home .partners-section .section-heading{margin-bottom:26px!important}
.page-home .partners-section .section-heading h2{max-width:800px!important;font-size:clamp(2.15rem,3vw,3.15rem)!important}
.page-home .logo-marquee{
  --v52-marquee-gap:14px;
  position:relative!important;
  width:100%!important;
  overflow:hidden!important;
  padding:13px 0 17px!important;
  background:#fff!important;
  border-top:1px solid #edf2f4!important;
  border-bottom:1px solid #edf2f4!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)!important;
}
.page-home .logo-marquee::before,.page-home .logo-marquee::after{display:none!important;content:none!important}
.page-home .logo-track{display:flex!important;width:max-content!important;align-items:center!important;gap:var(--v52-marquee-gap)!important;animation:v52LogoMarquee 40s linear infinite!important;will-change:transform!important}
.page-home .logo-marquee:hover .logo-track{animation-play-state:paused!important}
.page-home .logo-tile{display:flex!important;width:176px!important;height:86px!important;flex:0 0 176px!important;align-items:center!important;justify-content:center!important;padding:15px!important;background:#fff!important;border:1px solid #dce6eb!important;border-radius:13px!important;box-shadow:0 6px 18px rgba(4,36,62,.05)!important}
.page-home .logo-tile img{display:block!important;width:auto!important;height:auto!important;max-width:140px!important;max-height:54px!important;margin:auto!important;object-fit:contain!important;opacity:1!important;filter:none!important}
@keyframes v52LogoMarquee{to{transform:translate3d(calc(-50% - var(--v52-marquee-gap)/2),0,0)}}

/* Managed inner-page banners and global mobile typography. */
.page-hero.managed-page-banner{height:clamp(440px,var(--banner-height-desktop,460px),540px)!important;min-height:440px!important;max-height:540px!important}
.managed-page-banner .page-content{display:flex!important;min-height:100%!important;box-sizing:border-box!important;flex-direction:column!important;justify-content:center!important;padding:44px 0 54px!important}
.managed-page-banner h1{max-width:14ch!important;font-size:clamp(2.25rem,3.25vw,3.3rem)!important;line-height:1.06!important}
.managed-page-banner p{font-size:.92rem!important}
.managed-page-banner .page-banner__actions{display:flex!important;flex-wrap:wrap!important;gap:11px!important;margin-top:19px!important}
.managed-page-banner .page-banner__actions .button{min-height:48px!important}
.scroll-nav,.espro-chat~.scroll-nav{right:20px!important;bottom:88px!important}
.scroll-nav__button{width:42px!important;height:42px!important}

.mobile-carousel-progress{display:none}

@media(max-width:1280px){
  .page-home .product-rail,.page-home .industry-showcase-grid{display:flex!important;gap:16px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 0 10px!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}
  .page-home .product-rail::-webkit-scrollbar,.page-home .industry-showcase-grid::-webkit-scrollbar{display:none!important}
  .page-home .product-mini{min-width:230px!important;flex:0 0 230px!important;scroll-snap-align:start!important}
  .page-home .industry-showcase-card{min-width:265px!important;flex:0 0 265px!important;scroll-snap-align:start!important}
}

@media(max-width:1050px){
  :root{--container:calc(100% - 34px)}
  body,body:has(.catalog-mobile-cta){padding-top:68px!important}
  .site-header,.site-header.scrolled{position:fixed!important;top:0!important;right:0!important;left:0!important;z-index:900!important;width:100%!important;height:68px!important;min-height:68px!important;margin:0!important;padding:0!important;transform:none!important}
  .nav-shell,.site-header.scrolled .nav-shell{position:relative!important;inset:auto!important;height:68px!important;min-height:68px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 7px 22px rgba(4,36,62,.08)!important}
  .topbar{display:none!important}
  .navbar,.site-header.scrolled .navbar{display:flex!important;min-height:68px!important;height:68px!important;padding:6px 0!important;justify-content:space-between!important}
  .brand,.site-header.scrolled .brand{width:145px!important;height:50px!important;flex-basis:145px!important}
  .brand img,.site-header.scrolled .brand img{width:auto!important;height:44px!important;max-height:44px!important}
  .mobile-toggle,.site-header.scrolled .mobile-toggle{position:relative!important;display:flex!important;width:42px!important;height:42px!important;margin:0 0 0 auto!important;padding:0!important;align-self:center!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;background:#f0f5f8!important;border:1px solid #d9e5eb!important;border-radius:12px!important;transform:none!important}
  .mobile-toggle span,.mobile-toggle span:nth-child(1),.mobile-toggle span:nth-child(2),.mobile-toggle span:nth-child(3){position:static!important;inset:auto!important;width:20px!important;height:2px!important;margin:0!important;background:var(--v52-navy)!important;border-radius:999px!important;transform:none!important;transform-origin:center!important;transition:opacity .2s ease,transform .2s ease!important}
  .mobile-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  .mobile-toggle.open span:nth-child(2){opacity:0!important;transform:scaleX(.2)!important}
  .mobile-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}
  .mobile-nav-backdrop{inset:68px 0 0!important}
  .mobile-nav,.site-header.scrolled .mobile-nav{top:68px!important;max-height:calc(100dvh - 68px)!important}
}

@media(max-width:820px){
  :root{--container:calc(100% - 30px)}
  html{font-size:15px!important}
  body{font-size:15px!important;line-height:1.62!important}
  .section-heading h2,.section-heading.split h2,.filter-bar h2{font-size:clamp(1.75rem,7vw,2.1rem)!important;line-height:1.12!important}
  .listing-body h2,.service-list-card h2,.industry-card h2{font-size:clamp(1.28rem,5.6vw,1.52rem)!important;line-height:1.22!important}
  p{line-height:1.65}
  .section{padding:62px 0!important}
  .section-heading{margin-bottom:27px!important}
  .section-heading.split{grid-template-columns:1fr!important;gap:16px!important}
  .eyebrow{margin-bottom:10px!important;font-size:.64rem!important;letter-spacing:.11em!important}
  .button{min-height:46px!important;font-size:.68rem!important}

  .page-home .hero{
    height:clamp(580px,var(--banner-height-mobile,610px),690px)!important;
    min-height:580px!important;
    max-height:690px!important;
  }
  .page-home .hero .banner-media img{object-position:var(--banner-mobile-x,50%) var(--banner-mobile-y,50%)!important;transform:scale(var(--banner-mobile-zoom,1))!important;transform-origin:var(--banner-mobile-x,50%) var(--banner-mobile-y,50%)!important;filter:saturate(1.02) contrast(1.04)!important}
  .page-home .hero__veil,.page-home .hero__slide[data-overlay-direction="right"] .hero__veil{background:linear-gradient(180deg,rgba(2,25,45,.02) 0%,rgba(2,25,45,.08) 30%,rgba(2,27,48,.38) 54%,rgba(2,25,45,.72) 76%,rgba(2,23,42,.88) 100%)!important}
  .page-home .hero__content,.page-home .hero__content.container{align-items:flex-end!important;justify-content:flex-end!important;padding:62px 0 54px!important}
  .page-home .hero__copy{width:100%!important;max-width:590px!important}
  .page-home .hero__content .eyebrow{margin-bottom:9px!important;color:#55e4e8!important;font-size:.58rem!important;letter-spacing:.1em!important}
  .page-home .hero__content h1,.page-home .hero__content .hero-title,.page-home .hero__title,.page-home .hero__title--long,.page-home .hero__title--very-long{display:block!important;max-width:14ch!important;margin-bottom:11px!important;overflow:visible!important;color:#fff!important;font-size:clamp(1.95rem,8.25vw,2.35rem)!important;line-height:1.06!important;letter-spacing:-.038em!important;-webkit-line-clamp:unset!important}
  .page-home .hero__copy>p{display:block!important;max-width:96%!important;margin-bottom:15px!important;overflow:visible!important;color:rgba(255,255,255,.92)!important;font-size:.8rem!important;line-height:1.48!important;-webkit-line-clamp:unset!important}
  .page-home .hero__actions{display:grid!important;max-width:430px!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .page-home .hero__actions .button{width:100%!important;min-width:0!important;min-height:44px!important;padding:9px 9px!important;font-size:.61rem!important;white-space:nowrap!important}
  .page-home .hero__actions .button--outline{background:rgba(4,32,55,.5)!important}
  .page-home .hero-benefits{max-width:430px!important;margin-top:13px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .page-home .hero-benefits>div{display:grid!important;min-height:44px!important;padding:6px!important;grid-template-columns:20px minmax(0,1fr)!important;gap:5px!important;background:rgba(7,43,68,.36)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:9px!important;backdrop-filter:blur(4px)!important}
  .page-home .hero-benefits>div:nth-child(3){display:grid!important}
  .page-home .hero-benefits>div>span{width:20px!important;height:20px!important;color:#8fc1ff!important}
  .page-home .hero-benefits .ui-icon{width:16px!important;height:16px!important}
  .page-home .hero-benefits p{min-width:0!important;margin:0!important}
  .page-home .hero-benefits strong{color:#fff!important;font-size:.51rem!important;line-height:1.2!important}
  .page-home .hero-benefits small{display:none!important}
  .page-home .hero__dots{bottom:18px!important;left:50%!important;display:flex!important;transform:translateX(-50%)!important}
  .page-home .hero__dots button{width:26px!important;flex-basis:26px!important}.page-home .hero__dots button.active{width:38px!important;flex-basis:38px!important}

  .page-home .trust-strip-wrap{padding:14px 0 4px!important;background:#edf3f6!important}
  .page-home .trust-strip{display:grid!important;min-height:0!important;margin:0!important;grid-template-columns:1fr 1fr!important;gap:9px!important;overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .page-home .trust-strip__item{min-height:76px!important;justify-content:flex-start!important;gap:10px!important;padding:12px!important;background:linear-gradient(145deg,#f8fbfc,#e7f0f4)!important;border:1px solid #d7e4ea!important;border-radius:13px!important}
  .page-home .trust-strip__item::before{display:none!important}
  .page-home .trust-strip__item:nth-child(5){grid-column:1/-1!important}
  .page-home .trust-strip__icon{width:36px!important;height:36px!important;flex-basis:36px!important;border-radius:10px!important}
  .page-home .trust-strip__item strong{font-size:.78rem!important}
  .page-home .trust-strip__item div>span{font-size:.57rem!important;text-transform:none!important;letter-spacing:0!important}

  .page-home .services-section{padding:60px 0!important}
  .page-home .service-grid{display:flex!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px max(0px,calc((100% - 84vw)/2)) 10px!important;scroll-snap-type:x mandatory!important;scroll-padding-inline:50%!important;scrollbar-width:none!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3.5%,#000 96.5%,transparent 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 3.5%,#000 96.5%,transparent 100%)!important}
  .page-home .service-grid::-webkit-scrollbar{display:none!important}
  .page-home .service-card{min-width:84vw!important;flex:0 0 84vw!important;scroll-snap-align:center!important}
  .page-home .service-card__media{height:184px!important}
  .page-home .service-card__body{min-height:214px!important;padding:18px 18px 20px!important}

  .page-home .product-showcase,.page-home .industries-section--showcase{padding:60px 0 66px!important}
  .page-home .showcase-heading,.page-home .industries-section--showcase .section-heading.split{display:grid!important;margin:0 0 22px!important;grid-template-columns:1fr!important;gap:15px!important}
  .page-home .showcase-heading h2,.page-home .industries-section--showcase .section-heading h2{max-width:100%!important;font-size:clamp(1.92rem,8vw,2.28rem)!important;line-height:1.1!important}
  .page-home .showcase-heading__action{gap:13px!important}
  .page-home .showcase-heading__action p,.page-home .industries-section--showcase .section-heading p{display:block!important;max-width:none!important;margin:0!important;font-size:.84rem!important;line-height:1.58!important}
  .page-home .showcase-heading__action .button,.page-home .industries-section--showcase .text-link{width:100%!important;min-width:0!important;justify-content:center!important}
  .page-home .product-rail,.page-home .industry-showcase-grid{display:flex!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px max(0px,calc((100% - 84vw)/2)) 9px!important;scroll-snap-type:x mandatory!important;scroll-padding-inline:50%!important;scrollbar-width:none!important;overscroll-behavior-inline:contain!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3.5%,#000 96.5%,transparent 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 3.5%,#000 96.5%,transparent 100%)!important}
  .page-home .product-rail::-webkit-scrollbar,.page-home .industry-showcase-grid::-webkit-scrollbar{display:none!important}
  .page-home .product-mini{min-width:84vw!important;min-height:330px!important;flex:0 0 84vw!important;scroll-snap-align:center!important}
  .page-home .product-mini__image{height:190px!important}
  .page-home .product-mini strong{font-size:1rem!important}
  .page-home .industry-showcase-card{min-width:84vw!important;flex:0 0 84vw!important;scroll-snap-align:center!important}
  .page-home .industry-showcase-card>img{height:188px!important;flex-basis:188px!important}
  .page-home .industry-showcase-card__body{min-height:210px!important;padding:18px!important}
  .page-home .industry-showcase-card__icon{width:40px!important;height:40px!important;margin-bottom:12px!important}
  .page-home .industry-showcase-card p{-webkit-line-clamp:3!important}

  .mobile-carousel-progress{position:relative!important;left:0!important;display:flex!important;width:100%!important;align-items:center!important;justify-content:center!important;gap:6px!important;margin:13px auto 0!important;transform:none!important}
  .mobile-carousel-progress button{width:7px;height:7px;padding:0;background:#b9cbd5;border:0;border-radius:999px;transition:width .2s ease,background .2s ease}
  .mobile-carousel-progress button.active{width:24px;background:#0a9ba5}

  .page-home .partners-section{padding:48px 0 34px!important}
  .page-home .partners-section .section-heading h2{font-size:2rem!important}
  .page-home .partners-section .section-heading p{font-size:.83rem!important}
  .page-home .logo-marquee{--v52-marquee-gap:10px;padding:10px 0 14px!important;background:#fff!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%)!important}
  .page-home .logo-track{animation-duration:27s!important}
  .page-home .logo-tile{width:142px!important;height:76px!important;flex-basis:142px!important;padding:12px!important;border-radius:11px!important}
  .page-home .logo-tile img{max-width:115px!important;max-height:47px!important}

  .page-hero.managed-page-banner{height:clamp(430px,var(--banner-height-mobile,460px),540px)!important;min-height:430px!important;max-height:540px!important}
  .managed-page-banner h1{max-width:14ch!important;font-size:clamp(1.75rem,7.3vw,2.12rem)!important;line-height:1.09!important}
  .managed-page-banner p{font-size:.8rem!important;line-height:1.5!important}
  .managed-page-banner .page-content{padding:30px 0 42px!important}
  .managed-page-banner .page-banner__actions{display:grid!important;width:min(100%,420px)!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:15px!important}
  .managed-page-banner .page-banner__actions .button{width:100%!important;justify-content:center!important}
  .espro-chat{position:fixed!important;right:12px!important;bottom:12px!important;transform:none!important}
  .scroll-nav,.espro-chat~.scroll-nav{position:fixed!important;right:76px!important;bottom:14px!important;transform:none}
}

@media(max-width:380px){
  :root{--container:calc(100% - 24px)}
  .page-home .hero__content,.page-home .hero__content.container{padding-bottom:55px!important}
  .page-home .hero__actions{grid-template-columns:1fr!important}
  .page-home .hero__actions .button{min-height:42px!important}
  .page-home .hero-benefits{display:none!important}
  .page-home .hero__content h1,.page-home .hero__content .hero-title,.page-home .hero__title{font-size:1.9rem!important}
  .page-home .trust-strip{grid-template-columns:1fr!important}
  .page-home .trust-strip__item:nth-child(5){grid-column:auto!important}
  .page-home .service-card,.page-home .product-mini,.page-home .industry-showcase-card{min-width:88vw!important;flex-basis:88vw!important}
  .page-home .service-grid,.page-home .product-rail,.page-home .industry-showcase-grid{padding-right:max(0px,calc((100% - 88vw)/2))!important;padding-left:max(0px,calc((100% - 88vw)/2))!important}
}

@media(prefers-reduced-motion:reduce){
  .page-home .logo-track{animation:none!important}
  .page-home .hero__slide{transition:none!important}
  .page-home .hero .banner-media img{transition:none!important}
}

/* ========================================================================== 
   ES-PRO V55 — mobile reading order, touch rails and optical icon centring
   ========================================================================== */

html{color-scheme:light!important;background:#fff!important}
body{background:#fff!important;overscroll-behavior-x:none!important}

/* Social glyphs and the advisor mark use true geometric centring. */
.topbar-socials a,.socials a{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:1!important;
}
.topbar-socials .brand-icon,.socials .brand-icon{
  display:flex!important;
  width:1em!important;
  height:1em!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  line-height:1!important;
  transform:none!important;
}
.topbar-socials .brand-icon::before,.socials .brand-icon::before{display:block!important;line-height:1!important}
.brand-icon--youtube::before{transform:translateY(.25px)!important}

/* Match the supplied trust-band reference with five distinct, restrained tiles. */
.page-home .trust-strip__icon{color:#fff!important;box-shadow:0 8px 18px rgba(5,46,75,.13)!important}
.page-home .trust-strip__item:nth-child(1) .trust-strip__icon{background:linear-gradient(145deg,#0aa7a9,#087b8e)!important}
.page-home .trust-strip__item:nth-child(2) .trust-strip__icon{background:linear-gradient(145deg,#507ce0,#3159b9)!important}
.page-home .trust-strip__item:nth-child(3) .trust-strip__icon{background:linear-gradient(145deg,#6ac46c,#42a953)!important}
.page-home .trust-strip__item:nth-child(4) .trust-strip__icon{background:linear-gradient(145deg,#20b8d0,#1683bd)!important}
.page-home .trust-strip__item:nth-child(5) .trust-strip__icon{background:linear-gradient(145deg,#665cc9,#433e9f)!important}
.page-home .trust-strip__icon .ui-icon{stroke:currentColor!important}

@media(max-width:900px){
  /* Every inner-page banner reads naturally from left to right on phones. */
  .managed-page-banner,
  .managed-page-banner[data-overlay-direction="right"]{direction:ltr!important;text-align:left!important}
  .managed-page-banner .page-overlay,
  .managed-page-banner[data-overlay-direction="right"] .page-overlay{
    background:linear-gradient(180deg,rgba(2,27,48,.08) 0%,rgba(2,28,49,.24) 36%,rgba(2,27,48,.72) 100%)!important;
  }
  .managed-page-banner .page-content,
  .managed-page-banner[data-overlay-direction="right"] .page-content{
    align-items:flex-start!important;
    justify-content:flex-end!important;
    direction:ltr!important;
    text-align:left!important;
  }
  .managed-page-banner .page-banner__copy{
    position:relative!important;
    z-index:3!important;
    display:block!important;
    width:100%!important;
    max-width:440px!important;
    padding:14px 15px 15px!important;
    direction:ltr!important;
    text-align:left!important;
    background:linear-gradient(145deg,rgba(3,31,54,.72),rgba(3,35,59,.46))!important;
    border:1px solid rgba(255,255,255,.2)!important;
    border-radius:16px!important;
    box-shadow:0 16px 34px rgba(1,19,33,.2)!important;
    -webkit-backdrop-filter:blur(10px) saturate(1.08)!important;
    backdrop-filter:blur(10px) saturate(1.08)!important;
  }
  .managed-page-banner .breadcrumb,
  .managed-page-banner .eyebrow,
  .managed-page-banner h1,
  .managed-page-banner p,
  .managed-page-banner .page-banner__actions{
    width:100%!important;
    max-width:100%!important;
    direction:ltr!important;
    text-align:left!important;
  }
  .managed-page-banner .breadcrumb{display:flex!important;justify-content:flex-start!important;flex-wrap:wrap!important}
  .managed-page-banner h1{font-size:clamp(1.72rem,7.2vw,2.16rem)!important;line-height:1.08!important;text-wrap:balance!important}
  .managed-page-banner p{color:#f0f6f8!important;font-size:.79rem!important;line-height:1.48!important}
  .managed-page-banner .page-banner__actions{margin-top:12px!important}

  /* A compact glass panel separates home copy from complex machinery. */
  .page-home .hero__copy{
    padding:13px 14px!important;
    background:linear-gradient(145deg,rgba(3,30,52,.62),rgba(3,34,57,.34))!important;
    border:1px solid rgba(255,255,255,.17)!important;
    border-radius:17px!important;
    box-shadow:0 16px 38px rgba(1,19,33,.2)!important;
    -webkit-backdrop-filter:blur(9px) saturate(1.06)!important;
    backdrop-filter:blur(9px) saturate(1.06)!important;
  }
  .page-home .hero__copy,.page-home .hero__copy *{direction:ltr!important;text-align:left!important}
  .page-home .hero__actions .button{justify-content:center!important;text-align:center!important}

  /* Native swiping remains available while vertical page scrolling still works. */
  .page-home .service-grid,
  .page-home .product-rail,
  .page-home .industry-showcase-grid{
    touch-action:pan-x pan-y!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-inline:contain!important;
  }
  .page-home .service-card,
  .page-home .product-mini,
  .page-home .industry-showcase-card{scroll-snap-stop:always!important}

  /* Industry directory becomes a clean image + content card instead of an overlay. */
  .industry-marquee--directory{
    width:100vw!important;
    margin-right:calc(50% - 50vw)!important;
    margin-left:calc(50% - 50vw)!important;
    padding:3px 0 16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-padding-inline:7vw!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    touch-action:pan-x pan-y!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-inline:contain!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .industry-marquee--directory::-webkit-scrollbar{display:none!important}
  .industry-marquee--directory .industry-marquee__track{
    gap:14px!important;
    padding-right:7vw!important;
    padding-left:7vw!important;
    animation:none!important;
    transform:none;
    will-change:auto!important;
  }
  .industry-marquee .industry-card--directory{
    position:relative!important;
    display:flex!important;
    width:86vw!important;
    min-width:86vw!important;
    min-height:0!important;
    flex:0 0 86vw!important;
    flex-direction:column!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #d7e4ea!important;
    border-radius:18px!important;
    box-shadow:0 16px 34px rgba(5,39,64,.11)!important;
    isolation:isolate!important;
    scroll-snap-align:center!important;
    scroll-snap-stop:always!important;
  }
  .industry-marquee .industry-card--directory::after{display:none!important;content:none!important}
  .industry-marquee .industry-card--directory>img{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:190px!important;
    flex:0 0 190px!important;
    object-fit:cover!important;
    filter:saturate(.97) contrast(1.02)!important;
  }
  .industry-card--directory>span{
    position:absolute!important;
    z-index:4!important;
    top:15px!important;
    left:15px!important;
    display:grid!important;
    width:42px!important;
    height:34px!important;
    place-items:center!important;
    color:#fff!important;
    background:linear-gradient(145deg,#0aa9b3,#087d99)!important;
    border:1px solid rgba(255,255,255,.68)!important;
    border-radius:10px!important;
    box-shadow:0 8px 18px rgba(3,30,50,.2)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .industry-marquee .industry-card--directory>div{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    min-height:220px!important;
    flex:1!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    padding:20px 20px 21px!important;
    direction:ltr!important;
    text-align:left!important;
    background:#fff!important;
  }
  .industry-marquee .industry-card--directory h2{
    margin:0 0 9px!important;
    color:#082f4b!important;
    font-size:1.34rem!important;
    line-height:1.2!important;
    letter-spacing:-.025em!important;
  }
  .industry-marquee .industry-card--directory p{
    display:-webkit-box!important;
    margin:0 0 16px!important;
    overflow:hidden!important;
    color:#5c7281!important;
    font-size:.82rem!important;
    line-height:1.55!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:4!important;
  }
  .industry-marquee .industry-card--directory a{margin-top:auto!important;color:#1e6db9!important}

  .footer-mobile__socials a{width:32px!important;height:32px!important;flex-basis:32px!important}
  .espro-chat__launcher{
    display:grid!important;
    place-items:center!important;
    gap:0!important;
    padding:5px!important;
  }
  .espro-chat__launcher-icon{
    display:grid!important;
    place-items:center!important;
    margin:auto!important;
    line-height:0!important;
  }
  .espro-chat__launcher-icon img{display:block!important;margin:auto!important;object-position:center!important}
}

@media(max-width:380px){
  .managed-page-banner .page-banner__copy{padding:12px 13px 13px!important;border-radius:14px!important}
  .managed-page-banner h1{font-size:1.68rem!important}
  .industry-marquee .industry-card--directory{width:88vw!important;min-width:88vw!important;flex-basis:88vw!important}
  .industry-marquee--directory{scroll-padding-inline:6vw!important}
  .industry-marquee--directory .industry-marquee__track{padding-right:6vw!important;padding-left:6vw!important}
}

/* ========================================================================== 
   ES-PRO V56 — clear, balanced home-banner typography
   Keep long managed titles readable without turning them into a narrow column.
   ========================================================================== */
@media(min-width:821px){
  .page-home .hero__copy{
    width:min(900px,74%)!important;
    max-width:900px!important;
  }
  .page-home .hero__content h1,
  .page-home .hero__content .hero-title,
  .page-home .hero__title,
  .page-home .hero__title--long,
  .page-home .hero__title--very-long{
    width:100%!important;
    max-width:900px!important;
    margin-bottom:16px!important;
    font-size:clamp(3rem,4.05vw,4rem)!important;
    font-weight:800!important;
    line-height:1.045!important;
    letter-spacing:-.034em!important;
    text-wrap:wrap!important;
    text-shadow:0 5px 28px rgba(0,0,0,.28)!important;
  }
  .page-home .hero__copy>p{
    max-width:650px!important;
    margin-bottom:20px!important;
    font-size:.96rem!important;
    line-height:1.58!important;
  }
}

@media(min-width:821px) and (max-width:1100px){
  .page-home .hero__copy{width:min(690px,72%)!important;max-width:690px!important}
  .page-home .hero__content h1,
  .page-home .hero__content .hero-title,
  .page-home .hero__title,
  .page-home .hero__title--long,
  .page-home .hero__title--very-long{
    max-width:690px!important;
    font-size:clamp(2.8rem,4.75vw,3.35rem)!important;
    line-height:1.055!important;
  }
  .page-home .hero__copy>p{max-width:620px!important}
}

@media(max-width:820px){
  .page-home .hero__content h1,
  .page-home .hero__content .hero-title,
  .page-home .hero__title,
  .page-home .hero__title--long,
  .page-home .hero__title--very-long{
    max-width:100%!important;
    font-weight:800!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
    text-wrap:balance!important;
    text-shadow:0 4px 22px rgba(0,0,0,.32)!important;
  }
}

/* ========================================================================== 
   ES-PRO V57 — professional mobile composition and continuous engagement
   Built on V56 while removing the narrow panels and restoring auto motion.
   ========================================================================== */

@media(min-width:1051px){
  .page-home .trust-strip-wrap{
    min-height:48px!important;
    background:linear-gradient(180deg,transparent 0,transparent 49%,#edf3f6 50%)!important;
  }
  .page-home .trust-strip{
    min-height:96px!important;
    margin:-48px auto 0!important;
    border-radius:17px!important;
    box-shadow:0 18px 46px rgba(4,36,62,.14)!important;
  }
  .page-home .intro-section{padding-top:62px!important}
}

.news-mobile-tools{display:none}

@media(max-width:820px){
  /* The photograph stays dominant. Copy uses the whole safe width instead of
     a narrow glass box, so long titles read in three balanced lines. */
  .page-home .hero{
    height:clamp(570px,var(--banner-height-mobile,590px),630px)!important;
    min-height:570px!important;
    max-height:630px!important;
  }
  .page-home .hero__content,
  .page-home .hero__content.container{
    align-items:flex-end!important;
    justify-content:flex-end!important;
    padding:48px 0 50px!important;
  }
  .page-home .hero__copy,
  .page-home .hero__copy.hero__copy--tight{
    position:static!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .page-home .hero__copy::before,
  .page-home .hero__copy::after{display:none!important;content:none!important}
  .page-home .hero__content h1,
  .page-home .hero__content .hero-title,
  .page-home .hero__title,
  .page-home .hero__title--long,
  .page-home .hero__title--very-long{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 10px!important;
    overflow:visible!important;
    font-size:clamp(2.02rem,8.05vw,2.3rem)!important;
    font-weight:800!important;
    line-height:1.055!important;
    letter-spacing:-.04em!important;
    text-wrap:balance!important;
    -webkit-line-clamp:unset!important;
  }
  .page-home .hero__copy>p{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    color:rgba(255,255,255,.94)!important;
    font-size:.78rem!important;
    line-height:1.48!important;
  }
  .page-home .hero__actions{max-width:none!important}
  .page-home .hero-benefits{width:100%!important;max-width:none!important;margin-top:11px!important}
  .page-home .hero__dots{bottom:16px!important}

  /* Inner banners keep V56's left-to-right structure but lose the nested glass
     card, use a shorter frame and maintain full, uncut editable copy. */
  .page-hero.managed-page-banner{
    height:clamp(410px,var(--banner-height-mobile,440px),480px)!important;
    min-height:410px!important;
    max-height:480px!important;
  }
  .managed-page-banner .page-overlay,
  .managed-page-banner[data-overlay-direction="right"] .page-overlay{
    background:linear-gradient(180deg,rgba(3,27,48,.04) 0%,rgba(3,29,51,.16) 34%,rgba(3,28,49,.72) 72%,rgba(3,25,45,.92) 100%)!important;
  }
  .managed-page-banner .page-content,
  .managed-page-banner[data-overlay-direction="right"] .page-content{
    width:var(--container)!important;
    min-height:100%!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    margin:auto!important;
    padding:25px 0 28px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .managed-page-banner .page-banner__copy{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .managed-page-banner h1{
    width:100%!important;
    max-width:18ch!important;
    margin:0 0 9px!important;
    overflow:visible!important;
    font-size:clamp(1.82rem,7.45vw,2.12rem)!important;
    line-height:1.075!important;
    -webkit-line-clamp:unset!important;
  }
  .managed-page-banner p{width:100%!important;max-width:100%!important;font-size:.79rem!important;line-height:1.47!important}
  .managed-page-banner .page-banner__actions{width:100%!important;max-width:420px!important;gap:7px!important;margin-top:13px!important}
  .managed-page-banner .page-banner__actions .button{min-height:43px!important;padding:8px 12px!important}
  .managed-page-banner+.section{padding-top:43px!important}

  /* The industry rail moves continuously again, with a shorter readable card
     and a white body separated cleanly from the image. */
  .industry-marquee--directory{
    width:100vw!important;
    margin-right:calc(50% - 50vw)!important;
    margin-left:calc(50% - 50vw)!important;
    overflow:hidden!important;
    padding:3px 0 16px!important;
    scroll-snap-type:none!important;
    touch-action:pan-y!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)!important;
    mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)!important;
  }
  .industry-marquee--directory .industry-marquee__track{
    display:flex!important;
    width:max-content!important;
    gap:14px!important;
    padding-right:14px!important;
    padding-left:14px!important;
    animation:v28IndustryRail 72s linear infinite!important;
    animation-play-state:running!important;
    transform:none;
    will-change:transform!important;
  }
  .industry-marquee .industry-card--directory{
    position:relative!important;
    display:flex!important;
    width:82vw!important;
    min-width:82vw!important;
    min-height:348px!important;
    flex:0 0 82vw!important;
    flex-direction:column!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #d7e4ea!important;
    border-radius:16px!important;
    box-shadow:0 14px 32px rgba(5,37,60,.1)!important;
    scroll-snap-align:none!important;
  }
  .industry-marquee .industry-card--directory::after{display:none!important;content:none!important}
  .industry-marquee .industry-card--directory>img{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:178px!important;
    flex:0 0 178px!important;
    object-fit:cover!important;
    filter:saturate(.97) contrast(1.02)!important;
  }
  .industry-marquee .industry-card--directory>div{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    width:100%!important;
    min-height:170px!important;
    flex:1!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    padding:18px 19px 19px!important;
    background:#fff!important;
  }
  .industry-marquee .industry-card--directory h2{margin:0 0 8px!important;color:#082f4b!important;font-size:1.16rem!important;line-height:1.2!important}
  .industry-marquee .industry-card--directory p{margin:0 0 12px!important;color:#617786!important;font-size:.79rem!important;line-height:1.55!important;-webkit-line-clamp:3!important}
  .industry-marquee .industry-card--directory a{margin-top:auto!important;color:#1e6db9!important}

  /* News: one compact search/topic toolbar, then the real featured story. */
  .news-index-hero{padding:23px 0 22px!important}
  .news-index-hero .breadcrumb{margin-bottom:11px!important}
  .news-index-hero .eyebrow{margin-bottom:6px!important}
  .news-index-hero h1{margin:5px 0 8px!important;font-size:1.92rem!important;line-height:1.08!important}
  .news-index-hero p{font-size:.84rem!important;line-height:1.53!important}
  .news-index-section{padding:18px 0 52px!important}
  .news-index-layout{display:block!important}
  .news-mobile-tools{
    display:grid!important;
    gap:10px!important;
    margin:0 0 20px!important;
    padding:13px!important;
    background:linear-gradient(145deg,#f8fbfc,#eef5f7)!important;
    border:1px solid #d7e4e9!important;
    border-radius:14px!important;
    box-shadow:0 9px 25px rgba(5,39,63,.055)!important;
  }
  .news-mobile-search label{display:block!important;margin:0 0 6px!important;color:#496376!important;font-size:.58rem!important;font-weight:850!important;letter-spacing:.085em!important;text-transform:uppercase!important}
  .news-mobile-search>div{display:grid!important;grid-template-columns:minmax(0,1fr) 42px!important}
  .news-mobile-search input{min-width:0!important;height:42px!important;padding:0 12px!important;color:#173850!important;background:#fff!important;border:1px solid #d5e2e8!important;border-right:0!important;border-radius:9px 0 0 9px!important;font-size:.74rem!important}
  .news-mobile-search button{display:grid!important;width:42px!important;height:42px!important;place-items:center!important;color:#fff!important;background:linear-gradient(135deg,#286fbd,#0a587e)!important;border:0!important;border-radius:0 9px 9px 0!important}
  .news-mobile-search button .ui-icon{width:17px!important;height:17px!important}
  .news-mobile-topics{display:flex!important;gap:7px!important;overflow-x:auto!important;padding:1px 1px 3px!important;scrollbar-width:none!important;scroll-snap-type:x proximity!important}
  .news-mobile-topics::-webkit-scrollbar{display:none!important}
  .news-mobile-topics a{display:inline-flex!important;min-height:30px!important;flex:0 0 auto!important;align-items:center!important;padding:6px 10px!important;color:#526b7d!important;background:#fff!important;border:1px solid #d5e2e8!important;border-radius:999px!important;font-size:.61rem!important;font-weight:760!important;scroll-snap-align:start!important}
  .news-mobile-topics a.active{color:#fff!important;background:#286fbd!important;border-color:#286fbd!important}
  .news-index-sidebar{display:none!important}
  .news-featured{margin-bottom:30px!important;overflow:hidden!important;border-radius:16px!important;box-shadow:0 14px 34px rgba(6,40,71,.09)!important}
  .news-featured__media{min-height:190px!important;aspect-ratio:16/9!important}
  .news-featured__body{padding:20px 19px 21px!important}
  .news-featured__body h2{margin:9px 0 10px!important;font-size:1.46rem!important;line-height:1.17!important}
  .news-featured__body p{display:-webkit-box!important;margin-bottom:14px!important;overflow:hidden!important;font-size:.82rem!important;line-height:1.58!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important}
  .news-index-heading{margin-bottom:12px!important}
  .news-index-heading h2{font-size:1.55rem!important}

  /* Give the logo and social channels their own measured rows. */
  .footer-mobile__top{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;justify-items:start!important;gap:13px!important;padding-bottom:17px!important}
  .footer-mobile__top .brand--footer{width:154px!important;height:50px!important;flex:0 0 auto!important;margin:0!important;padding:6px 10px!important}
  .footer-mobile__top .brand--footer img{width:auto!important;height:38px!important;max-width:100%!important}
  .footer-mobile__socials{display:flex!important;width:100%!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:7px!important;margin:0!important}
  .footer-mobile__socials a{width:31px!important;height:31px!important;flex:0 0 31px!important}
}

@media(max-width:380px){
  .page-home .hero__content,
  .page-home .hero__content.container{padding-bottom:48px!important}
  .page-home .hero__content h1,
  .page-home .hero__content .hero-title,
  .page-home .hero__title{font-size:1.94rem!important}
  .managed-page-banner .page-banner__copy{padding:0!important}
  .managed-page-banner h1{font-size:1.78rem!important}
  .industry-marquee .industry-card--directory{width:86vw!important;min-width:86vw!important;flex-basis:86vw!important}
  .footer-mobile__socials{gap:6px!important}
  .footer-mobile__socials a{width:30px!important;height:30px!important;flex-basis:30px!important}
}

@media(prefers-reduced-motion:reduce){
  .industry-marquee--directory .industry-marquee__track{animation-duration:110s!important}
}

/* ========================================================================== 
   ES-PRO V58 — measured safe zones, multilingual fit and optical centring
   ========================================================================== */

/* Optical centring is explicit so neither an SVG baseline nor an icon font can
   pull a glyph toward one corner of its button. */
.page-home .product-mini .product-arrow,
.footer-mobile__socials a,
.footer-mobile__socials .brand-icon{
  align-items:center!important;justify-content:center!important;place-items:center!important;line-height:0!important
}
.page-home .product-mini .product-arrow{display:flex!important;padding:0!important}
.page-home .product-mini .product-arrow .ui-icon{display:block!important;width:17px!important;height:17px!important;margin:0!important;transform:none!important}
.footer-mobile__socials .brand-icon{display:grid!important;width:18px!important;height:18px!important;margin:0!important;font-size:15px!important;line-height:1!important}
.footer-mobile__socials .brand-icon::before{display:block!important;margin:auto!important;line-height:1!important}

@media(min-width:1051px){
  /* The navigation dots stay visually inside the photograph instead of
     touching the trust strip that overlaps the lower edge. */
  .page-home .hero__dots{bottom:85px!important}
}

@media(min-width:821px){
  /* Long Russian/Malay headings receive more horizontal room and a smaller,
     professional scale before the content approaches either safe edge. */
  .managed-page-banner .page-content{padding:38px 0 46px!important}
  .managed-page-banner .page-banner__copy{width:min(720px,58vw)!important;max-width:720px!important}
  .managed-page-banner h1{max-width:19ch!important;font-size:clamp(2.35rem,3.15vw,3.35rem)!important;line-height:1.035!important;-webkit-line-clamp:unset!important}
  .managed-page-banner .page-banner__title--long{max-width:20ch!important;font-size:clamp(2.12rem,2.8vw,3rem)!important;line-height:1.05!important}
  .managed-page-banner .page-banner__title--very-long{max-width:22ch!important;font-size:clamp(1.92rem,2.5vw,2.72rem)!important;line-height:1.07!important}
  .managed-page-banner p{max-width:650px!important;font-size:.9rem!important;line-height:1.5!important;-webkit-line-clamp:unset!important}
  .managed-page-banner .page-banner__actions{margin-top:16px!important}
}

@media(max-width:820px){
  /* A single calm content plane separates words from the photograph without
     covering the whole image or creating a small card inside another card. */
  .page-home .hero{
    height:clamp(535px,var(--banner-height-mobile,555px),585px)!important;
    min-height:535px!important;max-height:585px!important
  }
  .page-home .hero__veil{
    background:linear-gradient(180deg,rgba(3,31,52,.05) 0%,rgba(3,31,52,.12) 30%,rgba(3,30,51,.48) 58%,rgba(3,27,47,.9) 100%)!important
  }
  .page-home .hero__content,
  .page-home .hero__content.container{padding:30px 0 72px!important}
  .page-home .hero__copy,
  .page-home .hero__copy.hero__copy--tight{
    width:100%!important;max-width:100%!important;padding:15px 15px 14px!important;
    background:linear-gradient(145deg,rgba(4,42,67,.82),rgba(4,35,58,.69))!important;
    border:1px solid rgba(255,255,255,.18)!important;border-radius:15px!important;
    box-shadow:0 17px 36px rgba(2,21,37,.22)!important;
    -webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important
  }
  .page-home .hero__content .eyebrow{margin-bottom:7px!important;font-size:.57rem!important;line-height:1.3!important}
  .page-home .hero__content h1,
  .page-home .hero__content .hero-title,
  .page-home .hero__title{
    max-width:100%!important;margin-bottom:8px!important;font-size:clamp(1.75rem,7.2vw,1.98rem)!important;line-height:1.045!important
  }
  .page-home .hero__title--long{font-size:clamp(1.6rem,6.6vw,1.82rem)!important;line-height:1.06!important}
  .page-home .hero__title--very-long{font-size:clamp(1.45rem,6vw,1.68rem)!important;line-height:1.08!important}
  .page-home .hero__copy>p{margin-bottom:11px!important;font-size:.72rem!important;line-height:1.42!important}
  .page-home .hero__actions{gap:7px!important}
  .page-home .hero__actions .button{min-height:41px!important;padding:8px!important;font-size:.56rem!important}
  .page-home .hero-benefits{gap:5px!important;margin-top:9px!important}
  .page-home .hero-benefits>div{min-height:39px!important;padding:5px!important;border-radius:8px!important}
  .page-home .hero-benefits strong{font-size:.48rem!important}
  .page-home .hero__dots{bottom:16px!important}

  /* Every inner banner retains a generous bottom and side safe zone, even for
     translations that are materially longer than the English source. */
  .managed-page-banner .page-content,
  .managed-page-banner[data-overlay-direction="right"] .page-content{padding:23px 0 27px!important}
  .managed-page-banner h1{max-width:100%!important;font-size:clamp(1.7rem,7vw,1.98rem)!important;line-height:1.07!important}
  .managed-page-banner .page-banner__title--long{font-size:clamp(1.54rem,6.4vw,1.82rem)!important;line-height:1.09!important}
  .managed-page-banner .page-banner__title--very-long{font-size:clamp(1.4rem,5.9vw,1.68rem)!important;line-height:1.1!important}
  .managed-page-banner p{font-size:.74rem!important;line-height:1.43!important}

  /* One horizontal brand row: the logo is recognisable, social icons remain
     optically centred and nothing collides at 360–430px widths. */
  .footer-mobile__top{
    display:grid!important;grid-template-columns:128px minmax(0,1fr)!important;
    align-items:center!important;justify-items:stretch!important;gap:10px!important;padding-bottom:17px!important
  }
  .footer-mobile__top .brand--footer{
    display:grid!important;width:128px!important;height:48px!important;place-items:center!important;
    box-sizing:border-box!important;
    padding:6px 8px!important;background:linear-gradient(145deg,#fff,#eef7f8)!important;
    border:1px solid rgba(142,201,209,.45)!important;border-radius:10px!important;
    box-shadow:0 9px 22px rgba(1,26,46,.14)!important
  }
  .footer-mobile__top .brand--footer img{width:112px!important;height:36px!important;object-fit:contain!important}
  .footer-mobile__socials{display:flex!important;width:100%!important;justify-content:flex-end!important;gap:4px!important}
  .footer-mobile__socials a{display:flex!important;width:28px!important;height:28px!important;box-sizing:border-box!important;flex:0 0 28px!important;border-radius:8px!important}
}

@media(max-width:380px){
  .page-home .hero__copy,.page-home .hero__copy.hero__copy--tight{padding:13px 12px 12px!important}
  .page-home .hero__content h1,.page-home .hero__content .hero-title,.page-home .hero__title{font-size:1.72rem!important}
  .page-home .hero__title--long{font-size:1.55rem!important}.page-home .hero__title--very-long{font-size:1.42rem!important}
  .footer-mobile__top{grid-template-columns:118px minmax(0,1fr)!important;gap:7px!important}
  .footer-mobile__top .brand--footer{width:118px!important}.footer-mobile__top .brand--footer img{width:103px!important}
  .footer-mobile__socials{gap:3px!important}.footer-mobile__socials a{width:27px!important;height:27px!important;flex-basis:27px!important}
}
 
/* ==========================================================================
   ES-PRO V59.1 — bright mobile hero, separated copy and preserved V58 content
   Desktop and every section below the hero keep the established V58 layout.
   ========================================================================== */

.hero-image-pill{display:none}
.hero-benefit-short{display:none}

@media(max-width:820px){
  body.page-home{padding-bottom:0!important}

  /* The photograph is a clean, independent visual area. No colour wash,
     gradient veil or text is allowed over the machinery. */
  .page-home .hero{
    --v59-mobile-image-height:clamp(276px,68vw,302px);
    height:auto!important;
    min-height:0!important;max-height:none!important;
    overflow:visible!important;background:#f5f8fa!important
  }
  .page-home .hero__slide{
    position:absolute!important;inset:0!important;height:auto!important;
    overflow:visible!important;background:#f5f8fa!important;
    transition:opacity .58s cubic-bezier(.4,0,.2,1),visibility 0s linear .58s!important
  }
  .page-home .hero__slide.active{
    position:relative!important;inset:auto!important;height:auto!important;
    transition:opacity .58s cubic-bezier(.4,0,.2,1),visibility 0s!important
  }
  .page-home .hero .banner-media{
    position:relative!important;inset:auto!important;display:block!important;
    width:100%!important;height:var(--v59-mobile-image-height)!important;
    overflow:hidden!important;background:#eef2f4!important
  }
  .page-home .hero .banner-media img{
    width:100%!important;height:100%!important;object-fit:cover!important;
    object-position:var(--banner-mobile-x,50%) var(--banner-mobile-y,50%)!important;
    opacity:1!important;filter:none!important;-webkit-filter:none!important;
    transform:scale(var(--banner-mobile-zoom,1))!important;
    transform-origin:var(--banner-mobile-x,50%) var(--banner-mobile-y,50%)!important
  }
  .page-home .hero__slide:not(.active) .banner-media img{
    opacity:1!important;filter:none!important;-webkit-filter:none!important
  }
  .page-home .hero__slide .banner-media,
  .page-home .hero__slide .hero-image-pill,
  .page-home .hero__slide .hero-image-pill *,
  .page-home .hero__slide .hero__copy,
  .page-home .hero__slide .hero__copy>*{animation:none!important}
  .page-home .hero__veil,
  .page-home .hero__slide[data-overlay-direction="right"] .hero__veil{
    display:none!important;background:none!important;opacity:0!important
  }

  /* Compact engineering cue sits in its own translucent white pill near the
     bottom of the image, while all primary copy remains below the image. */
  .page-home .hero-image-pill{
    position:absolute!important;z-index:6!important;
    top:calc(var(--v59-mobile-image-height) - 79px)!important;left:50%!important;
    display:grid!important;width:clamp(284px,82vw,332px)!important;max-width:calc(100% - 28px)!important;min-height:52px!important;
    align-items:center!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;
    padding:6px 7px!important;color:#153b58!important;background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(207,222,230,.96)!important;border-radius:999px!important;
    box-shadow:0 7px 20px rgba(4,34,55,.13)!important;
    -webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;
    transform:translateX(-50%)!important
  }
  .page-home .hero-image-pill__item{
    position:relative!important;display:grid!important;min-width:0!important;align-items:center!important;
    grid-template-columns:18px minmax(0,1fr)!important;gap:5px!important;padding:0 7px!important
  }
  .page-home .hero-image-pill__item+.hero-image-pill__item::before{
    position:absolute!important;top:50%!important;left:0!important;width:1px!important;height:18px!important;
    background:#d5e0e6!important;content:""!important;transform:translateY(-50%)!important
  }
  .page-home .hero-image-pill__item>span{display:block!important;min-width:0!important;padding:0!important}
  .page-home .hero-image-pill .ui-icon{width:18px!important;height:18px!important;stroke-width:1.9!important}
  .page-home .hero-image-pill__item--precision .ui-icon{color:#286fbd!important}
  .page-home .hero-image-pill__item--clean .ui-icon{color:#126bd1!important}
  .page-home .hero-image-pill__item--sustainable .ui-icon{color:#08a58e!important}
  .page-home .hero-image-pill b{
    display:block!important;overflow:hidden!important;color:#123953!important;font-size:.53rem!important;
    font-weight:850!important;line-height:1.08!important;text-overflow:ellipsis!important;white-space:nowrap!important
  }
  .page-home .hero-image-pill small{
    display:block!important;overflow:hidden!important;margin-top:3px!important;color:#6c808d!important;
    font-size:.34rem!important;font-weight:650!important;line-height:1.05!important;text-overflow:ellipsis!important;white-space:nowrap!important
  }

  /* White information panel starts after the photograph. It is not an overlay,
     so the image remains fully visible and naturally coloured. */
  .page-home .hero__content,
  .page-home .hero__content.container{
    position:relative!important;inset:auto!important;
    display:block!important;width:100%!important;height:auto!important;
    margin:0!important;padding:0 10px!important;transform:none!important
  }
  .page-home .hero__copy,
  .page-home .hero__copy.hero__copy--tight{
    position:relative!important;display:block!important;width:100%!important;max-width:100%!important;
    min-height:300px!important;margin:0!important;padding:20px 18px 18px!important;overflow:visible!important;
    color:#092f50!important;background:#fff!important;border:1px solid #dfe8ed!important;
    border-radius:24px 24px 17px 17px!important;box-shadow:0 13px 34px rgba(5,38,62,.10)!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important
  }
  .page-home .hero__copy::before,
  .page-home .hero__copy::after{display:none!important;content:none!important}
  .page-home .hero__copy,.page-home .hero__copy *{direction:ltr!important;text-align:left!important}
  .page-home .hero__content .eyebrow{
    display:block!important;margin:0 0 8px!important;color:#0b4c9c!important;
    font-size:.62rem!important;font-weight:850!important;line-height:1.35!important;letter-spacing:.09em!important
  }
  .page-home .hero__content h1,
  .page-home .hero__content .hero-title,
  .page-home .hero__title{
    display:block!important;width:100%!important;max-width:100%!important;margin:0 0 9px!important;
    overflow:visible!important;color:#092f50!important;font-size:clamp(1.72rem,7.4vw,2rem)!important;
    font-weight:820!important;line-height:1.045!important;letter-spacing:-.038em!important;
    text-shadow:none!important;text-wrap:balance!important;-webkit-line-clamp:unset!important
  }
  .page-home .hero__title--long{font-size:clamp(1.55rem,6.65vw,1.8rem)!important;line-height:1.06!important}
  .page-home .hero__title--very-long{font-size:clamp(1.38rem,5.9vw,1.62rem)!important;line-height:1.085!important}
  .page-home .hero__content h1::after,
  .page-home .hero__content .hero-title::after{
    display:block!important;width:38px!important;height:3px!important;margin-top:8px!important;
    background:linear-gradient(90deg,#0799a7,#77aff0)!important;border-radius:999px!important;content:""!important
  }
  .page-home .hero__copy>p{
    display:block!important;width:100%!important;max-width:100%!important;margin:0 0 13px!important;
    overflow:visible!important;color:#526b7b!important;font-size:.75rem!important;line-height:1.48!important;
    text-shadow:none!important;-webkit-line-clamp:unset!important
  }
  .page-home .hero__actions{
    display:grid!important;width:100%!important;max-width:none!important;
    grid-template-columns:1fr 1fr!important;gap:8px!important
  }
  .page-home .hero__actions .button{
    width:100%!important;min-width:0!important;min-height:43px!important;padding:8px 9px!important;
    justify-content:center!important;font-size:.58rem!important;font-weight:820!important;
    text-align:center!important;border-radius:10px!important;white-space:nowrap!important
  }
  .page-home .hero__actions .button--primary{
    color:#fff!important;background:linear-gradient(135deg,#286fbd,#3b82cb)!important;
    border-color:#286fbd!important;box-shadow:0 8px 18px rgba(5,153,178,.19)!important
  }
  .page-home .hero__actions .button--outline{
    color:#123d65!important;background:#fff!important;border-color:#315d83!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important
  }

  /* Existing three strengths are retained as calm chips at the bottom of the
     white panel, matching the reference without changing the V58 sections. */
  .page-home .hero-benefits{
    display:grid!important;width:100%!important;max-width:none!important;margin:12px 0 0!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important
  }
  .page-home .hero-benefits>div{
    display:grid!important;min-width:0!important;min-height:40px!important;align-items:center!important;
    justify-content:center!important;padding:6px 7px!important;grid-template-columns:18px auto!important;gap:5px!important;
    background:#f1f7fa!important;border:1px solid #e4edf1!important;border-radius:999px!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important
  }
  .page-home .hero-benefits>div:nth-child(3){display:grid!important}
  .page-home .hero-benefits>div>span{display:grid!important;width:18px!important;height:18px!important;place-items:center!important;color:#0b4c9c!important}
  .page-home .hero-benefits .ui-icon{width:15px!important;height:15px!important}
  .page-home .hero-benefits p{display:block!important;width:auto!important;min-width:0!important;margin:0!important}
  .page-home .hero-benefits strong{
    display:block!important;overflow:visible!important;color:#153d5a!important;font-size:.54rem!important;
    font-weight:800!important;line-height:1.18!important;text-overflow:clip!important;white-space:normal!important
  }
  .page-home .hero-benefit-full{display:none!important}
  .page-home .hero-benefit-short{display:block!important;white-space:nowrap!important}
  .page-home .hero-benefits small{display:none!important}

  .page-home .hero__dots{
    z-index:7!important;top:calc(var(--v59-mobile-image-height) - 12px)!important;
    right:auto!important;bottom:auto!important;left:50%!important;display:flex!important;
    width:auto!important;padding:0!important;gap:7px!important;background:transparent!important;
    border:0!important;box-shadow:none!important;transform:translateX(-50%)!important
  }
  .page-home .hero__dots button{
    width:19px!important;height:4px!important;flex:0 0 19px!important;
    background:rgba(255,255,255,.72)!important;border-radius:999px!important;box-shadow:0 1px 3px rgba(0,25,42,.18)!important
  }
  .page-home .hero__dots button.active{width:32px!important;flex-basis:32px!important;background:#77aff0!important}

  /* Chat registration remains phone-safe; no homepage section below the hero
     is reordered or restyled here, so V58 controls the rest of the page. */
  .espro-chat__panel{inset:74px 7px 7px!important;border-radius:18px!important}
  .espro-chat__lead{padding:18px 16px 16px!important}
  .chat-lead__heading{margin-bottom:14px!important}
  .chat-lead__heading strong{font-size:1rem!important}
  .chat-lead__heading p{font-size:.7rem!important}
}

@media(min-width:390px) and (max-width:680px){
  .chat-lead__grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .chat-lead__grid label.wide{grid-column:1/-1!important}
}

@media(max-width:389px){
  .page-home .hero{
    --v59-mobile-image-height:276px
  }
  .page-home .hero__copy,.page-home .hero__copy.hero__copy--tight{padding:18px 14px 16px!important}
  .page-home .hero__content h1,.page-home .hero__content .hero-title,.page-home .hero__title{font-size:1.62rem!important}
  .page-home .hero__title--long{font-size:1.46rem!important}
  .page-home .hero__title--very-long{font-size:1.32rem!important}
  .page-home .hero__actions{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .page-home .hero__actions .button{padding:7px 5px!important;font-size:.52rem!important}
  .page-home .hero-benefits{gap:4px!important}
  .page-home .hero-benefits>div{justify-content:center!important;padding:5px!important;grid-template-columns:15px auto!important;gap:4px!important}
  .page-home .hero-benefits>div>span{width:15px!important;height:15px!important}
  .page-home .hero-benefits .ui-icon{width:13px!important;height:13px!important}
  .page-home .hero-benefits strong{font-size:.5rem!important}
  .page-home .hero-image-pill{
    top:calc(var(--v59-mobile-image-height) - 76px)!important;
    width:clamp(284px,84vw,316px)!important;max-width:calc(100% - 24px)!important;min-height:49px!important;padding:5px 6px!important
  }
  .page-home .hero-image-pill__item{grid-template-columns:16px minmax(0,1fr)!important;gap:4px!important;padding:0 4px!important}
  .page-home .hero-image-pill .ui-icon{width:16px!important;height:16px!important}
  .page-home .hero-image-pill b{font-size:.49rem!important}
  .page-home .hero-image-pill small{margin-top:2px!important;font-size:.31rem!important}
}

@media(max-width:340px){
  .page-home .hero__actions{grid-template-columns:1fr!important}
  .page-home .hero-benefits{grid-template-columns:1fr!important}
  .page-home .hero-benefits strong{font-size:.55rem!important}
}

 /* ========================================================================== 
   ES-PRO V59.3 — flash-free page paint and restrained mobile motion
   ========================================================================== */
@media(max-width:820px) and (prefers-reduced-motion:no-preference){
  /* Scroll reveals use a small focus/scale shift, with stagger only where the
     cards belong to one visual group. This keeps motion rich but controlled. */
  .js .page-home .reveal{
    opacity:0!important;filter:blur(3px);
    transform:translate3d(0,24px,0) scale(.975)!important;
    transition:opacity .72s cubic-bezier(.2,.72,.2,1),
      transform .72s cubic-bezier(.16,1,.3,1),filter .58s ease!important
  }
  .js .page-home .reveal.visible{
    opacity:1!important;filter:blur(0);transform:translate3d(0,0,0) scale(1)!important
  }
  .page-home .service-grid .reveal:nth-child(2n),
  .page-home .product-rail .reveal:nth-child(2n),
  .page-home .industry-showcase-grid .reveal:nth-child(2n){transition-delay:.07s!important}
  .page-home .service-grid .reveal:nth-child(3n),
  .page-home .product-rail .reveal:nth-child(3n),
  .page-home .industry-showcase-grid .reveal:nth-child(3n){transition-delay:.13s!important}

  .page-home .trust-strip.reveal .trust-strip__item{opacity:0;transform:translate3d(0,18px,0) scale(.9)}
  .page-home .trust-strip.reveal.visible .trust-strip__item{
    animation:v592-card-assemble .58s cubic-bezier(.16,1,.3,1) both
  }
  .page-home .trust-strip.reveal.visible .trust-strip__item:nth-child(1){animation-delay:.05s}
  .page-home .trust-strip.reveal.visible .trust-strip__item:nth-child(2){animation-delay:.11s}
  .page-home .trust-strip.reveal.visible .trust-strip__item:nth-child(3){animation-delay:.17s}
  .page-home .trust-strip.reveal.visible .trust-strip__item:nth-child(4){animation-delay:.23s}
  .page-home .trust-strip.reveal.visible .trust-strip__item:nth-child(5){animation-delay:.29s}

  .page-home .hero__actions .button,
  .page-home .trust-strip__item,
  .page-home .service-card,
  .page-home .product-mini,
  .page-home .industry-showcase-card{
    transition:transform .24s cubic-bezier(.16,1,.3,1),box-shadow .24s ease!important
  }
  .page-home .hero__actions .button:active,
  .page-home .service-card:active,
  .page-home .product-mini:active,
  .page-home .industry-showcase-card:active{transform:scale(.975)!important}
}

@keyframes v592-card-assemble{
  0%{opacity:0;transform:translate3d(0,18px,0) scale(.9)}
  70%{opacity:1;transform:translate3d(0,-2px,0) scale(1.012)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}

@media(max-width:820px) and (prefers-reduced-motion:reduce){
  .page-home .trust-strip.reveal.visible .trust-strip__item{animation:none!important}
  .js .page-home .reveal,
  .js .page-home .reveal.visible,
  .page-home .trust-strip.reveal .trust-strip__item{
    opacity:1!important;filter:none!important;transform:none!important;transition:none!important
  }
}

/* ========================================================================== 
   ES-PRO V59.6 — compact mobile signature and footer certification trust mark
   ========================================================================== */
.hero-signature,
.footer-certifications--mobile{display:none}

.footer-certifications{
  box-sizing:border-box;
  color:#173d58;
  background:linear-gradient(145deg,#fff 0%,#f1f8fa 100%);
  border:1px solid rgba(127,196,205,.38);
  box-shadow:0 10px 26px rgba(1,24,42,.16)
}
.footer-certifications--desktop{
  display:grid;
  width:min(100%,245px);
  min-height:76px;
  margin-top:18px;
  padding:8px 12px;
  align-items:center;
  grid-template-columns:51px minmax(0,1fr);
  gap:11px;
  border-radius:12px
}
.footer-certifications img{
  display:block;
  width:100%;
  height:58px;
  object-fit:contain;
  object-position:center
}
.footer-certifications span,
.footer-certifications strong,
.footer-certifications small{display:block;min-width:0}
.footer-certifications strong{
  color:#0b3858;
  font-size:.67rem;
  font-weight:850;
  line-height:1.25
}
.footer-certifications small{
  margin-top:5px;
  color:#527081;
  font-size:.5rem;
  font-weight:720;
  line-height:1.35;
  letter-spacing:.035em
}

@media(max-width:820px){
  /* Slim branded sentence: it leaves the machinery visible and stays clear of
     the slider dots and the copy panel below. */
  .page-home .hero-signature{
    position:absolute!important;
    z-index:6!important;
    top:calc(var(--v59-mobile-image-height) - 62px)!important;
    left:50%!important;
    display:flex!important;
    width:clamp(286px,82vw,324px)!important;
    max-width:calc(100% - 30px)!important;
    min-height:40px!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    padding:6px 10px!important;
    overflow:hidden!important;
    color:#264b62!important;
    background:linear-gradient(100deg,rgba(255,255,255,.97),rgba(245,251,252,.95))!important;
    border:1px solid rgba(206,225,231,.96)!important;
    border-radius:999px!important;
    box-shadow:0 7px 18px rgba(3,32,52,.13)!important;
    -webkit-backdrop-filter:blur(7px)!important;
    backdrop-filter:blur(7px)!important;
    transform:translateX(-50%)!important;
    white-space:nowrap!important
  }
  .page-home .hero-signature span{
    flex:0 0 auto!important;
    color:#35566a!important;
    font-size:.43rem!important;
    font-style:italic!important;
    font-weight:680!important;
    line-height:1!important;
    letter-spacing:-.018em!important
  }
  .page-home .hero-signature strong{
    position:relative!important;
    flex:0 0 auto!important;
    margin:0 1px!important;
    font-style:normal!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:-.055em!important
  }
  .page-home .hero-signature__e{
    color:#0878c8!important;
    font-size:1.04rem!important
  }
  .page-home .hero-signature__s{
    color:#079978!important;
    font-size:1.04rem!important
  }
  .page-home .hero-signature__pro{
    color:#0868c7!important;
    font-size:.83rem!important;
    letter-spacing:-.065em!important
  }
  .page-home .hero__slide .hero-signature,
  .page-home .hero__slide .hero-signature *{animation:none!important}

  .footer-certifications--desktop{display:none!important}
  .footer-certifications--mobile{
    display:grid!important;
    width:100%!important;
    min-height:64px!important;
    margin:12px 0 14px!important;
    padding:7px 12px!important;
    align-items:center!important;
    grid-template-columns:44px minmax(0,1fr) auto!important;
    gap:11px!important;
    border-radius:11px!important;
    box-shadow:0 8px 22px rgba(0,24,43,.13)!important
  }
  .footer-certifications--mobile::after{
    display:grid!important;
    width:26px!important;
    height:26px!important;
    place-items:center!important;
    color:#10b6bc!important;
    background:#e9f8f8!important;
    border:1px solid #c6eaeb!important;
    border-radius:999px!important;
    content:"✓"!important;
    font-size:.72rem!important;
    font-weight:900!important
  }
  .footer-certifications--mobile img{height:50px!important}
  .footer-certifications--mobile strong{font-size:.63rem!important}
  .footer-certifications--mobile small{font-size:.46rem!important}
}

@media(max-width:389px){
  .page-home .hero-signature{
    top:calc(var(--v59-mobile-image-height) - 59px)!important;
    width:clamp(276px,86vw,304px)!important;
    max-width:calc(100% - 24px)!important;
    min-height:38px!important;
    padding-inline:8px!important
  }
  .page-home .hero-signature span{font-size:.39rem!important}
  .page-home .hero-signature__e,
  .page-home .hero-signature__s{font-size:.93rem!important}
  .page-home .hero-signature__pro{font-size:.74rem!important}
}

@media(max-width:340px){
  .page-home .hero-signature{width:calc(100% - 20px)!important;padding-inline:6px!important}
  .page-home .hero-signature span{font-size:.36rem!important}
  .page-home .hero-signature__e,
  .page-home .hero-signature__s{font-size:.87rem!important}
  .page-home .hero-signature__pro{font-size:.69rem!important}
}

@media(min-width:821px) and (max-width:1180px){
  .footer-certifications--desktop{width:220px;grid-template-columns:46px minmax(0,1fr);padding-inline:10px}
  .footer-certifications--desktop img{height:54px}
  .footer-certifications--desktop strong{font-size:.62rem}
  .footer-certifications--desktop small{font-size:.46rem}
}

/* ========================================================================== 
   ES-PRO V59.7 — portrait certification seal and technical E–S–PRO plaque
   ========================================================================== */
.footer-certifications{
  position:relative;
  overflow:hidden;
  background:linear-gradient(150deg,#176bd1 0%,#06458f 100%);
  border:1px solid rgba(255,255,255,.48);
  box-shadow:0 13px 28px rgba(0,18,35,.24)
}
.footer-certifications::before{
  position:absolute;
  inset:5px;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.7);
  border-radius:6px;
  content:""
}
.footer-certifications--desktop{
  display:block;
  width:112px;
  min-height:0;
  margin-top:19px;
  padding:8px;
  border-radius:10px
}
.footer-certifications--desktop img{
  position:relative;
  z-index:1;
  width:100%;
  height:auto;
  aspect-ratio:233/273;
  object-fit:contain;
  background:#fff;
  border-radius:3px
}

@media(max-width:820px){
  .footer-mobile__trust{
    display:grid!important;
    margin:14px 0 16px!important;
    align-items:center!important;
    grid-template-columns:94px minmax(0,1fr)!important;
    gap:15px!important
  }
  .footer-mobile__trust .footer-mobile__intro{
    margin:0!important;
    color:#d7e5ed!important;
    font-size:.68rem!important;
    line-height:1.62!important
  }
  .footer-certifications--mobile{
    display:block!important;
    width:94px!important;
    min-height:0!important;
    margin:0!important;
    padding:7px!important;
    border-radius:9px!important;
    box-shadow:0 10px 23px rgba(0,17,34,.23)!important
  }
  .footer-certifications--mobile::before{
    display:block!important;
    width:auto!important;
    height:auto!important;
    inset:4px!important;
    background:none!important;
    border:1px solid rgba(255,255,255,.7)!important;
    border-radius:5px!important;
    content:""!important
  }
  .footer-certifications--mobile::after{display:none!important;content:none!important}
  .footer-certifications--mobile img{
    position:relative!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:233/273!important;
    object-fit:contain!important;
    background:#fff!important;
    border-radius:2px!important
  }

  /* Reference-led engineering plaque: sharply cut corners, thin blue drawing
     lines and strong E / S / PRO typography without turning into a large card. */
  .page-home .hero-signature{
    top:calc(var(--v59-mobile-image-height) - 78px)!important;
    width:clamp(304px,87vw,346px)!important;
    max-width:calc(100% - 24px)!important;
    min-height:48px!important;
    gap:1px!important;
    padding:7px 15px 7px!important;
    overflow:hidden!important;
    color:#111b26!important;
    background:
      linear-gradient(#1265ce,#1265ce) 12px 7px/24px 2px no-repeat,
      linear-gradient(#1265ce,#1265ce) calc(100% - 36px) calc(100% - 8px)/24px 2px no-repeat,
      linear-gradient(110deg,#fff 0%,#f7faff 52%,#fff 100%)!important;
    border:2px solid #1766c5!important;
    border-radius:0!important;
    box-shadow:none!important;
    -webkit-clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%)!important;
    clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:drop-shadow(0 7px 8px rgba(2,29,50,.22))!important
  }
  .page-home .hero-signature::before,
  .page-home .hero-signature::after{
    position:absolute!important;
    top:7px!important;
    bottom:7px!important;
    width:2px!important;
    background:#0c5fc7!important;
    content:""!important;
    opacity:.9!important
  }
  .page-home .hero-signature::before{left:10px!important;transform:skewX(-20deg)!important}
  .page-home .hero-signature::after{right:10px!important;transform:skewX(20deg)!important}
  .page-home .hero-signature span,
  .page-home .hero-signature strong{position:relative!important;z-index:1!important}
  .page-home .hero-signature span{
    color:#17212c!important;
    font-size:.47rem!important;
    font-style:normal!important;
    font-weight:690!important;
    letter-spacing:-.025em!important
  }
  .page-home .hero-signature strong{
    margin:0 1px!important;
    color:#075dcc!important;
    text-shadow:0 2px 3px rgba(7,76,164,.16)!important
  }
  .page-home .hero-signature__e,
  .page-home .hero-signature__s{font-size:1.38rem!important}
  .page-home .hero-signature__pro{font-size:1.08rem!important;letter-spacing:-.07em!important}
}

@media(max-width:389px){
  .footer-mobile__trust{grid-template-columns:86px minmax(0,1fr)!important;gap:12px!important}
  .footer-certifications--mobile{width:86px!important;padding:6px!important}
  .footer-mobile__trust .footer-mobile__intro{font-size:.63rem!important;line-height:1.58!important}
  .page-home .hero-signature{
    top:calc(var(--v59-mobile-image-height) - 72px)!important;
    width:calc(100% - 22px)!important;
    min-height:44px!important;
    padding-inline:13px!important
  }
  .page-home .hero-signature span{font-size:.4rem!important}
  .page-home .hero-signature__e,
  .page-home .hero-signature__s{font-size:1.18rem!important}
  .page-home .hero-signature__pro{font-size:.93rem!important}
}

@media(max-width:340px){
  .footer-mobile__trust{grid-template-columns:78px minmax(0,1fr)!important;gap:10px!important}
  .footer-certifications--mobile{width:78px!important}
  .footer-mobile__trust .footer-mobile__intro{font-size:.58rem!important}
  .page-home .hero-signature{width:calc(100% - 18px)!important;padding-inline:11px!important}
  .page-home .hero-signature span{font-size:.36rem!important}
  .page-home .hero-signature__e,
  .page-home .hero-signature__s{font-size:1.08rem!important}
  .page-home .hero-signature__pro{font-size:.86rem!important}
}

/* ========================================================================== 
   ES-PRO V59.8 — restored V59.5 value pill and borderless certification seal
   ========================================================================== */
.footer-certifications{
  overflow:visible!important;
  color:#173d58!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important
}
.footer-certifications::before,
.footer-certifications::after{display:none!important;content:none!important}
.footer-certifications--desktop{
  display:block!important;
  width:118px!important;
  min-height:0!important;
  margin:22px 0 0!important;
  padding:0!important;
  border-radius:0!important
}
.footer-certifications--desktop img{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:108px!important;
  height:auto!important;
  aspect-ratio:233/273!important;
  padding:7px!important;
  object-fit:contain!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:9px!important;
  box-shadow:0 10px 24px rgba(0,14,29,.22)!important
}
.footer-certifications--desktop span{
  display:block!important;
  width:108px!important;
  margin-top:7px!important;
  text-align:center!important
}
.footer-certifications--desktop strong{
  color:#edf8fb!important;
  font-size:.58rem!important;
  font-weight:800!important;
  line-height:1.25!important
}
.footer-certifications--desktop small{
  margin-top:3px!important;
  color:#91afbf!important;
  font-size:.43rem!important;
  font-weight:650!important;
  line-height:1.35!important;
  letter-spacing:.025em!important
}

@media(max-width:820px){
  /* The V59.5 rounded white control returns, with one compact brand line over
     the three values. It remains inside the photo without obscuring machinery. */
  .page-home .hero-image-pill{
    top:calc(var(--v59-mobile-image-height) - 101px)!important;
    display:grid!important;
    width:clamp(306px,88vw,344px)!important;
    max-width:calc(100% - 24px)!important;
    min-height:80px!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    gap:4px!important;
    padding:7px 10px 8px!important;
    color:#153b58!important;
    background:rgba(255,255,255,.97)!important;
    border:1px solid rgba(213,226,232,.98)!important;
    border-radius:20px!important;
    box-shadow:0 8px 22px rgba(2,31,51,.14)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    backdrop-filter:blur(8px)!important;
    transform:translateX(-50%)!important
  }
  .page-home .hero-image-pill__signature{
    display:flex!important;
    min-width:0!important;
    min-height:20px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    padding:0 3px 5px!important;
    overflow:hidden!important;
    border-bottom:1px solid #e3ecef!important;
    white-space:nowrap!important
  }
  .page-home .hero-image-pill__signature span{
    flex:0 0 auto!important;
    color:#345469!important;
    font-size:.42rem!important;
    font-weight:710!important;
    line-height:1!important;
    letter-spacing:-.022em!important
  }
  .page-home .hero-image-pill__signature strong{
    flex:0 0 auto!important;
    margin:0 1px!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:-.055em!important
  }
  .page-home .hero-image-pill__e{
    color:#0878c8!important;
    font-size:.75rem!important
  }
  .page-home .hero-image-pill__s{
    color:#079978!important;
    font-size:.75rem!important
  }
  .page-home .hero-image-pill__pro{
    color:#0868c7!important;
    font-size:.67rem!important;
    letter-spacing:-.065em!important
  }
  .page-home .hero-image-pill__values{
    display:grid!important;
    min-width:0!important;
    align-items:center!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important
  }
  .page-home .hero-image-pill__values .hero-image-pill__item{
    grid-template-columns:16px minmax(0,1fr)!important;
    gap:5px!important;
    padding:0 7px!important
  }
  .page-home .hero-image-pill__values .hero-image-pill__item+.hero-image-pill__item::before{
    height:22px!important;
    background:#dbe5e9!important
  }
  .page-home .hero-image-pill__values .ui-icon{
    width:16px!important;
    height:16px!important
  }
  .page-home .hero-image-pill__values b{font-size:.5rem!important}
  .page-home .hero-image-pill__values small{
    margin-top:2px!important;
    font-size:.31rem!important
  }

  .footer-mobile>.footer-mobile__intro{
    margin:12px 0 14px!important;
    color:#d7e5ed!important;
    font-size:.68rem!important;
    line-height:1.58!important
  }
  .footer-certifications--desktop{display:none!important}
  /* Portrait format prevents the certificate becoming another long footer bar. */
  .footer-certifications--mobile{
    display:block!important;
    width:112px!important;
    min-height:0!important;
    margin:15px auto 18px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important
  }
  .footer-certifications--mobile img{
    position:relative!important;
    z-index:1!important;
    display:block!important;
    width:96px!important;
    height:auto!important;
    aspect-ratio:233/273!important;
    margin:0 auto!important;
    padding:6px!important;
    object-fit:contain!important;
    background:#fff!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:8px!important;
    box-shadow:0 9px 22px rgba(0,15,30,.2)!important
  }
  .footer-certifications--mobile span{
    display:block!important;
    margin-top:7px!important;
    text-align:center!important
  }
  .footer-certifications--mobile strong{
    color:#edf8fb!important;
    font-size:.57rem!important;
    font-weight:800!important;
    line-height:1.25!important
  }
  .footer-certifications--mobile small{
    margin-top:3px!important;
    color:#8facbc!important;
    font-size:.42rem!important;
    font-weight:650!important;
    line-height:1.35!important;
    letter-spacing:.02em!important
  }
}

@media(max-width:389px){
  .page-home .hero-image-pill{
    top:calc(var(--v59-mobile-image-height) - 96px)!important;
    width:calc(100% - 22px)!important;
    min-height:75px!important;
    padding:6px 8px 7px!important;
    border-radius:18px!important
  }
  .page-home .hero-image-pill__signature span{font-size:.38rem!important}
  .page-home .hero-image-pill__e,
  .page-home .hero-image-pill__s{font-size:.69rem!important}
  .page-home .hero-image-pill__pro{font-size:.61rem!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{
    grid-template-columns:15px minmax(0,1fr)!important;
    gap:4px!important;
    padding:0 5px!important
  }
  .page-home .hero-image-pill__values .ui-icon{width:15px!important;height:15px!important}
  .page-home .hero-image-pill__values b{font-size:.47rem!important}
  .page-home .hero-image-pill__values small{font-size:.28rem!important}
}

@media(max-width:340px){
  .page-home .hero-image-pill{width:calc(100% - 18px)!important;padding-inline:6px!important}
  .page-home .hero-image-pill__signature span{font-size:.35rem!important}
  .page-home .hero-image-pill__e,
  .page-home .hero-image-pill__s{font-size:.64rem!important}
  .page-home .hero-image-pill__pro{font-size:.56rem!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{padding-inline:4px!important}
  .page-home .hero-image-pill__values small{font-size:.26rem!important}
}

/* ========================================================================== 
   ES-PRO V59.9 — original-size dual-row hero pill and certification feature
   ========================================================================== */
.footer-certifications__copy,
.footer-certifications__copy strong,
.footer-certifications__copy small,
.footer-certifications__copy i,
.footer-certifications__copy p{display:block;min-width:0}
.footer-certifications--desktop{
  display:grid!important;
  width:100%!important;
  max-width:218px!important;
  min-height:92px!important;
  margin:17px 0 0!important;
  padding:9px 10px!important;
  align-items:center!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  gap:10px!important;
  background:rgba(7,49,77,.74)!important;
  border:1px solid rgba(28,195,199,.58)!important;
  border-radius:13px!important;
  box-shadow:0 10px 24px rgba(0,15,30,.16)!important
}
.footer-certifications--desktop img{
  width:58px!important;
  height:auto!important;
  aspect-ratio:233/273!important;
  padding:4px!important;
  object-fit:contain!important;
  background:#fff!important;
  border:0!important;
  border-radius:6px!important;
  box-shadow:0 7px 16px rgba(0,12,25,.2)!important
}
.footer-certifications--desktop .footer-certifications__copy{
  width:auto!important;
  margin:0!important;
  text-align:left!important
}
.footer-certifications--desktop strong{
  color:#fff!important;
  font-size:.55rem!important;
  font-weight:850!important;
  line-height:1.22!important
}
.footer-certifications--desktop small{
  margin-top:3px!important;
  color:#c3dce6!important;
  font-size:.4rem!important;
  font-weight:680!important;
  line-height:1.3!important;
  letter-spacing:.01em!important
}
.footer-certifications__copy i{
  width:27px;
  height:2px;
  margin:6px 0;
  background:#17bdc4;
  border-radius:999px
}
.footer-certifications--desktop p{
  margin:0!important;
  color:#adc8d5!important;
  font-size:.39rem!important;
  line-height:1.42!important
}

@media(max-width:820px){
  /* Keep the exact compact footprint of the original V59.5 pill. The brand
     sentence uses the existing upper breathing room; the values move down. */
  .page-home .hero-image-pill{
    top:calc(var(--v59-mobile-image-height) - 79px)!important;
    width:clamp(284px,82vw,332px)!important;
    max-width:calc(100% - 28px)!important;
    min-height:52px!important;
    max-height:52px!important;
    grid-template-rows:14px 30px!important;
    gap:0!important;
    padding:3px 7px!important;
    border-radius:999px!important;
    box-shadow:0 7px 20px rgba(4,34,55,.13)!important
  }
  .page-home .hero-image-pill__signature{
    min-height:14px!important;
    height:14px!important;
    gap:0!important;
    padding:0 3px 2px!important;
    border-bottom:1px solid #e3ecef!important
  }
  .page-home .hero-image-pill__signature span{
    font-size:.34rem!important;
    font-weight:720!important;
    letter-spacing:-.032em!important
  }
  .page-home .hero-image-pill__signature strong{margin:0 1px!important}
  .page-home .hero-image-pill__e,
  .page-home .hero-image-pill__s{font-size:.55rem!important}
  .page-home .hero-image-pill__pro{font-size:.5rem!important}
  .page-home .hero-image-pill__values{height:30px!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{
    height:27px!important;
    grid-template-columns:15px minmax(0,1fr)!important;
    gap:4px!important;
    padding:2px 7px 0!important
  }
  .page-home .hero-image-pill__values .hero-image-pill__item+.hero-image-pill__item::before{height:20px!important}
  .page-home .hero-image-pill__values .ui-icon{width:15px!important;height:15px!important}
  .page-home .hero-image-pill__values b{font-size:.47rem!important}
  .page-home .hero-image-pill__values small{margin-top:1px!important;font-size:.27rem!important}

  .footer-certifications--desktop{display:none!important}
  .footer-certifications--mobile{
    display:grid!important;
    width:100%!important;
    min-height:144px!important;
    margin:18px 0 21px!important;
    padding:13px 15px!important;
    align-items:center!important;
    grid-template-columns:96px minmax(0,1fr)!important;
    gap:18px!important;
    background:linear-gradient(145deg,rgba(5,48,76,.9),rgba(5,42,69,.7))!important;
    border:1px solid rgba(24,200,202,.86)!important;
    border-radius:18px!important;
    box-shadow:0 12px 27px rgba(0,18,34,.19)!important
  }
  .footer-certifications--mobile img{
    width:96px!important;
    height:auto!important;
    aspect-ratio:233/273!important;
    margin:0!important;
    padding:7px!important;
    object-fit:contain!important;
    background:#fff!important;
    border:0!important;
    border-radius:7px!important;
    box-shadow:0 9px 20px rgba(0,14,28,.22)!important
  }
  .footer-certifications--mobile .footer-certifications__copy{
    margin:0!important;
    text-align:left!important
  }
  .footer-certifications--mobile strong{
    color:#fff!important;
    font-size:.78rem!important;
    font-weight:850!important;
    line-height:1.24!important
  }
  .footer-certifications--mobile small{
    margin-top:4px!important;
    color:#d3e6ed!important;
    font-size:.56rem!important;
    font-weight:680!important;
    line-height:1.35!important;
    letter-spacing:.012em!important
  }
  .footer-certifications--mobile .footer-certifications__copy i{
    width:31px!important;
    height:2px!important;
    margin:10px 0!important
  }
  .footer-certifications--mobile p{
    margin:0!important;
    color:#bed2dc!important;
    font-size:.59rem!important;
    line-height:1.55!important
  }
}

@media(max-width:389px){
  .page-home .hero-image-pill{
    top:calc(var(--v59-mobile-image-height) - 76px)!important;
    width:clamp(284px,84vw,316px)!important;
    max-width:calc(100% - 24px)!important;
    min-height:50px!important;
    max-height:50px!important;
    grid-template-rows:13px 29px!important;
    padding:3px 6px!important
  }
  .page-home .hero-image-pill__signature{min-height:13px!important;height:13px!important;padding-bottom:1px!important}
  .page-home .hero-image-pill__signature span{font-size:.31rem!important}
  .page-home .hero-image-pill__e,
  .page-home .hero-image-pill__s{font-size:.5rem!important}
  .page-home .hero-image-pill__pro{font-size:.45rem!important}
  .page-home .hero-image-pill__values{height:29px!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{
    height:26px!important;
    grid-template-columns:14px minmax(0,1fr)!important;
    gap:3px!important;
    padding:2px 5px 0!important
  }
  .page-home .hero-image-pill__values .ui-icon{width:14px!important;height:14px!important}
  .page-home .hero-image-pill__values b{font-size:.44rem!important}
  .page-home .hero-image-pill__values small{font-size:.25rem!important}

  .footer-certifications--mobile{
    min-height:132px!important;
    padding:12px!important;
    grid-template-columns:84px minmax(0,1fr)!important;
    gap:13px!important;
    border-radius:16px!important
  }
  .footer-certifications--mobile img{width:84px!important;padding:6px!important}
  .footer-certifications--mobile strong{font-size:.7rem!important}
  .footer-certifications--mobile small{font-size:.5rem!important}
  .footer-certifications--mobile .footer-certifications__copy i{margin:8px 0!important}
  .footer-certifications--mobile p{font-size:.53rem!important;line-height:1.5!important}
}

@media(max-width:340px){
  .page-home .hero-image-pill{width:calc(100% - 20px)!important;padding-inline:5px!important}
  .page-home .hero-image-pill__signature span{font-size:.29rem!important}
  .page-home .hero-image-pill__e,
  .page-home .hero-image-pill__s{font-size:.47rem!important}
  .page-home .hero-image-pill__pro{font-size:.42rem!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{padding-inline:4px!important}
  .footer-certifications--mobile{grid-template-columns:78px minmax(0,1fr)!important;gap:11px!important}
  .footer-certifications--mobile img{width:78px!important}
  .footer-certifications--mobile p{font-size:.49rem!important}
}

/* ========================================================================== 
   ES-PRO V59.10 — open-image brand signature and single-row value capsule
   ========================================================================== */
.hero-image-brandline{display:none}

@media(max-width:820px){
  .page-home .hero-image-brandline{
    position:absolute!important;
    z-index:6!important;
    top:13px!important;
    left:18px!important;
    display:grid!important;
    width:max-content!important;
    max-width:calc(100% - 36px)!important;
    gap:0!important;
    color:#fff!important;
    filter:drop-shadow(0 2px 3px rgba(0,28,47,.72))!important;
    pointer-events:none!important
  }
  .page-home .hero-image-brandline__row{
    display:flex!important;
    height:20px!important;
    align-items:center!important;
    gap:2px!important;
    white-space:nowrap!important
  }
  .page-home .hero-image-brandline__row span{
    color:#fff!important;
    font-size:.6rem!important;
    font-weight:680!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
    text-shadow:0 1px 3px rgba(0,27,45,.86)!important
  }
  .page-home .hero-image-brandline strong{
    display:inline-block!important;
    margin:0 0 0 1px!important;
    color:#26ced2!important;
    font-size:1rem!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:-.065em!important;
    text-shadow:0 2px 3px rgba(0,42,63,.72)!important
  }
  .page-home .hero-image-brandline__e{color:#38cfe1!important}
  .page-home .hero-image-brandline__s{color:#38c7c7!important}
  .page-home .hero-image-brandline__pro{
    margin-left:2px!important;
    color:#14c4cc!important;
    font-size:.95rem!important
  }

  .page-home .hero-image-pill{
    top:calc(var(--v59-mobile-image-height) - 86px)!important;
    display:block!important;
    width:calc(100% - 20px)!important;
    max-width:390px!important;
    min-height:58px!important;
    max-height:58px!important;
    padding:7px 8px!important;
    background:rgba(255,255,255,.97)!important;
    border:1px solid rgba(225,233,237,.98)!important;
    border-radius:22px!important;
    box-shadow:0 8px 23px rgba(2,31,51,.16)!important;
    -webkit-backdrop-filter:blur(7px)!important;
    backdrop-filter:blur(7px)!important
  }
  .page-home .hero-image-pill__values{
    display:grid!important;
    width:100%!important;
    height:42px!important;
    align-items:center!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important
  }
  .page-home .hero-image-pill__values .hero-image-pill__item{
    height:40px!important;
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:6px!important;
    padding:0 8px!important
  }
  .page-home .hero-image-pill__values .hero-image-pill__item+.hero-image-pill__item::before{
    height:35px!important;
    background:#d6e0e5!important
  }
  .page-home .hero-image-pill__values .ui-icon{
    width:30px!important;
    height:30px!important;
    padding:6px!important;
    border-radius:999px!important;
    stroke-width:2.2!important
  }
  .page-home .hero-image-pill__item--precision .ui-icon{
    color:#0759a5!important;
    background:#edf3fb!important
  }
  .page-home .hero-image-pill__item--clean .ui-icon{
    color:#0754a7!important;
    background:#f0f4fb!important
  }
  .page-home .hero-image-pill__item--sustainable .ui-icon{
    color:#079b67!important;
    background:#edf8f3!important
  }
  .page-home .hero-image-pill__values b{
    color:#07539c!important;
    font-size:.56rem!important;
    font-weight:900!important;
    line-height:1.05!important;
    letter-spacing:.015em!important;
    text-transform:uppercase!important
  }
  .page-home .hero-image-pill__item--sustainable b{color:#078b5d!important}
  .page-home .hero-image-pill__values small{
    margin-top:4px!important;
    color:#344d5e!important;
    font-size:.33rem!important;
    font-weight:650!important;
    line-height:1!important
  }
}

@media(max-width:389px){
  .page-home .hero-image-brandline{top:12px!important;left:15px!important;max-width:calc(100% - 30px)!important}
  .page-home .hero-image-brandline__row{height:18px!important}
  .page-home .hero-image-brandline__row span{font-size:.55rem!important}
  .page-home .hero-image-brandline strong{font-size:.92rem!important}
  .page-home .hero-image-brandline__pro{font-size:.88rem!important}
  .page-home .hero-image-pill{
    top:calc(var(--v59-mobile-image-height) - 82px)!important;
    width:calc(100% - 18px)!important;
    min-height:56px!important;
    max-height:56px!important;
    padding:6px!important;
    border-radius:20px!important
  }
  .page-home .hero-image-pill__values{height:42px!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{
    height:40px!important;
    grid-template-columns:28px minmax(0,1fr)!important;
    gap:5px!important;
    padding:0 6px!important
  }
  .page-home .hero-image-pill__values .ui-icon{width:28px!important;height:28px!important;padding:6px!important}
  .page-home .hero-image-pill__values b{font-size:.52rem!important}
  .page-home .hero-image-pill__values small{font-size:.3rem!important}
}

@media(max-width:340px){
  .page-home .hero-image-brandline{left:12px!important;max-width:calc(100% - 24px)!important}
  .page-home .hero-image-brandline__row{height:17px!important}
  .page-home .hero-image-brandline__row span{font-size:.5rem!important}
  .page-home .hero-image-brandline strong{font-size:.86rem!important}
  .page-home .hero-image-brandline__pro{font-size:.82rem!important}
  .page-home .hero-image-pill{width:calc(100% - 14px)!important;padding-inline:5px!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{
    grid-template-columns:26px minmax(0,1fr)!important;
    gap:4px!important;
    padding-inline:4px!important
  }
  .page-home .hero-image-pill__values .ui-icon{width:26px!important;height:26px!important;padding:5px!important}
  .page-home .hero-image-pill__values b{font-size:.48rem!important}
  .page-home .hero-image-pill__values small{font-size:.27rem!important}
}

/* ========================================================================== 
   ES-PRO V59.11 — lowered brand cue and narrower mobile value capsule
   ========================================================================== */
@media(max-width:820px){
  .page-home .hero-image-brandline{
    top:calc(var(--v59-mobile-image-height) - 145px)!important;
    left:15px!important;
    width:max-content!important;
    max-width:calc(100% - 30px)!important;
    padding:4px 8px 5px!important;
    gap:1px!important;
    background:linear-gradient(90deg,rgba(2,31,49,.7) 0%,rgba(2,31,49,.43) 72%,rgba(2,31,49,.05) 100%)!important;
    border-left:2px solid rgba(31,205,211,.92)!important;
    border-radius:3px 9px 9px 3px!important;
    -webkit-backdrop-filter:blur(1.5px)!important;
    backdrop-filter:blur(1.5px)!important;
    filter:drop-shadow(0 3px 5px rgba(0,23,39,.3))!important
  }
  .page-home .hero-image-brandline__row{height:18px!important}
  .page-home .hero-image-brandline__row span{
    font-size:.55rem!important;
    text-shadow:0 1px 3px rgba(0,20,35,.94)!important
  }
  .page-home .hero-image-brandline strong{
    font-size:.92rem!important;
    text-shadow:0 2px 3px rgba(0,30,48,.9)!important
  }
  .page-home .hero-image-brandline__pro{font-size:.88rem!important}

  .page-home .hero-image-pill{
    top:calc(var(--v59-mobile-image-height) - 81px)!important;
    width:clamp(284px,78vw,332px)!important;
    max-width:calc(100% - 28px)!important;
    min-height:54px!important;
    max-height:54px!important;
    padding:6px!important;
    border-radius:20px!important
  }
  .page-home .hero-image-pill__values{height:40px!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{
    height:38px!important;
    grid-template-columns:27px minmax(0,1fr)!important;
    gap:4px!important;
    padding:0 5px!important
  }
  .page-home .hero-image-pill__values .hero-image-pill__item+.hero-image-pill__item::before{height:31px!important}
  .page-home .hero-image-pill__values .ui-icon{width:27px!important;height:27px!important;padding:5px!important}
  .page-home .hero-image-pill__values b{font-size:.5rem!important}
  .page-home .hero-image-pill__values small{margin-top:3px!important;font-size:.29rem!important}
}

@media(max-width:389px){
  .page-home .hero-image-brandline{
    top:calc(var(--v59-mobile-image-height) - 141px)!important;
    left:13px!important;
    max-width:calc(100% - 26px)!important;
    padding:4px 7px!important
  }
  .page-home .hero-image-brandline__row{height:17px!important}
  .page-home .hero-image-brandline__row span{font-size:.51rem!important}
  .page-home .hero-image-brandline strong{font-size:.86rem!important}
  .page-home .hero-image-brandline__pro{font-size:.82rem!important}
  .page-home .hero-image-pill{
    top:calc(var(--v59-mobile-image-height) - 79px)!important;
    width:clamp(282px,80vw,312px)!important;
    max-width:calc(100% - 24px)!important;
    min-height:52px!important;
    max-height:52px!important;
    padding:5px!important;
    border-radius:19px!important
  }
  .page-home .hero-image-pill__values{height:40px!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{
    height:38px!important;
    grid-template-columns:25px minmax(0,1fr)!important;
    gap:4px!important;
    padding-inline:4px!important
  }
  .page-home .hero-image-pill__values .ui-icon{width:25px!important;height:25px!important;padding:5px!important}
  .page-home .hero-image-pill__values b{font-size:.46rem!important}
  .page-home .hero-image-pill__values small{font-size:.26rem!important}
}

@media(max-width:340px){
  .page-home .hero-image-brandline{left:11px!important;max-width:calc(100% - 22px)!important}
  .page-home .hero-image-brandline__row span{font-size:.48rem!important}
  .page-home .hero-image-brandline strong{font-size:.81rem!important}
  .page-home .hero-image-brandline__pro{font-size:.77rem!important}
  .page-home .hero-image-pill{width:min(292px,calc(100% - 22px))!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{
    grid-template-columns:24px minmax(0,1fr)!important;
    gap:3px!important;
    padding-inline:3px!important
  }
  .page-home .hero-image-pill__values .ui-icon{width:24px!important;height:24px!important;padding:5px!important}
  .page-home .hero-image-pill__values b{font-size:.43rem!important}
  .page-home .hero-image-pill__values small{font-size:.24rem!important}
}

/* ========================================================================== 
   ES-PRO V59.12 — compact reference-matched hero capsule
   The brand sentence and three values share one small control, leaving the
   machinery bright and unobstructed. This final block supersedes V59.10/11.
   ========================================================================== */
.hero-image-brandline{display:none!important}
@media(max-width:820px){
  .page-home .hero-image-pill{
    position:absolute!important;
    z-index:7!important;
    top:calc(var(--v59-mobile-image-height) - 103px)!important;
    left:50%!important;
    display:grid!important;
    width:clamp(238px,60vw,272px)!important;
    max-width:calc(100% - 42px)!important;
    min-height:68px!important;
    max-height:68px!important;
    grid-template-columns:1fr!important;
    grid-template-rows:20px 38px!important;
    align-items:center!important;
    gap:0!important;
    padding:5px 8px!important;
    overflow:hidden!important;
    color:#153b58!important;
    background:rgba(255,255,255,.975)!important;
    border:1px solid rgba(219,229,234,.98)!important;
    border-radius:18px!important;
    box-shadow:0 7px 18px rgba(3,31,51,.15)!important;
    -webkit-backdrop-filter:blur(7px)!important;
    backdrop-filter:blur(7px)!important;
    transform:translateX(-50%)!important
  }
  .page-home .hero-image-pill__signature{
    display:flex!important;
    min-width:0!important;
    height:20px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    padding:0 2px 3px!important;
    overflow:hidden!important;
    border-bottom:1px solid #dfe8ec!important;
    white-space:nowrap!important
  }
  .page-home .hero-image-pill__signature span{
    display:inline!important;
    flex:0 0 auto!important;
    overflow:visible!important;
    color:#3a5263!important;
    font-size:.31rem!important;
    font-weight:720!important;
    line-height:1!important;
    letter-spacing:-.03em!important;
    text-overflow:clip!important;
    white-space:nowrap!important
  }
  .page-home .hero-image-pill__signature strong{
    display:inline!important;
    flex:0 0 auto!important;
    margin:0!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:-.07em!important;
    text-shadow:none!important
  }
  .page-home .hero-image-pill__e{color:#0876c9!important;font-size:.62rem!important}
  .page-home .hero-image-pill__s{color:#078f95!important;font-size:.62rem!important}
  .page-home .hero-image-pill__pro{color:#0867c7!important;font-size:.54rem!important}
  .page-home .hero-image-pill__values{
    display:grid!important;
    width:100%!important;
    height:38px!important;
    align-items:center!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important
  }
  .page-home .hero-image-pill__values .hero-image-pill__item{
    position:relative!important;
    display:grid!important;
    min-width:0!important;
    height:34px!important;
    align-items:center!important;
    grid-template-columns:21px minmax(0,1fr)!important;
    gap:4px!important;
    padding:0 5px!important
  }
  .page-home .hero-image-pill__values .hero-image-pill__item+.hero-image-pill__item::before{
    position:absolute!important;
    top:50%!important;
    left:0!important;
    width:1px!important;
    height:25px!important;
    background:#d9e3e8!important;
    content:""!important;
    transform:translateY(-50%)!important
  }
  .page-home .hero-image-pill__values .ui-icon{
    width:21px!important;
    height:21px!important;
    padding:4px!important;
    border-radius:999px!important;
    stroke-width:2.2!important
  }
  .page-home .hero-image-pill__item--precision .ui-icon{color:#075bac!important;background:#edf4fb!important}
  .page-home .hero-image-pill__item--clean .ui-icon{color:#0963bb!important;background:#eff5fb!important}
  .page-home .hero-image-pill__item--sustainable .ui-icon{color:#078d68!important;background:#edf8f3!important}
  .page-home .hero-image-pill__values .hero-image-pill__item>span{display:block!important;min-width:0!important}
  .page-home .hero-image-pill__values b{
    display:block!important;
    overflow:hidden!important;
    color:#07529b!important;
    font-size:.4rem!important;
    font-weight:900!important;
    line-height:1.05!important;
    letter-spacing:0!important;
    text-overflow:ellipsis!important;
    text-transform:uppercase!important;
    white-space:nowrap!important
  }
  .page-home .hero-image-pill__item--sustainable b{color:#07875e!important}
  .page-home .hero-image-pill__values small{
    display:block!important;
    overflow:hidden!important;
    margin-top:2px!important;
    color:#4c6271!important;
    font-size:.235rem!important;
    font-weight:650!important;
    line-height:1.05!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important
  }
  .page-home .hero__dots{top:calc(var(--v59-mobile-image-height) - 17px)!important;gap:6px!important}
  .page-home .hero__dots button{width:16px!important;height:4px!important;flex:0 0 16px!important}
  .page-home .hero__dots button.active{width:26px!important;flex-basis:26px!important}
}
@media(max-width:389px){
  .page-home .hero-image-pill{top:calc(var(--v59-mobile-image-height) - 99px)!important;width:clamp(228px,62vw,248px)!important;max-width:calc(100% - 36px)!important;min-height:64px!important;max-height:64px!important;grid-template-rows:18px 36px!important;padding:5px 7px!important;border-radius:17px!important}
  .page-home .hero-image-pill__signature{height:18px!important;padding-bottom:2px!important}
  .page-home .hero-image-pill__signature span{font-size:.285rem!important}
  .page-home .hero-image-pill__e,.page-home .hero-image-pill__s{font-size:.56rem!important}
  .page-home .hero-image-pill__pro{font-size:.5rem!important}
  .page-home .hero-image-pill__values{height:36px!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{height:33px!important;grid-template-columns:19px minmax(0,1fr)!important;gap:3px!important;padding-inline:4px!important}
  .page-home .hero-image-pill__values .ui-icon{width:19px!important;height:19px!important;padding:3px!important}
  .page-home .hero-image-pill__values b{font-size:.36rem!important}
  .page-home .hero-image-pill__values small{font-size:.215rem!important}
}
@media(max-width:340px){
  .page-home .hero-image-pill{width:220px!important;max-width:calc(100% - 28px)!important;padding-inline:6px!important}
  .page-home .hero-image-pill__signature span{font-size:.26rem!important}
  .page-home .hero-image-pill__e,.page-home .hero-image-pill__s{font-size:.52rem!important}
  .page-home .hero-image-pill__pro{font-size:.46rem!important}
  .page-home .hero-image-pill__values .hero-image-pill__item{grid-template-columns:18px minmax(0,1fr)!important;padding-inline:3px!important}
  .page-home .hero-image-pill__values .ui-icon{width:18px!important;height:18px!important}
  .page-home .hero-image-pill__values b{font-size:.34rem!important}
  .page-home .hero-image-pill__values small{font-size:.2rem!important}
}

/* V59.14 FINAL — mobile image, identity stage and copy are separate layers. */
@media(max-width:820px){
  .page-home .hero{--v59-mobile-image-height:clamp(220px,60vw,270px);background:#f4f7fa!important}
  .page-home .hero-image-pill{
    position:absolute!important;z-index:7!important;top:var(--v59-mobile-image-height)!important;left:0!important;
    display:grid!important;width:100%!important;max-width:none!important;min-height:76px!important;max-height:76px!important;
    grid-template-columns:1fr!important;grid-template-rows:1fr!important;place-items:center!important;
    margin:0!important;padding:7px 20px 12px!important;overflow:hidden!important;
    background:#f8fafc url('../images/mobile-hero-wave.png') center 74%/cover no-repeat!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;transform:none!important
  }
  .page-home .hero-image-pill::before{position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(242,247,251,.08))!important;content:""!important;pointer-events:none!important}
  .page-home .hero-image-pill__signature{position:relative!important;z-index:1!important;display:block!important;width:min(100%,330px)!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0 auto!important;padding:0!important;overflow:visible!important;color:#243c52!important;font-size:0!important;line-height:1.25!important;text-align:center!important;white-space:normal!important;border:0!important}
  .page-home .hero-image-pill__signature span{display:inline!important;color:#243c52!important;font-size:.72rem!important;font-weight:690!important;line-height:1.25!important;letter-spacing:-.025em!important;white-space:normal!important}
  .page-home .hero-image-pill__signature strong,.page-home .hero-image-pill__e,.page-home .hero-image-pill__s,.page-home .hero-image-pill__pro{display:inline!important;margin:0 1px!important;color:#075bac!important;font-size:1.06rem!important;font-weight:950!important;line-height:1!important;letter-spacing:-.055em!important;text-shadow:0 2px 8px rgba(7,91,172,.12)!important}
  .page-home .hero-image-pill__pro{font-size:.94rem!important;letter-spacing:-.035em!important}
  .page-home .hero-image-pill__values{display:none!important}
  .page-home .hero__content,.page-home .hero__content.container{padding:80px 10px 0!important}
  .page-home .hero__dots{top:calc(var(--v59-mobile-image-height) + 67px)!important;z-index:9!important;gap:7px!important}
  .page-home .hero__dots button{width:18px!important;height:4px!important;flex:0 0 18px!important;background:#c8d3dc!important;box-shadow:none!important}
  .page-home .hero__dots button.active{width:27px!important;flex-basis:27px!important;background:#1765d8!important}
  .page-home .hero__copy,.page-home .hero__copy.hero__copy--tight{border-radius:14px 14px 18px 18px!important}
}
@media(max-width:389px){
  .page-home .hero{--v59-mobile-image-height:clamp(210px,61vw,238px)}
  .page-home .hero-image-pill{width:100%!important;max-width:none!important;min-height:74px!important;max-height:74px!important;padding:7px 15px 11px!important}
  .page-home .hero-image-pill__signature{width:min(100%,286px)!important}
  .page-home .hero-image-pill__signature span{font-size:.65rem!important}
  .page-home .hero-image-pill__signature strong,.page-home .hero-image-pill__e,.page-home .hero-image-pill__s{font-size:.96rem!important}
  .page-home .hero-image-pill__pro{font-size:.86rem!important}
  .page-home .hero__content,.page-home .hero__content.container{padding-top:78px!important}
  .page-home .hero__dots{top:calc(var(--v59-mobile-image-height) + 65px)!important}
}
@media(max-width:340px){
  .page-home .hero-image-pill{width:100%!important;max-width:none!important;padding-inline:12px!important}
  .page-home .hero-image-pill__signature span{font-size:.6rem!important}
  .page-home .hero-image-pill__signature strong,.page-home .hero-image-pill__e,.page-home .hero-image-pill__s{font-size:.9rem!important}
  .page-home .hero-image-pill__pro{font-size:.8rem!important}
}

/* ========================================================================== 
   ES-PRO V59.15 — configurable HIB-reference blue design system
   Blue is reserved for brand hierarchy and interaction. White space, imagery,
   semantic success/warning colours and the sustainable green remain distinct.
   ========================================================================== */
::selection{color:#fff;background:var(--theme-primary,#0b4c9c)}
body{background:var(--theme-background,#f4f7fc)}
.site-header,.navbar,.mega-menu,.search-panel,.mobile-nav,.panel,.listing-card,.resource-card,.catalog-product-card,.newsroom-card{background-color:#fff}
.topbar,.footer,.footer-bottom{background-color:var(--theme-primary-dark,#07366d)!important}
.page-hero,.managed-page-banner{background-color:var(--theme-primary-dark,#07366d)!important}
.page-hero{background-image:radial-gradient(circle at 78% 12%,color-mix(in srgb,var(--theme-accent,#286fbd) 24%,transparent),transparent 32%),linear-gradient(135deg,var(--theme-primary-dark,#07366d),var(--theme-primary,#0b4c9c))!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.page-hero{background-image:radial-gradient(circle at 78% 12%,var(--cmx-5fb54142),transparent 32%),linear-gradient(135deg,var(--theme-primary-dark,#07366d),var(--theme-primary,#0b4c9c))!important}}

.desktop-nav>a:after,.desktop-nav>.nav-item>a:after,.desktop-nav>.nav-item>a:before{background:var(--theme-primary,#0b4c9c)!important}
.desktop-nav>a:hover,.desktop-nav>a.active,.desktop-nav>.nav-item>a:hover,.desktop-nav>.nav-item>a.active,.mobile-nav__links>a.active,.language-menu a:hover{color:var(--theme-primary,#0b4c9c)!important}
.mobile-nav__links>a.active,.language-menu a:hover{background:#eef4fc!important;background:color-mix(in srgb,var(--theme-primary,#0b4c9c) 8%,white)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.mobile-nav__links>a.active,.language-menu a:hover{background:var(--cmx-3b414b3b)!important}}
.mobile-toggle span,.search-toggle{color:var(--theme-primary,#0b4c9c)!important}.mobile-toggle span{background:var(--theme-primary,#0b4c9c)!important}
.nav-quote,.button--primary,.page-home .hero__actions .button--primary,.page-home .showcase-heading__action .button,.page-home .industries-section--showcase .text-link,.newsletter button,.newsroom-search button,.news-mobile-search button,.footer-mobile__enquiry{color:#fff!important;background:linear-gradient(135deg,var(--theme-primary,#0b4c9c),var(--theme-accent,#286fbd))!important;border-color:var(--theme-primary,#0b4c9c)!important;box-shadow:0 12px 28px color-mix(in srgb,var(--theme-primary,#0b4c9c) 23%,transparent)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.nav-quote,.button--primary,.page-home .hero__actions .button--primary,.page-home .showcase-heading__action .button,.page-home .industries-section--showcase .text-link,.newsletter button,.newsroom-search button,.news-mobile-search button,.footer-mobile__enquiry{box-shadow:0 12px 28px var(--cmx-dfcf9454)!important}}
.button--secondary,.news-search button{background:var(--theme-primary-dark,#07366d)!important}
.button--outline,.page-home .hero__actions .button--outline{color:var(--theme-primary-dark,#07366d)!important;background:#fff!important;border-color:color-mix(in srgb,var(--theme-primary,#0b4c9c) 62%,#d8e2eb)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.button--outline,.page-home .hero__actions .button--outline{border-color:var(--cmx-e7814aca)!important}}
.button--outline:hover,.page-home .hero__actions .button--outline:hover{color:#fff!important;background:var(--theme-primary,#0b4c9c)!important;border-color:var(--theme-primary,#0b4c9c)!important}

h1,h2,h3,.section-heading h2,.listing-body h2,.service-list-card h2,.industry-card h2{color:var(--theme-primary-dark,#07366d)}
.section-heading>span,.section-heading .eyebrow,.showcase-heading .eyebrow,.listing-body>span,.resource-card small,.news-card__meta span,.text-link,.mega-column>span,.mega-intro>span,.geo-answer-card>span,.geo-faq-card>span{color:var(--theme-primary,#0b4c9c)!important}
.managed-page-banner .eyebrow,.page-hero .eyebrow{color:#c4dcff!important}
.page-home .hero__content h1,.page-home .hero__content .hero-title,.page-home .hero__title{color:var(--theme-primary-dark,#07366d)!important}
.page-home .hero__content .eyebrow{color:var(--theme-primary,#0b4c9c)!important}
.page-home .hero__content h1::after,.page-home .hero__content .hero-title::after{background:linear-gradient(90deg,var(--theme-primary,#0b4c9c),var(--theme-accent,#286fbd))!important}
@media(min-width:821px){
  .page-home .hero__content h1,.page-home .hero__content .hero-title,.page-home .hero__title{color:#fff!important}
  .page-home .hero__content .eyebrow,.managed-page-banner .eyebrow,.page-hero .eyebrow{color:#c4dcff!important}
}

.trust-strip__icon,.page-home .service-card__icon,.excellence-item>span,.purpose-card>span,.contact-cards i,.page-home .hero-benefits>div>span,.service-card__top i{color:var(--theme-primary,#0b4c9c)!important;background:#edf4fc!important;background:color-mix(in srgb,var(--theme-primary,#0b4c9c) 8%,white)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.trust-strip__icon,.page-home .service-card__icon,.excellence-item>span,.purpose-card>span,.contact-cards i,.page-home .hero-benefits>div>span,.service-card__top i{background:var(--cmx-3b414b3b)!important}}
.service-card__media>span,.product-arrow,.capability-media>span,.story-image>span{background:var(--theme-primary,#0b4c9c)!important}
.feature-list li:before,.timeline-item:before{border-color:var(--theme-primary,#0b4c9c)!important;background:var(--theme-primary,#0b4c9c)!important;box-shadow:0 0 0 6px color-mix(in srgb,var(--theme-primary,#0b4c9c) 11%,transparent)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.feature-list li:before,.timeline-item:before{box-shadow:0 0 0 6px var(--cmx-94af0ab6)!important}}
.process-line:before,.service-card:after{background:linear-gradient(90deg,var(--theme-primary,#0b4c9c),var(--theme-accent,#286fbd))!important}
.process-step>span{background:var(--theme-primary,#0b4c9c)!important;box-shadow:0 0 0 2px var(--theme-accent,#286fbd)!important}
.stats div{border-left-color:var(--theme-primary,#0b4c9c)!important}
.engineering-note{background:linear-gradient(135deg,var(--theme-primary,#0b4c9c),var(--theme-accent,#286fbd))!important}
.enquiry-card,.purpose-card--dark,.geo-related-card{background:linear-gradient(145deg,var(--theme-primary-dark,#07366d),var(--theme-primary,#0b4c9c))!important}
.geo-visibility-section{background:linear-gradient(180deg,var(--theme-background,#f4f7fc),#fff)!important}
.geo-facts li,.geo-facts>div,.geo-faq-list details{background:color-mix(in srgb,var(--theme-background,#f4f7fc) 82%,white)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.geo-facts li,.geo-facts>div,.geo-faq-list details{background:var(--cmx-f7b33efa)!important}}

.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.search-form input:focus,.large-search input:focus,.chat-lead__grid input:focus,.chat-lead__grid select:focus,.espro-chat__composer textarea:focus{border-color:var(--theme-primary,#0b4c9c)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-primary,#0b4c9c) 11%,transparent)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.search-form input:focus,.large-search input:focus,.chat-lead__grid input:focus,.chat-lead__grid select:focus,.espro-chat__composer textarea:focus{box-shadow:0 0 0 4px var(--cmx-94af0ab6)!important}}
.espro-chat__launcher,.espro-chat__header,.chat-lead__actions button,.espro-chat__composer button{background:linear-gradient(135deg,var(--theme-primary-dark,#07366d),var(--theme-primary,#0b4c9c))!important}
.chat-message--user p{background:var(--theme-primary,#0b4c9c)!important;border-color:var(--theme-primary,#0b4c9c)!important}
.chat-message__avatar span,.chat-message.is-revealing p::after{background:var(--theme-accent,#286fbd)!important}
.chat-card:hover{border-color:var(--theme-accent,#286fbd)!important}.chat-card b,.espro-chat__consent a,.espro-chat__privacy a{color:var(--theme-primary,#0b4c9c)!important}
.espro-chat__suggestions button{color:var(--theme-primary,#0b4c9c)!important;background:#eef4fc!important;border-color:#ccddf1!important}.espro-chat__suggestions button:hover{color:#fff!important;background:var(--theme-primary,#0b4c9c)!important}
.chat-lead__badge{color:var(--theme-primary,#0b4c9c)!important;background:#eaf2fc!important}

.page-home .hero-image-pill__signature strong,.page-home .hero-image-pill__e,.page-home .hero-image-pill__s,.page-home .hero-image-pill__pro{color:var(--theme-primary,#0b4c9c)!important;text-shadow:0 2px 8px color-mix(in srgb,var(--theme-primary,#0b4c9c) 14%,transparent)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.page-home .hero-image-pill__signature strong,.page-home .hero-image-pill__e,.page-home .hero-image-pill__s,.page-home .hero-image-pill__pro{text-shadow:0 2px 8px var(--cmx-d399f573)!important}}
.page-home .hero__dots button.active,.news-mobile-topics a.active{background:var(--theme-primary,#0b4c9c)!important;border-color:var(--theme-primary,#0b4c9c)!important}
.footer-mobile__contact .ui-icon,.footer-certifications__copy i{color:#94bff1!important}.footer-certifications__copy i{background:var(--theme-accent,#286fbd)!important}
.socials a:hover,.footer-mobile__socials a:hover{color:#fff!important;background:var(--theme-primary,#0b4c9c)!important;border-color:color-mix(in srgb,var(--theme-accent,#286fbd) 72%,white)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.socials a:hover,.footer-mobile__socials a:hover{border-color:var(--cmx-e14607d2)!important}}

/* Semantic green remains intentional instead of being recoloured globally. */
.hero-image-pill__item--sustainable .ui-icon,.hero-image-pill__item--sustainable b,.status.active,.status.done{color:#07875e!important}

/* ========================================================================== 
   ES-PRO V59.16 — approved blue-family reskin
   Keep the established composition and tonal hierarchy. Replace the previous
   teal family with coordinated shades derived from the supplied #0B4C9C.
   ========================================================================== */
body{background:var(--theme-background,#f4f7fc)}
.site-header{border-bottom-color:color-mix(in srgb,var(--theme-primary,#0b4c9c) 18%,#e4ebf2)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.site-header{border-bottom-color:var(--cmx-3204c0cc)!important}}
.site-header::after{position:absolute;right:0;bottom:0;left:0;display:block;height:3px;background:var(--theme-primary,#0b4c9c);content:"";pointer-events:none}
.topbar{color:#e9f2ff!important;background:var(--theme-primary-dark,#07366d)!important}
.topbar__contacts .ui-icon,.topbar-language .ui-icon{color:#8dbcf2!important}

/* Primary actions retain the old polished depth, now entirely in one blue family. */
.nav-quote,.button--primary,.page-home .hero__actions .button--primary,
.page-home .showcase-heading__action .button,.page-home .industries-section--showcase .text-link,
.newsletter button,.newsroom-search button,.news-mobile-search button,.footer-mobile__enquiry,
.chat-lead__actions button,.espro-chat__composer button{
  color:#fff!important;background:linear-gradient(135deg,var(--theme-primary,#0b4c9c),var(--theme-accent,#286fbd))!important;
  border-color:var(--theme-primary,#0b4c9c)!important;box-shadow:0 11px 25px color-mix(in srgb,var(--theme-primary,#0b4c9c) 22%,transparent)!important
}@supports not (color:color-mix(in srgb,red 50%,blue)){.nav-quote,.button--primary,.page-home .hero__actions .button--primary,
.page-home .showcase-heading__action .button,.page-home .industries-section--showcase .text-link,
.newsletter button,.newsroom-search button,.news-mobile-search button,.footer-mobile__enquiry,
.chat-lead__actions button,.espro-chat__composer button{box-shadow:0 11px 25px var(--cmx-a70005a5)!important}}
.nav-quote:hover,.button--primary:hover,.page-home .hero__actions .button--primary:hover{
  background:linear-gradient(135deg,var(--theme-primary-dark,#07366d),var(--theme-primary,#0b4c9c))!important;
  box-shadow:0 14px 30px color-mix(in srgb,var(--theme-primary,#0b4c9c) 28%,transparent)!important
}@supports not (color:color-mix(in srgb,red 50%,blue)){.nav-quote:hover,.button--primary:hover,.page-home .hero__actions .button--primary:hover{box-shadow:0 14px 30px var(--cmx-3a7029eb)!important}}
.page-home .hero__content h1::after,.page-home .hero__content .hero-title::after,
.section-heading h2::after,.listing-body h2::after{background:linear-gradient(90deg,var(--theme-primary,#0b4c9c),var(--theme-accent,#286fbd))!important}
.page-home .showcase-heading__action p{border-left-color:var(--theme-primary,#0b4c9c)!important}

/* The established cards remain white; only their technical accents change hue. */
.page-home .service-card,.listing-card,.resource-card,.catalog-product-card,.newsroom-card{
  border-color:color-mix(in srgb,var(--theme-primary,#0b4c9c) 13%,#e5ebf0)!important
}@supports not (color:color-mix(in srgb,red 50%,blue)){.page-home .service-card,.listing-card,.resource-card,.catalog-product-card,.newsroom-card{border-color:var(--cmx-4373f3b8)!important}}
.page-home .service-card:hover,.listing-card:hover,.resource-card:hover,.catalog-product-card:hover{
  border-color:color-mix(in srgb,var(--theme-primary,#0b4c9c) 38%,#dce5ed)!important;
  box-shadow:0 18px 42px color-mix(in srgb,var(--theme-primary-dark,#07366d) 12%,transparent)!important
}@supports not (color:color-mix(in srgb,red 50%,blue)){.page-home .service-card:hover,.listing-card:hover,.resource-card:hover,.catalog-product-card:hover{border-color:var(--cmx-cfd2e71b)!important;box-shadow:0 18px 42px var(--cmx-c05517c4)!important}}
.trust-strip__icon,.page-home .service-card__icon,.excellence-item>span,.contact-cards i,.service-card__top i{
  color:var(--theme-primary,#0b4c9c)!important;background:color-mix(in srgb,var(--theme-primary,#0b4c9c) 8%,white)!important
}@supports not (color:color-mix(in srgb,red 50%,blue)){.trust-strip__icon,.page-home .service-card__icon,.excellence-item>span,.contact-cards i,.service-card__top i{background:var(--cmx-3b414b3b)!important}}

/* Desktop hero benefits keep their original open, light-on-image treatment. */
@media(min-width:821px){
  .page-home .hero-benefits>div>span{color:#8fc1ff!important;background:transparent!important}
  .page-home .hero-benefits strong{color:#fff!important}
  .page-home .hero-benefits small{color:#d9e7f7!important}
}

/* Mobile uses the supplied brand blue without changing the successful layout. */
@media(max-width:820px){
  .site-header::after{height:2px}
  .page-home .hero-image-pill__signature strong,.page-home .hero-image-pill__e,
  .page-home .hero-image-pill__s,.page-home .hero-image-pill__pro{color:var(--theme-primary,#0b4c9c)!important}
  .page-home .hero__content .eyebrow{color:var(--theme-primary,#0b4c9c)!important}
  .page-home .hero__copy,.page-home .hero__copy.hero__copy--tight{
    border-color:color-mix(in srgb,var(--theme-primary,#0b4c9c) 14%,#dfe8ed)!important;
    box-shadow:0 13px 34px color-mix(in srgb,var(--theme-primary-dark,#07366d) 11%,transparent)!important
  }@supports not (color:color-mix(in srgb,red 50%,blue)){.page-home .hero__copy,.page-home .hero__copy.hero__copy--tight{border-color:var(--cmx-5310bc03)!important;box-shadow:0 13px 34px var(--cmx-98f094a0)!important}}
  .page-home .hero-benefits>div{background:color-mix(in srgb,var(--theme-primary,#0b4c9c) 5%,white)!important;border-color:color-mix(in srgb,var(--theme-primary,#0b4c9c) 11%,white)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.page-home .hero-benefits>div{background:var(--cmx-bdb4ec3c)!important;border-color:var(--cmx-b73cd28e)!important}}
  .page-home .hero-benefits>div>span{color:var(--theme-primary,#0b4c9c)!important;background:transparent!important}
  .page-home .hero__dots button.active{background:var(--theme-primary,#0b4c9c)!important}
  .mobile-toggle{background:color-mix(in srgb,var(--theme-primary,#0b4c9c) 5%,white)!important;border-color:color-mix(in srgb,var(--theme-primary,#0b4c9c) 15%,white)!important}@supports not (color:color-mix(in srgb,red 50%,blue)){.mobile-toggle{background:var(--cmx-bdb4ec3c)!important;border-color:var(--cmx-3b94ffaf)!important}}
}

/* Deep surfaces retain contrast instead of becoming one flat saturated block. */
.cta-band{background:linear-gradient(115deg,var(--theme-primary-dark,#07366d),var(--theme-primary,#0b4c9c))!important}
.engineering-note{background:linear-gradient(135deg,var(--theme-primary,#0b4c9c),var(--theme-accent,#286fbd))!important}
.enquiry-card,.purpose-card--dark,.geo-related-card{background:linear-gradient(145deg,var(--theme-primary-dark,#07366d),var(--theme-primary,#0b4c9c))!important}
.footer{background:linear-gradient(135deg,#052951 0%,var(--theme-primary-dark,#07366d) 56%,#063f82 100%)!important}
.footer-bottom{background:transparent!important}
.footer-enquiry,.footer a:hover{color:#b9d8ff!important}
.footer-mobile__contact .ui-icon,.footer-certifications__copy i{color:#9bc7f8!important}
.to-top,.espro-chat__launcher,.espro-chat__header{background:linear-gradient(135deg,var(--theme-primary-dark,#07366d),var(--theme-primary,#0b4c9c))!important}

/* ========================================================================== 
   ES-PRO V59.17 — bright corporate presentation
   #0B4C9C is the signature, not the page fill. Graphite typography, bright
   neutral surfaces and restrained supporting blue keep the interface fresh.
   ========================================================================== */
body{color:#516374;background:var(--theme-background,#f7f9fc)!important}
h1,h2,h3,.section-heading h2,.listing-body h2,.service-list-card h2,.industry-card h2{color:var(--theme-primary-dark,#13293d)}
.surface-soft,.process-section,.purpose-section,.news-index,.news-related{background:#f7f9fc!important}
.partners-section,.newsroom-feed,.news-article,.product-catalogue-section{background:#fff!important}
.section-heading>p,.process-step p,.purpose-card p,.newsroom-card p,.news-list-item p{color:#667788!important}

/* One exact corporate blue for actions and selected states. */
.nav-quote,.button--primary,.page-home .hero__actions .button--primary,
.page-home .showcase-heading__action .button,.page-home .industries-section--showcase .text-link,
.newsletter button,.newsroom-search button,.news-mobile-search button,.footer-mobile__enquiry,
.chat-lead__actions button,.espro-chat__composer button{
  background:var(--theme-primary,#0b4c9c)!important;
  border-color:var(--theme-primary,#0b4c9c)!important;
  box-shadow:0 10px 24px rgba(11,76,156,.18)!important
}
.nav-quote:hover,.button--primary:hover,.page-home .hero__actions .button--primary:hover{
  background:#083d7d!important;box-shadow:0 13px 28px rgba(11,76,156,.23)!important
}
.section-heading>span,.section-heading .eyebrow,.showcase-heading .eyebrow,
.listing-body>span,.resource-card small,.news-card__meta span,.news-kicker span,
.news-read,.text-link,.mega-column>span,.mega-intro>span,.geo-answer-card>span,
.geo-faq-card>span{color:var(--theme-primary,#0b4c9c)!important}

/* Process line: lighter track and open markers instead of five heavy blue discs. */
.process-line:before{background:#c5d6e9!important}
.process-step>span{
  color:var(--theme-primary,#0b4c9c)!important;background:#fff!important;
  border-color:#edf3f9!important;
  box-shadow:0 0 0 2px var(--theme-primary,#0b4c9c),0 9px 21px rgba(19,41,61,.09)!important
}
.process-step h3{color:var(--theme-primary-dark,#13293d)!important}

/* Mission and vision share one calm, bright card language. */
.purpose-card,.purpose-card--dark{
  color:#566879!important;background:#fff!important;
  border:1px solid #dce5ee!important;box-shadow:0 14px 34px rgba(19,41,61,.07)!important
}
.purpose-card--dark{background:linear-gradient(145deg,#f4f8fd,#fff)!important;border-top:4px solid var(--theme-primary,#0b4c9c)!important}
.purpose-card h2,.purpose-card--dark h2{color:var(--theme-primary-dark,#13293d)!important}
.purpose-card>span,.purpose-card small,.purpose-card--dark>span,.purpose-card--dark small{color:var(--theme-primary,#0b4c9c)!important}

/* Bright CTA is visually separated from the graphite footer below. */
.cta-band{
  color:#5d6f80!important;background:#fff!important;
  border-top:1px solid #dce6f0!important;border-bottom:1px solid #dce6f0!important
}
.cta-band:before{position:absolute;top:0;bottom:0;left:0;width:6px;background:var(--theme-primary,#0b4c9c);content:""}
.cta-band:after{right:-145px!important;bottom:-260px!important;border-color:rgba(11,76,156,.055)!important}
.cta-band .eyebrow.light{color:var(--theme-primary,#0b4c9c)!important}
.cta-band h2{color:var(--theme-primary-dark,#13293d)!important}
.cta-band p{color:#627485!important}
.cta-band .button--light{color:#fff!important;background:var(--theme-primary,#0b4c9c)!important;border-color:var(--theme-primary,#0b4c9c)!important;box-shadow:0 11px 24px rgba(11,76,156,.18)!important}
.cta-band .button--light:hover{background:#083d7d!important}
.cta-contact small{color:#75879a!important}.cta-contact strong{color:var(--theme-primary-dark,#13293d)!important}
.footer{background:#071f2e!important;border-top:4px solid var(--theme-primary,#0b4c9c)!important}
.footer-bottom{background:transparent!important}
.footer-enquiry,.footer a:hover{color:#a9c9ef!important}

/* Product catalogue mega menu: remove the previous teal family. */
.product-mega{border-color:#d8e3ee!important;box-shadow:0 30px 74px rgba(19,41,61,.2)!important}
.product-mega__intro{background:var(--theme-primary,#0b4c9c)!important;color:#eaf2fc!important}
.product-mega__intro>span{color:#d7e8fb!important}
.product-mega__intro p{color:#e5eef9!important}
.product-mega__families{background:#f7f9fc!important;border-right-color:#dce6ef!important}
.product-mega__family{color:#294154!important;border-bottom-color:#e2e9f0!important}
.product-mega__family:hover,.product-mega__family.active{color:var(--theme-primary,#0b4c9c)!important;background:#fff!important;border-left-color:var(--theme-primary,#0b4c9c)!important}
.product-mega__family.is-standalone{background:#eef4fb!important}.product-mega__family.is-standalone i{color:var(--theme-primary,#0b4c9c)!important}
.product-mega__panel small,.product-mega__panel nav a:hover{color:var(--theme-primary,#0b4c9c)!important}
.product-mega__panel h3{color:var(--theme-primary-dark,#13293d)!important}
.product-mega__standalone{background:var(--theme-primary,#0b4c9c)!important}

/* News uses blue only as a reading cue; titles stay graphite. */
.news-card__image>span,.newsroom-card__media span{background:rgba(11,76,156,.94)!important}
.news-card h2 a,.newsroom-card h3,.newsroom-card h3 a,.news-list-item h3,.news-list-item h3 a{color:var(--theme-primary-dark,#13293d)!important}
.news-card h2 a:hover,.newsroom-card h3 a:hover,.side-story h3 a:hover,.news-list-item h3 a:hover{color:var(--theme-primary,#0b4c9c)!important}
.news-content blockquote{color:#344d61!important;background:#f2f6fb!important;border-left-color:var(--theme-primary,#0b4c9c)!important}
.news-content th{background:var(--theme-primary,#0b4c9c)!important}
.newsroom-hero{color:var(--theme-primary-dark,#13293d)!important;background:linear-gradient(135deg,#f7f9fc,#edf3fa)!important;border-bottom:1px solid #dce6ef!important}
.newsroom-hero:before{border-color:rgba(11,76,156,.09)!important}.newsroom-hero:after{background:radial-gradient(circle,rgba(75,134,198,.13),transparent 68%)!important}
.newsroom-hero__glow{opacity:.3}
.newsroom-hero h1{color:var(--theme-primary-dark,#13293d)!important}
.newsroom-hero__copy>p{color:#607386!important}
.newsroom-hero .breadcrumb--light{color:#718398!important}.newsroom-hero .breadcrumb--light a{color:var(--theme-primary,#0b4c9c)!important}
.newsroom-categories a{color:#40566a!important;background:#fff!important;border-color:#d7e2ed!important}
.newsroom-categories a:hover,.newsroom-categories a.active{color:#fff!important;background:var(--theme-primary,#0b4c9c)!important;border-color:var(--theme-primary,#0b4c9c)!important}
.newsroom-side__head a,.side-story__link{color:var(--theme-primary,#0b4c9c)!important}

/* Drawer geometry and colour consistency on phones and tablets. */
@media(max-width:1280px){
  .mobile-nav__head{color:#fff!important;background:var(--theme-primary,#0b4c9c)!important;box-shadow:0 1px rgba(255,255,255,.14)!important}
  .mobile-nav-close{display:grid!important;place-items:center!important;padding:0!important;background:rgba(255,255,255,.13)!important}
  .mobile-nav-close span{top:50%!important;left:50%!important;width:18px!important;margin:0!important;transform-origin:center!important}
  .mobile-nav-close span:first-child{transform:translate(-50%,-50%) rotate(45deg)!important}
  .mobile-nav-close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)!important}
  .mobile-catalog>summary>span,.mobile-catalog summary>span{
    display:grid!important;width:30px!important;height:30px!important;min-width:30px!important;
    padding:0!important;place-items:center!important;color:var(--theme-primary,#0b4c9c)!important;
    background:#edf3fa!important;border:1px solid #dce7f2!important;border-radius:8px!important;
    font-size:.78rem!important;font-weight:900!important;line-height:1!important;text-align:center!important
  }
  .mobile-catalog[open]>summary>span{color:#fff!important;background:var(--theme-primary,#0b4c9c)!important;border-color:var(--theme-primary,#0b4c9c)!important}
  .mobile-catalog details.is-standalone summary>a{color:var(--theme-primary,#0b4c9c)!important}
  .mobile-language a{color:#30485b!important;background:#f7f9fc!important;border-color:#dde6ee!important}
  .mobile-language a.active{color:#fff!important;background:var(--theme-primary,#0b4c9c)!important;border-color:var(--theme-primary,#0b4c9c)!important}
  .mobile-language b{display:grid!important;place-items:center!important;padding:0!important;line-height:1!important}
  .mobile-nav__quote{background:var(--theme-primary,#0b4c9c)!important}
}

@media(max-width:820px){
  .cta-band:before{right:0;bottom:auto;width:auto;height:4px}
  .cta-band__inner{padding:55px 0!important;gap:30px!important}
  .footer{border-top-width:3px!important}
  .process-step{background:#fff!important;border-color:#dce6ef!important;box-shadow:0 10px 24px rgba(19,41,61,.055)!important}
}

/* ========================================================================== 
   ES-PRO V59.18 — stronger corporate-blue hierarchy
   Brand blue now leads bold typography and the primary CTA. Five process
   markers use coordinated blue steps with white numbers and a light halo.
   ========================================================================== */
main h1,main h2,main h3,
.section-heading h2,.listing-body h2,.service-list-card h2,.industry-card h2,
.purpose-card h2,.purpose-card--dark h2,.process-step h3,
.news-card h2 a,.newsroom-card h3,.newsroom-card h3 a,
.news-list-item h3,.news-list-item h3 a,.product-mega__panel h3{
  color:var(--theme-primary,#0b4c9c)!important
}

/* Titles placed on photography or deep surfaces retain accessible white. */
.page-hero h1,.managed-page-banner h1,.news-detail__hero h1,
.enquiry-card h1,.enquiry-card h2,.engineering-note h2,.footer h3{
  color:#fff!important
}
@media(min-width:821px){
  .page-home .hero__content h1,.page-home .hero__content .hero-title,.page-home .hero__title{color:#fff!important}
}
@media(max-width:820px){
  .page-home .hero__content h1,.page-home .hero__content .hero-title,.page-home .hero__title{color:var(--theme-primary,#0b4c9c)!important}
}

/* Exact supplied brand blue with a clear white type hierarchy. */
.cta-band{
  color:#fff!important;background:var(--theme-primary,#0b4c9c)!important;
  border-top-color:#0a4388!important;border-bottom-color:#0a4388!important
}
.cta-band:before{display:none!important}
.cta-band:after{border-color:rgba(255,255,255,.09)!important}
.cta-band .eyebrow.light,.cta-band h2,.cta-band p,
.cta-band .cta-contact small,.cta-band .cta-contact strong{color:#fff!important}
.cta-band p{opacity:.86}
.cta-band .cta-contact small{opacity:.7}
.cta-band .button--light{
  color:var(--theme-primary,#0b4c9c)!important;background:#fff!important;border-color:#fff!important;
  box-shadow:0 12px 26px rgba(3,34,72,.22)!important
}
.cta-band .button--light:hover{color:#fff!important;background:#083d7d!important;border-color:#083d7d!important}

/* Five related blue tones: distinct enough to scan, close enough to stay corporate. */
.process-step:nth-child(1){--process-blue:#0b4c9c;--process-halo:#e9f1fb}
.process-step:nth-child(2){--process-blue:#1458a4;--process-halo:#edf3fb}
.process-step:nth-child(3){--process-blue:#1d64b0;--process-halo:#e9f2fc}
.process-step:nth-child(4){--process-blue:#286fbd;--process-halo:#edf4fb}
.process-step:nth-child(5){--process-blue:#347bc2;--process-halo:#eaf3fb}
.process-line:before{height:3px!important;background:linear-gradient(90deg,#8fb3dc,#0b4c9c,#79a6d5)!important;border-radius:999px}
.process-step>span{
  color:#fff!important;background:var(--process-blue,var(--theme-primary,#0b4c9c))!important;
  border-color:var(--process-halo,#eaf2fb)!important;
  box-shadow:0 0 0 2px var(--process-blue,var(--theme-primary,#0b4c9c)),0 10px 23px rgba(11,76,156,.16)!important
}
.process-step h3{color:var(--process-blue,var(--theme-primary,#0b4c9c))!important}

/* Supporting bold copy follows the same blue hierarchy without recolouring body text. */
.stats strong,.trust-strip strong,.excellence-item strong,.hero-benefits strong,
.catalog-summary strong,.contact-cards strong,.footer-certifications__copy strong{
  color:var(--theme-primary,#0b4c9c)!important
}
@media(min-width:821px){.page-home .hero-benefits strong{color:#fff!important}}
@media(max-width:820px){
  .process-step{border-top:3px solid var(--process-blue,var(--theme-primary,#0b4c9c))!important}
  .process-step>span{margin-bottom:14px!important}
}

/* ========================================================================== 
   ES-PRO V59.19 — unified corporate-blue contrast and motion system
   Cyan is removed from the visible interface. Brand blue leads actions and
   headlines; neutral labels and bright surfaces preserve a clear hierarchy.
   ========================================================================== */

/* A compact, dependable palette. Theme controls may still adjust the brand,
   while legacy teal/cyan tokens resolve to a quiet brand-blue tint. */
body{
  color:#5b6d7f!important;
  background:#f7f9fc!important
}
::selection{color:#fff!important;background:#0b4c9c!important}

/* Header: no coloured seam under the mobile or desktop navigation. */
.site-header{
  border-bottom:1px solid #e3e9f0!important;
  box-shadow:0 8px 26px rgba(16,42,70,.075)!important
}
.site-header::after{display:none!important;content:none!important}
.topbar{
  color:#fff!important;
  background:#0b4c9c!important;
  border:0!important
}
.topbar a,.topbar span,.topbar strong,.topbar__contacts .ui-icon,
.topbar-language .ui-icon{color:#fff!important}
.topbar a{opacity:.9}.topbar a:hover{opacity:1}

/* Light-surface typography: neutral overline, exact-blue headline, calm body. */
.section-heading>span,.section-heading .eyebrow,.showcase-heading .eyebrow,
.listing-body>span,.mega-column>span,.mega-intro>span,
.geo-answer-card>span,.geo-faq-card>span,
.capability-content>.eyebrow,.projects-heading>.eyebrow{
  color:#586f86!important
}
.eyebrow::before,.section-heading .eyebrow::before,
.showcase-heading .eyebrow::before,.listing-body>span::before{
  background:#0b4c9c!important
}
main h1,main h2,main h3,
.section-heading h2,.listing-body h2,.service-list-card h2,.industry-card h2,
.purpose-card h2,.purpose-card--dark h2,.process-step h3,
.news-card h2 a,.newsroom-card h3,.newsroom-card h3 a,
.news-list-item h3,.news-list-item h3 a,.product-mega__panel h3,
.excellence-heading h2,.excellence-item h3,.resource-card h3 a,
.catalog-product-card h3,.product-family-card h2 a{
  color:#0b4c9c!important
}
.section-heading>p,.section-heading.split p,.process-step p,
.excellence-item p,.resource-card p,.projects-heading p{
  color:#647587!important
}

/* Deep surfaces need inverse type, never dark blue on blue. */
.page-hero h1,.managed-page-banner h1,.news-detail__hero h1,
.engineering-note h1,.engineering-note h2,.enquiry-card h1,.enquiry-card h2,
.advantage-section .section-heading h2,.footer h1,.footer h2,.footer h3,
.projects-showcase .projects-heading h2,.projects-showcase .project-feature h3,
.geo-related-card h2,.geo-related-card h3{
  color:#fff!important
}
.page-hero .eyebrow,.managed-page-banner .eyebrow,.news-detail__hero .eyebrow,
.engineering-note .eyebrow,.advantage-section .eyebrow.light,
.projects-showcase .eyebrow.light,.geo-related-card>.eyebrow{
  color:#dce7f3!important
}
.page-hero .eyebrow::before,.managed-page-banner .eyebrow::before,
.engineering-note .eyebrow::before,.advantage-section .eyebrow::before,
.projects-showcase .eyebrow::before,.geo-related-card>.eyebrow::before{
  background:#fff!important
}

/* Homepage hero: one blue family, readable white copy and quiet controls. */
@media(min-width:821px){
  .page-home .hero__veil,
  .page-home .hero__slide[data-overlay-direction="right"] .hero__veil{
    background:linear-gradient(90deg,rgba(5,27,55,.94) 0%,rgba(6,39,76,.82) 37%,rgba(7,42,79,.43) 66%,rgba(7,32,60,.05) 100%)!important
  }
  .page-home .hero__content .eyebrow{color:#dce8f5!important}
  .page-home .hero__content .eyebrow::before{background:#fff!important}
  .page-home .hero-benefits>div>span{color:#fff!important;background:transparent!important}
  .page-home .hero-benefits strong{color:#fff!important}
  .page-home .hero-benefits small{color:#dce6f0!important}
  .page-home .hero-benefits>div{border-color:rgba(255,255,255,.24)!important}
}
.page-home .hero__dots button{
  background:rgba(255,255,255,.66)!important;
  border-color:transparent!important;
  box-shadow:none!important
}
.page-home .hero__dots button.active{
  background:#0b4c9c!important;
  border-color:#0b4c9c!important
}

/* Primary actions are exact company blue with legible white content. */
.nav-quote,.button--primary,.page-home .hero__actions .button--primary,
.page-home .showcase-heading__action .button,
.newsletter button,.newsroom-search button,.news-mobile-search button,
.footer-mobile__enquiry,.chat-lead__actions button,.espro-chat__composer button,
.mobile-nav__quote,.admin-file-picker__button{
  color:#fff!important;
  background:#0b4c9c!important;
  border-color:#0b4c9c!important;
  box-shadow:0 10px 24px rgba(11,76,156,.18)!important
}
.nav-quote *,.button--primary *,.mobile-nav__quote *{color:inherit!important}
.nav-quote:hover,.button--primary:hover,.page-home .hero__actions .button--primary:hover{
  color:#fff!important;
  background:#083d7d!important;
  border-color:#083d7d!important;
  box-shadow:0 14px 29px rgba(11,76,156,.25)!important
}
.button--outline,.page-home .hero__actions .button--outline{
  color:#0b4c9c!important;background:#fff!important;border-color:#0b4c9c!important
}
.button--outline:hover,.page-home .hero__actions .button--outline:hover{
  color:#fff!important;background:#0b4c9c!important;border-color:#0b4c9c!important
}

/* Process: neutral runway, five coordinated markers and blue headings. */
.process-section{
  background:linear-gradient(180deg,#f8fafc 0%,#f3f6fa 100%)!important;
  border-block:1px solid #e6ebf1!important
}
.process-line:before{
  height:2px!important;
  background:#b9cbe0!important;
  box-shadow:none!important
}
.process-step:nth-child(1){--process-blue:#0b4c9c;--process-halo:#e7eff9}
.process-step:nth-child(2){--process-blue:#1557a1;--process-halo:#eaf1f9}
.process-step:nth-child(3){--process-blue:#2365ac;--process-halo:#e9f0f8}
.process-step:nth-child(4){--process-blue:#326fae;--process-halo:#ecf2f8}
.process-step:nth-child(5){--process-blue:#477db5;--process-halo:#edf2f7}
.process-step>span{
  color:#fff!important;
  background:var(--process-blue,#0b4c9c)!important;
  border-color:var(--process-halo,#e7eff9)!important;
  box-shadow:0 0 0 2px var(--process-blue,#0b4c9c),0 10px 22px rgba(11,76,156,.14)!important
}
.process-step h3{color:#0b4c9c!important}

/* Excellence: white cards and graphite copy stop the section looking like one
   solid blue block while brand-blue icons keep the company signature clear. */
.excellence-strip{
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)!important;
  border-block:1px solid #e5ebf2!important
}
.excellence-item{
  border-radius:14px!important;
  transition:transform .28s ease,background .28s ease,box-shadow .28s ease!important
}
.excellence-item>span{
  color:#0b4c9c!important;
  background:#eaf1fa!important;
  box-shadow:inset 0 0 0 1px #d9e5f3!important
}
.excellence-item h3{color:#0b4c9c!important}
.excellence-item p{color:#66788a!important}
.excellence-item:hover{
  background:#fff!important;
  box-shadow:0 16px 34px rgba(19,47,82,.09)!important;
  transform:translateY(-5px)
}

/* Project showcase: controlled blue depth and guaranteed white card copy. */
.projects-showcase{
  color:#dce7f2!important;
  background:
    radial-gradient(circle at 88% 10%,rgba(75,125,181,.24),transparent 33%),
    linear-gradient(135deg,#061d39 0%,#073366 58%,#0b4c9c 125%)!important
}
.projects-showcase .projects-heading p{color:#d2deeb!important}
.projects-showcase .project-feature{
  border:1px solid rgba(255,255,255,.2)!important;
  box-shadow:0 17px 42px rgba(2,18,36,.25)!important;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease!important
}
.projects-showcase .project-feature__overlay{
  background:linear-gradient(180deg,rgba(3,24,48,.04) 18%,rgba(4,30,58,.48) 57%,rgba(3,24,48,.96) 100%)!important
}
.projects-showcase .project-feature small{color:#dce8f4!important}
.projects-showcase .project-feature h3{color:#fff!important;text-shadow:0 2px 13px rgba(0,18,39,.45)!important}
.projects-showcase .project-feature>div>span{color:#fff!important}
.projects-showcase .project-feature:hover{
  border-color:rgba(255,255,255,.52)!important;
  box-shadow:0 22px 54px rgba(2,18,36,.34)!important;
  transform:translateY(-5px)
}

/* Certification cards: remove cyan outlines and restore readable inverse copy. */
.footer-certifications,.footer-certifications--desktop,.footer-certifications--mobile{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.2)!important;
  box-shadow:0 12px 28px rgba(0,17,36,.18)!important
}
.footer-certifications__copy strong{color:#fff!important}
.footer-certifications__copy small{color:#d7e1eb!important}
.footer-certifications__copy p{color:#bdcad7!important}
.footer-certifications__copy i{color:#fff!important;background:#fff!important}
.footer-certifications img{border:0!important}

/* Other formerly teal dark panels now use the same blue/white contrast. */
.engineering-note,.enquiry-card,.geo-related-card,.standalone-system__cta{
  background:linear-gradient(135deg,#082b54 0%,#0b4c9c 100%)!important
}
.engineering-note p,.enquiry-card p,.geo-related-card>p,
.standalone-system__cta small,.standalone-system__cta strong{color:#fff!important}
.geo-related-card a{color:#fff!important;background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.18)!important}
.geo-related-card a:hover{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.42)!important}
.geo-related-card a i{color:#fff!important}
.chat-message__avatar span,.chat-message.is-revealing p::after,
.espro-chat__progress-track i{background:#0b4c9c!important}

/* Polished motion only: no page flash, no blur and no layout jump. */
@media(prefers-reduced-motion:no-preference){
  .section-heading .eyebrow::before,.showcase-heading .eyebrow::before,
  .projects-heading .eyebrow::before{
    transform:scaleX(.42);transform-origin:left center;
    transition:transform .52s cubic-bezier(.22,1,.36,1)!important
  }
  .section-heading.visible .eyebrow::before,.showcase-heading.visible .eyebrow::before,
  .projects-heading.visible .eyebrow::before{transform:scaleX(1)}
  .process-step>span{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease!important}
  .process-step:hover>span{transform:translateY(-4px) scale(1.045)}
  .service-card,.industry-showcase-card,.resource-card,.catalog-product-card{
    transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,border-color .3s ease!important
  }
  .service-card:hover,.industry-showcase-card:hover,.resource-card:hover,.catalog-product-card:hover{
    transform:translateY(-6px)
  }
}

@media(max-width:820px){
  .site-header{border-bottom-color:transparent!important;box-shadow:0 7px 22px rgba(16,42,70,.08)!important}
  .page-home .hero__dots button{background:#cbd4de!important}
  .page-home .hero__dots button.active{background:#0b4c9c!important}
  .page-home .hero-benefits>div{
    background:#f7f9fc!important;
    border-color:#dfe7f0!important;
    box-shadow:none!important
  }
  .page-home .hero-benefits>div>span{color:#0b4c9c!important;background:transparent!important}
  .page-home .hero-benefits strong{color:#0b4c9c!important}
  .page-home .hero-image-pill__signature strong,.page-home .hero-image-pill__e,
  .page-home .hero-image-pill__s,.page-home .hero-image-pill__pro{color:#0b4c9c!important}
  .process-step{border-top-color:#0b4c9c!important}
  .projects-showcase .project-feature:hover,.excellence-item:hover,
  .service-card:hover,.industry-showcase-card:hover,.resource-card:hover,
  .catalog-product-card:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .project-feature,.project-feature img,.excellence-item,.process-step>span,
  .service-card,.industry-showcase-card,.resource-card,.catalog-product-card{
    animation:none!important;transition:none!important
  }
}

/* ========================================================================== 
   ES-PRO V59.20 — editorial colour hierarchy and high-contrast components
   Brand blue is reserved for labels, actions and technical accents. Large
   headings use deep ink; copy on photography/deep panels is always white.
   ========================================================================== */
:root{
  --v5920-brand:var(--theme-primary,#0b4c9c);
  --v5920-brand-hover:color-mix(in srgb,var(--theme-primary,#0b4c9c) 82%,#001b36);
  --v5920-ink:var(--theme-primary-dark,#13293d);
  --v5920-body:#5c7084;
  --v5920-muted:#75879a;
  --v5920-tint:color-mix(in srgb,var(--theme-primary,#0b4c9c) 8%,white);
  --v5920-line:#d8e3ee;
  --v5920-deep:color-mix(in srgb,var(--theme-primary,#0b4c9c) 38%,#04182d);
  --v5920-deep-2:color-mix(in srgb,var(--theme-primary,#0b4c9c) 72%,#06233f)
}@supports not (color:color-mix(in srgb,red 50%,blue)){:root{--v5920-brand-hover:var(--cmx-ee6bf101);--v5920-tint:var(--cmx-3b414b3b);--v5920-deep:var(--cmx-f25b39fb);--v5920-deep-2:var(--cmx-b2926cea)}}

/* One consistent editorial hierarchy on every bright surface. */
main h1,main h2,main h3,
.page-home .showcase-heading h2,
.page-home .section-heading h2,
.page-home .service-card__body h3,
.page-home .product-mini strong,
.contact-intro h2,.office-note h3,
.catalog-product-card h3,.product-family-card h2 a,
.resource-card h3 a,.newsroom-card h3 a{
  color:var(--v5920-ink)!important
}
.eyebrow,.section-heading>span,.section-heading .eyebrow,
.showcase-heading .eyebrow,.listing-body>span,.capability-content>.eyebrow,
.resource-card small,.news-card__meta span,.news-kicker span,
.mega-column>span,.mega-intro>span,.text-link{
  color:var(--v5920-brand)!important
}
.eyebrow::before,.section-heading .eyebrow::before,
.showcase-heading .eyebrow::before,.listing-body>span::before{
  background:var(--v5920-brand)!important
}
.section-heading p,.showcase-heading__action p,.service-card p,
.product-mini p,.resource-card p,.contact-intro>p{
  color:var(--v5920-body)!important
}

/* Copy placed over images or deep panels is inverse and never low-contrast. */
.page-home .hero h1,.page-home .hero h2,
.page-home .industry-showcase-card h3,
.projects-showcase h2,.projects-showcase h3,
.projects-showcase .project-feature small,
.projects-showcase .project-feature>div>span,
.page-hero h1,.page-hero h2,.page-hero h3,
.managed-page-banner h1,.managed-page-banner h2,.managed-page-banner h3,
.engineering-note h1,.engineering-note h2,.engineering-note h3,
.advantage-section .section-heading h2,
.enquiry-card h1,.enquiry-card h2,.enquiry-card h3,
.geo-related-card h2,.geo-related-card h3,
.catalog-contact-card h2,.standalone-system__cta strong,
.cta-band h2,.footer h2,.footer h3,
.service-mega__intro strong,.product-mega__intro strong{
  color:#fff!important
}
.page-home .industry-showcase-card p,.projects-showcase p,
.engineering-note p,.advantage-section .section-heading>p,
.enquiry-card p,.catalog-contact-card p,.service-mega__intro p,
.product-mega__intro p{color:#d9e5f0!important}

/* Hero strengths: white text and clearly framed white icons on dark imagery. */
@media(min-width:821px){
  .page-home .hero .hero-benefits>div{
    align-items:center!important;
    border-right-color:rgba(255,255,255,.28)!important
  }
  .page-home .hero .hero-benefits>div>span{
    display:grid!important;width:36px!important;height:36px!important;
    place-items:center!important;color:#fff!important;
    background:rgba(255,255,255,.12)!important;
    border:1px solid rgba(255,255,255,.34)!important;
    border-radius:10px!important;
    box-shadow:0 8px 22px rgba(1,18,38,.18)!important
  }
  .page-home .hero .hero-benefits .ui-icon{width:21px!important;height:21px!important;color:#fff!important}
  .page-home .hero .hero-benefits strong,
  .page-home .hero .hero-benefits strong span{color:#fff!important}
  .page-home .hero .hero-benefits small{color:#dbe6f1!important;opacity:.94!important}
}

/* Language control: corporate blue selection, readable inactive choices. */
.language-button{
  color:#fff!important;background:var(--v5920-brand-hover)!important;
  border-color:rgba(255,255,255,.42)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.1)!important
}
.language-button .ui-icon,.language-button span{color:#fff!important}
.language-button:hover,.language-switcher.open .language-button{
  color:#fff!important;background:#072f62!important;border-color:rgba(255,255,255,.62)!important
}
.language-menu{
  background:#fff!important;border-color:var(--v5920-line)!important;
  box-shadow:0 24px 58px rgba(8,42,82,.2)!important
}
.language-menu a{
  color:#314960!important;background:#fff!important;
  border:1px solid transparent!important;box-shadow:none!important
}
.language-menu a:hover{
  color:var(--v5920-brand)!important;background:var(--v5920-tint)!important;
  border-color:#d7e3f0!important
}
.language-menu a.active{
  color:#fff!important;background:var(--v5920-brand)!important;
  border-color:var(--v5920-brand)!important;box-shadow:none!important
}
.language-menu b{
  color:var(--v5920-brand)!important;background:var(--v5920-tint)!important
}
.language-menu a.active b{color:var(--v5920-brand)!important;background:#fff!important}
.language-menu span{color:inherit!important}.language-menu i{color:inherit!important}

/* The small hero signature and slide progress use one corporate-blue family. */
.page-home .hero-image-pill__signature strong,
.page-home .hero-image-pill__e,.page-home .hero-image-pill__s,
.page-home .hero-image-pill__pro,
.page-home .hero-image-pill__item b,
.page-home .hero-image-pill__item .ui-icon{
  color:var(--v5920-brand)!important
}
.page-home .hero-image-pill__item .ui-icon{
  background:var(--v5920-tint)!important
}
.page-home .hero__dots button,
.mobile-carousel-progress button{
  background:#cbd5df!important;border-color:transparent!important;box-shadow:none!important
}
.page-home .hero__dots button.active,
.mobile-carousel-progress button.active{
  background:var(--v5920-brand)!important;border-color:var(--v5920-brand)!important
}
.page-home .hero__dots button.active::after{
  background:var(--v5920-brand)!important
}

/* Featured products: deep-ink title, brand overline and quiet blue accents. */
.page-home .product-showcase{
  background:
    radial-gradient(circle at 92% 8%,rgba(11,76,156,.075),transparent 28%),
    linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%)!important
}
.page-home .product-showcase::before{
  background:radial-gradient(circle,rgba(11,76,156,.07),transparent 68%)!important
}
.page-home .showcase-heading .eyebrow{color:var(--v5920-brand)!important}
.page-home .showcase-heading h2{color:var(--v5920-ink)!important}
.page-home .showcase-heading__action p{
  color:var(--v5920-body)!important;border-left-color:var(--v5920-brand)!important
}
.page-home .product-mini{
  border-color:var(--v5920-line)!important;
  box-shadow:0 14px 34px rgba(17,43,69,.075)!important
}
.page-home .product-mini small{color:var(--v5920-brand)!important}
.page-home .product-mini strong{color:var(--v5920-ink)!important}
.page-home .product-mini .product-arrow{
  color:var(--v5920-brand)!important;background:var(--v5920-tint)!important;
  border-color:#cddded!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)!important
}

/* Solution cards: dark headings, crisp brand icons and restrained body copy. */
.page-home .service-card{
  border-color:var(--v5920-line)!important;
  box-shadow:0 14px 34px rgba(17,43,69,.075)!important
}
.page-home .service-card__icon,.service-card__top i,
.trust-strip__icon,.excellence-item>span{
  color:var(--v5920-brand)!important;background:var(--v5920-tint)!important;
  border-color:#ccdded!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.76),0 7px 17px rgba(11,76,156,.08)!important
}
.page-home .service-card__body h3{color:var(--v5920-ink)!important}
.page-home .service-card__body .text-link{color:var(--v5920-brand)!important}

/* Industry cards: coordinated navy instead of teal/cyan, with white controls. */
.page-home .industries-section--showcase{
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%)!important
}
.page-home .industries-section--showcase .section-heading .eyebrow{
  color:var(--v5920-brand)!important
}
.page-home .industries-section--showcase .section-heading h2{
  color:var(--v5920-ink)!important
}
.page-home .industry-showcase-card{
  border-color:#d3dfeb!important;
  box-shadow:0 16px 38px rgba(17,43,69,.1)!important
}
.page-home .industry-showcase-card__body,
.page-home .industry-showcase-card:nth-child(n) .industry-showcase-card__body{
  background:linear-gradient(145deg,var(--v5920-deep) 0%,var(--v5920-deep-2) 100%)!important
}
.page-home .industry-showcase-card__icon{
  color:#fff!important;background:rgba(255,255,255,.11)!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.12)!important
}
.page-home .industry-showcase-card__icon .ui-icon{color:#fff!important}
.page-home .industry-showcase-card h3{color:#fff!important}
.page-home .industry-showcase-card p{color:#dce6f0!important}
.page-home .industry-showcase-card a{
  width:max-content!important;padding:8px 11px!important;color:#fff!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.36)!important;border-radius:8px!important
}
.page-home .industry-showcase-card a:hover{
  color:var(--v5920-deep)!important;background:#fff!important;border-color:#fff!important
}

/* Delivery process: match the supplied double-ring engineering timeline. */
.process-section{
  background:
    radial-gradient(circle at 2px 2px,rgba(11,76,156,.08) 1.3px,transparent 1.5px) 0 100%/16px 16px no-repeat,
    linear-gradient(135deg,rgba(11,76,156,.035) 0 14%,transparent 14% 84%,rgba(11,76,156,.035) 84%),
    linear-gradient(180deg,#fff 0%,#f8fafc 100%)!important;
  border-block-color:#e1e8f0!important
}
.process-section .section-heading .eyebrow{color:var(--v5920-brand)!important}
.process-section .section-heading h2{color:var(--v5920-ink)!important}
.process-section .section-heading p{color:var(--v5920-body)!important}
.process-step:nth-child(n){--process-blue:var(--v5920-brand);--process-halo:#e9f0f8}
@media(min-width:821px){
  .process-line{margin-top:54px!important}
  .process-line:before{
    top:40px!important;right:8%!important;left:8%!important;height:3px!important;
    background:#aebfd2!important;box-shadow:0 1px #fff!important
  }
  .process-step{padding-inline:18px!important}
  .process-step>span{
    width:80px!important;height:80px!important;margin:0 auto 72px!important;
    color:#fff!important;background:var(--v5920-brand)!important;
    border:10px solid #fff!important;
    box-shadow:0 0 0 3px #b8cce4,0 12px 28px rgba(11,76,156,.2)!important;
    font-size:1rem!important
  }
  .process-step::before{
    position:absolute;top:96px;left:50%;height:29px;
    border-left:3px dotted #6e98cb;content:"";transform:translateX(-50%)
  }
  .process-step::after{
    position:absolute;top:126px;left:50%;width:11px;height:11px;
    background:var(--v5920-brand);border:3px solid #f8fafc;border-radius:50%;
    box-shadow:0 0 0 1px rgba(11,76,156,.18);content:"";transform:translateX(-50%)
  }
  .process-step h3{margin-bottom:10px!important;color:var(--v5920-brand)!important}
}

/* Desktop menus: no leftover teal, and icons remain visible at a glance. */
.service-mega{border-color:var(--v5920-line)!important;box-shadow:0 30px 70px rgba(8,42,82,.2)!important}
.service-mega__intro{
  color:#dce7f2!important;background:linear-gradient(145deg,var(--v5920-deep),var(--v5920-brand))!important
}
.service-mega__intro>span{color:#fff!important}
.service-mega__intro strong,.service-mega__intro a{color:#fff!important}
.service-mega__intro p{color:#dce7f2!important}
.service-mega>nav>a:hover{background:var(--v5920-tint)!important}
.service-mega__icon{
  color:var(--v5920-brand)!important;background:var(--v5920-tint)!important;
  border:1px solid #d5e2ef!important
}
.service-mega__icon .ui-icon{color:var(--v5920-brand)!important}
.service-mega>nav>a strong{color:var(--v5920-ink)!important}
.service-mega>nav>a small{color:var(--v5920-muted)!important}
.service-mega>nav>a>i{color:var(--v5920-brand)!important}
.product-mega__intro{background:linear-gradient(145deg,var(--v5920-deep),var(--v5920-brand))!important}
.product-mega__family:hover,.product-mega__family.active{color:var(--v5920-brand)!important;background:var(--v5920-tint)!important}

/* Contact choices: same neutral card treatment, no cyan border on one item. */
.page-contact .contact-cards>*{
  color:var(--v5920-brand)!important;background:#f7f9fc!important;
  border:1px solid transparent!important;border-radius:12px!important;
  transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease!important
}
.page-contact .contact-cards>*:hover{
  background:#fff!important;border-color:#aac0d8!important;
  box-shadow:0 12px 28px rgba(17,43,69,.09)!important;transform:translateY(-2px)
}
.page-contact .contact-cards i{
  color:var(--v5920-brand)!important;background:var(--v5920-tint)!important;
  border:1px solid #d5e2ef!important;box-shadow:none!important
}
.page-contact .contact-cards small{color:var(--v5920-brand)!important}
.page-contact .contact-cards strong,.page-contact .contact-cards strong a{
  color:var(--v5920-ink)!important
}

/* Catalogue/search remnants use brand blue rather than old turquoise. */
.catalog-feature-grid svg,.catalog-category-link i,
.global-search-result__icon,.global-search-results small,.global-search-results b{
  color:var(--v5920-brand)!important
}
.catalog-process-flow span,.global-search-result__icon{
  background:var(--v5920-tint)!important;border-color:#d3e1ef!important
}
.catalog-process-flow span:not(:last-child)::after{color:var(--v5920-brand)!important}
.catalog-contact-card{
  background:linear-gradient(145deg,var(--v5920-deep),var(--v5920-brand))!important
}
.catalog-contact-card>span{color:#fff!important}.catalog-contact-card>a{color:var(--v5920-brand)!important}

/* Staggered motion is short, stable and disabled for reduced-motion users. */
@keyframes v5920-marker-in{
  0%{opacity:.35;transform:scale(.78)}
  65%{opacity:1;transform:scale(1.06)}
  100%{opacity:1;transform:scale(1)}
}
@media(prefers-reduced-motion:no-preference){
  .process-step.visible>span{animation:v5920-marker-in .58s cubic-bezier(.22,1,.36,1) both}
  .process-step:nth-child(2).visible>span{animation-delay:.07s}
  .process-step:nth-child(3).visible>span{animation-delay:.14s}
  .process-step:nth-child(4).visible>span{animation-delay:.21s}
  .process-step:nth-child(5).visible>span{animation-delay:.28s}
  .page-home .product-mini:hover .product-arrow,
  .page-home .service-card:hover .service-card__icon{transform:translateY(-2px) scale(1.04)}
}

@media(max-width:820px){
  .site-header{border-bottom-color:#e3e9f0!important}
  .site-header::after{display:none!important;content:none!important}
  .mobile-language a{color:#314960!important;background:#f7f9fc!important;border-color:#dce5ee!important}
  .mobile-language a b{color:var(--v5920-brand)!important;background:var(--v5920-tint)!important}
  .mobile-language a.active{color:#fff!important;background:var(--v5920-brand)!important;border-color:var(--v5920-brand)!important}
  .mobile-language a.active b{color:var(--v5920-brand)!important;background:#fff!important}
  .page-home .hero .hero-benefits strong,
  .page-home .hero .hero-benefits strong span{color:var(--v5920-brand)!important}
  .page-home .hero .hero-benefits>div>span{color:var(--v5920-brand)!important}
  .process-step::before,.process-step::after{display:none!important;content:none!important}
  .process-step>span{background:var(--v5920-brand)!important;border-color:#fff!important;box-shadow:0 0 0 2px #b8cce4,0 9px 22px rgba(11,76,156,.15)!important}
  .process-step h3{color:var(--v5920-brand)!important}
}
