.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 raylab-ring{to{transform:rotate(360deg)}}@keyframes raylab-marquee{to{transform:translateX(-50%)}}@keyframes raylab-chart{0%,100%{transform:scaleY(.8)}50%{transform:scaleY(1)}}@keyframes raylab-aurora{0%,100%{transform:translate(-10px,0);opacity:.6}50%{transform:translate(20px,-15px);opacity:1}}
body:not(.motion-paused) .visual.motion-in-view .logo-core:before{animation:raylab-ring 20s linear infinite}body:not(.motion-paused) .visual.motion-in-view .logo-core:after{animation:raylab-ring 32s linear reverse infinite}body:not(.motion-paused) .visual.motion-in-view .chart b{animation:raylab-chart 6s ease-in-out var(--bar-delay,0s) infinite}body:not(.motion-paused) .capability-strip.motion-in-view .marquee-track{animation:raylab-marquee 32s linear infinite}body:not(.motion-paused) .hero.motion-in-view:before{animation:raylab-aurora 12s ease-in-out infinite}
@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){body:not(.motion-override) .visual{rotate:none}body:not(.motion-override) .custom-service:hover{transform:none}}

@media(hover:hover) and (pointer:fine){.capability-strip:hover .marquee-track{animation-play-state:paused}}
/* Seamless ribbon: readable at every viewport width. */
html[data-theme] .capability-strip.is-marquee{padding:17px 0;background:linear-gradient(90deg,#8b5cf608,#8b5cf619,#8b5cf608);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.marquee-track{align-items:center;animation-duration:var(--marquee-duration,40s)!important;will-change:transform}
.marquee-group{display:flex;align-items:center;flex-shrink:0}
.marquee-group>span{display:inline-flex;align-items:center;gap:14px;padding:0 32px;white-space:nowrap;font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:500;letter-spacing:-.2px;color:var(--text)}
.marquee-group>span:after{content:'+';margin-left:32px;color:#a77ae9;font-size:18px;font-weight:400}
.marquee-group svg{width:30px;height:30px;padding:5px;flex-shrink:0;color:#b185ff;background:#8b5cf619;border-radius:9px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
[data-theme=light] .marquee-group svg{color:#7837db;background:#8b5cf616}
@media(max-width:760px){html[data-theme] .capability-strip.is-marquee{padding:14px 0}.marquee-group>span{font-size:14px;padding:0 20px;gap:10px}.marquee-group>span:after{margin-left:20px}.marquee-group svg{width:28px;height:28px}}
