:root{
  --navy:#07366d;
  --navy-deep:#052951;
  --navy-soft:#0c3b63;
  --teal:#286fbd;
  --teal-bright:#19bdc5;
  --cyan:#dff7f8;
  --ink:#09253f;
  --body:#41566a;
  --muted:#718395;
  --line:#dce6eb;
  --soft:#f4f8fa;
  --white:#fff;
  --shadow-sm:0 10px 30px rgba(5,36,64,.08);
  --shadow:0 24px 70px rgba(5,36,64,.14);
  --radius:18px;
  --container:min(1320px,calc(100% - 80px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;color:var(--body);background:#fff;font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.nav-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{color:var(--ink);font-weight:800;line-height:1.12;letter-spacing:-.035em}
h1{font-size:clamp(3rem,5.15vw,5.35rem)}
h2{font-size:clamp(2.05rem,3.2vw,3.75rem)}
h3{font-size:1.25rem}
p{margin-bottom:1.25rem}
.container{width:var(--container);margin-inline:auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:9999;top:-80px;left:24px;padding:12px 18px;color:#fff;background:var(--navy);border-radius:8px}
.skip-link:focus{top:18px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;color:#0b4c9c;font-size:.75rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.eyebrow:before{width:28px;height:2px;content:"";background:currentColor}
.eyebrow.light{color:#a8cefa}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:10px;padding:13px 23px;border:1px solid transparent;border-radius:8px;font-size:.75rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease}
.button span{font-size:1rem;line-height:1}
.button:hover{transform:translateY(-3px)}
.button--primary{color:#fff;background:linear-gradient(135deg,#078b97,var(--teal-bright));box-shadow:0 12px 28px rgba(7,154,167,.25)}
.button--primary:hover{box-shadow:0 16px 36px rgba(7,154,167,.34)}
.button--secondary{color:#fff;background:var(--navy);box-shadow:0 12px 28px rgba(6,40,71,.2)}
.button--outline{color:var(--navy);background:rgba(255,255,255,.86);border-color:rgba(6,40,71,.25);backdrop-filter:blur(12px)}
.button--outline:hover{background:#fff;border-color:var(--navy)}
.button--light{color:var(--navy);background:#fff;box-shadow:0 12px 30px rgba(3,26,49,.13)}
.button--ghost-light{color:#fff;background:transparent;border-color:rgba(255,255,255,.42)}
.button--ghost-light:hover{background:#fff;color:var(--navy)}
.block{width:100%}
.text-link{display:inline-flex;align-items:center;gap:8px;color:#1e6db9;font-size:.74rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.text-link span{font-size:1rem;transition:transform .2s}
.text-link:hover span{transform:translateX(4px)}
.surface-soft{background:linear-gradient(180deg,#f7fafb,#edf5f7)}
.section{padding:112px 0}
.section-heading{margin-bottom:48px}
.section-heading h2{max-width:760px;margin-bottom:0}
.section-heading p{max-width:680px;color:var(--muted)}
.section-heading.split{display:grid;align-items:end;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:90px}
.section-heading.split>div:last-child p,.section-heading.split>p{margin-bottom:18px}
.section-heading.centered{max-width:830px;margin-inline:auto;text-align:center}
.section-heading.centered .eyebrow{justify-content:center}
.section-heading.centered p{margin:20px auto 0}

/* Header */
.site-header{position:relative;z-index:500;background:#fff}
.topbar{color:#24425d;background:#f2f6f8;border-bottom:1px solid #e1e9ed;font-size:.72rem}
.topbar__inner,.topbar__contacts,.topbar__actions{display:flex;align-items:center}
.topbar__inner{min-height:38px;justify-content:space-between;gap:24px}
.topbar__contacts{gap:25px;white-space:nowrap}
.topbar__contacts a:hover,.topbar__actions a:hover{color:var(--teal)}
.topbar__actions{gap:24px;color:var(--ink);font-weight:750}
.nav-shell{position:relative;background:rgba(255,255,255,.98);border-bottom:1px solid rgba(6,40,71,.08)}
.site-header.scrolled .nav-shell{position:fixed;inset:0 0 auto;box-shadow:0 12px 45px rgba(5,36,64,.12);animation:headerDown .35s ease}
@keyframes headerDown{from{transform:translateY(-100%)}to{transform:none}}
.navbar{display:flex;min-height:92px;align-items:center;gap:30px}
.brand{display:flex;width:190px;flex:0 0 190px;align-items:center}
.brand img{width:100%;height:64px;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;min-width:0;flex:1;align-items:center;justify-content:center;gap:clamp(14px,1.35vw,27px)}
.desktop-nav>a,.desktop-nav>.nav-item>a{position:relative;display:flex;min-height:92px;align-items:center;gap:4px;color:#16364f;font-size:.69rem;font-weight:850;white-space:nowrap;text-transform:uppercase}
.desktop-nav>a:after,.desktop-nav>.nav-item>a:after{position:absolute;right:50%;bottom:22px;left:50%;height:3px;content:"";background:var(--teal);border-radius:2px;transition:.25s ease}
.desktop-nav>a:hover:after,.desktop-nav>a.active:after,.desktop-nav>.nav-item>a:hover:after,.desktop-nav>.nav-item>a.active:after{right:0;left:0}
.nav-item{position:relative}
.nav-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}
.nav-quote{min-height:48px;padding-inline:18px;font-size:.68rem}
.search-toggle{display:grid;width:42px;height:42px;place-items:center;color:var(--navy);background:transparent;border:0;border-radius:50%;font-size:1.4rem}
.search-toggle:hover{background:var(--soft)}
.mobile-toggle{display:none;width:44px;height:44px;place-items:center;background:transparent;border:0;border-radius:8px}
.mobile-toggle span{display:block;width:23px;height:2px;margin:3px;background:var(--navy);transition:.25s}
.search-panel{position:absolute;z-index:40;top:100%;right:0;left:0;padding:22px 0;background:#fff;border-top:1px solid var(--line);box-shadow:var(--shadow-sm)}
[hidden]{display:none!important}
.search-form,.large-search{display:flex;gap:12px}
.search-form input,.large-search input{min-width:0;flex:1;padding:15px 18px;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:9px;outline:0}
.search-form input:focus,.large-search input:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(7,154,167,.1)}
.mega-menu{position:absolute;top:calc(100% - 1px);left:50%;display:grid;width:min(880px,calc(100vw - 60px));padding:30px;grid-template-columns:1.05fr 1fr 1fr;gap:32px;background:#fff;border:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:0 30px 70px rgba(4,30,54,.18);opacity:0;visibility:hidden;transform:translate(-40%,-8px);transition:.25s;pointer-events:none}
.has-mega:hover .mega-menu,.has-mega:focus-within .mega-menu{opacity:1;visibility:visible;transform:translate(-40%,0);pointer-events:auto}
.mega-intro{padding:24px;color:#d8e8ef;background:linear-gradient(145deg,var(--navy),#0c466f);border-radius:12px}
.mega-intro>span,.mega-column>span{display:block;margin-bottom:11px;color:var(--teal-bright);font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.mega-intro strong{display:block;margin-bottom:22px;color:#fff;font-size:1.25rem;line-height:1.25}
.mega-intro a{color:#fff;font-size:.74rem;font-weight:800;text-transform:uppercase}
.mega-column{display:flex;flex-direction:column}
.mega-column a{padding:9px 0;color:#29465d;border-bottom:1px solid #edf1f3;font-size:.82rem;line-height:1.35}
.mega-column a:hover{color:var(--teal);padding-left:5px}

/* Hero */
.hero{position:relative;min-height:680px;overflow:hidden;background:var(--soft)}
.hero__slide{position:absolute;inset:0;visibility:hidden;opacity:0;transition:opacity .8s ease,visibility .8s}
.hero__slide.active{visibility:visible;opacity:1}
.hero__slide>img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero__slide.active>img{animation:heroZoom 8s ease-out both}
@keyframes heroZoom{from{transform:scale(1.035)}to{transform:scale(1)}}
.hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,251,252,.99) 0%,rgba(248,251,252,.96) 32%,rgba(248,251,252,.66) 53%,rgba(4,30,54,.12) 78%,rgba(4,30,54,.25) 100%)}
.hero__content{position:absolute;z-index:2;top:50%;right:0;left:0;transform:translateY(-50%)}
.hero__content h1,.hero__content .hero-title{max-width:750px;margin-bottom:24px;font-size:clamp(3rem,5.15vw,5.35rem)}
.hero__content p{max-width:650px;margin-bottom:32px;color:#2e465a;font-size:1.1rem;line-height:1.68}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.hero__dots{position:absolute;z-index:4;bottom:52px;left:50%;display:flex;gap:8px;transform:translateX(-50%)}
.hero__dots button{width:40px;height:5px;padding:0;background:rgba(255,255,255,.75);border:0;border-radius:5px;box-shadow:0 2px 9px rgba(0,0,0,.14)}
.hero__dots button.active{background:var(--teal)}
.trust-strip{position:relative;z-index:20;display:grid;min-height:112px;margin-top:-56px;grid-template-columns:repeat(5,1fr);overflow:hidden;background:#fff;border:1px solid rgba(6,40,71,.07);border-radius:15px;box-shadow:0 24px 65px rgba(5,36,64,.14)}
.trust-strip__item{position:relative;display:flex;align-items:center;justify-content:center;gap:15px;padding:24px 20px}
.trust-strip__item+*::before{position:absolute;top:24%;bottom:24%;left:0;width:1px;content:"";background:var(--line)}
.trust-strip__item i{width:13px;height:13px;flex:0 0 auto;border:3px solid var(--teal);transform:rotate(45deg)}
.trust-strip__item div{display:flex;flex-direction:column}
.trust-strip__item strong{color:var(--ink);font-size:1.02rem;line-height:1.25}
.trust-strip__item span{margin-top:3px;color:var(--muted);font-size:.63rem;font-weight:780;letter-spacing:.04em;text-transform:uppercase}

/* Home */
.intro-section{padding:108px 0 90px}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:105px;align-items:end}
.intro-grid .section-heading{margin:0}
.intro-copy p{font-size:1.08rem;line-height:1.85}
.services-section{padding-top:105px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-card{position:relative;min-height:330px;padding:34px 30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:.3s ease}
.service-card:after{position:absolute;right:0;bottom:0;left:0;height:4px;content:"";background:linear-gradient(90deg,var(--teal),var(--teal-bright));transform:scaleX(0);transform-origin:left;transition:.3s}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:rgba(7,154,167,.3)}
.service-card:hover:after{transform:scaleX(1)}
.service-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}
.service-card__top span{color:#a5b6c3;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.service-card__top i{display:grid;width:56px;height:56px;place-items:center;color:var(--teal);background:var(--cyan);border-radius:50%;font-size:1.45rem;font-style:normal}
.service-card h3{font-size:1.38rem}
.service-card p{color:var(--muted);font-size:.92rem}
.product-showcase{padding:105px 0 112px;color:#c8d9e6;background:radial-gradient(circle at 84% 20%,rgba(25,189,197,.15),transparent 26%),linear-gradient(135deg,#052951,#07366d)}
.showcase-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}
.showcase-heading h2{max-width:760px;margin:0;color:#fff}
.product-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.product-mini{position:relative;display:flex;min-width:0;flex-direction:column;padding-bottom:10px;transition:.3s}
.product-mini__image{display:block;overflow:hidden;margin-bottom:18px;border:1px solid rgba(255,255,255,.18);border-radius:12px}
.product-mini img{width:100%;aspect-ratio:1.35/1;object-fit:cover;transition:.5s}
.product-mini small{margin-bottom:7px;color:#a8cefa;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.product-mini strong{padding-right:30px;color:#fff;font-size:.9rem;line-height:1.45}
.product-arrow{position:absolute;right:4px;bottom:13px;color:var(--teal-bright);font-size:1.25rem}
.product-mini:hover{transform:translateY(-6px)}
.product-mini:hover img{transform:scale(1.06)}
.capability-grid{display:grid;align-items:center;grid-template-columns:1fr 1fr;gap:90px}
.capability-media{position:relative}
.capability-media:before{position:absolute;z-index:-1;top:-25px;right:-25px;width:45%;height:55%;content:"";background:var(--cyan);border-radius:20px}
.capability-media img{width:100%;min-height:590px;object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}
.capability-media>span{position:absolute;right:-25px;bottom:34px;display:flex;width:185px;height:185px;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:#d9e7ef;background:var(--navy);border:8px solid #fff;border-radius:50%;font-size:.72rem;font-weight:800;line-height:1.35;text-align:center;text-transform:uppercase}
.capability-media>span strong{display:block;margin-bottom:4px;color:#fff;font-size:2.25rem;line-height:1.05;text-transform:none}
.capability-content>p{font-size:1.04rem;line-height:1.8}
.feature-list{display:grid;padding:0;margin:32px 0 38px;grid-template-columns:repeat(2,1fr);gap:20px 25px;list-style:none}
.feature-list li{position:relative;padding-left:25px}
.feature-list li:before{position:absolute;top:8px;left:0;width:10px;height:10px;content:"";background:var(--teal);border-radius:50%;box-shadow:0 0 0 6px rgba(7,154,167,.1)}
.feature-list strong,.feature-list span{display:block}
.feature-list strong{margin-bottom:3px;color:var(--ink);font-size:.92rem}
.feature-list span{color:var(--muted);font-size:.82rem;line-height:1.55}
.process-section{overflow:hidden}
.process-line{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:60px}
.process-line:before{position:absolute;top:31px;right:10%;left:10%;height:2px;content:"";background:linear-gradient(90deg,var(--teal),#9fd8dc)}
.process-step{position:relative;padding:0 22px;text-align:center}
.process-step>span{position:relative;z-index:2;display:grid;width:64px;height:64px;margin:0 auto 25px;place-items:center;color:#fff;background:var(--navy);border:7px solid #edf5f7;border-radius:50%;box-shadow:0 0 0 2px var(--teal);font-size:.74rem;font-weight:900}
.process-step h3{margin-bottom:10px}
.process-step p{color:var(--muted);font-size:.85rem;line-height:1.55}
.industry-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.industry-card{position:relative;min-height:420px;overflow:hidden;border-radius:16px;background:var(--navy)}
.industry-card:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,rgba(3,26,49,.02) 25%,rgba(3,26,49,.92) 90%)}
.industry-card img{width:100%;height:100%;object-fit:cover;transition:.6s}
.industry-card>div{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:30px;color:#d8e5ed}
.industry-card h3{margin-bottom:8px;color:#fff;font-size:1.45rem}
.industry-card p{margin-bottom:14px;font-size:.86rem}
.industry-card a{color:#a8cefa;font-size:.72rem;font-weight:850;text-transform:uppercase}
.industry-card:hover img{transform:scale(1.07)}
.projects-showcase{color:#c7d8e4;background:linear-gradient(135deg,#052951,#06365a)}
.projects-showcase .container{display:grid;grid-template-columns:340px 1fr;gap:60px}
.projects-heading{padding-top:15px}
.projects-heading h2{color:#fff;font-size:2.8rem}
.projects-heading p{margin-bottom:30px}
.project-feature-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(2,250px);gap:18px}
.project-feature{position:relative;overflow:hidden;border-radius:14px}
.project-feature--large{grid-row:1/3}
.project-feature img{width:100%;height:100%;object-fit:cover;transition:.55s}
.project-feature__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,26,49,.04),rgba(3,26,49,.9))}
.project-feature>div{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:28px}
.project-feature small{color:#a8cefa;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.project-feature h3{margin:8px 0 12px;color:#fff;font-size:1.32rem}
.project-feature>div>span{color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase}
.project-feature:hover img{transform:scale(1.06)}
.partners-section{overflow:hidden;background:#fff}
.logo-marquee{position:relative;overflow:hidden;width:100%;padding:12px 0 30px}
.logo-marquee:before,.logo-marquee:after{position:absolute;z-index:2;top:0;bottom:0;width:13vw;content:"";pointer-events:none}
.logo-marquee:before{left:0;background:linear-gradient(90deg,#fff,transparent)}
.logo-marquee:after{right:0;background:linear-gradient(-90deg,#fff,transparent)}
.logo-track{display:flex;width:max-content;gap:20px;animation:marquee 28s linear infinite}
.logo-marquee:hover .logo-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(calc(-50% - 10px))}}
.logo-tile{display:grid;width:210px;height:115px;flex:0 0 210px;place-items:center;padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}
.logo-tile img{max-width:155px;max-height:70px;object-fit:contain}
.certification-grid{display:grid;align-items:center;grid-template-columns:1.15fr .65fr;gap:100px}
.certification-copy>p{max-width:720px;font-size:1.04rem}
.quality-points{display:grid;margin-top:35px;grid-template-columns:repeat(3,1fr);gap:15px}
.quality-points>div{padding:23px;background:#fff;border:1px solid var(--line);border-radius:12px}
.quality-points strong,.quality-points span{display:block}
.quality-points strong{margin-bottom:8px;color:var(--ink)}
.quality-points span{color:var(--muted);font-size:.8rem;line-height:1.55}
.certificate-card{justify-self:center;padding:32px 40px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.certificate-card img{max-height:330px;margin:auto;object-fit:contain}
.certificate-card span{display:block;margin-top:18px;color:var(--muted);font-size:.68rem;text-align:center;text-transform:uppercase}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.resource-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;transition:.3s}
.resource-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.resource-card>a{display:block;overflow:hidden}
.resource-card img{width:100%;aspect-ratio:1.58/1;object-fit:cover;transition:.5s}
.resource-card:hover img{transform:scale(1.05)}
.resource-card>div{padding:26px}
.resource-card small{display:block;margin-bottom:10px;color:var(--teal);font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.resource-card h3{font-size:1.3rem}
.resource-card p{color:var(--muted);font-size:.88rem}

/* Inner page heroes */
.page-hero{position:relative;min-height:500px;overflow:hidden;color:#d7e4ec;background:radial-gradient(circle at 78% 12%,rgba(25,189,197,.2),transparent 30%),linear-gradient(135deg,var(--navy-deep),var(--navy-soft))}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,26,49,.96) 0%,rgba(3,26,49,.88) 48%,rgba(3,26,49,.3) 100%)}
.page-content{position:relative;z-index:3;display:flex;min-height:500px;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:75px}
.page-hero h1{max-width:900px;margin-bottom:20px;color:#fff;font-size:clamp(2.8rem,4.9vw,5rem)}
.page-hero p{max-width:760px;margin:0;font-size:1.08rem;line-height:1.75}
.page-hero.detail,.page-hero.detail .page-content{min-height:575px}
.page-hero.compact,.page-hero.compact .page-content{min-height:300px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px;color:#b3c7d4;font-size:.76rem}
.breadcrumb a:hover{color:#fff}
.story{display:grid;align-items:center;grid-template-columns:.95fr 1.05fr;gap:90px}
.story-image{position:relative}
.story-image img{width:100%;min-height:620px;object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}
.story-image>span{position:absolute;right:-28px;bottom:38px;display:flex;width:175px;height:175px;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:#cddde7;background:var(--navy);border:9px solid #fff;border-radius:50%;font-size:.7rem;font-weight:800;line-height:1.35;text-align:center;text-transform:uppercase}
.story-image strong{margin-bottom:3px;color:#fff;font-size:2.6rem;line-height:1}
.stats{display:grid;margin-top:34px;grid-template-columns:repeat(2,1fr);gap:14px}
.stats div{display:flex;min-height:100px;flex-direction:column;justify-content:center;padding:20px;background:var(--soft);border-left:4px solid var(--teal);border-radius:10px}
.stats strong{color:var(--ink);font-size:1.35rem}
.stats span{color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}
.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.purpose-card{display:grid;min-height:360px;padding:50px;grid-template-columns:65px 1fr;gap:25px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.purpose-card>span{color:var(--teal);font-size:1rem;font-weight:900}
.purpose-card small{color:var(--teal);font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.purpose-card h2{margin:12px 0 20px;font-size:2rem}
.purpose-card p{font-size:1rem}
.purpose-card--dark{color:#c9d9e5;background:linear-gradient(145deg,var(--navy),var(--navy-soft));border:0}
.purpose-card--dark h2{color:#fff}
.purpose-card--dark>span,.purpose-card--dark small{color:#a8cefa}
.timeline{position:relative;max-width:950px;margin:60px auto 0}
.timeline:before{position:absolute;top:0;bottom:0;left:157px;width:2px;content:"";background:var(--line)}
.timeline-item{position:relative;display:grid;padding:0 0 55px;grid-template-columns:135px 1fr;gap:55px}
.timeline-item:before{position:absolute;top:5px;left:150px;width:16px;height:16px;content:"";background:#fff;border:4px solid var(--teal);border-radius:50%}
.timeline-item>span{color:var(--teal);font-size:.8rem;font-weight:900;text-align:right;text-transform:uppercase}
.timeline-item h3{margin-bottom:8px;font-size:1.35rem}
.timeline-item p{max-width:650px;color:var(--muted)}
.advantage-section{color:#c7d8e4;background:linear-gradient(135deg,#052951,#07366d)}
.advantage-section .section-heading h2{color:#fff}
.advantage-section .section-heading>p{color:#c7d8e4}
.advantage-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.advantage-card{overflow:hidden;background:#fff;border-radius:18px}
.advantage-card img{width:100%;aspect-ratio:1.8/1;object-fit:cover}
.advantage-card>div{padding:34px}
.advantage-card small{color:var(--teal);font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.advantage-card h3{margin:9px 0 15px;font-size:1.75rem}
.advantage-card p{color:var(--body)}
.advantage-card ul{padding-left:19px;color:var(--body)}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.category-card{position:relative;min-height:500px;overflow:hidden;background:var(--navy);border-radius:18px}
.category-card:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,rgba(3,26,49,.04) 20%,rgba(3,26,49,.95) 90%)}
.category-card img{width:100%;height:100%;object-fit:cover;transition:.55s}
.category-card>div{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:36px;color:#d4e1e9}
.category-card span{color:#a8cefa;font-size:.72rem;font-weight:900}
.category-card h2{margin:10px 0 12px;color:#fff;font-size:2rem}
.category-card p{margin:0;font-size:.9rem}
.category-card:hover img{transform:scale(1.06)}
.filter-bar{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:45px}
.filter-bar h2{margin:0;font-size:2.6rem}
.filter-bar select{min-width:240px;padding:14px 16px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:9px;outline:0}
.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.listing-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;transition:.3s}
.listing-card.hidden{display:none}
.listing-card:hover{transform:translateY(-7px);border-color:rgba(7,154,167,.35);box-shadow:var(--shadow)}
.listing-image{display:block;overflow:hidden;aspect-ratio:1.52/1}
.listing-image img{width:100%;height:100%;object-fit:cover;transition:.55s}
.listing-card:hover img{transform:scale(1.055)}
.listing-body{padding:28px}
.listing-body>span{display:block;margin-bottom:9px;color:var(--teal);font-size:.65rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.listing-body h2{margin-bottom:12px;font-size:1.4rem}
.listing-body p{color:var(--muted);font-size:.9rem}
.engineering-note{padding:70px 0;background:linear-gradient(135deg,var(--teal),#087c9d)}
.engineering-note__inner{display:grid;align-items:center;grid-template-columns:1.15fr .8fr auto;gap:55px;color:#e1f4f5}
.engineering-note h2{margin:0;color:#fff;font-size:2.3rem}
.engineering-note p{margin:0}
.service-list-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.service-list-card{display:grid;min-height:320px;overflow:hidden;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid var(--line);border-radius:18px;transition:.3s}
.service-list-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.service-list-card>img{width:100%;height:100%;object-fit:cover}
.service-list-card>div{padding:36px}
.service-list-card>div>span{color:#a5b6c3;font-size:.75rem;font-weight:900}
.service-list-card h2{margin:18px 0 13px;font-size:1.75rem}
.service-list-card p{color:var(--muted);font-size:.9rem}
.lifecycle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}
.lifecycle-card{position:relative;min-height:300px;padding:32px 25px;background:#fff;border:1px solid var(--line);border-radius:14px}
.lifecycle-card i{display:block;width:42px;height:42px;margin-bottom:35px;background:var(--cyan);border:10px solid var(--teal);border-radius:50%;box-shadow:0 0 0 7px rgba(7,154,167,.08)}
.lifecycle-card h3{font-size:1.12rem}
.lifecycle-card p{color:var(--muted);font-size:.82rem}
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.industry-grid article{position:relative;min-height:330px;overflow:hidden;padding:40px;background:linear-gradient(145deg,#fff,#f1f7f8);border:1px solid var(--line);border-radius:16px;transition:.3s}
.industry-grid article:hover{transform:translateY(-6px);box-shadow:var(--shadow-sm)}
.industry-grid article>span{position:absolute;top:13px;right:24px;color:rgba(7,154,167,.1);font-size:6rem;font-weight:900;line-height:1}
.industry-grid h2,.industry-grid p,.industry-grid a{position:relative}
.industry-grid h2{font-size:1.8rem}
.industry-grid p{color:var(--muted)}
.detail-section{background:#fff}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:85px}
.prose{color:#31495e;font-size:1.02rem;line-height:1.82}
.prose h2,.prose h3{margin:38px 0 15px}
.prose h2{font-size:2.1rem}
.prose ul{padding-left:22px}
.prose.narrow{max-width:900px}
.check-list{display:grid!important;padding:0!important;grid-template-columns:repeat(2,1fr);gap:12px;list-style:none}
.check-list li{position:relative;padding:15px 16px 15px 40px;color:#176e67;background:var(--soft);border-radius:9px}
.check-list li:before{position:absolute;top:17px;left:16px;content:"✓";font-weight:900}
.facts{display:grid;margin-top:34px;grid-template-columns:repeat(2,1fr);overflow:hidden;border:1px solid var(--line);border-radius:10px}
.facts div{display:flex;flex-direction:column;padding:20px}
.facts div+div{border-left:1px solid var(--line)}
.facts span{color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase}
.facts strong{color:var(--ink)}
.enquiry-card{position:sticky;top:115px;align-self:start;padding:38px;color:#c6d7e2;background:radial-gradient(circle at 90% 8%,rgba(25,189,197,.25),transparent 35%),var(--navy);border-radius:16px;box-shadow:var(--shadow)}
.enquiry-card h2{color:#fff;font-size:2rem}
.enquiry-card p{font-size:.9rem}
.aside-contact{display:flex;margin-top:28px;padding-top:22px;flex-direction:column;border-top:1px solid rgba(255,255,255,.16)}
.aside-contact>span{margin-bottom:8px;color:#a8cefa;font-size:.66rem;font-weight:850;text-transform:uppercase}
.aside-contact a{font-size:.86rem}
.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}
.contact-intro>p{font-size:1.03rem}
.contact-cards{display:grid;gap:12px;margin-top:32px}
.contact-cards>*{display:flex;align-items:center;gap:16px;padding:18px;color:var(--teal);background:var(--soft);border:1px solid transparent;border-radius:11px}
.contact-cards a:hover{border-color:rgba(7,154,167,.35);background:#fff}
.contact-cards i{display:grid;width:44px;height:44px;place-items:center;background:#fff;border-radius:50%;font-size:1.2rem;font-style:normal}
.contact-cards span{display:flex;min-width:0;flex-direction:column}
.contact-cards small{font-size:.66rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.contact-cards strong{color:var(--ink);font-size:.88rem;overflow-wrap:anywhere}
.office-note{margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}
.office-note h3{font-size:1rem;text-transform:uppercase}
.office-note p{font-size:.9rem}
.enquiry-form{padding:42px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.enquiry-form h2{margin-bottom:8px;font-size:2.2rem}
.enquiry-form>p{color:var(--muted);font-size:.8rem}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.form-grid label{display:grid;gap:7px}
.form-grid label>span{color:var(--ink);font-size:.75rem;font-weight:780}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:14px 15px;color:var(--ink);background:#f8fafb;border:1px solid var(--line);border-radius:9px;outline:0}
.form-grid textarea{resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(7,154,167,.1)}
.form-grid .wide{grid-column:1/-1}
.honeypot{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden;opacity:0}
.search-results{max-width:920px}
.search-results>p{margin:32px 0 12px}
.search-results article{padding:25px 0;border-bottom:1px solid var(--line)}
.search-results article>span{color:var(--teal);font-size:.68rem;font-weight:850;text-transform:uppercase}
.search-results article h2{margin:6px 0;font-size:1.5rem}
.not-found{display:grid;min-height:70vh;place-items:center;padding:100px 20px;text-align:center}
.not-found>div>span{display:block;color:rgba(7,154,167,.13);font-size:clamp(8rem,20vw,15rem);font-weight:950;line-height:.8}
.not-found h1{margin:28px 0 12px}
.toast{position:fixed;z-index:1000;top:22px;left:50%;max-width:calc(100% - 34px);padding:14px 20px;color:#fff;background:var(--navy);border-radius:9px;box-shadow:var(--shadow);transform:translateX(-50%)}
.toast--success{background:#08795f}
.toast--error{background:#aa3d3d}

/* CTA and footer */
.cta-band{position:relative;overflow:hidden;color:#d7eaef;background:linear-gradient(115deg,#1e6db9,#08719a)}
.cta-band:after{position:absolute;right:-120px;bottom:-230px;width:520px;height:520px;content:"";border:70px solid rgba(255,255,255,.08);border-radius:50%}
.cta-band__inner{position:relative;z-index:2;display:flex;min-height:300px;align-items:center;justify-content:space-between;gap:70px}
.cta-band h2{max-width:780px;margin-bottom:15px;color:#fff}
.cta-band p{margin:0}
.cta-band__actions{display:flex;min-width:310px;flex-direction:column;align-items:flex-start;gap:22px}
.cta-contact{display:flex;flex-direction:column}
.cta-contact small{font-size:.66rem;font-weight:800;text-transform:uppercase}
.cta-contact strong{color:#fff;font-size:.98rem}
.footer{min-height:480px;color:#aebfcb;background:#052951}
.footer-grid{display:grid;padding:85px 0 62px;grid-template-columns:1.35fr .9fr .9fr .7fr 1.15fr;gap:55px}
.brand--footer{width:230px;margin-bottom:22px;padding:10px 15px;background:#fff;border-radius:10px}
.brand--footer img{height:58px}
.footer p{margin-bottom:14px;font-size:.83rem;line-height:1.7}
.footer h3{margin:0 0 18px;color:#fff;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.footer strong{color:#d9e5ec}
.footer a{transition:.2s}
.footer a:hover{color:#fff}
.footer-brand>p{max-width:330px}
.socials{display:flex;gap:10px;margin-top:24px}
.socials a{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;font-size:.72rem;font-weight:850}
.footer-links{display:grid;padding:0;margin:0;gap:8px;list-style:none;font-size:.83rem}
.newsletter{display:flex;margin-top:18px}
.newsletter input{min-width:0;flex:1;padding:14px;color:var(--ink);background:#fff;border:0;border-radius:8px 0 0 8px;font-size:.8rem;outline:0}
.newsletter button{width:50px;color:#fff;background:var(--teal);border:0;border-radius:0 8px 8px 0}
.footer-enquiry{display:inline-block;margin-top:22px;color:#a8cefa;font-size:.72rem;font-weight:850;text-transform:uppercase}
.footer-bottom{display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.11);font-size:.72rem}
.footer-bottom p{margin:0}
.footer-bottom p:last-child{display:flex;gap:10px}
.to-top{position:fixed;z-index:100;right:25px;bottom:25px;display:grid;width:48px;height:48px;place-items:center;color:#fff;background:rgba(6,40,71,.94);border:1px solid rgba(255,255,255,.35);border-radius:50%;box-shadow:0 10px 25px rgba(3,26,49,.2);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s}
.to-top.visible{opacity:1;visibility:visible;transform:none}

/* Scroll motion */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}
.js .reveal.visible{opacity:1;transform:none}
.service-grid .reveal:nth-child(2),.industry-cards .reveal:nth-child(2),.resource-grid .reveal:nth-child(2){transition-delay:.08s}
.service-grid .reveal:nth-child(3),.industry-cards .reveal:nth-child(3),.resource-grid .reveal:nth-child(3){transition-delay:.16s}
.service-grid .reveal:nth-child(4),.industry-cards .reveal:nth-child(4){transition-delay:.24s}

@media(max-width:1250px){
  :root{--container:min(1160px,calc(100% - 50px))}
  .navbar{gap:20px}.brand{width:165px;flex-basis:165px}.desktop-nav{gap:15px}.desktop-nav>a,.desktop-nav>.nav-item>a{font-size:.62rem}.nav-quote{padding-inline:13px}.projects-showcase .container{grid-template-columns:300px 1fr}.footer-grid{gap:32px}
}

@media(max-width:1050px){
  :root{--container:min(930px,calc(100% - 40px))}
  .topbar__address,.topbar__actions{display:none}.topbar__contacts{width:100%;justify-content:center}
  .desktop-nav,.nav-quote,.search-toggle{display:none}.mobile-toggle{display:grid}.navbar{min-height:78px;justify-content:space-between}.brand{width:170px;flex-basis:170px}.brand img{height:58px}
  .mobile-nav{position:fixed;z-index:550;inset:116px 0 0;display:flex;overflow-y:auto;flex-direction:column;padding:22px max(24px,calc((100% - 930px)/2));background:#fff}
  .site-header.scrolled .mobile-nav{inset-block-start:78px}
  .mobile-nav a:not(.button){padding:15px 2px;color:var(--ink);border-bottom:1px solid var(--line);font-weight:800;text-transform:uppercase}
  .mobile-nav .button{margin-top:24px}
  .hero{min-height:630px}.hero__veil{background:linear-gradient(90deg,rgba(248,251,252,.98),rgba(248,251,252,.88) 55%,rgba(3,26,49,.18))}.hero__content h1,.hero__content .hero-title{max-width:690px}
  .trust-strip{grid-template-columns:repeat(3,1fr)}.trust-strip__item:nth-child(4),.trust-strip__item:nth-child(5){border-top:1px solid var(--line)}.trust-strip__item+*::before{display:none}
  .intro-grid,.capability-grid,.story,.certification-grid,.contact-layout{grid-template-columns:1fr;gap:55px}.capability-media{max-width:760px}.capability-media>span{right:20px}
  .service-grid,.industry-cards{grid-template-columns:repeat(2,1fr)}.product-rail{overflow-x:auto;grid-template-columns:repeat(5,minmax(225px,1fr));padding-bottom:14px}.process-line{grid-template-columns:repeat(3,1fr);gap:35px 0}.process-line:before{display:none}.process-step:nth-child(n+4){margin-top:20px}
  .projects-showcase .container{grid-template-columns:1fr}.projects-heading{max-width:750px}.project-feature-grid{grid-template-rows:repeat(2,270px)}
  .quality-points{grid-template-columns:1fr}.certificate-card{justify-self:start}
  .resource-grid,.listing-grid,.industry-grid,.category-grid{grid-template-columns:repeat(2,1fr)}
  .purpose-grid,.advantage-grid{grid-template-columns:1fr}.service-list-card{grid-template-columns:1fr}.service-list-card>img{height:250px}.lifecycle-grid{grid-template-columns:repeat(3,1fr)}
  .engineering-note__inner{grid-template-columns:1fr;gap:25px}.detail-layout{grid-template-columns:1fr}.enquiry-card{position:static;max-width:650px}.footer-grid{grid-template-columns:repeat(3,1fr)}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:span 3}
}

@media(max-width:700px){
  :root{--container:calc(100% - 30px);--radius:14px}
  body{font-size:15px}.topbar__contacts a:first-child{display:none}.topbar__contacts{justify-content:flex-start}.topbar{font-size:.68rem}
  .navbar{min-height:72px}.brand{width:150px;flex-basis:150px}.brand img{height:52px}.mobile-nav{inset-block-start:110px;padding-inline:18px}.site-header.scrolled .mobile-nav{inset-block-start:72px}
  h1{font-size:2.7rem}h2{font-size:2.1rem}.section{padding:78px 0}.section-heading{margin-bottom:34px}.section-heading.split{grid-template-columns:1fr;gap:20px}.section-heading.split h2{font-size:2.2rem}
  .hero{min-height:720px}.hero__slide>img{object-position:64% center}.hero__veil{background:linear-gradient(180deg,rgba(248,251,252,.55) 0%,rgba(248,251,252,.9) 43%,rgba(248,251,252,.99) 70%)}.hero__content{top:auto;bottom:65px;transform:none}.hero__content h1,.hero__content .hero-title{font-size:2.75rem}.hero__content p{font-size:.96rem}.hero__actions{display:grid}.hero__actions .button{width:100%}.hero__dots{bottom:27px}
  .trust-strip{margin-top:0;grid-template-columns:1fr;border-radius:0}.trust-strip__item{min-height:80px;justify-content:flex-start;padding-inline:28px;border-bottom:1px solid var(--line)!important}
  .intro-section{padding-top:75px}.intro-grid{grid-template-columns:1fr;gap:28px}.intro-copy p{font-size:1rem}
  .service-grid,.industry-cards,.resource-grid,.listing-grid,.industry-grid,.category-grid{grid-template-columns:1fr}.service-card{min-height:280px}.product-showcase{padding:80px 0}.showcase-heading{align-items:flex-start;flex-direction:column}.product-rail{grid-template-columns:repeat(5,minmax(240px,1fr))}
  .capability-grid{gap:42px}.capability-media img{min-height:390px}.capability-media>span{right:8px;bottom:20px;width:145px;height:145px;border-width:6px}.capability-media>span strong{font-size:1.75rem}.feature-list{grid-template-columns:1fr}
  .process-line{grid-template-columns:1fr}.process-step:nth-child(n+4){margin-top:0}.process-step{display:grid;padding:0 0 30px;grid-template-columns:60px 1fr;gap:18px;text-align:left}.process-step>span{margin:0}.process-step h3{align-self:end;margin:0}.process-step p{grid-column:2;margin:0}
  .industry-card{min-height:380px}.projects-showcase .container{gap:40px}.project-feature-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none}.project-feature,.project-feature--large{min-height:330px;grid-row:auto}.logo-tile{width:170px;height:100px;flex-basis:170px}.logo-tile img{max-width:125px;max-height:60px}
  .certification-grid{gap:45px}.certificate-card{width:100%;padding:28px}.quality-points{grid-template-columns:1fr}
  .page-hero,.page-content{min-height:440px}.page-hero.detail,.page-hero.detail .page-content{min-height:500px}.page-hero h1{font-size:2.75rem}.page-overlay{background:linear-gradient(180deg,rgba(3,26,49,.78),rgba(3,26,49,.94))}
  .story-image img{min-height:430px}.story-image>span{right:7px;bottom:18px;width:135px;height:135px;border-width:6px}.story-image strong{font-size:2rem}.stats{grid-template-columns:1fr}
  .purpose-card{min-height:0;padding:32px 25px;grid-template-columns:1fr}.timeline:before{left:9px}.timeline-item{padding-left:35px;grid-template-columns:1fr;gap:8px}.timeline-item:before{left:2px}.timeline-item>span{text-align:left}
  .advantage-card>div{padding:26px}.category-card{min-height:420px}.filter-bar{align-items:flex-start;flex-direction:column}.filter-bar select{width:100%}.service-list-grid{grid-template-columns:1fr}.service-list-card{grid-template-columns:1fr}.lifecycle-grid{grid-template-columns:1fr}.industry-grid article{min-height:280px;padding:30px}
  .detail-layout{gap:45px}.check-list,.facts{grid-template-columns:1fr}.facts div+div{border-top:1px solid var(--line);border-left:0}.contact-layout{gap:50px}.enquiry-form{padding:28px 20px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}
  .cta-band__inner{min-height:0;align-items:flex-start;flex-direction:column;padding:65px 0;gap:38px}.cta-band__actions{min-width:0;width:100%}.cta-band__actions .button{width:100%}
  .footer{min-height:0}.footer-grid{padding:65px 0 45px;grid-template-columns:1fr;gap:35px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;justify-content:center;padding:20px 0}.to-top{right:15px;bottom:15px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .reveal{opacity:1;transform:none}.logo-track{animation:none}
}

/* ======================================================================
   ES-PRO premium responsive redesign — 2026
   These rules refine proportions, iconography and responsive behaviour
   across the public website while preserving the PHP/MySQL application.
   ====================================================================== */
:root{
  --navy:#07366d;
  --navy-deep:#021a31;
  --navy-mid:#0a385d;
  --teal:#286fbd;
  --teal-bright:#15b8c2;
  --cyan:#e5f7f8;
  --ink:#08233e;
  --body:#40566b;
  --muted:#708296;
  --line:#dce6ec;
  --soft:#f5f9fa;
  --shadow-sm:0 10px 32px rgba(4,34,61,.08);
  --shadow:0 24px 64px rgba(4,34,61,.14);
  --radius:16px;
  --container:min(1320px,calc(100% - 64px));
}
body{font-size:16px;line-height:1.62;overflow-x:hidden}
h1{font-size:clamp(2.75rem,4.3vw,4.45rem)}
h2{font-size:clamp(2rem,3vw,3.2rem)}
h3{letter-spacing:-.02em}
.section{padding:96px 0}
.section-heading{margin-bottom:38px}
.ui-icon{display:block;width:1.2em;height:1.2em;flex:0 0 auto}
.button-icon{width:16px;height:16px}
.text-link .ui-icon,.footer-enquiry .ui-icon{width:15px;height:15px;transition:transform .22s ease}
.text-link:hover .ui-icon,.footer-enquiry:hover .ui-icon{transform:translateX(4px)}

/* Header and social utility bar */
.topbar{color:#e7f2f7;background:var(--navy-deep);border:0}
.topbar__inner{min-height:36px}
.topbar__contacts,.topbar__actions{gap:20px}
.topbar__contacts>a,.topbar__address,.topbar-language{display:flex;align-items:center;gap:7px}
.topbar__contacts .ui-icon,.topbar-language .ui-icon{width:13px;height:13px;color:#73dbe0}
.topbar__actions{margin-left:auto}
.topbar-socials{display:flex;align-items:center;gap:4px}
.topbar-socials a{display:grid;width:27px;height:27px;place-items:center;color:#fff;border-radius:50%;transition:background .2s ease,transform .2s ease}
.topbar-socials a:hover{color:#fff;background:rgba(255,255,255,.12);transform:translateY(-1px)}
.topbar-socials .ui-icon{width:14px;height:14px}
.topbar-enquiry{padding-left:18px;border-left:1px solid rgba(255,255,255,.18);font-weight:750}
.topbar-language{color:#fff}
.nav-shell{box-shadow:0 1px 0 rgba(6,40,71,.07)}
.navbar{min-height:78px;gap:24px}
.brand{width:175px;flex-basis:175px}
.brand img{height:58px}
.desktop-nav>a,.desktop-nav>.nav-item>a{min-height:78px;font-size:.67rem;letter-spacing:.025em}
.desktop-nav>a:after,.desktop-nav>.nav-item>a:after{bottom:16px;height:2px}
.nav-chevron{width:12px;height:12px;margin-left:2px}
.nav-quote{min-height:44px;padding:11px 17px}
.search-toggle{width:40px;height:40px;font-size:1rem}
.search-toggle .ui-icon{width:18px;height:18px}
.mega-menu{top:100%;width:min(900px,calc(100vw - 48px));padding:24px;gap:24px;border-radius:0 0 14px 14px}

/* Home hero */
.hero{min-height:585px;background:#edf3f5}
.hero__veil{background:linear-gradient(90deg,rgba(248,251,252,.99) 0%,rgba(248,251,252,.96) 30%,rgba(248,251,252,.72) 52%,rgba(4,30,54,.08) 76%,rgba(4,30,54,.22) 100%)}
.hero__content{top:47%}
.hero__content h1,.hero__content .hero-title{max-width:700px;margin-bottom:18px;font-size:clamp(2.8rem,4.35vw,4.55rem)}
.hero__content p{max-width:610px;margin-bottom:27px;font-size:1rem;line-height:1.65}
.hero__dots{bottom:27px}
.hero__dots button{width:29px;height:4px;background:rgba(6,40,71,.25);box-shadow:none}
.hero__dots button.active{width:42px}
.button{min-height:46px;padding:11px 19px;border-radius:7px;font-size:.7rem}
.trust-strip-wrap{position:relative;z-index:30;min-height:62px;background:linear-gradient(180deg,transparent 0,transparent 45%,#fff 46%)}
.trust-strip{min-height:96px;margin-top:-48px;overflow:visible;border-radius:14px;box-shadow:0 18px 45px rgba(5,36,64,.13)}
.trust-strip__item{min-width:0;justify-content:flex-start;gap:13px;padding:20px 21px}
.trust-strip__item+*::before{top:22%;bottom:22%}
.trust-strip__icon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;color:var(--teal);background:#eef5fd;border-radius:12px}
.trust-strip__icon .ui-icon{width:23px;height:23px}
.trust-strip__item strong{font-size:.95rem}
.trust-strip__item div>span{margin-top:2px;font-size:.58rem;line-height:1.35}

/* Balanced content sections */
.intro-section{padding:76px 0 82px}
.intro-grid{gap:80px}
.intro-copy p{font-size:1rem;line-height:1.75}
.services-section{padding:88px 0 96px}
.service-grid{gap:18px}
.service-card{display:flex;min-height:0;overflow:hidden;flex-direction:column;padding:0;border-radius:14px}
.service-card:after{height:3px}
.service-card__media{position:relative;display:block;overflow:hidden;aspect-ratio:1.54/1;background:#dce7eb}
.service-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.service-card__media>span{position:absolute;bottom:14px;left:16px;display:grid;width:46px;height:46px;place-items:center;color:#fff;background:linear-gradient(145deg,var(--teal),#0ab2bd);border:2px solid rgba(255,255,255,.92);border-radius:13px;box-shadow:0 10px 24px rgba(2,45,67,.24);backdrop-filter:blur(4px)}
.service-card__media .ui-icon{width:22px;height:22px}
.service-card__body{display:flex;flex:1;flex-direction:column;padding:24px 23px 24px}
.service-card__body>small{align-self:flex-end;margin-top:0;color:#b3c1cb;font-size:.64rem;font-weight:850;letter-spacing:.08em}
.service-card h3{margin:4px 0 10px;font-size:1.22rem}
.service-card p{min-height:70px;margin-bottom:18px;font-size:.84rem;line-height:1.58}
.service-card .text-link{margin-top:auto}
.service-card:hover .service-card__media img{transform:scale(1.055)}
.product-showcase{padding:74px 0 82px}
.showcase-heading{margin-bottom:30px}
.showcase-heading h2{max-width:690px;font-size:2.35rem}
.product-rail{gap:14px}
.product-mini__image{margin-bottom:13px;border-radius:10px}
.product-mini strong{font-size:.82rem;line-height:1.35}
.product-mini small{font-size:.58rem}

/* Why choose us row */
.excellence-strip{padding:48px 0;background:#fff;border-bottom:1px solid var(--line)}
.excellence-grid{display:grid;grid-template-columns:1.45fr repeat(5,1fr);align-items:stretch}
.excellence-heading{padding:8px 30px 8px 0}
.excellence-heading .eyebrow{margin-bottom:9px}
.excellence-heading h2{margin:0;font-size:1.75rem}
.excellence-item{position:relative;padding:7px 20px;text-align:center}
.excellence-item:before{position:absolute;top:10%;bottom:10%;left:0;width:1px;content:"";background:var(--line)}
.excellence-item>span{display:grid;width:47px;height:47px;margin:0 auto 11px;place-items:center;color:var(--teal);background:#eef5fd;border-radius:15px}
.excellence-item .ui-icon{width:24px;height:24px}
.excellence-item h3{margin-bottom:5px;font-size:.82rem}
.excellence-item p{margin:0;color:var(--muted);font-size:.68rem;line-height:1.45}
.capability-section{padding:98px 0}
.capability-grid{gap:75px}
.capability-media img{min-height:530px}
.capability-media>span{right:-12px;width:164px;height:164px;border-width:7px}
.process-section{padding:90px 0}
.industry-cards{gap:16px}
.industry-card{min-height:380px}
.projects-showcase{padding:90px 0}
.projects-showcase .container{grid-template-columns:310px 1fr;gap:45px}
.partners-section{padding:82px 0 65px}
.logo-tile{width:188px;height:98px;flex-basis:188px;padding:20px}
.logo-tile img{max-width:142px;max-height:58px}
.certification-section{padding:88px 0}
.resources-preview{padding:92px 0}

/* Inner pages */
.page-hero{min-height:430px}
.page-content{min-height:430px;padding-block:64px}
.page-hero h1{font-size:clamp(2.65rem,4.2vw,4.25rem)}
.page-hero p{font-size:1rem}
.page-hero.detail,.page-hero.detail .page-content{min-height:500px}
.story{gap:72px}
.story-image img{min-height:560px}
.category-card{min-height:450px}
.listing-body{padding:24px}
.service-list-card>div{padding:30px}
.lifecycle-card{min-height:270px}
.industry-grid article{min-height:300px}

/* Contact page + map */
.contact-section{padding-bottom:82px}
.contact-layout{grid-template-columns:.88fr 1.12fr;gap:64px}
.contact-cards>*{gap:14px;padding:15px 16px}
.contact-cards i{width:43px;height:43px;color:var(--teal);background:#fff;box-shadow:0 6px 18px rgba(6,40,71,.06)}
.contact-cards i .ui-icon{width:21px;height:21px}
.office-note__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.enquiry-form{padding:36px;border-radius:16px}
.form-grid input,.form-grid select,.form-grid textarea{padding:13px 14px}
.map-section{padding:78px 0 92px}
.map-layout{display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:58px}
.map-copy h2{font-size:2.25rem}
.map-copy p{color:var(--muted)}
.map-address{display:flex;align-items:center;gap:14px;margin-top:25px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}
.map-address>.ui-icon{width:25px;height:25px;color:var(--teal)}
.map-address div{display:flex;flex-direction:column}
.map-address small{color:var(--teal);font-size:.65rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.map-address strong{color:var(--ink);font-size:.88rem;line-height:1.5}
.map-frame{overflow:hidden;min-height:450px;background:#dfe8eb;border:8px solid #fff;border-radius:18px;box-shadow:var(--shadow)}
.map-frame iframe{display:block;width:100%;height:450px}

/* CTA and rich footer */
.cta-band__inner{min-height:240px}
.cta-band h2{font-size:2.45rem}
.footer{min-height:450px;background:linear-gradient(135deg,#02172b,#07366d)}
.footer-grid{padding:68px 0 48px;grid-template-columns:1.25fr .9fr .9fr .72fr 1.1fr;gap:42px}
.brand--footer{width:205px;padding:8px 12px;border-radius:9px}
.brand--footer img{height:54px}
.footer-brand>p{max-width:300px}
.socials{gap:8px;margin-top:19px}
.socials a{width:36px;height:36px;color:#fff;background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.24)}
.socials a:hover{color:#fff;background:var(--teal);border-color:var(--teal);transform:translateY(-2px)}
.socials .ui-icon{width:17px;height:17px}
.footer-contact{display:flex;flex-direction:column;gap:7px}
.footer-contact a{display:flex;align-items:center;gap:8px}
.footer-contact .ui-icon{width:14px;height:14px;color:#69dce0}
.newsletter button{display:grid;place-items:center}
.newsletter button .ui-icon{width:17px;height:17px}
.footer-enquiry{display:inline-flex;align-items:center;gap:8px}
.footer-bottom{min-height:62px}

@media(max-width:1250px){
  :root{--container:min(1160px,calc(100% - 48px))}
  .brand{width:155px;flex-basis:155px}
  .desktop-nav{gap:13px}
  .desktop-nav>a,.desktop-nav>.nav-item>a{font-size:.61rem}
  .topbar__contacts{gap:15px}
  .topbar__address{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .excellence-grid{grid-template-columns:1.3fr repeat(5,1fr)}
  .excellence-item{padding-inline:13px}
  .footer-grid{gap:28px}
}

@media(max-width:1050px){
  :root{--container:min(930px,calc(100% - 38px))}
  .topbar__contacts{display:none}
  .topbar__actions{display:flex;width:100%;justify-content:center;margin:0}
  .topbar-enquiry,.topbar-language{display:none}
  .topbar-socials a{width:30px;height:30px}
  .navbar{min-height:74px}
  .brand{width:165px;flex-basis:165px}
  .brand img{height:55px}
  .mobile-nav{inset-block-start:110px}
  .hero{min-height:565px}
  .hero__content h1,.hero__content .hero-title{max-width:610px;font-size:3.55rem}
  .trust-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
  .trust-strip__item{gap:9px;padding:17px 12px}
  .trust-strip__icon{width:36px;height:36px;flex-basis:36px}
  .trust-strip__icon .ui-icon{width:20px;height:20px}
  .trust-strip__item strong{font-size:.82rem}
  .trust-strip__item div>span{font-size:.52rem}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .service-card p{min-height:0}
  .excellence-grid{grid-template-columns:repeat(3,1fr)}
  .excellence-heading{grid-column:1/-1;padding:0 0 24px;text-align:center}
  .excellence-heading .eyebrow{justify-content:center}
  .excellence-item:nth-of-type(1):before{display:none}
  .excellence-item{padding:18px 22px;border-top:1px solid var(--line)}
  .excellence-item:before{top:20%;bottom:20%}
  .map-layout{grid-template-columns:1fr;gap:38px}
  .map-copy{max-width:720px}
  .footer-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:span 3}
}

@media(max-width:700px){
  :root{--container:calc(100% - 30px)}
  body{font-size:15px}
  h1{font-size:2.35rem}
  h2{font-size:2rem}
  .section{padding:68px 0}
  .topbar__inner{min-height:38px}
  .topbar-socials{gap:7px}
  .topbar-socials a{width:28px;height:28px}
  .topbar-socials .ui-icon{width:15px;height:15px}
  .navbar{min-height:70px}
  .brand{width:145px;flex-basis:145px}
  .brand img{height:48px}
  .mobile-toggle{width:42px;height:42px}
  .mobile-toggle span{width:24px;height:2px;margin:3.5px}
  .mobile-nav{inset-block-start:108px;padding:16px 18px 28px}
  .site-header.scrolled .mobile-nav{inset-block-start:70px}
  .hero{min-height:590px}
  .hero__slide>img{object-position:66% center}
  .hero__veil{background:linear-gradient(180deg,rgba(248,251,252,.5) 0%,rgba(248,251,252,.83) 36%,rgba(248,251,252,.98) 63%,#f8fbfc 100%)}
  .hero__content{top:auto;bottom:48px;transform:none}
  .hero__content h1,.hero__content .hero-title{max-width:100%;margin-bottom:15px;font-size:2.45rem;line-height:1.08}
  .hero__content p{margin-bottom:20px;font-size:.9rem;line-height:1.55}
  .hero__actions{grid-template-columns:1fr;gap:10px}
  .hero__actions .button{width:100%}
  .hero__dots{bottom:18px}
  .trust-strip-wrap{padding:0 15px 5px;background:#fff}
  .trust-strip{width:100%;margin:0;grid-template-columns:1fr;border-radius:14px;box-shadow:0 15px 40px rgba(5,36,64,.12)}
  .trust-strip__item{min-height:67px;gap:13px;padding:11px 17px;border-bottom:1px solid var(--line)!important}
  .trust-strip__item:last-child{border-bottom:0!important}
  .trust-strip__item+*::before{display:none}
  .trust-strip__icon{width:38px;height:38px;flex-basis:38px;border-radius:11px}
  .trust-strip__item strong{font-size:.84rem}
  .trust-strip__item div>span{font-size:.54rem}
  .intro-section{padding:62px 0}
  .intro-grid{gap:20px}
  .services-section{padding:65px 0 72px}
  .section-heading.split{gap:16px}
  .service-grid{grid-template-columns:1fr;gap:17px}
  .service-card{border-radius:14px}
  .service-card__media{aspect-ratio:1.7/1}
  .service-card__body{padding:29px 20px 22px}
  .service-card h3{font-size:1.2rem}
  .service-card p{font-size:.84rem}
  .product-showcase{padding:63px 0 70px}
  .showcase-heading{gap:22px}
  .showcase-heading h2{font-size:2rem}
  .product-rail{grid-template-columns:repeat(5,minmax(205px,1fr));gap:13px}
  .excellence-strip{padding:62px 0}
  .excellence-grid{grid-template-columns:1fr}
  .excellence-heading{grid-column:auto;text-align:left}
  .excellence-heading .eyebrow{justify-content:flex-start}
  .excellence-heading h2{font-size:1.8rem}
  .excellence-item{display:grid;grid-template-columns:48px 1fr;gap:3px 14px;padding:16px 0;text-align:left;border-top:1px solid var(--line)}
  .excellence-item:before{display:none}
  .excellence-item>span{grid-row:1/3;margin:0}
  .excellence-item h3{align-self:end;margin:0;font-size:.9rem}
  .excellence-item p{font-size:.73rem}
  .capability-section{padding:70px 0}
  .capability-media img{min-height:340px}
  .capability-media>span{right:8px;bottom:15px;width:126px;height:126px;border-width:5px;font-size:.58rem}
  .capability-media>span strong{font-size:1.7rem}
  .process-section{padding:70px 0}
  .industry-card{min-height:330px}
  .projects-showcase{padding:70px 0}
  .partners-section{padding:68px 0 55px}
  .logo-tile{width:155px;height:88px;flex-basis:155px}
  .certification-section,.resources-preview{padding:70px 0}
  .page-hero,.page-content{min-height:390px}
  .page-hero.detail,.page-hero.detail .page-content{min-height:445px}
  .page-hero h1{font-size:2.45rem}
  .contact-layout{gap:42px}
  .contact-cards>*{padding:14px}
  .office-note__grid{grid-template-columns:1fr}
  .enquiry-form{padding:26px 18px}
  .map-section{padding:62px 0 70px}
  .map-copy h2{font-size:1.9rem}
  .map-frame{min-height:360px;border-width:5px;border-radius:14px}
  .map-frame iframe{height:360px}
  .cta-band h2{font-size:2rem}
  .footer-grid{padding:58px 0 38px;grid-template-columns:1fr;gap:32px}
  .footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:auto}
  .brand--footer{width:190px}
  .footer-bottom{min-height:0;padding:22px 0}
}
.topbar-enquiry{color:#dceaf0}
.topbar-enquiry:hover{color:#fff}

/* ======================================================================
   ES-PRO interface corrections — mobile project cards, navigation,
   brand icons and custom multilingual selector.
   ====================================================================== */
:root{
  --navy-deep:#052c4d;
  --navy-soft:#0b4a78;
  --header-blue:#0b4774;
}
body.nav-open{overflow:hidden}
.brand-icon{display:block;width:16px;height:16px;fill:currentColor}

/* Utility bar: refined blue instead of near-black */
.topbar{background:linear-gradient(90deg,var(--header-blue),#0d5b89);color:#f5fbff}
.topbar__inner{min-height:38px}
.topbar__contacts,.topbar__actions{gap:18px}
.topbar-socials{gap:5px}
.topbar-socials a{
  width:29px;height:29px;color:#fff;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);border-radius:9px
}
.topbar-socials a:hover{background:#fff;color:var(--header-blue);transform:translateY(-1px)}
.topbar-socials .brand-icon{width:14px;height:14px}

/* Custom language control */
.language-switcher{position:relative;z-index:40}
.language-button{
  display:flex;align-items:center;gap:7px;min-height:32px;padding:4px 9px;
  color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  border-radius:9px;font:inherit;font-weight:750;cursor:pointer
}
.language-button:hover,.language-switcher.open .language-button{background:rgba(255,255,255,.16)}
.language-button>.ui-icon:first-child{width:14px;height:14px;color:#b9f4f5}
.language-chevron{width:11px;height:11px;transition:transform .2s ease}
.language-switcher.open .language-chevron{transform:rotate(180deg)}
.language-menu{
  position:absolute;top:calc(100% + 9px);right:0;width:238px;padding:8px;
  background:#fff;border:1px solid rgba(6,40,71,.12);border-radius:14px;
  box-shadow:0 20px 55px rgba(3,31,55,.22)
}
.language-menu[hidden]{display:none}
.language-menu:before{
  position:absolute;top:-6px;right:24px;width:12px;height:12px;content:"";
  background:#fff;border-top:1px solid rgba(6,40,71,.12);border-left:1px solid rgba(6,40,71,.12);
  transform:rotate(45deg)
}
.language-menu a{
  position:relative;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;
  min-height:44px;padding:6px 9px;color:#183a55;border-radius:9px
}
.language-menu a:hover{background:#eff8fa;color:var(--teal)}
.language-menu a.active{background:#e6f6f7;color:#066f7a}
.language-menu b{
  display:grid;width:30px;height:26px;place-items:center;background:#edf3f6;border-radius:7px;
  font-size:.64rem;letter-spacing:.04em
}
.language-menu span{font-size:.78rem;font-weight:750}
.language-menu i{font-style:normal;color:var(--teal)}

/* Cleaner hamburger */
.mobile-toggle{
  position:relative;width:42px;height:42px;padding:0;background:#f1f7f9;
  border:1px solid #dce8ed;border-radius:12px;box-shadow:0 5px 16px rgba(6,40,71,.06)
}
.mobile-toggle span{
  position:absolute;left:10px;width:20px;height:2px;margin:0;background:#0b3d63;
  border-radius:99px;transition:transform .25s ease,opacity .2s ease,top .25s ease
}
.mobile-toggle span:nth-child(1){top:13px}
.mobile-toggle span:nth-child(2){top:20px;width:15px;left:15px}
.mobile-toggle span:nth-child(3){top:27px}
.mobile-toggle.open span:nth-child(1){top:20px;transform:rotate(45deg)}
.mobile-toggle.open span:nth-child(2){opacity:0;transform:translateX(5px)}
.mobile-toggle.open span:nth-child(3){top:20px;transform:rotate(-45deg)}

/* Mobile drawer navigation */
.mobile-nav-backdrop{
  position:fixed;z-index:998;inset:0;background:rgba(2,25,45,.5);opacity:0;
  backdrop-filter:blur(3px);transition:opacity .25s ease
}
.mobile-nav-backdrop.open{opacity:1}
.mobile-nav-backdrop[hidden]{display:none}
.mobile-nav{
  position:fixed!important;z-index:999;top:0!important;right:0!important;bottom:0!important;left:auto!important;
  display:flex!important;width:min(88vw,390px);height:100dvh;padding:0!important;flex-direction:column;
  background:#fff;box-shadow:-24px 0 70px rgba(3,31,55,.25);transform:translateX(105%);
  transition:transform .26s cubic-bezier(.2,.8,.2,1);overflow:auto
}
.mobile-nav.open{transform:translateX(0)}
.mobile-nav[hidden]{display:none!important}
.mobile-nav__head{
  display:flex;min-height:78px;align-items:center;justify-content:space-between;padding:0 22px;
  color:#fff;background:linear-gradient(135deg,var(--header-blue),#0c698d)
}
.mobile-nav__head strong{font-size:1rem;letter-spacing:.08em}
.mobile-nav-close{position:relative;width:38px;height:38px;background:rgba(255,255,255,.12);border:0;border-radius:10px}
.mobile-nav-close span{position:absolute;top:18px;left:10px;width:18px;height:2px;background:#fff;border-radius:99px}
.mobile-nav-close span:first-child{transform:rotate(45deg)}
.mobile-nav-close span:last-child{transform:rotate(-45deg)}
.mobile-nav__links{display:flex;padding:16px 20px 8px;flex-direction:column}
.mobile-nav__links>a{
  position:relative;display:flex;min-height:50px;align-items:center;padding:0 13px;color:#153b58;
  border-bottom:1px solid #edf2f4;font-size:.86rem;font-weight:820;text-transform:uppercase;letter-spacing:.035em
}
.mobile-nav__links>a:after{
  position:absolute;right:13px;width:6px;height:6px;content:"";border-top:1.5px solid #8ca2b0;
  border-right:1.5px solid #8ca2b0;transform:rotate(45deg)
}
.mobile-nav__links>a.active{color:var(--teal);background:#f0fafb;border-radius:9px}
.mobile-language{margin:14px 20px 0;padding-top:17px;border-top:1px solid #e7eef1}
.mobile-language>span{display:block;margin-bottom:10px;color:#7690a2;font-size:.66rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.mobile-language>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mobile-language a{display:flex;min-height:42px;align-items:center;gap:8px;padding:8px 9px;color:#24445b;background:#f4f8f9;border:1px solid #e4edf0;border-radius:10px;font-size:.72rem;font-weight:700}
.mobile-language a.active{color:#fff;background:var(--teal);border-color:var(--teal)}
.mobile-language b{display:grid;width:26px;height:24px;place-items:center;background:rgba(255,255,255,.75);color:#315069;border-radius:6px;font-size:.58rem}
.mobile-nav__quote{width:calc(100% - 40px);margin:22px 20px 28px}

/* Desktop product menu: hover/focus communicates dropdown; no chevron needed */
.has-mega>a{padding-right:0}
.has-mega>a:before{
  position:absolute;right:0;bottom:11px;left:0;height:1px;content:"";background:transparent
}

/* Projects section: balanced desktop cards and a true mobile stack */
.projects-showcase{overflow:hidden;background:linear-gradient(135deg,#07366d,#0a527b)}
.projects-showcase .container{align-items:start}
.projects-heading h2{font-size:clamp(2.15rem,3vw,2.85rem);line-height:1.08}
.project-feature{min-width:0;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 35px rgba(0,0,0,.16)}
.project-feature img{display:block}

/* Footer brand icons */
.socials a{border-radius:10px}
.socials .brand-icon{width:16px;height:16px}

@media(max-width:1050px){
  .language-switcher--top{display:none}
  .projects-showcase .container{grid-template-columns:1fr!important}
  .projects-heading{max-width:760px;padding-top:0}
  .project-feature-grid{width:100%}
}

@media(max-width:700px){
  .topbar{background:linear-gradient(90deg,#0b4774,#0d638c)}
  .topbar__inner{min-height:36px}
  .topbar-socials{width:100%;justify-content:center;gap:7px}
  .topbar-socials a{width:29px;height:29px;border:0;background:transparent;border-radius:8px}
  .topbar-socials .brand-icon{width:15px;height:15px}
  .navbar{min-height:72px}
  .brand{width:160px;flex-basis:160px}
  .brand img{width:auto;height:50px;object-fit:contain}
  .mobile-toggle{display:block}

  .projects-showcase{padding:66px 0 72px}
  .projects-showcase .container{display:block!important;width:var(--container);max-width:none}
  .projects-heading{max-width:none;margin-bottom:30px;padding:0}
  .projects-heading .eyebrow{margin-bottom:15px}
  .projects-heading h2{max-width:100%;margin-bottom:15px;font-size:2rem;line-height:1.12}
  .projects-heading p{max-width:100%;margin-bottom:22px;font-size:.9rem;line-height:1.65}
  .projects-heading .button{width:100%;justify-content:center}
  .project-feature-grid{
    display:grid!important;width:100%!important;grid-template-columns:1fr!important;
    grid-template-rows:none!important;gap:16px!important
  }
  .project-feature,.project-feature--large{
    display:block!important;width:100%!important;min-height:0!important;aspect-ratio:16/10!important;
    grid-row:auto!important;border-radius:14px
  }
  .project-feature img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
  .project-feature>div{padding:22px}
  .project-feature h3{max-width:95%;font-size:1.22rem;line-height:1.25}

  .footer-grid{gap:38px}
  .socials{flex-wrap:wrap}
}

@media(max-width:420px){
  :root{--container:calc(100% - 24px)}
  .brand{width:150px;flex-basis:150px}
  .brand img{height:47px}
  .mobile-toggle{width:40px;height:40px}
  .projects-heading h2{font-size:1.86rem}
  .project-feature,.project-feature--large{aspect-ratio:4/3!important}
}

/* Final interface polish requested after mobile QA */
:root{--header-blue:#176584;--header-teal:#168b96}
.topbar{background:linear-gradient(100deg,var(--header-blue),var(--header-teal));box-shadow:inset 0 -1px rgba(255,255,255,.12)}
.topbar-socials a{background:transparent;border-color:transparent}
.topbar-socials a:hover{color:#0f607d;background:#fff}
.mobile-nav__links>a:after{display:none}
.mobile-toggle{
  width:39px;height:39px;background:#f7fafb;border-color:#d8e5ea;border-radius:11px;
  box-shadow:0 4px 12px rgba(6,40,71,.05)
}
.mobile-toggle span{left:10px;width:18px;height:1.8px;background:#0b4569}
.mobile-toggle span:nth-child(1){top:12px}
.mobile-toggle span:nth-child(2){top:18.5px;left:14px;width:14px}
.mobile-toggle span:nth-child(3){top:25px}
.mobile-toggle.open span:nth-child(1),.mobile-toggle.open span:nth-child(3){top:18.5px}

@media(max-width:700px){
  .topbar{background:linear-gradient(100deg,#176584,#168b96)}
  .projects-showcase{overflow:visible}
  .projects-showcase .container,.project-feature-grid{min-width:0!important;overflow:visible!important}
  .project-feature,.project-feature--large{position:relative!important;min-width:0!important;min-height:260px!important;height:auto!important}
  .project-feature img{display:block!important;visibility:visible!important;opacity:1!important}
  .project-feature__overlay{display:block!important}
}
@media(max-width:420px){
  .mobile-toggle{width:38px;height:38px}
  .project-feature,.project-feature--large{min-height:250px!important}
}

/* V6 mobile/header/contact refinements */
.contact-phone-card strong+strong{margin-top:3px}
.contact-phone-card strong a{color:var(--ink)}
.contact-phone-card strong a:hover{color:var(--teal)}
.map-phone-list{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px}
.map-phone-list a{color:var(--teal);font-size:.78rem;font-weight:800}
.map-phone-list a:hover{text-decoration:underline}

@media(max-width:1050px){
  .nav-shell,.navbar,.brand{overflow:visible}
  .site-header.scrolled .nav-shell{top:0;animation:none}
  .site-header.scrolled .navbar{min-height:72px;height:72px}
  .site-header.scrolled .brand{height:52px;align-items:center}
  .site-header.scrolled .brand img{display:block;width:auto;max-width:100%;height:44px;max-height:44px;object-fit:contain;object-position:left center}
}

@media(max-width:900px){
  .page-contact .contact-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:38px!important}
  .page-contact .contact-intro,.page-contact .enquiry-form{width:100%;min-width:0}
  .page-contact .enquiry-form{padding:30px 24px}
  .page-contact .map-layout{grid-template-columns:minmax(0,1fr)!important;gap:34px}
}

@media(max-width:700px){
  .site-header.scrolled .nav-shell{padding-top:env(safe-area-inset-top);background:#fff;box-shadow:0 9px 28px rgba(6,40,71,.12)}
  .site-header.scrolled .navbar{min-height:68px;height:68px;padding-block:7px}
  .site-header.scrolled .brand{width:148px;height:48px;flex-basis:148px}
  .site-header.scrolled .brand img{height:42px;max-height:42px}
  .page-contact .contact-section{padding-top:66px;padding-bottom:66px}
  .page-contact .contact-layout{gap:32px!important}
  .page-contact .contact-intro h2{font-size:2rem}
  .page-contact .contact-cards{gap:10px;margin-top:26px}
  .page-contact .contact-cards>*{padding:15px}
  .page-contact .enquiry-form{padding:25px 18px;border-radius:15px}
  .page-contact .enquiry-form h2{font-size:1.9rem}
  .page-contact .form-grid{grid-template-columns:1fr;gap:15px}
  .page-contact .form-grid .wide{grid-column:auto}
  .page-contact .map-section{padding:66px 0}
  .page-contact .map-frame,.page-contact .map-frame iframe{min-height:360px;height:360px}
}

@media(max-width:420px){
  .site-header.scrolled .navbar{min-height:64px;height:64px}
  .site-header.scrolled .brand{width:140px;height:45px;flex-basis:140px}
  .site-header.scrolled .brand img{height:39px;max-height:39px}
  .page-contact .contact-intro h2{font-size:1.82rem}
  .page-contact .enquiry-form{padding:22px 15px}
}

/* V6.1 business identity and secondary contact refinements */
.topbar__contacts a{display:inline-flex;align-items:center;gap:7px}
.topbar__contacts .ui-icon{width:14px;height:14px;flex:0 0 auto}
@media(max-width:1250px){.topbar__phone-secondary{display:none!important}}
@media(max-width:1050px){.topbar__phone-secondary{display:none!important}}

@media(max-width:700px){
  .hero__slide>img,.hero__slide.active>img{transform:none!important}
}

/* Prevent transformed hero/media elements from creating a horizontal page pan. */
html,body{max-width:100%;overflow-x:clip}
.enquiry-form{scroll-margin-top:88px}

/* V8 — Newsroom, AI assistant and multilingual refinements */
.news-index{background:linear-gradient(180deg,#f7fbfc 0,#fff 280px)}
.news-search{display:grid;grid-template-columns:minmax(0,1fr) auto;max-width:780px;margin:0 auto 42px;padding:8px;background:#fff;border:1px solid #dce8ed;border-radius:16px;box-shadow:0 18px 50px rgba(6,40,71,.08)}
.news-search input{min-width:0;border:0;background:transparent;padding:0 18px;font:inherit;color:var(--ink);outline:0}
.news-search button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 22px;border:0;border-radius:11px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer}
.news-search button .ui-icon{width:18px;height:18px}
.news-results-count{margin:-18px auto 30px;max-width:780px;color:#647789;text-align:center}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.news-card{min-width:0;overflow:hidden;background:#fff;border:1px solid #dfe9ed;border-radius:19px;box-shadow:0 15px 42px rgba(6,40,71,.07);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.news-card:hover{transform:translateY(-5px);border-color:#b8d9df;box-shadow:0 24px 58px rgba(6,40,71,.12)}
.news-card__image{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#e9f1f3}
.news-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.news-card:hover .news-card__image img{transform:scale(1.035)}
.news-card__image>span{position:absolute;left:18px;top:18px;padding:7px 11px;border-radius:999px;background:rgba(5,157,168,.94);color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.news-card__body{padding:25px 25px 27px}
.news-card__meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px;color:#758896;font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.055em}
.news-card__meta span{color:var(--teal)}
.news-card h2{margin:0 0 12px;font-size:clamp(1.18rem,1.7vw,1.55rem);line-height:1.22}
.news-card h2 a{color:var(--ink)}
.news-card p{margin:0 0 20px;color:#617483;line-height:1.68}
.news-card--featured{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr)}
.news-card--featured .news-card__image{aspect-ratio:auto;min-height:360px}
.news-card--featured .news-card__body{display:flex;flex-direction:column;justify-content:center;padding:38px}
.news-card--featured h2{font-size:clamp(1.7rem,2.5vw,2.45rem)}
.empty-news{padding:65px 25px;text-align:center;background:#fff;border:1px solid #dfe9ed;border-radius:18px}
.empty-news h2{margin:0 0 8px}

.news-detail__hero{position:relative;overflow:hidden;padding:125px 0 150px;background:radial-gradient(circle at 82% 12%,rgba(7,157,168,.28),transparent 30%),linear-gradient(130deg,#052d50,#07366d 60%,#07566e);color:#fff}
.news-detail__hero:after{content:"";position:absolute;inset:auto -10% -58% 38%;height:430px;border:1px solid rgba(255,255,255,.12);border-radius:50%;transform:rotate(-12deg)}
.news-detail__header{position:relative;z-index:1;max-width:940px}
.news-detail__header h1{max-width:930px;margin:18px 0 20px;color:#fff;font-size:clamp(2.45rem,5vw,5.15rem);line-height:1.02;letter-spacing:-.045em}
.news-detail__header>p{max-width:760px;margin:0;color:rgba(255,255,255,.78);font-size:clamp(1.04rem,1.45vw,1.24rem);line-height:1.7}
.news-meta{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:28px;color:rgba(255,255,255,.82);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.news-meta span{display:inline-flex;align-items:center;gap:8px}.news-meta .ui-icon{width:17px;height:17px;color:#50d6dd}
.news-detail__media{position:relative;z-index:2;margin-top:-91px}
.news-detail__media img{display:block;width:100%;max-height:660px;object-fit:cover;border-radius:23px;box-shadow:0 30px 80px rgba(3,31,54,.22)}
.news-detail__layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:72px;padding-top:76px;padding-bottom:100px;align-items:start}
.news-content{min-width:0;font-size:1.04rem;line-height:1.82}
.news-content>:first-child{margin-top:0}.news-content h2{margin-top:2.1em;font-size:clamp(1.65rem,2.5vw,2.35rem)}
.news-content h3{margin-top:1.8em}.news-content img{max-width:100%;height:auto;border-radius:14px}.news-content iframe{max-width:100%;border-radius:14px}
.news-content blockquote{margin:30px 0;padding:20px 24px;border-left:4px solid var(--teal);background:#f0f8f9;color:#315160;font-size:1.08rem}
.news-sidebar{position:sticky;top:105px;display:grid;gap:17px}
.news-share-card{padding:30px;border-radius:19px;background:linear-gradient(145deg,#062f52,#074b69);color:#fff;box-shadow:0 22px 55px rgba(5,44,77,.18)}
.news-share-card>span{font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#6de1e3}
.news-share-card h2{margin:12px 0 10px;color:#fff;font-size:1.75rem}.news-share-card p{color:rgba(255,255,255,.75);line-height:1.65}
.news-share-card .button{width:100%;margin-top:12px}
.news-video-link{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border:1px solid #dbe8ec;border-radius:14px;color:var(--ink);font-weight:850;background:#fff}
.news-video-link:hover{border-color:var(--teal);color:var(--teal)}

.espro-chat__consent{display:flex!important;align-items:flex-start;gap:9px;margin:10px 0 0;color:#536b7b;font-size:.75rem;line-height:1.45}
.espro-chat__consent input{width:16px;height:16px;margin-top:2px;accent-color:var(--teal);flex:0 0 auto}
.espro-chat__consent a{color:var(--teal);font-weight:800}

@media(max-width:980px){
  .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-card--featured{grid-column:1/-1}
  .news-detail__layout{grid-template-columns:minmax(0,1fr);gap:45px}
  .news-sidebar{position:static;grid-template-columns:minmax(0,1fr) minmax(220px,.48fr)}
}
@media(max-width:700px){
  .news-search{grid-template-columns:minmax(0,1fr) 50px;margin-bottom:30px;padding:6px;border-radius:13px}
  .news-search button{width:50px;padding:0}.news-search button span{display:none}
  .news-grid{grid-template-columns:1fr;gap:20px}
  .news-card--featured{display:block;grid-column:auto}
  .news-card--featured .news-card__image{min-height:0;aspect-ratio:16/10}
  .news-card--featured .news-card__body,.news-card__body{padding:22px}
  .news-card--featured h2{font-size:1.55rem}
  .news-detail__hero{padding:92px 0 112px}
  .news-detail__header h1{font-size:clamp(2.15rem,11vw,3.35rem)}
  .news-detail__media{margin-top:-66px;padding-inline:18px}
  .news-detail__media img{border-radius:16px;min-height:220px}
  .news-detail__layout{padding-top:46px;padding-bottom:72px;gap:34px}
  .news-sidebar{grid-template-columns:1fr}.news-share-card{padding:25px}
}
.news-video-embed{position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:16px;background:#062f52;box-shadow:0 16px 38px rgba(6,40,71,.12)}
.news-video-embed iframe,.news-video-embed video{display:block;width:100%;height:100%;border:0;object-fit:cover}


/* V9 — stable mobile header and editorial newsroom */
@media(max-width:1050px){
  .site-header{position:sticky!important;top:0;z-index:700}
  .site-header.scrolled .nav-shell,.nav-shell{position:relative!important;inset:auto!important;top:auto!important;animation:none!important}
  .site-header.scrolled .navbar,.navbar{height:auto!important}
  .mobile-nav{z-index:760;inset-block-start:112px!important}
  .mobile-nav-backdrop{z-index:750;inset-block-start:112px!important}
}
@media(max-width:700px){
  html{scroll-padding-top:116px}
  .site-header{box-shadow:0 7px 24px rgba(6,40,71,.08)}
  .nav-shell{overflow:visible!important}
  .navbar,.site-header.scrolled .navbar{min-height:68px!important;height:68px!important;padding-block:7px!important}
  .brand,.site-header.scrolled .brand{width:150px!important;height:50px!important;flex-basis:150px!important;overflow:visible!important}
  .brand img,.site-header.scrolled .brand img{width:auto!important;max-width:150px!important;height:46px!important;max-height:46px!important;object-fit:contain!important;object-position:left center!important}
  .mobile-toggle{width:39px;height:39px;padding:0;border:1px solid #d8e4e9;border-radius:12px;background:#fff;box-shadow:0 5px 15px rgba(6,40,71,.07)}
  .mobile-toggle span{width:20px;height:1.5px;margin:2.7px;border-radius:2px}
  .mobile-nav,.site-header.scrolled .mobile-nav{inset-block-start:106px!important;padding-top:14px}
  .mobile-nav-backdrop{inset-block-start:106px!important}
}

.newsroom-hero{position:relative;overflow:hidden;padding:88px 0 0;color:#fff;background:linear-gradient(118deg,#031d37 0%,#063a65 61%,#087e8b 145%)}
.newsroom-hero:before{position:absolute;inset:-60% auto auto 58%;width:620px;height:620px;content:"";border:1px solid rgba(255,255,255,.12);border-radius:50%}
.newsroom-hero:after{position:absolute;right:-140px;bottom:-230px;width:520px;height:520px;content:"";background:radial-gradient(circle,rgba(28,190,198,.26),transparent 67%)}
.newsroom-hero__glow{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent)}
.newsroom-hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.58fr);align-items:end;gap:80px;padding-bottom:60px}
.newsroom-hero__copy{max-width:790px}.breadcrumb--light{color:rgba(255,255,255,.7)}.breadcrumb--light a{color:#fff}
.newsroom-hero h1{max-width:850px;margin:15px 0 20px;color:#fff;font-size:clamp(2.7rem,5.4vw,5.5rem);line-height:.98;letter-spacing:-.052em}
.newsroom-hero__copy>p{max-width:690px;margin:0;color:rgba(255,255,255,.76);font-size:1.08rem;line-height:1.75}
.newsroom-search{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 9px 9px 17px;background:#fff;border:1px solid rgba(255,255,255,.18);border-radius:15px;box-shadow:0 22px 60px rgba(0,0,0,.22)}
.newsroom-search>span{display:grid;place-items:center;color:#668092}.newsroom-search svg{width:19px;height:19px}.newsroom-search input{min-width:0;padding:10px 0;color:var(--ink);background:transparent;border:0;outline:0}.newsroom-search button{min-height:46px;padding:0 20px;color:#fff;background:var(--teal);border:0;border-radius:10px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.newsroom-categories{position:relative;z-index:2;display:flex;gap:7px;overflow-x:auto;padding:0 0 22px;scrollbar-width:none}.newsroom-categories::-webkit-scrollbar{display:none}.newsroom-categories a{flex:0 0 auto;padding:9px 14px;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:.69rem;font-weight:800;white-space:nowrap}.newsroom-categories a:hover,.newsroom-categories a.active{color:#07366d;background:#fff;border-color:#fff}
.newsroom-lead{padding:70px 0 40px;background:#f4f8fa}.newsroom-lead__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:30px}
.lead-story{display:grid;overflow:hidden;background:#fff;border:1px solid #dbe6eb;border-radius:22px;box-shadow:0 22px 65px rgba(6,40,71,.1)}.lead-story__media{position:relative;display:block;aspect-ratio:16/8.2;overflow:hidden}.lead-story__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.lead-story:hover img{transform:scale(1.025)}.lead-story__media>span{position:absolute;top:22px;left:22px;padding:8px 12px;color:#fff;background:#286fbd;border-radius:999px;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lead-story__body{padding:34px 38px 38px}.lead-story h2{max-width:900px;margin:13px 0 14px;font-size:clamp(1.75rem,3vw,3rem)}.lead-story h2 a:hover{color:var(--teal)}.lead-story p{max-width:820px;margin-bottom:20px;color:#607486;font-size:1rem}
.news-kicker{display:flex;align-items:center;gap:12px;color:#7b8d9b;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.news-kicker span{color:#1e6db9}.news-kicker span:after{display:inline-block;width:4px;height:4px;margin-left:12px;content:"";vertical-align:middle;background:#b6c5cc;border-radius:50%}
.news-read{display:inline-flex;align-items:center;gap:9px;color:#0b4c9c;font-size:.72rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.news-read svg{width:17px;height:17px;transition:transform .2s}.news-read:hover svg{transform:translateX(3px)}
.newsroom-side{display:flex;min-width:0;flex-direction:column;gap:0;padding:26px;background:#fff;border:1px solid #dbe6eb;border-radius:22px;box-shadow:0 22px 65px rgba(6,40,71,.08)}.newsroom-side__head{display:flex;align-items:center;justify-content:space-between;padding:0 0 17px;border-bottom:1px solid #e5ecef}.newsroom-side__head span{color:var(--ink);font-weight:900}.newsroom-side__head a{color:var(--teal);font-size:.69rem;font-weight:850;text-transform:uppercase}.side-story{display:grid;grid-template-columns:124px minmax(0,1fr);gap:17px;padding:20px 0;border-bottom:1px solid #e7edef}.side-story:last-child{padding-bottom:0;border-bottom:0}.side-story__media{overflow:hidden;border-radius:12px}.side-story__media img{width:100%;height:100%;min-height:108px;object-fit:cover}.side-story h3{margin:7px 0 8px;font-size:1.03rem;line-height:1.27;letter-spacing:-.02em}.side-story h3 a:hover{color:var(--teal)}.side-story__link{color:#1e6db9;font-size:.65rem;font-weight:850;text-transform:uppercase}
.newsroom-feed{padding-top:72px;background:#fff}.newsroom-feed__heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.newsroom-feed__heading h2{max-width:800px;margin:0;font-size:clamp(2rem,3.3vw,3.5rem)}.news-clear{padding:10px 15px;color:#0b4c9c;border:1px solid #bcdfe2;border-radius:999px;font-size:.72rem;font-weight:850}
.newsroom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.newsroom-card{overflow:hidden;background:#fff;border:1px solid #dde7eb;border-radius:18px;box-shadow:0 12px 38px rgba(6,40,71,.065);transition:.25s}.newsroom-card:hover{transform:translateY(-5px);box-shadow:0 23px 55px rgba(6,40,71,.12)}.newsroom-card__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}.newsroom-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.newsroom-card:hover img{transform:scale(1.035)}.newsroom-card__media span{position:absolute;right:15px;bottom:15px;padding:7px 10px;color:#fff;background:rgba(4,39,68,.9);border-radius:999px;font-size:.61rem;font-weight:850;text-transform:uppercase}.newsroom-card__body{padding:24px 24px 27px}.newsroom-card time{color:#80919d;font-size:.69rem;font-weight:800;text-transform:uppercase}.newsroom-card h3{margin:10px 0 12px;font-size:1.34rem;line-height:1.22}.newsroom-card h3 a:hover{color:var(--teal)}.newsroom-card p{display:-webkit-box;min-height:78px;margin-bottom:18px;overflow:hidden;color:#617586;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.news-pagination{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:44px}.news-pagination a{padding:10px 16px;color:var(--ink);background:#fff;border:1px solid #d7e4e9;border-radius:9px;font-size:.73rem;font-weight:850}.news-pagination a:hover{color:#fff;background:var(--navy);border-color:var(--navy)}.news-pagination span{color:#718494;font-size:.75rem;font-weight:750}

@media(max-width:980px){.newsroom-hero__inner{grid-template-columns:1fr;gap:35px}.newsroom-search{max-width:680px}.newsroom-lead__grid{grid-template-columns:1fr}.newsroom-side{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.newsroom-side__head{grid-column:1/-1}.side-story{grid-template-columns:1fr;padding:0;border:0}.side-story__media{aspect-ratio:16/9}.newsroom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.newsroom-hero{padding-top:55px}.newsroom-hero__inner{padding-bottom:35px}.newsroom-hero h1{font-size:2.65rem}.newsroom-hero__copy>p{font-size:.94rem}.newsroom-search{grid-template-columns:21px minmax(0,1fr) 47px;padding-left:13px}.newsroom-search button{width:47px;padding:0;font-size:0}.newsroom-search button:after{content:"→";font-size:1rem}.newsroom-categories{padding-bottom:17px}.newsroom-lead{padding:35px 0 25px}.lead-story{border-radius:17px}.lead-story__media{aspect-ratio:16/10}.lead-story__body{padding:24px 22px 26px}.lead-story h2{font-size:1.72rem}.newsroom-side{display:flex;padding:21px;border-radius:17px}.side-story{grid-template-columns:104px minmax(0,1fr);padding:17px 0;border-bottom:1px solid #e7edef}.side-story__media{aspect-ratio:auto}.side-story__media img{min-height:92px}.newsroom-feed{padding-top:55px}.newsroom-feed__heading{align-items:flex-start;flex-direction:column;margin-bottom:27px}.newsroom-grid{grid-template-columns:1fr;gap:20px}.newsroom-card__body{padding:22px}.newsroom-card p{min-height:0}.news-pagination{justify-content:space-between;gap:8px}.news-pagination span{font-size:.66rem}}

/* V9.1 — related editorial stories */
.news-related{padding:78px 0 105px;background:#f3f7f8;border-top:1px solid #e1eaed}
.news-related__heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}
.news-related__heading h2{margin:8px 0 0;font-size:clamp(2rem,3.1vw,3.25rem);letter-spacing:-.035em}
.news-related__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.news-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-related__grid article:last-child{display:none}}
@media(max-width:650px){.news-related{padding:58px 0 72px}.news-related__heading{align-items:flex-start;flex-direction:column;margin-bottom:26px}.news-related__grid{grid-template-columns:1fr}.news-related__grid article:last-child{display:block}}

/* Clean editorial newsroom, readable article pages and section navigation */
.news-index-hero{padding:62px 0 52px;background:linear-gradient(180deg,#f5f9fa 0%,#fff 100%);border-bottom:1px solid #e0e8eb}
.news-index-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:60px}
.news-index-hero .breadcrumb{margin-bottom:26px;color:#71828f}.news-index-hero .breadcrumb a{color:#385267}
.news-index-hero h1{max-width:850px;margin:13px 0 18px;color:#102d46;font-size:clamp(2.35rem,4.2vw,4.2rem);line-height:1.05;letter-spacing:-.045em}
.news-index-hero p{max-width:720px;margin:0;color:#617584;font-size:1.03rem;line-height:1.75}
.news-index-hero__mark{display:flex;flex-direction:column;align-items:flex-end;padding-bottom:5px;color:#8ba1ae;letter-spacing:.12em}.news-index-hero__mark span{font-size:.72rem;font-weight:850}.news-index-hero__mark strong{margin-top:3px;color:#0a7080;font-size:1.05rem}
.news-index-section{padding:68px 0 100px;background:#fff}
.news-index-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:58px;align-items:start}
.news-index-main{min-width:0}.news-index-sidebar{position:sticky;top:116px;display:flex;min-width:0;flex-direction:column;gap:24px}
.news-featured{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);overflow:hidden;margin-bottom:58px;background:#fff;border:1px solid #dce6ea;border-radius:18px;box-shadow:0 16px 48px rgba(6,40,71,.08)}
.news-featured__media{position:relative;display:block;min-height:360px;overflow:hidden}.news-featured__media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.news-featured:hover img{transform:scale(1.025)}
.news-featured__media>span{position:absolute;top:18px;left:18px;padding:7px 11px;color:#fff;background:#0b4c9c;border-radius:999px;font-size:.62rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.news-featured__body{display:flex;flex-direction:column;justify-content:center;padding:40px 38px}.news-featured__body h2{margin:12px 0 14px;font-size:clamp(1.75rem,2.7vw,2.8rem);line-height:1.12}.news-featured__body h2 a:hover{color:var(--teal)}.news-featured__body p{margin-bottom:20px;color:#617584;line-height:1.72}
.news-index-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px;padding-bottom:20px;border-bottom:2px solid #102d46}.news-index-heading h2{margin:5px 0 0;font-size:clamp(1.65rem,2.6vw,2.55rem)}
.news-list{display:flex;flex-direction:column}.news-list-item{display:grid;grid-template-columns:280px minmax(0,1fr);gap:26px;padding:28px 0;border-bottom:1px solid #e3eaed}.news-list-item:first-child{padding-top:5px}.news-list-item__media{display:block;overflow:hidden;border-radius:12px;aspect-ratio:16/10}.news-list-item__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.news-list-item:hover img{transform:scale(1.03)}
.news-list-item__body h3{margin:9px 0 10px;font-size:clamp(1.28rem,2vw,1.72rem);line-height:1.25}.news-list-item__body h3 a:hover{color:var(--teal)}.news-list-item__body p{display:-webkit-box;margin:0 0 14px;overflow:hidden;color:#617584;line-height:1.68;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.news-kicker{display:flex;align-items:center;gap:10px;color:#7d8f9b;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.news-kicker span{color:#078793}.news-kicker span:after{margin-left:10px;content:"·";color:#a2b1ba}
.news-read{display:inline-flex;align-items:center;gap:7px;color:#0b4c9c;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.news-read svg{width:15px;height:15px;transition:transform .2s}.news-read:hover svg{transform:translateX(3px)}
.news-sidebar-search,.news-sidebar-card{padding:22px;background:#f7fafb;border:1px solid #dce6ea;border-radius:14px}.news-sidebar-search label,.news-sidebar-card>span{display:block;margin-bottom:9px;color:#728692;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.news-sidebar-search>div{display:grid;grid-template-columns:minmax(0,1fr) 42px;overflow:hidden;background:#fff;border:1px solid #d4e0e5;border-radius:9px}.news-sidebar-search input{min-width:0;padding:11px 12px;background:transparent;border:0;outline:0;font-size:.78rem}.news-sidebar-search button{display:grid;place-items:center;color:#fff;background:#07366d;border:0;cursor:pointer}.news-sidebar-search svg{width:17px;height:17px}
.news-sidebar-card h2{margin:0 0 14px;font-size:1.15rem}.news-topic-list{display:flex;flex-wrap:wrap;gap:7px}.news-topic-list a{padding:7px 9px;color:#536d7d;background:#fff;border:1px solid #d5e0e5;border-radius:7px;font-size:.66rem;line-height:1.25}.news-topic-list a:hover,.news-topic-list a.active{color:#fff;background:#0b4c9c;border-color:#0b4c9c}
.news-sidebar-latest{display:flex;flex-direction:column}.news-sidebar-latest>a{display:grid;grid-template-columns:74px minmax(0,1fr);gap:11px;padding:12px 0;border-top:1px solid #e0e8eb}.news-sidebar-latest>a:first-child{padding-top:0;border-top:0}.news-sidebar-latest img{width:74px;height:58px;object-fit:cover;border-radius:8px}.news-sidebar-latest span{min-width:0}.news-sidebar-latest small{display:block;margin-bottom:4px;color:#84959f;font-size:.57rem;text-transform:uppercase}.news-sidebar-latest strong{display:-webkit-box;overflow:hidden;color:#203d53;font-size:.72rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.news-sidebar-latest a:hover strong{color:#0b4c9c}
.news-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:40px}.news-pagination a,.news-pagination span{padding:10px 14px;border:1px solid #d8e3e7;border-radius:9px;font-size:.7rem;font-weight:800}.news-pagination a{color:#0b4c9c}.news-pagination a:hover{color:#fff;background:#0b4c9c;border-color:#0b4c9c}.news-pagination span{color:#6b7f8d;background:#f7fafb}
.empty-news{padding:55px 30px;text-align:center;background:#f7fafb;border:1px solid #dce6ea;border-radius:14px}.empty-news h2{font-size:1.7rem}

.news-article{background:#fff}.news-article__header{padding:58px 0 44px;background:linear-gradient(180deg,#f7fafb,#fff);border-bottom:1px solid #e2e9ec}.news-article__header-inner{max-width:960px}.news-article__header .breadcrumb{margin-bottom:28px;color:#788b97}.news-article__header .breadcrumb a{color:#3c586c}.news-article__category{display:inline-flex;padding:7px 10px;color:#0b4c9c;background:#e9f6f6;border-radius:999px;font-size:.62rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.news-article__header h1{max-width:940px;margin:18px 0 18px;color:#102d46;font-size:clamp(2.45rem,4.6vw,4.8rem);line-height:1.04;letter-spacing:-.048em}.news-article__dek{max-width:820px;margin:0;color:#627684;font-size:clamp(1.02rem,1.5vw,1.23rem);line-height:1.72}.news-article__meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px;color:#6d818f;font-size:.68rem;font-weight:800;text-transform:uppercase}.news-article__meta span{display:flex;align-items:center;gap:7px}.news-article__meta svg{width:15px;height:15px;color:#1e6db9}
.news-article__media{max-width:1180px;margin-top:38px}.news-article__media img{width:100%;max-height:630px;aspect-ratio:16/8.8;object-fit:cover;border-radius:17px;box-shadow:0 20px 60px rgba(6,40,71,.13)}
.news-article__body{padding:66px 0 90px}.news-article__layout{display:grid;grid-template-columns:minmax(0,760px) 300px;justify-content:center;gap:70px;align-items:start}.news-content{min-width:0;color:#334d60;font-size:1.075rem;line-height:1.86}.news-content>:first-child{margin-top:0}.news-content p{margin:0 0 1.35em}.news-content h2{margin:2.05em 0 .7em;color:#102d46;font-size:clamp(1.7rem,2.5vw,2.35rem);line-height:1.2}.news-content h3{margin:1.7em 0 .55em;color:#163a53;font-size:1.35rem}.news-content ul,.news-content ol{padding-left:1.3em}.news-content li{margin:.45em 0}.news-content img{max-width:100%;height:auto;margin:25px 0;border-radius:12px}.news-content blockquote{margin:28px 0;padding:18px 22px;color:#315160;background:#eef7f7;border-left:4px solid var(--teal);font-size:1.08rem}.news-content a{color:#0b4c9c;text-decoration:underline;text-underline-offset:3px}.news-article__back{margin-top:45px;padding-top:22px;border-top:1px solid #e0e8eb}.news-article__back a{font-size:.72rem;font-weight:900;text-decoration:none;text-transform:uppercase}
.news-article__sidebar{position:sticky;top:116px;display:flex;flex-direction:column;gap:22px}.news-sidebar-card--contact{color:#d8e8ef;background:#0b3658;border-color:#0b3658}.news-sidebar-card--contact>span{color:#62dce0}.news-sidebar-card--contact h2{color:#fff;font-size:1.45rem}.news-sidebar-card--contact p{color:#c4d4df;font-size:.83rem;line-height:1.65}.news-sidebar-card--contact>a{display:inline-flex;align-items:center;gap:7px;margin-top:8px;color:#fff;font-size:.68rem;font-weight:900;text-transform:uppercase}.news-sidebar-card--contact svg{width:15px;height:15px}
.news-video-embed{margin:32px 0}.news-video-embed iframe,.news-video-embed video{width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:#000}.news-related{padding:72px 0 95px;background:#f5f8f9;border-top:1px solid #e1e8eb}.news-related__heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.news-related__heading h2{margin:5px 0 0;font-size:clamp(1.8rem,3vw,3rem)}

.scroll-nav{position:fixed;z-index:610;right:24px;bottom:94px;display:flex;flex-direction:column;gap:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s}.scroll-nav.visible{opacity:1;visibility:visible;transform:none}.scroll-nav__button{display:grid;width:42px;height:42px;place-items:center;color:#fff;background:#07366d;border:1px solid rgba(255,255,255,.25);border-radius:50%;box-shadow:0 10px 28px rgba(5,42,67,.2);cursor:pointer;transition:.2s}.scroll-nav__button:hover{background:#0b4c9c;transform:translateY(-1px)}.scroll-nav__button svg{width:17px;height:17px}.scroll-nav__button--up svg{transform:rotate(-90deg)}.scroll-nav__button--down svg{transform:rotate(90deg)}
.espro-chat~.scroll-nav{right:250px;bottom:30px}

@media(max-width:1050px){.news-index-layout{grid-template-columns:minmax(0,1fr) 280px;gap:38px}.news-featured{grid-template-columns:1fr}.news-featured__media{min-height:330px}.news-article__layout{grid-template-columns:minmax(0,720px);gap:38px}.news-article__sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.news-article__sidebar .news-sidebar-search{grid-column:1/-1}}
@media(max-width:800px){.news-index-hero{padding:42px 0 38px}.news-index-hero__inner{grid-template-columns:1fr}.news-index-hero__mark{display:none}.news-index-hero h1{font-size:2.65rem}.news-index-section{padding:45px 0 72px}.news-index-layout{grid-template-columns:1fr}.news-index-sidebar{position:static;order:-1;display:grid;grid-template-columns:1fr 1fr}.news-index-sidebar .news-sidebar-search{grid-column:1/-1}.news-list-item{grid-template-columns:220px minmax(0,1fr)}.news-article__header{padding:42px 0 35px}.news-article__header h1{font-size:2.8rem}.news-article__media{margin-top:24px;padding-inline:18px}.news-article__body{padding:45px 0 70px}.news-article__layout{grid-template-columns:1fr;gap:42px}.news-article__sidebar{grid-template-columns:1fr 1fr}.news-content{font-size:1rem}.espro-chat~.scroll-nav{right:82px;bottom:18px}}
@media(max-width:620px){.news-index-hero h1{font-size:2.25rem}.news-index-hero p{font-size:.94rem}.news-index-sidebar{display:flex}.news-featured{margin-bottom:42px;border-radius:14px}.news-featured__media{min-height:220px}.news-featured__body{padding:24px 22px}.news-featured__body h2{font-size:1.65rem}.news-list-item{grid-template-columns:1fr;gap:15px;padding:23px 0}.news-list-item__media{aspect-ratio:16/9}.news-index-heading{align-items:flex-start;flex-direction:column}.news-article__header h1{font-size:2.25rem}.news-article__dek{font-size:.98rem}.news-article__meta{gap:10px 14px}.news-article__media img{aspect-ratio:16/10;border-radius:12px}.news-article__sidebar{display:flex}.news-related__heading{align-items:flex-start;flex-direction:column}.scroll-nav{right:78px;bottom:17px;flex-direction:row}.scroll-nav__button{width:40px;height:40px}.espro-chat~.scroll-nav{right:78px;bottom:17px}}

/* Newsroom reading and embedded editorial media */
.news-index-hero h1{max-width:760px;font-size:clamp(2.25rem,3.7vw,3.55rem);line-height:1.08}
.news-featured__body h2{font-size:clamp(1.72rem,2.6vw,2.5rem)}
.news-article__header-inner{max-width:900px}.news-article__header h1{max-width:880px;font-size:clamp(2.2rem,3.75vw,3.75rem);line-height:1.08;letter-spacing:-.038em}
.news-article__media{max-width:1080px}.news-article__media img{max-height:590px;aspect-ratio:16/9}
.news-content .article-media{margin:30px 0;text-align:center}.news-content .article-media img,.news-content .article-media video{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:12px}.news-content .article-media figcaption{margin-top:9px;color:#768995;font-size:.78rem;font-style:italic}.news-content .article-video{position:relative;overflow:hidden;padding-top:56.25%;background:#071b2c;border-radius:12px}.news-content .article-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.news-content .article-table-wrap{max-width:100%;overflow-x:auto;margin:30px 0;border:1px solid #dbe5e9;border-radius:10px}.news-content table{width:100%;min-width:560px;border-collapse:collapse}.news-content th,.news-content td{padding:12px 14px;border:1px solid #dbe5e9;text-align:left}.news-content th{color:#fff;background:#0a5673}.news-content tr:nth-child(even) td{background:#f7fafb}
.scroll-nav{right:252px;bottom:28px}.scroll-nav__button{background:#fff;color:#0a4666;border-color:#d5e4e9;box-shadow:0 10px 28px rgba(5,42,67,.16)}.scroll-nav__button:hover{color:#fff;background:#0b4c9c;border-color:#0b4c9c}
@media(max-width:800px){.news-index-hero h1{font-size:2.45rem}.news-article__header h1{font-size:2.55rem}.scroll-nav,.espro-chat~.scroll-nav{right:78px;bottom:18px}}
@media(max-width:620px){.news-index-hero h1{font-size:2.08rem}.news-article__header h1{font-size:2.08rem}.news-article__header{padding-top:34px}.news-article__media{padding-inline:12px}.scroll-nav,.espro-chat~.scroll-nav{right:76px;bottom:14px;gap:6px}}


/* Compact back-to-top and mobile header behaviour */
.scroll-nav{right:252px!important;bottom:29px!important;display:block!important}
.scroll-nav__button{width:45px;height:45px;background:#07366d!important;color:#fff!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 12px 30px rgba(5,42,67,.22)!important}
.scroll-nav__button:hover{background:#1e6db9!important;transform:translateY(-2px)}
.scroll-nav__button svg{width:16px;height:16px}
@media(max-width:1050px){
  .site-header{position:sticky!important;top:0!important;z-index:700!important;background:#fff}
  .topbar{max-height:40px;overflow:hidden;opacity:1;transition:max-height .2s ease,opacity .18s ease,border-color .18s ease}
  .site-header.scrolled .topbar{max-height:0!important;min-height:0!important;opacity:0!important;border-color:transparent!important;pointer-events:none}
  .site-header.scrolled .topbar__inner{min-height:0!important;height:0!important;padding-block:0!important}
  .mobile-nav{inset-block-start:108px!important}
  .mobile-nav-backdrop{inset-block-start:108px!important}
  .site-header.scrolled .mobile-nav{inset-block-start:68px!important}
  .site-header.scrolled .mobile-nav-backdrop{inset-block-start:68px!important}
}
@media(max-width:800px){
  .scroll-nav,.espro-chat~.scroll-nav{right:78px!important;bottom:18px!important}
  .scroll-nav__button{width:42px;height:42px}
}
@media(max-width:620px){
  .scroll-nav,.espro-chat~.scroll-nav{right:76px!important;bottom:16px!important}
}


/* Official Font Awesome brands and locked mobile navigation */
.brand-icon{display:inline-block;width:auto;height:auto;font-size:15px;line-height:1;color:currentColor}
.topbar-socials a,.socials a{font-family:inherit}
.topbar-socials .brand-icon{font-size:14px}.socials .brand-icon{font-size:17px}
.topbar-socials a[aria-label="Youtube"]:hover,.socials a[aria-label="Youtube"]:hover{color:#ff0033}
.topbar-socials a[aria-label="Facebook"]:hover,.socials a[aria-label="Facebook"]:hover{color:#1877f2}
.topbar-socials a[aria-label="Whatsapp"]:hover,.socials a[aria-label="Whatsapp"]:hover{color:#25d366}
.topbar-socials a[aria-label="Linkedin"]:hover,.socials a[aria-label="Linkedin"]:hover{color:#0a66c2}
html.nav-open,body.nav-open{overflow:hidden!important;overscroll-behavior:none;height:100%}body.nav-open{touch-action:none}.mobile-nav{touch-action:pan-y}
@media(max-width:1050px){
  .site-header{position:sticky!important;top:0!important;z-index:900!important}
  .mobile-toggle{margin-left:auto;align-self:center;display:grid!important;place-items:center;width:40px!important;height:40px!important;border-radius:12px!important}
  .mobile-nav-backdrop{position:fixed!important;z-index:880!important;inset:var(--mobile-nav-top,108px) 0 0!important;background:rgba(4,26,45,.54)!important;backdrop-filter:blur(3px)}
  .mobile-nav,.site-header.scrolled .mobile-nav{position:fixed!important;z-index:890!important;top:var(--mobile-nav-top,108px)!important;right:0!important;bottom:0!important;left:auto!important;inset-block-start:auto!important;width:min(420px,calc(100vw - 22px))!important;max-width:100%!important;height:auto!important;max-height:calc(100dvh - var(--mobile-nav-top,108px))!important;padding:0 0 24px!important;border-radius:18px 0 0 0!important;box-shadow:-24px 0 70px rgba(3,28,49,.24)!important;overscroll-behavior:contain}
  .mobile-nav__head{position:sticky;top:0;z-index:2;min-height:68px;padding:14px 18px;background:linear-gradient(120deg,#0b5270,#118b94);box-shadow:0 1px rgba(255,255,255,.12)}
  .mobile-nav__links{padding:18px 22px 8px}
  .mobile-nav__links>a{min-height:52px;display:flex;align-items:center;padding:14px 4px!important;font-size:.9rem}
}
@media(max-width:620px){
  .navbar{justify-content:space-between!important}.brand{margin-right:auto}.mobile-toggle{margin-right:2px!important}
  .topbar-socials{gap:10px!important}.topbar-socials a{width:30px!important;height:30px!important}
}

/* Service badges and international enquiry form */
.service-card__media>span{
  bottom:14px!important;
  left:16px!important;
  transform:none!important;
  border-radius:12px!important;
}
.form-grid select[name="country"],.espro-chat__lead select[name="country"]{
  cursor:pointer;
  color-scheme:light;
  background-color:#f8fafb;
  background-image:linear-gradient(45deg,transparent 50%,#60798a 50%),linear-gradient(135deg,#60798a 50%,transparent 50%);
  background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  padding-right:42px;
  appearance:none;
  -webkit-appearance:none;
}
@media(max-width:700px){
  .service-card__media>span{width:42px;height:42px;bottom:12px!important;left:13px!important}
  .service-card__media .ui-icon{width:20px;height:20px}
}

/* ===== ES-PRO advisor widget (bundled for hosts that block filenames containing reserved words) ===== */
/* ES-PRO engineering consultation desk — compact, fast and mobile-safe */
.espro-chat{position:fixed;z-index:640;right:24px;bottom:22px;color:#122a40;font-family:inherit}
.espro-chat__launcher{position:relative;display:flex;min-width:214px;height:58px;align-items:center;gap:11px;padding:7px 17px 7px 7px;color:#fff;background:linear-gradient(135deg,#07366d 0%,#087b85 100%);border:1px solid rgba(255,255,255,.25);border-radius:18px;box-shadow:0 18px 48px rgba(5,42,67,.24);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.espro-chat__launcher:hover{transform:translateY(-2px);box-shadow:0 23px 58px rgba(5,42,67,.3)}
.espro-chat__launcher-icon{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;overflow:hidden;background:#fff;border-radius:13px;box-shadow:inset 0 0 0 1px rgba(8,54,88,.08)}
.espro-chat__launcher-icon img{width:36px;height:36px;object-fit:contain}
.espro-chat__launcher-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.espro-chat__launcher-copy strong{font-size:.8rem;letter-spacing:.01em}.espro-chat__launcher-copy small{margin-top:5px;color:#d5f1f2;font-size:.62rem;font-weight:700}
.espro-chat__pulse{position:absolute;right:-3px;top:-3px;width:12px;height:12px;background:#42d8a5;border:3px solid #fff;border-radius:50%;animation:esproPulse 2.5s infinite}@keyframes esproPulse{0%{box-shadow:0 0 0 0 rgba(66,216,165,.45)}70%{box-shadow:0 0 0 11px rgba(66,216,165,0)}100%{box-shadow:none}}
.espro-chat__panel{position:absolute;right:0;bottom:72px;display:grid;width:min(430px,calc(100vw - 28px));height:min(660px,calc(100dvh - 124px));grid-template-rows:auto minmax(0,1fr) auto auto auto;overflow:hidden;background:#fff;border:1px solid #d7e3e8;border-radius:21px;box-shadow:0 30px 90px rgba(3,31,52,.3);transform-origin:bottom right;animation:chatOpen .15s ease-out}@keyframes chatOpen{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.espro-chat__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;color:#fff;background:linear-gradient(125deg,#0a3457,#0a6775)}
.espro-chat__identity{display:flex;min-width:0;align-items:center;gap:10px}.espro-chat__identity>span{display:grid;width:39px;height:39px;flex:0 0 auto;place-items:center;overflow:hidden;background:#fff;border-radius:12px}.espro-chat__identity img{width:31px;height:31px;object-fit:contain}.espro-chat__identity div{display:flex;min-width:0;flex-direction:column}.espro-chat__identity strong{overflow:hidden;font-size:.79rem;text-overflow:ellipsis;white-space:nowrap}.espro-chat__identity small{display:flex;align-items:center;gap:6px;margin-top:4px;color:#d7eff0;font-size:.56rem;line-height:1.2}.espro-chat__identity small i{width:7px;height:7px;flex:0 0 auto;background:#4be0aa;border-radius:50%}
.espro-chat__controls{display:flex;gap:6px}.espro-chat__controls button{display:grid;width:33px;height:33px;place-items:center;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:10px;font-size:1.28rem;line-height:1;cursor:pointer}.espro-chat__controls button:hover{background:rgba(255,255,255,.2)}.espro-chat__controls svg{width:16px;height:16px}
.espro-chat__messages{display:flex;min-height:0;flex-direction:column;gap:14px;padding:17px 15px;overflow-y:auto;background:linear-gradient(180deg,#f2f7f8 0%,#fff 42%);scrollbar-width:thin;scrollbar-color:#c4d3d9 transparent}
.chat-message{display:flex;max-width:94%;align-items:flex-end;gap:8px}.chat-message--user{align-self:flex-end;flex-direction:row-reverse}.chat-message__avatar{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;overflow:hidden;background:#fff;border:1px solid #dbe7ea;border-radius:9px}.chat-message__avatar img{width:20px;height:20px;object-fit:contain}.chat-message__avatar span{width:8px;height:8px;background:#286fbd;border-radius:50%}.chat-message>div:last-child{min-width:0}.chat-message p{margin:0;padding:10px 12px;color:#304a5f;background:#fff;border:1px solid #dce6ea;border-radius:14px 14px 14px 4px;box-shadow:0 4px 15px rgba(8,43,67,.045);font-size:.78rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message--user p{color:#fff;background:#0b5871;border-color:#0b5871;border-radius:14px 14px 4px 14px}.chat-message--typing p{display:flex;gap:4px;padding:13px 15px}.chat-message--typing i{width:6px;height:6px;background:#8aa0ac;border-radius:50%;animation:typing 1.2s infinite}.chat-message--typing i:nth-child(2){animation-delay:.15s}.chat-message--typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,70%,100%{transform:none;opacity:.4}35%{transform:translateY(-4px);opacity:1}}
.chat-cards{display:grid;gap:9px;margin-top:9px}.chat-card{display:grid;grid-template-columns:82px minmax(0,1fr);overflow:hidden;color:inherit;background:#fff;border:1px solid #d8e4e9;border-radius:12px;transition:.18s}.chat-card:hover{border-color:#48aab1;transform:translateY(-1px)}.chat-card img{width:82px;height:100%;min-height:78px;object-fit:cover}.chat-card div{padding:9px 10px}.chat-card strong{display:block;color:#102c45;font-size:.71rem;line-height:1.25}.chat-card span{display:-webkit-box;margin-top:4px;overflow:hidden;color:#71808e;font-size:.61rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.chat-card b{display:block;margin-top:6px;color:#0b4c9c;font-size:.58rem;text-transform:uppercase}
.chat-message.is-revealing p::after{display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-.12em;background:#0a8c9c;border-radius:2px;content:"";animation:chat-caret .72s steps(1,end) infinite}.chat-message.is-revealing .chat-cards[hidden]{display:none!important}@keyframes chat-caret{0%,48%{opacity:1}49%,100%{opacity:0}}
.espro-chat__suggestions{display:flex;gap:7px;padding:0 13px 10px;overflow-x:auto;background:#fff;scrollbar-width:none}.espro-chat__suggestions::-webkit-scrollbar{display:none}.espro-chat__suggestions:empty{display:none}.espro-chat__suggestions button{flex:0 0 auto;padding:7px 10px;color:#087a84;background:#eef8f8;border:1px solid #cae6e8;border-radius:999px;font-size:.62rem;font-weight:750;cursor:pointer}.espro-chat__suggestions button:hover{color:#fff;background:#087a84}
.espro-chat__lead{grid-row:2/6;z-index:4;align-self:stretch;padding:21px 19px 19px;overflow-y:auto;background:linear-gradient(180deg,#f7faff 0%,#fff 38%)}
.chat-lead__heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:17px}.chat-lead__badge{display:grid;width:39px;height:39px;flex:0 0 auto;place-items:center;color:#087b85;background:#e7f5f5;border-radius:12px}.chat-lead__badge svg{width:20px;height:20px}.chat-lead__heading>div{min-width:0}.chat-lead__heading strong{color:#102c45;font-size:1rem;line-height:1.3}.chat-lead__heading p{margin:5px 0 0;color:#6d808d;font-size:.72rem;line-height:1.5}
.chat-lead__grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.chat-lead__grid label{display:flex;min-width:0;flex-direction:column;gap:6px}.chat-lead__grid label.wide{grid-column:1/-1}.chat-lead__grid label>span{color:#344f63;font-size:.65rem;font-weight:800}.chat-lead__grid input,.chat-lead__grid select{width:100%;padding:11px 12px;color:#102c45;background:#fff;border:1px solid #d4e0e5;border-radius:10px;outline:0;font-size:.75rem}.chat-lead__grid select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#557181 50%),linear-gradient(135deg,#557181 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.chat-lead__grid input:focus,.chat-lead__grid select:focus{border-color:#286fbd;box-shadow:0 0 0 3px rgba(7,154,167,.1)}
.espro-chat__consent{display:flex!important;align-items:flex-start;gap:9px;margin:13px 0 0;color:#536b7b;font-size:.68rem;line-height:1.45}.espro-chat__consent input{width:16px;height:16px;margin-top:2px;accent-color:#286fbd;flex:0 0 auto}.espro-chat__consent a{color:#0b4c9c;font-weight:800}.chat-lead__error{margin-top:11px;padding:9px 11px;color:#9b3030;background:#fff1f1;border:1px solid #f1caca;border-radius:9px;font-size:.68rem;line-height:1.45}
.chat-lead__actions{display:flex;justify-content:stretch;margin-top:15px}.chat-lead__actions button{display:flex;width:100%;min-height:43px;align-items:center;justify-content:center;gap:8px;padding:10px 14px;color:#fff;background:linear-gradient(135deg,#07366d,#078b94);border:0;border-radius:10px;font-size:.7rem;font-weight:850;cursor:pointer}.chat-lead__actions button:hover{filter:brightness(1.04)}.chat-lead__actions button:disabled{opacity:.55;cursor:wait}.chat-lead__actions svg{width:16px;height:16px}
.espro-chat__composer{display:grid;grid-template-columns:minmax(0,1fr) 43px;align-items:end;gap:8px;padding:10px 11px 8px;background:#fff;border-top:1px solid #e1e8ec}.espro-chat__composer textarea{width:100%;max-height:112px;resize:none;padding:10px 12px;color:#102c45;background:#f5f8f9;border:1px solid #d9e3e7;border-radius:12px;outline:0;font-size:.75rem;line-height:1.4}.espro-chat__composer textarea:focus{border-color:#286fbd;box-shadow:0 0 0 3px rgba(7,154,167,.09)}.espro-chat__composer button{display:grid;width:43px;height:43px;place-items:center;color:#fff;background:linear-gradient(135deg,#07366d,#286fbd);border:0;border-radius:12px;cursor:pointer}.espro-chat__composer button:disabled{opacity:.55;cursor:wait}.espro-chat__composer svg{width:18px;height:18px}
.espro-chat__privacy{margin:0;padding:0 12px 9px;color:#84929d;background:#fff;font-size:.53rem;text-align:center}.espro-chat__privacy span{padding-inline:3px}.espro-chat__privacy a{color:#0b4c9c;text-decoration:underline}.espro-chat__fallback{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 11px 10px;background:#fff}.espro-chat__fallback a{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;color:#075270;background:#eef7f8;border:1px solid #cee3e7;border-radius:10px;font-size:.64rem;font-weight:850}.espro-chat__fallback svg{width:15px;height:15px}
@media(max-width:680px){body.chat-open{overflow:hidden}.espro-chat{right:12px;bottom:12px}.espro-chat__launcher{min-width:0;width:56px;height:56px;padding:6px;border-radius:18px}.espro-chat__launcher-copy{display:none}.espro-chat__launcher-icon{width:42px;height:42px}.espro-chat__launcher-icon img{width:34px;height:34px}.espro-chat__panel{position:fixed;z-index:690;inset:76px 8px 8px;width:auto;height:auto;max-width:none;border-radius:18px;transform-origin:bottom center}.espro-chat__header{padding:12px}.espro-chat__identity strong{font-size:.75rem}.espro-chat__identity small{max-width:220px;font-size:.53rem}.chat-lead__grid{grid-template-columns:1fr}.espro-chat__lead{padding:18px 16px}.espro-chat__privacy{padding-bottom:max(9px,env(safe-area-inset-bottom))}.espro-chat:has(.espro-chat__panel:not([hidden])) .espro-chat__launcher{display:none}}
@media(max-width:390px){.espro-chat__panel{inset:72px 5px 5px}.espro-chat__messages{padding-inline:11px}.espro-chat__header{gap:7px}.espro-chat__identity>span{width:36px;height:36px}.espro-chat__controls button{width:31px;height:31px}}
@media(prefers-reduced-motion:reduce){.espro-chat__pulse,.chat-message--typing i,.chat-message.is-revealing p::after{animation:none}.espro-chat__panel{animation:none}}

/* Public GEO / AI-readable evidence section */
.geo-visibility-section{position:relative;padding:76px 0;background:linear-gradient(180deg,#f5f9fa 0%,#fff 100%);border-top:1px solid #e3ecef;border-bottom:1px solid #e3ecef}.geo-visibility-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 9% 12%,rgba(10,151,160,.08),transparent 28%),radial-gradient(circle at 92% 82%,rgba(17,65,96,.06),transparent 30%);pointer-events:none}.geo-visibility-section .container{position:relative}.geo-visibility-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:24px;align-items:start}.geo-answer-card,.geo-faq-card{padding:30px;background:#fff;border:1px solid #dce7eb;border-radius:20px;box-shadow:0 16px 45px rgba(14,48,69,.07)}.geo-answer-card>span,.geo-faq-card>span{display:block;margin-bottom:10px;color:#0b8d95;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.geo-answer-card h2,.geo-faq-card h2{margin:0;color:#102c45;font-size:clamp(1.45rem,2.3vw,2.15rem);line-height:1.18}.geo-answer-lead{margin:18px 0 0;color:#40596b;font-size:1rem;line-height:1.78}.geo-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0 0;padding:0}.geo-facts li{display:grid;gap:5px;padding:14px 15px;background:#f4f8f9;border:1px solid #e1eaed;border-radius:12px;list-style:none}.geo-facts strong{color:#6b7f8d;font-size:.64rem;letter-spacing:.05em;text-transform:uppercase}.geo-facts span{color:#17364e;font-size:.82rem;font-weight:750;line-height:1.4}.geo-review{display:flex;flex-wrap:wrap;gap:7px 18px;margin:18px 0 0;padding-top:16px;color:#728491;border-top:1px solid #e6edef;font-size:.68rem}.geo-review b{color:#345369}.geo-faq-list{display:grid;gap:9px;margin-top:20px}.geo-faq-list details{overflow:hidden;background:#f7fafb;border:1px solid #dfe9ec;border-radius:13px}.geo-faq-list summary{position:relative;padding:15px 42px 15px 16px;color:#16364d;font-size:.82rem;font-weight:850;line-height:1.45;cursor:pointer;list-style:none}.geo-faq-list summary::-webkit-details-marker{display:none}.geo-faq-list summary:after{content:"+";position:absolute;right:16px;top:50%;color:#0b9098;font-size:1.15rem;transform:translateY(-50%)}.geo-faq-list details[open] summary:after{content:"−"}.geo-faq-list p{margin:0;padding:0 16px 16px;color:#536b7b;font-size:.78rem;line-height:1.7}.geo-faq-list details[open]{background:#fff;border-color:#bcdde0}
@media(max-width:900px){.geo-visibility-section{padding:58px 0}.geo-visibility-grid{grid-template-columns:1fr}.geo-answer-card,.geo-faq-card{padding:24px}.geo-facts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.geo-visibility-section{padding:44px 0}.geo-answer-card,.geo-faq-card{padding:20px;border-radius:16px}.geo-facts{grid-template-columns:1fr}.geo-answer-lead{font-size:.9rem}.geo-faq-list summary{font-size:.76rem}}

/* Verified GEO facts and internal topic links */
.geo-facts>div{display:grid;gap:5px;padding:14px 15px;background:#f4f8f9;border:1px solid #e1eaed;border-radius:12px}.geo-facts dt{color:#6b7f8d;font-size:.64rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.geo-facts dd{margin:0;color:#17364e;font-size:.82rem;font-weight:720;line-height:1.5}.geo-answer-card>footer{display:flex;flex-wrap:wrap;gap:5px;margin-top:18px;padding-top:16px;color:#728491;border-top:1px solid #e6edef;font-size:.7rem}.geo-answer-card>footer strong{color:#345369}.geo-related-card{grid-column:1/-1;padding:25px 28px;background:#102f47;border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 18px 48px rgba(13,43,64,.12)}.geo-related-card>.eyebrow{display:block;margin:0 0 7px;color:#71d7dc}.geo-related-card>p{margin:0;color:#c7d8e2;font-size:.86rem;line-height:1.65}.geo-related-card>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.geo-related-card a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:13px 15px;color:#fff;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.11);border-radius:11px;font-size:.78rem;font-weight:800;line-height:1.4;transition:transform .18s ease,background .18s ease,border-color .18s ease}.geo-related-card a:hover{background:rgba(33,191,197,.15);border-color:rgba(91,221,225,.45);transform:translateY(-2px)}.geo-related-card a i{color:#6ed4d8;font-style:normal;font-size:1rem}
@media(max-width:900px){.geo-related-card>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.geo-related-card{padding:20px}.geo-related-card>div{grid-template-columns:1fr}.geo-related-card a{min-height:52px}}

/* Production polish: responsive headings, company profile and guided advisory */
.hero__content{max-width:min(760px,62vw)}
.hero__title{max-width:100%!important;font-size:var(--fit-size,clamp(3rem,4.55vw,4.9rem))!important;line-height:1.02!important;letter-spacing:-.055em!important;text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}
.hero__title--long{max-width:720px!important;line-height:1.04!important;letter-spacing:-.048em!important}
.hero__title--very-long{max-width:760px!important;line-height:1.055!important;letter-spacing:-.042em!important}
.hero__content p{max-width:660px}

.company-profile-hero .page-content{max-width:880px}.company-profile-section{padding:76px 0;background:#fff}
.company-profile-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);gap:48px;align-items:start}
.company-profile-main h2{max-width:790px;margin:8px 0 20px;font-size:clamp(2rem,3.35vw,3.45rem);line-height:1.12;letter-spacing:-.04em}
.company-profile-main>p{max-width:800px;color:#647987;font-size:1rem;line-height:1.8}
.company-profile-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.company-profile-facts>div{min-height:118px;padding:19px;background:#f5f9fa;border:1px solid #dbe6e9;border-radius:15px}
.company-profile-facts strong{display:block;color:#07366d;font-size:1.35rem}.company-profile-facts span{display:block;margin-top:8px;color:#70838f;font-size:.75rem;line-height:1.45}
.company-profile-card{position:sticky;top:110px;padding:28px;color:#fff;background:linear-gradient(145deg,#082d4d,#087883);border-radius:22px;box-shadow:0 24px 65px rgba(6,43,70,.18)}
.company-profile-card img{width:190px;max-width:72%;height:auto;padding:11px;background:#fff;border-radius:13px}.company-profile-card h2{margin:24px 0 12px;color:#fff;font-size:1.35rem}.company-profile-card p{color:#d9e7ec;line-height:1.7}.company-profile-card>a:not(.button){display:flex;align-items:center;gap:8px;margin-top:11px;color:#fff;font-size:.78rem}.company-profile-card svg{width:17px;height:17px}.company-profile-card .button{margin-top:22px;width:100%;justify-content:center}
.company-profile-capabilities{padding:72px 0;background:#f4f8f9}.company-profile-capabilities .section-heading{margin-bottom:30px}.company-profile-capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.company-profile-capability-grid article{padding:24px;background:#fff;border:1px solid #dbe6e9;border-radius:16px}.company-profile-capability-grid h3{font-size:1.05rem}.company-profile-capability-grid p{color:#71838f;font-size:.82rem;line-height:1.65}
.company-profile-offices{padding:72px 0}.company-profile-office-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.company-profile-office-grid article{padding:24px;background:#fff;border:1px solid #dbe6e9;border-radius:16px;box-shadow:0 10px 28px rgba(11,51,79,.06)}.company-profile-office-grid span{color:#1e6db9;font-size:.62rem;font-weight:900;text-transform:uppercase}.company-profile-office-grid h3{margin:8px 0;font-size:1.05rem}.company-profile-office-grid p{margin:0;color:#70838f;font-size:.78rem;line-height:1.6}
.company-profile-certifications{padding:68px 0;background:#0a3152}.company-profile-certifications .container{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.6fr);gap:48px;align-items:center}.company-profile-certifications h2{color:#fff;font-size:clamp(2rem,3vw,3rem)}.company-profile-certifications p{color:#cadbe3;line-height:1.75}.company-profile-certifications img{width:100%;max-width:430px;justify-self:end;padding:15px;background:#fff;border-radius:15px}

.espro-chat__progress{display:none;padding:8px 13px;background:#eef7f8;border-bottom:1px solid #d9e7e9}
.espro-chat__progress.is-visible{display:block}.espro-chat__progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;color:#506a79;font-size:.58rem;font-weight:850;text-transform:uppercase}.espro-chat__progress-track{height:6px;overflow:hidden;background:#d6e6e8;border-radius:999px}.espro-chat__progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#286fbd,#42c99e);border-radius:inherit;transition:width .3s ease}
.espro-chat__panel{grid-template-rows:auto auto minmax(0,1fr) auto auto auto}
.espro-chat__lead{grid-row:2/7}

@media(max-width:1200px){.hero__content{max-width:62vw}.company-profile-capability-grid,.company-profile-office-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.hero__content{max-width:700px}.hero__title{font-size:clamp(2.6rem,6vw,4rem)!important}.company-profile-grid{grid-template-columns:1fr}.company-profile-card{position:static}.company-profile-certifications .container{grid-template-columns:1fr}.company-profile-certifications img{justify-self:start}}
@media(max-width:680px){.hero__content{max-width:none}.hero__title,.hero__title--long,.hero__title--very-long{max-width:100%!important;font-size:clamp(2.05rem,10vw,3rem)!important;line-height:1.08!important;letter-spacing:-.038em!important;text-wrap:balance}.hero__content p{font-size:.92rem;line-height:1.65}.company-profile-section,.company-profile-capabilities,.company-profile-offices,.company-profile-certifications{padding:52px 0}.company-profile-facts,.company-profile-capability-grid,.company-profile-office-grid{grid-template-columns:1fr 1fr}.company-profile-grid{gap:28px}.company-profile-main h2{font-size:2rem}.company-profile-card{padding:23px}.company-profile-certifications .container{gap:28px}}
@media(max-width:440px){.company-profile-facts,.company-profile-capability-grid,.company-profile-office-grid{grid-template-columns:1fr}.hero__title,.hero__title--long,.hero__title--very-long{font-size:clamp(1.9rem,9.4vw,2.65rem)!important}}

/* Company profile aliases and final responsive polish */
.profile-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}
.profile-capability-card{padding:25px;background:#fff;border:1px solid #dbe6e9;border-radius:17px;box-shadow:0 10px 28px rgba(11,51,79,.055)}
.profile-capability-card .ui-icon{width:30px;height:30px;margin-bottom:18px;color:#286fbd}
.profile-capability-card h3{margin:0 0 9px;font-size:1.05rem}.profile-capability-card p{margin:0;color:#71838f;font-size:.82rem;line-height:1.68}
.office-profile{display:grid;gap:30px}.office-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.office-profile-grid article{padding:24px;background:#fff;border:1px solid #dbe6e9;border-radius:16px;box-shadow:0 10px 28px rgba(11,51,79,.055)}
.office-profile-grid strong{color:#1e6db9;font-size:.66rem;font-weight:900;text-transform:uppercase}.office-profile-grid h3{margin:9px 0;font-size:1.05rem}.office-profile-grid p{margin:0;color:#70838f;font-size:.78rem;line-height:1.6}
.profile-certifications{background:#0a3152}.profile-certifications__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.6fr);gap:48px;align-items:center}
.profile-certifications h2{color:#fff;font-size:clamp(2rem,3vw,3rem)}.profile-certifications p{color:#cadbe3;line-height:1.75}.profile-certifications img{width:100%;max-width:430px;justify-self:end;padding:15px;background:#fff;border-radius:15px}
.hero__content{max-width:min(840px,66vw)}.hero__title,.hero__title--long,.hero__title--very-long{max-width:840px!important}
@media(max-width:1200px){.profile-capability-grid,.office-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero__content{max-width:68vw}}
@media(max-width:1050px){.profile-capability-grid,.office-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-certifications__inner{grid-template-columns:1fr}.profile-certifications img{justify-self:start}}
@media(max-width:680px){.profile-capability-grid,.office-profile-grid{grid-template-columns:1fr}.profile-certifications__inner{gap:26px}.hero__content{max-width:none}}

/* V18 — left-aligned industrial hero and structured product catalogue */
@media(min-width:1051px){
  .hero__content.container{width:min(1320px,calc(100% - 80px));max-width:none!important;margin-inline:auto;padding-right:min(48vw,760px);left:50%;right:auto;transform:translate(-50%,-50%)}
  .hero__content h1,.hero__content .hero-title,.hero__title,.hero__title--long,.hero__title--very-long{max-width:690px!important;text-wrap:pretty}
  .hero__content p{max-width:620px}
  .hero__veil{background:linear-gradient(90deg,rgba(250,252,253,.99) 0%,rgba(249,252,253,.96) 27%,rgba(249,252,253,.76) 46%,rgba(249,252,253,.18) 67%,rgba(4,24,39,.08) 100%)}
}

.product-index-hero{position:relative;min-height:620px;overflow:hidden;background:#f6fafb}
.product-index-hero__media{position:absolute;inset:0}.product-index-hero__media img{width:100%;height:100%;object-fit:cover;object-position:68% center}.product-index-hero__media>div{position:absolute;inset:0;background:linear-gradient(90deg,rgba(249,252,253,.99) 0%,rgba(249,252,253,.96) 34%,rgba(249,252,253,.72) 52%,rgba(249,252,253,.06) 76%)}
.product-index-hero__content{position:relative;z-index:1;display:flex;min-height:620px;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:32px;padding-right:48%}
.product-index-hero__content .breadcrumb{margin:0 0 40px;color:#527080}.product-index-hero__content .eyebrow{margin-bottom:18px}.product-index-hero__content h1{max-width:760px;margin:0;color:#092f50;font-size:clamp(3rem,4.7vw,5.1rem);line-height:1.01;letter-spacing:-.055em;text-wrap:balance}.product-index-hero__content p{max-width:690px;margin:24px 0 30px;color:#466276;font-size:1rem;line-height:1.75}.product-index-hero__content>div{display:flex;flex-wrap:wrap;gap:12px}

.product-family-section{background:#fff}.product-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.product-family-card{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1fr);overflow:hidden;min-height:290px;background:#fff;border:1px solid #dbe7eb;border-radius:20px;box-shadow:0 16px 42px rgba(8,46,73,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.product-family-card:hover{transform:translateY(-4px);border-color:#b9d9de;box-shadow:0 22px 54px rgba(8,46,73,.12)}.product-family-card__media{position:relative;display:block;min-height:100%;overflow:hidden;background:#dce8eb}.product-family-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.product-family-card:hover img{transform:scale(1.035)}.product-family-card__media>span{position:absolute;top:16px;left:16px;display:grid;width:42px;height:42px;place-items:center;color:#fff;background:rgba(6,48,75,.86);border:1px solid rgba(255,255,255,.35);border-radius:12px;font-size:.72rem;font-weight:900}.product-family-card>div{display:flex;flex-direction:column;align-items:flex-start;padding:30px}.product-family-card small{color:#078c96;font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.product-family-card h2{margin:10px 0 12px;font-size:1.45rem;line-height:1.18}.product-family-card h2 a{color:#0b3455}.product-family-card p{margin:0 0 20px;color:#657b89;font-size:.83rem;line-height:1.7}.product-family-card .text-link{margin-top:auto}
.product-catalog-preview{border-top:1px solid #e4ecef}.catalog-filter select{min-width:270px;padding:13px 42px 13px 15px;background:#fff;border:1px solid #cedde2;border-radius:10px;color:#173b55;font-weight:750}

.catalog-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.catalog-product-grid--wide{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-product-card{overflow:hidden;background:#fff;border:1px solid #dae6ea;border-radius:17px;box-shadow:0 12px 34px rgba(7,45,70,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.catalog-product-card:hover{transform:translateY(-4px);border-color:#b3d4d9;box-shadow:0 20px 45px rgba(7,45,70,.11)}.catalog-product-card>a{display:flex;height:100%;flex-direction:column;padding-bottom:22px}.catalog-product-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e8f0f2}.catalog-product-card span{margin:19px 22px 6px;color:#1e6db9;font-size:.62rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}.catalog-product-card h3{margin:0 22px 10px;color:#0c3657;font-size:1.06rem;line-height:1.28}.catalog-product-card p{margin:0 22px 18px;color:#6c7f8b;font-size:.78rem;line-height:1.65}.catalog-product-card b{margin:auto 22px 0;color:#0b4c9c;font-size:.72rem}

.catalog-detail{padding:34px 0 76px;background:#fff;border-top:1px solid #edf2f4}.catalog-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 34px;color:#7a8c96;font-size:.75rem}.catalog-breadcrumb a{color:#4f6d7f}.catalog-breadcrumb a:hover{color:#1e6db9}.catalog-detail__top{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(410px,.98fr);gap:72px;align-items:start}.catalog-gallery__stage{display:grid;min-height:520px;place-items:center;overflow:hidden;background:#f5f8f9;border:1px solid #dfe8eb;border-radius:18px}.catalog-gallery__stage img{width:100%;height:100%;max-height:650px;object-fit:contain}.catalog-gallery__thumbs{display:flex;gap:12px;margin-top:14px;overflow-x:auto;padding:2px}.catalog-gallery__thumbs button{flex:0 0 88px;height:76px;overflow:hidden;padding:3px;background:#fff;border:1px solid #d5e1e5;border-radius:10px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.catalog-gallery__thumbs button.active{border-color:#0a7581;box-shadow:0 0 0 2px rgba(8,139,149,.15)}.catalog-gallery__thumbs img{width:100%;height:100%;object-fit:cover;border-radius:7px}.catalog-summary{padding-top:14px}.catalog-kicker{display:inline-flex;margin-bottom:17px;color:#078c96;font-size:.7rem;font-weight:900;letter-spacing:.095em;text-transform:uppercase}.catalog-summary h1{max-width:720px;margin:0;color:#14384f;font-size:clamp(2.55rem,4vw,4.6rem);line-height:1.04;letter-spacing:-.052em;text-wrap:balance}.catalog-summary__lead{max-width:680px;margin:24px 0;color:#667a87;font-size:1.02rem;line-height:1.75}.catalog-summary__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:30px 0;border-block:1px solid #e1eaed}.catalog-summary__facts>div{padding:18px 14px 18px 0}.catalog-summary__facts>div+div{padding-left:18px;border-left:1px solid #e1eaed}.catalog-summary__facts small{display:block;margin-bottom:6px;color:#80909a;font-size:.61rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.catalog-summary__facts strong{display:block;color:#183d55;font-size:.83rem;line-height:1.42}.catalog-summary__actions{display:flex;flex-wrap:wrap;gap:12px}.catalog-summary__actions .button{min-height:50px}.catalog-summary__note{max-width:650px;margin:20px 0 0;padding-left:14px;color:#798a94;border-left:3px solid #6acbd0;font-size:.73rem;line-height:1.65}

.catalog-body{padding:76px 0;background:#f4f8f9;border-top:1px solid #e2ebee}.catalog-body__layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:start}.catalog-main{display:grid;gap:20px}.catalog-content-card{padding:38px 42px;background:#fff;border:1px solid #dce7ea;border-radius:18px;box-shadow:0 12px 36px rgba(8,44,67,.045)}.catalog-content-card h2{margin:7px 0 20px;color:#123a55;font-size:clamp(1.75rem,2.6vw,2.5rem);letter-spacing:-.035em}.catalog-content-card.prose>p,.catalog-content-card.prose li{color:#627985;line-height:1.78}.catalog-content-card.prose ul{padding-left:22px}.catalog-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-feature-grid article{display:flex;align-items:flex-start;gap:11px;min-height:62px;padding:15px;background:#f5f9fa;border:1px solid #e0eaed;border-radius:12px;color:#284d62;font-size:.8rem;font-weight:700;line-height:1.5}.catalog-feature-grid svg{flex:0 0 19px;width:19px;height:19px;margin-top:1px;color:#078f98}.catalog-process-flow{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.catalog-process-flow span{position:relative;padding:11px 28px 11px 14px;color:#153f56;background:#eef6f7;border:1px solid #cfe3e6;border-radius:9px;font-size:.75rem;font-weight:800}.catalog-process-flow span:not(:last-child)::after{content:'→';position:absolute;right:8px;color:#07949d}.catalog-process-flow--compact span{font-size:.69rem}.catalog-disclaimer{margin:18px 0 0;color:#7a8b94;font-size:.72rem;line-height:1.6}.catalog-sidebar{position:sticky;top:112px;display:grid;gap:16px}.catalog-contact-card{padding:29px;color:#fff;background:linear-gradient(145deg,#0b3454,#087b84);border-radius:18px;box-shadow:0 18px 45px rgba(7,48,73,.18)}.catalog-contact-card>span{color:#83e1e3;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.catalog-contact-card h2{margin:11px 0;color:#fff;font-size:1.45rem}.catalog-contact-card p{color:#d6e5e9;font-size:.8rem;line-height:1.68}.catalog-contact-card>a{display:flex;align-items:center;justify-content:space-between;margin:22px 0;padding:14px 15px;color:#0b3b55;background:#fff;border-radius:10px;font-size:.76rem;font-weight:900}.catalog-contact-card>a svg{width:17px;height:17px}.catalog-contact-card>div{display:grid;gap:5px;padding-top:17px;border-top:1px solid rgba(255,255,255,.18)}.catalog-contact-card small{color:#a9c9d1;font-size:.58rem;text-transform:uppercase}.catalog-contact-card strong{color:#fff;font-size:.77rem}.catalog-category-link{display:grid;grid-template-columns:100px 1fr;overflow:hidden;background:#fff;border:1px solid #dbe6e9;border-radius:15px}.catalog-category-link img{width:100%;height:100%;min-height:120px;object-fit:cover}.catalog-category-link>span{display:flex;flex-direction:column;align-items:flex-start;padding:17px}.catalog-category-link small{color:#778a95;font-size:.58rem;text-transform:uppercase}.catalog-category-link strong{margin:5px 0;color:#153c55;font-size:.85rem;line-height:1.35}.catalog-category-link i{margin-top:auto;color:#078891;font-size:.68rem;font-style:normal;font-weight:850}.catalog-related .section-heading{margin-bottom:28px}

.catalog-category-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:38px;align-items:start;margin-bottom:60px}.catalog-category-intro>.prose,.catalog-category-intro>aside{padding:38px 42px;background:#fff;border:1px solid #dce7ea;border-radius:18px}.catalog-category-intro h2{margin:8px 0 18px;color:#123a55;font-size:2.25rem}.catalog-category-intro>.prose p{color:#637986;line-height:1.78}.catalog-category-intro>aside small{display:block;margin-bottom:18px;color:#1e6db9;font-size:.64rem;font-weight:900;text-transform:uppercase}.catalog-family-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:26px}.catalog-family-heading h2{margin:8px 0 0;color:#123b55;font-size:2.35rem}.catalog-family-heading p{max-width:520px;margin:0;color:#6c7f8b;line-height:1.7}.catalog-standalone-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.catalog-standalone-grid article{padding:26px;background:#fff;border:1px solid #dce7ea;border-radius:15px}.catalog-standalone-grid span{color:#07929b;font-size:.7rem;font-weight:900}.catalog-standalone-grid h3{margin:13px 0 9px;color:#153c55;font-size:1.06rem}.catalog-standalone-grid p{margin:0;color:#70828d;font-size:.78rem;line-height:1.65}

@media(max-width:1180px){.product-family-grid{grid-template-columns:1fr}.catalog-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-detail__top{gap:42px}.catalog-body__layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:980px){.product-index-hero__content{padding-right:34%}.catalog-detail__top{grid-template-columns:1fr}.catalog-gallery__stage{min-height:430px}.catalog-summary{padding-top:0}.catalog-body__layout{grid-template-columns:1fr}.catalog-sidebar{position:static;grid-template-columns:1fr 1fr}.catalog-category-intro{grid-template-columns:1fr}.catalog-product-grid,.catalog-product-grid--wide{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-standalone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.product-index-hero{min-height:690px}.product-index-hero__media img{object-position:68% center}.product-index-hero__media>div{background:linear-gradient(180deg,rgba(248,251,252,.48),rgba(248,251,252,.92) 42%,#f8fbfc 70%)}.product-index-hero__content{min-height:690px;justify-content:flex-end;padding:120px 0 64px}.product-index-hero__content h1{font-size:2.65rem}.product-index-hero__content p{font-size:.9rem}.product-family-card{grid-template-columns:1fr}.product-family-card__media{min-height:210px}.catalog-detail{padding-top:22px}.catalog-breadcrumb{margin-bottom:22px}.catalog-detail__top{gap:26px}.catalog-gallery__stage{min-height:330px}.catalog-summary h1{font-size:2.6rem}.catalog-summary__facts{grid-template-columns:1fr}.catalog-summary__facts>div{padding:13px 0}.catalog-summary__facts>div+div{padding-left:0;border-left:0;border-top:1px solid #e1eaed}.catalog-body{padding:52px 0}.catalog-content-card,.catalog-category-intro>.prose,.catalog-category-intro>aside{padding:26px 23px}.catalog-sidebar{grid-template-columns:1fr}.catalog-feature-grid{grid-template-columns:1fr}.catalog-family-heading{display:block}.catalog-family-heading p{margin-top:12px}.catalog-product-grid,.catalog-product-grid--wide{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.product-index-hero__content h1{font-size:2.2rem}.product-index-hero__content>div,.catalog-summary__actions{display:grid;width:100%}.product-index-hero__content .button,.catalog-summary__actions .button{width:100%;justify-content:center}.product-family-card>div{padding:24px}.catalog-gallery__stage{min-height:270px}.catalog-gallery__thumbs button{flex-basis:72px;height:62px}.catalog-summary h1{font-size:2.2rem}.catalog-product-grid,.catalog-product-grid--wide,.catalog-standalone-grid{grid-template-columns:1fr}}

/* V18 contextual advisor: chat is available immediately; contact form is an optional overlay. */
.chat-lead__back{display:inline-flex;align-items:center;gap:7px;margin:0 0 14px;padding:7px 10px;color:#0a6572;background:#edf4fc;border:1px solid #cce6e8;border-radius:9px;font-size:.66rem;font-weight:850;cursor:pointer}.chat-lead__back:hover{color:#fff;background:#0b4c9c;border-color:#0b4c9c}.espro-chat__lead[hidden]{display:none!important}.espro-chat__panel{grid-template-rows:auto auto minmax(0,1fr) auto auto auto}.espro-chat__progress{grid-row:2}.espro-chat__messages{grid-row:3}.espro-chat__suggestions{grid-row:4}.espro-chat__composer{grid-row:5}.espro-chat__privacy{grid-row:6}.espro-chat__lead{grid-row:2/7}.espro-chat.is-lead-view .espro-chat__progress{visibility:hidden}

/* ========================================================================
   V19 production UI: balanced type, structured product navigation and
   consistent responsive spacing. Keeps the established ES-PRO navy/teal look.
   ======================================================================== */
:root{--container:min(1360px,calc(100% - clamp(36px,6vw,96px)))}
html{font-size:16px}
body{font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility}
h1,h2,h3{letter-spacing:-.035em;text-wrap:balance}
h2{font-size:clamp(2rem,3vw,3.15rem);line-height:1.12}
p{font-size:1rem}
.section{padding:clamp(78px,7vw,104px) 0}
.section-heading{margin-bottom:42px}.section-heading.split{gap:clamp(40px,6vw,86px)}
.eyebrow{font-size:.76rem;letter-spacing:.12em}
.button{min-height:52px;padding:14px 24px;font-size:.76rem;border-radius:9px}

.topbar{font-size:.78rem}.topbar__inner{min-height:40px}.topbar__contacts{gap:22px}.topbar__actions{gap:16px}
.navbar{min-height:94px;gap:22px}.brand{width:178px;flex-basis:178px}.brand img{height:62px}
.desktop-nav{gap:clamp(11px,1vw,19px);justify-content:flex-end}
.desktop-nav>a,.desktop-nav>.nav-item>a{min-height:94px;font-size:.76rem;letter-spacing:.015em;text-transform:none}
.desktop-nav>a:after,.desktop-nav>.nav-item>a:after{bottom:20px;height:2px}
.nav-actions{gap:7px}.nav-quote{min-width:190px;padding-inline:17px;font-size:.72rem}.search-toggle{width:40px;height:40px}
.language-button{min-height:34px;padding:6px 10px!important;font-size:.78rem!important;gap:7px!important}
.language-menu{min-width:230px!important}.language-menu a{min-height:42px;font-size:.82rem!important}
.topbar-enquiry{white-space:nowrap}

/* Product mega catalogue: exact parent -> child hierarchy. */
.product-mega{position:absolute;z-index:80;top:calc(100% - 1px);left:50%;display:grid;width:min(1180px,calc(100vw - 40px));max-height:min(680px,calc(100vh - 150px));grid-template-columns:250px 300px minmax(380px,1fr);overflow:hidden;background:#fff;border:1px solid #dbe5e9;border-radius:0 0 18px 18px;box-shadow:0 34px 85px rgba(3,26,49,.24);opacity:0;visibility:hidden;transform:translate(-28%,-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;pointer-events:none}
.has-mega:hover .product-mega,.has-mega:focus-within .product-mega{opacity:1;visibility:visible;transform:translate(-28%,0);pointer-events:auto}
.product-mega__intro{display:flex;flex-direction:column;padding:30px 26px;color:#dcecf2;background:linear-gradient(155deg,#05233f,#0b5271)}
.product-mega__intro>span{margin-bottom:12px;color:#67d9dd;font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.product-mega__intro strong{color:#fff;font-size:1.35rem;line-height:1.25}.product-mega__intro p{margin:15px 0;color:#c9dde5;font-size:.82rem;line-height:1.58}
.product-mega__intro a{margin-top:auto;color:#fff;font-size:.76rem;font-weight:850;text-transform:uppercase}
.product-mega__families{padding:16px 0;overflow:auto;background:#f5f8f9;border-right:1px solid #dfe8eb}
.product-mega__family{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:15px;padding:10px 18px;color:#173850;border-left:3px solid transparent;border-bottom:1px solid #e7edef;font-size:.86rem;font-weight:760;line-height:1.25}
.product-mega__family:hover,.product-mega__family.active{color:#056f78;background:#fff;border-left-color:#286fbd}.product-mega__family i{color:#7a909e;font-style:normal;font-size:1.1rem}
.product-mega__family.is-standalone{background:#edf7f7}.product-mega__family.is-standalone i{color:#286fbd}
.product-mega__panels{position:relative;min-height:510px;overflow:auto;background:#fff}
.product-mega__panel{display:none;padding:28px 30px}.product-mega__panel.active{display:block}.product-mega__panel>div:first-child{padding-bottom:18px;border-bottom:1px solid #e5ecef}
.product-mega__panel small{color:#078b96;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.product-mega__panel h3{margin:6px 0 8px;color:#092b47;font-size:1.35rem}.product-mega__panel p{margin:0;color:#667d8c;font-size:.82rem;line-height:1.55}
.product-mega__panel nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-top:12px}.product-mega__panel nav a{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;color:#25475e;border-bottom:1px solid #e9eef0;font-size:.84rem;line-height:1.3}.product-mega__panel nav a:hover{color:#078b96}.product-mega__panel nav i{font-style:normal}
.product-mega__standalone{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding:20px;color:#fff;background:linear-gradient(135deg,#087e8c,#0caab0);border-radius:12px;font-size:.85rem;font-weight:850}

/* Hero and high-impact sections: no oversized blocks or off-centre text. */
.hero{min-height:640px}.hero__veil{background:linear-gradient(90deg,rgba(249,252,253,.99) 0%,rgba(249,252,253,.97) 29%,rgba(249,252,253,.78) 45%,rgba(249,252,253,.27) 63%,rgba(3,26,49,.13) 100%)}
.hero__content{padding-right:48%;}.hero__content h1,.hero__content .hero-title{max-width:660px;margin-bottom:20px;font-size:clamp(2.85rem,4.5vw,4.55rem);line-height:1.02}.hero__content p{max-width:620px;margin-bottom:30px;font-size:1.04rem;line-height:1.7}
.hero__title--long{font-size:clamp(2.55rem,4vw,4.05rem)!important}.hero__title--very-long{font-size:clamp(2.2rem,3.5vw,3.55rem)!important}
.trust-strip{min-height:104px;margin-top:-52px}.trust-strip__item{padding:21px 18px}.trust-strip__item strong{font-size:.96rem}
.projects-showcase{padding:88px 0;background:linear-gradient(135deg,#062c4c,#0a5870)}.projects-showcase .container{grid-template-columns:300px minmax(0,1fr);gap:42px}.project-feature-grid{gap:14px}.project-feature{border-radius:13px}.projects-heading h2{font-size:clamp(2rem,3vw,3rem)}
.engineering-note{padding:58px 0}.engineering-note__inner{gap:38px}.engineering-note h2{font-size:clamp(1.9rem,2.6vw,2.65rem)}
.service-card,.industry-card,.product-family-card,.catalog-product-card{border-radius:14px}.service-card{min-height:310px;padding:30px 27px}.product-family-grid{gap:22px}.product-family-card{min-height:0}

/* Standalone RO/DI, exhaust-gas and wastewater pages. */
.standalone-system{margin-top:54px}.standalone-system__heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:52px;align-items:end}.standalone-system__heading .eyebrow{grid-column:1/-1;margin-bottom:-30px}.standalone-system__heading h2{margin:0}.standalone-system__heading p{margin:0;color:#637b8a;line-height:1.75}
.standalone-system__metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:34px 0;background:#dfe9ec;border:1px solid #dfe9ec;border-radius:13px;overflow:hidden}.standalone-system__metrics span{display:grid;min-height:78px;place-items:center;padding:15px;color:#0a3d58;background:#f6fafb;font-size:.82rem;font-weight:850;text-align:center}
.standalone-system__steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.standalone-system__steps article{display:grid;grid-template-columns:50px minmax(0,1fr);gap:17px;padding:25px;background:#fff;border:1px solid #dfe8eb;border-radius:14px;box-shadow:0 12px 32px rgba(5,36,64,.06)}.standalone-system__steps article>b{display:grid;width:44px;height:44px;place-items:center;color:#fff;background:#083a5c;border-radius:11px;font-size:.72rem}.standalone-system__steps h3{margin:0 0 7px;color:#0a2c47;font-size:1.1rem}.standalone-system__steps p{margin:0;color:#6a808e;font-size:.9rem;line-height:1.62}
.standalone-system__cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:22px;padding:25px 28px;color:#dcecf1;background:linear-gradient(135deg,#062d4e,#087987);border-radius:14px}.standalone-system__cta small{display:block;color:#6ee0dc;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.standalone-system__cta strong{display:block;max-width:720px;margin-top:4px;color:#fff;font-size:1rem;line-height:1.5}

/* Mobile catalogue is readable and expandable, not a cramped hover menu. */
.mobile-catalog{border-bottom:1px solid #e2eaed}.mobile-catalog summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}.mobile-catalog summary::-webkit-details-marker{display:none}.mobile-catalog>summary>a{flex:1;padding:16px 0;color:#102f47;font-weight:850}.mobile-catalog summary>span{display:grid;width:30px;height:30px;place-items:center;color:#0b4c9c;background:#eaf2fb;border-radius:8px}
.mobile-catalog>div{padding:4px 0 12px 12px}.mobile-catalog details{border-left:1px solid #dce8eb}.mobile-catalog details summary>a{flex:1;padding:11px 12px;color:#294b61;font-size:.9rem;font-weight:760}.mobile-catalog details>div{padding:0 0 8px 18px}.mobile-catalog details>div>a{display:block;padding:9px 12px;color:#5d7483;font-size:.84rem;border-left:1px solid #dce7ea}.mobile-catalog details.is-standalone summary>a{color:#087b84}

@media(max-width:1280px){.desktop-nav{display:none}.mobile-toggle{display:grid}.nav-quote{min-width:0}.product-mega{display:none}.topbar__address{max-width:410px;overflow:hidden;text-overflow:ellipsis}.hero__content{padding-right:42%}}
@media(max-width:1050px){.topbar__actions{display:none}.topbar__contacts{width:100%;justify-content:center}.hero{min-height:600px}.hero__content{padding-right:34%}.projects-showcase .container{grid-template-columns:1fr}.standalone-system__heading{grid-template-columns:1fr;gap:16px}.standalone-system__heading .eyebrow{margin:0}.standalone-system__metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){:root{--container:calc(100% - 32px)}body{font-size:15px}.topbar__contacts{justify-content:flex-start;gap:14px}.topbar__contacts a:nth-child(2),.topbar__address{display:none}.navbar{min-height:72px}.brand{width:145px;flex-basis:145px}.brand img{height:52px}.nav-quote{display:none}.hero{min-height:590px}.hero__content{padding-right:0;padding-bottom:50px}.hero__veil{background:linear-gradient(90deg,rgba(249,252,253,.98),rgba(249,252,253,.9) 72%,rgba(249,252,253,.62))}.hero__content h1,.hero__content .hero-title{font-size:clamp(2.35rem,11vw,3.2rem)}.hero__content p{font-size:.98rem}.section{padding:70px 0}.section-heading.split{grid-template-columns:1fr;gap:18px}.standalone-system__steps{grid-template-columns:1fr}.standalone-system__cta{align-items:flex-start;flex-direction:column}.projects-showcase{padding:70px 0}.engineering-note{padding:50px 0}}
@media(max-width:480px){.standalone-system__metrics{grid-template-columns:1fr}.standalone-system__steps article{grid-template-columns:42px minmax(0,1fr);padding:20px}.standalone-system__steps article>b{width:38px;height:38px}.button{width:100%}.hero__actions{display:grid}}

/* ========================================================================== 
   ES-PRO V20 — balanced corporate layout restored from the approved V15 style
   ========================================================================== */
:root{--container:min(1240px,calc(100% - 48px));--radius:16px}
body{font-size:16px;line-height:1.68;color:#40566a}
h1,h2,h3{letter-spacing:-.028em}
h2{font-size:clamp(2rem,3vw,3.2rem)}
.section{padding:84px 0}
.section-heading{margin-bottom:38px}
.section-heading.split{grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);gap:62px}
.section-heading h2{max-width:700px}
.section-heading p{font-size:1rem;line-height:1.75}
.eyebrow{font-size:.73rem;letter-spacing:.13em}

/* Header: clear international-size typography, compact but not cramped. */
.topbar{font-size:.76rem}
.topbar__inner{min-height:36px}
.topbar__contacts{gap:20px}
.topbar__actions{gap:14px}
.navbar{min-height:82px;gap:20px}
.brand{width:176px;flex-basis:176px}
.brand img{height:58px}
.desktop-nav{gap:clamp(13px,1.12vw,22px);justify-content:flex-end}
.desktop-nav>a,.desktop-nav>.nav-item>a{min-height:82px;font-size:.78rem;font-weight:790;letter-spacing:0;text-transform:none}
.desktop-nav>a:after,.desktop-nav>.nav-item>a:after{bottom:16px;height:2px}
.nav-quote{min-width:178px;min-height:48px;font-size:.7rem}
.search-toggle{width:40px;height:40px}
.language-button{min-height:32px!important;font-size:.76rem!important}

/* Home hero uses a controlled 50/50 visual balance. */
.hero{min-height:585px}
.hero__slide>img{object-position:64% center}
.hero__veil{background:linear-gradient(90deg,rgba(249,252,253,.995) 0%,rgba(249,252,253,.97) 31%,rgba(249,252,253,.82) 45%,rgba(249,252,253,.34) 61%,rgba(4,28,49,.12) 100%)}
.hero__content.container{width:var(--container);max-width:none!important;padding-right:50%;left:50%;right:auto;transform:translate(-50%,-50%)}
.hero__content h1,.hero__content .hero-title,.hero__title,.hero__title--long,.hero__title--very-long{max-width:620px!important;margin-bottom:18px;font-size:clamp(2.75rem,4vw,4.25rem)!important;line-height:1.04!important;letter-spacing:-.045em!important;text-wrap:balance}
.hero__content p{max-width:590px;margin-bottom:27px;font-size:1.02rem;line-height:1.72}
.hero__actions{gap:12px}
.hero__dots{bottom:26px}
.trust-strip{min-height:102px;margin-top:-51px;border-radius:14px}
.trust-strip__item{padding:19px 16px;gap:13px}
.trust-strip__item strong{font-size:.94rem}
.trust-strip__item span{font-size:.67rem}

/* Home sections: consistent rhythm and comparable card proportions. */
.intro-section{padding:72px 0 76px}
.intro-grid{gap:70px}
.intro-copy p{font-size:1rem;line-height:1.78}
.services-section{padding:80px 0 84px}
.service-grid{gap:18px}
.service-card{min-height:0;padding:0;overflow:hidden;background:#fff;border:1px solid #dce7eb;border-radius:14px;box-shadow:0 13px 34px rgba(6,40,71,.065)}
.service-card__media{height:185px}
.service-card__body{padding:23px 23px 25px}
.service-card__body h3{font-size:1.18rem;line-height:1.25}
.service-card__body p{font-size:.88rem;line-height:1.67}
.product-showcase{padding:76px 0 82px}
.showcase-heading{margin-bottom:30px}
.showcase-heading h2{max-width:680px;font-size:clamp(1.95rem,2.8vw,2.85rem)}
.product-rail{gap:15px}
.product-mini__image{height:150px;border-radius:12px}
.product-mini strong{font-size:.9rem;line-height:1.35}
.excellence-strip{padding:64px 0}
.excellence-grid{gap:20px}
.excellence-heading h2{font-size:clamp(1.8rem,2.5vw,2.55rem)}
.excellence-item h3{font-size:.92rem}
.excellence-item p{font-size:.76rem;line-height:1.6}
.capability-section{padding:86px 0}
.capability-grid{gap:66px}
.capability-media img{min-height:480px;border-radius:16px}
.capability-media>span{right:-10px;bottom:28px;width:148px;height:148px;border-width:6px}
.capability-content h2{font-size:clamp(2rem,3vw,3.15rem)}
.capability-content>p{font-size:1rem;line-height:1.78}
.process-section{padding:80px 0}
.process-line{gap:14px}
.industries-section{padding:84px 0}
.industry-cards{gap:18px}
.projects-showcase{padding:78px 0;background:linear-gradient(135deg,#052951,#0a5971)}
.projects-showcase .container{grid-template-columns:285px minmax(0,1fr);gap:38px}
.projects-heading h2{font-size:clamp(1.9rem,2.8vw,2.75rem)}
.project-feature-grid{gap:14px}
.partners-section,.certification-section,.resources-preview{padding:78px 0}

/* About page: remove the oversized dark block and restore readable balance. */
.page-hero{min-height:420px}
.page-content{padding-top:40px;padding-bottom:44px}
.page-hero h1{max-width:820px;font-size:clamp(2.55rem,4vw,4rem)}
.page-hero p{max-width:700px;font-size:1rem}
.story{grid-template-columns:.92fr 1.08fr;gap:66px}
.story-image img{min-height:500px;border-radius:16px}
.story-image>span{right:-12px;width:155px;height:155px;border-width:6px}
.purpose-card{min-height:300px;padding:38px 40px}
.purpose-card h2{font-size:1.75rem}
.timeline{max-width:1080px;margin-inline:auto}
.advantage-section{color:#40566a;background:linear-gradient(180deg,#f6fafb,#eef5f7)}
.advantage-section .section-heading{align-items:end}
.advantage-section .section-heading h2{color:#0c2f4b}
.advantage-section .section-heading>p{color:#647b8a}
.advantage-section .eyebrow.light{color:#0b4c9c}
.advantage-grid{max-width:1120px;margin-inline:auto;gap:22px}
.advantage-card{border:1px solid #dbe7eb;border-radius:15px;box-shadow:0 14px 36px rgba(6,40,71,.07)}
.advantage-card img{aspect-ratio:16/8.5}
.advantage-card>div{padding:27px 29px 30px}
.advantage-card h3{font-size:1.45rem}
.advantage-card p,.advantage-card li{font-size:.9rem;line-height:1.7}
.profile-capability-card p{font-size:.86rem}
.profile-certifications{background:#0a3152}

/* Product navigation and catalogue: parent families first, children second. */
.product-mega{width:min(1160px,calc(100vw - 36px));grid-template-columns:235px 285px minmax(390px,1fr);border-radius:0 0 15px 15px}
.product-mega__intro{padding:27px 24px}
.product-mega__intro strong{font-size:1.24rem}
.product-mega__intro p{font-size:.8rem}
.product-mega__family{min-height:47px;padding:10px 16px;font-size:.88rem}
.product-mega__panel{padding:27px 29px}
.product-mega__panel h3{font-size:1.3rem}
.product-mega__panel p{font-size:.84rem}
.product-mega__panel nav a{min-height:46px;font-size:.87rem}
.product-index-hero{min-height:540px}
.product-index-hero__content{min-height:540px;padding-right:48%}
.product-index-hero__content h1{max-width:720px;font-size:clamp(2.65rem,4vw,4.2rem)}
.product-family-grid{gap:20px}
.product-family-card{min-height:270px;border-radius:15px}
.product-family-card>div{padding:27px}
.product-family-card h2{font-size:1.38rem}
.product-family-card p{font-size:.86rem}
.catalog-product-card h3{font-size:1.08rem}
.catalog-product-card p{font-size:.82rem}
.catalog-detail__top{gap:58px}
.catalog-gallery__stage{min-height:480px}
.catalog-summary h1{font-size:clamp(2.45rem,3.7vw,4.05rem)}
.catalog-content-card{padding:34px 37px}

/* GEO blocks stay useful without dominating the user-facing layout. */
.geo-visibility-section{padding:68px 0}
.geo-visibility-grid{gap:18px}
.geo-answer-card,.geo-faq-card,.geo-related-card{border-radius:14px}

@media(max-width:1180px){
  .desktop-nav{display:none}.mobile-toggle{display:grid}.product-mega{display:none}
  .hero__content.container{padding-right:42%}
}
@media(max-width:920px){
  :root{--container:min(100% - 36px,760px)}
  .section-heading.split,.intro-grid,.story,.capability-grid,.projects-showcase .container{grid-template-columns:1fr;gap:30px}
  .hero__content.container{padding-right:28%}
  .service-grid,.industry-cards,.product-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .advantage-grid{grid-template-columns:1fr}
  .story-image img{min-height:420px}
}
@media(max-width:700px){
  :root{--container:calc(100% - 30px)}
  body{font-size:15px}.section{padding:62px 0}.topbar__contacts{gap:12px}.topbar__address{display:none}.navbar{min-height:72px}.brand{width:148px;flex-basis:148px}.brand img{height:50px}
  .hero{min-height:575px}.hero__slide>img{object-position:70% center}.hero__content.container{padding-right:0;padding-bottom:42px}.hero__veil{background:linear-gradient(90deg,rgba(249,252,253,.98),rgba(249,252,253,.92) 72%,rgba(249,252,253,.62))}.hero__content h1,.hero__content .hero-title,.hero__title,.hero__title--long,.hero__title--very-long{font-size:clamp(2.2rem,10vw,3rem)!important}.hero__content p{font-size:.95rem}.trust-strip{grid-template-columns:repeat(2,1fr);margin-top:0;border-radius:0}.trust-strip__item:last-child{grid-column:1/-1}.service-grid,.industry-cards,.product-family-grid,.catalog-product-grid--wide{grid-template-columns:1fr}.product-family-card{grid-template-columns:1fr}.product-family-card__media{min-height:210px}.purpose-grid{grid-template-columns:1fr}.advantage-card>div{padding:24px}.catalog-detail__top,.catalog-body__layout,.catalog-category-intro{grid-template-columns:1fr}.catalog-sidebar{position:static}.catalog-gallery__stage{min-height:330px}
}

/* ========================================================================== 
   ES-PRO V20.2 — final V15-proportioned polish requested by the client
   ========================================================================== */
:root{--container:min(1320px,calc(100% - 80px));--radius:18px}
body{font-size:16px;line-height:1.65}
.section{padding:92px 0}
.section-heading{margin-bottom:42px}
.section-heading.split{grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:72px}

/* A calm two-level header: readable, spacious and stable in every language. */
.topbar{color:#24425d;background:#f5f8fa;border-bottom:1px solid #e1e9ed;box-shadow:none;font-size:.77rem}
.topbar__inner{min-height:38px}
.topbar__contacts{gap:24px}
.topbar__actions{gap:18px;color:#17344c}
.topbar-socials a{color:#315269!important;background:transparent!important;border-color:transparent!important}
.topbar-socials a:hover{color:#1e6db9!important;background:#e7f4f5!important}
.nav-shell{background:rgba(255,255,255,.985)}
.navbar{min-height:88px;gap:24px}
.brand{width:184px;flex-basis:184px}
.brand img{height:62px}
.desktop-nav{gap:clamp(13px,1.05vw,22px)}
.desktop-nav>a,.desktop-nav>.nav-item>a{min-height:88px;color:#15364f;font-size:.81rem;font-weight:800;letter-spacing:.012em;text-transform:uppercase}
.desktop-nav>a:after,.desktop-nav>.nav-item>a:after{bottom:18px;height:2px}
.nav-quote{min-width:176px;min-height:50px;padding-inline:20px;font-size:.72rem}
.search-toggle{width:42px;height:42px}
.language-button{min-height:34px!important;font-size:.8rem!important;font-weight:750!important}
.topbar-enquiry{font-size:.77rem}

/* Hero content starts from the approved V15 grid instead of drifting inward. */
.hero{min-height:610px}
.hero__slide>img{object-position:66% center}
.hero__veil{background:linear-gradient(90deg,rgba(248,251,252,.995) 0%,rgba(248,251,252,.97) 31%,rgba(248,251,252,.76) 49%,rgba(248,251,252,.25) 65%,rgba(4,30,54,.15) 100%)}
.hero__content.container{width:var(--container);max-width:none!important;right:auto;left:50%;padding-right:49%;transform:translate(-50%,-50%)}
.hero__content h1,.hero__content .hero-title,.hero__title,.hero__title--long,.hero__title--very-long{max-width:670px!important;font-size:clamp(2.95rem,4.35vw,4.65rem)!important;line-height:1.045!important}
.hero__content p{max-width:625px;font-size:1.05rem;line-height:1.68}
.trust-strip{border-radius:15px;box-shadow:0 18px 48px rgba(5,36,64,.12)}

/* Home cards and dark showcase use consistent proportions from V15. */
.service-grid{gap:20px}
.service-card__media{height:196px}
.service-card__body{padding:25px 25px 28px}
.service-card__body h3{font-size:1.24rem}
.product-showcase{padding:82px 0 88px}
.product-mini__image{height:158px}
.projects-showcase{padding:88px 0;background:linear-gradient(135deg,#052951,#073f65)}
.projects-showcase .container{grid-template-columns:315px minmax(0,1fr);gap:48px}
.project-feature-grid{gap:16px}

/* About: retain the approved V15 dark section, but enlarge and centre its content. */
.advantage-section{padding:90px 0;color:#c7d8e4;background:linear-gradient(135deg,#052951 0%,#07366d 100%)}
.advantage-section .section-heading{max-width:1180px;margin-right:auto;margin-left:auto}
.advantage-section .section-heading h2{color:#fff}
.advantage-section .section-heading>p{color:#c7d8e4;font-size:1rem;line-height:1.72}
.advantage-section .eyebrow.light{color:#a8cefa}
.advantage-grid{max-width:1120px;margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.advantage-card{overflow:hidden;background:#fff;border:0;border-radius:14px;box-shadow:0 20px 55px rgba(0,0,0,.18)}
.advantage-card img{width:100%;aspect-ratio:16/8.8;object-fit:cover}
.advantage-card>div{padding:29px 31px 31px}
.advantage-card small{font-size:.67rem;letter-spacing:.1em}
.advantage-card h3{color:#0b2d48;font-size:1.48rem;line-height:1.2}
.advantage-card p,.advantage-card li{color:#526879;font-size:.91rem;line-height:1.7}

/* Product mega menu: strong parent hierarchy, comfortable child-list typography. */
.product-mega{width:min(1220px,calc(100vw - 48px));grid-template-columns:245px 300px minmax(410px,1fr)}
.product-mega__intro{padding:30px 27px}
.product-mega__family{min-height:49px;padding:11px 17px;font-size:.9rem;font-weight:760}
.product-mega__panel{padding:30px 32px}
.product-mega__panel h3{font-size:1.38rem}
.product-mega__panel p{font-size:.88rem;line-height:1.65}
.product-mega__panel nav a{min-height:48px;font-size:.9rem}
.product-index-hero__content{padding-right:47%}
.product-family-card h2{font-size:1.45rem}

/* Long Russian labels use the mobile drawer before they become cramped. */
@media(max-width:1520px){
  html[lang="ru"] .desktop-nav{display:none}
  html[lang="ru"] .mobile-toggle{display:grid}
  html[lang="ru"] .product-mega{display:none}
}
@media(max-width:1450px){.nav-quote{display:none}.desktop-nav{justify-content:flex-end}}
@media(max-width:1280px){
  .desktop-nav{display:none}.mobile-toggle{display:grid}.product-mega{display:none}.nav-quote{display:inline-flex}
  .hero__content.container{padding-right:42%}
}
@media(max-width:1050px){
  :root{--container:min(100% - 48px,900px)}
  .topbar__actions{display:none}.topbar__contacts{width:100%;justify-content:center}
  .hero__content.container{padding-right:30%}
}
@media(max-width:760px){
  :root{--container:calc(100% - 32px)}
  body{font-size:15px}.section{padding:68px 0}
  .navbar{min-height:74px}.brand{width:150px;flex-basis:150px}.brand img{height:52px}.nav-quote{display:none}
  .hero{min-height:590px}.hero__content.container{padding-right:0}.hero__content h1,.hero__content .hero-title,.hero__title,.hero__title--long,.hero__title--very-long{font-size:clamp(2.25rem,10vw,3.08rem)!important}.hero__content p{font-size:.97rem}
  .advantage-grid{grid-template-columns:1fr}.advantage-card>div{padding:25px}
  .projects-showcase .container{grid-template-columns:1fr}
}

/* Chat readability without exposing internal qualification progress. */
.espro-chat__launcher-copy strong{font-size:.84rem}
.espro-chat__launcher-copy small{font-size:.66rem}
.espro-chat__identity strong{font-size:.86rem}
.espro-chat__identity small{font-size:.62rem}
.chat-message p{font-size:.84rem;line-height:1.58}
.espro-chat__suggestions button{font-size:.68rem}
.chat-card strong{font-size:.77rem}.chat-card span{font-size:.66rem}.chat-card b{font-size:.62rem}

/* Keep the desktop navigation visually attached to the logo, as in V15. */
.desktop-nav{justify-content:flex-start;margin-left:10px}
@media(max-width:1450px){.desktop-nav{justify-content:flex-start}}
.topbar-socials{display:none!important}

/* ========================================================================
   ES-PRO V21 — precision industrial design system
   Compact, high-contrast, responsive and product-first. This final layer
   intentionally normalises the accumulated V17–V20 overrides.
   ======================================================================== */
:root{
  --container:min(1220px,calc(100% - clamp(32px,5vw,72px)));
  --navy:#052951;
  --navy-deep:#031d34;
  --navy-soft:#0a4567;
  --teal:#286fbd;
  --teal-bright:#22b7be;
  --ink:#0b2c46;
  --body:#3f586b;
  --muted:#718593;
  --line:#dbe6ea;
  --soft:#f4f8f9;
  --radius:14px;
  --shadow-sm:0 8px 24px rgba(5,38,63,.07);
  --shadow:0 22px 58px rgba(5,38,63,.13);
}
html{scroll-padding-top:86px}
body{color:var(--body);font-size:16px;line-height:1.65;overflow-x:hidden}
h1,h2,h3{letter-spacing:-.028em;text-wrap:balance}
h1{font-size:clamp(2.7rem,4.4vw,4.3rem);line-height:1.04}
h2{font-size:clamp(2rem,3vw,2.9rem);line-height:1.1}
h3{font-size:1.2rem;line-height:1.25}
p{font-size:1rem}
.section{padding:82px 0}
.section-heading{margin-bottom:36px}
.section-heading h2{max-width:700px}
.section-heading.centered{max-width:760px}
.section-heading.centered p{max-width:640px}
.section-heading.split{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:56px}
.surface-soft{background:#f5f8f9}
.eyebrow{margin-bottom:12px;font-size:.72rem;letter-spacing:.12em}
.button{min-height:48px;padding:12px 20px;border-radius:9px;font-size:.72rem;letter-spacing:.035em}
.button:hover{transform:translateY(-2px)}

/* Header: stronger contrast, stable dimensions and readable localisation. */
.site-header{background:#fff}
.topbar{color:#eaf7fa;background:linear-gradient(90deg,#073754,#0a6b79);border-bottom:0;font-size:.74rem}
.topbar__inner{min-height:38px}
.topbar__contacts,.topbar__actions{gap:20px}
.topbar__contacts a,.topbar__contacts span,.topbar__actions>a{color:inherit}
.topbar__contacts .ui-icon,.topbar__actions .ui-icon{color:#69d7da}
.topbar__contacts a:hover,.topbar__actions a:hover{color:#fff}
.topbar-enquiry{padding:4px 0;color:#fff!important;font-weight:800}
.language-button{min-height:30px!important;padding:4px 9px!important;color:#fff!important;background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.2)!important;font-size:.72rem!important}
.language-button:hover,.language-switcher.open .language-button{background:rgba(255,255,255,.16)!important}
.language-menu{top:calc(100% + 9px)!important}
.nav-shell{background:#fff;border-bottom:1px solid #e4ebee}
.navbar{min-height:82px;gap:20px}
.brand{width:174px;flex-basis:174px}
.brand img{height:57px}
.desktop-nav{justify-content:flex-end;gap:clamp(10px,1vw,18px)}
.desktop-nav>a,.desktop-nav>.nav-item>a{min-height:82px;color:#173850;font-size:.75rem;font-weight:800;letter-spacing:0;text-transform:none}
.desktop-nav>a:after,.desktop-nav>.nav-item>a:after{bottom:16px;height:2px}
.nav-quote{min-width:166px;min-height:46px;padding-inline:16px;font-size:.69rem}
.search-toggle{width:39px;height:39px}
.search-toggle .ui-icon{width:19px;height:19px}
.site-header.scrolled .nav-shell{box-shadow:0 10px 30px rgba(5,37,62,.1)}

/* Mega catalogue: compact, visual and easy to scan. */
.product-mega{width:min(1080px,calc(100vw - 40px));max-height:min(610px,calc(100vh - 130px));grid-template-columns:220px 270px minmax(390px,1fr);border-radius:0 0 14px 14px;box-shadow:0 28px 70px rgba(3,28,48,.22);transform:translate(-31%,-7px)}
.has-mega:hover .product-mega,.has-mega:focus-within .product-mega{transform:translate(-31%,0)}
.product-mega__intro{padding:25px 22px;background:linear-gradient(155deg,#052943,#08727d)}
.product-mega__intro>span{font-size:.64rem}
.product-mega__intro strong{font-size:1.14rem;line-height:1.3}
.product-mega__intro p{font-size:.75rem;line-height:1.55}
.product-mega__intro a{font-size:.68rem}
.product-mega__families{padding:10px 0}
.product-mega__family{min-height:43px;padding:8px 14px;font-size:.78rem}
.product-mega__panels{min-height:460px}
.product-mega__panel{padding:22px 25px}
.product-mega__summary{display:grid!important;grid-template-columns:108px minmax(0,1fr);gap:16px;align-items:center;padding-bottom:17px!important}
.product-mega__summary>img{width:108px;height:76px;object-fit:cover;border-radius:10px;background:#edf3f5}
.product-mega__summary h3{margin:4px 0 5px;font-size:1.18rem}
.product-mega__summary p{display:-webkit-box;overflow:hidden;font-size:.76rem;line-height:1.48;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.product-mega__panel nav{gap:0 16px;margin-top:9px}
.product-mega__panel nav a{min-height:41px;font-size:.78rem}
.product-mega__standalone{margin-top:18px;padding:15px;font-size:.76rem}

/* Hero: professional scale, readable copy and an image-led composition. */
.hero{min-height:610px}
.hero__slide>img{object-position:center}
.hero__veil{background:linear-gradient(90deg,rgba(249,252,253,.99) 0%,rgba(249,252,253,.96) 34%,rgba(249,252,253,.72) 52%,rgba(3,29,52,.08) 72%,rgba(3,29,52,.2) 100%)}
.hero__content{padding-right:45%}
.hero__content h1,.hero__content .hero-title{max-width:630px;margin-bottom:20px;font-size:clamp(2.85rem,4.4vw,4.2rem)!important;line-height:1.03}
.hero__content p{max-width:570px;margin-bottom:27px;color:#345064;font-size:1.03rem;line-height:1.65}
.hero__actions{gap:11px}
.hero__dots{bottom:34px}
.hero__dots button{width:32px;height:4px}

/* Trust band and homepage content density. */
.trust-strip{min-height:96px;margin-top:-48px;border-radius:12px;box-shadow:0 18px 48px rgba(5,36,61,.12)}
.trust-strip__item{gap:12px;padding:18px 15px}
.trust-strip__icon{width:36px;height:36px}
.trust-strip__icon .ui-icon{width:19px;height:19px}
.trust-strip__item strong{font-size:.9rem}
.trust-strip__item span{font-size:.62rem}
.intro-grid{gap:56px}
.service-grid{gap:18px}
.service-card{border-radius:13px}
.service-card__media img{aspect-ratio:1.6/1}
.service-card__body{padding:22px}
.service-card__body h3{font-size:1.12rem}
.service-card__body p{font-size:.84rem;line-height:1.58}

/* Featured products: balanced title, compact imagery and obvious click targets. */
.product-showcase{padding:72px 0 76px;background:linear-gradient(135deg,#032039,#07496b)}
.showcase-heading{display:grid;grid-template-columns:minmax(0,580px) auto;align-items:end;gap:50px;margin-bottom:30px}
.showcase-heading h2{max-width:570px;margin:0;color:#fff;font-size:clamp(2.1rem,3.2vw,3rem);line-height:1.08}
.showcase-heading .button{justify-self:end}
.product-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.product-mini{display:block;margin:0;padding:0;border:0;border-radius:12px}
.product-mini__image{display:block;overflow:hidden;margin-bottom:13px;border:1px solid rgba(255,255,255,.16);border-radius:11px}
.product-mini img{aspect-ratio:1.45/1}
.product-mini small{margin:0 0 5px;font-size:.59rem}
.product-mini strong{display:block;min-height:44px;padding-right:22px;font-size:.83rem;line-height:1.38}
.product-arrow{right:1px;bottom:8px;font-size:1.05rem}
.product-mini:hover{transform:translateY(-4px)}

.excellence-strip{padding:68px 0}
.excellence-grid{gap:16px}
.excellence-heading h2{font-size:2.15rem}
.excellence-item{padding:0 14px}
.excellence-item h3{font-size:.92rem}
.excellence-item p{font-size:.74rem}
.capability-grid{gap:62px}
.capability-media img{min-height:440px;border-radius:15px}
.capability-media:before{top:-16px;right:-16px;border-radius:14px}
.capability-media>span{right:-14px;bottom:24px;width:140px;height:140px;border-width:6px;font-size:.61rem}
.capability-media>span strong{font-size:1.75rem}
.feature-list{gap:16px 22px;margin:26px 0 30px}
.process-line{margin-top:48px}
.industry-cards{gap:16px}
.industry-card{min-height:350px;border-radius:13px}
.industry-card>div{padding:24px}
.industry-card h3{font-size:1.25rem}
.projects-showcase{padding:80px 0}
.projects-showcase .container{grid-template-columns:300px 1fr;gap:42px}
.projects-heading h2{font-size:2.35rem}
.project-feature-grid{grid-template-rows:repeat(2,220px);gap:14px}

/* Partner logos: restrained typography and usable logo proportions. */
.partners-section,.certification-section,.resources-preview{padding:72px 0}
.partners-section .section-heading h2{max-width:680px;font-size:clamp(2rem,3vw,2.75rem)}
.partners-section .section-heading p{max-width:620px;font-size:.92rem}
.logo-marquee{padding:4px 0 22px}
.logo-track{gap:14px}
.logo-tile{width:178px;height:92px;flex-basis:178px;padding:17px;border-radius:11px;box-shadow:0 7px 20px rgba(5,36,64,.06)}
.logo-tile img{max-width:138px;max-height:56px}
.certification-grid{gap:65px}
.quality-points>div{padding:20px}
.certificate-card{padding:25px 30px;border-radius:14px}
.resource-grid{gap:18px}
.resource-card{border-radius:13px}
.resource-card>div{padding:22px}

/* Product/category detail: image-first but not oversized. */
.catalog-detail{padding:34px 0 62px}
.catalog-breadcrumb{margin-bottom:26px;font-size:.72rem}
.catalog-detail__top{grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);gap:48px;align-items:center}
.catalog-gallery__stage{min-height:420px;border-radius:14px;background:#f3f7f8}
.catalog-gallery__open{position:relative;display:block;width:100%;height:100%;padding:0;overflow:hidden;background:transparent;border:0;border-radius:inherit}
.catalog-gallery__open img{width:100%;height:100%;min-height:420px;object-fit:cover;transition:transform .45s ease}
.catalog-gallery__open:hover img{transform:scale(1.018)}
.catalog-gallery__zoom{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:7px;padding:9px 12px;color:#fff;background:rgba(3,30,52,.83);border:1px solid rgba(255,255,255,.22);border-radius:999px;backdrop-filter:blur(10px);font-size:.66rem;font-weight:800}
.catalog-gallery__zoom .ui-icon{width:15px;height:15px}
.catalog-gallery__thumbs{gap:9px;margin-top:12px}
.catalog-gallery__thumbs button{height:70px;flex-basis:84px;border-radius:9px}
.catalog-summary{padding-top:0}
.catalog-kicker{font-size:.68rem}
.catalog-summary h1{margin:12px 0 18px;font-size:clamp(2.55rem,4vw,4rem);line-height:1.02}
.catalog-summary__lead{font-size:1rem;line-height:1.7}
.catalog-summary__facts{margin:24px 0}
.catalog-summary__facts>div{padding:15px 12px 15px 0}
.catalog-summary__facts>div+div{padding-left:15px}
.catalog-summary__actions .button{min-height:48px}
.catalog-body{padding:64px 0}
.catalog-body__layout{grid-template-columns:minmax(0,1fr) 310px;gap:27px}
.catalog-main{gap:16px}
.catalog-content-card{padding:31px 34px;border-radius:14px}
.catalog-content-card h2{font-size:clamp(1.7rem,2.4vw,2.25rem)}
.catalog-contact-card{padding:25px;border-radius:14px}
.catalog-contact-card h2{font-size:1.25rem}
.catalog-category-intro{gap:26px;margin-bottom:46px}
.catalog-category-intro>.prose,.catalog-category-intro>aside{padding:31px 34px;border-radius:14px}
.catalog-product-card{border-radius:12px}
.catalog-product-card img{aspect-ratio:1.48/1}
.catalog-product-card>a{height:100%}

/* Accessible, keyboard-friendly full image viewer. */
.media-lightbox{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:28px}
.media-lightbox[hidden]{display:none!important}
.media-lightbox__backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;background:rgba(2,18,33,.88);border:0;backdrop-filter:blur(5px)}
.media-lightbox__dialog{position:relative;z-index:2;display:grid;width:min(1180px,94vw);height:min(780px,88vh);grid-template-columns:56px minmax(0,1fr) 56px;align-items:center}
.media-lightbox figure{display:grid;min-width:0;height:100%;margin:0;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:#fff;border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.media-lightbox figure img{width:100%;height:100%;min-height:0;object-fit:contain;background:#eef3f5}
.media-lightbox figcaption{padding:12px 18px;color:#385369;background:#fff;font-size:.78rem;text-align:center}
.media-lightbox__close{position:absolute;z-index:3;top:-12px;right:42px;display:grid;width:42px;height:42px;place-items:center;color:#fff;background:#0a5368;border:2px solid rgba(255,255,255,.8);border-radius:50%;font-size:1.45rem;line-height:1}
.media-lightbox__nav{display:grid;width:44px;height:54px;place-items:center;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:10px;font-size:2rem}
.media-lightbox__nav:hover{background:rgba(255,255,255,.22)}
.media-lightbox__nav--prev{justify-self:start}.media-lightbox__nav--next{justify-self:end}
html.lightbox-open,html.lightbox-open body{overflow:hidden}
.catalog-mobile-cta{display:none}

/* Mobile and tablet are deliberately compact rather than enlarged desktop. */
@media(max-width:1279px){
  .desktop-nav{display:none}.mobile-toggle{display:grid}.product-mega{display:none}
  .nav-quote{display:inline-flex}
  .hero__content{padding-right:37%}
  .product-rail{grid-template-columns:repeat(3,minmax(0,1fr))}
  .product-mini:nth-child(n+4){display:none}
}
@media(max-width:980px){
  .section{padding:68px 0}
  .topbar__address{display:none}
  .hero{min-height:570px}
  .hero__content{padding-right:28%}
  .showcase-heading{grid-template-columns:1fr}.showcase-heading .button{justify-self:start}
  .capability-grid{grid-template-columns:1fr;gap:38px}
  .capability-media{max-width:720px}
  .projects-showcase .container{grid-template-columns:1fr}
  .catalog-detail__top{grid-template-columns:1fr;gap:30px}
  .catalog-gallery{max-width:760px}
  .catalog-gallery__stage,.catalog-gallery__open img{min-height:390px}
  .catalog-body__layout{grid-template-columns:1fr}.catalog-sidebar{position:static;grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  :root{--container:calc(100% - 32px)}
  html{scroll-padding-top:72px}
  body{font-size:15px;padding-bottom:68px}
  h1{font-size:2.5rem}h2{font-size:2rem}
  .section{padding:56px 0}
  .section-heading{margin-bottom:27px}.section-heading.split{grid-template-columns:1fr;gap:16px}.section-heading.centered{text-align:left}.section-heading.centered .eyebrow{justify-content:flex-start}
  .topbar__inner{min-height:34px}.topbar__contacts{width:100%;justify-content:space-between;gap:10px}.topbar__contacts a{font-size:.67rem}.topbar__contacts a:nth-child(2),.topbar__actions{display:none}
  .navbar{min-height:68px}.brand{width:148px;flex-basis:148px}.brand img{height:48px}.nav-quote{display:none}.mobile-toggle{width:42px;height:42px}
  .mobile-nav{top:var(--mobile-nav-top,102px);width:min(92vw,380px);padding-bottom:max(20px,env(safe-area-inset-bottom));background:#fff}
  .mobile-nav__links>a,.mobile-catalog summary{min-height:48px;font-size:.85rem}
  .hero{min-height:525px}
  .hero__slide>img{object-position:68% center}
  .hero__veil{background:linear-gradient(180deg,rgba(249,252,253,.66) 0%,rgba(249,252,253,.94) 38%,#f9fcfd 72%)}
  .hero__content{top:auto;bottom:0;padding:0 0 52px;transform:none}
  .hero__content.container{padding-right:0}
  .hero__content h1,.hero__content .hero-title{max-width:100%;margin-bottom:15px;font-size:clamp(2.25rem,10vw,3rem)!important;line-height:1.02}
  .hero__content p{max-width:100%;margin-bottom:20px;font-size:.91rem;line-height:1.55}
  .hero__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hero__actions .button{width:100%;min-height:45px;padding:10px 12px;font-size:.63rem}
  .hero__dots{bottom:20px}
  .trust-strip-wrap{overflow:hidden}.trust-strip{display:flex;min-height:82px;margin-top:-18px;margin-right:-16px;overflow-x:auto;border-radius:10px;scroll-snap-type:x mandatory}.trust-strip__item{min-width:155px;flex:0 0 155px;justify-content:flex-start;padding:15px;scroll-snap-align:start}.trust-strip__item+*::before{top:18%;bottom:18%}
  .intro-grid{grid-template-columns:1fr;gap:18px}
  .service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-card__body{padding:16px}.service-card__body small{display:none}.service-card__body h3{font-size:.98rem}.service-card__body p{display:-webkit-box;overflow:hidden;font-size:.76rem;-webkit-box-orient:vertical;-webkit-line-clamp:3}
  .product-showcase{padding:56px 0}.showcase-heading{gap:20px;margin-bottom:24px}.showcase-heading h2{font-size:2.05rem}.showcase-heading .button{width:100%}
  .product-rail{display:flex;gap:12px;margin-right:-16px;overflow-x:auto;scroll-snap-type:x mandatory}.product-mini{min-width:74vw;flex:0 0 74vw;scroll-snap-align:start}.product-mini:nth-child(n){display:block}.product-mini img{aspect-ratio:1.5/1}.product-mini strong{min-height:0}
  .excellence-grid{grid-template-columns:1fr 1fr}.excellence-heading{grid-column:1/-1}.excellence-item{padding:14px 8px;border-left:0;border-top:1px solid var(--line)}
  .capability-media img{min-height:310px}.capability-media>span{right:10px;bottom:10px;width:112px;height:112px;border-width:4px}.feature-list{grid-template-columns:1fr}
  .process-line{display:flex;margin-right:-16px;overflow-x:auto;gap:10px}.process-line:before{display:none}.process-step{min-width:72vw;flex:0 0 72vw;padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px;text-align:left}.process-step>span{width:48px;height:48px;margin:0 0 16px;border-width:5px}
  .industry-cards{display:flex;margin-right:-16px;overflow-x:auto;gap:12px}.industry-card{min-width:75vw;min-height:330px;flex:0 0 75vw}
  .project-feature-grid{display:flex;overflow-x:auto;gap:12px}.project-feature,.project-feature--large{min-width:78vw;height:330px;flex:0 0 78vw}
  .partners-section .section-heading h2{font-size:2rem}.logo-tile{width:148px;height:80px;flex-basis:148px}.logo-tile img{max-width:116px;max-height:48px}
  .quality-points{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr}
  .catalog-detail{padding:20px 0 43px}.catalog-breadcrumb{margin-bottom:18px;overflow-x:auto;white-space:nowrap}.catalog-detail__top{gap:24px}
  .catalog-gallery__stage,.catalog-gallery__open img{min-height:245px}.catalog-gallery__zoom{right:9px;bottom:9px;padding:8px 10px;font-size:.59rem}.catalog-gallery__thumbs button{height:58px;flex-basis:68px}
  .catalog-summary h1{margin:9px 0 14px;font-size:2.35rem}.catalog-summary__lead{font-size:.92rem}.catalog-summary__facts{grid-template-columns:1fr 1fr;margin:19px 0}.catalog-summary__facts>div{padding:12px 8px 12px 0}.catalog-summary__facts>div+div{padding-left:12px}.catalog-summary__facts>div:nth-child(3){grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid #e1eaed}.catalog-summary__actions{display:grid;grid-template-columns:1fr 1fr}.catalog-summary__actions .button{padding:10px 11px;font-size:.63rem}.catalog-summary__note{font-size:.68rem}
  .catalog-body{padding:48px 0}.catalog-content-card,.catalog-category-intro>.prose,.catalog-category-intro>aside{padding:24px 21px}.catalog-content-card h2{font-size:1.72rem}.catalog-sidebar{grid-template-columns:1fr}.catalog-product-grid,.catalog-product-grid--wide{grid-template-columns:1fr}
  .catalog-mobile-cta{position:fixed;z-index:650;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;padding:8px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:rgba(255,255,255,.96);border-top:1px solid #d9e4e8;box-shadow:0 -12px 35px rgba(5,36,62,.12);backdrop-filter:blur(12px)}
  .catalog-mobile-cta a,.catalog-mobile-cta button{display:flex;min-height:46px;align-items:center;justify-content:center;gap:7px;padding:8px 10px;color:#fff;background:#286fbd;border:0;font-size:.69rem;font-weight:850}.catalog-mobile-cta a{border-radius:9px 0 0 9px}.catalog-mobile-cta button{background:#052951;border-radius:0 9px 9px 0}.catalog-mobile-cta .ui-icon{width:16px;height:16px}
  .media-lightbox{padding:10px}.media-lightbox__dialog{width:100%;height:82vh;grid-template-columns:42px minmax(0,1fr) 42px}.media-lightbox__close{top:-8px;right:31px;width:38px;height:38px}.media-lightbox__nav{width:36px;height:48px}.media-lightbox figcaption{padding:10px;font-size:.68rem}
  .espro-chat{right:10px;bottom:78px}.espro-chat__panel{inset:72px 7px 76px}
  .scroll-nav{bottom:80px}
}
@media(max-width:480px){
  .hero__actions{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.excellence-grid{grid-template-columns:1fr}.excellence-heading{grid-column:auto}.catalog-summary__actions{grid-template-columns:1fr}.catalog-summary__facts{grid-template-columns:1fr}.catalog-summary__facts>div+div,.catalog-summary__facts>div:nth-child(3){grid-column:auto;padding-left:0;border-left:0;border-top:1px solid #e1eaed}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* V21.1 final hero calibration after desktop/mobile visual QA */
.hero{min-height:590px}
.hero__content{padding-right:42%}
.hero__content h1,.hero__content .hero-title{max-width:720px;font-size:clamp(2.8rem,3.75vw,3.65rem)!important;line-height:1.045}
@media(max-width:980px){.hero{min-height:560px}.hero__content{padding-right:30%}}
@media(max-width:760px){
  .hero{min-height:590px}
  .hero__content{top:0;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;padding-top:125px;padding-bottom:48px;transform:none}
  .hero__content h1,.hero__content .hero-title{font-size:clamp(2.05rem,9vw,2.45rem)!important;line-height:1.04}
}

/* V21.2 mobile hero containment: prevent inherited desktop transforms from clipping copy. */
@media(max-width:760px){
  .topbar{display:none!important}
  .navbar{min-height:70px}
  .hero{min-height:550px}
  .hero__content.container{
    position:absolute;
    inset:0 auto auto 0!important;
    width:100%!important;
    max-width:none!important;
    height:100%;
    margin:0!important;
    padding:48px 16px 50px!important;
    transform:none!important;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }
  .hero__content h1,.hero__content .hero-title{
    max-width:100%!important;
    font-size:clamp(2rem,9vw,2.42rem)!important;
    line-height:1.04!important;
  }
  .hero__content p{max-width:100%;font-size:.92rem;line-height:1.56}
  .hero__dots{bottom:22px}
}

/* V21.3 viewport-safe catalogue and mobile conversion controls. */
.product-mega{--mega-clamp:0px;transform:translate(calc(-31% + var(--mega-clamp)),-7px)}
.has-mega:hover .product-mega,.has-mega:focus-within .product-mega{transform:translate(calc(-31% + var(--mega-clamp)),0)}
@media(min-width:1281px){.nav-quote{display:inline-flex!important}}
@media(max-width:760px){
  body:has(.catalog-mobile-cta) .espro-chat__launcher{display:none!important}
  body:has(.catalog-mobile-cta) .espro-chat__panel{inset:70px 7px 76px}
}

/* Keep hidden mega-navigation and animated rails from creating page-level horizontal scroll. */
html,body{overflow-x:hidden;overflow-x:clip}

/* ========================================================================
   ES-PRO V22 — globally balanced layout, live search and catalogue UX
   ======================================================================== */
:root{
  --container:min(1280px,calc(100% - 64px));
  --header-dark:#07384f;
  --header-dark-2:#0b6672;
}

/* Header: left-biased content grid with readable international typography. */
.topbar{color:#f1fbfd!important;background:linear-gradient(90deg,var(--header-dark),var(--header-dark-2))!important;border:0!important;font-size:.78rem!important}
.topbar__inner{min-height:40px!important}
.topbar__contacts{gap:22px!important}
.topbar__contacts a,.topbar__address,.topbar__actions,.topbar-enquiry{color:#f1fbfd!important}
.topbar__contacts .ui-icon,.topbar__actions .ui-icon{color:#72dde0!important}
.topbar__actions{gap:14px!important}
.nav-shell{background:#fff!important}
.navbar{display:grid!important;min-height:86px!important;grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:28px!important}
.brand{width:190px!important;min-width:190px;flex-basis:auto!important}
.brand img{height:60px!important}
.desktop-nav{justify-content:flex-start!important;margin-left:10px!important;gap:clamp(16px,1.18vw,24px)!important}
.desktop-nav>a,.desktop-nav>.nav-item>a{min-height:86px!important;color:#12334c!important;font-size:.82rem!important;font-weight:810!important;letter-spacing:0!important;text-transform:none!important}
.desktop-nav>a:after,.desktop-nav>.nav-item>a:after{bottom:17px!important}
.nav-actions{gap:9px!important}
.nav-quote{min-width:176px;min-height:48px!important;padding:12px 18px!important;font-size:.72rem!important}
.search-toggle{width:42px!important;height:42px!important}
html[lang^="zh"] .desktop-nav,html[lang^="ko"] .desktop-nav{gap:22px!important}
html[lang^="ru"] .desktop-nav{gap:14px!important}
html[lang^="ru"] .desktop-nav>a,html[lang^="ru"] .desktop-nav>.nav-item>a{font-size:.76rem!important}

/* Language switcher: solid, high-contrast, never faded. */
.language-switcher{z-index:650!important}
.language-button{min-width:124px!important;min-height:32px!important;justify-content:center;padding:5px 11px!important;color:#fff!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.26)!important;border-radius:9px!important;font-size:.79rem!important;font-weight:800!important;opacity:1!important}
.language-button:hover,.language-switcher.open .language-button{color:#fff!important;background:rgba(255,255,255,.22)!important}
.language-menu{right:0!important;left:auto!important;top:calc(100% + 10px)!important;width:254px!important;min-width:254px!important;padding:9px!important;background:#fff!important;border:1px solid #d8e6ea!important;border-radius:15px!important;box-shadow:0 24px 58px rgba(3,35,54,.22)!important;opacity:1!important;filter:none!important}
.language-menu:before{right:24px!important;left:auto!important;background:#fff!important;border-top:1px solid #d8e6ea!important;border-left:1px solid #d8e6ea!important}
.language-menu a{display:grid!important;min-height:47px!important;grid-template-columns:38px minmax(0,1fr) 18px!important;align-items:center!important;gap:9px!important;padding:8px 10px!important;color:#193b54!important;background:#fff!important;border-radius:10px!important;font-size:.85rem!important;opacity:1!important}
.language-menu a:hover{color:#075e68!important;background:#edf4fc!important}
.language-menu a.active{color:#075e68!important;background:#dff3f4!important;box-shadow:inset 3px 0 #286fbd!important}
.language-menu b{display:grid!important;width:34px!important;height:28px!important;place-items:center!important;color:#24465e!important;background:#edf3f5!important;border-radius:8px!important;font-size:.68rem!important}
.language-menu span{color:inherit!important;font-size:.84rem!important;font-weight:790!important;opacity:1!important}
.language-menu i{color:#1e6db9!important;font-size:1rem!important;font-weight:900!important}

/* Instant global search. */
.search-panel{padding:16px 0 20px!important;background:rgba(255,255,255,.985)!important;box-shadow:0 24px 60px rgba(5,36,64,.16)!important}
.global-search{position:relative;max-width:980px}
.search-form{position:relative;display:grid!important;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 9px 8px 16px;background:#fff;border:1px solid #d5e4e8;border-radius:14px;box-shadow:0 10px 28px rgba(6,40,71,.07)}
.global-search__icon{display:grid;color:#0a7380;place-items:center}.global-search__icon .ui-icon{width:20px;height:20px}
.search-form input{height:48px;padding:0 8px!important;background:transparent!important;border:0!important;border-radius:0!important;font-size:1rem;box-shadow:none!important}
.global-search__all{display:inline-flex;min-height:44px;align-items:center;gap:8px;padding:0 15px;color:#fff;background:#0b4c9c;border-radius:9px;font-size:.74rem;font-weight:850;white-space:nowrap}
.global-search-results{display:grid;position:absolute;z-index:5;top:calc(100% + 8px);right:0;left:0;max-height:min(62vh,560px);overflow:auto;padding:8px;background:#fff;border:1px solid #dbe7eb;border-radius:14px;box-shadow:0 28px 70px rgba(5,36,64,.2)}
.global-search-results>a{display:grid;grid-template-columns:68px minmax(0,1fr) 20px;gap:13px;align-items:center;padding:9px;border-radius:10px;border-bottom:1px solid #edf2f4}
.global-search-results>a:last-child{border-bottom:0}.global-search-results>a:hover{background:#eff8f8}
.global-search-results img{width:68px;height:52px;object-fit:cover;border-radius:8px;background:#edf3f5}
.global-search-result__icon{display:grid;width:52px;height:52px;place-items:center;color:#1e6db9;background:#eaf6f7;border-radius:8px;font-weight:900}
.global-search-results small{display:block;color:#1e6db9;font-size:.61rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.global-search-results strong{display:block;margin:2px 0;color:#12344e;font-size:.88rem;line-height:1.3}
.global-search-results em{display:-webkit-box;overflow:hidden;color:#6a7f8d;font-size:.72rem;font-style:normal;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:1}
.global-search-results b{color:#0b7f89}.global-search-results>p{margin:0;padding:22px;text-align:center;color:#6b7e8a}

/* Centered sections stay optically centered in every language. */
.process-section .section-heading.centered,.partners-section .section-heading.centered,.lifecycle-section .section-heading.centered{display:flex!important;max-width:880px!important;align-items:center!important;flex-direction:column!important;margin-right:auto!important;margin-left:auto!important;text-align:center!important}
.process-section .section-heading.centered .eyebrow,.partners-section .section-heading.centered .eyebrow,.lifecycle-section .section-heading.centered .eyebrow{justify-content:center!important}
.process-section .section-heading.centered h2,.partners-section .section-heading.centered h2,.lifecycle-section .section-heading.centered h2{max-width:780px!important;margin-right:auto!important;margin-left:auto!important;text-align:center!important;text-wrap:balance}
.process-section .section-heading.centered p,.partners-section .section-heading.centered p,.lifecycle-section .section-heading.centered p{max-width:680px!important;margin:18px auto 0!important;text-align:center!important;text-wrap:pretty}
.process-section{padding:84px 0!important}
.process-line{max-width:1120px;margin:48px auto 0!important}
.process-step{padding-inline:16px!important}.process-step h3{font-size:1.08rem!important}.process-step p{font-size:.84rem!important}
.partners-section{padding:76px 0 58px!important}.partners-section .section-heading{margin-bottom:31px!important}.partners-section .section-heading h2{font-size:clamp(2.15rem,3.25vw,3.25rem)!important}
.logo-marquee{padding-bottom:16px!important}.logo-tile{width:176px!important;height:92px!important;flex-basis:176px!important}.logo-tile img{max-width:135px!important;max-height:55px!important}

/* About page: refined proportions instead of oversized cards. */
.page-about .page-hero{min-height:450px!important}.page-about .page-content h1{max-width:820px;font-size:clamp(2.8rem,4.4vw,4.55rem)!important}
.page-about .story{max-width:1160px;margin-inline:auto;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:62px!important;align-items:center}
.page-about .story-image img{min-height:480px;max-height:540px;object-fit:cover;border-radius:16px}
.page-about .story h2{font-size:clamp(2rem,3vw,3.1rem)}
.page-about .stats{gap:10px!important}.page-about .stats>div{padding:17px 12px!important;border-radius:11px!important}.page-about .stats strong{font-size:1.16rem!important}
.purpose-section{padding:78px 0!important}.purpose-grid{max-width:1120px;margin-inline:auto;gap:20px!important}.purpose-card{min-height:245px!important;padding:34px 35px!important;grid-template-columns:48px 1fr!important;gap:18px!important;border-radius:15px!important}.purpose-card h2{font-size:1.65rem!important}.purpose-card p{font-size:.94rem!important;line-height:1.7}
.advantage-section{padding:78px 0!important}.advantage-section .container{max-width:1180px}.advantage-section .section-heading{align-items:center!important;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)!important;gap:54px!important}.advantage-grid{gap:20px!important}.advantage-card{border-radius:14px!important}.advantage-card img{aspect-ratio:16/8!important;max-height:290px}.advantage-card>div{padding:25px 27px 27px!important}.advantage-card h3{font-size:1.42rem!important}.advantage-card p,.advantage-card li{font-size:.87rem!important}
.page-about .partners-section{padding-top:70px!important}

/* Product live search, count and compact pagination. */
.catalog-tools{display:grid;min-width:min(100%,460px);grid-template-columns:minmax(220px,1fr) 190px;gap:10px;align-items:center}
.catalog-tools--compact{max-width:720px;margin:0 0 24px;grid-template-columns:minmax(260px,1fr) auto}
.catalog-live-search{display:grid;min-height:48px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;padding:0 14px;background:#fff;border:1px solid #d5e3e7;border-radius:11px;box-shadow:0 8px 22px rgba(7,45,70,.04)}
.catalog-live-search>span{display:grid;color:#1e6db9;place-items:center}.catalog-live-search .ui-icon{width:18px;height:18px}.catalog-live-search input{width:100%;height:44px;padding:0;color:#17394f;background:transparent;border:0;outline:0;font-size:.86rem}
.catalog-filter select{width:100%;min-height:48px;padding:0 38px 0 13px;color:#17394f;background:#fff;border:1px solid #d5e3e7;border-radius:11px;font-size:.82rem;font-weight:750;outline:0}
.catalog-result-count{grid-column:1/-1;margin:0;color:#6d818e;font-size:.72rem;font-weight:720;text-align:right}
.catalog-product-card[hidden]{display:none!important}
.catalog-empty{padding:38px;text-align:center;background:#fff;border:1px dashed #cbdde2;border-radius:14px}.catalog-empty h3{margin-bottom:7px}.catalog-empty p{margin:0;color:#718591}
.catalog-pagination{display:flex;min-height:44px;align-items:center;justify-content:center;gap:7px;margin-top:32px}
.catalog-pagination button{display:grid;width:40px;height:40px;place-items:center;color:#315066;background:#fff;border:1px solid #d5e2e6;border-radius:9px;font-size:.78rem;font-weight:850;transition:.2s}
.catalog-pagination button:hover:not(:disabled),.catalog-pagination button.active{color:#fff;background:#0b4c9c;border-color:#0b4c9c;box-shadow:0 8px 18px rgba(8,127,137,.18)}
.catalog-pagination button:disabled{cursor:not-allowed;opacity:.36}
.product-catalog-preview .section-heading.split{align-items:start!important}.product-catalog-preview .section-heading>div:first-child p{max-width:620px;margin:14px 0 0;color:#6c808e;font-size:.9rem}

/* Live search page. */
.live-search-page{background:linear-gradient(180deg,#f5fafb,#fff)}
.live-search-shell{position:sticky;z-index:10;top:95px;max-width:900px;margin:0 auto 30px;padding:10px;background:rgba(255,255,255,.94);border:1px solid #dbe7eb;border-radius:16px;box-shadow:0 18px 48px rgba(5,36,64,.1);backdrop-filter:blur(12px)}
.live-search-page__field{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:center;padding:0 13px}.live-search-page__field>span{display:grid;color:#0b4c9c;place-items:center}.live-search-page__field input{height:52px;color:#17384f;background:transparent;border:0;outline:0;font-size:1.02rem}.live-search-shell>p{margin:0;padding:2px 13px 7px;color:#738894;font-size:.72rem;text-align:right}
.live-search-results{display:grid;max-width:980px;margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.live-search-results article>a{display:grid;height:100%;grid-template-columns:112px minmax(0,1fr) 20px;gap:15px;align-items:center;padding:13px;background:#fff;border:1px solid #dce7ea;border-radius:13px;box-shadow:0 9px 24px rgba(6,40,71,.05);transition:.2s}.live-search-results article>a:hover{transform:translateY(-3px);border-color:#b8d6db;box-shadow:0 16px 34px rgba(6,40,71,.1)}
.live-search-results img{width:112px;height:82px;object-fit:cover;border-radius:9px}.live-search-results small{display:block;color:#1e6db9;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.live-search-results strong{display:block;margin:3px 0;color:#13364e;font-size:.96rem;line-height:1.3}.live-search-results em{display:-webkit-box;overflow:hidden;color:#6b7f8d;font-size:.75rem;font-style:normal;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.live-search-results b{color:#0b4c9c}.live-search-empty{grid-column:1/-1;padding:70px 20px;text-align:center}

/* Editorial images behave as images, not fixed decoration. */
.is-lightbox-image{cursor:zoom-in;outline:0;transition:filter .2s ease,transform .2s ease}.is-lightbox-image:hover{filter:brightness(.94)}.is-lightbox-image:focus-visible{box-shadow:0 0 0 4px rgba(7,154,167,.25)}
.news-article__media{position:relative}.news-article__media:after{position:absolute;right:20px;bottom:20px;padding:8px 11px;content:"↗";color:#fff;background:rgba(3,36,58,.78);border-radius:9px;font-size:.85rem;pointer-events:none}
.media-lightbox__dialog figure img{max-width:100%;max-height:78vh;object-fit:contain}

@media(max-width:1180px){
  .navbar{grid-template-columns:170px minmax(0,1fr) auto!important;gap:18px!important}.brand{width:170px!important;min-width:170px!important}.desktop-nav{gap:13px!important;margin-left:0!important}.desktop-nav>a,.desktop-nav>.nav-item>a{font-size:.74rem!important}.nav-quote{min-width:160px!important}
}
@media(max-width:1050px){
  .navbar{display:flex!important}.brand{width:170px!important;flex:0 0 170px!important}.desktop-nav{display:none!important}.nav-actions{margin-left:auto}.mobile-toggle{display:grid!important}
}
@media(max-width:760px){
  :root{--container:calc(100% - 32px)}
  .navbar{min-height:70px!important}.brand{width:150px!important;min-width:150px!important;flex-basis:150px!important}.brand img{height:49px!important}
  .section-heading.centered,.process-section .section-heading.centered,.partners-section .section-heading.centered,.lifecycle-section .section-heading.centered{align-items:center!important;text-align:center!important}.section-heading.centered .eyebrow,.process-section .section-heading.centered .eyebrow,.partners-section .section-heading.centered .eyebrow{justify-content:center!important}.section-heading.centered h2,.section-heading.centered p{margin-right:auto!important;margin-left:auto!important;text-align:center!important}
  .process-section{padding:62px 0!important}.process-line{display:flex!important;max-width:none;margin:31px -16px 0 0!important;gap:12px!important;overflow-x:auto;scroll-snap-type:x mandatory}.process-step{min-width:82vw!important;flex:0 0 82vw!important;padding:23px!important;background:#fff;border:1px solid #dbe7eb;border-radius:14px;text-align:center!important;scroll-snap-align:start}.process-step>span{margin:0 auto 15px!important}.process-step p{max-width:290px;margin-inline:auto}
  .partners-section{padding:60px 0 44px!important}.partners-section .section-heading h2{font-size:2rem!important}.partners-section .section-heading p{font-size:.86rem}.logo-tile{width:145px!important;height:78px!important;flex-basis:145px!important;padding:15px!important}
  .page-about .page-hero{min-height:390px!important}.page-about .story{grid-template-columns:1fr!important;gap:27px!important}.page-about .story-image img{min-height:280px;max-height:360px}.page-about .stats{grid-template-columns:1fr 1fr!important}.purpose-section,.advantage-section{padding:58px 0!important}.purpose-grid,.advantage-grid{grid-template-columns:1fr!important}.purpose-card{min-height:0!important;padding:28px 24px!important;grid-template-columns:38px 1fr!important}.purpose-card h2{font-size:1.45rem!important}.advantage-section .section-heading{display:block!important}.advantage-section .section-heading p{margin-top:14px}.advantage-card img{max-height:none}
  .catalog-tools,.catalog-tools--compact{width:100%;min-width:0;max-width:none;grid-template-columns:1fr}.catalog-result-count{text-align:left}.product-catalog-preview .section-heading.split{display:block!important}.product-catalog-preview .section-heading .catalog-tools{margin-top:20px}
  .catalog-pagination{gap:5px}.catalog-pagination button{width:37px;height:37px}
  .global-search{width:calc(100% - 24px)}.search-form{grid-template-columns:22px minmax(0,1fr)}.global-search__all{display:none}.global-search-results{position:static;max-height:55vh;margin-top:8px}.global-search-results>a{grid-template-columns:58px minmax(0,1fr) 16px}.global-search-results img{width:58px;height:47px}
  .live-search-shell{position:static}.live-search-results{grid-template-columns:1fr}.live-search-results article>a{grid-template-columns:86px minmax(0,1fr) 16px}.live-search-results img{width:86px;height:68px}
  .language-menu{position:fixed!important;top:74px!important;right:14px!important;left:14px!important;width:auto!important;min-width:0!important;max-height:calc(100vh - 92px);overflow:auto}
}
@media(max-width:480px){
  .page-about .stats{grid-template-columns:1fr!important}.catalog-product-grid,.catalog-product-grid--wide{grid-template-columns:1fr!important}.live-search-results article>a{grid-template-columns:72px minmax(0,1fr) 14px;padding:10px}.live-search-results img{width:72px;height:60px}.global-search-results em{display:none}
}


/* ========================================================================
   V23 — focused visual QA fixes for homepage, newsroom, media viewer and mobile.
   Keeps the V22 information architecture and database intact.
   ======================================================================== */
html,body{max-width:100%;overflow-x:clip}
.topbar-enquiry{padding-left:0!important;border-left:0!important}

/* Featured products: remove the empty upper-right void and tighten the band. */
.product-showcase{padding:64px 0 68px!important;background:radial-gradient(circle at 88% 18%,rgba(38,196,202,.15),transparent 25%),linear-gradient(128deg,#04233d 0%,#074562 58%,#075a69 100%)!important}
.showcase-heading{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr)!important;align-items:end!important;gap:clamp(36px,6vw,88px)!important;max-width:1220px;margin:0 auto 30px!important}
.showcase-heading>div:first-child{max-width:660px}
.showcase-heading h2{max-width:640px!important;font-size:clamp(2.15rem,3.15vw,3.1rem)!important;line-height:1.08!important}
.showcase-heading__action{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding-bottom:3px}
.showcase-heading__action p{max-width:360px;margin:0;color:#c8dbe3;font-size:.88rem;line-height:1.68}
.showcase-heading__action .button{flex:0 0 auto;white-space:nowrap}
.product-rail{max-width:1220px;margin-inline:auto!important;gap:16px!important}
.product-mini__image{box-shadow:0 12px 28px rgba(0,0,0,.13)}
.product-mini strong{min-height:40px!important}

/* Newsroom introduction: compact editorial hierarchy, no oversized blank zone. */
.news-index-hero{padding:42px 0 38px!important;background:linear-gradient(135deg,#f4f8fa 0%,#fff 70%)!important}
.news-index-hero__inner{align-items:center!important;grid-template-columns:minmax(0,1fr) 190px!important;gap:44px!important}
.news-index-hero .breadcrumb{margin-bottom:17px!important}
.news-index-hero .eyebrow{margin-bottom:8px!important}
.news-index-hero h1{max-width:760px!important;margin:9px 0 12px!important;font-size:clamp(2.35rem,3.45vw,3.45rem)!important;line-height:1.06!important}
.news-index-hero p{max-width:720px!important;font-size:.98rem!important;line-height:1.65!important}
.news-index-hero__mark{align-items:center!important;justify-content:center!important;min-height:112px;padding:18px!important;background:#fff;border:1px solid #dce7eb;border-radius:16px;box-shadow:0 12px 34px rgba(6,40,71,.06);text-align:center}
.news-index-hero__mark strong{font-size:1rem!important}
.news-index-section{padding-top:54px!important}

/* Stable full-size image viewer on all editorial and product pages. */
html.lightbox-open,html.lightbox-open body{overflow:hidden!important}
.media-lightbox{display:flex!important;align-items:center;justify-content:center;padding:24px!important}
.media-lightbox[hidden]{display:none!important}
.media-lightbox__dialog{position:relative!important;display:flex!important;width:min(1180px,calc(100vw - 96px))!important;height:min(790px,calc(100dvh - 64px))!important;max-width:none!important;align-items:center!important;justify-content:center!important;padding:0 58px!important}
.media-lightbox__dialog figure{display:flex!important;width:100%!important;min-width:0!important;height:100%!important;max-height:100%!important;flex-direction:column!important;margin:0!important;overflow:hidden!important;background:#fff!important;border-radius:18px!important;box-shadow:0 28px 90px rgba(0,0,0,.38)!important}
.media-lightbox__dialog figure img{display:block!important;width:100%!important;min-width:0!important;height:0!important;min-height:0!important;max-width:100%!important;max-height:none!important;flex:1 1 auto!important;object-fit:contain!important;background:#eef3f5!important}
.media-lightbox__dialog figcaption{flex:0 0 auto!important;min-height:48px;padding:13px 20px!important;color:#385369!important;background:#fff!important;font-size:.78rem!important;line-height:1.45!important;text-align:center!important}
.media-lightbox__close{top:8px!important;right:66px!important;width:42px!important;height:42px!important}
.media-lightbox__nav{position:absolute!important;top:50%!important;z-index:4!important;transform:translateY(-50%)!important}
.media-lightbox__nav--prev{left:0!important}.media-lightbox__nav--next{right:0!important}

/* Compact mobile header and precisely centred hamburger glyph. */
@media(max-width:760px){
  body{overflow-x:hidden!important}
  .mobile-toggle{display:flex!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;padding:0!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;left:auto!important;top:auto!important;width:20px!important;height:2px!important;margin:0!important;transform:none!important;background:#0b4569!important;border-radius:999px!important}
  .mobile-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  .mobile-toggle.open span:nth-child(2){opacity:0!important}
  .mobile-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}

  /* Home hero: remove the dead vertical area and horizontal trust-strip scrollbar. */
  .hero{min-height:500px!important}
  .hero__slide>img{object-position:66% center!important}
  .hero__veil{background:linear-gradient(180deg,rgba(249,252,253,.76) 0%,rgba(249,252,253,.95) 38%,#f9fcfd 76%)!important}
  .hero__content.container{height:100%!important;padding:28px 16px 70px!important;justify-content:flex-start!important}
  .hero__content .eyebrow{margin-bottom:10px!important}
  .hero__content h1,.hero__content .hero-title{font-size:clamp(2.08rem,9vw,2.52rem)!important;line-height:1.04!important;margin-bottom:13px!important}
  .hero__content p{margin-bottom:17px!important;font-size:.9rem!important;line-height:1.55!important}
  .hero__actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .hero__actions .button{min-height:46px!important}
  .hero__dots{bottom:17px!important}
  .trust-strip-wrap{overflow:visible!important}
  .trust-strip{display:grid!important;grid-template-columns:1fr 1fr!important;min-height:0!important;margin:0!important;overflow:visible!important;border-radius:0 0 14px 14px!important}
  .trust-strip__item{min-width:0!important;min-height:78px!important;padding:13px 12px!important;justify-content:flex-start!important}
  .trust-strip__item:last-child{grid-column:1/-1!important}
  .trust-strip__item+*::before{display:none!important}

  /* Featured products: compact, swipeable cards without negative margins. */
  .product-showcase{padding:55px 0 58px!important}
  .showcase-heading{display:block!important;margin-bottom:24px!important}
  .showcase-heading h2{font-size:2rem!important}
  .showcase-heading__action{display:block!important;margin-top:15px!important}
  .showcase-heading__action p{max-width:none!important;margin-bottom:16px!important;font-size:.84rem!important}
  .showcase-heading__action .button{width:100%!important}
  .product-rail{display:flex!important;margin:0!important;padding:0 2px 12px!important;gap:12px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}
  .product-rail::-webkit-scrollbar{display:none!important}
  .product-mini{min-width:78vw!important;flex:0 0 78vw!important;scroll-snap-align:center!important}

  /* Delivery process: clean vertical sequence, no horizontal scrollbar. */
  .process-section{overflow:visible!important}
  .process-line{display:grid!important;grid-template-columns:1fr!important;max-width:560px!important;margin:28px auto 0!important;gap:12px!important;overflow:visible!important}
  .process-line:before{display:none!important}
  .process-step{display:grid!important;min-width:0!important;grid-template-columns:54px minmax(0,1fr)!important;gap:8px 15px!important;align-items:center!important;padding:18px!important;text-align:left!important;border:1px solid #dbe7eb!important;border-radius:14px!important;background:#fff!important;box-shadow:0 8px 22px rgba(6,40,71,.04)!important}
  .process-step>span{grid-row:1/3!important;width:48px!important;height:48px!important;margin:0!important;border-width:5px!important}
  .process-step h3{align-self:end!important;margin:0!important;font-size:1.03rem!important}
  .process-step p{grid-column:2!important;margin:0!important;font-size:.82rem!important;line-height:1.55!important;text-align:left!important}

  /* News landing: short intro and orderly filter cards. */
  .news-index-hero{padding:30px 0 28px!important}
  .news-index-hero__inner{display:block!important}
  .news-index-hero__mark{display:none!important}
  .news-index-hero .breadcrumb{margin-bottom:15px!important}
  .news-index-hero h1{font-size:2.1rem!important;margin-bottom:10px!important}
  .news-index-section{padding:34px 0 62px!important}
  .news-index-sidebar{gap:14px!important}

  /* Viewer becomes a wide, natural-height sheet rather than a tall strip. */
  .media-lightbox{padding:8px!important}
  .media-lightbox__dialog{display:block!important;width:calc(100vw - 16px)!important;height:auto!important;max-height:calc(100dvh - 16px)!important;padding:0!important}
  .media-lightbox__dialog figure{width:100%!important;height:auto!important;max-height:calc(100dvh - 16px)!important;border-radius:14px!important}
  .media-lightbox__dialog figure img{width:100%!important;height:auto!important;max-height:calc(100dvh - 74px)!important;flex:none!important;object-fit:contain!important}
  .media-lightbox__dialog figcaption{min-height:48px!important;padding:11px 46px 11px 14px!important;text-align:left!important}
  .media-lightbox__close{top:7px!important;right:7px!important;width:38px!important;height:38px!important}
  .media-lightbox__nav{width:38px!important;height:48px!important;background:rgba(3,37,61,.8)!important;border-color:rgba(255,255,255,.55)!important}
  .media-lightbox__nav--prev{left:7px!important}.media-lightbox__nav--next{right:7px!important}

  /* Floating controls share one baseline and do not obscure the footer. */
  .espro-chat{right:14px!important;bottom:14px!important}
  .scroll-nav,.espro-chat~.scroll-nav{right:78px!important;bottom:14px!important;display:block!important}
  .scroll-nav__button{width:46px!important;height:46px!important}
  .footer{min-height:0!important}
  .footer-grid{padding-bottom:30px!important}
  .footer-bottom{min-height:0!important;padding:18px 0 calc(86px + env(safe-area-inset-bottom))!important;gap:10px!important}
}

@media(max-width:420px){
  .hero{min-height:515px!important}
  .product-mini{min-width:82vw!important;flex-basis:82vw!important}
  .news-index-hero h1{font-size:1.95rem!important}
}

/* V23.1 mobile hero density after viewport review. */
@media(max-width:760px){
  .hero{min-height:455px!important}
  .hero__content.container{padding-bottom:54px!important}
  .hero__dots{bottom:14px!important}
}
@media(max-width:420px){.hero{min-height:465px!important}}

/* V23.2 final visual QA: natural-ratio desktop media viewer and tighter hero dots. */
.media-lightbox__dialog{height:auto!important;max-height:calc(100dvh - 64px)!important}
.media-lightbox__dialog figure{height:auto!important;max-height:calc(100dvh - 64px)!important}
.media-lightbox__dialog figure img{width:auto!important;max-width:100%!important;height:auto!important;max-height:calc(100dvh - 122px)!important;flex:none!important;margin:auto!important}
@media(max-width:760px){
  .hero__dots{bottom:46px!important}
  .media-lightbox__dialog figure img{width:100%!important;max-height:calc(100dvh - 74px)!important;margin:0!important}
}

/* ========================================================================
   V24 — premium visual refinement requested after V23 production review.
   Scope: About, News, Products, mobile hero/navigation/footer and brand rail.
   Database and route structure remain unchanged.
   ======================================================================== */

/* Keep partner marks optically centred regardless of source-image whitespace. */
.logo-tile{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.logo-tile img{
  display:block!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* ABOUT: replace the oversized full-bleed navy wall with a lighter editorial section. */
.page-about .advantage-section{
  position:relative;
  overflow:hidden;
  padding:78px 0!important;
  color:#40596b!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(7,154,167,.10),transparent 28%),
    linear-gradient(180deg,#f8fbfc 0%,#eef5f7 100%)!important;
  border-block:1px solid #e2ebee;
}
.page-about .advantage-section:before{
  position:absolute;
  top:46px;
  right:max(4vw,30px);
  width:170px;
  height:170px;
  content:"";
  border:28px solid rgba(7,154,167,.055);
  border-radius:50%;
  pointer-events:none;
}
.page-about .advantage-section .container{position:relative;z-index:1;max-width:1180px}
.page-about .advantage-section .section-heading{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(320px,.72fr)!important;
  align-items:end!important;
  gap:64px!important;
  margin-bottom:34px!important;
}
.page-about .advantage-section .eyebrow.light{color:#0b4c9c!important}
.page-about .advantage-section .section-heading h2{
  max-width:650px;
  color:#0a3150!important;
  font-size:clamp(2.15rem,3.15vw,3.25rem)!important;
  line-height:1.08;
}
.page-about .advantage-section .section-heading>p{
  max-width:520px;
  margin:0!important;
  color:#617887!important;
  font-size:.94rem!important;
  line-height:1.72!important;
}
.page-about .advantage-grid{gap:20px!important}
.page-about .advantage-card{
  display:grid;
  grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr);
  min-height:310px;
  overflow:hidden;
  background:#fff!important;
  border:1px solid #d9e6ea!important;
  border-radius:16px!important;
  box-shadow:0 16px 42px rgba(6,40,71,.075)!important;
}
.page-about .advantage-card img{
  width:100%;
  height:100%;
  min-height:310px;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover;
}
.page-about .advantage-card>div{padding:28px 29px!important}
.page-about .advantage-card h3{font-size:1.38rem!important;line-height:1.22}
.page-about .advantage-card p,.page-about .advantage-card li{font-size:.84rem!important;line-height:1.65!important}
.page-about .advantage-card ul{margin-bottom:0;padding-left:18px}

/* NEWS: compact editorial masthead without the decorative square badge. */
.news-index-hero{
  position:relative;
  overflow:hidden;
  padding:48px 0 43px!important;
  background:
    linear-gradient(115deg,rgba(7,154,167,.055),transparent 46%),
    linear-gradient(180deg,#f7fafb 0%,#fff 100%)!important;
  border-bottom:1px solid #dfe9ec!important;
}
.news-index-hero:after{
  position:absolute;
  top:-115px;
  right:5vw;
  width:300px;
  height:300px;
  content:"";
  border:46px solid rgba(7,154,167,.045);
  border-radius:50%;
  pointer-events:none;
}
.news-index-hero__inner{
  position:relative;
  z-index:1;
  display:block!important;
  max-width:1120px;
}
.news-index-hero__inner>div:first-child{
  max-width:820px;
  padding-left:24px;
  border-left:3px solid #286fbd;
}
.news-index-hero .breadcrumb{margin-bottom:16px!important}
.news-index-hero .eyebrow{margin-bottom:7px!important}
.news-index-hero h1{
  max-width:800px!important;
  margin:8px 0 12px!important;
  font-size:clamp(2.45rem,3.65vw,3.65rem)!important;
  line-height:1.04!important;
}
.news-index-hero p{max-width:760px!important;font-size:.97rem!important;line-height:1.68!important}
.news-index-hero__mark{display:none!important}
.news-index-section{padding-top:50px!important}
.news-featured__media,.news-list-item__media{cursor:pointer}

/* PRODUCTS: keep one strong teal conversion band, turn the preceding band into a refined light card. */
.page-products .engineering-note{
  padding:68px 0!important;
  background:#fff!important;
  border-top:1px solid #e2ebee;
}
.page-products .engineering-note__inner{
  position:relative;
  overflow:hidden;
  max-width:1200px;
  padding:38px 42px!important;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.7fr) auto!important;
  gap:42px!important;
  color:#526a7b!important;
  background:
    radial-gradient(circle at 93% 20%,rgba(7,154,167,.11),transparent 25%),
    linear-gradient(135deg,#f7fbfc,#edf6f7)!important;
  border:1px solid #d7e6e9;
  border-radius:18px;
  box-shadow:0 18px 50px rgba(6,40,71,.07);
}
.page-products .engineering-note__inner:after{
  position:absolute;
  right:-70px;
  bottom:-100px;
  width:230px;
  height:230px;
  content:"";
  border:34px solid rgba(7,154,167,.07);
  border-radius:50%;
  pointer-events:none;
}
.page-products .engineering-note .eyebrow.light{color:#0b4c9c!important}
.page-products .engineering-note h2{
  position:relative;
  z-index:1;
  color:#0b3352!important;
  font-size:clamp(1.85rem,2.55vw,2.65rem)!important;
  line-height:1.12;
}
.page-products .engineering-note p{position:relative;z-index:1;margin:0!important;font-size:.9rem;line-height:1.7}
.page-products .engineering-note .button{
  position:relative;
  z-index:1;
  color:#fff!important;
  background:linear-gradient(135deg,#0b4c9c,#16b9c1)!important;
  box-shadow:0 12px 28px rgba(7,154,167,.22)!important;
}

/* More legible active/open state inside the mobile product taxonomy. */
.mobile-catalog details[open]>summary{
  margin:3px 0;
  padding-inline:8px;
  background:#e7f5f6;
  border-radius:10px;
  box-shadow:inset 3px 0 #286fbd;
}
.mobile-catalog details[open]>summary>a{color:#075e68!important}
.mobile-catalog details[open]>summary>span{
  color:#fff!important;
  background:#1e6db9!important;
  transform:rotate(45deg);
}
.mobile-catalog details>summary>span{transition:transform .2s ease,background .2s ease,color .2s ease}

/* Floating controls and footer: remove generic mobile body spacer; retain it only on product-detail CTAs. */
@media(max-width:760px){
  body{padding-bottom:0!important}
  body:has(.catalog-mobile-cta){padding-bottom:68px!important}
  .footer{margin:0!important;background:#07366d!important}
  .footer-bottom{
    padding:18px 0 calc(78px + env(safe-area-inset-bottom))!important;
    background:#07366d!important;
  }

  /* Home hero: stronger contrast, balanced content and no dead lower area. */
  .page-home .hero{
    min-height:510px!important;
    background:#f4f8fa!important;
  }
  .page-home .hero__slide>img{object-position:69% center!important}
  .page-home .hero__veil{
    background:linear-gradient(180deg,rgba(248,251,252,.55) 0%,rgba(248,251,252,.91) 32%,#f8fbfc 76%)!important;
  }
  .page-home .hero__content.container{
    width:calc(100% - 34px)!important;
    max-width:none!important;
    padding:30px 0 62px!important;
  }
  .page-home .hero__content h1,.page-home .hero__content .hero-title{
    max-width:355px!important;
    margin-bottom:12px!important;
    font-size:clamp(2.05rem,9vw,2.55rem)!important;
    line-height:1.02!important;
    text-shadow:0 2px 0 rgba(255,255,255,.65);
  }
  .page-home .hero__content p{max-width:350px!important;margin-bottom:16px!important;color:#3e5b6f!important}
  .page-home .hero__dots{bottom:39px!important}

  /* About section becomes compact cards instead of a giant coloured wall. */
  .page-about .advantage-section{padding:58px 0!important}
  .page-about .advantage-section:before{display:none}
  .page-about .advantage-section .section-heading{
    display:block!important;
    margin-bottom:24px!important;
  }
  .page-about .advantage-section .section-heading>p{margin-top:13px!important}
  .page-about .advantage-section .section-heading h2{font-size:2rem!important}
  .page-about .advantage-grid{grid-template-columns:1fr!important;gap:15px!important}
  .page-about .advantage-card{display:block;min-height:0!important;border-radius:14px!important}
  .page-about .advantage-card img{height:190px!important;min-height:190px!important}
  .page-about .advantage-card>div{padding:22px 21px 24px!important}
  .page-about .advantage-card h3{font-size:1.25rem!important}

  /* News masthead: compact and intentional on phone. */
  .news-index-hero{padding:27px 0 26px!important}
  .news-index-hero:after{display:none}
  .news-index-hero__inner>div:first-child{padding-left:14px;border-left-width:2px}
  .news-index-hero .breadcrumb{margin-bottom:12px!important}
  .news-index-hero h1{margin:6px 0 9px!important;font-size:2rem!important}
  .news-index-hero p{font-size:.88rem!important;line-height:1.58!important}
  .news-index-section{padding-top:31px!important}

  /* Product landing: eliminate the narrow vertical text column and excessive height. */
  .page-products .product-index-hero{
    min-height:570px!important;
    background:#f6fafb!important;
  }
  .page-products .product-index-hero__media img{
    object-position:70% 20%!important;
  }
  .page-products .product-index-hero__media>div{
    background:linear-gradient(180deg,rgba(248,251,252,.2) 0%,rgba(248,251,252,.66) 27%,rgba(248,251,252,.97) 57%,#f8fbfc 100%)!important;
  }
  .page-products .product-index-hero__content{
    width:calc(100% - 36px)!important;
    max-width:none!important;
    min-height:570px!important;
    justify-content:flex-end!important;
    padding:105px 0 36px!important;
    padding-right:0!important;
  }
  .page-products .product-index-hero__content .breadcrumb{margin-bottom:15px!important}
  .page-products .product-index-hero__content .eyebrow{margin-bottom:10px!important}
  .page-products .product-index-hero__content h1{
    width:100%!important;
    max-width:350px!important;
    margin:0 0 14px!important;
    font-size:2.25rem!important;
    line-height:1.03!important;
    letter-spacing:-.045em!important;
    text-wrap:balance;
  }
  .page-products .product-index-hero__content p{
    width:100%!important;
    max-width:350px!important;
    margin:0 0 18px!important;
    font-size:.86rem!important;
    line-height:1.58!important;
  }
  .page-products .product-index-hero__content>div{
    display:grid!important;
    width:100%!important;
    max-width:350px!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .page-products .product-index-hero__content .button{width:100%!important;min-height:45px!important}

  /* Product custom-config note is a single light card before the global teal CTA. */
  .page-products .engineering-note{padding:48px 0!important}
  .page-products .engineering-note__inner{
    display:block!important;
    width:calc(100% - 32px)!important;
    padding:25px 22px!important;
    border-radius:15px!important;
  }
  .page-products .engineering-note h2{font-size:1.65rem!important}
  .page-products .engineering-note p{margin:13px 0 18px!important;font-size:.84rem!important}
  .page-products .engineering-note .button{width:100%!important}

  /* Mobile taxonomy and partner marks. */
  .mobile-catalog>summary{padding:2px 7px!important;border-radius:10px}
  .mobile-catalog[open]>summary{background:#eff8f9}
  .logo-marquee{overflow:hidden!important;padding-inline:0!important}
  .logo-track{align-items:center!important;gap:12px!important}
  .logo-tile{
    width:148px!important;
    height:82px!important;
    flex:0 0 148px!important;
    padding:14px!important;
  }
  .logo-tile img{max-width:116px!important;max-height:52px!important;margin:auto!important}

  /* Keep floating controls on one clean baseline. */
  .espro-chat{right:13px!important;bottom:13px!important}
  .scroll-nav,.espro-chat~.scroll-nav{right:76px!important;bottom:13px!important}
  .scroll-nav__button{width:46px!important;height:46px!important}
}

@media(max-width:420px){
  .page-home .hero{min-height:500px!important}
  .page-products .product-index-hero,.page-products .product-index-hero__content{min-height:550px!important}
  .page-products .product-index-hero__content{padding-top:92px!important}
  .page-products .product-index-hero__content h1{font-size:2.08rem!important}
  .news-index-hero h1{font-size:1.88rem!important}
}

/* ========================================================================
   V24.1 — mobile rollback/polish requested after V24 review.
   Desktop keeps the approved V24 layout. Phone/tablet returns to the stable
   V23 proportions, while retaining the V24 news click behaviour and i18n fix.
   ======================================================================== */
@media(max-width:760px){
  html{background:#07366d!important}
  body{overflow-x:hidden!important;padding-bottom:0!important;background:#fff!important}
  body:has(.catalog-mobile-cta){padding-bottom:68px!important}

  /* Precisely centred mobile menu icon. */
  .mobile-toggle{display:flex!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;padding:0!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;transform:none!important;background:#0b4569!important;border-radius:999px!important}
  .mobile-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  .mobile-toggle.open span:nth-child(2){opacity:0!important}
  .mobile-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}

  /* Restore the compact V23 home hero proportions. */
  .page-home .hero,.hero{min-height:455px!important;background:#f9fcfd!important}
  .page-home .hero__slide>img,.hero__slide>img{object-position:66% center!important}
  .page-home .hero__veil,.hero__veil{background:linear-gradient(180deg,rgba(249,252,253,.76) 0%,rgba(249,252,253,.95) 38%,#f9fcfd 76%)!important}
  .page-home .hero__content.container,.hero__content.container{width:var(--container)!important;max-width:var(--container-max)!important;height:100%!important;padding:28px 0 54px!important;justify-content:flex-start!important}
  .page-home .hero__content .eyebrow,.hero__content .eyebrow{margin-bottom:10px!important}
  .page-home .hero__content h1,.page-home .hero__content .hero-title,.hero__content h1,.hero__content .hero-title{max-width:none!important;margin-bottom:13px!important;font-size:clamp(2.08rem,9vw,2.52rem)!important;line-height:1.04!important;text-shadow:none!important}
  .page-home .hero__content p,.hero__content p{max-width:none!important;margin-bottom:17px!important;color:#3f5a6e!important;font-size:.9rem!important;line-height:1.55!important}
  .hero__actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .hero__actions .button{width:100%!important;min-height:46px!important}
  .page-home .hero__dots,.hero__dots{bottom:46px!important}
  .trust-strip-wrap{overflow:visible!important}
  .trust-strip{display:grid!important;grid-template-columns:1fr 1fr!important;min-height:0!important;margin:0!important;overflow:visible!important;border-radius:0 0 14px 14px!important}
  .trust-strip__item{min-width:0!important;min-height:78px!important;padding:13px 12px!important;justify-content:flex-start!important}
  .trust-strip__item:last-child{grid-column:1/-1!important}
  .trust-strip__item+*::before{display:none!important}

  /* Stable V23 product landing instead of the overextended V24 phone hero. */
  .page-products .product-index-hero,.product-index-hero{min-height:690px!important;background:#f6fafb!important}
  .page-products .product-index-hero__media img,.product-index-hero__media img{object-position:68% center!important}
  .page-products .product-index-hero__media>div,.product-index-hero__media>div{background:linear-gradient(180deg,rgba(248,251,252,.48),rgba(248,251,252,.92) 42%,#f8fbfc 70%)!important}
  .page-products .product-index-hero__content,.product-index-hero__content{width:var(--container)!important;max-width:var(--container-max)!important;min-height:690px!important;justify-content:flex-end!important;padding:120px 0 64px!important;padding-right:0!important}
  .page-products .product-index-hero__content h1,.product-index-hero__content h1{width:auto!important;max-width:760px!important;margin:0!important;font-size:2.65rem!important;line-height:1.01!important;letter-spacing:-.055em!important}
  .page-products .product-index-hero__content p,.product-index-hero__content p{width:auto!important;max-width:690px!important;margin:24px 0 30px!important;font-size:.9rem!important;line-height:1.75!important}
  .page-products .product-index-hero__content>div,.product-index-hero__content>div{display:flex!important;width:auto!important;max-width:none!important;grid-template-columns:none!important;flex-wrap:wrap!important;gap:12px!important}
  .page-products .product-index-hero__content .button,.product-index-hero__content .button{width:auto!important;min-height:44px!important}

  /* About uses the trusted V23 phone composition; desktop remains V24. */
  .page-about .advantage-section{padding:58px 0!important;color:#c7d8e4!important;background:linear-gradient(135deg,#052951 0%,#07366d 100%)!important;border-block:0!important}
  .page-about .advantage-section:before{display:none!important}
  .page-about .advantage-section .container{max-width:var(--container-max)!important}
  .page-about .advantage-section .section-heading{display:block!important;margin-bottom:24px!important}
  .page-about .advantage-section .section-heading h2{max-width:none!important;color:#fff!important;font-size:2rem!important}
  .page-about .advantage-section .section-heading>p{max-width:none!important;margin-top:13px!important;color:#c7d8e4!important;font-size:.9rem!important;line-height:1.65!important}
  .page-about .advantage-section .eyebrow.light{color:#a8cefa!important}
  .page-about .advantage-grid{grid-template-columns:1fr!important;gap:15px!important}
  .page-about .advantage-card{display:block!important;min-height:0!important;overflow:hidden!important;background:#fff!important;border:0!important;border-radius:14px!important;box-shadow:0 16px 40px rgba(0,0,0,.18)!important}
  .page-about .advantage-card img{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/8.8!important;object-fit:cover!important}
  .page-about .advantage-card>div{padding:24px!important}
  .page-about .advantage-card h3{font-size:1.28rem!important}
  .page-about .advantage-card p,.page-about .advantage-card li{font-size:.86rem!important;line-height:1.65!important}

  /* Compact V23 news masthead. */
  .news-index-hero{padding:30px 0 28px!important;background:linear-gradient(135deg,#f4f8fa 0%,#fff 70%)!important}
  .news-index-hero:after{display:none!important}
  .news-index-hero__inner{display:block!important}
  .news-index-hero__inner>div:first-child{max-width:none!important;padding-left:0!important;border-left:0!important}
  .news-index-hero__mark{display:none!important}
  .news-index-hero .breadcrumb{margin-bottom:15px!important}
  .news-index-hero h1{margin:6px 0 10px!important;font-size:2.1rem!important}
  .news-index-hero p{font-size:.94rem!important;line-height:1.6!important}
  .news-index-section{padding-top:34px!important}

  /* Keep the light V24 configuration card compact on phones. */
  .page-products .engineering-note{padding:46px 0!important;background:#fff!important}
  .page-products .engineering-note__inner{display:block!important;width:var(--container)!important;max-width:var(--container-max)!important;padding:24px 22px!important;border-radius:15px!important}
  .page-products .engineering-note h2{font-size:1.65rem!important}
  .page-products .engineering-note p{margin:13px 0 18px!important;font-size:.84rem!important}
  .page-products .engineering-note .button{width:100%!important}

  /* Partner logos remain visually centred despite transparent source padding. */
  .logo-marquee{overflow:hidden!important;padding-inline:0!important}
  .logo-track{align-items:center!important;gap:12px!important}
  .logo-tile{width:148px!important;height:82px!important;flex:0 0 148px!important;padding:14px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .logo-tile img{display:block!important;max-width:116px!important;max-height:52px!important;margin:auto!important;object-fit:contain!important;object-position:center!important}

  /* Natural mobile lightbox and aligned floating controls. */
  .media-lightbox{padding:8px!important}
  .media-lightbox__dialog{display:block!important;width:calc(100vw - 16px)!important;height:auto!important;max-height:calc(100dvh - 16px)!important;padding:0!important}
  .media-lightbox__dialog figure{width:100%!important;height:auto!important;max-height:calc(100dvh - 16px)!important;border-radius:14px!important}
  .media-lightbox__dialog figure img{width:100%!important;height:auto!important;max-height:calc(100dvh - 74px)!important;flex:none!important;margin:0!important;object-fit:contain!important}
  .media-lightbox__dialog figcaption{min-height:48px!important;padding:11px 46px 11px 14px!important;text-align:left!important}
  .media-lightbox__close{top:7px!important;right:7px!important;width:38px!important;height:38px!important}
  .media-lightbox__nav{width:38px!important;height:48px!important;background:rgba(3,37,61,.8)!important;border-color:rgba(255,255,255,.55)!important}
  .media-lightbox__nav--prev{left:7px!important}.media-lightbox__nav--next{right:7px!important}

  .footer{min-height:0!important;margin:0!important;padding-bottom:0!important;background:#07366d!important}
  .footer-grid{padding-bottom:30px!important}
  .footer-bottom{min-height:0!important;margin:0!important;padding:18px 0 calc(82px + env(safe-area-inset-bottom))!important;gap:10px!important;background:#07366d!important}
  .espro-chat{right:14px!important;bottom:14px!important}
  .scroll-nav,.espro-chat~.scroll-nav{right:78px!important;bottom:14px!important;display:block!important}
  .scroll-nav__button{width:46px!important;height:46px!important}
}

@media(max-width:420px){
  .page-home .hero,.hero{min-height:465px!important}
  .page-products .product-index-hero,.page-products .product-index-hero__content,.product-index-hero,.product-index-hero__content{min-height:690px!important}
  .page-products .product-index-hero__content h1,.product-index-hero__content h1{font-size:2.2rem!important}
  .news-index-hero h1{font-size:1.95rem!important}
}


/* ======================================================================
   V24.3 — V16-inspired mobile composition + compact desktop product rail
   ====================================================================== */

/* Desktop: replace the oversized featured-product wall with a compact,
   conference-grade product rail. */
@media (min-width: 901px){
  .page-home .product-showcase{
    padding:44px 0 48px!important;
    background:linear-gradient(120deg,#03213a 0%,#063d5e 62%,#07576a 100%)!important;
  }
  .page-home .product-showcase>.container{
    display:grid!important;
    width:min(1180px,calc(100% - 48px))!important;
    grid-template-columns:230px minmax(0,1fr)!important;
    align-items:center!important;
    gap:28px!important;
  }
  .page-home .showcase-heading{
    display:block!important;
    max-width:230px!important;
    margin:0!important;
  }
  .page-home .showcase-heading>div:first-child{max-width:none!important}
  .page-home .showcase-heading .eyebrow{margin-bottom:10px!important;font-size:.62rem!important}
  .page-home .showcase-heading h2{
    max-width:225px!important;
    margin:0 0 16px!important;
    font-size:2rem!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
    text-wrap:balance;
  }
  .page-home .showcase-heading__action{
    display:block!important;
    max-width:none!important;
    padding:0!important;
  }
  .page-home .showcase-heading__action p{display:none!important}
  .page-home .showcase-heading__action .button{
    min-width:0!important;
    min-height:0!important;
    justify-content:flex-start!important;
    padding:0!important;
    color:#5fe0e4!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    font-size:.68rem!important;
    letter-spacing:.04em!important;
  }
  .page-home .showcase-heading__action .button:hover{color:#fff!important;transform:translateX(3px)!important}
  .page-home .product-rail{
    display:grid!important;
    min-width:0!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .page-home .product-mini{min-width:0!important;padding-bottom:4px!important}
  .page-home .product-mini__image{margin-bottom:10px!important;border-radius:9px!important}
  .page-home .product-mini img{aspect-ratio:1.42/1!important}
  .page-home .product-mini small{margin-bottom:5px!important;font-size:.53rem!important;line-height:1.25!important}
  .page-home .product-mini strong{padding-right:19px!important;font-size:.77rem!important;line-height:1.34!important}
  .page-home .product-arrow{right:1px!important;bottom:5px!important;font-size:.95rem!important}

  /* Keep the home hero and facts strip visually aligned with the same grid. */
  .page-home .hero{min-height:585px!important}
  .page-home .hero__content h1,.page-home .hero__content .hero-title{max-width:690px!important}
  .page-home .trust-strip-wrap>.container{width:min(1180px,calc(100% - 48px))!important}
  .page-home .trust-strip{min-height:96px!important;margin-top:-48px!important}
  .page-home .trust-strip__item{padding:18px 15px!important}

  /* Compact desktop footer. */
  .footer{min-height:0!important}
  .footer-grid{padding:52px 0 34px!important;grid-template-columns:1.18fr .9fr .9fr .72fr 1.05fr!important;gap:30px!important}
  .brand--footer{width:185px!important;padding:8px 10px!important}
  .brand--footer img{height:46px!important}
  .footer-brand>p{max-width:285px!important}
  .footer h3{margin-bottom:11px!important;font-size:.94rem!important}
  .footer p,.footer li,.footer a,.footer input{font-size:.78rem!important;line-height:1.58!important}
  .footer-bottom{min-height:0!important;padding:15px 0 18px!important}
}

/* Tablet prevents the right copy from collapsing into a vertical word column. */
@media (min-width: 701px) and (max-width: 900px){
  .page-home .product-showcase{padding:58px 0!important}
  .page-home .product-showcase>.container{display:block!important}
  .page-home .showcase-heading{display:grid!important;grid-template-columns:1fr auto!important;align-items:end!important;gap:24px!important;margin-bottom:24px!important}
  .page-home .showcase-heading__action p{display:none!important}
  .page-home .showcase-heading__action .button{white-space:nowrap!important}
  .page-home .product-rail{overflow-x:auto!important;grid-template-columns:repeat(5,minmax(210px,1fr))!important}
}

/* Mobile: restore the clean V16 rhythm requested by the client. */
@media (max-width: 700px){
  :root{--container:calc(100% - 30px)}
  html,body{max-width:100%;overflow-x:hidden!important}

  .topbar{display:block!important;min-height:36px!important}
  .topbar__inner{min-height:36px!important;justify-content:center!important}
  .topbar__contacts,.topbar-enquiry,.topbar-language{display:none!important}
  .topbar__actions{display:flex!important;width:auto!important;justify-content:center!important;margin:0!important}
  .topbar-socials{display:flex!important;gap:13px!important}
  .topbar-socials a{display:grid!important;width:20px!important;height:30px!important;place-items:center!important;padding:0!important;background:transparent!important;border:0!important}
  .topbar-socials .brand-icon{width:14px!important;height:14px!important}

  .navbar{min-height:70px!important}
  .brand{width:145px!important;flex-basis:145px!important}
  .brand img{height:48px!important}
  .mobile-toggle{display:grid!important;width:42px!important;height:42px!important;place-content:center!important;padding:0!important}
  .mobile-toggle span{display:block!important;width:23px!important;height:2px!important;margin:3px auto!important}

  .page-home .hero{min-height:590px!important;background:#edf3f5!important}
  .page-home .hero__slide>img{object-position:64% center!important}
  .page-home .hero__veil{background:linear-gradient(180deg,rgba(248,251,252,.55) 0%,rgba(248,251,252,.9) 43%,rgba(248,251,252,.99) 70%)!important}
  .page-home .hero__content{
    top:auto!important;
    bottom:55px!important;
    transform:none!important;
    padding-bottom:0!important;
  }
  .page-home .hero__content .eyebrow{margin-bottom:14px!important;font-size:.7rem!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:100%!important;
    margin-bottom:14px!important;
    font-size:clamp(2.3rem,10.2vw,2.78rem)!important;
    line-height:1.04!important;
    letter-spacing:-.052em!important;
    text-wrap:balance;
  }
  .page-home .hero__content p{max-width:100%!important;margin-bottom:20px!important;font-size:.93rem!important;line-height:1.58!important}
  .page-home .hero__actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .page-home .hero__actions .button{width:100%!important;min-height:46px!important}
  .page-home .hero__dots{bottom:22px!important}

  .page-home .trust-strip-wrap{min-height:0!important;padding:0 15px 5px!important;background:#fff!important}
  .page-home .trust-strip{
    display:grid!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    grid-template-columns:1fr!important;
    overflow:hidden!important;
    border-radius:14px!important;
    box-shadow:0 15px 40px rgba(5,36,64,.12)!important;
  }
  .page-home .trust-strip__item{
    min-width:0!important;
    min-height:67px!important;
    justify-content:flex-start!important;
    gap:13px!important;
    padding:11px 17px!important;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .page-home .trust-strip__item:last-child{grid-column:auto!important;border-bottom:0!important}
  .page-home .trust-strip__item+*::before{display:none!important}
  .page-home .trust-strip__icon{width:38px!important;height:38px!important;flex-basis:38px!important;border-radius:11px!important}
  .page-home .trust-strip__item strong{font-size:.84rem!important}
  .page-home .trust-strip__item div>span{font-size:.54rem!important;line-height:1.3!important}

  .page-home .product-showcase{padding:56px 0 60px!important;background:linear-gradient(135deg,#032039,#07546b)!important}
  .page-home .product-showcase>.container{display:block!important;width:var(--container)!important}
  .page-home .showcase-heading{display:block!important;margin:0 0 24px!important}
  .page-home .showcase-heading h2{max-width:335px!important;margin-bottom:15px!important;font-size:2.05rem!important;line-height:1.04!important}
  .page-home .showcase-heading__action{display:block!important;margin:0!important;padding:0!important}
  .page-home .showcase-heading__action p{display:none!important}
  .page-home .showcase-heading__action .button{width:100%!important;min-width:0!important}
  .page-home .product-rail{display:flex!important;gap:12px!important;overflow-x:auto!important;padding:0 0 6px!important;scroll-snap-type:x mandatory!important}
  .page-home .product-mini{min-width:79vw!important;flex:0 0 79vw!important;scroll-snap-align:start!important}
  .page-home .product-mini img{aspect-ratio:1.5/1!important}
  .page-home .product-mini strong{font-size:.92rem!important}

  .page-home .industry-cards{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin:0!important;overflow:visible!important}
  .page-home .industry-card{min-width:0!important;min-height:320px!important;flex:auto!important}

  .page-home .partners-section .logo-marquee{overflow-x:auto!important;padding:0 0 12px!important}
  .page-home .partners-section .logo-track{align-items:center!important;gap:10px!important;animation:none!important}
  .page-home .partners-section .logo-tile{display:flex!important;width:145px!important;height:78px!important;flex:0 0 145px!important;align-items:center!important;justify-content:center!important;padding:13px!important}
  .page-home .partners-section .logo-tile img{display:block!important;max-width:112px!important;max-height:48px!important;margin:auto!important}

  /* Compact, segmented footer rather than one continuous dark column. */
  .footer{min-height:0!important}
  .footer-grid{padding:38px 0 20px!important;grid-template-columns:1fr!important;gap:0!important}
  .footer-grid>div{grid-column:auto!important;padding:19px 0!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
  .footer-grid>div:first-child{padding-top:0!important}
  .footer-grid>div:last-child{border-bottom:0!important;padding-bottom:0!important}
  .brand--footer{width:158px!important;padding:7px 9px!important}
  .brand--footer img{height:39px!important}
  .footer-brand>p{max-width:none!important;margin:12px 0!important}
  .footer h3{margin-bottom:9px!important;font-size:.92rem!important}
  .footer p,.footer li,.footer a,.footer input{font-size:.78rem!important;line-height:1.52!important}
  .footer-links{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 14px!important}
  .footer-bottom{align-items:flex-start!important;flex-direction:column!important;min-height:0!important;padding:14px 0 18px!important;gap:7px!important}
  .footer-bottom p{margin:0!important}

  .espro-chat{right:12px!important;bottom:12px!important}
  .scroll-nav,.espro-chat~.scroll-nav{right:74px!important;bottom:12px!important}
}

@media (max-width: 390px){
  .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{font-size:2.25rem!important}
  .page-home .hero__content p{font-size:.88rem!important}
}


/* V24.3 final visual QA corrections */
@media (min-width:901px){
  .page-home .product-showcase>.container{grid-template-columns:285px minmax(0,1fr)!important;gap:24px!important}
  .page-home .showcase-heading{max-width:285px!important}
  .page-home .showcase-heading h2{max-width:275px!important;font-size:1.82rem!important;line-height:1.04!important}
}
.footer-mobile{display:none}
@media (max-width:700px){
  .page-home .hero__content.container{
    position:absolute!important;
    inset:auto 0 55px 0!important;
    width:var(--container)!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin-inline:auto!important;
    padding:0!important;
    display:block!important;
    transform:none!important;
  }
  .page-home .hero__content .eyebrow{display:flex!important}

  .footer-grid{display:none!important}
  .footer-mobile{display:block!important;padding:34px 0 18px!important}
  .footer-mobile__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}
  .footer-mobile__top .brand--footer{flex:0 0 auto!important;margin:0!important}
  .footer-mobile__socials{display:flex;gap:7px!important;margin:0!important}
  .footer-mobile__socials a{display:grid;width:32px!important;height:32px!important;place-items:center}
  .footer-mobile__intro{margin:16px 0 17px!important;color:#c6d7e2!important;font-size:.78rem!important;line-height:1.55!important}
  .footer-mobile__contact{display:grid;gap:9px;padding:15px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:12px}
  .footer-mobile__contact a,.footer-mobile__contact span{display:flex;align-items:flex-start;gap:9px;color:#e6f0f5!important;font-size:.78rem!important;line-height:1.45!important}
  .footer-mobile__contact .ui-icon{width:15px;height:15px;flex:0 0 15px;margin-top:2px;color:#66dce1}
  .footer-mobile__row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}
  .footer-mobile__group{min-width:0}
  .footer-mobile__group h3{margin:0 0 8px!important;color:#fff;font-size:.8rem!important;text-transform:uppercase}
  .footer-mobile__group p{margin:0;color:#bfd1dc!important;font-size:.72rem!important;line-height:1.6!important}
  .footer-mobile__links{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px}
  .footer-mobile__links a{color:#d4e3ea!important;font-size:.74rem!important}
  .footer-mobile__enquiry{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:12px 14px;color:#fff!important;background:linear-gradient(90deg,#087d8b,#0ca8b4);border-radius:10px;font-size:.76rem!important;font-weight:850}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.1)!important}
}

/* ========================================================================
   ES-PRO V25 — final professional desktop/mobile visual correction
   ======================================================================== */

/* Contact form: remove the decorative dash requested beside the form label. */
.page-contact .enquiry-form>.eyebrow::before{display:none!important}
.page-contact .enquiry-form>.eyebrow{gap:0!important}

/* Featured products: balanced editorial heading + five real cards, no empty wall. */
@media (min-width:901px){
  .page-home .product-showcase{
    padding:58px 0 62px!important;
    background:
      radial-gradient(circle at 90% 8%,rgba(54,214,219,.14),transparent 25%),
      linear-gradient(122deg,#04233d 0%,#073f5e 58%,#086072 100%)!important;
  }
  .page-home .product-showcase>.container{
    display:block!important;
    width:min(1280px,calc(100% - 64px))!important;
  }
  .page-home .showcase-heading{
    display:grid!important;
    max-width:none!important;
    grid-template-columns:minmax(0,1fr) minmax(360px,.58fr)!important;
    align-items:end!important;
    gap:54px!important;
    margin:0 0 30px!important;
  }
  .page-home .showcase-heading>div:first-child{max-width:760px!important}
  .page-home .showcase-heading .eyebrow{margin-bottom:10px!important}
  .page-home .showcase-heading h2{
    max-width:760px!important;
    margin:0!important;
    font-size:clamp(2.35rem,3.15vw,3.35rem)!important;
    line-height:1.05!important;
    letter-spacing:-.045em!important;
  }
  .page-home .showcase-heading__action{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    gap:16px!important;
    padding:0!important;
  }
  .page-home .showcase-heading__action p{
    display:block!important;
    max-width:470px!important;
    margin:0!important;
    color:#c9dce4!important;
    font-size:.86rem!important;
    line-height:1.65!important;
  }
  .page-home .showcase-heading__action .button{
    min-height:44px!important;
    padding:0 17px!important;
    color:#fff!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.42)!important;
    border-radius:11px!important;
    font-size:.69rem!important;
    white-space:nowrap!important;
  }
  .page-home .showcase-heading__action .button:hover{
    color:#06324e!important;
    background:#fff!important;
    transform:translateY(-2px)!important;
  }
  .page-home .product-rail{
    display:grid!important;
    max-width:none!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:15px!important;
    margin:0!important;
  }
  .page-home .product-mini{
    display:flex!important;
    min-height:264px!important;
    flex-direction:column!important;
    padding:10px 10px 16px!important;
    overflow:hidden!important;
    background:rgba(255,255,255,.065)!important;
    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:15px!important;
    box-shadow:0 16px 34px rgba(0,0,0,.12)!important;
  }
  .page-home .product-mini:hover{
    background:rgba(255,255,255,.105)!important;
    border-color:rgba(103,229,232,.5)!important;
    transform:translateY(-5px)!important;
  }
  .page-home .product-mini__image{
    margin:0 0 14px!important;
    border:0!important;
    border-radius:10px!important;
    box-shadow:none!important;
  }
  .page-home .product-mini img{aspect-ratio:16/10!important}
  .page-home .product-mini small{margin:0 4px 7px!important;font-size:.57rem!important}
  .page-home .product-mini strong{
    min-height:0!important;
    margin:0 4px!important;
    padding:0 28px 0 0!important;
    font-size:.84rem!important;
    line-height:1.42!important;
  }
  .page-home .product-arrow{right:15px!important;bottom:16px!important}
}

/* Newsroom masthead: use the full width with an intentional information card. */
.news-index-hero{
  padding:54px 0 50px!important;
  background:
    radial-gradient(circle at 83% 14%,rgba(20,179,188,.13),transparent 26%),
    linear-gradient(120deg,#f5f9fa 0%,#fff 66%,#edf7f8 100%)!important;
}
.news-index-hero:after{display:none!important}
.news-index-hero__inner{
  display:grid!important;
  max-width:none!important;
  grid-template-columns:minmax(0,1fr) 330px!important;
  align-items:center!important;
  gap:72px!important;
}
.news-index-hero__copy{max-width:840px!important;padding:0!important;border:0!important}
.news-index-hero .breadcrumb{margin-bottom:18px!important}
.news-index-hero h1{max-width:820px!important;margin:9px 0 14px!important;font-size:clamp(2.55rem,3.65vw,3.8rem)!important}
.news-index-hero p{max-width:740px!important}
.news-index-hero__panel{
  position:relative;
  overflow:hidden;
  padding:27px 28px;
  color:#d8e9ef;
  background:linear-gradient(140deg,#07334f,#08717b);
  border:1px solid rgba(255,255,255,.24);
  border-radius:18px;
  box-shadow:0 22px 50px rgba(4,43,67,.16);
}
.news-index-hero__panel:after{
  position:absolute;right:-48px;bottom:-63px;width:150px;height:150px;content:"";
  border:24px solid rgba(255,255,255,.075);border-radius:50%;pointer-events:none
}
.news-index-hero__panel>span{display:block;color:#a8cefa;font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.news-index-hero__panel>strong{display:block;margin:10px 0 8px;color:#fff;font-size:1.35rem;line-height:1.25}
.news-index-hero__panel>p{margin:0 0 19px!important;color:#d3e4ea!important;font-size:.78rem!important;line-height:1.55!important}
.news-index-hero__panel>a{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:.7rem;font-weight:850;text-transform:uppercase}
.news-index-hero__panel>a .ui-icon{width:15px;height:15px}
#news-feed{scroll-margin-top:104px}

/* Article page and image viewer: centred, proportional and visually stable. */
.news-article__header{padding:58px 0 46px!important;background:linear-gradient(180deg,#f7fafb,#fff)!important;border-bottom:1px solid #e1eaed}
.news-article__header-inner{max-width:980px!important}
.news-article__header h1{max-width:940px!important;font-size:clamp(2.45rem,4vw,4.15rem)!important;line-height:1.06!important}
.news-article__media{max-width:1120px!important;margin-top:34px!important;padding-inline:0!important}
.news-article__media img{display:block!important;width:100%!important;max-height:610px!important;aspect-ratio:16/9!important;object-fit:cover!important;border-radius:18px!important}
.news-article__body{padding-top:58px!important}
.news-article__layout{grid-template-columns:minmax(0,760px) 300px!important;gap:64px!important}

html.lightbox-open,html.lightbox-open body{overflow:hidden!important}
.media-lightbox{padding:24px!important;background:rgba(1,15,28,.18)!important}
.media-lightbox__backdrop{background:rgba(1,15,28,.91)!important;backdrop-filter:blur(8px)!important}
.media-lightbox__dialog{
  display:grid!important;
  width:min(1180px,calc(100vw - 88px))!important;
  height:min(790px,calc(100dvh - 54px))!important;
  max-height:none!important;
  grid-template-columns:50px minmax(0,1fr) 50px!important;
  align-items:center!important;
  padding:0!important;
}
.media-lightbox__dialog figure{
  position:relative!important;
  isolation:isolate;
  display:grid!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  overflow:hidden!important;
  background:#0b2638!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:18px!important;
}
.media-lightbox__dialog figure:before{
  position:absolute;z-index:-1;inset:-28px;content:"";
  background-image:linear-gradient(rgba(3,24,38,.52),rgba(3,24,38,.7)),var(--lightbox-image);
  background-position:center;background-size:cover;filter:blur(18px);transform:scale(1.08);opacity:.75
}
.media-lightbox__dialog figure img{
  position:relative;z-index:1;align-self:center;justify-self:center;
  width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100dvh - 122px)!important;
  margin:auto!important;padding:14px!important;object-fit:contain!important;background:transparent!important
}
.media-lightbox__dialog figcaption{
  position:relative;z-index:2;min-height:44px!important;padding:12px 54px 12px 17px!important;
  color:#e2edf2!important;background:rgba(3,28,43,.88)!important;border-top:1px solid rgba(255,255,255,.12)!important;
  text-align:left!important
}
.media-lightbox__close{top:10px!important;right:60px!important;background:rgba(3,42,62,.9)!important}
.media-lightbox__nav{position:static!important;transform:none!important;justify-self:center!important;background:rgba(255,255,255,.1)!important}
.media-lightbox__nav--prev{grid-column:1!important}.media-lightbox__nav--next{grid-column:3!important}
.media-lightbox__dialog figure{grid-column:2!important}

/* Mobile header: visible social icons and a mathematically centred menu glyph. */
@media (max-width:700px){
  html{background:#07366d!important}
  .site-header{box-shadow:0 5px 20px rgba(4,42,66,.08)!important}
  .topbar{min-height:38px!important;background:linear-gradient(90deg,#073b57,#08747d)!important}
  .topbar__inner{min-height:38px!important}
  .topbar-socials{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
  .topbar-socials a{
    display:grid!important;width:29px!important;height:29px!important;place-items:center!important;
    color:#fff!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.18)!important;
    border-radius:8px!important;opacity:1!important
  }
  .topbar-socials .brand-icon{display:block!important;width:auto!important;height:auto!important;color:#fff!important;font-size:13px!important;opacity:1!important}
  .navbar{display:flex!important;min-height:70px!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
  .brand{width:145px!important;min-width:145px!important;flex:0 0 145px!important}
  .nav-actions{display:flex!important;min-width:42px!important;align-items:center!important;justify-content:flex-end!important;margin-left:auto!important}
  .mobile-toggle{
    display:flex!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;
    flex-direction:column!important;gap:5px!important;margin:0!important;padding:0!important;border:1px solid #d6e4e9!important;
    border-radius:12px!important;background:#f8fbfc!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:#0a4668!important;border-radius:999px!important;transform:none!important
  }
  .mobile-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  .mobile-toggle.open span:nth-child(2){opacity:0!important}
  .mobile-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}

  /* Home featured-product rail: compact, readable and visibly interactive. */
  .page-home .product-showcase{padding:46px 0 50px!important;background:linear-gradient(145deg,#04233d,#075a6d)!important}
  .page-home .product-showcase>.container{display:block!important;width:calc(100% - 30px)!important}
  .page-home .showcase-heading{display:block!important;margin:0 0 22px!important}
  .page-home .showcase-heading h2{max-width:100%!important;margin:0 0 16px!important;font-size:1.92rem!important;line-height:1.06!important}
  .page-home .showcase-heading__action{display:block!important;padding:0!important}
  .page-home .showcase-heading__action p{display:none!important}
  .page-home .showcase-heading__action .button{
    display:inline-flex!important;width:auto!important;min-height:42px!important;padding:0 15px!important;
    color:#fff!important;background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.5)!important;
    border-radius:10px!important
  }
  .page-home .product-rail{
    display:flex!important;gap:13px!important;overflow-x:auto!important;padding:0 1px 7px!important;
    scroll-snap-type:x mandatory!important;scroll-padding-left:1px!important;scrollbar-width:none!important
  }
  .page-home .product-rail::-webkit-scrollbar{display:none!important}
  .page-home .product-mini{
    min-width:calc(100vw - 54px)!important;flex:0 0 calc(100vw - 54px)!important;min-height:0!important;
    padding:10px 10px 17px!important;scroll-snap-align:start!important;background:rgba(255,255,255,.07)!important;
    border:1px solid rgba(255,255,255,.16)!important;border-radius:15px!important;box-shadow:0 15px 35px rgba(0,0,0,.14)!important
  }
  .page-home .product-mini__image{margin:0 0 14px!important;border:0!important;border-radius:10px!important}
  .page-home .product-mini img{aspect-ratio:16/9!important}
  .page-home .product-mini small{margin-left:3px!important;font-size:.57rem!important}
  .page-home .product-mini strong{margin-left:3px!important;padding-right:30px!important;font-size:.91rem!important}
  .page-home .product-arrow{right:15px!important;bottom:17px!important}

  /* Auto-running client logo rail on phones; duplicated markup makes it seamless. */
  .partners-section .logo-marquee{overflow:hidden!important;touch-action:pan-y!important}
  .partners-section .logo-track{
    animation:marquee 25s linear infinite!important;will-change:transform!important;overflow:visible!important
  }
  .partners-section .logo-marquee:active .logo-track{animation-play-state:running!important}

  /* News hero and article become compact, centred phone compositions. */
  .news-index-hero{padding:30px 0 29px!important}
  .news-index-hero__inner{display:block!important}
  .news-index-hero__copy{max-width:none!important}
  .news-index-hero h1{font-size:2.08rem!important;line-height:1.08!important}
  .news-index-hero__panel{display:none!important}
  .news-article__header{padding:31px 0 29px!important}
  .news-article__header h1{font-size:2.16rem!important;line-height:1.08!important}
  .news-article__dek{font-size:.94rem!important;line-height:1.6!important}
  .news-article__media{width:calc(100% - 24px)!important;margin-top:20px!important}
  .news-article__media img{max-height:none!important;aspect-ratio:16/10!important;border-radius:13px!important}
  .news-article__body{padding:38px 0 62px!important}
  .news-article__layout{display:block!important}
  .news-article__sidebar{margin-top:38px!important}

  /* Mobile viewer: framed portrait canvas, not a thin horizontal strip. */
  .media-lightbox{padding:7px!important}
  .media-lightbox__dialog{
    display:block!important;width:calc(100vw - 14px)!important;height:calc(100dvh - 14px)!important;
    max-height:none!important;padding:0!important
  }
  .media-lightbox__dialog figure{
    display:grid!important;width:100%!important;height:100%!important;max-height:none!important;
    grid-template-rows:minmax(0,1fr) auto!important;border-radius:15px!important
  }
  .media-lightbox__dialog figure img{
    width:100%!important;height:100%!important;max-width:100%!important;max-height:none!important;
    margin:0!important;padding:12px!important;object-fit:contain!important
  }
  .media-lightbox__dialog figcaption{min-height:44px!important;padding:11px 48px 11px 14px!important;font-size:.72rem!important}
  .media-lightbox__close{top:8px!important;right:8px!important;width:38px!important;height:38px!important}
  .media-lightbox__nav{position:absolute!important;top:50%!important;width:38px!important;height:48px!important;transform:translateY(-50%)!important}
  .media-lightbox__nav--prev{left:8px!important}.media-lightbox__nav--next{right:8px!important}

  /* Footer: all social icons stay on one clean row; no blank tail below it. */
  .footer{min-height:0!important;margin:0!important;padding:0!important;background:#07366d!important}
  .footer-mobile{padding:30px 0 18px!important}
  .footer-mobile__top{align-items:center!important;gap:12px!important}
  .footer-mobile__top .brand--footer{width:126px!important;flex:0 0 126px!important;padding:6px 8px!important}
  .footer-mobile__top .brand--footer img{height:35px!important}
  .footer-mobile__socials{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-end!important;gap:5px!important;min-width:0!important}
  .footer-mobile__socials a{width:29px!important;height:29px!important;flex:0 0 29px!important;border-radius:8px!important}
  .footer-bottom{min-height:0!important;padding:15px 0 calc(18px + env(safe-area-inset-bottom))!important;background:#07366d!important}
  body:after{display:none!important}

  /* Chat and back-to-top share one exact baseline. */
  .espro-chat{right:13px!important;bottom:13px!important}
  .scroll-nav,.espro-chat~.scroll-nav{right:75px!important;bottom:13px!important;display:block!important}
  .scroll-nav__button{width:46px!important;height:46px!important}
}

@media (max-width:360px){
  .footer-mobile__top{align-items:flex-start!important;flex-direction:column!important}
  .footer-mobile__socials{width:100%!important;justify-content:flex-start!important}
  .page-home .product-mini{min-width:calc(100vw - 46px)!important;flex-basis:calc(100vw - 46px)!important}
}

@media (prefers-reduced-motion:reduce){
  .partners-section .logo-track{animation-play-state:paused!important}
}

/* ========================================================================== 
   ES-PRO V26 — fixed mobile header, visible hero pagination and clean drawer
   ========================================================================== */

/* Keep the home carousel controls above the overlapping trust strip. */
.page-home .hero__dots{
  z-index:70!important;
  bottom:68px!important;
  align-items:center!important;
  gap:9px!important;
}
.page-home .hero__dots button{
  display:block!important;
  width:30px!important;
  height:4px!important;
  flex:0 0 30px!important;
  opacity:1!important;
  background:#a9bac5!important;
  border:0!important;
  border-radius:999px!important;
  box-shadow:none!important;
}
.page-home .hero__dots button.active{
  width:43px!important;
  flex-basis:43px!important;
  background:#078f99!important;
}

/* The floating back-to-top control is intentionally omitted on article pages;
   it previously sat over the lower-right corner of the lead photograph. */
.page-news-detail .scroll-nav{display:none!important}

@media (max-width:1050px){
  html{scroll-padding-top:72px!important}
  body{
    padding-top:72px!important;
  }
  body:has(.catalog-mobile-cta){
    padding-top:72px!important;
  }

  /* A true fixed white mobile header: no disappearing or collapsing on scroll. */
  .site-header,
  .site-header.scrolled{
    position:fixed!important;
    z-index:2000!important;
    inset:0 0 auto 0!important;
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    overflow:visible!important;
    background:#fff!important;
    transform:none!important;
    animation:none!important;
    box-shadow:0 8px 28px rgba(5,36,64,.12)!important;
  }
  .site-header .topbar,
  .site-header.scrolled .topbar{
    display:none!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  .nav-shell,
  .site-header.scrolled .nav-shell{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    overflow:visible!important;
    background:#fff!important;
    border-bottom:1px solid #e2eaee!important;
    box-shadow:none!important;
    animation:none!important;
  }
  .navbar,
  .site-header.scrolled .navbar{
    display:flex!important;
    height:72px!important;
    min-height:72px!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    padding-block:6px!important;
  }
  .brand,
  .site-header.scrolled .brand{
    width:150px!important;
    min-width:150px!important;
    height:54px!important;
    flex:0 0 150px!important;
    margin:0!important;
    overflow:visible!important;
  }
  .brand img,
  .site-header.scrolled .brand img{
    display:block!important;
    width:150px!important;
    max-width:150px!important;
    height:50px!important;
    max-height:50px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .nav-actions{
    display:flex!important;
    min-width:42px!important;
    align-items:center!important;
    justify-content:flex-end!important;
    margin-left:auto!important;
  }
  .search-toggle,.nav-quote{display:none!important}
  .mobile-toggle,
  .site-header.scrolled .mobile-toggle{
    position:relative!important;
    display:flex!important;
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    margin:0!important;
    padding:0!important;
    background:#f8fbfc!important;
    border:1px solid #d4e2e8!important;
    border-radius:12px!important;
    box-shadow:0 5px 15px rgba(6,40,71,.07)!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;
    display:block!important;
    width:20px!important;
    height:2px!important;
    margin:0!important;
    background:#0a4668!important;
    border-radius:999px!important;
    transform:none!important;
  }
  .mobile-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  .mobile-toggle.open span:nth-child(2){opacity:0!important}
  .mobile-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}

  /* Drawer and backdrop always begin directly below the fixed white bar. */
  .mobile-nav-backdrop,
  .site-header.scrolled .mobile-nav-backdrop{
    position:fixed!important;
    z-index:1980!important;
    inset:72px 0 0!important;
  }
  .mobile-nav,
  .site-header.scrolled .mobile-nav{
    position:fixed!important;
    z-index:1990!important;
    top:72px!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(420px,calc(100vw - 18px))!important;
    height:calc(100dvh - 72px)!important;
    max-height:calc(100dvh - 72px)!important;
    border-radius:18px 0 0 0!important;
  }

  /* Exactly one divider per primary mobile-menu row. */
  .mobile-nav__links>a{
    border:0!important;
    border-bottom:1px solid #e3ebef!important;
  }
  .mobile-catalog{
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid #e3ebef!important;
  }
  .mobile-catalog>summary,
  .mobile-catalog[open]>summary{
    min-height:52px!important;
    margin:0!important;
    padding:0 4px!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .mobile-catalog>summary:before,
  .mobile-catalog>summary:after{display:none!important}
  .mobile-catalog>summary>a{
    display:flex!important;
    min-height:52px!important;
    align-items:center!important;
    padding:0!important;
    color:#102f47!important;
    font-size:.88rem!important;
    font-weight:850!important;
  }
  .mobile-catalog>summary>span{
    width:31px!important;
    height:31px!important;
    flex:0 0 31px!important;
    color:#0b4c9c!important;
    background:#eaf2fb!important;
    border:0!important;
    border-radius:9px!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .mobile-catalog[open]>summary>span{
    color:#fff!important;
    background:#1e6db9!important;
  }
  .mobile-catalog>div{
    margin:0!important;
    padding:7px 0 13px 10px!important;
    border:0!important;
  }
}

@media (max-width:700px){
  body{padding-top:70px!important}
  body:has(.catalog-mobile-cta){padding-top:70px!important}
  .site-header,.site-header.scrolled,
  .nav-shell,.site-header.scrolled .nav-shell,
  .navbar,.site-header.scrolled .navbar{
    height:70px!important;
    min-height:70px!important;
  }
  .brand,.site-header.scrolled .brand{
    width:145px!important;
    min-width:145px!important;
    flex-basis:145px!important;
  }
  .brand img,.site-header.scrolled .brand img{
    width:145px!important;
    max-width:145px!important;
    height:48px!important;
    max-height:48px!important;
  }
  .mobile-nav-backdrop,.site-header.scrolled .mobile-nav-backdrop{inset:70px 0 0!important}
  .mobile-nav,.site-header.scrolled .mobile-nav{
    top:70px!important;
    height:calc(100dvh - 70px)!important;
    max-height:calc(100dvh - 70px)!important;
  }

  /* Phone pagination sits in the dedicated breathing room below the actions. */
  .page-home .hero__dots{
    z-index:80!important;
    bottom:20px!important;
  }
  .page-home .hero__dots button{
    width:29px!important;
    flex-basis:29px!important;
  }
  .page-home .hero__dots button.active{
    width:41px!important;
    flex-basis:41px!important;
  }
}


/* ========================================================================== 
   ES-PRO V27 — premium mobile proportions, reliable autoplay and i18n polish
   ========================================================================== */
.hero__slide{pointer-events:none;transition:opacity .62s ease,visibility .62s ease!important}
.hero__slide.active{pointer-events:auto}
.page-home .hero__dots button{position:relative;overflow:hidden}
.page-home .hero__dots button.active:after{
  position:absolute;inset:0;content:"";background:#078f99;border-radius:inherit;
  transform:scaleX(0);transform-origin:left center
}
.page-home .hero.is-playing .hero__dots button.active:after{
  animation:v27HeroProgress var(--hero-autoplay-duration,4800ms) linear forwards
}
@keyframes v27HeroProgress{to{transform:scaleX(1)}}

/* Force the duplicated logo strip to animate on phones as it does on desktop.
   This selector deliberately matches the earlier high-specificity rollback. */
.page-home .partners-section .logo-marquee{
  overflow:hidden!important;touch-action:pan-y!important;scrollbar-width:none!important
}
.page-home .partners-section .logo-marquee::-webkit-scrollbar{display:none!important}
.page-home .partners-section .logo-track{
  width:max-content!important;overflow:visible!important;
  animation:v27LogoMarquee 22s linear infinite!important;
  animation-play-state:running!important;will-change:transform!important
}
.page-home .partners-section .logo-marquee:hover .logo-track{animation-play-state:paused!important}
@keyframes v27LogoMarquee{to{transform:translate3d(calc(-50% - 6px),0,0)}}

@media(max-width:760px){
  /* Product landing masthead: shorter, clearer, and purpose-built for phones. */
  .page-products .product-index-hero,
  .page-products .product-index-hero__content{
    min-height:520px!important;
  }
  .page-products .product-index-hero__media img{
    object-position:68% 18%!important;
  }
  .page-products .product-index-hero__media>div{
    background:linear-gradient(180deg,rgba(248,251,252,.18) 0%,rgba(248,251,252,.62) 25%,rgba(248,251,252,.97) 52%,#f8fbfc 100%)!important;
  }
  .page-products .product-index-hero__content{
    width:calc(100% - 32px)!important;max-width:none!important;
    justify-content:flex-end!important;padding:84px 0 28px!important;padding-right:0!important;
  }
  .page-products .product-index-hero__content .breadcrumb{margin-bottom:10px!important;font-size:.66rem!important}
  .page-products .product-index-hero__content .eyebrow{margin-bottom:7px!important;font-size:.61rem!important}
  .page-products .product-index-hero__content h1{
    max-width:350px!important;margin:0 0 11px!important;font-size:2.04rem!important;
    line-height:1.04!important;letter-spacing:-.04em!important
  }
  .page-products .product-index-hero__content p{
    max-width:355px!important;margin:0 0 14px!important;font-size:.82rem!important;line-height:1.54!important
  }
  .page-products .product-index-hero__content>div{max-width:355px!important;gap:7px!important}
  .page-products .product-index-hero__content .button{
    min-height:41px!important;padding:9px 13px!important;font-size:.62rem!important;border-radius:8px!important
  }

  /* Featured products: reduce the tall wall effect while keeping a premium
     one-card focus and a small preview of the following item. */
  .page-home .product-showcase{padding:40px 0 43px!important}
  .page-home .product-showcase>.container{width:calc(100% - 30px)!important}
  .page-home .showcase-heading{margin-bottom:17px!important}
  .page-home .showcase-heading .eyebrow{margin-bottom:8px!important}
  .page-home .showcase-heading h2{
    max-width:345px!important;margin-bottom:13px!important;font-size:1.78rem!important;line-height:1.07!important
  }
  .page-home .showcase-heading__action .button{
    min-height:40px!important;padding:0 14px!important;font-size:.61rem!important
  }
  .page-home .product-rail{gap:11px!important;padding-bottom:3px!important}
  .page-home .product-mini{
    min-width:calc(100vw - 62px)!important;flex-basis:calc(100vw - 62px)!important;
    padding:9px 9px 14px!important;border-radius:14px!important
  }
  .page-home .product-mini__image{margin-bottom:11px!important;border-radius:9px!important}
  .page-home .product-mini img{aspect-ratio:16/8.7!important}
  .page-home .product-mini small{margin-bottom:5px!important;font-size:.55rem!important}
  .page-home .product-mini strong{font-size:.86rem!important;line-height:1.32!important}
  .page-home .product-arrow{right:13px!important;bottom:14px!important}

  /* Partner logos continuously move; no manual scrollbar or stationary rail. */
  .page-home .partners-section{overflow:hidden!important}
  .page-home .partners-section .logo-marquee{padding:4px 0 12px!important}
  .page-home .partners-section .logo-track{gap:10px!important;animation-duration:18s!important}
  .page-home .partners-section .logo-tile{
    width:142px!important;height:78px!important;flex-basis:142px!important;padding:13px!important;
    border-radius:12px!important;box-shadow:0 8px 22px rgba(6,40,71,.06)!important
  }
  .page-home .partners-section .logo-tile img{max-width:111px!important;max-height:48px!important}

  /* Footer legal copy no longer touches the viewport edge or floating tools. */
  .footer-bottom.container{
    width:calc(100% - 32px)!important;max-width:none!important;margin-inline:16px!important;
    padding:16px 74px calc(20px + env(safe-area-inset-bottom)) 0!important;gap:7px!important
  }
  .footer-bottom p{max-width:100%!important;font-size:.67rem!important;line-height:1.55!important}
  .footer-bottom p:last-child{display:flex!important;flex-wrap:wrap!important;gap:5px 9px!important}
}

@media(max-width:420px){
  .page-products .product-index-hero,.page-products .product-index-hero__content{min-height:500px!important}
  .page-products .product-index-hero__content{padding-top:78px!important;padding-bottom:24px!important}
  .page-products .product-index-hero__content h1{font-size:1.92rem!important}
  .page-home .product-mini{min-width:calc(100vw - 54px)!important;flex-basis:calc(100vw - 54px)!important}
}

/* Users asking for reduced motion still receive a slow, non-distracting logo
   movement so the strip does not appear broken or stationary. */
@media(prefers-reduced-motion:reduce){
  .page-home .partners-section .logo-track{animation:v27LogoMarquee 52s linear infinite!important}
  .page-home .hero.is-playing .hero__dots button.active:after{animation:none!important;transform:scaleX(1)!important}
}

/* ========================================================================== 
   ES-PRO V28 — adaptive desktop scale, managed partner logos and services
   ========================================================================== */
:root{
  --container:min(var(--v28-container-max,1320px),calc(100% - var(--v28-gutter,80px)));
}
body{font-size:var(--v28-body-font,16px)}

/* Desktop viewport/zoom compensation. This keeps the composition readable
   when a browser is zoomed out or reports an ultra-wide CSS viewport. */
@media (min-width:1051px){
  .topbar__inner{min-height:var(--v28-topbar,38px)!important}
  .navbar{min-height:var(--v28-navbar,92px)!important}
  .brand{width:var(--v28-brand-width,190px)!important;flex-basis:var(--v28-brand-width,190px)!important}
  .brand img{height:var(--v28-brand-height,64px)!important}
  .desktop-nav>a,.desktop-nav>.nav-item>a{min-height:var(--v28-navbar,92px)!important}
  .nav-quote,.button{min-height:var(--v28-button-height,50px)}
  .page-home .hero{min-height:var(--v28-hero-height,585px)!important}
}

/* Services dropdown */
.nav-chevron{width:12px;height:12px;margin-left:2px;transition:transform .22s ease}
.has-service-menu:hover>a .nav-chevron,.has-service-menu:focus-within>a .nav-chevron{transform:rotate(180deg)}
.service-mega{
  position:absolute;z-index:90;top:calc(100% - 1px);left:50%;display:grid;
  width:min(760px,calc(100vw - 40px));grid-template-columns:280px minmax(0,1fr);
  overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:0 0 16px 16px;
  box-shadow:0 30px 70px rgba(4,30,54,.18);opacity:0;visibility:hidden;
  transform:translate(-46%,-8px);transition:.24s ease;pointer-events:none
}
.has-service-menu:hover .service-mega,.has-service-menu:focus-within .service-mega{
  opacity:1;visibility:visible;transform:translate(-46%,0);pointer-events:auto
}
.service-mega__intro{padding:30px;color:#d8e8ef;background:linear-gradient(145deg,#052b49,#08707d)}
.service-mega__intro>span{display:block;margin-bottom:10px;color:#77e4e7;font-size:.64rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.service-mega__intro strong{display:block;margin-bottom:12px;color:#fff;font-size:1.25rem;line-height:1.25}
.service-mega__intro p{margin:0 0 22px;color:#cfe1e7;font-size:.78rem;line-height:1.65}
.service-mega__intro a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:.68rem;font-weight:850;text-transform:uppercase}
.service-mega__intro a .ui-icon{width:15px;height:15px}
.service-mega>nav{display:flex;flex-direction:column;padding:12px}
.service-mega>nav>a{display:grid;min-height:78px;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:13px;padding:11px 12px;border-bottom:1px solid #e9eff2;border-radius:10px}
.service-mega>nav>a:last-child{border-bottom:0}
.service-mega>nav>a:hover{background:#f2f8f9}
.service-mega__icon{display:grid;width:40px;height:40px;place-items:center;color:#0b4c9c;background:#e8f6f6;border-radius:11px}
.service-mega__icon .ui-icon{width:20px;height:20px}
.service-mega>nav>a strong{display:block;color:#0a2b45;font-size:.82rem;line-height:1.3}
.service-mega>nav>a small{display:block;margin-top:4px;color:#6f8290;font-size:.66rem;line-height:1.42}
.service-mega>nav>a>i{color:#286fbd;font-style:normal;font-weight:900}

/* Mobile services submenu mirrors the clean product-menu interaction. */
.mobile-services{margin:0;padding:0;border:0;border-bottom:1px solid #e3ebef}
.mobile-services>summary{display:flex;min-height:52px;align-items:center;justify-content:space-between;padding:0 4px;list-style:none}
.mobile-services>summary::-webkit-details-marker{display:none}
.mobile-services>summary>a{display:flex;min-height:52px;flex:1;align-items:center;color:#102f47;font-size:.88rem;font-weight:850}
.mobile-services>summary>span{display:grid;width:31px;height:31px;place-items:center;color:#0b4c9c;background:#eaf2fb;border-radius:9px;font-weight:900}
.mobile-services[open]>summary>span{color:#fff;background:#1e6db9;transform:rotate(45deg)}
.mobile-services>div{display:grid;gap:5px;padding:4px 0 13px 10px}
.mobile-services>div>a{display:flex;min-height:45px;align-items:center;gap:10px;padding:8px 10px;color:#29465d;background:#f7fafb;border-radius:9px;font-size:.78rem;font-weight:750}
.mobile-services>div>a:hover{color:#0b4c9c;background:#eaf6f6}
.mobile-services>div>a>span{display:grid;width:29px;height:29px;place-items:center;color:#0b4c9c;background:#fff;border:1px solid #dce8ec;border-radius:8px}
.mobile-services>div>a .ui-icon{width:15px;height:15px}

/* Partner logos: full-colour, no opacity/filter, and consistent visual size. */
.partners-section{overflow:hidden}
.logo-tile{display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important}
.logo-tile>a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.logo-tile img{
  width:auto!important;height:auto!important;max-width:150px!important;max-height:62px!important;
  opacity:1!important;filter:none!important;mix-blend-mode:normal!important;
  object-fit:contain!important;image-rendering:auto!important;transform:translateZ(0)
}
.page-home .partners-section .logo-track{animation-duration:38s!important}

/* Preserve the same desktop composition on common laptop, desktop and 4K widths. */
@media (min-width:1450px) and (max-width:2399px){
  :root{--container:min(var(--v28-container-max,1440px),calc(100% - 7vw))}
  .page-home .hero__content{max-width:none}
  .page-home .hero__content p{max-width:680px}
}
@media (min-width:2400px){
  :root{--container:min(var(--v28-container-max,2100px),calc(100% - 10vw))}
  .desktop-nav{gap:clamp(22px,1.2vw,42px)}
  .desktop-nav>a,.desktop-nav>.nav-item>a{font-size:.74rem}
  .page-home .hero__content p{max-width:900px;font-size:1.06rem}
  .page-home .trust-strip-wrap>.container{width:var(--container)!important}
  .page-home .product-showcase>.container{width:var(--container)!important;grid-template-columns:320px minmax(0,1fr)!important}
  .page-home .showcase-heading{max-width:320px!important}
  .page-home .showcase-heading h2{max-width:310px!important;font-size:2.4rem!important}
}

@media (max-width:1050px){
  .service-mega{display:none!important}
}
@media (max-width:760px){
  .page-home .partners-section .logo-track{animation-duration:28s!important}
  .page-home .partners-section .logo-tile{width:150px!important;height:82px!important;flex-basis:150px!important;padding:12px!important}
  .page-home .partners-section .logo-tile img{max-width:122px!important;max-height:54px!important}
}

/* ========================================================================== 
   ES-PRO V28.1 — viewport consistency and animated industry directory
   ========================================================================== */
html{font-size:var(--v28-root-font,16px)}
html,body{max-width:100%;overflow-x:clip}

/* The desktop browser-zoom compensation is intentionally driven by the
   variables written before first paint in <head>. Scaling the root font keeps
   all rem-based typography and spacing proportional instead of enlarging only
   the outer shell. */
html[data-viewport-compensated="true"] body{min-width:0}
html[data-viewport-compensated="true"] .container,
html[data-viewport-compensated="true"] .navbar,
html[data-viewport-compensated="true"] .topbar__inner{max-width:none}

/* Continuous industry rail. The content is duplicated in the markup so the
   animation loops without a blank gap. */
.industries-section--marquee,.industry-directory{overflow:hidden}
.industry-marquee{
  width:100%;overflow:hidden;padding:4px 0 12px;touch-action:pan-y;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)
}
.industry-marquee__track{
  display:flex;width:max-content;gap:18px;padding-inline:18px;
  animation:v28IndustryRail 54s linear infinite;will-change:transform
}
@keyframes v28IndustryRail{to{transform:translate3d(calc(-50% - 9px),0,0)}}
@media(hover:hover){.industry-marquee:hover .industry-marquee__track{animation-play-state:paused}}

.industry-marquee .industry-card{
  position:relative;display:flex;width:330px;min-width:330px;min-height:390px;flex:0 0 330px;
  flex-direction:column;overflow:hidden;background:#072e4a;border:1px solid rgba(111,212,218,.24);
  border-radius:18px;box-shadow:0 18px 45px rgba(5,37,60,.12);isolation:isolate
}
.industry-marquee .industry-card:after{
  position:absolute;inset:0;z-index:-1;content:"";
  background:linear-gradient(180deg,transparent 34%,rgba(3,28,48,.12) 48%,rgba(3,28,48,.98) 100%)
}
.industry-marquee .industry-card>img{
  width:100%;height:205px;flex:0 0 205px;object-fit:cover;transition:transform .5s ease
}
.industry-marquee .industry-card:hover>img{transform:scale(1.035)}
.industry-marquee .industry-card>div{display:flex;min-height:185px;flex:1;flex-direction:column;padding:23px 24px 22px}
.industry-marquee .industry-card h3,.industry-marquee .industry-card h2{
  margin:0 0 9px;color:#fff;font-size:1.2rem;line-height:1.22;letter-spacing:-.025em
}
.industry-marquee .industry-card p{margin:0 0 19px;color:#c8dbe4;font-size:.82rem;line-height:1.58}
.industry-marquee .industry-card a{display:inline-flex;align-items:center;gap:7px;margin-top:auto;color:#6de1e5;font-size:.7rem;font-weight:850;text-transform:uppercase}

.industry-directory{padding-bottom:72px}
.industry-directory>.section-heading{margin-bottom:28px}
.industry-marquee--directory{padding-bottom:24px}
.industry-marquee--directory .industry-marquee__track{animation-duration:62s}
.industry-marquee .industry-card--directory{width:365px;min-width:365px;flex-basis:365px;min-height:430px;background:#fff;border-color:#d8e5e9;box-shadow:0 16px 42px rgba(5,37,60,.09)}
.industry-marquee .industry-card--directory:after{display:none}
.industry-card--directory>span{
  position:absolute;z-index:3;top:16px;left:16px;display:grid;width:40px;height:40px;place-items:center;
  color:#fff;background:rgba(5,42,68,.88);border:1px solid rgba(255,255,255,.25);border-radius:12px;
  backdrop-filter:blur(8px);font-size:.72rem;font-weight:900
}
.industry-marquee .industry-card--directory>img{height:215px;flex-basis:215px}
.industry-marquee .industry-card--directory>div{min-height:215px;padding:23px 24px 24px}
.industry-marquee .industry-card--directory h2{color:#082f4b;font-size:1.2rem}
.industry-marquee .industry-card--directory p{color:#617786}
.industry-marquee .industry-card--directory a{color:#1e6db9}

/* Keep the partner rail moving on every device and prevent accidental manual
   horizontal scrollbars from appearing below it. */
.logo-marquee{overflow:hidden!important;touch-action:pan-y!important;scrollbar-width:none!important}
.logo-marquee::-webkit-scrollbar{display:none!important}
.logo-track{width:max-content!important;overflow:visible!important;will-change:transform!important}

@media(max-width:1050px){
  html{font-size:16px}
  .industry-marquee{margin-top:2px;-webkit-mask-image:none;mask-image:none}
  .industry-marquee__track{gap:13px;padding-inline:16px;animation-duration:43s}
  .industry-marquee .industry-card{width:292px;min-width:292px;flex-basis:292px;min-height:365px;border-radius:15px}
  .industry-marquee .industry-card>img{height:180px;flex-basis:180px}
  .industry-marquee .industry-card>div{min-height:185px;padding:20px 20px 19px}
  .industry-marquee .industry-card h3,.industry-marquee .industry-card h2{font-size:1.08rem}
  .industry-marquee .industry-card p{font-size:.78rem}
  .industry-marquee .industry-card--directory{width:315px;min-width:315px;flex-basis:315px;min-height:395px}
  .industry-marquee .industry-card--directory>img{height:185px;flex-basis:185px}
  .industry-marquee .industry-card--directory>div{min-height:210px}
}
@media(max-width:600px){
  .industries-section--marquee{padding-bottom:48px!important}
  .industries-section--marquee .section-heading{margin-bottom:17px!important}
  .industry-marquee__track{gap:11px;padding-inline:14px;animation-duration:38s}
  .industry-marquee .industry-card{width:78vw;min-width:78vw;flex-basis:78vw;min-height:350px}
  .industry-marquee .industry-card>img{height:175px;flex-basis:175px}
  .industry-marquee .industry-card>div{min-height:175px;padding:18px}
  .industry-directory{padding-bottom:52px}
  .industry-directory>.section-heading{margin-bottom:18px}
  .industry-marquee .industry-card--directory{width:82vw;min-width:82vw;flex-basis:82vw;min-height:390px}
  .industry-marquee .industry-card--directory>img{height:180px;flex-basis:180px}
  .industry-marquee .industry-card--directory>div{min-height:210px}
}
@media(prefers-reduced-motion:reduce){
  .industry-marquee__track{animation:v28IndustryRail 90s linear infinite!important}
}


/* ========================================================================== 
   ES-PRO V29.1 — banner consistency, lighter overlays and logo cleanup
   ========================================================================== */
:root{--container:min(1320px,calc(100% - 80px));--v28-root-font:16px;--v28-body-font:16px}
html{font-size:16px!important}
body{font-size:16px!important}
@media (min-width:1051px){
  .topbar__inner{min-height:38px!important}
  .navbar{min-height:92px!important}
  .brand{width:190px!important;flex-basis:190px!important}
  .brand img{height:64px!important;width:auto!important}
}
.page-home .hero{min-height:clamp(520px,72vh,680px)!important;max-height:680px;overflow:hidden}
.hero__slide,.hero__slide>img{height:100%}
.hero__slide>img,.page-hero>img,.service-card__media img{width:100%;height:100%;object-fit:cover}
.hero__veil{background:linear-gradient(90deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.58) 24%,rgba(255,255,255,.16) 52%,rgba(255,255,255,0) 72%)!important}
.page-home .hero__content{position:relative;z-index:2}
.page-hero.page-hero--image{min-height:420px;max-height:520px;overflow:hidden}
.page-hero .page-overlay{background:linear-gradient(90deg,rgba(5,37,60,.74) 0%,rgba(5,37,60,.56) 34%,rgba(5,37,60,.18) 68%,rgba(5,37,60,0) 100%)!important}
.logo-tile{pointer-events:none!important}
.logo-tile img{width:auto!important;height:auto!important;max-width:170px!important;max-height:68px!important;opacity:1!important;filter:none!important;image-rendering:auto!important;mix-blend-mode:normal!important}
.logo-tile a{pointer-events:none!important}
.logo-track{align-items:center}
@media (max-width:1050px){
  :root{--container:min(100%,calc(100% - 32px))}
  .page-home .hero{min-height:460px!important;max-height:none}
  .hero__veil{background:linear-gradient(180deg,rgba(255,255,255,.48) 0%,rgba(255,255,255,.26) 30%,rgba(255,255,255,.08) 52%,rgba(255,255,255,0) 78%)!important}
  .page-home .hero__content{padding-top:34px!important;padding-bottom:34px!important}
  .page-home .hero__title{max-width:min(92vw,560px)}
  .topbar__inner{gap:8px}
}
@media (max-width:760px){
  .page-home .hero{min-height:420px!important}
  .page-home .hero__content p{max-width:92vw}
  .page-home .partners-section .logo-tile{width:158px!important;height:86px!important;flex-basis:158px!important}
  .page-home .partners-section .logo-tile img{max-width:126px!important;max-height:56px!important}
}

/* ========================================================================== 
   ES-PRO V30 — fixed hero composition and clean responsive focal cropping
   ========================================================================== */
.page-home .hero{
  position:relative!important;
  height:clamp(560px,calc(100vh - 128px),680px)!important;
  min-height:560px!important;
  max-height:680px!important;
  overflow:hidden!important;
  background:#e9f0f3!important;
}
.page-home .hero__slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important}
.page-home .hero__slide>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important}
.page-home .hero__veil{
  position:absolute!important;inset:0!important;
  background:linear-gradient(90deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.12) 30%,rgba(255,255,255,.02) 54%,rgba(3,29,52,.08) 100%)!important;
}
.page-home .hero__content{
  position:absolute!important;z-index:3!important;top:50%!important;right:0!important;left:0!important;
  display:block!important;padding-top:0!important;padding-bottom:62px!important;
  transform:translateY(-50%)!important;
}
.page-home .hero__copy{
  position:relative;max-width:690px;padding:28px 34px 31px;
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.55));
  border:1px solid rgba(255,255,255,.72);border-radius:19px;
  box-shadow:0 20px 58px rgba(5,38,61,.13);backdrop-filter:blur(5px);
}
.page-home .hero__copy .eyebrow{margin-bottom:12px}
.page-home .hero__content h1,.page-home .hero__content .hero-title{
  max-width:620px!important;margin-bottom:17px!important;font-size:clamp(3rem,4.7vw,4.65rem)!important;
  line-height:1.01!important;letter-spacing:-.055em!important;color:#062b49!important;
}
.page-home .hero__content p{max-width:590px!important;margin-bottom:25px!important;color:#36566b!important;font-size:1rem!important;line-height:1.62!important}
.page-home .hero__dots{bottom:62px!important;z-index:8!important}
.page-home .trust-strip-wrap{position:relative!important;z-index:20!important;min-height:48px!important;background:linear-gradient(180deg,transparent 0,transparent 40%,#fff 41%)!important}
.page-home .trust-strip{min-height:94px!important;margin-top:-48px!important}
.page-home .intro-section{padding-top:72px!important}

/* Inner banners also crop to a fixed frame instead of growing with uploaded images. */
.page-hero.page-hero--image{height:clamp(360px,38vw,500px)!important;min-height:360px!important;max-height:500px!important;overflow:hidden!important}
.page-hero.page-hero--image>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important}
.page-hero.page-hero--image .page-overlay{background:linear-gradient(90deg,rgba(4,33,55,.76),rgba(4,33,55,.48) 42%,rgba(4,33,55,.08) 74%,transparent)!important}
.page-hero.page-hero--image .page-content{min-height:100%!important}

/* Partner marks are display-only and remain crisp/full-colour. */
.logo-tile,.logo-tile *{pointer-events:none!important;cursor:default!important}
.logo-tile img{opacity:1!important;filter:none!important;mix-blend-mode:normal!important;image-rendering:auto!important}

@media(max-width:1050px){
  .page-home .hero{height:620px!important;min-height:620px!important;max-height:620px!important}
  .page-home .hero__content{top:auto!important;bottom:0!important;padding:0 0 52px!important;transform:none!important}
  .page-home .hero__copy{max-width:600px;padding:24px 26px 26px;background:rgba(255,255,255,.82);border-radius:18px;backdrop-filter:blur(8px)}
  .page-home .hero__content h1,.page-home .hero__content .hero-title{font-size:clamp(2.45rem,7vw,3.45rem)!important}
  .page-home .hero__veil{background:linear-gradient(180deg,rgba(4,31,52,.02),rgba(4,31,52,.08) 52%,rgba(255,255,255,.16) 100%)!important}
  .page-home .hero__dots{bottom:26px!important}
  .page-home .trust-strip{margin-top:0!important}
  .page-home .trust-strip-wrap{background:#fff!important;padding-top:12px!important}
}
@media(max-width:760px){
  .page-home .hero{height:600px!important;min-height:600px!important;max-height:600px!important}
  .page-home .hero__content{padding:0 16px 48px!important}
  .page-home .hero__copy{width:100%;max-width:none;padding:20px 19px 21px;border-radius:17px}
  .page-home .hero__content h1,.page-home .hero__content .hero-title{font-size:clamp(2.15rem,10.2vw,2.85rem)!important;line-height:1.03!important}
  .page-home .hero__content p{margin-bottom:18px!important;font-size:.92rem!important;line-height:1.52!important}
  .page-home .hero__actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .page-home .hero__actions .button{width:100%!important}
  .page-home .hero__dots{bottom:18px!important}
  .page-hero.page-hero--image{height:430px!important;min-height:430px!important;max-height:430px!important}
  .page-hero.page-hero--image .page-overlay{background:linear-gradient(180deg,rgba(4,33,55,.24),rgba(4,33,55,.76) 62%,rgba(4,33,55,.9))!important}
}
@media(max-width:420px){
  .page-home .hero{height:570px!important;min-height:570px!important;max-height:570px!important}
  .page-home .hero__content h1,.page-home .hero__content .hero-title{font-size:2.18rem!important}
}

/* ========================================================================== 
   ES-PRO V48 — stable professional layout rebuilt from V30
   ========================================================================== */
:root{
  --site-gutter:clamp(22px,4.8vw,78px);
  --container:min(1400px,calc(100% - (var(--site-gutter) * 2)));
}
html,body{max-width:100%;overflow-x:clip}
body{font-family:Inter,"Segoe UI",Arial,sans-serif!important}
.container,.navbar,.topbar__inner{width:var(--container)!important;max-width:none!important;margin-inline:auto!important}

/* Header / navigation */
.topbar__inner{min-height:38px!important}
.navbar{display:grid!important;min-height:90px!important;grid-template-columns:210px minmax(0,1fr) auto!important;align-items:center!important;gap:30px!important}
.brand{width:200px!important;flex-basis:200px!important}
.brand img{width:auto!important;height:62px!important;max-width:100%!important;object-fit:contain!important}
.desktop-nav{display:flex!important;min-width:0!important;align-items:center!important;justify-content:center!important;gap:clamp(22px,2vw,38px)!important}
.desktop-nav>a,.desktop-nav>.nav-item>a{min-height:90px!important;color:#102f49!important;font-size:.86rem!important;font-weight:760!important;letter-spacing:0!important;text-transform:none!important}
.desktop-nav>.nav-item>a .ui-icon,.desktop-nav>.nav-item>a::after{display:none!important}
.desktop-nav>a::after,.desktop-nav>.nav-item>a::before{right:50%!important;bottom:14px!important;left:50%!important;width:0!important;height:2px!important;background:#0aa4ad!important;transform:none!important;transition:left .2s,right .2s,width .2s!important}
.desktop-nav>a:hover::after,.desktop-nav>a.active::after,.desktop-nav>.nav-item:hover>a::before,.desktop-nav>.nav-item>a.active::before{right:20%!important;left:20%!important;width:auto!important}
.nav-actions{gap:16px!important}
.nav-quote{min-width:184px!important;justify-content:center!important}

/* Home hero — dark readable content zone, no white/glass block */
.page-home .hero{height:620px!important;min-height:620px!important;max-height:620px!important;background:#06233c!important;isolation:isolate!important}
.page-home .hero__slide,.page-home .hero__slide>img{height:100%!important}
.page-home .hero__slide>img{object-fit:cover!important;object-position:64% center!important}
.page-home .hero__veil{
  background:linear-gradient(90deg,rgba(2,25,47,.96) 0%,rgba(3,34,61,.90) 24%,rgba(3,40,68,.69) 43%,rgba(2,29,51,.26) 62%,rgba(2,25,45,.02) 78%)!important;
}
.page-home .hero__content.container{position:absolute!important;top:50%!important;right:auto!important;left:50%!important;width:var(--container)!important;padding:0!important;transform:translate(-50%,-50%)!important}
.page-home .hero__copy{width:min(650px,49%)!important;max-width:650px!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.page-home .hero__copy .eyebrow{margin-bottom:17px!important;color:#53e2e8!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:650px!important;margin:0 0 20px!important;color:#fff!important;font-size:clamp(3rem,4.2vw,4.55rem)!important;font-weight:760!important;line-height:1.03!important;letter-spacing:-.047em!important;text-wrap:balance!important;word-break:normal!important;overflow-wrap:normal!important;writing-mode:horizontal-tb!important;text-shadow:0 6px 28px rgba(0,0,0,.22)!important;
}
.page-home .hero__content p{max-width:610px!important;margin:0 0 27px!important;color:#e1edf2!important;font-size:1rem!important;line-height:1.65!important;text-shadow:0 2px 14px rgba(0,0,0,.25)!important}
.page-home .hero__actions{display:flex!important;flex-wrap:wrap!important;gap:14px!important}
.page-home .hero__actions .button{width:auto!important;min-width:202px!important;height:54px!important;justify-content:center!important}
.page-home .hero__actions .button--outline{color:#fff!important;background:rgba(4,34,60,.32)!important;border-color:rgba(255,255,255,.56)!important;backdrop-filter:blur(5px)!important}
.hero-benefits{display:grid!important;max-width:650px!important;margin-top:28px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important}
.hero-benefits>div{display:grid!important;min-width:0!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:0 17px!important;border-left:1px solid rgba(255,255,255,.25)!important}
.hero-benefits>div:first-child{padding-left:0!important;border-left:0!important}
.hero-benefits>div>span{display:grid!important;width:38px!important;height:38px!important;place-items:center!important;color:#8fc1ff!important}
.hero-benefits .ui-icon{width:30px!important;height:30px!important}
.hero-benefits p{display:flex!important;min-width:0!important;margin:0!important;flex-direction:column!important;color:#fff!important;line-height:1.25!important}
.hero-benefits strong{display:block!important;color:#fff!important;font-size:.76rem!important;font-weight:760!important}
.hero-benefits small{display:block!important;margin-top:4px!important;color:#c7dce4!important;font-size:.61rem!important;line-height:1.35!important}
.page-home .hero__dots{bottom:26px!important}
.page-home .hero__dots button{background:rgba(255,255,255,.64)!important}
.page-home .hero__dots button.active{background:#8fc1ff!important}

/* Floating statistics */
.page-home .trust-strip-wrap{z-index:30!important;min-height:58px!important;background:linear-gradient(180deg,transparent 0,transparent 45%,#fff 46%)!important}
.page-home .trust-strip{min-height:104px!important;margin-top:-52px!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;border-radius:18px!important;box-shadow:0 22px 58px rgba(3,34,59,.15)!important}
.trust-strip__item{min-width:0!important;justify-content:flex-start!important;gap:14px!important;padding:20px 24px!important}
.trust-strip__icon{display:grid!important;width:48px!important;height:48px!important;flex:0 0 48px!important;place-items:center!important;color:#079ba7!important;background:#e9f8f9!important;border-radius:14px!important}
.trust-strip__icon .ui-icon{display:block!important;width:24px!important;height:24px!important;margin:auto!important}
.trust-strip__item strong{font-size:1rem!important}
.trust-strip__item div>span{font-size:.62rem!important;line-height:1.35!important}

/* Service cards */
.services-section{overflow:hidden!important}
.service-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}
.service-card{min-width:0!important;min-height:0!important;overflow:hidden!important;padding:0!important;background:#fff!important;border:1px solid #d8e5ea!important;border-radius:18px!important;box-shadow:0 14px 36px rgba(5,39,64,.07)!important}
.service-card__media{display:block!important;width:100%!important;height:205px!important;aspect-ratio:auto!important;overflow:hidden!important}
.service-card__media img{width:100%!important;height:100%!important;object-fit:cover!important}
.service-card__media>span{bottom:15px!important;left:16px!important;display:grid!important;width:48px!important;height:48px!important;place-items:center!important}
.service-card__media>span .ui-icon{display:block!important;width:23px!important;height:23px!important;margin:auto!important}
.service-card__body{display:flex!important;min-height:220px!important;flex-direction:column!important;padding:24px 24px 26px!important}
.service-card__body small{display:none!important}
.service-card h3{margin:0 0 10px!important;font-size:1.22rem!important;line-height:1.25!important}
.service-card p{display:-webkit-box!important;min-height:72px!important;margin:0 0 18px!important;overflow:hidden!important;color:#607584!important;font-size:.88rem!important;line-height:1.6!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important}
.service-card .text-link{margin-top:auto!important}

/* Product showcase */
.product-showcase{padding:76px 0 82px!important;overflow:hidden!important;background:radial-gradient(circle at 88% 20%,rgba(33,205,214,.14),transparent 25%),linear-gradient(130deg,#031c34 0%,#053e5f 58%,#066373 100%)!important}
.product-showcase>.container{width:var(--container)!important}
.showcase-heading{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(300px,.72fr)!important;align-items:end!important;gap:50px!important;margin:0 0 32px!important}
.showcase-heading h2{max-width:760px!important;margin:0!important;color:#fff!important;font-size:clamp(2.3rem,3.4vw,3.35rem)!important;line-height:1.06!important;text-wrap:balance!important}
.showcase-heading__action{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:17px!important}
.showcase-heading__action p{max-width:430px!important;margin:0!important;color:#ccdde5!important;font-size:.94rem!important;line-height:1.66!important}
.product-rail{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:16px!important;overflow:visible!important}
.product-mini{display:flex!important;min-width:0!important;min-height:350px!important;flex-direction:column!important;padding:13px 13px 18px!important;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;border:1px solid rgba(112,220,225,.34)!important;border-radius:17px!important;box-shadow:0 15px 38px rgba(0,0,0,.13)!important}
.product-mini__image{height:175px!important;margin:0 0 16px!important;border:0!important;border-radius:12px!important}
.product-mini img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important}
.product-mini small{margin:0 2px 9px!important;color:#51e1e6!important;font-size:.64rem!important}
.product-mini strong{display:block!important;min-height:2.8em!important;padding:0 24px 0 2px!important;color:#fff!important;font-size:.98rem!important;line-height:1.42!important}
.product-mini .product-arrow{right:16px!important;bottom:17px!important;color:#75edf0!important}

/* Home industries: clean 4-card desktop grid, readable mobile cards */
.industries-section--showcase{overflow:hidden!important;background:#fff!important}
.industry-showcase-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}
.industry-showcase-card{position:relative!important;min-width:0!important;min-height:475px!important;overflow:hidden!important;background:#07304e!important;border:1px solid #d4e3e8!important;border-radius:18px!important;box-shadow:0 17px 42px rgba(4,38,63,.1)!important}
.industry-showcase-card>img{position:absolute!important;inset:0 0 auto 0!important;width:100%!important;height:245px!important;object-fit:cover!important}
.industry-showcase-card__shade{position:absolute!important;inset:0!important;background:linear-gradient(180deg,transparent 27%,rgba(3,30,52,.18) 45%,rgba(3,30,52,.96) 65%,#062e4b 100%)!important}
.industry-showcase-card__body{position:absolute!important;z-index:2!important;right:0!important;bottom:0!important;left:0!important;display:flex!important;min-height:260px!important;flex-direction:column!important;padding:24px!important;color:#fff!important}
.industry-showcase-card__icon{display:grid!important;width:48px!important;height:48px!important;margin-bottom:13px!important;place-items:center!important;color:#fff!important;background:linear-gradient(145deg,#10a9b5,#20cbd2)!important;border:1px solid rgba(255,255,255,.65)!important;border-radius:50%!important;box-shadow:0 10px 24px rgba(0,0,0,.18)!important}
.industry-showcase-card__icon .ui-icon{display:block!important;width:24px!important;height:24px!important;margin:auto!important}
.industry-showcase-card h3{margin:0 0 10px!important;color:#fff!important;font-size:1.4rem!important;line-height:1.2!important}
.industry-showcase-card p{display:-webkit-box!important;margin:0 0 18px!important;overflow:hidden!important;color:#d3e2e9!important;font-size:.88rem!important;line-height:1.62!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important}
.industry-showcase-card a{display:inline-flex!important;align-items:center!important;gap:8px!important;margin-top:auto!important;color:#55e4e9!important;font-size:.75rem!important;font-weight:850!important;text-transform:uppercase!important}

/* Inner page banners */
.page-hero.page-hero--image{height:400px!important;min-height:400px!important;max-height:400px!important;margin:0!important;overflow:hidden!important}
.page-hero.page-hero--image>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.page-hero.page-hero--image .page-overlay{background:linear-gradient(90deg,rgba(3,30,53,.91) 0%,rgba(3,35,61,.77) 29%,rgba(3,35,61,.38) 51%,rgba(3,35,61,.04) 76%)!important}
.page-hero.page-hero--image .page-content{display:flex!important;min-height:400px!important;justify-content:center!important;padding:42px 0 46px!important}
.page-hero .breadcrumb{margin-bottom:17px!important}
.page-hero .eyebrow{margin-bottom:13px!important}
.page-hero h1{max-width:650px!important;margin:0 0 15px!important;color:#fff!important;font-size:clamp(2.65rem,3.8vw,3.8rem)!important;line-height:1.06!important;letter-spacing:-.04em!important;text-wrap:balance!important;word-break:normal!important;overflow-wrap:normal!important;writing-mode:horizontal-tb!important}
.page-hero p{max-width:670px!important;margin:0!important;color:#e2edf2!important;font-size:.98rem!important;line-height:1.65!important}
.page-hero+section.section,.product-index-hero+section.section,.news-index-hero+section.section{padding-top:76px!important}

/* Products main banner */
.product-index-hero{height:430px!important;min-height:430px!important;max-height:430px!important;overflow:hidden!important}
.product-index-hero__media,.product-index-hero__media img{height:100%!important}
.product-index-hero__media>div{background:linear-gradient(90deg,rgba(249,252,253,.98) 0%,rgba(249,252,253,.93) 32%,rgba(249,252,253,.60) 51%,rgba(249,252,253,.05) 73%)!important}
.product-index-hero__content{min-height:430px!important;padding:36px 48% 40px 0!important}
.product-index-hero__content .breadcrumb{margin-bottom:17px!important}
.product-index-hero__content .eyebrow{margin-bottom:12px!important}
.product-index-hero__content h1{max-width:670px!important;font-size:clamp(2.45rem,3.6vw,3.65rem)!important;line-height:1.06!important}
.product-index-hero__content p{display:-webkit-box!important;max-width:660px!important;margin:15px 0 20px!important;overflow:hidden!important;font-size:.95rem!important;line-height:1.6!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important}

/* News banner stays compact */
.news-index-hero{padding:48px 0 44px!important}
.news-index-hero__inner{width:var(--container)!important;grid-template-columns:minmax(0,1fr) 260px!important;gap:48px!important}
.news-index-hero h1{max-width:780px!important;font-size:clamp(2.45rem,3.5vw,3.55rem)!important;line-height:1.08!important}

/* Industry directory rail: bounded and readable */
.industry-directory{overflow:hidden!important;padding-top:70px!important}
.industry-marquee--directory{width:var(--container)!important;margin-inline:auto!important;-webkit-mask-image:none!important;mask-image:none!important}
.industry-marquee--directory .industry-marquee__track{padding-inline:0!important}
.industry-marquee .industry-card--directory{border-radius:18px!important}

/* Excellence icons + floating controls */
.excellence-item>span{display:grid!important;place-items:center!important}
.excellence-item>span .ui-icon{display:block!important;margin:auto!important}
.espro-chat{right:22px!important;bottom:20px!important}
.to-top{right:252px!important;bottom:25px!important}

/* International text safety */
html[lang^="zh"] h1,html[lang^="zh"] h2,html[lang^="zh"] h3,
html[lang^="ko"] h1,html[lang^="ko"] h2,html[lang^="ko"] h3,
html[lang^="ja"] h1,html[lang^="ja"] h2,html[lang^="ja"] h3{
  writing-mode:horizontal-tb!important;text-orientation:mixed!important;word-break:normal!important;overflow-wrap:anywhere!important;white-space:normal!important;
}

@media(max-width:1280px){
  :root{--site-gutter:clamp(28px,4vw,52px)}
  .navbar{grid-template-columns:180px minmax(0,1fr) auto!important;gap:22px!important}
  .brand{width:175px!important;flex-basis:175px!important}.brand img{height:58px!important}
  .desktop-nav{gap:20px!important}.desktop-nav>a,.desktop-nav>.nav-item>a{font-size:.8rem!important}
  .nav-quote{min-width:165px!important}
  .page-home .hero__copy{width:52%!important}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .product-rail{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .industry-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:1050px){
  :root{--site-gutter:26px}
  .desktop-nav{display:none!important}.mobile-toggle{display:grid!important}
  .navbar{display:flex!important;min-height:78px!important;justify-content:space-between!important;gap:18px!important}
  .brand{width:160px!important;flex-basis:160px!important}.brand img{height:56px!important}
  .nav-quote{display:none!important}
  .page-home .hero{height:610px!important;min-height:610px!important;max-height:610px!important}
  .page-home .hero__slide>img{object-position:66% center!important}
  .page-home .hero__veil{background:linear-gradient(90deg,rgba(2,25,47,.96) 0%,rgba(2,31,55,.88) 44%,rgba(2,31,55,.40) 72%,rgba(2,25,45,.05) 100%)!important}
  .page-home .hero__copy{width:60%!important;max-width:590px!important}
  .page-home .hero__content h1,.page-home .hero__content .hero-title{font-size:clamp(2.65rem,6vw,3.7rem)!important}
  .hero-benefits{max-width:590px!important}
  .page-home .trust-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:-34px!important}
  .trust-strip__item:nth-child(4),.trust-strip__item:nth-child(5){border-top:1px solid #e2eaed!important}
  .trust-strip__item:nth-child(4)::before{display:none!important}
  .showcase-heading{grid-template-columns:1fr!important;gap:18px!important}
  .showcase-heading__action{max-width:680px!important}
  .product-index-hero__content{padding-right:42%!important}
}

@media(max-width:760px){
  :root{--site-gutter:16px;--container:calc(100% - 32px)}
  body{font-size:15px!important}
  .topbar{display:none!important}
  .navbar{min-height:72px!important}
  .brand{width:150px!important;flex-basis:150px!important}.brand img{height:52px!important}

  /* Mobile home hero */
  .page-home .hero{height:610px!important;min-height:610px!important;max-height:610px!important}
  .page-home .hero__slide>img{object-position:64% center!important}
  .page-home .hero__veil{background:linear-gradient(180deg,rgba(2,25,47,.30) 0%,rgba(2,25,47,.24) 20%,rgba(2,29,52,.68) 55%,rgba(2,25,47,.97) 100%)!important}
  .page-home .hero__content.container{top:auto!important;bottom:0!important;left:50%!important;width:calc(100% - 32px)!important;padding:0 0 34px!important;transform:translateX(-50%)!important}
  .page-home .hero__copy{width:100%!important;max-width:none!important}
  .page-home .hero__copy .eyebrow{margin-bottom:10px!important;font-size:.65rem!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:12ch!important;margin-bottom:13px!important;font-size:clamp(2rem,10vw,2.75rem)!important;line-height:1.03!important}
  .page-home .hero__content p{display:-webkit-box!important;max-width:100%!important;margin-bottom:16px!important;overflow:hidden!important;font-size:.88rem!important;line-height:1.5!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important}
  .page-home .hero__actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .page-home .hero__actions .button{width:100%!important;min-width:0!important;height:46px!important;padding:0 12px!important;font-size:.66rem!important}
  .hero-benefits{margin-top:17px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .hero-benefits>div{display:flex!important;align-items:flex-start!important;gap:6px!important;padding:0 8px!important}
  .hero-benefits>div>span{width:25px!important;height:25px!important;flex:0 0 25px!important}.hero-benefits .ui-icon{width:20px!important;height:20px!important}
  .hero-benefits strong{font-size:.58rem!important;line-height:1.2!important}.hero-benefits small{display:none!important}
  .page-home .hero__dots{bottom:8px!important}

  /* Mobile stats */
  .page-home .trust-strip-wrap{padding-top:12px!important;background:#f6f9fa!important}
  .page-home .trust-strip{display:grid!important;min-height:0!important;margin:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:16px!important}
  .trust-strip__item{min-height:86px!important;gap:10px!important;padding:15px 12px!important}
  .trust-strip__item:nth-child(odd)::before{display:none!important}
  .trust-strip__item:nth-child(n+3){border-top:1px solid #e2eaed!important}
  .trust-strip__item:last-child{grid-column:1/-1!important}
  .trust-strip__icon{width:40px!important;height:40px!important;flex-basis:40px!important}.trust-strip__icon .ui-icon{width:21px!important;height:21px!important}
  .trust-strip__item strong{font-size:.84rem!important}.trust-strip__item div>span{font-size:.52rem!important}

  .section{padding:58px 0!important}
  .section-heading.split{grid-template-columns:1fr!important;gap:16px!important}

  /* Horizontal mobile carousels */
  .service-grid,.product-rail,.industry-showcase-grid{display:flex!important;width:100%!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 0 8px!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;overscroll-behavior-inline:contain!important}
  .service-grid::-webkit-scrollbar,.product-rail::-webkit-scrollbar,.industry-showcase-grid::-webkit-scrollbar{display:none!important}
  .service-card{min-width:84vw!important;flex:0 0 84vw!important;scroll-snap-align:center!important}
  .service-card__media{height:190px!important}
  .service-card__body{min-height:205px!important;padding:20px 20px 22px!important}
  .service-card p{min-height:0!important;font-size:.82rem!important;-webkit-line-clamp:3!important}

  .product-showcase{padding:54px 0 58px!important}
  .showcase-heading{display:block!important;margin-bottom:22px!important}
  .showcase-heading h2{font-size:2rem!important;line-height:1.08!important}
  .showcase-heading__action{margin-top:16px!important}
  .showcase-heading__action p{font-size:.84rem!important}
  .showcase-heading__action .button{width:100%!important;justify-content:center!important}
  .product-mini{min-width:82vw!important;min-height:335px!important;flex:0 0 82vw!important;scroll-snap-align:center!important}
  .product-mini__image{height:185px!important}
  .product-mini strong{min-height:auto!important;font-size:1rem!important}

  .industries-section--showcase{padding-bottom:64px!important}
  .industry-showcase-card{min-width:84vw!important;min-height:455px!important;flex:0 0 84vw!important;scroll-snap-align:center!important;border-radius:20px!important}
  .industry-showcase-card>img{height:100%!important}
  .industry-showcase-card__shade{background:linear-gradient(90deg,rgba(3,29,50,.94) 0%,rgba(3,29,50,.78) 45%,rgba(3,29,50,.28) 76%,rgba(3,29,50,.05) 100%)!important}
  .industry-showcase-card__body{top:0!important;right:32%!important;bottom:0!important;min-height:0!important;padding:26px 22px!important;justify-content:flex-end!important}
  .industry-showcase-card__icon{width:52px!important;height:52px!important;margin-bottom:auto!important}
  .industry-showcase-card h3{font-size:2rem!important}.industry-showcase-card p{font-size:.86rem!important;-webkit-line-clamp:4!important}.industry-showcase-card a{font-size:.78rem!important}

  /* Mobile inner banners */
  .page-hero.page-hero--image{height:360px!important;min-height:360px!important;max-height:360px!important}
  .page-hero.page-hero--image .page-overlay{background:linear-gradient(180deg,rgba(2,27,49,.24) 0%,rgba(2,29,51,.48) 38%,rgba(2,28,50,.88) 100%)!important}
  .page-hero.page-hero--image .page-content{min-height:360px!important;padding:24px 0 28px!important;justify-content:flex-end!important}
  .page-hero .breadcrumb{margin-bottom:10px!important;font-size:.7rem!important}
  .page-hero .eyebrow{margin-bottom:8px!important;font-size:.64rem!important}
  .page-hero h1{max-width:12ch!important;margin-bottom:10px!important;font-size:clamp(1.9rem,8.4vw,2.5rem)!important;line-height:1.04!important;text-shadow:0 4px 22px rgba(0,0,0,.35)!important}
  .page-hero p{display:-webkit-box!important;max-width:100%!important;overflow:hidden!important;font-size:.84rem!important;line-height:1.5!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;text-shadow:0 2px 12px rgba(0,0,0,.35)!important}
  .page-hero+section.section,.product-index-hero+section.section,.news-index-hero+section.section{padding-top:54px!important}

  .product-index-hero{height:380px!important;min-height:380px!important;max-height:380px!important;background:#052d4a!important}
  .product-index-hero__media>div{background:linear-gradient(180deg,rgba(4,35,59,.2) 0%,rgba(4,35,59,.46) 38%,rgba(4,35,59,.88) 100%)!important}
  .product-index-hero__content{min-height:380px!important;padding:22px 0 26px!important;justify-content:flex-end!important;color:#fff!important}
  .product-index-hero__content .breadcrumb,.product-index-hero__content .eyebrow{color:#58e1e6!important}
  .product-index-hero__content h1{max-width:12ch!important;color:#fff!important;font-size:clamp(1.9rem,8vw,2.45rem)!important;line-height:1.05!important;text-shadow:0 4px 22px rgba(0,0,0,.38)!important}
  .product-index-hero__content p{margin:10px 0 16px!important;color:#e3eef2!important;font-size:.83rem!important;-webkit-line-clamp:3!important}
  .product-index-hero__content>div{display:grid!important;width:100%!important;grid-template-columns:1fr!important;gap:9px!important}.product-index-hero__content .button{width:100%!important;justify-content:center!important}

  .news-index-hero{padding:38px 0 34px!important}.news-index-hero__inner{display:block!important;width:var(--container)!important}.news-index-hero__panel{display:none!important}.news-index-hero h1{font-size:2.1rem!important}

  /* Industry directory mobile cards */
  .industry-directory{padding-top:52px!important}
  .industry-marquee--directory{width:calc(100% - 32px)!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}
  .industry-marquee--directory::-webkit-scrollbar{display:none!important}
  .industry-marquee--directory .industry-marquee__track{gap:14px!important;padding:0!important;animation:none!important}
  .industry-marquee .industry-card--directory{position:relative!important;width:84vw!important;min-width:84vw!important;min-height:440px!important;flex-basis:84vw!important;overflow:hidden!important;background:#062e4b!important;border:0!important;scroll-snap-align:center!important}
  .industry-marquee .industry-card--directory>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
  .industry-marquee .industry-card--directory:after{display:block!important;z-index:1!important;background:linear-gradient(90deg,rgba(3,29,50,.96) 0%,rgba(3,29,50,.78) 50%,rgba(3,29,50,.22) 100%)!important}
  .industry-card--directory>span{z-index:3!important;top:22px!important;left:20px!important;background:#11a8b3!important}
  .industry-marquee .industry-card--directory>div{position:absolute!important;z-index:2!important;top:0!important;right:30%!important;bottom:0!important;left:0!important;display:flex!important;min-height:0!important;flex-direction:column!important;justify-content:flex-end!important;padding:28px 22px!important}
  .industry-marquee .industry-card--directory h2{color:#fff!important;font-size:1.9rem!important}.industry-marquee .industry-card--directory p{display:-webkit-box!important;overflow:hidden!important;color:#d9e7ed!important;font-size:.86rem!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important}.industry-marquee .industry-card--directory a{color:#55e4e9!important}

  /* Floating controls stay separated */
  .espro-chat{right:14px!important;bottom:14px!important}
  .espro-chat__launcher{width:58px!important;height:58px!important}
  .to-top{right:20px!important;bottom:84px!important;width:48px!important;height:48px!important}
}

@media(max-width:420px){
  .page-home .hero{height:590px!important;min-height:590px!important;max-height:590px!important}
  .page-home .hero__content h1,.page-home .hero__content .hero-title{font-size:2.12rem!important}
  .hero-benefits>div{padding-inline:5px!important}.hero-benefits strong{font-size:.54rem!important}
  .service-card,.product-mini,.industry-showcase-card{min-width:86vw!important;flex-basis:86vw!important}
  .industry-showcase-card__body{right:23%!important}
}

/* ========================================================================== 
   ES-PRO V49 — stable banners, professional gutters, managed page banners
   ========================================================================== */
:root{--container:min(1360px,calc(100% - clamp(36px,7vw,112px)))}
html,body{max-width:100%;overflow-x:hidden}
.container{min-width:0}

/* Media controlled by Admin: focal point + zoom, without changing layout size. */
.banner-media{position:absolute;inset:0;display:block;overflow:hidden}
.banner-media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--banner-x,50%) var(--banner-y,50%);transform:scale(var(--banner-zoom,1));transform-origin:var(--banner-x,50%) var(--banner-y,50%);transition:transform .35s ease,object-position .35s ease}

/* Homepage hero: fixed content zones and safe line limits. */
.page-home .hero{position:relative;height:var(--banner-height-desktop,620px)!important;min-height:var(--banner-height-desktop,620px)!important;max-height:var(--banner-height-desktop,620px)!important;overflow:hidden;background:#05233d}
.page-home .hero__slide{position:absolute!important;inset:0!important;overflow:hidden!important}
.page-home .hero__slide>.banner-media{z-index:0}
.page-home .hero__veil{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(2,24,45,var(--banner-overlay,.64)) 0%,rgba(2,27,49,.88) 33%,rgba(2,27,49,.54) 58%,rgba(2,27,49,.06) 100%)!important}
.page-home .hero__slide[data-overlay-direction="right"] .hero__veil{background:linear-gradient(270deg,rgba(2,24,45,var(--banner-overlay,.64)) 0%,rgba(2,27,49,.88) 33%,rgba(2,27,49,.54) 58%,rgba(2,27,49,.06) 100%)!important}
.page-home .hero__content.container{position:absolute!important;z-index:2;inset:0!important;display:flex!important;width:var(--container)!important;height:100%!important;align-items:center!important;margin:auto!important;padding:34px 0 64px!important;transform:none!important}
.page-home .hero__copy{display:flex!important;width:min(650px,48%)!important;max-width:650px!important;max-height:100%!important;flex-direction:column!important;justify-content:center!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
.page-home .hero__copy .eyebrow{margin:0 0 14px!important;color:#55e2e8!important;font-size:clamp(.66rem,.75vw,.8rem)!important}
.page-home .hero__content h1,.page-home .hero__content .hero-title,.page-home .hero__title{display:-webkit-box!important;max-width:12.5ch!important;margin:0 0 16px!important;overflow:hidden!important;color:#fff!important;font-size:clamp(2.9rem,4.35vw,4.55rem)!important;line-height:1.02!important;letter-spacing:-.045em!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;text-wrap:balance}
.page-home .hero__content p{display:-webkit-box!important;max-width:37rem!important;margin:0 0 22px!important;overflow:hidden!important;color:#e4edf2!important;font-size:clamp(.91rem,1vw,1rem)!important;line-height:1.6!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important}
.page-home .hero__actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important}
.page-home .hero__actions .button{min-width:190px!important;height:52px!important}
.hero-benefits{display:grid!important;max-width:625px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;margin-top:24px!important}
.hero-benefits>div{min-width:0!important;padding:0 18px!important;border-left:1px solid rgba(255,255,255,.22)!important}
.hero-benefits>div:first-child{padding-left:0!important;border-left:0!important}
.hero-benefits strong{font-size:.72rem!important;line-height:1.25!important}.hero-benefits small{font-size:.59rem!important;line-height:1.4!important}
.page-home .hero__dots{z-index:4!important;bottom:14px!important}
.trust-strip-wrap{position:relative;z-index:7;margin-top:-46px!important;padding:0!important}
.trust-strip{min-height:108px!important;border-radius:18px!important;box-shadow:0 20px 55px rgba(4,30,51,.16)!important}

/* Managed page banners: Admin controls media only; text always stays in a safe box. */
.managed-page-banner{position:relative;height:var(--banner-height-desktop,390px)!important;min-height:var(--banner-height-desktop,390px)!important;max-height:var(--banner-height-desktop,390px)!important;overflow:hidden;background:#062b48}
.managed-page-banner>.banner-media{z-index:0}
.managed-page-banner .page-overlay{position:absolute!important;z-index:1!important;inset:0!important;background:linear-gradient(90deg,rgba(3,29,51,var(--banner-overlay,.62)) 0%,rgba(3,31,54,.82) 36%,rgba(3,31,54,.36) 64%,rgba(3,31,54,.02) 100%)!important}
.managed-page-banner[data-overlay-direction="right"] .page-overlay{background:linear-gradient(270deg,rgba(3,29,51,var(--banner-overlay,.62)) 0%,rgba(3,31,54,.82) 36%,rgba(3,31,54,.36) 64%,rgba(3,31,54,.02) 100%)!important}
.managed-page-banner .page-content{position:relative!important;z-index:2!important;display:flex!important;min-height:100%!important;flex-direction:column!important;justify-content:center!important;padding:30px 0 34px!important}
.managed-page-banner .breadcrumb{margin:0 0 11px!important;color:#d4e5ec!important;font-size:.72rem!important}
.managed-page-banner .eyebrow{margin:0 0 10px!important;color:#55e2e8!important}
.managed-page-banner h1{display:-webkit-box!important;max-width:15ch!important;margin:0 0 12px!important;overflow:hidden!important;color:#fff!important;font-size:clamp(2.45rem,3.45vw,3.75rem)!important;line-height:1.03!important;letter-spacing:-.04em!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;text-wrap:balance;text-shadow:0 4px 22px rgba(0,0,0,.28)!important}
.managed-page-banner p{display:-webkit-box!important;max-width:42rem!important;margin:0!important;overflow:hidden!important;color:#e6eef2!important;font-size:.94rem!important;line-height:1.55!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;text-shadow:0 2px 12px rgba(0,0,0,.25)!important}
.page-banner__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.managed-page-banner+.section{padding-top:76px!important}

/* Cards stay balanced at narrower desktop widths. */
.service-grid,.industry-showcase-grid,.product-rail{min-width:0}
.service-card,.industry-showcase-card,.product-mini{min-width:0}
.industry-showcase-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
.industry-showcase-card{overflow:hidden!important;border-radius:18px!important;background:linear-gradient(155deg,#0a4965 0%,#062b48 58%,#041f37 100%)!important;box-shadow:0 16px 38px rgba(4,32,54,.12)!important}
.industry-showcase-card>img{height:220px!important;object-fit:cover!important}
.industry-showcase-card__shade{display:none!important}
.industry-showcase-card__body{position:relative!important;inset:auto!important;display:flex!important;min-height:235px!important;flex-direction:column!important;padding:24px 22px 21px!important;background:linear-gradient(145deg,#0a536b 0%,#073a59 48%,#052743 100%)!important}
.industry-showcase-card__icon{position:absolute!important;top:-24px!important;left:20px!important;width:48px!important;height:48px!important;background:#10aab5!important;border:2px solid #fff!important}
.industry-showcase-card h3{margin:13px 0 10px!important;color:#fff!important;font-size:1.25rem!important}
.industry-showcase-card p{display:-webkit-box!important;overflow:hidden!important;color:#d9e7ed!important;font-size:.82rem!important;line-height:1.58!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important}
.industry-showcase-card a{margin-top:auto!important;color:#5be2e7!important}

/* Partner rail: compact, crisp tiles without a conspicuous white split. */
.logo-marquee{padding:12px 0!important;overflow:hidden!important;background:#f4f8fa!important}
.logo-track{gap:12px!important}
.logo-tile{width:178px!important;height:92px!important;flex:0 0 178px!important;background:#fff!important;border:1px solid #dbe6ea!important;border-radius:14px!important;box-shadow:0 8px 22px rgba(5,36,64,.06)!important}
.logo-tile img{max-width:142px!important;max-height:58px!important;object-fit:contain!important}

/* Floating controls never collide. */
.espro-chat{right:18px!important;bottom:18px!important}
.scroll-nav,.espro-chat~.scroll-nav{right:22px!important;bottom:92px!important;display:block!important}
.scroll-nav__button{width:44px!important;height:44px!important}

@media(max-width:1180px){
  :root{--container:min(100% - 48px,1080px)}
  .desktop-nav{gap:15px!important}.desktop-nav>a,.desktop-nav>.nav-item>a{font-size:.66rem!important}
  .page-home .hero__copy{width:55%!important}.page-home .hero__content h1,.page-home .hero__content .hero-title{font-size:clamp(2.6rem,5vw,3.75rem)!important}
  .industry-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:900px){
  :root{--container:calc(100% - 34px)}
  .page-home .hero{height:var(--banner-height-mobile,590px)!important;min-height:var(--banner-height-mobile,590px)!important;max-height:var(--banner-height-mobile,590px)!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}
  .page-home .hero__veil{background:linear-gradient(180deg,rgba(2,25,47,.12) 0%,rgba(2,25,47,.30) 30%,rgba(2,28,50,.78) 63%,rgba(2,24,45,.98) 100%)!important}
  .page-home .hero__content.container{align-items:flex-end!important;padding:22px 0 44px!important}
  .page-home .hero__copy{width:100%!important;max-width:600px!important}
  .page-home .hero__content h1,.page-home .hero__content .hero-title,.page-home .hero__title{max-width:13ch!important;font-size:clamp(2.05rem,8.5vw,3rem)!important;-webkit-line-clamp:4!important}
  .page-home .hero__content p{font-size:.86rem!important;-webkit-line-clamp:3!important}
  .page-home .hero__actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
  .page-home .hero__actions .button{min-width:0!important;height:46px!important;padding:0 10px!important;font-size:.63rem!important}
  .hero-benefits{margin-top:15px!important}.hero-benefits>div{padding:0 9px!important}.hero-benefits strong{font-size:.57rem!important}.hero-benefits small{display:none!important}
  .trust-strip-wrap{margin-top:-14px!important}.trust-strip{min-height:0!important}

  .managed-page-banner{height:var(--banner-height-mobile,340px)!important;min-height:var(--banner-height-mobile,340px)!important;max-height:var(--banner-height-mobile,340px)!important}
  .managed-page-banner .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}
  .managed-page-banner .page-overlay{background:linear-gradient(180deg,rgba(3,27,48,.20) 0%,rgba(3,29,51,.50) 42%,rgba(3,27,48,.94) 100%)!important}
  .managed-page-banner .page-content{justify-content:flex-end!important;padding:20px 0 24px!important}
  .managed-page-banner .breadcrumb{margin-bottom:8px!important;font-size:.66rem!important}.managed-page-banner .eyebrow{margin-bottom:7px!important;font-size:.62rem!important}
  .managed-page-banner h1{max-width:13ch!important;margin-bottom:8px!important;font-size:clamp(1.9rem,7.8vw,2.65rem)!important;-webkit-line-clamp:3!important}
  .managed-page-banner p{font-size:.8rem!important;line-height:1.45!important;-webkit-line-clamp:3!important}
  .page-banner__actions{display:grid!important;grid-template-columns:1fr!important;margin-top:12px!important}.page-banner__actions .button{width:100%!important;height:44px!important}
  .managed-page-banner+.section{padding-top:48px!important}

  .service-grid,.product-rail,.industry-showcase-grid{display:flex!important;width:100%!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 0 10px!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}
  .service-grid::-webkit-scrollbar,.product-rail::-webkit-scrollbar,.industry-showcase-grid::-webkit-scrollbar{display:none!important}
  .service-card{min-width:82vw!important;flex:0 0 82vw!important;scroll-snap-align:center!important;overflow:hidden!important;border-radius:18px!important}
  .service-card__media{display:block!important;width:100%!important;height:190px!important}.service-card__media img{width:100%!important;height:100%!important;object-fit:cover!important}.service-card__body{min-height:220px!important;padding:22px!important}
  .product-mini{min-width:78vw!important;flex:0 0 78vw!important;scroll-snap-align:center!important}
  .industry-showcase-card{min-width:82vw!important;flex:0 0 82vw!important;scroll-snap-align:center!important}.industry-showcase-card>img{height:205px!important}.industry-showcase-card__body{min-height:220px!important}

  .logo-tile{width:150px!important;height:82px!important;flex-basis:150px!important}.logo-tile img{max-width:122px!important;max-height:50px!important}
  .espro-chat{right:12px!important;bottom:12px!important}.scroll-nav,.espro-chat~.scroll-nav{right:18px!important;bottom:82px!important}
}

@media(max-width:520px){
  :root{--container:calc(100% - 28px)}
  .brand{width:150px!important;flex-basis:150px!important}.brand img{height:50px!important}
  .page-home .hero{height:max(560px,var(--banner-height-mobile,590px))!important;min-height:max(560px,var(--banner-height-mobile,590px))!important;max-height:max(560px,var(--banner-height-mobile,590px))!important}
  .page-home .hero__content.container{padding-bottom:38px!important}
  .page-home .hero__content h1,.page-home .hero__content .hero-title{font-size:clamp(1.95rem,9.4vw,2.55rem)!important}
  .hero-benefits>div:nth-child(3){display:none!important}.hero-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .trust-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.trust-strip__item:last-child{grid-column:1/-1!important}
  .managed-page-banner h1{font-size:clamp(1.78rem,8.6vw,2.3rem)!important}
  .service-card,.industry-showcase-card{min-width:86vw!important;flex-basis:86vw!important}.product-mini{min-width:82vw!important;flex-basis:82vw!important}
  .espro-chat__launcher{width:54px!important;height:54px!important}.scroll-nav__button{width:42px!important;height:42px!important}
}
.page-home .hero__copy--tight .eyebrow{margin-bottom:8px!important}
.page-home .hero__copy--tight h1,.page-home .hero__copy--tight h2{margin-bottom:10px!important}
.page-home .hero__copy--tight>p{margin-bottom:12px!important;-webkit-line-clamp:2!important}
.page-home .hero__copy--tight .hero-benefits{margin-top:12px!important}

/* ========================================================================== 
   ES-PRO V49.1 — final fixed typography and safe responsive banner zones
   ========================================================================== */

/* Never hide an editable banner title with an ellipsis. JavaScript reduces the
   font only when the complete content would exceed the fixed safe area. */
.page-home .hero__content h1,
.page-home .hero__content .hero-title,
.page-home .hero__title,
.managed-page-banner h1{
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.page-home .hero__content h1,
.page-home .hero__content .hero-title,
.page-home .hero__title{
  max-width:13.5ch!important;
  font-size:clamp(2.75rem,4vw,4.25rem)!important;
  line-height:1.025!important;
}
.page-home .hero__content p,
.managed-page-banner p{
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
}
.managed-page-banner h1{
  max-width:18ch!important;
  font-size:clamp(2.25rem,3.1vw,3.45rem)!important;
  line-height:1.035!important;
}
.managed-page-banner .page-content{max-width:none!important}

/* Centre all pictograms precisely inside their colour tiles. */
.trust-strip__icon,
.industry-showcase-card__icon,
.service-card__icon,
.product-mini__icon{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:1!important;
}
.trust-strip__icon svg,
.industry-showcase-card__icon svg,
.service-card__icon svg,
.product-mini__icon svg{
  display:block!important;
  width:52%!important;
  height:52%!important;
  margin:auto!important;
}

/* The partner rail uses one continuous neutral surface; no white seams or
   bright masks appear between logo tiles. */
.logo-marquee::before,.logo-marquee::after{display:none!important;content:none!important}
.logo-marquee{background:#f1f6f8!important}
.logo-track{align-items:center!important}

/* Keep floating controls separated from each other and from the viewport. */
.espro-chat{right:20px!important;bottom:18px!important}
.scroll-nav,.espro-chat~.scroll-nav{right:25px!important;bottom:96px!important}

@media(max-width:1180px){
  .page-home .hero__content h1,
  .page-home .hero__content .hero-title,
  .page-home .hero__title{font-size:clamp(2.45rem,4.55vw,3.65rem)!important}
  .managed-page-banner h1{font-size:clamp(2.1rem,3.7vw,3.1rem)!important}
}

@media(max-width:900px){
  .page-home .hero{
    height:var(--banner-height-mobile,550px)!important;
    min-height:var(--banner-height-mobile,550px)!important;
    max-height:var(--banner-height-mobile,550px)!important;
  }
  .page-home .hero__content.container{padding:20px 0 34px!important}
  .page-home .hero__content h1,
  .page-home .hero__content .hero-title,
  .page-home .hero__title{
    max-width:14ch!important;
    font-size:clamp(2rem,8.2vw,2.9rem)!important;
    line-height:1.04!important;
  }
  .managed-page-banner h1{
    max-width:16ch!important;
    font-size:clamp(1.78rem,7.3vw,2.5rem)!important;
    line-height:1.055!important;
  }
  .managed-page-banner .page-content{padding:18px 0 22px!important}
  .managed-page-banner p{font-size:.79rem!important;line-height:1.44!important}
  .page-banner__actions{margin-top:10px!important}

  .espro-chat{right:12px!important;bottom:12px!important}
  .scroll-nav,.espro-chat~.scroll-nav{right:18px!important;bottom:84px!important}
}

@media(max-width:520px){
  .brand{width:156px!important;min-width:156px!important;max-width:156px!important;flex-basis:156px!important}
  .brand img{display:block!important;width:100%!important;height:auto!important;max-height:52px!important;object-fit:contain!important}
  .page-home .hero{
    height:var(--banner-height-mobile,550px)!important;
    min-height:var(--banner-height-mobile,550px)!important;
    max-height:var(--banner-height-mobile,550px)!important;
  }
  .page-home .hero__content.container{padding-bottom:30px!important}
  .page-home .hero__content h1,
  .page-home .hero__content .hero-title,
  .page-home .hero__title{font-size:clamp(1.86rem,8.7vw,2.42rem)!important}
  .page-home .hero__content p{font-size:.8rem!important;line-height:1.43!important;margin-bottom:15px!important}
  .page-home .hero__actions .button{height:44px!important}
  .hero-benefits{margin-top:12px!important}

  .managed-page-banner h1{max-width:17ch!important;font-size:clamp(1.7rem,7.7vw,2.22rem)!important}
  .managed-page-banner .breadcrumb{font-size:.62rem!important}
  .managed-page-banner .eyebrow{font-size:.59rem!important}

  .espro-chat{right:10px!important;bottom:10px!important}
  .scroll-nav,.espro-chat~.scroll-nav{right:16px!important;bottom:80px!important}
}

/* ========================================================================== 
   ES-PRO V50 — responsive recovery for home showcase + industry cards
   ========================================================================== */

/* Keep the home hero indicators visible and consistent. */
.page-home .hero__dots{z-index:8!important;bottom:18px!important}
.page-home .hero__dots button{width:34px!important;height:4px!important;background:rgba(255,255,255,.56)!important;border-radius:999px!important;box-shadow:none!important}
.page-home .hero__dots button.active{width:44px!important;background:#26d8df!important}

/* Home featured-products block: restore a balanced premium layout and stop
   the heading from collapsing into a vertical stack on narrower desktops. */
.page-home .product-showcase{
  padding:72px 0 78px!important;
  background:radial-gradient(circle at 85% 20%,rgba(41,205,214,.12),transparent 28%),linear-gradient(140deg,#06233d 0%,#0a4361 58%,#0b334c 100%)!important;
}
.page-home .product-showcase>.container{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
  gap:34px!important;
  align-items:start!important;
}
.page-home .showcase-heading{
  display:block!important;
  max-width:none!important;
  margin:0!important;
}
.page-home .showcase-heading>div:first-child{max-width:690px!important}
.page-home .showcase-heading .eyebrow{
  margin:0 0 10px!important;
  font-size:.72rem!important;
  letter-spacing:.16em!important;
}
.page-home .showcase-heading h2{
  max-width:680px!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(2.2rem,3vw,3.2rem)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
  text-wrap:balance!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.page-home .showcase-heading__action{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:16px!important;
  margin-top:18px!important;
  padding:0!important;
}
.page-home .showcase-heading__action p{
  display:block!important;
  max-width:410px!important;
  margin:0!important;
  color:#d9e6ed!important;
  font-size:.93rem!important;
  line-height:1.68!important;
}
.page-home .showcase-heading__action .button{
  width:auto!important;
  min-width:310px!important;
  white-space:nowrap!important;
}
.page-home .product-rail{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:16px!important;
  min-width:0!important;
  margin:0!important;
  overflow:visible!important;
  padding:0!important;
}
.page-home .product-mini{
  min-width:0!important;
  flex:0 0 auto!important;
  display:flex!important;
  min-height:0!important;
  flex-direction:column!important;
  padding:14px 14px 16px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(123,220,230,.28)!important;
  border-radius:16px!important;
  box-shadow:0 16px 32px rgba(3,24,39,.18)!important;
}
.page-home .product-mini__image{
  display:block!important;
  aspect-ratio:1.32/1!important;
  margin-bottom:12px!important;
  overflow:hidden!important;
  border-radius:12px!important;
}
.page-home .product-mini__image img{width:100%!important;height:100%!important;object-fit:cover!important}
.page-home .product-mini small{
  display:block!important;
  margin:0 0 8px!important;
  color:#6ee5e8!important;
  font-size:.68rem!important;
  font-weight:850!important;
  line-height:1.3!important;
  text-transform:uppercase!important;
}
.page-home .product-mini strong{
  display:block!important;
  min-height:54px!important;
  color:#fff!important;
  font-size:1.04rem!important;
  line-height:1.24!important;
}
.page-home .product-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin-top:10px!important;
  color:#8beef0!important;
  font-size:1rem!important;
}

/* Restore industry cards with visible images instead of flat dark blocks. */
.page-home .industries-section--showcase{padding:84px 0 90px!important;background:#f5f8fa!important}
.page-home .industry-showcase-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  min-width:0!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 #d8e4e9!important;
  border-radius:18px!important;
  box-shadow:0 16px 36px rgba(5,34,56,.1)!important;
}
.page-home .industry-showcase-card>img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:220px!important;
  flex:0 0 220px!important;
  object-fit:cover!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:228px!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  padding:24px 22px 22px!important;
  background:linear-gradient(160deg,#0a4966 0%,#083b5b 52%,#062944 100%)!important;
}
.page-home .industry-showcase-card__icon{
  position:absolute!important;
  top:-24px!important;
  left:20px!important;
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  margin:0!important;
  color:#fff!important;
  background:linear-gradient(145deg,#15b2ba,#24d2d7)!important;
  border:2px solid #fff!important;
  border-radius:50%!important;
  box-shadow:0 12px 22px rgba(3,28,46,.2)!important;
}
.page-home .industry-showcase-card__icon .ui-icon{width:23px!important;height:23px!important}
.page-home .industry-showcase-card h3{
  margin:14px 0 10px!important;
  color:#fff!important;
  font-size:1.22rem!important;
  line-height:1.2!important;
}
.page-home .industry-showcase-card p{
  display:block!important;
  margin:0 0 18px!important;
  overflow:visible!important;
  color:#d7e5ec!important;
  font-size:.84rem!important;
  line-height:1.6!important;
  -webkit-line-clamp:unset!important;
}
.page-home .industry-showcase-card a{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:auto!important;
  color:#68e6ea!important;
  font-size:.75rem!important;
  font-weight:850!important;
  text-transform:uppercase!important;
}

/* Managed page banners on phones: stronger overlay so copy remains readable. */
@media(max-width:900px){
  .managed-page-banner .page-content{
    align-items:flex-end!important;
  }
  .managed-page-banner .page-content>*:not(.banner-media):not(.page-overlay){
    position:relative!important;
    z-index:2!important;
  }
  .managed-page-banner .breadcrumb,
  .managed-page-banner .eyebrow,
  .managed-page-banner h1,
  .managed-page-banner p,
  .managed-page-banner .page-banner__actions{
    max-width:100%!important;
  }
  .managed-page-banner h1,
  .managed-page-banner p{
    text-shadow:0 3px 18px rgba(0,0,0,.34)!important;
  }

  .page-home .product-showcase>.container,
  .page-home .showcase-heading{
    display:block!important;
  }
  .page-home .showcase-heading{
    margin:0 0 24px!important;
  }
  .page-home .showcase-heading h2{
    max-width:100%!important;
    font-size:clamp(1.98rem,8.2vw,2.7rem)!important;
  }
  .page-home .showcase-heading__action{
    display:block!important;
    margin-top:14px!important;
  }
  .page-home .showcase-heading__action p{
    display:none!important;
  }
  .page-home .showcase-heading__action .button{
    width:100%!important;
    min-width:0!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 0 8px!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:80vw!important;flex-basis:80vw!important;scroll-snap-align:center!important}
  .page-home .industry-showcase-card{min-width:84vw!important;flex-basis: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:215px!important;padding:22px 20px 20px!important}
}

/* Medium desktop widths: switch the featured-products section to a stacked
   layout before the heading becomes too narrow. */
@media(max-width:1380px){
  .page-home .product-showcase>.container{display:block!important}
  .page-home .showcase-heading{margin:0 0 24px!important}
  .page-home .showcase-heading h2{max-width:780px!important}
  .page-home .showcase-heading__action{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:20px!important;
  }
  .page-home .showcase-heading__action p{max-width:520px!important}
  .page-home .product-rail{
    display:flex!important;
    gap:16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 0 8px!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
  }
  .page-home .product-rail::-webkit-scrollbar{display:none!important}
  .page-home .product-mini{min-width:240px!important;flex:0 0 240px!important;scroll-snap-align:start!important}
}

@media(max-width:1180px){
  .page-home .industry-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:760px){
  .page-home .hero__copy{max-width:100%!important}
  .page-home .hero__content h1,
  .page-home .hero__content .hero-title,
  .page-home .hero__title{max-width:13ch!important;font-size:clamp(2rem,9vw,2.72rem)!important}
  .page-home .hero__content p{font-size:.86rem!important;line-height:1.48!important}
  .page-home .hero__actions{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .page-home .hero__actions .button{height:44px!important;font-size:.65rem!important}
  .page-home .hero__dots{bottom:14px!important}
  .page-home .hero__dots button{width:28px!important}.page-home .hero__dots button.active{width:38px!important}

  .page-home .product-showcase{padding:56px 0 60px!important}
  .page-home .showcase-heading h2{font-size:clamp(1.9rem,8.6vw,2.4rem)!important}
  .page-home .product-mini strong{min-height:48px!important;font-size:1rem!important}

  .page-home .industries-section--showcase{padding:66px 0 72px!important}
}

/* ========================================================================== 
   ES-PRO V51 — home visual match refinement (desktop + mobile)
   ========================================================================== */

/* ---------- HOME HERO: desktop closer to the provided reference ---------- */
.page-home .hero{
  min-height:620px!important;
  background:#eff4f7!important;
}
.page-home .hero__slide>img{
  object-position:center center!important;
}
.page-home .hero__veil{
  background:linear-gradient(90deg,rgba(7,34,57,.90) 0%,rgba(7,34,57,.82) 28%,rgba(7,34,57,.55) 48%,rgba(7,34,57,.18) 72%,rgba(7,34,57,.06) 100%)!important;
}
.page-home .hero__content{
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
}
.page-home .hero__content.container{
  display:flex!important;
  align-items:center!important;
  height:100%!important;
  padding:82px 0 138px!important;
}
.page-home .hero__copy{
  max-width:620px!important;
}
.page-home .hero__content .eyebrow{
  margin-bottom:14px!important;
  color:#42dfe4!important;
  font-size:.76rem!important;
  letter-spacing:.15em!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:620px!important;
  margin-bottom:18px!important;
  color:#fff!important;
  font-size:clamp(3.2rem,4.9vw,5rem)!important;
  line-height:1.02!important;
  text-wrap:balance!important;
  letter-spacing:-.055em!important;
  text-shadow:none!important;
}
.page-home .hero__content p{
  max-width:560px!important;
  margin-bottom:24px!important;
  color:rgba(255,255,255,.92)!important;
  font-size:1rem!important;
  line-height:1.62!important;
}
.page-home .hero__actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px!important;
}
.page-home .hero__actions .button{
  width:auto!important;
  min-width:210px!important;
  min-height:54px!important;
}
.page-home .hero__actions .button--primary{
  background:#1cc6d2!important;
  border-color:#1cc6d2!important;
  color:#fff!important;
}
.page-home .hero__actions .button--outline{
  color:#fff!important;
  border-color:rgba(255,255,255,.48)!important;
  background:rgba(255,255,255,.03)!important;
}
.page-home .hero-benefits{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  width:min(100%,650px)!important;
  margin-top:28px!important;
  padding-top:0!important;
}
.page-home .hero-benefits>div{
  align-items:flex-start!important;
  gap:10px!important;
  padding:0 18px 0 0!important;
  border-right:1px solid rgba(255,255,255,.15)!important;
}
.page-home .hero-benefits>div:last-child{border-right:0!important;padding-right:0!important}
.page-home .hero-benefits span{
  color:#2ee1e6!important;
}
.page-home .hero-benefits strong,
.page-home .hero-benefits small{color:#fff!important}
.page-home .hero-benefits small{opacity:.82!important}
.page-home .hero__dots{
  z-index:8!important;
  bottom:78px!important;
  left:54%!important;
  gap:10px!important;
}
.page-home .hero__dots button{
  width:32px!important;
  height:4px!important;
  background:rgba(255,255,255,.5)!important;
  border-radius:999px!important;
}
.page-home .hero__dots button.active{
  width:44px!important;
  background:#18d3db!important;
}
.page-home .trust-strip-wrap{
  position:relative!important;
  z-index:12!important;
  min-height:72px!important;
  background:linear-gradient(180deg,transparent 0,transparent 45%,#f7fafc 46%)!important;
}
.page-home .trust-strip-wrap>.container{
  width:min(1140px,calc(100% - 44px))!important;
}
.page-home .trust-strip{
  min-height:88px!important;
  margin-top:-42px!important;
  border-radius:18px!important;
  box-shadow:0 22px 55px rgba(5,36,64,.14)!important;
}
.page-home .trust-strip__item{
  padding:18px 18px!important;
  align-items:center!important;
}
.page-home .trust-strip__icon{
  width:44px!important;
  height:44px!important;
  flex-basis:44px!important;
  border-radius:14px!important;
}
.page-home .trust-strip__item strong{font-size:1rem!important}
.page-home .trust-strip__item div>span{font-size:.6rem!important;line-height:1.34!important}

/* ---------- FEATURED PRODUCTS: match the provided bright layout ---------- */
.page-home .product-showcase{
  position:relative!important;
  overflow:hidden!important;
  padding:82px 0 96px!important;
  background:linear-gradient(180deg,#fbfcfe 0%,#f1f4f7 100%)!important;
}
.page-home .product-showcase::before{
  position:absolute;left:-120px;bottom:-120px;width:420px;height:220px;content:"";
  background:radial-gradient(circle at 55% 40%,rgba(255,145,38,.84),rgba(255,145,38,.14) 54%,transparent 68%);
  pointer-events:none;
}
.page-home .product-showcase::after{
  position:absolute;right:-90px;bottom:-110px;width:520px;height:250px;content:"";
  background:radial-gradient(circle at 45% 38%,rgba(8,50,95,.95),rgba(8,50,95,.18) 56%,transparent 70%);
  pointer-events:none;
}
.page-home .product-showcase>.container{position:relative!important;z-index:2!important}
.page-home .showcase-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.72fr)!important;
  gap:38px!important;
  align-items:center!important;
  margin-bottom:34px!important;
}
.page-home .showcase-heading .eyebrow{
  color:#ff7a11!important;
  font-size:.84rem!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.page-home .showcase-heading h2{
  max-width:820px!important;
  color:#072247!important;
  font-size:clamp(2.7rem,4.2vw,4.4rem)!important;
  line-height:1.06!important;
  letter-spacing:-.055em!important;
  text-wrap:balance!important;
}
.page-home .showcase-heading__action{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:18px!important;
  margin:0!important;
}
.page-home .showcase-heading__action p{
  max-width:470px!important;
  margin:0!important;
  padding-left:18px!important;
  border-left:3px solid #ff7a11!important;
  color:#334d63!important;
  font-size:1rem!important;
  line-height:1.72!important;
}
.page-home .showcase-heading__action .button{
  min-width:360px!important;
  background:#ff7a11!important;
  border-color:#ff7a11!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(255,122,17,.22)!important;
}
.page-home .product-rail{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px!important;
  overflow:visible!important;
  padding:0!important;
}
.page-home .product-mini{
  position:relative!important;
  display:flex!important;
  min-width:0!important;
  min-height:0!important;
  flex-direction:column!important;
  padding:0 0 18px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #e2e8ef!important;
  border-radius:22px!important;
  box-shadow:0 20px 44px rgba(6,40,71,.10)!important;
}
.page-home .product-mini::before{
  position:absolute;left:24px;top:206px;width:54px;height:54px;content:"";
  background:#fff; border-radius:16px; box-shadow:0 12px 22px rgba(6,40,71,.12);
}
.page-home .product-mini:nth-child(1)::after,
.page-home .product-mini:nth-child(2)::after,
.page-home .product-mini:nth-child(3)::after,
.page-home .product-mini:nth-child(4)::after,
.page-home .product-mini:nth-child(5)::after{
  position:absolute;left:24px;top:206px;width:54px;height:54px;display:grid;place-items:center;content:"↗";
  color:#ff7a11;font-size:1.28rem;font-weight:900;z-index:2;
}
.page-home .product-mini__image{
  display:block!important;
  aspect-ratio:1.2/1!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:22px 22px 0 0!important;
}
.page-home .product-mini__image img{
  width:100%!important;height:100%!important;object-fit:cover!important;
}
.page-home .product-mini small{
  display:block!important;
  margin:34px 24px 10px!important;
  color:#ff7a11!important;
  font-size:.78rem!important;
  font-weight:850!important;
  line-height:1.35!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.page-home .product-mini strong{
  display:block!important;
  min-height:104px!important;
  margin:0 24px 14px!important;
  color:#071f43!important;
  font-size:1.08rem!important;
  line-height:1.28!important;
}
.page-home .product-mini .product-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin-top:auto!important;
  margin-left:24px!important;
  color:#ff7a11!important;
  font-size:1.55rem!important;
}

/* ---------- INDUSTRY SHOWCASE: lighter premium layout like reference ---------- */
.page-home .industries-section--showcase{
  position:relative!important;
  overflow:hidden!important;
  padding:86px 0 102px!important;
  background:linear-gradient(180deg,#f8fbfd 0%,#edf2f6 100%)!important;
}
.page-home .industries-section--showcase::before{
  position:absolute;left:-120px;top:80px;width:280px;height:280px;content:"";
  background:radial-gradient(circle,rgba(80,201,191,.16) 0,rgba(80,201,191,.08) 48%,transparent 66%);
}
.page-home .industries-section--showcase::after{
  position:absolute;right:-120px;top:-40px;width:760px;height:300px;content:"";
  background:radial-gradient(circle at 48% 45%,rgba(11,86,173,.10),transparent 62%);
}
.page-home .industries-section--showcase>.container{position:relative!important;z-index:2!important}
.page-home .industries-section--showcase .section-heading.split{
  display:grid!important;
  grid-template-columns:minmax(0,1.16fr) minmax(340px,.72fr)!important;
  gap:42px!important;
  align-items:start!important;
  margin-bottom:38px!important;
}
.page-home .industries-section--showcase .section-heading .eyebrow{
  color:#0b8f89!important;
}
.page-home .industries-section--showcase .section-heading h2{
  max-width:790px!important;
  color:#08264b!important;
  font-size:clamp(2.65rem,4.15vw,4.3rem)!important;
  line-height:1.06!important;
  letter-spacing:-.055em!important;
  text-wrap:balance!important;
}
.page-home .industries-section--showcase .section-heading p{
  max-width:470px!important;
  margin:0 0 18px!important;
  color:#536a7e!important;
  font-size:1rem!important;
  line-height:1.75!important;
}
.page-home .industries-section--showcase .text-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:14px 22px!important;
  color:#fff!important;
  font-size:.92rem!important;
  font-weight:850!important;
  background:linear-gradient(90deg,#56c886 0%,#2da4c9 52%,#215dcf 100%)!important;
  border-radius:12px!important;
  box-shadow:0 14px 28px rgba(33,93,207,.18)!important;
}
.page-home .industry-showcase-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  overflow:visible!important;
  padding:0!important;
}
.page-home .industry-showcase-card{
  position:relative!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #dce5ee!important;
  border-radius:22px!important;
  box-shadow:0 20px 45px rgba(6,40,71,.10)!important;
}
.page-home .industry-showcase-card>img{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:235px!important;
  object-fit:cover!important;
}
.page-home .industry-showcase-card__shade{display:none!important}
.page-home .industry-showcase-card__body{
  position:relative!important;
  inset:auto!important;
  min-height:255px!important;
  padding:28px 22px 24px!important;
  background:linear-gradient(140deg,#0a6f78 0%,#0b5369 100%)!important;
}
.page-home .industry-showcase-card:nth-child(1) .industry-showcase-card__body{background:linear-gradient(145deg,#3da17e 0%,#0d6a75 100%)!important}
.page-home .industry-showcase-card:nth-child(2) .industry-showcase-card__body{background:linear-gradient(145deg,#2376d0 0%,#1252ad 100%)!important}
.page-home .industry-showcase-card:nth-child(3) .industry-showcase-card__body{background:linear-gradient(145deg,#0e97a1 0%,#0a6b89 100%)!important}
.page-home .industry-showcase-card:nth-child(4) .industry-showcase-card__body{background:linear-gradient(145deg,#7b59df 0%,#4b43b5 100%)!important}
.page-home .industry-showcase-card__icon{
  position:absolute!important;
  top:-30px!important;
  left:22px!important;
  display:grid!important;
  place-items:center!important;
  width:64px!important;
  height:64px!important;
  margin:0!important;
  color:#fff!important;
  background:rgba(255,255,255,.12)!important;
  border:4px solid rgba(255,255,255,.92)!important;
  border-radius:50%!important;
  box-shadow:0 14px 24px rgba(6,40,71,.12)!important;
}
.page-home .industry-showcase-card__icon .ui-icon{width:30px!important;height:30px!important}
.page-home .industry-showcase-card h3{
  margin:16px 0 12px!important;
  color:#fff!important;
  font-size:1.18rem!important;
  line-height:1.18!important;
}
.page-home .industry-showcase-card p{
  margin:0 0 22px!important;
  color:rgba(255,255,255,.92)!important;
  font-size:.87rem!important;
  line-height:1.65!important;
}
.page-home .industry-showcase-card a{
  margin-top:auto!important;
  color:#c9fff6!important;
  font-size:.86rem!important;
  font-weight:850!important;
  text-transform:uppercase!important;
}

/* ---------- MOBILE HOME: white, clean, readable like the provided mock ---------- */
@media (max-width: 820px){
  .page-home .hero{
    min-height:860px!important;
    background:#f6f8fb!important;
  }
  .page-home .hero__slide>img{
    object-position:72% top!important;
  }
  .page-home .hero__veil{
    background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.93) 38%,rgba(255,255,255,.74) 64%,rgba(255,255,255,.38) 100%)!important;
  }
  .page-home .hero__content{
    top:0!important;
    transform:none!important;
  }
  .page-home .hero__content.container{
    display:block!important;
    padding:168px 0 146px!important;
    height:100%!important;
  }
  .page-home .hero__copy{max-width:100%!important}
  .page-home .hero__content .eyebrow{
    margin-bottom:16px!important;
    color:#1f58bb!important;
    font-size:.73rem!important;
    letter-spacing:.06em!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:10.5ch!important;
    margin-bottom:18px!important;
    color:#0a2a59!important;
    font-size:clamp(2.35rem,9.5vw,3.05rem)!important;
    line-height:1.08!important;
    text-wrap:balance!important;
  }
  .page-home .hero__content p{
    max-width:88%!important;
    margin-bottom:22px!important;
    color:#4f6274!important;
    font-size:1rem!important;
    line-height:1.68!important;
  }
  .page-home .hero__actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    max-width:360px!important;
  }
  .page-home .hero__actions .button{
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
    font-size:.94rem!important;
  }
  .page-home .hero__actions .button--primary{
    background:#1d5ed6!important;
    border-color:#1d5ed6!important;
  }
  .page-home .hero__actions .button--outline{
    color:#1d4fae!important;
    background:rgba(255,255,255,.78)!important;
    border-color:#97b3ea!important;
  }
  .page-home .hero-benefits{
    grid-template-columns:1fr 1fr!important;
    gap:12px 18px!important;
    width:100%!important;
    margin-top:24px!important;
  }
  .page-home .hero-benefits>div{
    border-right:0!important;
    padding:0!important;
  }
  .page-home .hero-benefits>div:nth-child(3){display:none!important}
  .page-home .hero-benefits strong{color:#1c4ea8!important}
  .page-home .hero-benefits small{color:#54718e!important}
  .page-home .hero-benefits span{color:#2565db!important}
  .page-home .hero__dots{
    bottom:126px!important;
    left:50%!important;
  }
  .page-home .hero__dots button{background:rgba(29,94,214,.25)!important}
  .page-home .hero__dots button.active{background:#1d5ed6!important}

  .page-home .trust-strip-wrap{
    margin-top:-94px!important;
    padding:0 14px 8px!important;
    background:transparent!important;
  }
  .page-home .trust-strip-wrap>.container{
    width:100%!important;
    max-width:none!important;
  }
  .page-home .trust-strip{
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    border-radius:22px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 18px 40px rgba(6,40,71,.12)!important;
  }
  .page-home .trust-strip__item{
    min-height:118px!important;
    padding:18px 16px!important;
    border-bottom:1px solid #e7edf3!important;
    border-right:1px solid #e7edf3!important;
  }
  .page-home .trust-strip__item:nth-child(2n){border-right:0!important}
  .page-home .trust-strip__item:nth-child(5){grid-column:1 / -1!important;border-bottom:0!important;border-right:0!important}
  .page-home .trust-strip__icon{
    width:50px!important;height:50px!important;flex-basis:50px!important;border-radius:16px!important;
    background:#eff5ff!important;color:#1d5ed6!important;
  }
  .page-home .trust-strip__item strong{
    font-size:1.05rem!important;
    color:#173e86!important;
  }
  .page-home .trust-strip__item div>span{
    font-size:.78rem!important;
    color:#5d6f82!important;
    text-transform:none!important;
    letter-spacing:0!important;
  }

  .page-home .product-showcase,
  .page-home .industries-section--showcase{
    padding:64px 0 74px!important;
  }
  .page-home .showcase-heading,
  .page-home .industries-section--showcase .section-heading.split{
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin-bottom:24px!important;
  }
  .page-home .showcase-heading h2,
  .page-home .industries-section--showcase .section-heading h2{
    font-size:clamp(2rem,8.6vw,2.65rem)!important;
    line-height:1.1!important;
  }
  .page-home .showcase-heading__action p,
  .page-home .industries-section--showcase .section-heading p{
    max-width:none!important;
    font-size:.96rem!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:16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 0 8px!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:78vw!important;
    flex:0 0 78vw!important;
    scroll-snap-align:start!important;
  }
  .page-home .product-mini::before,
  .page-home .product-mini::after{top:174px!important}
  .page-home .product-mini strong{min-height:84px!important}
  .page-home .industry-showcase-card{
    min-width:84vw!important;
    flex:0 0 84vw!important;
    scroll-snap-align:start!important;
  }
  .page-home .industry-showcase-card>img{height:210px!important}
  .page-home .industry-showcase-card__body{min-height:235px!important}
}

/* ---------- Mid-width desktops: avoid collapsing titles into narrow stacks ---------- */
@media (max-width: 1460px){
  .page-home .showcase-heading,
  .page-home .industries-section--showcase .section-heading.split{
    grid-template-columns:minmax(0,1fr) minmax(300px,.7fr)!important;
  }
  .page-home .product-rail{grid-template-columns:repeat(5,minmax(210px,1fr))!important}
}

@media (max-width: 1280px){
  .page-home .product-rail,
  .page-home .industry-showcase-grid{
    display:flex!important;
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 0 8px!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:240px!important;flex:0 0 240px!important;scroll-snap-align:start!important}
  .page-home .industry-showcase-card{min-width:268px!important;flex:0 0 268px!important;scroll-snap-align:start!important}
}
