/* MCE HOMEPAGE A12.1 — DROP-IN VERIFIED BUILD */
/* =========================================================
   MCE HOMEPAGE A0
   Scoped under #mceh-root to avoid Elementor/theme collisions.
========================================================= */
#mceh-root{
  --mceh-navy:#071728;
  --mceh-navy-2:#0b2139;
  --mceh-blue:#1769aa;
  --mceh-blue-2:#2f83c5;
  --mceh-ice:#eaf3fa;
  --mceh-bg:#f4f6f8;
  --mceh-line:#d9e0e6;
  --mceh-text:#17212b;
  --mceh-muted:#63717e;
  --mceh-white:#fff;
  --mceh-max:1240px;
  --mceh-head:"Inter","Segoe UI",Arial,sans-serif;
  --mceh-body:"Inter","Segoe UI",Arial,sans-serif;

  position:relative;
  width:100%;
  overflow:hidden;
  background:var(--mceh-white);
  color:var(--mceh-text);
  font-family:var(--mceh-body);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

#mceh-root *,
#mceh-root *::before,
#mceh-root *::after{box-sizing:border-box}

#mceh-root a{color:inherit;text-decoration:none}
#mceh-root img{display:block;max-width:100%}
#mceh-root button,
#mceh-root input,
#mceh-root select{font:inherit}
#mceh-root h1,
#mceh-root h2,
#mceh-root h3,
#mceh-root p{margin-top:0}

.mceh-container{
  width:min(calc(100% - 48px),var(--mceh-max));
  margin-inline:auto;
}

