/* GSAP: cada propiedad animada tiene un único controlador. */
.reading-progress{height:3px;background:var(--green);position:fixed;top:0;left:0;width:100%;transform:scaleX(0);transform-origin:left center;z-index:50;pointer-events:none}
.title-line{display:block;padding-bottom:15px;margin-bottom:-15px}.title-content{display:inline-block}.hero-stage{position:absolute;inset:0;will-change:transform}.hero-ambient{position:absolute;inset:40px -10px 25px;border-radius:50%;background:radial-gradient(ellipse at 65% 45%,#dcf69130,transparent 62%);opacity:.7;pointer-events:none}
.hero-orbit-graphic{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:.75}.hero-orbit-graphic path{fill:none;stroke:#244c3d20;stroke-width:.8}.hero-orbit-graphic path:nth-child(2){stroke-dasharray:2 8;opacity:.6}.orbit-particle{fill:var(--green);opacity:0}.particle-b{fill:#97b457}
.gsap-ready .hero-sculpture,.gsap-ready .floating-note,.gsap-ready .mini-product,.gsap-ready .automation-pulse,.gsap-ready .node-center>span,.gsap-ready .evolve-stack i,.gsap-ready .studio-ring,.gsap-ready .studio-sphere{animation:none!important;translate:none;rotate:none}
.gsap-ready .sculpture-wrap{transform:none;transition:none}.gsap-ready .hero-sculpture{will-change:auto}.gsap-ready .service{transition:border-color .3s,box-shadow .3s}.gsap-ready .service:hover{transform:none}.gsap-ready .sorting-pieces span{transition:background .2s,color .2s;transform-origin:center center}.gsap-ready .service-scene{perspective:800px;transform-style:preserve-3d}
.service:before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(300px circle at var(--spot-x,50%) var(--spot-y,30%),#dcf69138,transparent 70%);opacity:0;transition:opacity .35s}.service:hover:before{opacity:1}.service:nth-child(3):before{background:radial-gradient(280px circle at var(--spot-x,50%) var(--spot-y,30%),#dcf69124,transparent 70%)}.service>*{position:relative}.service .mini-product{position:relative}.service .service-scene{transform-origin:center center}
#proceso .process-grid:after{content:'';position:absolute;width:2px;top:21px;bottom:80px;left:20px;background:var(--green);transform:scaleY(var(--route-progress,0));transform-origin:center top;pointer-events:none}.step-top{z-index:1}.step.is-current .step-top span{background:var(--green);color:var(--paper);border-color:var(--green);box-shadow:0 0 0 7px #244c3d09}.step h3{transition:color .3s}.step.is-current h3{color:var(--green)}
.gsap-ready .btn{transition:background .25s,box-shadow .35s}.gsap-ready .btn:hover{transform:none}.gsap-ready .demo-board{will-change:auto}.motion-toggle{min-height:38px}.gsap-ready [data-motion='paused'] .hero-stage{transform:none}
@media(max-width:760px){.title-line{padding-bottom:12px;margin-bottom:-12px}.hero-orbit-graphic{inset:0 -5px;width:calc(100% + 10px);opacity:.5}.hero-ambient{inset:30px -15px 15px}.reading-progress{height:2px}#proceso .process-grid:after{left:18px;bottom:70px}.service:before{display:none}.hero-stage{will-change:auto}}
@media(prefers-reduced-motion:reduce){.hero-orbit-graphic{opacity:.25}.hero-stage{will-change:auto}.hero-ambient{opacity:.4}.reading-progress{display:none}.service:before{display:none}.step-top span{transition:none}.title-line{overflow:visible}}
[data-motion='paused'] .service:before{opacity:0}[data-motion='paused'] .hero-stage{will-change:auto}
.sorting-caption button{min-height:32px;padding:4px 0}
