/* M GESTIÓN · Sistema de movimiento inspirado en la guía Service Group.
   Mejora progresiva: el contenido no se oculta si JavaScript no inicia. */
:root{
 --mg-fast:180ms;
 --mg-normal:260ms;
 --mg-ease:cubic-bezier(.2,.75,.25,1);
 --mg-premium:cubic-bezier(.16,1,.3,1);
}
html{scroll-behavior:smooth}
.site-header{transition:box-shadow var(--mg-normal) ease,background-color var(--mg-normal) ease}
.site-header.mg-scrolled{box-shadow:0 7px 23px #0003}
.desktop-nav a,.mobile-nav a,.footer a{transition:color var(--mg-fast) ease,background-color var(--mg-fast) ease}
.wa-button,.reviews-cta,.review-carousel-arrow,.menu-toggle,.wa-header,.admin-user-link{
 transition:transform var(--mg-fast) var(--mg-ease),background-color var(--mg-fast) ease,filter var(--mg-fast) ease;
 -webkit-tap-highlight-color:transparent;
}
.wa-button:active,.reviews-cta:active,.review-carousel-arrow:active,.menu-toggle:active,
.wa-header:active,.admin-user-link:active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){
 .wa-button:hover,.reviews-cta:hover{transform:translateY(-2px)}
 .service-card.mg-motion-in:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0003}
 .footer nav a:hover{color:#d39427}
 .service-card .service-icon svg{transition:transform var(--mg-normal) var(--mg-ease)}
 .service-card:hover .service-icon svg{transform:scale(1.045)}
}
@keyframes mgHeroArrival{
 from{opacity:.2;transform:translate3d(0,10px,0)}
 to{opacity:1;transform:translate3d(0,0,0)}
}
.mg-motion-supported .hero-inner{animation:mgHeroArrival 480ms var(--mg-ease) both}
@keyframes mgMenuArrival{
 from{opacity:.35;transform:translateY(-7px)}
 to{opacity:1;transform:translateY(0)}
}
@media(max-width:767px){
 .mobile-nav.open{animation:mgMenuArrival 200ms var(--mg-ease) both}
 .mg-motion-supported .mg-motion-item{
  opacity:0;
  transform:translate3d(0,var(--mg-distance,30px),0);
  transition:opacity 860ms cubic-bezier(.22,1,.36,1),transform 1060ms var(--mg-premium);
  transition-delay:var(--mg-delay,0ms);
 }
 .mg-motion-supported .mg-motion-item.mg-motion-in{opacity:1;transform:translate3d(0,0,0)}
 .mg-motion-supported .mg-motion-item.mg-motion-reset{transition:none!important;transition-delay:0ms!important}
 .mg-motion-supported .service-card.mg-motion-item{--mg-distance:38px}
 .mg-motion-supported #nosotros .mg-motion-item{--mg-distance:27px}
 .mg-motion-supported .service-card.mg-motion-in:active{transform:scale(.985)}
 .mg-motion-supported .wa-button.mg-motion-in:active{transform:scale(.97)}
 .mobile-wa-float:not([hidden]){animation:mgHeroArrival 340ms var(--mg-ease) both}
}
@media(min-width:768px){
 .mg-motion-supported .mg-motion-item{opacity:0;transform:translateY(9px)}
 .mg-motion-supported .mg-motion-item.mg-motion-in{
  animation:mgSectionArrival 340ms var(--mg-ease) both;
  animation-delay:var(--mg-delay,0ms);
 }
 .mg-motion-supported .mg-motion-item.mg-motion-reset{animation:none!important;transition:none!important}
 @keyframes mgSectionArrival{
  from{opacity:.18;transform:translateY(9px)}
  to{opacity:1;transform:translateY(0)}
 }
 .mg-motion-supported .service-card.mg-motion-in:hover{transform:translateY(-3px)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .mg-motion-item,.mg-motion-supported .mg-motion-item,.mg-motion-supported .hero-inner{
  opacity:1!important;transform:none!important;animation:none!important;transition:none!important;
 }
 .mobile-nav.open,.mobile-wa-float:not([hidden]){animation:none!important}
 .wa-button,.reviews-cta,.review-carousel-arrow,.menu-toggle,.wa-header,.admin-user-link,.service-card .service-icon svg{
  transition:none!important;animation:none!important
 }
}