.mceh-scroll-progress{
  position:fixed;
  top:0;left:0;
  z-index:10000;
  width:0;
  height:3px;
  background:linear-gradient(90deg,var(--mceh-blue),#79b9ea);
  pointer-events:none;
}


/* ---------- A5 ELEMENTOR EDGE-TO-EDGE FIX ----------
   The previous white frame came from the Elementor parent container,
   not from the hero itself. Break the page root out to the viewport.
----------------------------------------------------- */
html,body{
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
}

body.elementor-page .elementor-widget-html,
body.elementor-page .elementor-widget-html > .elementor-widget-container{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
}

#mceh-root{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

#mceh-root .mceh-hero,
#mceh-root .mceh-action-section,
#mceh-root .mceh-software-section,
#mceh-root .mceh-final-cta,
#mceh-root .mceh-footer{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}


/* =========================================================
   A7 — ELEMENTOR PARENT CONTAINER RESET
   The HTML widget is inside an Elementor Flexbox container.
   Reset the ancestors that contain #mceh-root so the hero starts
   at the absolute top and spans the viewport with no frame/gap.
========================================================= */
body.elementor-page .e-con:has(#mceh-root),
body.elementor-page .e-con-inner:has(#mceh-root),
body.elementor-page .elementor-section:has(#mceh-root),
body.elementor-page .elementor-container:has(#mceh-root),
body.elementor-page .elementor-column:has(#mceh-root),
body.elementor-page .elementor-widget-wrap:has(#mceh-root),
body.elementor-page .elementor-element:has(> .elementor-widget-container > #mceh-root){
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  --padding-top:0px!important;
  --padding-right:0px!important;
  --padding-bottom:0px!important;
  --padding-left:0px!important;
  --gap:0px!important;
  --content-width:100%!important;
  --container-max-width:100%!important;
}

body.elementor-page .elementor-widget-html:has(#mceh-root),
body.elementor-page .elementor-widget-html:has(#mceh-root) > .elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

body.elementor-page main,
body.elementor-page .site-main,
body.elementor-page #content,
body.elementor-page #primary{
  margin-top:0!important;
  padding-top:0!important;
}

#mceh-root{
  position:relative!important;
  top:0!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-top:0!important;
  margin-bottom:0!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

#mceh-root .mceh-hero{
  position:relative!important;
  top:0!important;
  margin-top:0!important;
  width:100vw!important;
  max-width:100vw!important;
}

/* ---------- HEADER ---------- */
.mceh-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:9990;
  height:88px;
  transition:height .55s cubic-bezier(.16,1,.3,1),background .55s cubic-bezier(.16,1,.3,1),box-shadow .55s cubic-bezier(.16,1,.3,1),border-color .55s cubic-bezier(.16,1,.3,1);
  border-bottom:1px solid rgba(255,255,255,.16);
}

.mceh-header.is-scrolled{
  height:72px;
  background:rgba(255,255,255,.94);
  border-bottom-color:rgba(17,38,58,.1);
  box-shadow:0 14px 40px rgba(6,27,45,.08);
  backdrop-filter:blur(15px);
}

.mceh-header-inner{
  width:min(calc(100% - 48px),var(--mceh-max));
  height:100%;
  margin-inline:auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
}

.mceh-brand{
  display:flex;
  align-items:center;
  width:178px;
  height:66px;
  transition:width .5s cubic-bezier(.16,1,.3,1),height .5s cubic-bezier(.16,1,.3,1);
}

.mceh-brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}

.mceh-header.is-scrolled .mceh-brand{width:162px;height:56px}

.mceh-nav{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:28px;
}

.mceh-nav a{
  position:relative;
  font-size:13px;
  font-weight:700;
  color:#fff;
  letter-spacing:.01em;
  padding:31px 0 28px;
  transition:color .25s ease;
}

.mceh-nav a::after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:21px;
  height:2px;
  background:#fff;
  transition:right .25s ease;
}

.mceh-nav a:hover::after,
.mceh-nav a.is-active::after{right:0}

.mceh-header.is-scrolled .mceh-nav a{color:var(--mceh-navy)}
.mceh-header.is-scrolled .mceh-nav a::after{background:var(--mceh-blue)}

.mceh-header-actions{
  display:flex;
  align-items:center;
  gap:13px;
}

.mceh-phone{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  font-weight:750;
  color:#fff;
  white-space:nowrap;
}

.mceh-phone-icon{
  width:25px;height:25px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
}

.mceh-phone svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8}
.mceh-header.is-scrolled .mceh-phone{color:var(--mceh-navy)}
.mceh-header.is-scrolled .mceh-phone-icon{border-color:#d8e0e7}

.mceh-quote-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 16px;
  color:#fff!important;
  background:var(--mceh-blue);
  font-size:12px;
  font-weight:800;
  border:1px solid var(--mceh-blue);
  transition:background .2s ease,transform .2s ease;
}

.mceh-quote-btn:hover{background:#0f578f;transform:translateY(-1px)}

.mceh-lang{
  display:flex;
  align-items:center;
  gap:5px;
  color:rgba(255,255,255,.72);
  font-size:10px;
  font-weight:800;
}

.mceh-lang a{opacity:.65}
.mceh-lang a.is-active,.mceh-lang a:hover{opacity:1}
.mceh-header.is-scrolled .mceh-lang{color:#6c7782}

.mceh-menu-btn{
  display:none;
  width:44px;height:44px;
  padding:10px;
  border:0;
  background:transparent;
  cursor:pointer;
}

.mceh-menu-btn span{
  display:block;
  height:2px;
  margin:5px 0;
  background:#fff;
  transition:.25s ease;
}

.mceh-header.is-scrolled .mceh-menu-btn span{background:var(--mceh-navy)}

.mceh-mobile-panel{
  display:none;
  background:#fff;
  box-shadow:0 22px 35px rgba(4,19,32,.12);
  border-top:1px solid #e5eaee;
  padding:20px 24px 24px;
}

.mceh-mobile-panel a{
  display:block;
  padding:11px 0;
  color:var(--mceh-navy);
  font-weight:700;
  border-bottom:1px solid #eef1f4;
}

.mceh-mobile-panel .mceh-mobile-quote{
  margin-top:14px;
  padding:13px 16px;
  text-align:center;
  color:#fff;
  background:var(--mceh-blue);
  border:0;
}

.mceh-mobile-lang{display:flex;gap:18px;margin-top:12px}
.mceh-mobile-lang a{border:0;font-size:12px}

/* ---------- HERO ---------- */
.mceh-hero{
  position:relative;
  min-height:760px;
  display:flex;
  align-items:center;
  background:var(--mceh-navy);
  color:#fff;
}

.mceh-hero-photo,
.mceh-hero-overlay,
.mceh-tech-grid{
  position:absolute;
  inset:0;
}

.mceh-hero-photo{
  overflow:hidden;
}
.mceh-hero-photo img{
  width:100%;height:108%;
  object-fit:cover;
  object-position:center;
  transform:translate3d(0,-3%,0) scale(1.055);
  transform-origin:center center;
  will-change:transform;
  backface-visibility:hidden;
}

.mceh-hero-overlay{
  background:
    linear-gradient(90deg,rgba(4,18,31,.94) 0%,rgba(4,18,31,.82) 39%,rgba(4,18,31,.36) 68%,rgba(4,18,31,.2) 100%),
    linear-gradient(180deg,rgba(4,18,31,.18),rgba(4,18,31,.55));
}

.mceh-tech-grid{
  opacity:.14;
  background-image:
    linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 45%,transparent 80%);
}

.mceh-hero-inner{
  position:relative;
  z-index:2;
  min-height:760px;
  padding-top:95px;
  padding-bottom:105px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.55fr);
  align-items:center;
  gap:72px;
}

.mceh-hero-copy{max-width:810px}

.mceh-eyebrow,
.mceh-section-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:10px;
  font-weight:850;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.mceh-eyebrow{color:#b9d9ef;margin-bottom:25px}
.mceh-eyebrow span{width:38px;height:1px;background:#79b9ea}

.mceh-hero h1{
  margin-bottom:21px;
  font-size:clamp(48px,5.1vw,76px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:760;
  max-width:850px;
}

.mceh-hero h1 em{
  font-style:normal;
  font-weight:330;
  color:#b9d9ef;
}

.mceh-hero-sub{
  margin-bottom:18px;
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.095em;
  text-transform:uppercase;
}
.mceh-hero-sub b{color:#6eaedc;margin:0 7px}

.mceh-hero-lead{
  max-width:690px;
  margin-bottom:31px;
  color:#d5e0e9;
  font-size:17px;
  line-height:1.7;
}

.mceh-hero-actions{display:flex;flex-wrap:wrap;gap:12px}

.mceh-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:51px;
  padding:0 20px;
  font-size:12px;
  font-weight:850;
  letter-spacing:.025em;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}

.mceh-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.mceh-btn:hover{transform:translateY(-2px)}

.mceh-btn-primary{color:#fff!important;background:var(--mceh-blue);border:1px solid var(--mceh-blue)}
.mceh-btn-primary:hover{background:#0e578f;border-color:#0e578f}

.mceh-btn-ghost{color:#fff!important;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.03)}
.mceh-btn-ghost:hover{background:#fff;color:var(--mceh-navy)!important}

.mceh-btn-dark{color:#fff!important;background:var(--mceh-navy);border:1px solid var(--mceh-navy)}
.mceh-btn-dark:hover{background:var(--mceh-blue);border-color:var(--mceh-blue)}
.mceh-btn-light{color:var(--mceh-navy)!important;background:#fff;border:1px solid #fff}
.mceh-btn-light:hover{background:#dcebf6;border-color:#dcebf6}

.mceh-hero-proof{
  margin-top:38px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:11px;
  color:#d4dde5;
  font-size:11px;
  font-weight:700;
}

.mceh-proof-dot{
  width:7px;height:7px;border-radius:50%;
  background:#65c595;
  box-shadow:0 0 0 5px rgba(101,197,149,.12);
}

.mceh-proof-sep{width:1px;height:13px;background:rgba(255,255,255,.26)}

.mceh-hero-side{
  justify-self:end;
  align-self:center;
  width:300px;
}

.mceh-lottie-orbit{
  position:relative;
  width:260px;height:260px;
  margin-left:auto;
  border:1px solid rgba(255,255,255,.17);
  border-radius:50%;
  background:rgba(5,21,35,.18);
  backdrop-filter:blur(4px);
}

.mceh-lottie-orbit::before,
.mceh-lottie-orbit::after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
}
.mceh-lottie-orbit::after{inset:49px}

.mceh-lottie-box{
  position:absolute;
  inset:48px;
  z-index:2;
}

.mceh-orbit-label span{
  position:absolute;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#c8dcec;
}
.mceh-orbit-label span:nth-child(1){top:18px;left:50%;transform:translateX(-50%)}
.mceh-orbit-label span:nth-child(2){right:-12px;top:50%;transform:translateY(-50%) rotate(90deg)}
.mceh-orbit-label span:nth-child(3){bottom:18px;left:50%;transform:translateX(-50%)}

.mceh-hero-index{
  margin-top:34px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:11px;
  color:#a9bdcc;
}
.mceh-hero-index span{font-size:11px;font-weight:850}
.mceh-hero-index i{height:1px;background:rgba(255,255,255,.22)}
.mceh-hero-index small{font-size:8px;letter-spacing:.16em;font-weight:800}

.mceh-hero-bottom-line{
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent);
}

/* ---------- FLOATING FORM ---------- */
.mceh-form-zone{
  position:relative;
  z-index:10;
  height:0;
}

.mceh-quick-form{
  position:relative;
  top:-45px;
  display:grid;
  grid-template-columns:1.2fr 1fr .92fr 1fr 1.02fr auto;
  gap:0;
  align-items:stretch;
  background:#fff;
  box-shadow:0 22px 60px rgba(4,25,43,.17);
  border:1px solid rgba(9,38,61,.08);
}

.mceh-form-intro,
.mceh-quick-form label,
.mceh-quick-form button{
  min-height:96px;
}

.mceh-form-intro{
  padding:18px 22px;
  background:var(--mceh-navy);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.mceh-form-intro small{font-size:8px;letter-spacing:.16em;color:#8fc4e9;font-weight:850}
.mceh-form-intro strong{font-size:17px;line-height:1.25;margin:5px 0 2px}
.mceh-form-intro span{font-size:10px;color:#bfcdd7}

.mceh-quick-form label{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:14px 18px;
  border-right:1px solid #e8edf1;
}
.mceh-quick-form label>span{
  display:block;
  margin-bottom:5px;
  color:#7d8994;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mceh-quick-form input,
.mceh-quick-form select{
  width:100%;
  min-width:0;
  padding:0;
  color:var(--mceh-navy);
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:12px;
  font-weight:700;
}
.mceh-quick-form input::placeholder{color:#a5afb7}
.mceh-quick-form select{cursor:pointer}

.mceh-quick-form button{
  border:0;
  padding:0 21px;
  background:var(--mceh-blue);
  color:#fff;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  white-space:nowrap;
  transition:background .2s ease;
}
.mceh-quick-form button:hover{background:#0f578f}
.mceh-quick-form button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}

/* ---------- GENERIC ---------- */
.mceh-section{padding:112px 0}
.mceh-section-kicker{color:var(--mceh-blue);margin-bottom:17px}
.mceh-kicker-light{color:#8ec3e7}

.mceh-section-head{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:80px;
  align-items:end;
  margin-bottom:55px;
}

.mceh-section-head h2,
.mceh-intro-copy h2,
.mceh-workflow h2,
.mceh-software-section h2,
.mceh-why h2,
.mceh-final-cta h2{
  margin:0;
  color:var(--mceh-navy);
  font-size:clamp(37px,4vw,57px);
  line-height:1.04;
  letter-spacing:-.04em;
  font-weight:670;
}

.mceh-section-head>p{
  margin:0;
  color:var(--mceh-muted);
  font-size:14px;
  line-height:1.8;
}

.mceh-text-link{
  display:inline-flex;
  align-items:center;
  gap:11px;
  margin-top:22px;
  color:var(--mceh-navy)!important;
  font-size:12px;
  font-weight:850;
  border-bottom:1px solid #b8c1c8;
  padding-bottom:4px;
}
.mceh-text-link span{color:var(--mceh-blue)}

/* ---------- INTRO ---------- */
.mceh-intro-section{padding-top:135px;background:#fff}
.mceh-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
  gap:88px;
  align-items:center;
}
.mceh-intro-copy h2{margin-bottom:29px}
.mceh-intro-copy p{
  color:var(--mceh-muted);
  font-size:14px;
  line-height:1.8;
}
.mceh-intro-copy .mceh-big-copy{
  color:#374450;
  font-size:18px;
  line-height:1.65;
}
.mceh-intro-copy .mceh-big-copy strong{color:var(--mceh-navy)}

.mceh-intro-image{
  position:relative;
  margin:0;
  height:470px;
  overflow:hidden;
  background:#dce5ec;
}
.mceh-intro-image img{width:100%;height:100%;object-fit:cover}
.mceh-intro-image figcaption{
  position:absolute;
  left:0;bottom:0;
  min-width:250px;
  padding:16px 19px;
  background:#fff;
  border-top:3px solid var(--mceh-blue);
}
.mceh-intro-image figcaption span{display:block;font-size:12px;font-weight:850;color:var(--mceh-navy)}
.mceh-intro-image figcaption small{font-size:9px;color:#77838d}

.mceh-stats{
  margin-top:82px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--mceh-line);
  border-bottom:1px solid var(--mceh-line);
}
.mceh-stat{
  min-height:150px;
  padding:26px 20px 24px;
  border-right:1px solid var(--mceh-line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.mceh-stat:first-child{padding-left:0}
.mceh-stat:last-child{border-right:0}
.mceh-stat strong{
  color:var(--mceh-navy);
  font-size:44px;
  line-height:1;
  letter-spacing:-.045em;
}
.mceh-stat span{
  color:#6b7781;
  font-size:10px;
  font-weight:750;
  line-height:1.45;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.mceh-stat-year strong{font-size:36px;color:var(--mceh-blue)}

/* ---------- SERVICES ---------- */
.mceh-services{background:var(--mceh-bg)}
.mceh-service-list{border-top:1px solid #cad2d9}
.mceh-service-row{
  display:grid;
  grid-template-columns:62px minmax(250px,.9fr) minmax(260px,1fr) 48px;
  gap:28px;
  align-items:center;
  min-height:132px;
  border-bottom:1px solid #cad2d9;
  transition:background .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s cubic-bezier(.16,1,.3,1);
}
.mceh-service-row:hover{background:#fff;transform:translate3d(7px,0,0);box-shadow:0 12px 36px rgba(7,31,50,.045)}
.mceh-service-no{font-size:10px;font-weight:850;color:#91a0ac}
.mceh-service-title h3{
  margin:0 0 6px;
  color:var(--mceh-navy);
  font-size:22px;
  letter-spacing:-.02em;
}
.mceh-service-title span{
  display:block;
  color:var(--mceh-blue);
  font-size:9px;
  font-weight:850;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.mceh-service-copy{color:#697681;font-size:12px;line-height:1.7}
.mceh-service-row>a{
  width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid #cbd4dc;
  border-radius:50%;
  color:var(--mceh-navy);
  transition:.2s ease;
}
.mceh-service-row:hover>a{background:var(--mceh-navy);border-color:var(--mceh-navy);color:#fff}
.mceh-services-cta{margin-top:38px;display:flex;justify-content:flex-end}

/* ---------- MCE IN ACTION ---------- */
.mceh-action-section{
  padding:112px 0 120px;
  background:var(--mceh-navy);
  color:#fff;
}
.mceh-action-section .mceh-section-head h2{color:#fff}
.mceh-action-section .mceh-section-head p{color:#b8c8d4}

.mceh-action-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr .75fr;
  grid-template-rows:265px 265px;
  gap:12px;
}
.mceh-action-grid figure{
  position:relative;
  margin:0;
  overflow:hidden;
  background:#0d2842;
}
.mceh-action-grid img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform 1.05s cubic-bezier(.16,1,.3,1);
}
.mceh-action-grid figure:hover img{transform:scale(1.025)}
.mceh-action-grid figure::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(3,15,25,.76));
  pointer-events:none;
}
.mceh-action-main{grid-row:1/3}
.mceh-action-wide{grid-column:2/4}
.mceh-action-grid figcaption{
  position:absolute;
  z-index:2;
  left:18px;right:18px;bottom:16px;
}
.mceh-action-grid figcaption b{display:block;font-size:12px}
.mceh-action-grid figcaption span{display:block;margin-top:2px;color:#c2d0da;font-size:9px}

/* ---------- WORKFLOW ---------- */
.mceh-workflow{background:#fff}
.mceh-workflow-grid{
  display:grid;
  grid-template-columns:minmax(280px,.55fr) minmax(600px,1.45fr);
  gap:95px;
  align-items:center;
}
.mceh-workflow-copy p{margin:24px 0 0;color:var(--mceh-muted);font-size:14px;line-height:1.8}

.mceh-process{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:34px;
  padding-top:15px;
}
.mceh-process-line{
  position:absolute;
  top:74px;left:12%;right:12%;
  height:1px;
  background:#d7e0e7;
  overflow:hidden;
}
.mceh-process-line span{
  display:block;
  width:32%;height:100%;
  background:linear-gradient(90deg,transparent,var(--mceh-blue),transparent);
  animation:mcehLineScan 3.2s ease-in-out infinite;
}
@keyframes mcehLineScan{
  0%{transform:translateX(-100%)}
  100%{transform:translateX(420%)}
}
.mceh-process-step{position:relative;z-index:2}
.mceh-process-num{
  margin-bottom:14px;
  color:#8b99a4;
  font-size:9px;
  font-weight:850;
  letter-spacing:.1em;
}
.mceh-process-icon{
  width:78px;height:78px;
  display:grid;place-items:center;
  margin-bottom:23px;
  border-radius:50%;
  background:#fff;
  border:1px solid #dbe3e9;
}
.mceh-process-icon svg{
  width:47px;height:47px;
  fill:none;
  stroke:var(--mceh-blue);
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mceh-process-icon .mceh-scan-beam{
  stroke:#68aedd;
  animation:mcehBeam 2.2s ease-in-out infinite alternate;
}
@keyframes mcehBeam{
  from{transform:translateY(-5px)}
  to{transform:translateY(31px)}
}
.mceh-process-step h3{margin:0 0 9px;color:var(--mceh-navy);font-size:17px}
.mceh-process-step p{margin:0;color:#74808a;font-size:11px;line-height:1.65}

/* ---------- PRODUCTS ---------- */
.mceh-tech-section{background:#f3f5f7}
.mceh-product-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.mceh-product-card{
  display:block;
  background:#fff;
  border:1px solid #e0e6ea;
  overflow:hidden;
  transition:transform .65s cubic-bezier(.16,1,.3,1),box-shadow .65s cubic-bezier(.16,1,.3,1),border-color .65s cubic-bezier(.16,1,.3,1);
}
.mceh-product-card:hover{
  transform:translateY(-4px);
  border-color:transparent;
  box-shadow:0 22px 55px rgba(7,31,50,.13);
}
.mceh-product-media{
  position:relative;
  height:315px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.mceh-product-media img{
  width:84%;height:84%;
  object-fit:contain;
  transition:transform .9s cubic-bezier(.16,1,.3,1);
}
.mceh-product-card:hover .mceh-product-media img{transform:scale(1.035)}
.mceh-product-media>span{
  position:absolute;
  top:17px;left:17px;
  padding:7px 9px;
  background:#f0f5f8;
  color:#4e6374;
  font-size:8px;
  font-weight:850;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.mceh-product-meta{padding:21px 22px 23px;border-top:1px solid #edf0f2}
.mceh-product-meta h3{margin:0 0 7px;color:var(--mceh-navy);font-size:19px}
.mceh-product-meta p{margin:0;color:#74808a;font-size:11px;line-height:1.65}
.mceh-product-meta i{display:inline-block;margin-top:17px;color:var(--mceh-blue);font-size:10px;font-style:normal;font-weight:850}
.mceh-tech-foot{
  margin-top:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.mceh-tech-foot p{max-width:650px;margin:0;color:#64727d;font-size:11px;line-height:1.7}
.mceh-tech-foot strong{color:var(--mceh-navy)}

/* ---------- SOFTWARE ---------- */
.mceh-software-section{
  padding:115px 0;
  background:#0a1c2f;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.mceh-software-section::before{
  content:"";
  position:absolute;
  width:560px;height:560px;
  right:-210px;top:-170px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:
    0 0 0 80px rgba(255,255,255,.025),
    0 0 0 160px rgba(255,255,255,.018);
}
.mceh-software-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:80px;
  align-items:start;
}
.mceh-software-copy h2{color:#fff;margin-bottom:23px}
.mceh-software-copy p{color:#b9c8d3;font-size:13px;line-height:1.8;margin-bottom:28px}
.mceh-software-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.mceh-software-card{
  min-height:245px;
  padding:22px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.11);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:background .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1),border-color .65s cubic-bezier(.16,1,.3,1),box-shadow .65s cubic-bezier(.16,1,.3,1);
}
.mceh-software-card:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.09);
  border-color:rgba(143,196,233,.34);
}
.mceh-software-image{
  height:95px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
}
.mceh-software-image img{
  max-width:85%;
  max-height:85px;
  object-fit:contain;
  object-position:left center;
}
.mceh-software-wordmark{
  height:95px;
  display:flex;
  align-items:center;
  color:#fff;
  font-size:30px;
  font-weight:850;
  letter-spacing:-.04em;
}
.mceh-software-wordmark sup{font-size:10px;margin-left:2px}
.mceh-software-card small{
  color:#84bde5;
  font-size:8px;
  font-weight:850;
  letter-spacing:.11em;
}
.mceh-software-card h3{margin:5px 0 7px;font-size:18px;color:#fff}
.mceh-software-card p{margin:0;color:#b6c4cf;font-size:10px;line-height:1.65}

/* ---------- WHY ---------- */
.mceh-why{background:#fff}
.mceh-why-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:88px;
  align-items:center;
}
.mceh-why-image{
  position:relative;
  height:620px;
  overflow:hidden;
}
.mceh-why-image img{width:100%;height:100%;object-fit:cover}
.mceh-why-badge{
  position:absolute;
  left:0;bottom:0;
  width:min(78%,390px);
  padding:20px 24px 22px;
  background:var(--mceh-navy);
  color:#fff;
  border-top:4px solid var(--mceh-blue);
}
.mceh-why-badge span{display:block;color:#86bce3;font-size:8px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.mceh-why-badge strong{display:block;margin-top:6px;font-size:19px;line-height:1.3}
.mceh-why h2{margin-bottom:34px}
.mceh-why-list>div{
  display:grid;
  grid-template-columns:42px 140px 1fr;
  gap:12px;
  align-items:center;
  min-height:74px;
  border-top:1px solid #dfe5e9;
}
.mceh-why-list>div:last-child{border-bottom:1px solid #dfe5e9}
.mceh-why-list span{font-size:9px;color:#8c99a3;font-weight:850}
.mceh-why-list strong{font-size:13px;color:var(--mceh-navy)}
.mceh-why-list p{margin:0;color:#77838d;font-size:10px;line-height:1.5}

/* ---------- FINAL CTA ---------- */
.mceh-final-cta{
  position:relative;
  min-height:540px;
  display:flex;
  align-items:center;
  color:#fff;
  background:var(--mceh-navy);
  overflow:hidden;
}
.mceh-final-photo,.mceh-final-overlay{position:absolute;inset:0}
.mceh-final-photo{overflow:hidden}
.mceh-final-photo img{width:100%;height:108%;object-fit:cover;transform:translate3d(0,-4%,0) scale(1.045);will-change:transform}
.mceh-final-overlay{
  background:linear-gradient(90deg,rgba(4,18,31,.94) 0%,rgba(4,18,31,.76) 56%,rgba(4,18,31,.45) 100%);
}
.mceh-final-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:90px;
  align-items:end;
  padding-top:80px;
  padding-bottom:80px;
}
.mceh-final-cta h2{color:#fff;font-size:clamp(42px,4.6vw,65px)}
.mceh-final-actions p{color:#c9d6df;font-size:13px;line-height:1.75;margin-bottom:23px}
.mceh-final-phone{
  display:block;
  margin-top:18px;
  color:#fff!important;
  font-size:13px;
  font-weight:800;
}

/* ---------- FOOTER ---------- */
.mceh-footer{
  padding:64px 0 25px;
  background:#06131f;
  color:#fff;
}
.mceh-footer-top{
  display:grid;
  grid-template-columns:1.1fr .65fr 1fr 1fr .8fr;
  gap:38px;
}
.mceh-footer-brand img{
  width:180px;height:64px;
  object-fit:contain;
  object-position:left center;
  filter:brightness(0) invert(1);
}
.mceh-footer-brand p{max-width:230px;margin:12px 0 0;color:#8fa3b2;font-size:10px;line-height:1.6}
.mceh-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.mceh-footer-col strong{margin-bottom:7px;color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.mceh-footer-col a{color:#91a6b5!important;font-size:9.5px;line-height:1.65;transition:color .2s ease}
.mceh-footer-col a:hover{color:#fff!important}
.mceh-footer-bottom{
  margin-top:48px;
  padding-top:19px;
  border-top:1px solid rgba(255,255,255,.09);
  display:flex;
  justify-content:space-between;
  gap:15px;
  color:#627787;
  font-size:8.5px;
}

/* ---------- WHATSAPP ---------- */
.mceh-whatsapp{
  position:fixed;
  z-index:9980;
  right:22px;bottom:22px;
  width:52px;height:52px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#25d366;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  transition:transform .2s ease;
}
.mceh-whatsapp:hover{transform:translateY(-3px) scale(1.03)}
.mceh-whatsapp svg{width:27px;height:27px;fill:#fff}

/* ---------- MOTION ----------
   Progressive enhancement:
   - Everything is visible by default.
   - JS adds .mceh-will-animate only after observer setup succeeds.
   - No blur filter: typography and photos stay sharp at all times.
--------------------------------------------------- */
.mceh-enter,
.mceh-reveal,
.mceh-image-reveal{
  opacity:1;
  transform:none;
  clip-path:none;
}

.mceh-will-animate{
  --mceh-delay:0ms;
  opacity:0;
  transform:translate3d(var(--mceh-shift-x,0),28px,0);
  will-change:opacity,transform;
  backface-visibility:hidden;
}

.mceh-image-reveal.mceh-will-animate{
  opacity:0;
  transform:translate3d(0,20px,0) scale(1.025);
}

.mceh-will-animate.is-in{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  transition:
    opacity .9s cubic-bezier(.16,1,.3,1) var(--mceh-delay),
    transform 1.05s cubic-bezier(.16,1,.3,1) var(--mceh-delay);
}

.mceh-delay-1{--mceh-delay:90ms}
.mceh-delay-2{--mceh-delay:180ms}
.mceh-delay-3{--mceh-delay:270ms}
.mceh-delay-4{--mceh-delay:360ms}
.mceh-delay-5{--mceh-delay:450ms}

.mceh-will-animate[style*="--mceh-stagger"]{
  --mceh-delay:var(--mceh-stagger);
}

/* Smooth micro interactions */
.mceh-btn svg,
.mceh-quick-form button svg{
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.mceh-btn:hover svg,
.mceh-quick-form button:hover svg{
  transform:translate3d(4px,0,0);
}

/* Original Lottie-style metrology animation, pure CSS/SVG */
.mceh-motion-core{
  overflow:hidden;
  background:
    radial-gradient(circle at center,rgba(74,157,216,.10),rgba(5,21,35,.06) 54%,transparent 72%);
}

.mceh-motion-svg{
  position:absolute;
  inset:15px;
  width:calc(100% - 30px);
  height:calc(100% - 30px);
  overflow:visible;
}

.mceh-motion-svg .mceh-ring{
  fill:none;
  stroke:rgba(181,222,248,.25);
  stroke-width:1;
  stroke-dasharray:4 8;
  transform-origin:130px 130px;
}
.mceh-ring-a{animation:mcehSpin 18s linear infinite}
.mceh-ring-b{animation:mcehSpinReverse 12s linear infinite}
.mceh-ring-c{
  stroke:rgba(95,180,236,.42)!important;
  stroke-dasharray:2 5!important;
  animation:mcehPulseRing 3.8s ease-in-out infinite;
}

.mceh-crosshair path{
  fill:none;
  stroke:rgba(172,215,244,.22);
  stroke-width:1;
  stroke-dasharray:3 7;
}
.mceh-crosshair circle{
  fill:#66b8ee;
  stroke:#dff3ff;
  stroke-width:1.2;
  animation:mcehCorePulse 2.8s ease-in-out infinite;
}

.mceh-wire-part{
  fill:rgba(43,122,177,.08);
  stroke:#8bcaf2;
  stroke-width:1.25;
  stroke-linejoin:round;
  transform-origin:130px 130px;
  animation:mcehPartFloat 5.5s ease-in-out infinite;
}
.mceh-wire-part circle{
  fill:#dff5ff;
  stroke:#51a6df;
  stroke-width:1;
}

.mceh-scan-line{
  stroke:#66d6ff;
  stroke-width:2;
  stroke-linecap:round;
  filter:drop-shadow(0 0 5px rgba(102,214,255,.7));
  animation:mcehScanLine 3.4s cubic-bezier(.45,0,.55,1) infinite;
}

.mceh-orbit-node{
  transform-origin:130px 130px;
}
.mceh-orbit-node circle:first-child{
  fill:#94d8ff;
}
.mceh-orbit-node circle:last-child{
  fill:none;
  stroke:rgba(148,216,255,.45);
  stroke-width:1;
  animation:mcehNodePulse 2.2s ease-out infinite;
}
.mceh-node-1{animation:mcehSpin 13s linear infinite}
.mceh-node-2{animation:mcehSpin 17s linear infinite}
.mceh-node-3{animation:mcehSpinReverse 15s linear infinite}

.mceh-motion-readout{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:56px;
  min-width:128px;
  transform:translateX(-50%);
  padding:8px 10px;
  border:1px solid rgba(146,205,242,.22);
  background:rgba(5,21,35,.62);
  backdrop-filter:blur(8px);
  text-align:center;
}
.mceh-motion-readout span{
  display:block;
  color:#9dcfeb;
  font-size:7px;
  font-weight:900;
  letter-spacing:.13em;
}
.mceh-motion-readout span i{
  display:inline-block;
  width:5px;height:5px;
  margin-right:5px;
  border-radius:50%;
  background:#63d79d;
  box-shadow:0 0 0 4px rgba(99,215,157,.08);
  animation:mcehBlink 1.8s ease-in-out infinite;
}
.mceh-motion-readout strong{
  display:block;
  margin-top:2px;
  color:#fff;
  font-size:19px;
  letter-spacing:-.03em;
}

@keyframes mcehSpin{to{transform:rotate(360deg)}}
@keyframes mcehSpinReverse{to{transform:rotate(-360deg)}}
@keyframes mcehPulseRing{
  0%,100%{opacity:.42;transform:scale(.94)}
  50%{opacity:1;transform:scale(1.08)}
}
@keyframes mcehCorePulse{
  0%,100%{transform:scale(.82);transform-origin:center;opacity:.75}
  50%{transform:scale(1.18);transform-origin:center;opacity:1}
}
@keyframes mcehPartFloat{
  0%,100%{transform:translateY(-3px) rotate(-1deg)}
  50%{transform:translateY(5px) rotate(1deg)}
}
@keyframes mcehScanLine{
  0%,100%{transform:translateY(-40px);opacity:.25}
  50%{transform:translateY(88px);opacity:1}
}
@keyframes mcehNodePulse{
  0%{transform:scale(.35);transform-origin:center;opacity:1}
  100%{transform:scale(1.4);transform-origin:center;opacity:0}
}
@keyframes mcehBlink{
  0%,100%{opacity:.45}
  50%{opacity:1}
}

/* Full MCE logo treatment.
   On hero: remove the baked white rectangle visually.
   On sticky white header: show the original brand colors. */
.mceh-brand{
  width:260px!important;
  height:70px!important;
  display:flex!important;
  align-items:center!important;
}
.mceh-brand-full-unused{
  width:245px!important;
  height:64px!important;
  object-fit:contain!important;
  object-position:left center!important;
  transition:filter .45s cubic-bezier(.16,1,.3,1),opacity .45s ease,transform .45s cubic-bezier(.16,1,.3,1);
}

.mceh-header:not(.is-scrolled) .mceh-brand-full-unused{
  /* White background -> dark; dark/blue logo -> light.
     screen blend then drops the dark background into the hero. */
  filter:grayscale(1) invert(1) contrast(4.5) brightness(1.15);
  mix-blend-mode:screen;
  opacity:.98;
  transform:scale(.98);
}

.mceh-header.is-scrolled .mceh-brand-full-unused{
  filter:none;
  mix-blend-mode:normal;
  opacity:1;
  transform:none;
}

.mceh-footer-logo-lockup{
  display:flex;
  align-items:center;
  max-width:255px;
  padding:8px 10px;
  background:#fff;
}
.mceh-footer-full-logo{
  width:235px!important;
  height:auto!important;
  max-height:62px;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
}

.mceh-polyworks-logo{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  background:#fff;
  padding:10px 12px;
}
.mceh-polyworks-logo img{
  display:block;
  max-width:100%!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.mceh-polyworks-fallback{
  display:none;
  align-items:center;
  min-height:70px;
  color:#111d29;
  font-size:28px;
  font-weight:850;
  letter-spacing:-.04em;
}
.mceh-polyworks-fallback sup{font-size:9px;margin-left:2px}

/* Keep text contrast selective; preserve original seamless layout */
.mceh-hero-lead,
.mceh-hero-proof{
  color:#edf4f8!important;
  text-shadow:0 1px 10px rgba(0,0,0,.28);
}
.mceh-action-section .mceh-section-head p,
.mceh-software-copy p,
.mceh-software-card p,
.mceh-final-actions p{
  color:#d2dde5!important;
}
.mceh-action-grid figure::after{
  background:linear-gradient(180deg,rgba(3,15,25,.03) 40%,rgba(3,15,25,.9) 100%)!important;
}
.mceh-action-grid figcaption b{color:#fff!important}
.mceh-action-grid figcaption span{color:#e4eef5!important}
.mceh-section-head>p,
.mceh-intro-copy p,
.mceh-workflow-copy p,
.mceh-service-copy,
.mceh-product-meta p,
.mceh-tech-foot p,
.mceh-why-list p{
  color:#4f5d68!important;
}


/* Animated scan beam on real MCE action photography */
.mceh-action-grid figure::before{
  content:"";
  position:absolute;
  z-index:2;
  left:6%;right:6%;
  top:15%;
  height:1px;
  background:linear-gradient(90deg,transparent,#7dd6ff 18%,#fff 50%,#7dd6ff 82%,transparent);
  box-shadow:0 0 10px rgba(89,196,255,.65);
  opacity:.48;
  pointer-events:none;
  animation:mcehPhotoScan 5.2s cubic-bezier(.45,0,.55,1) infinite;
}
.mceh-action-grid figure:nth-child(2)::before{animation-delay:-1.2s}
.mceh-action-grid figure:nth-child(3)::before{animation-delay:-2.4s}
.mceh-action-grid figure:nth-child(4)::before{animation-delay:-3.5s}

@keyframes mcehPhotoScan{
  0%,100%{transform:translate3d(0,-45px,0);opacity:0}
  15%{opacity:.35}
  50%{opacity:.7}
  85%{opacity:.35}
  100%{transform:translate3d(0,260px,0);opacity:0}
}

/* Animated technical corner on product cards */
.mceh-product-media::after{
  content:"";
  position:absolute;
  width:38px;height:38px;
  right:16px;bottom:16px;
  border-right:1px solid rgba(23,105,170,.35);
  border-bottom:1px solid rgba(23,105,170,.35);
  opacity:.7;
  animation:mcehCornerPulse 2.8s ease-in-out infinite;
}
@keyframes mcehCornerPulse{
  0%,100%{transform:scale(.88);opacity:.35}
  50%{transform:scale(1);opacity:.85}
}


/* =========================================================
   A6 — HERO HEADER CONTRAST + VISIBLE MOTION
========================================================= */

/* Seamless header: still transparent, but with a dark top veil for contrast */
.mceh-header:not(.is-scrolled){
  background:
    linear-gradient(180deg,rgba(3,16,28,.68) 0%,rgba(3,16,28,.28) 62%,rgba(3,16,28,0) 100%)!important;
  border-bottom-color:rgba(255,255,255,.08)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

.mceh-header:not(.is-scrolled) .mceh-nav a,
.mceh-header:not(.is-scrolled) .mceh-phone,
.mceh-header:not(.is-scrolled) .mceh-lang{
  color:#fff!important;
  text-shadow:0 1px 12px rgba(0,0,0,.58)!important;
}
.mceh-header:not(.is-scrolled) .mceh-nav a::after{
  background:#76bce9!important;
}
.mceh-header:not(.is-scrolled) .mceh-phone-icon{
  border-color:rgba(255,255,255,.48)!important;
  background:rgba(3,16,28,.22)!important;
}

/* True transparent brand lockup */
.mceh-brand{
  width:282px!important;
  height:64px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.mceh-brand-mark{
  width:102px!important;
  height:46px!important;
  object-fit:contain!important;
  flex:0 0 auto;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.32));
}
.mceh-brand-name{
  display:block!important;
  max-width:152px;
  color:#fff;
  font-size:8.7px;
  line-height:1.15;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.035em;
  text-shadow:0 1px 9px rgba(0,0,0,.52);
}
.mceh-header.is-scrolled .mceh-brand-name{
  color:var(--mceh-navy)!important;
  text-shadow:none!important;
}

/* ---- HERO LIVE HUD ---- */
.mceh-motion-core{
  overflow:hidden!important;
  isolation:isolate;
  background:
    radial-gradient(circle at center,rgba(60,151,213,.12),rgba(5,21,35,.04) 52%,transparent 72%)!important;
}
.mceh-hud-ring{
  position:absolute;
  left:50%;top:50%;
  border:1px dashed rgba(152,211,247,.35);
  border-radius:50%;
  transform:translate(-50%,-50%);
  transform-origin:center;
  pointer-events:none;
}
.mceh-hud-ring-1{
  width:205px;height:205px;
  animation:mcehHudSpin 11s linear infinite!important;
}
.mceh-hud-ring-2{
  width:154px;height:154px;
  border-style:solid;
  border-color:rgba(152,211,247,.2);
  animation:mcehHudSpinReverse 8s linear infinite!important;
}
.mceh-hud-ring-3{
  width:93px;height:93px;
  border-style:dotted;
  border-color:rgba(92,190,247,.5);
  animation:mcehHudPulse 2.5s ease-in-out infinite!important;
}
.mceh-hud-axis{
  position:absolute;
  z-index:1;
  background:rgba(145,207,246,.19);
  pointer-events:none;
}
.mceh-hud-axis-x{left:29px;right:29px;top:50%;height:1px}
.mceh-hud-axis-y{top:29px;bottom:29px;left:50%;width:1px}

.mceh-hud-part{
  position:absolute;
  z-index:3;
  left:50%;top:50%;
  width:90px;height:90px;
  transform:translate(-50%,-50%) rotate(0deg);
  animation:mcehHudPart 4.6s ease-in-out infinite!important;
}
.mceh-hud-part span{
  position:absolute;
  width:7px;height:7px;
  margin:-3.5px;
  border-radius:50%;
  background:#dff5ff;
  border:1px solid #5ab3e9;
  box-shadow:0 0 0 5px rgba(90,179,233,.08);
}
.mceh-hud-part .p1{left:50%;top:0}
.mceh-hud-part .p2{right:0;top:25%}
.mceh-hud-part .p3{right:0;bottom:25%}
.mceh-hud-part .p4{left:50%;bottom:0}
.mceh-hud-part .p5{left:0;bottom:25%}
.mceh-hud-part .p6{left:0;top:25%}
.mceh-hud-part i{
  position:absolute;
  left:50%;top:50%;
  width:62px;height:1px;
  margin-left:-31px;
  background:rgba(118,202,249,.64);
  transform-origin:center;
}
.mceh-hud-part .e1{transform:rotate(0deg)}
.mceh-hud-part .e2{transform:rotate(60deg)}
.mceh-hud-part .e3{transform:rotate(120deg)}
.mceh-hud-part .e4{transform:rotate(30deg);width:48px;margin-left:-24px}
.mceh-hud-part .e5{transform:rotate(90deg);width:48px;margin-left:-24px}
.mceh-hud-part .e6{transform:rotate(150deg);width:48px;margin-left:-24px}

.mceh-hud-scan{
  position:absolute;
  z-index:5;
  left:37px;right:37px;
  top:54px;
  height:2px;
  background:linear-gradient(90deg,transparent,#74d7ff 17%,#fff 50%,#74d7ff 83%,transparent);
  box-shadow:0 0 14px rgba(89,200,255,.85);
  animation:mcehHudScan 2.8s cubic-bezier(.45,0,.55,1) infinite!important;
}

.mceh-hud-pulse{
  position:absolute;
  z-index:2;
  width:10px;height:10px;
  border:1px solid rgba(124,208,255,.7);
  border-radius:50%;
  animation:mcehHudPing 2.4s ease-out infinite!important;
}
.mceh-hud-pulse-a{left:46px;top:88px}
.mceh-hud-pulse-b{right:51px;top:71px;animation-delay:-.8s!important}
.mceh-hud-pulse-c{right:73px;bottom:53px;animation-delay:-1.5s!important}

@keyframes mcehHudSpin{
  from{transform:translate(-50%,-50%) rotate(0)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes mcehHudSpinReverse{
  from{transform:translate(-50%,-50%) rotate(360deg)}
  to{transform:translate(-50%,-50%) rotate(0)}
}
@keyframes mcehHudPulse{
  0%,100%{transform:translate(-50%,-50%) scale(.9);opacity:.4}
  50%{transform:translate(-50%,-50%) scale(1.12);opacity:1}
}
@keyframes mcehHudPart{
  0%,100%{transform:translate(-50%,-50%) rotate(-3deg) translateY(-4px)}
  50%{transform:translate(-50%,-50%) rotate(5deg) translateY(5px)}
}
@keyframes mcehHudScan{
  0%,100%{transform:translateY(0);opacity:.15}
  45%,55%{opacity:1}
  50%{transform:translateY(150px)}
}
@keyframes mcehHudPing{
  0%{transform:scale(.35);opacity:1}
  100%{transform:scale(4.2);opacity:0}
}

/* ---- REVERSE ENGINEERING / WORKFLOW MOTION ---- */
.mceh-process-icon{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
}
.mceh-process-icon svg{
  position:relative;
  z-index:3;
}
.mceh-process-icon::before,
.mceh-process-icon::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

/* Scan 3D */
.mceh-process-scan::before{
  left:13px;right:13px;top:18px;height:2px;
  background:linear-gradient(90deg,transparent,#4dbdff,#fff,#4dbdff,transparent);
  box-shadow:0 0 8px rgba(77,189,255,.7);
  animation:mcehProcessScan 2.4s ease-in-out infinite!important;
}
.mceh-process-scan::after{
  inset:12px;
  border:1px dashed rgba(23,105,170,.22);
  border-radius:50%;
  animation:mcehProcessRotate 7s linear infinite!important;
}

/* Reverse engineering point cloud */
.mceh-process-reverse::before{
  width:48px;height:48px;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:
    radial-gradient(circle at 15% 22%,#2f83c5 0 2px,transparent 3px),
    radial-gradient(circle at 70% 18%,#1769aa 0 2px,transparent 3px),
    radial-gradient(circle at 46% 42%,#5eb5ea 0 2px,transparent 3px),
    radial-gradient(circle at 20% 72%,#1769aa 0 2px,transparent 3px),
    radial-gradient(circle at 80% 65%,#2f83c5 0 2px,transparent 3px),
    radial-gradient(circle at 55% 85%,#5eb5ea 0 2px,transparent 3px);
  animation:mcehPointCloud 3.6s ease-in-out infinite!important;
}
.mceh-process-reverse::after{
  inset:10px;
  border:1px solid rgba(23,105,170,.18);
  border-radius:50%;
  animation:mcehProcessRotate 9s linear infinite reverse!important;
}

/* CAD */
.mceh-process-cad::before{
  inset:17px;
  border:1px solid rgba(23,105,170,.2);
  background-image:
    linear-gradient(rgba(23,105,170,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,105,170,.08) 1px,transparent 1px);
  background-size:9px 9px;
  animation:mcehCadGrid 3s ease-in-out infinite!important;
}
.mceh-process-cad::after{
  width:31px;height:31px;
  left:50%;top:50%;
  transform:translate(-50%,-50%) rotate(45deg);
  border:1px solid #2f83c5;
  animation:mcehCadShape 3.4s ease-in-out infinite!important;
}

@keyframes mcehProcessScan{
  0%,100%{transform:translateY(0);opacity:.2}
  50%{transform:translateY(40px);opacity:1}
}
@keyframes mcehProcessRotate{to{transform:rotate(360deg)}}
@keyframes mcehPointCloud{
  0%,100%{transform:translate(-50%,-50%) scale(.82) rotate(-6deg);opacity:.45}
  50%{transform:translate(-50%,-50%) scale(1.08) rotate(6deg);opacity:1}
}
@keyframes mcehCadGrid{
  0%,100%{opacity:.25;transform:scale(.92)}
  50%{opacity:.7;transform:scale(1)}
}
@keyframes mcehCadShape{
  0%,100%{transform:translate(-50%,-50%) rotate(45deg) scale(.72);opacity:.35}
  50%{transform:translate(-50%,-50%) rotate(135deg) scale(1.02);opacity:1}
}

/* PolyWorks asset */
.mceh-polyworks-logo img{
  width:auto!important;
  max-width:190px!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Responsive brand lockup */
@media(max-width:1180px){
  .mceh-brand{width:235px!important}
  .mceh-brand-mark{width:88px!important}
  .mceh-brand-name{font-size:7.7px;max-width:128px}
}
@media(max-width:980px){
  .mceh-brand{width:225px!important}
  .mceh-brand-mark{width:86px!important}
  .mceh-brand-name{font-size:7.5px;max-width:122px}
}
@media(max-width:480px){
  .mceh-brand{width:182px!important;gap:6px!important}
  .mceh-brand-mark{width:72px!important}
  .mceh-brand-name{font-size:6.5px;max-width:98px}
}


/* A7 — larger, unmistakably animated hero HUD */
@media(min-width:981px){
  .mceh-hero-side{
    width:340px!important;
  }
  .mceh-lottie-orbit{
    width:305px!important;
    height:305px!important;
  }
  .mceh-motion-readout{
    bottom:67px!important;
    min-width:144px!important;
  }
}

.mceh-motion-core{
  box-shadow:
    inset 0 0 50px rgba(64,167,229,.08),
    0 0 45px rgba(31,117,174,.08);
}

.mceh-hud-scan{
  height:3px!important;
  box-shadow:
    0 0 8px rgba(103,218,255,.95),
    0 0 20px rgba(55,175,238,.65)!important;
}

.mceh-hud-part span{
  width:8px!important;
  height:8px!important;
  box-shadow:
    0 0 0 5px rgba(90,179,233,.10),
    0 0 13px rgba(102,203,255,.46)!important;
}


/* =========================================================
   A7 — REVERSE ENGINEERING LIVE MOTION
========================================================= */
.mceh-process-icon{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
.mceh-process-icon > svg{
  position:relative!important;
  z-index:5!important;
}

.mceh-proc-scan-beam{
  position:absolute;
  z-index:8;
  left:11px;right:11px;top:12px;
  height:2px;
  background:linear-gradient(90deg,transparent,#48b9fb 16%,#fff 50%,#48b9fb 84%,transparent);
  box-shadow:0 0 10px rgba(72,185,251,.8);
  pointer-events:none;
  animation:mcehProcBeam 2.15s ease-in-out infinite;
}

.mceh-proc-orbit{
  position:absolute;
  z-index:1;
  inset:9px;
  border:1px dashed rgba(23,105,170,.35);
  border-radius:50%;
  pointer-events:none;
  animation:mcehProcOrbit 5.5s linear infinite;
}
.mceh-proc-orbit::before,
.mceh-proc-orbit::after{
  content:"";
  position:absolute;
  width:6px;height:6px;
  border-radius:50%;
  background:#2f83c5;
  box-shadow:0 0 8px rgba(47,131,197,.55);
}
.mceh-proc-orbit::before{left:50%;top:-3px}
.mceh-proc-orbit::after{right:7px;bottom:4px}

.mceh-proc-cloud{
  position:absolute;
  z-index:2;
  inset:13px;
  pointer-events:none;
}
.mceh-proc-cloud i{
  position:absolute;
  width:5px;height:5px;
  border-radius:50%;
  background:#2f83c5;
  box-shadow:0 0 7px rgba(47,131,197,.35);
}
.mceh-proc-cloud i:nth-child(1){left:16%;top:24%}
.mceh-proc-cloud i:nth-child(2){left:38%;top:13%}
.mceh-proc-cloud i:nth-child(3){left:68%;top:20%}
.mceh-proc-cloud i:nth-child(4){left:79%;top:51%}
.mceh-proc-cloud i:nth-child(5){left:64%;top:76%}
.mceh-proc-cloud i:nth-child(6){left:36%;top:70%}
.mceh-proc-cloud i:nth-child(7){left:13%;top:58%}
.mceh-proc-cloud i:nth-child(8){left:48%;top:44%}

.mceh-proc-grid{
  position:absolute;
  z-index:1;
  inset:13px;
  background-image:
    linear-gradient(rgba(23,105,170,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,105,170,.16) 1px,transparent 1px);
  background-size:8px 8px;
  border:1px solid rgba(23,105,170,.16);
  pointer-events:none;
  animation:mcehProcGrid 2.7s ease-in-out infinite;
}

.mceh-proc-diamond{
  position:absolute;
  z-index:2;
  left:50%;top:50%;
  width:34px;height:34px;
  border:1px solid #2f83c5;
  transform:translate(-50%,-50%) rotate(45deg);
  pointer-events:none;
  animation:mcehProcDiamond 3s ease-in-out infinite;
}

@keyframes mcehProcBeam{
  0%,100%{transform:translateY(0);opacity:.15}
  45%,55%{opacity:1}
  50%{transform:translateY(50px)}
}
@keyframes mcehProcOrbit{
  to{transform:rotate(360deg)}
}
@keyframes mcehProcGrid{
  0%,100%{opacity:.25;transform:scale(.91)}
  50%{opacity:.95;transform:scale(1.03)}
}
@keyframes mcehProcDiamond{
  0%,100%{transform:translate(-50%,-50%) rotate(45deg) scale(.72);opacity:.35}
  50%{transform:translate(-50%,-50%) rotate(225deg) scale(1.04);opacity:1}
}


/* =========================================================
   A8 POLISH
========================================================= */

/* --- Positioning slider --- */
.mceh-intro-slider{
  position:relative;
  isolation:isolate;
  background:#0b2139;
}
.mceh-intro-slides{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.mceh-intro-slide{
  position:absolute;
  inset:-2%;
  width:104%!important;
  height:104%!important;
  object-fit:cover!important;
  opacity:0;
  transform:scale(1.055) translate3d(10px,0,0);
  transition:
    opacity 1.15s cubic-bezier(.22,.61,.36,1),
    transform 6.2s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.mceh-intro-slide.is-active{
  opacity:1;
  transform:scale(1.015) translate3d(0,0,0);
}
.mceh-intro-slider-shade{
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 50%,rgba(4,18,31,.26) 100%);
}
.mceh-intro-slider figcaption{
  z-index:4!important;
  transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1);
}
.mceh-intro-slider.is-changing figcaption{
  opacity:.25;
  transform:translateY(5px);
}
.mceh-intro-dots{
  position:absolute;
  z-index:5;
  right:16px;
  bottom:18px;
  display:flex;
  gap:6px;
}
.mceh-intro-dots button{
  width:18px;
  height:3px;
  padding:0;
  border:0;
  background:rgba(255,255,255,.45);
  cursor:pointer;
  transition:width .45s cubic-bezier(.16,1,.3,1),background .35s ease;
}
.mceh-intro-dots button.is-active{
  width:34px;
  background:#fff;
}
.mceh-intro-progress{
  position:absolute;
  z-index:5;
  left:0;right:0;bottom:0;
  height:2px;
  background:rgba(255,255,255,.1);
}
.mceh-intro-progress span{
  display:block;
  width:0;
  height:100%;
  background:#48a9df;
}
.mceh-intro-progress.is-running span{
  animation:mcehSliderProgress 5.2s linear forwards;
}
@keyframes mcehSliderProgress{
  from{width:0}
  to{width:100%}
}

/* --- Softer, non-rigid service interaction --- */
.mceh-service-row{
  position:relative;
  transition:
    background-color .6s cubic-bezier(.16,1,.3,1),
    box-shadow .6s cubic-bezier(.16,1,.3,1),
    transform .65s cubic-bezier(.16,1,.3,1)!important;
}
.mceh-service-row::before{
  content:"";
  position:absolute;
  left:0;
  top:24%;
  bottom:24%;
  width:2px;
  background:var(--mceh-blue);
  transform:scaleY(0);
  transform-origin:center;
  transition:transform .55s cubic-bezier(.16,1,.3,1);
}
.mceh-service-row:hover{
  background:rgba(255,255,255,.72)!important;
  transform:translate3d(3px,0,0)!important;
  box-shadow:0 14px 34px rgba(7,31,50,.035)!important;
}
.mceh-service-row:hover::before{
  transform:scaleY(1);
}
.mceh-service-row>a{
  color:var(--mceh-blue)!important;
  background:#fff!important;
  border-color:#b9d3e5!important;
  font-weight:900;
  transition:
    color .45s ease,
    background .45s ease,
    border-color .45s ease,
    transform .55s cubic-bezier(.16,1,.3,1)!important;
}
.mceh-service-row>a:hover,
.mceh-service-row:hover>a{
  color:#fff!important;
  background:var(--mceh-blue)!important;
  border-color:var(--mceh-blue)!important;
  transform:translate3d(0,-1px,0) rotate(6deg);
}

/* softer hover globally */
.mceh-product-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 42px rgba(7,31,50,.09)!important;
}
.mceh-product-card:hover .mceh-product-media img{
  transform:scale(1.025)!important;
}

/* --- Presentation-inspired Scan -> Reverse -> CAD --- */
.mceh-process-v2{
  position:relative;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  padding-top:0!important;
}
.mceh-process-connector{
  position:absolute;
  left:13%;
  right:13%;
  top:111px;
  height:1px;
  background:#d8e1e7;
  overflow:hidden;
  z-index:0;
}
.mceh-process-connector span{
  display:block;
  width:28%;
  height:100%;
  background:linear-gradient(90deg,transparent,#2f83c5,transparent);
  animation:mcehConnectorFlow 3.8s ease-in-out infinite;
}
@keyframes mcehConnectorFlow{
  from{transform:translateX(-100%)}
  to{transform:translateX(460%)}
}
.mceh-process-v2 .mceh-process-step{
  position:relative;
  z-index:2;
  min-width:0;
}
.mceh-process-v2 .mceh-process-num{
  margin:0 0 9px;
  color:#6b7984;
  font-size:8px;
  letter-spacing:.1em;
}
.mceh-part-visual{
  position:relative;
  height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  overflow:hidden;
  background:#f7f9fb;
  border:1px solid #dfe6eb;
}
.mceh-part-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(23,105,170,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,105,170,.04) 1px,transparent 1px);
  background-size:16px 16px;
  opacity:.8;
}
.mceh-part-visual svg{
  position:relative;
  z-index:2;
  width:92%;
  height:92%;
  overflow:visible;
}
.mceh-stage-scan .mceh-part-visual{
  background:linear-gradient(135deg,#071a2d,#0d2b45);
}
.mceh-stage-scan .mceh-point-cloud-dots circle{
  fill:#9fe3ff;
  animation:mcehPointBlink 2.2s ease-in-out infinite;
}
.mceh-stage-scan .mceh-point-cloud-dots circle:nth-child(3n){animation-delay:-.7s}
.mceh-stage-scan .mceh-point-cloud-dots circle:nth-child(4n){animation-delay:-1.2s}
.mceh-part-scanline{
  stroke:#7cddff;
  stroke-width:2.4;
  filter:drop-shadow(0 0 5px rgba(124,221,255,.85));
  animation:mcehPartScan 2.9s ease-in-out infinite;
}
@keyframes mcehPartScan{
  0%,100%{transform:translateY(0);opacity:.25}
  50%{transform:translateY(80px);opacity:1}
}
@keyframes mcehPointBlink{
  0%,100%{opacity:.35}
  50%{opacity:1}
}
.mceh-reverse-wire{
  animation:mcehWireDash 5s linear infinite;
}
@keyframes mcehWireDash{
  to{stroke-dashoffset:-40}
}
.mceh-reverse-control-points circle{
  fill:#d8fff0;
  stroke:#0b684f;
  stroke-width:1;
  animation:mcehControlPulse 2.4s ease-in-out infinite;
}
@keyframes mcehControlPulse{
  0%,100%{r:2.2px;opacity:.55}
  50%{r:3.8px;opacity:1}
}
.mceh-cad-solid{
  transform-origin:center;
  animation:mcehCadFloat 4.8s ease-in-out infinite;
}
@keyframes mcehCadFloat{
  0%,100%{transform:translateY(-2px)}
  50%{transform:translateY(4px)}
}
.mceh-cad-dims{
  fill:none;
  stroke:#2f83c5;
  stroke-width:1;
  stroke-dasharray:3 4;
  animation:mcehCadDims 3.2s ease-in-out infinite;
}
@keyframes mcehCadDims{
  0%,100%{opacity:.35}
  50%{opacity:1}
}
.mceh-process-v2 h3{
  margin:0 0 7px!important;
  color:var(--mceh-navy);
  font-size:17px;
}
.mceh-process-v2 p{
  margin:0;
  color:#53616d!important;
  font-size:10.5px;
  line-height:1.65;
}

/* --- Software section redesign --- */
.mceh-software-layout{
  grid-template-columns:.66fr 1.34fr!important;
  gap:72px!important;
  align-items:center!important;
}
.mceh-software-grid-v2{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
.mceh-software-card-v2{
  position:relative;
  min-height:150px!important;
  display:grid!important;
  grid-template-columns:78px 1fr 26px!important;
  align-items:center!important;
  gap:15px!important;
  padding:17px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.105)!important;
  overflow:hidden;
}
.mceh-software-card-v2::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,transparent 0 58%,rgba(87,169,219,.05));
  opacity:0;
  transition:opacity .6s ease;
}
.mceh-software-card-v2:hover{
  transform:translateY(-2px)!important;
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(132,199,239,.28)!important;
  box-shadow:none!important;
}
.mceh-software-card-v2:hover::before{opacity:1}
.mceh-software-logo-tile{
  position:relative;
  z-index:2;
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  padding:10px;
  background:#fff;
  border:1px solid rgba(255,255,255,.35);
}
.mceh-software-logo-tile img{
  width:100%;
  height:100%;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.mceh-software-card-copy{
  position:relative;
  z-index:2;
  min-width:0;
}
.mceh-software-card-copy small{
  display:block;
  color:#8ec6e9!important;
  font-size:7px!important;
  font-weight:900;
  letter-spacing:.12em;
}
.mceh-software-card-copy h3{
  margin:4px 0 6px!important;
  color:#fff;
  font-size:17px!important;
}
.mceh-software-card-copy p{
  margin:0!important;
  color:#c8d5de!important;
  font-size:9px!important;
  line-height:1.55!important;
}
.mceh-software-arrow{
  position:relative;
  z-index:2;
  width:26px;height:26px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  color:#9fd6f5;
  font-size:11px;
  transition:
    transform .55s cubic-bezier(.16,1,.3,1),
    color .35s ease,
    border-color .35s ease,
    background .35s ease;
}
.mceh-software-card-v2:hover .mceh-software-arrow{
  transform:rotate(8deg) translateY(-1px);
  color:#071728;
  background:#fff;
  border-color:#fff;
}

/* responsive A8 */
@media(max-width:980px){
  .mceh-software-layout{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:760px){
  .mceh-process-v2{
    grid-template-columns:1fr!important;
  }
  .mceh-process-connector{display:none}
  .mceh-part-visual{height:205px}
  .mceh-software-grid-v2{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:480px){
  .mceh-software-card-v2{
    grid-template-columns:68px 1fr 24px!important;
    gap:11px!important;
    padding:14px!important;
  }
  .mceh-software-logo-tile{
    width:68px;height:68px;
  }
}


/* A8 neutralizes the older circular process-icon decoration because
   the workflow now uses the presentation-inspired mechanical-part sequence. */
.mceh-process-v2 .mceh-process-icon,
.mceh-process-v2 .mceh-proc-scan-beam,
.mceh-process-v2 .mceh-proc-orbit,
.mceh-process-v2 .mceh-proc-cloud,
.mceh-process-v2 .mceh-proc-grid,
.mceh-process-v2 .mceh-proc-diamond{
  display:none!important;
}



/* ---------- CLIENT LOGO MARQUEE ---------- */
.mceh-clients-section{
  padding-top:94px;
  padding-bottom:94px;
  background:#f7f9fb;
  overflow:hidden;
}
.mceh-logo-marquee{
  position:relative;
  margin-top:30px;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent,black 7%,black 93%,transparent);
  mask-image:linear-gradient(to right,transparent,black 7%,black 93%,transparent);
}
.mceh-logo-track{
  display:flex;
  align-items:center;
  gap:18px;
  width:max-content;
  animation:mcehLogoMarquee 54s linear infinite;
  will-change:transform;
}
.mceh-logo-marquee:hover .mceh-logo-track{
  animation-play-state:paused;
}
.mceh-logo-marquee:hover .mceh-client-logo img{
  filter:none;
  opacity:1;
}
.mceh-client-logo{
  flex:0 0 auto;
  width:174px;
  height:96px;
  border-radius:18px;
  border:1px solid #e5ecf1;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 22px;
  box-shadow:0 12px 28px rgba(7,31,50,.04);
  transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1),border-color .45s cubic-bezier(.16,1,.3,1);
}
.mceh-client-logo:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 42px rgba(7,31,50,.08);
  border-color:#d7e3ea;
}
.mceh-client-logo img{
  max-width:100%;
  max-height:42px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(1) saturate(0) contrast(1.05);
  opacity:.72;
  mix-blend-mode:multiply;
  transition:filter .35s ease,opacity .35s ease,transform .35s ease,mix-blend-mode .01s linear;
}
.mceh-client-logo:hover img{
  filter:none;
  opacity:1;
  mix-blend-mode:normal;
  transform:scale(1.02);
}
@keyframes mcehLogoMarquee{
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(calc(-50% - 9px),0,0)}
}


/* ---------- A10 FINAL HERO LOCK ---------- */
#mceh-root .mceh-hero{
  min-height:min(820px,100svh)!important;
}
#mceh-root .mceh-hero-inner{
  min-height:min(820px,100svh)!important;
}
.mceh-hero-proof strong{
  color:#fff;
  font-weight:900;
}
.mceh-hero-proof{
  row-gap:9px!important;
}
#mceh-quick-form{scroll-margin-top:96px}
.mceh-hero-scroll{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  color:rgba(255,255,255,.72)!important;
  font-size:7px;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.mceh-hero-scroll i{
  display:block;
  width:1px;
  height:24px;
  background:linear-gradient(180deg,#8dcaef,rgba(141,202,239,0));
  animation:mcehScrollCue 1.8s ease-in-out infinite;
}
@keyframes mcehScrollCue{
  0%,100%{transform:scaleY(.55);transform-origin:top;opacity:.35}
  50%{transform:scaleY(1);transform-origin:top;opacity:1}
}
@media(max-width:980px){
  #mceh-root .mceh-hero,#mceh-root .mceh-hero-inner{min-height:760px!important}
  .mceh-hero-scroll{display:none}
}
@media(max-width:680px){
  #mceh-root .mceh-hero,#mceh-root .mceh-hero-inner{min-height:720px!important}
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1180px){
  .mceh-nav{gap:19px}
  .mceh-phone span:last-child{display:none}
  .mceh-phone-icon{width:32px;height:32px}
  .mceh-hero-side{width:250px}
  .mceh-lottie-orbit{width:225px;height:225px}
  .mceh-quick-form{grid-template-columns:1.08fr 1fr .92fr 1fr 1.02fr auto}
  .mceh-footer-top{grid-template-columns:1fr 1fr 1fr}
}

@media(max-width:980px){
  .mceh-header{height:74px}
  .mceh-header-inner{grid-template-columns:auto 1fr auto}
  .mceh-brand{width:155px;height:56px}
  .mceh-nav,.mceh-header-actions{display:none}
  .mceh-menu-btn{display:block;justify-self:end}
  .mceh-header.is-open{background:#fff;border-bottom-color:#e3e8ec}
  .mceh-header.is-open .mceh-menu-btn span{background:var(--mceh-navy)}
  .mceh-header.is-open .mceh-mobile-panel{display:block}
  .mceh-header.is-open .mceh-brand img{filter:none}
  .mceh-header.is-open .mceh-menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mceh-header.is-open .mceh-menu-btn span:nth-child(2){opacity:0}
  .mceh-header.is-open .mceh-menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .mceh-hero,.mceh-hero-inner{min-height:720px}
  .mceh-hero-inner{grid-template-columns:1fr;padding-top:108px;padding-bottom:125px}
  .mceh-hero-side{display:none}
  .mceh-hero-overlay{
    background:linear-gradient(90deg,rgba(4,18,31,.94),rgba(4,18,31,.65)),
               linear-gradient(180deg,rgba(4,18,31,.2),rgba(4,18,31,.5));
  }

  .mceh-form-zone{height:auto;background:#fff}
  .mceh-quick-form{
    top:-35px;
    grid-template-columns:1fr 1fr;
  }
  .mceh-form-intro{grid-column:1/3}
  .mceh-quick-form button{min-height:62px}
  .mceh-quick-form label{min-height:76px}
  .mceh-quick-form button{grid-column:1/3}

  .mceh-intro-section{padding-top:75px}
  .mceh-intro-grid{grid-template-columns:1fr;gap:45px}
  .mceh-intro-image{height:420px}
  .mceh-stats{grid-template-columns:repeat(3,1fr)}
  .mceh-stat:nth-child(3){border-right:0}
  .mceh-stat:nth-child(-n+3){border-bottom:1px solid var(--mceh-line)}
  .mceh-stat:nth-child(4){padding-left:0}

  .mceh-section-head{grid-template-columns:1fr;gap:25px}
  .mceh-service-row{grid-template-columns:46px 1fr 38px;gap:16px;padding:22px 0}
  .mceh-service-copy{grid-column:2/4}
  .mceh-action-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 230px 230px}
  .mceh-action-main{grid-column:1/3;grid-row:1}
  .mceh-action-wide{grid-column:1/3}
  .mceh-workflow-grid{grid-template-columns:1fr;gap:50px}
  .mceh-process{max-width:720px}
  .mceh-product-grid{grid-template-columns:1fr 1fr}
  .mceh-product-card:last-child{grid-column:1/3}
  .mceh-logo-track{gap:14px;animation-duration:46s}
  .mceh-client-logo{width:156px;height:88px;padding:16px 18px}
  .mceh-client-logo img{max-height:36px}
  .mceh-software-layout{grid-template-columns:1fr;gap:50px}
  .mceh-why-grid{grid-template-columns:1fr;gap:50px}
  .mceh-why-image{height:520px}
  .mceh-final-inner{grid-template-columns:1fr;gap:35px}
}

@media(max-width:680px){
  .mceh-container,
  .mceh-header-inner{width:min(calc(100% - 32px),var(--mceh-max))}
  .mceh-header{height:68px}
  .mceh-header.is-scrolled{height:64px}
  .mceh-brand,.mceh-header.is-scrolled .mceh-brand{width:145px;height:52px}

  .mceh-hero,.mceh-hero-inner{min-height:695px}
  .mceh-hero-inner{padding-top:100px;padding-bottom:92px}
  .mceh-hero-photo img{object-position:61% center}
  .mceh-hero-overlay{
    background:linear-gradient(90deg,rgba(4,18,31,.96),rgba(4,18,31,.73)),
               linear-gradient(180deg,rgba(4,18,31,.1),rgba(4,18,31,.65));
  }
  .mceh-tech-grid{background-size:52px 52px}
  .mceh-eyebrow{font-size:8.5px}
  .mceh-hero h1{font-size:42px}
  .mceh-hero-sub{font-size:10px;line-height:1.7}
  .mceh-hero-sub b{margin:0 3px}
  .mceh-hero-lead{font-size:14px;line-height:1.65}
  .mceh-hero-actions{display:grid;grid-template-columns:1fr}
  .mceh-btn{width:100%}
  .mceh-hero-proof{font-size:9px}
  .mceh-proof-sep{display:none}

  .mceh-form-zone{padding:0 0 8px}
  .mceh-quick-form{
    top:-24px;
    grid-template-columns:1fr;
  }
  .mceh-form-intro,
  .mceh-quick-form button{grid-column:1}
  .mceh-form-intro{min-height:84px}
  .mceh-quick-form label{
    min-height:72px;
    border-right:0;
    border-bottom:1px solid #e8edf1;
  }

  .mceh-section{padding:82px 0}
  .mceh-clients-section{padding-top:78px;padding-bottom:78px}
  .mceh-logo-track{gap:12px;animation-duration:40s}
  .mceh-client-logo{width:138px;height:78px;border-radius:14px;padding:14px 16px}
  .mceh-client-logo img{max-height:30px}
  .mceh-intro-section{padding-top:48px}
  .mceh-section-head h2,
  .mceh-intro-copy h2,
  .mceh-workflow h2,
  .mceh-software-section h2,
  .mceh-why h2,
  .mceh-final-cta h2{font-size:36px}
  .mceh-section-head{margin-bottom:38px}
  .mceh-intro-image{height:330px}
  .mceh-intro-grid{gap:34px}
  .mceh-stats{grid-template-columns:1fr 1fr;margin-top:50px}
  .mceh-stat{border-bottom:1px solid var(--mceh-line)!important}
  .mceh-stat:nth-child(even){border-right:0}
  .mceh-stat:nth-child(odd){padding-left:0}
  .mceh-stat:last-child{grid-column:1/3;border-bottom:0!important}
  .mceh-stat-year{padding-left:0!important}

  .mceh-service-row{
    grid-template-columns:38px 1fr 34px;
    min-height:auto;
    padding:21px 0;
  }
  .mceh-service-title h3{font-size:18px}
  .mceh-service-title span{font-size:8px}
  .mceh-service-copy{font-size:10.5px}
  .mceh-services-cta .mceh-btn{width:auto}

  .mceh-action-section{padding:80px 0}
  .mceh-action-grid{
    grid-template-columns:1fr;
    grid-template-rows:360px 215px 215px 260px;
  }
  .mceh-action-main,
  .mceh-action-wide{grid-column:1;grid-row:auto}

  .mceh-process{
    grid-template-columns:1fr;
    gap:30px;
    padding-left:0;
  }
  .mceh-process-line{display:none}
  .mceh-process-step{
    display:grid;
    grid-template-columns:75px 1fr;
    column-gap:20px;
  }
  .mceh-process-num{grid-column:2;margin:0 0 5px}
  .mceh-process-icon{grid-row:1/4;margin:0}
  .mceh-process-step h3{grid-column:2}
  .mceh-process-step p{grid-column:2}

  .mceh-product-grid{grid-template-columns:1fr}
  .mceh-product-card:last-child{grid-column:auto}
  .mceh-product-media{height:285px}
  .mceh-tech-foot{align-items:flex-start;flex-direction:column}
  .mceh-tech-foot .mceh-btn{width:auto}

  .mceh-software-section{padding:80px 0}
  .mceh-software-grid{grid-template-columns:1fr}
  .mceh-software-card{min-height:220px}

  .mceh-why-image{height:390px}
  .mceh-why-badge{width:88%}
  .mceh-why-list>div{
    grid-template-columns:34px 105px 1fr;
    min-height:80px;
    gap:8px;
  }

  .mceh-final-cta{min-height:620px}
  .mceh-final-inner{padding-top:75px;padding-bottom:75px}
  .mceh-final-overlay{background:rgba(4,18,31,.82)}

  .mceh-footer{padding-top:50px}
  .mceh-footer-top{grid-template-columns:1fr 1fr}
  .mceh-footer-brand{grid-column:1/3;margin-bottom:10px}
  .mceh-footer-bottom{flex-direction:column}

  .mceh-whatsapp{right:16px;bottom:16px;width:49px;height:49px}
}


@media(max-width:1180px){
  .mceh-brand{width:225px!important}
  .mceh-brand-full-unused{width:212px!important}
}
@media(max-width:980px){
  .mceh-brand{width:220px!important}
  .mceh-brand-full-unused{width:205px!important}
}
@media(max-width:480px){
  .mceh-brand{width:185px!important}
  .mceh-brand-full-unused{width:172px!important;height:50px!important}
}


@media(max-width:980px){
  #mceh-root .mceh-brand,
  #mceh-root .mceh-header.is-scrolled .mceh-brand{
    width:220px!important;
    height:56px!important;
  }
}
@media(max-width:680px){
  #mceh-root .mceh-brand,
  #mceh-root .mceh-header.is-scrolled .mceh-brand{
    width:190px!important;
    height:52px!important;
  }
  #mceh-root .mceh-brand-full-unused{width:178px!important;height:48px!important}
}


@media(max-width:980px){
  body.elementor-page .e-con:has(#mceh-root){
    min-height:0!important;
    padding:0!important;
    margin:0!important;
  }
}

@media(prefers-reduced-motion:reduce){
  /* Keep the site sharp and usable. Continuous technical motion remains
     deliberately slow/limited because it is part of the requested design. */
  .mceh-will-animate{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .mceh-hero-photo img,
  .mceh-final-photo img{
    transform:none!important;
  }
}


/* Production performance: pause continuous decorative motion when off-screen. */
.mceh-motion-paused,
.mceh-motion-paused *{
  animation-play-state:paused!important;
}


/* =========================================================
   A12 — MOBILE + CONTENT ALIGNMENT + REVERSE ENGINEERING UI
========================================================= */

/* Client references directly below hero/form */
.mceh-clients-band{
  position:relative;
  z-index:3;
  padding:76px 0 52px;
  background:#f7f9fb;
  border-bottom:1px solid #e6edf2;
  overflow:hidden;
}
.mceh-clients-band-inner{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:30px;
  align-items:center;
}
.mceh-clients-band-label small{
  display:block;
  color:var(--mceh-blue);
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
}
.mceh-clients-band-label strong{
  display:block;
  margin-top:5px;
  color:var(--mceh-navy);
  font-size:18px;
  line-height:1.15;
}
.mceh-clients-band .mceh-logo-marquee{margin-top:0}
.mceh-clients-band .mceh-client-logo{width:156px;height:82px;border-radius:14px;padding:15px 18px}
.mceh-clients-band .mceh-client-logo img{max-height:34px}

/* Positioning source points from company presentation */
.mceh-positioning-points{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px;
}
.mceh-positioning-points span{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:6px 10px;
  border:1px solid #dde6ec;
  background:#f7f9fb;
  color:#53616d;
  font-size:8.5px;
  font-weight:750;
}
.mceh-positioning-points span::before{
  content:"";
  width:5px;height:5px;
  margin-right:7px;
  border-radius:50%;
  background:var(--mceh-blue);
}

/* Precision / micrometre callout requested by client */
.mceh-micron-callout{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:18px;
  align-items:center;
  margin:-12px 0 34px;
  padding:17px 20px;
  border-left:3px solid var(--mceh-blue);
  background:#fff;
  box-shadow:0 10px 30px rgba(7,31,50,.035);
}
.mceh-micron-mark{
  display:grid;
  place-items:center;
  width:52px;height:52px;
  color:#fff;
  background:var(--mceh-navy);
  font-size:22px;
  font-weight:850;
  letter-spacing:-.04em;
}
.mceh-micron-callout p{margin:0;color:#53616d;font-size:11px;line-height:1.6}
.mceh-micron-callout strong{color:var(--mceh-navy);font-weight:850}

/* Product-family breadth: avoids presenting MCE as scanner-only */
.mceh-tech-families{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:-4px;
}
.mceh-tech-families span{
  padding:6px 9px;
  border:1px solid #d7e2e9;
  background:#fff;
  color:#4d6171;
  font-size:8px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* Presentation-inspired reverse-engineering frame */
.mceh-workflow-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);
  gap:70px;
  align-items:end;
  margin-bottom:42px;
}
.mceh-workflow-head h2{
  margin:0;
  color:var(--mceh-navy);
  font-size:clamp(38px,4vw,57px);
  line-height:1.04;
  letter-spacing:-.04em;
}
.mceh-workflow-copy-v2 p{margin:0;color:#53616d;font-size:13px;line-height:1.75}
.mceh-reverse-frame{
  position:relative;
  padding:13px;
  border:1px solid #31475f;
  background:#07152c;
  box-shadow:0 24px 70px rgba(4,23,40,.12);
  overflow:hidden;
}
.mceh-reverse-frame::before{
  content:"";
  position:absolute;
  left:4%;right:4%;top:0;
  height:3px;
  background:linear-gradient(90deg,transparent,#28b9f2 10%,#28b9f2 44%,transparent 44% 100%);
  animation:mcehReverseFrameLine 4.8s ease-in-out infinite alternate;
}
@keyframes mcehReverseFrameLine{
  from{transform:translateX(-12%);opacity:.65}
  to{transform:translateX(38%);opacity:1}
}
.mceh-reverse-frame-head{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  padding:11px 10px 13px;
  color:#9ec9e4;
}
.mceh-reverse-frame-head span,.mceh-reverse-frame-head small{font-size:7.5px;font-weight:850;letter-spacing:.13em}
.mceh-reverse-frame-head i{height:1px;background:rgba(156,203,232,.18)}
.mceh-reverse-panels{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.mceh-reverse-panel{
  min-width:0;
  padding:0 0 18px;
  background:#fff;
  border:1px solid rgba(255,255,255,.25);
  overflow:hidden;
}
.mceh-reverse-panel-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:52px;
  padding:12px 15px;
  border-bottom:1px solid #e4eaee;
}
.mceh-reverse-panel-label span{color:#8a98a3;font-size:8px;font-weight:850}
.mceh-reverse-panel-label strong{color:#0b1734;font-size:17px;font-weight:560}
.mceh-reverse-part{
  position:relative;
  height:205px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:13px;
  overflow:hidden;
  background:linear-gradient(180deg,#fff,#f7f9fb);
}
.mceh-reverse-part::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(20,79,119,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(20,79,119,.04) 1px,transparent 1px);
  background-size:18px 18px;
  pointer-events:none;
}
.mceh-reverse-part svg{position:relative;z-index:2;width:100%;height:100%;overflow:visible}
.mceh-reverse-panel>p{margin:0;padding:0 15px;color:#5b6873;font-size:9.5px;line-height:1.55}
.mceh-part-body{stroke-width:2;stroke-linejoin:round}
.mceh-part-body-scan{stroke:#72c9f7}
.mceh-reverse-scan circle:not(.mceh-scan-dots circle){fill:#07152c;stroke:#7bd2ff;stroke-width:2}
.mceh-reverse-scan .mceh-part-center{fill:rgba(7,21,44,.82)}
.mceh-scan-dots circle{fill:#9be3ff;animation:mcehA12Dot 2.1s ease-in-out infinite}
.mceh-scan-dots circle:nth-child(3n){animation-delay:-.6s}.mceh-scan-dots circle:nth-child(4n){animation-delay:-1.1s}
@keyframes mcehA12Dot{0%,100%{opacity:.25}50%{opacity:1}}
.mceh-reverse-scanline{stroke:#7ee2ff;stroke-width:2.5;filter:drop-shadow(0 0 6px rgba(126,226,255,.9));animation:mcehA12Scan 2.9s ease-in-out infinite}
@keyframes mcehA12Scan{0%,100%{transform:translateY(0);opacity:.22}50%{transform:translateY(86px);opacity:1}}
.mceh-part-body-green{stroke:#066d3c}.mceh-reverse-rebuild circle{fill:#f9fbfc;stroke:#087543;stroke-width:2}.mceh-reverse-rebuild .mceh-part-center{fill:#e9f7ef}
.mceh-rebuild-curves{fill:none;stroke:rgba(255,255,255,.78);stroke-width:1.3;stroke-dasharray:5 5;animation:mcehA12Dash 4.4s linear infinite}
@keyframes mcehA12Dash{to{stroke-dashoffset:-40}}
.mceh-rebuild-points circle{fill:#d9ffeb;stroke:#087543;stroke-width:1;animation:mcehA12Point 2.2s ease-in-out infinite}
@keyframes mcehA12Point{0%,100%{r:2px;opacity:.55}50%{r:4px;opacity:1}}
.mceh-part-body-cad{stroke:#7b8792}.mceh-reverse-cad circle{fill:#101215;stroke:#818d97;stroke-width:2}.mceh-reverse-cad .mceh-part-center{fill:#e9edf1}
.mceh-cad-object{transform-origin:center;animation:mcehA12CadFloat 4s ease-in-out infinite}
@keyframes mcehA12CadFloat{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}
.mceh-cad-seam{fill:none;stroke:#8a959f;stroke-width:1.3}.mceh-cad-dimension{fill:none;stroke:#2684bb;stroke-width:1;stroke-dasharray:4 4;animation:mcehA12Dim 2.8s ease-in-out infinite}
@keyframes mcehA12Dim{0%,100%{opacity:.3}50%{opacity:1}}
.mceh-reverse-frame-foot{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:13px 10px 2px;
  color:#91b9d1;
  font-size:8px;
  font-weight:750;
}
.mceh-reverse-status i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#5fd09a;box-shadow:0 0 0 4px rgba(95,208,154,.08)}
.mceh-reverse-swipe{display:none}

/* Footer full identity lockup */
.mceh-footer-brand-lockup{display:flex;align-items:center;gap:9px;max-width:240px}
.mceh-footer-brand-lockup img{width:105px!important;height:auto!important;filter:brightness(0) invert(1)}
.mceh-footer-brand-lockup span{max-width:120px;color:#fff;font-size:7.5px;line-height:1.18;font-weight:850;letter-spacing:.035em;text-transform:uppercase}

/* Mobile re-architecture */
@media(max-width:760px){
  .mceh-container,.mceh-header-inner{width:min(calc(100% - 28px),var(--mceh-max))}
  .mceh-section{padding:72px 0}
  .mceh-hero,.mceh-hero-inner{min-height:680px}
  .mceh-hero-inner{padding-top:92px;padding-bottom:88px}
  .mceh-hero h1{font-size:39px;line-height:1.02}
  .mceh-hero-lead{font-size:13.5px}
  .mceh-hero-proof{gap:8px;font-size:8.5px;line-height:1.45}
  .mceh-form-zone{padding-bottom:0}
  .mceh-quick-form{grid-template-columns:1fr 1fr!important;top:-22px}
  .mceh-form-intro{grid-column:1/3!important;min-height:78px}
  .mceh-quick-form label{min-height:68px!important;padding:12px 13px}
  .mceh-quick-form label:nth-of-type(1),.mceh-quick-form label:nth-of-type(4){grid-column:1/3}
  .mceh-quick-form button{grid-column:1/3!important;min-height:56px!important}
  .mceh-quick-form input,.mceh-quick-form select{font-size:11px}

  .mceh-clients-band{padding:52px 0 38px}
  .mceh-clients-band-inner{grid-template-columns:1fr;gap:18px}
  .mceh-clients-band-label{display:flex;align-items:end;justify-content:space-between;gap:12px}
  .mceh-clients-band-label strong{font-size:16px}
  .mceh-clients-band .mceh-logo-marquee{width:calc(100vw - 28px)}
  .mceh-clients-band .mceh-logo-track{animation-duration:44s}
  .mceh-clients-band .mceh-client-logo{width:132px;height:70px;padding:12px 14px}
  .mceh-clients-band .mceh-client-logo img{max-height:28px}

  .mceh-intro-grid{gap:28px}
  .mceh-intro-image{height:310px}
  .mceh-positioning-points{display:grid;grid-template-columns:1fr;gap:5px}
  .mceh-positioning-points span{min-height:30px}
  .mceh-stats{margin-top:42px}

  .mceh-section-head{margin-bottom:30px}
  .mceh-section-head h2,.mceh-workflow-head h2,.mceh-intro-copy h2,.mceh-why h2,.mceh-final-cta h2{font-size:34px}
  .mceh-micron-callout{grid-template-columns:45px 1fr;gap:13px;margin:0 0 25px;padding:13px 14px}
  .mceh-micron-mark{width:42px;height:42px;font-size:18px}
  .mceh-micron-callout p{font-size:9.5px}
  .mceh-service-row{grid-template-columns:30px minmax(0,1fr) 32px!important;gap:10px!important;padding:18px 0!important}
  .mceh-service-title h3{font-size:16.5px}
  .mceh-service-title span{font-size:7px;line-height:1.5}
  .mceh-service-copy{grid-column:2/4!important;font-size:9.5px;line-height:1.6}
  .mceh-service-row>a{width:31px;height:31px}

  .mceh-action-grid{grid-template-rows:310px 190px 190px 230px}

  .mceh-workflow-head{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
  .mceh-workflow-copy-v2 p{font-size:11px}
  .mceh-reverse-frame{padding:9px}
  .mceh-reverse-frame-head{grid-template-columns:auto 1fr;padding:9px 7px 11px}
  .mceh-reverse-frame-head small{display:none}
  .mceh-reverse-panels{
    display:flex;
    gap:9px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:3px;
  }
  .mceh-reverse-panels::-webkit-scrollbar{display:none}
  .mceh-reverse-panel{flex:0 0 86%;scroll-snap-align:center}
  .mceh-reverse-panel-label{min-height:46px;padding:10px 12px}
  .mceh-reverse-panel-label strong{font-size:16px}
  .mceh-reverse-part{height:185px}
  .mceh-reverse-panel>p{padding:0 12px;font-size:9px}
  .mceh-reverse-frame-foot{padding:11px 7px 2px;align-items:flex-start;flex-direction:column;gap:5px}
  .mceh-reverse-swipe{display:block;color:#c5deed}

  .mceh-tech-families{margin-top:2px;gap:5px}
  .mceh-tech-families span{font-size:6.8px;padding:5px 7px}
  .mceh-product-media{height:255px}

  .mceh-software-section{padding:72px 0}
  .mceh-software-card-v2{min-height:134px!important}
  .mceh-why-image{height:340px}
  .mceh-why-list>div{grid-template-columns:29px 91px 1fr;min-height:72px}

  .mceh-final-cta{min-height:600px}
  .mceh-final-inner{padding-top:65px;padding-bottom:65px}
  .mceh-final-cta h2{font-size:33px;line-height:1.06}

  .mceh-footer-top{grid-template-columns:1fr!important;gap:26px}
  .mceh-footer-brand{grid-column:auto!important}
  .mceh-footer-col{padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
  .mceh-footer-bottom{margin-top:32px}
}

@media(max-width:390px){
  .mceh-hero h1{font-size:36px}
  .mceh-reverse-panel{flex-basis:91%}
  .mceh-section-head h2,.mceh-workflow-head h2,.mceh-intro-copy h2,.mceh-why h2,.mceh-final-cta h2{font-size:31px}
}

.mceh-logo-marquee.is-touch-paused .mceh-logo-track{animation-play-state:paused}.mceh-logo-marquee.is-touch-paused .mceh-client-logo img{filter:none;opacity:1;mix-blend-mode:normal}

/* =========================================================
   MCE A12.2 — MOBILE RETROCONCEPTION RESPONSIVE FIX
   Keep the desktop Scan 3D -> Rétroconception -> CAO animation.
   On phones, switch from a horizontal swipe strip to a true
   vertical step-by-step workflow so nothing is compressed or
   clipped outside the viewport.
========================================================= */
@media (max-width:760px){

  .mceh-workflow{
    overflow:hidden;
  }

  .mceh-workflow .mceh-container{
    width:min(calc(100% - 24px),var(--mceh-max))!important;
  }

  .mceh-workflow-head{
    margin-bottom:22px!important;
  }

  .mceh-workflow-copy-v2{
    max-width:none;
  }

  .mceh-reverse-frame{
    width:100%;
    max-width:100%;
    padding:8px!important;
    overflow:hidden!important;
    border-radius:0;
    box-shadow:0 18px 42px rgba(4,23,40,.10);
  }

  .mceh-reverse-frame-head{
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:9px 8px 12px!important;
  }

  .mceh-reverse-frame-head > span{
    font-size:7px!important;
    letter-spacing:.15em!important;
  }

  .mceh-reverse-frame-head > i,
  .mceh-reverse-frame-head > small{
    display:none!important;
  }

  .mceh-reverse-panels{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    padding:0!important;
    scroll-snap-type:none!important;
  }

  .mceh-reverse-panel{
    position:relative;
    flex:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-bottom:14px!important;
    overflow:hidden!important;
    scroll-snap-align:none!important;
    box-shadow:0 8px 22px rgba(0,0,0,.08);
  }

  /* animated vertical process connector between the 3 stages */
  .mceh-reverse-panel:not(:last-child)::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-18px;
    width:1px;
    height:14px;
    background:linear-gradient(180deg,#55b8ed,rgba(85,184,237,.12));
    transform:translateX(-50%);
    z-index:20;
    animation:mcehA12MobileFlow 1.8s ease-in-out infinite;
  }

  .mceh-reverse-panel:not(:last-child)::before{
    content:"↓";
    position:absolute;
    z-index:21;
    left:50%;
    bottom:-24px;
    transform:translateX(-50%);
    color:#77c8f2;
    font-size:13px;
    font-weight:900;
    line-height:1;
  }

  @keyframes mcehA12MobileFlow{
    0%,100%{opacity:.25;transform:translateX(-50%) scaleY(.55)}
    50%{opacity:1;transform:translateX(-50%) scaleY(1)}
  }

  .mceh-reverse-panel-label{
    min-height:44px!important;
    padding:9px 11px!important;
  }

  .mceh-reverse-panel-label span{
    font-size:7px!important;
  }

  .mceh-reverse-panel-label strong{
    font-size:15px!important;
    line-height:1.15!important;
  }

  .mceh-reverse-part{
    width:100%!important;
    height:154px!important;
    min-height:154px!important;
    padding:6px 10px!important;
  }

  .mceh-reverse-part svg{
    width:100%!important;
    height:100%!important;
    max-width:310px!important;
    margin-inline:auto!important;
  }

  .mceh-reverse-panel > p{
    padding:10px 11px 0!important;
    font-size:9px!important;
    line-height:1.55!important;
  }

  .mceh-reverse-frame-foot{
    padding:11px 8px 3px!important;
    display:block!important;
  }

  .mceh-reverse-status{
    display:block;
    font-size:7.5px;
    line-height:1.4;
  }

  .mceh-reverse-swipe{
    display:none!important;
  }

  /* Keep technical animation visible but calmer on small screens */
  .mceh-reverse-scanline{
    stroke-width:2!important;
  }

  .mceh-scan-dots circle{
    r:1.8px;
  }
}

@media (max-width:390px){
  .mceh-workflow .mceh-container{
    width:min(calc(100% - 20px),var(--mceh-max))!important;
  }

  .mceh-reverse-frame{
    padding:6px!important;
  }

  .mceh-reverse-part{
    height:142px!important;
    min-height:142px!important;
  }

  .mceh-reverse-panel-label strong{
    font-size:14px!important;
  }

  .mceh-reverse-panel > p{
    font-size:8.6px!important;
  }
}

