*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{width:100%;max-width:100%;margin:0;overflow-x:hidden}#root{width:100%;max-width:100%}#tarjeta a>div,#tarjeta a>div>div{min-width:0}#tarjeta a>svg:last-child{flex-shrink:0}img,video,svg,canvas,iframe{max-width:100%;height:auto}p,h1,h2,h3,h4,a,span{overflow-wrap:break-word}:root{--motion-soft: cubic-bezier(.22, 1, .36, 1)}@keyframes fade-scale{0%{opacity:0;transform:translate3d(0,10px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes header-drop{0%{opacity:0;transform:translate3d(0,-10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes bounce-slow{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-10px,0)}}@keyframes modal-backdrop{0%{opacity:0}to{opacity:1}}@keyframes modal-panel{0%{opacity:0;transform:translate3d(0,12px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes slide-menu{0%{opacity:0;transform:translate3d(0,-10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes icon-pop{0%,to{transform:scale(1)}45%{transform:scale(1.12) rotate(-3deg)}}header{animation:header-drop .52s var(--motion-soft) both}.animate-bounce-slow{animation:bounce-slow 5.5s ease-in-out infinite}.animate-fade-in{animation:fade-scale .68s var(--motion-soft) both}.animate-in.fade-in,.slide-in-from-top-4{animation:slide-menu .26s var(--motion-soft) both}.motion-ready [data-motion]{opacity:0;transform:translate3d(0,14px,0);transition:opacity .56s var(--motion-soft),transform .56s var(--motion-soft);transition-delay:var(--motion-delay, 0ms);will-change:opacity,transform}.motion-ready [data-motion=scale]{transform:translate3d(0,10px,0) scale(.985)}.motion-ready [data-motion].is-visible{opacity:1;transform:translateZ(0) scale(1)}#servicios .group:hover svg,#contacto .group:hover svg,footer .group:hover svg{animation:icon-pop .45s var(--motion-soft)}[role=dialog]{animation:modal-backdrop .18s ease-out both}[role=dialog]>div{animation:modal-panel .3s var(--motion-soft) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.motion-ready [data-motion]{opacity:1!important;transform:none!important}}
