/* Movemos tu Imagen | v1.1.9 | Compatible con Firefox, Edge y Brave. */
/* El movimiento CSS no depende de WebGL, GPU, CDN o un dispositivo apuntador. */
.hero-stage-image{position:relative;isolation:isolate;overflow:visible}
.hero-stage-image::before{content:"";position:absolute;pointer-events:none;z-index:-1;inset:3% 0;background:radial-gradient(ellipse,rgba(159,206,108,.22) 0%,rgba(201,230,167,.09) 45%,transparent 71%);animation:heroGlow 7s ease-in-out infinite alternate}
.hero-motion-orbits{position:absolute;z-index:0;inset:0;pointer-events:none;overflow:visible;display:block}
.hero-motion-orbits span{position:absolute;display:block;border:1.5px solid rgba(91,156,59,.32);border-radius:50%;animation:heroOrbit 23s linear infinite;transform-origin:center center}
.hero-motion-orbits span:first-child{width:75%;aspect-ratio:1;left:12%;top:5%;border-top-color:rgba(82,139,45,.72);border-right-color:rgba(82,139,45,.12)}
.hero-motion-orbits span:nth-child(2){width:51%;aspect-ratio:1;left:24%;top:19%;border-color:rgba(122,172,85,.20);border-bottom-color:rgba(91,151,47,.7);animation-direction:reverse;animation-duration:19s}
.hero-motion-orbits span:nth-child(3){width:9px;height:9px;left:84%;top:21%;border:0;background:#9acc6b;box-shadow:0 0 0 8px rgba(154,204,107,.18),0 0 19px rgba(119,177,65,.38);animation:heroSparkle 3.8s ease-in-out infinite alternate}
.hero-art-float{position:relative;z-index:1;width:100%;animation:heroFloat 5.5s ease-in-out infinite alternate}
.hero-stage-art{display:block;width:100%;height:auto;position:relative;z-index:1;transform:translate3d(var(--hero-move-x,0px),var(--hero-move-y,0px),0) rotate(var(--hero-angle,0deg));transition:transform .3s cubic-bezier(.2,.75,.2,1);will-change:transform}
.hero-webgl-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;opacity:.72}
@keyframes heroFloat{0%{transform:translate3d(0,-6px,0)}100%{transform:translate3d(0,9px,0)}}
@keyframes heroOrbit{to{transform:rotate(360deg)}}
@keyframes heroSparkle{from{transform:scale(.82);opacity:.48}to{transform:scale(1.32);opacity:1}}
@keyframes heroGlow{from{opacity:.65;transform:scale(.94)}to{opacity:1;transform:scale(1.08)}}
/* Aumentar la legibilidad de las interacciones en los navegadores con ratón. */
.service-card{transform-style:preserve-3d;backface-visibility:hidden;transition:transform .24s ease,box-shadow .3s ease}
.service-card.is-tilting{transform:perspective(1050px) translateY(-6px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))!important;transition:transform .08s linear,box-shadow .3s ease;z-index:3;box-shadow:0 32px 58px rgba(20,47,30,.19)}
.service-card::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;transition:opacity .24s ease;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),rgba(255,255,255,.39),transparent 55%)}
.service-card.is-tilting::after{opacity:1}
.service-card:focus-visible{outline:3px solid #68a639;outline-offset:4px}
.js [data-reveal]{transition-delay:var(--reveal-delay,0ms)}
.statement-section::before,.final-cta::before{content:"";position:absolute;pointer-events:none;width:min(510px,55vw);aspect-ratio:1;border-radius:50%;transform:translate3d(0,var(--float-shift,0px),0);transition:transform .15s linear}
.statement-section{position:relative;overflow:hidden}
.statement-section::before{right:-12%;top:-35%;border:1px solid rgba(193,236,144,.18);box-shadow:0 0 0 30px rgba(193,236,144,.025),0 0 0 75px rgba(193,236,144,.025)}
.final-cta{position:relative;overflow:hidden}
.final-cta::before{left:-12%;top:-30%;border:1px solid rgba(54,133,50,.18);box-shadow:0 0 0 28px rgba(53,130,50,.018)}
@media(max-width:980px){.hero-motion-orbits span:first-child{width:65%;left:17%}.hero-motion-orbits span:nth-child(2){width:49%;left:25%}}
@media(max-width:740px){.hero-motion-orbits span{border-width:1px}.hero-stage-image::before{inset:10% 6%}.hero-art-float{animation-duration:6.5s}.hero-webgl-canvas{opacity:.38}.service-card::after{display:none}}
