.hero{position:relative;isolation:isolate}.network-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.6}.hero:before{content:'';position:absolute;inset:10% -8% 0 25%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 65% 40%,#8b5cf622,transparent 60%);filter:blur(18px)}.hero-copy{position:relative;z-index:2}.visual{perspective:1000px;transition:rotate .35s ease-out;rotate:y var(--scene-angle,0deg)}.logo-core:before{content:'';position:absolute;inset:-27px;border:1px solid #c4b5fd44;border-radius:50%;border-top:2px solid #ddd6fe;border-bottom:2px solid #8b5cf6;pointer-events:none}.logo-core:after{content:'';position:absolute;inset:-42px;border:1px dashed #a78bfa33;border-radius:50%;pointer-events:none}.dashboard,.code-card{backface-visibility:hidden}.chart b{transform-origin:bottom}.chart b:nth-child(2n){--bar-delay:-2s}.chart b:nth-child(3n){--bar-delay:-4s}.capability-strip.is-marquee{display:block;overflow:hidden;padding:21px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;width:max-content;gap:0}.marquee-track>span{padding:0 35px;white-space:nowrap}.marquee-track>span:before{content:'✦';color:#a78bfa;margin-right:35px;font-size:12px}.personal-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.custom-service{display:flex;flex-direction:column;min-height:370px;transition:transform .3s,box-shadow .3s,border-color .3s;transform-style:preserve-3d}.custom-service:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-6px);box-shadow:0 18px 50px #8b5cf617}.service-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:15px}.service-category{font-size:9px;letter-spacing:2px;color:#c4b5fd;border:1px solid #a78bfa33;background:#8b5cf612;border-radius:6px;padding:6px 10px}.service-index{font-size:11px;color:#a391bb}.custom-service h3{font-size:27px;max-width:370px;line-height:1.2;letter-spacing:-1px}.custom-service>p{min-height:0;max-width:440px;font-size:14px}.custom-service ul{margin-top:22px}.custom-service>a{margin-top:auto;padding-top:20px}.service-price{font-size:15px;font-weight:600;color:#ddd6fe;margin:0 0 20px}.service-photo{width:calc(100% + 54px);height:200px;object-fit:cover;margin:-30px -27px 24px;max-width:none;display:block}.service-topline,.custom-service h3,.custom-service>p,.custom-service ul,.service-price{position:relative;z-index:1}.personal-services:empty:after{content:'Pronto compartiremos nuestras soluciones.';color:#b5acc9;padding:30px}.motion-paused .visual{rotate:none!important}.motion-paused .custom-service:hover{transform:none!important}
.hero:before{right:0}
@keyframes raylio-ring{to{rotate:360deg}}@keyframes raylio-marquee{to{transform:translateX(-50%)}}@keyframes raylio-chart{0%,100%{scale:1 .8}50%{scale:1 1}}@keyframes raylio-aurora{0%,100%{translate:-10px 0;opacity:.6}50%{translate:20px -15px;opacity:1}}
@media(prefers-reduced-motion:no-preference){body:not(.motion-paused) .visual.motion-in-view .logo-core:before{animation:raylio-ring 20s linear infinite}body:not(.motion-paused) .visual.motion-in-view .logo-core:after{animation:raylio-ring 32s linear reverse infinite}body:not(.motion-paused) .visual.motion-in-view .chart b{animation:raylio-chart 6s ease-in-out var(--bar-delay,0s) infinite}body:not(.motion-paused) .capability-strip.motion-in-view .marquee-track{animation:raylio-marquee 32s linear infinite}body:not(.motion-paused) .hero.motion-in-view:before{animation:raylio-aurora 12s ease-in-out infinite}.capability-strip:hover .marquee-track{animation-play-state:paused!important}}
@media(max-width:1050px){.service-photo{width:calc(100% + 40px);margin:-25px -20px 22px}.custom-service h3{font-size:25px}}
@media(max-width:760px){.personal-services{grid-template-columns:1fr}.custom-service{min-height:330px}.custom-service h3{font-size:26px}.network-canvas{opacity:.4}.logo-core:before{inset:-18px}.logo-core:after{inset:-29px}.marquee-track>span{padding:0 22px;font-size:11px}.marquee-track>span:before{margin-right:22px}.custom-service:hover{transform:none}.service-photo{height:180px}.hero:before{inset:20% 0 0}.visual{rotate:none}}
@media(prefers-reduced-motion:reduce){.visual{rotate:none}.custom-service:hover{transform:none}}
