/* M&M Innovations V1.6.5 — premium motion system (GPU-friendly, responsive) */
:root{
  --motion-ease:cubic-bezier(.16,1,.3,1);
  --motion-ease-soft:cubic-bezier(.22,1,.36,1);
  --motion-fast:360ms;
  --motion-base:720ms;
  --motion-slow:1100ms;
}

html{scroll-padding-top:108px}
body{isolation:isolate}

.motion-progress{
  position:fixed;z-index:160;inset:0 auto auto 0;width:100%;height:3px;
  pointer-events:none;transform:scaleX(0);transform-origin:left center;
  background:linear-gradient(90deg,#c96c3b,#f0a578,#123f63);
  box-shadow:0 0 16px rgba(201,108,59,.34);will-change:transform
}
.motion-transition{
  position:fixed;z-index:150;inset:0;pointer-events:none;background:#0b1d2d;
  transform:scaleY(0);transform-origin:bottom;transition:transform .48s var(--motion-ease)
}
.motion-transition:after{
  content:'';position:absolute;left:50%;top:50%;width:min(64vw,360px);aspect-ratio:1;
  background:url('mm-logo-v168.png') center/contain no-repeat;
  opacity:0;transform:translate(-50%,-42%) scale(.96);transition:opacity .2s ease,transform .48s var(--motion-ease)
}
.motion-transition.is-leaving{transform:scaleY(1);transform-origin:top}
.motion-transition.is-leaving:after{opacity:.92;transform:translate(-50%,-50%) scale(1)}

.nav{transition:background-color .45s ease,box-shadow .45s ease,transform .55s var(--motion-ease)}
.nav.motion-nav-scrolled{background:rgba(244,241,234,.985);box-shadow:0 12px 34px rgba(11,29,45,.08)}
.brand-logo{border-radius:50%;object-fit:cover;background:#07121b;box-shadow:0 5px 18px rgba(11,29,45,.15);transition:transform .65s var(--motion-ease),filter .45s ease}
.brand:hover .brand-logo{transform:rotate(-4deg) scale(1.05)}
.nav-links a{transition:color .28s ease,transform .35s var(--motion-ease)}
.nav-links a:hover{transform:translateY(-2px);color:#0b1d2d}
.menu-btn{transition:transform .42s var(--motion-ease),background-color .3s ease}
.menu-btn[aria-expanded="true"]{transform:rotate(90deg)}

.hero,.page-hero{isolation:isolate}
.hero:after,.page-hero:after{
  content:'';position:absolute;z-index:-1;pointer-events:none;border-radius:50%;
  width:min(52vw,720px);aspect-ratio:1;right:-15%;top:8%;
  border:1px solid rgba(201,108,59,.19);
  box-shadow:inset 0 0 0 80px rgba(255,255,255,.014),inset 0 0 0 160px rgba(255,255,255,.012);
  transform:translate3d(0,var(--hero-shift,0),0);will-change:transform;
  animation:motion-ring 22s linear infinite
}
.page-hero:after{width:min(42vw,540px);right:-8%;top:-25%;opacity:.58}
.hero-logo-card{position:relative}
.hero-logo-card:before,.hero-logo-card:after{
  content:'';position:absolute;pointer-events:none;border-radius:50%;inset:11%;
  border:1px solid rgba(201,108,59,.28);animation:motion-orbit 14s linear infinite
}
.hero-logo-card:after{inset:21%;border-color:rgba(255,255,255,.13);animation-direction:reverse;animation-duration:19s}
.hero-logo-card img{position:relative;z-index:1}
.hero-logo-card img{width:min(100%,390px);height:auto;max-height:78%;object-fit:contain;background:transparent;border-radius:0;filter:drop-shadow(0 12px 22px rgba(0,0,0,.2))}

.motion-enabled .premium-enter{opacity:0;transform:translate3d(0,34px,0);filter:blur(7px)}
.motion-enabled.page-ready .premium-enter{
  opacity:1;transform:translate3d(0,0,0);filter:blur(0);
  transition:opacity var(--motion-slow) var(--motion-ease),transform var(--motion-slow) var(--motion-ease),filter .8s ease;
  transition-delay:var(--enter-delay,0ms)
}
.motion-enabled .premium-enter.from-left{transform:translate3d(-44px,0,0)}
.motion-enabled .premium-enter.from-right{transform:translate3d(44px,0,0)}

.motion-enabled .motion-reveal{
  opacity:0;transform:translate3d(0,44px,0) scale(.985);filter:blur(5px);
  transition:opacity var(--motion-base) var(--motion-ease),transform var(--motion-base) var(--motion-ease),filter .55s ease;
  transition-delay:var(--motion-delay,0ms);will-change:transform,opacity
}
.motion-enabled .motion-reveal.motion-left{transform:translate3d(-52px,12px,0)}
.motion-enabled .motion-reveal.motion-right{transform:translate3d(52px,12px,0)}
.motion-enabled .motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);will-change:auto}

.section-head h2,.content-panel h2{position:relative}
.section-head h2:after{
  content:'';display:block;width:68px;height:3px;margin-top:22px;background:#c96c3b;
  transform:scaleX(0);transform-origin:left;transition:transform .9s .25s var(--motion-ease)
}
.section-head.is-visible h2:after{transform:scaleX(1)}

.division-card,.service-card,.industry,.product-card,.contact-card,.form-card,.cta-box{
  transform-style:preserve-3d;backface-visibility:hidden
}
.division-card:after,.service-card:after,.industry:after,.product-card:after{
  content:'';position:absolute;z-index:3;inset:-1px;pointer-events:none;
  background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.42) 48%,transparent 76%);
  transform:translateX(-130%);transition:transform .85s var(--motion-ease)
}
.division-card:hover:after,.service-card:hover:after,.industry:hover:after,.product-card:hover:after{transform:translateX(130%)}
.division-card h3,.service-card h3,.industry h3,.product-body h3{transition:transform .48s var(--motion-ease),color .3s ease}
.division-card:hover h3,.service-card:hover h3,.industry:hover h3,.product-card:hover h3{transform:translateX(4px);color:#c96c3b}

.visual-panel{clip-path:inset(0 0 0 0);transition:clip-path 1s var(--motion-ease),transform .75s var(--motion-ease)}
.motion-enabled .visual-panel.motion-reveal:not(.is-visible){clip-path:inset(0 0 100% 0)}
.visual-panel[data-motion-parallax] img{
  transform:translate3d(0,var(--parallax-y,0),0) scale(1.065);
  transition:transform .18s linear;will-change:transform
}
.visual-panel[data-motion-parallax]:hover img{transform:translate3d(0,var(--parallax-y,0),0) scale(1.09)}
.visual-caption{transition:transform .65s var(--motion-ease),opacity .5s ease}
.visual-panel:hover .visual-caption{transform:translateY(-7px)}

.metric{position:relative;overflow:hidden;transition:background-color .35s ease}
.metric:after{content:'';position:absolute;inset:auto 0 0;height:3px;background:#fff;transform:scaleX(0);transition:transform .65s var(--motion-ease)}
.metric:hover{background:rgba(255,255,255,.08)}
.metric:hover:after{transform:scaleX(1)}
.metric strong{font-variant-numeric:tabular-nums;transition:transform .5s var(--motion-ease)}
.metric:hover strong{transform:translateY(-3px)}

.btn,.nav-cta{position:relative;overflow:hidden;isolation:isolate}
.btn:before,.nav-cta:before{
  content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);
  transform:translateX(-125%);transition:transform .7s var(--motion-ease)
}
.btn:hover:before,.nav-cta:hover:before{transform:translateX(125%)}
.btn:active,.nav-cta:active{transform:translateY(0) scale(.97)}

.motion-product{animation:motion-product-in .72s var(--motion-ease) both;animation-delay:min(calc(var(--product-index,0) * 45ms),360ms)}
.product-media img{transition:transform .75s var(--motion-ease),filter .45s ease!important}
.product-card:hover .product-media img{transform:scale(1.07) rotate(.35deg)!important}
.filter-btn{transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .35s var(--motion-ease)}
.filter-btn:hover{transform:translateY(-2px)}
.filter-btn.active{animation:motion-filter .42s var(--motion-ease)}
.catalog-tools{transition:box-shadow .35s ease,transform .35s var(--motion-ease)}

.modal{opacity:0;transition:opacity .28s ease;display:grid!important;visibility:hidden;pointer-events:none}
.modal.open{opacity:1;visibility:visible;pointer-events:auto}
.modal .modal-card{opacity:0;transform:translate3d(0,28px,0) scale(.965);transition:opacity .38s ease,transform .58s var(--motion-ease)}
.modal.open .modal-card{opacity:1;transform:translate3d(0,0,0) scale(1)}
.modal.open .modal-image img{animation:motion-modal-image .72s .08s var(--motion-ease) both}
.modal-close{transition:transform .42s var(--motion-ease),background-color .3s ease,color .3s ease}
.modal-close:hover{transform:rotate(90deg);background:#123f63;color:#fff}

.capability-table tbody tr{transition:background-color .3s ease,transform .4s var(--motion-ease)}
.capability-table tbody tr:hover{background:#f3eee7;transform:translateX(4px)}
.field{transition:transform .42s var(--motion-ease)}
.field:focus-within{transform:translateY(-3px)}
.field input,.field select,.field textarea{transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease,transform .35s var(--motion-ease)}
.field input:focus,.field select:focus,.field textarea:focus{background:#fff;transform:scale(1.005)}
.pill{transition:transform .35s var(--motion-ease),background-color .3s ease,color .3s ease,border-color .3s ease}
.pill:hover{transform:translateY(-3px);background:#123f63;color:#fff;border-color:#123f63}

.footer .brand,.footer-links a,.footer h4,.footer p,.footer-bottom span{transition:opacity .45s ease,transform .55s var(--motion-ease),color .3s ease}
.footer-links a:hover{transform:translateX(5px)}

@keyframes motion-ring{to{transform:translate3d(0,var(--hero-shift,0),0) rotate(360deg)}}
@keyframes motion-orbit{to{transform:rotate(360deg)}}
@keyframes motion-product-in{from{opacity:0;transform:translate3d(0,26px,0) scale(.975)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes motion-filter{0%{transform:scale(.9)}70%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes motion-modal-image{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}

@media(max-width:820px){
  :root{--motion-base:620ms;--motion-slow:820ms}
  .hero:after,.page-hero:after{width:540px;right:-310px;opacity:.44;animation-duration:30s}
  .hero-logo-card:before,.hero-logo-card:after{animation:none}
  .motion-enabled .motion-reveal.motion-left,.motion-enabled .motion-reveal.motion-right{transform:translate3d(0,34px,0)}
  .division-card:after,.service-card:after,.industry:after,.product-card:after{display:none}
  .visual-panel[data-motion-parallax] img{transform:scale(1.035);will-change:auto;transition:transform .7s var(--motion-ease)}
  .visual-panel[data-motion-parallax]:hover img{transform:scale(1.05)}
  .modal{transition-duration:.2s}
  .modal .modal-card{transform:translate3d(0,18px,0) scale(.98)}
}

@media(prefers-reduced-motion:reduce){
  .motion-progress,.motion-transition{display:none!important}
  .hero:after,.page-hero:after,.hero-logo-card:before,.hero-logo-card:after{animation:none!important}
  .motion-enabled .premium-enter,.motion-enabled .motion-reveal,.motion-product,.modal .modal-card,.modal.open .modal-image img{
    opacity:1!important;transform:none!important;filter:none!important;animation:none!important;transition:none!important
  }
  .visual-panel{clip-path:none!important}
  .visual-panel[data-motion-parallax] img{transform:none!important;transition:none!important}
}
