/* 6.6 · Sistema de movimiento unificado y acelerado por GPU */
.reveal{opacity:0!important;transform:translate3d(0,24px,0)!important;filter:none!important;transition:opacity .62s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform .72s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)!important;will-change:opacity,transform}
.reveal.visible,.elementor-editor-active .reveal{opacity:1!important;transform:translate3d(0,0,0)!important;will-change:auto}
.page-transition{transition-duration:.42s!important;transition-timing-function:cubic-bezier(.76,0,.24,1)!important}
.hero{position:relative}.hero:after{content:"";position:absolute;z-index:1;top:-35%;left:-45%;width:52%;height:175%;pointer-events:none;background:linear-gradient(105deg,transparent 12%,rgba(255,75,75,.025) 34%,rgba(255,150,150,.2) 48%,rgba(255,255,255,.1) 52%,rgba(255,75,75,.035) 65%,transparent 82%);filter:blur(10px);transform:translate3d(-25vw,0,0) rotate(7deg);animation:rmLightSweep 8.5s cubic-bezier(.45,0,.55,1) infinite;mix-blend-mode:screen}.hero-gridlines{animation:rmGridDrift 20s ease-in-out infinite alternate;will-change:transform}.hero-glow{animation:rmGlowDrift 10s ease-in-out infinite alternate;will-change:transform,opacity}.glow-b{animation-delay:-5s}
@keyframes rmLightSweep{0%,18%{transform:translate3d(-35vw,0,0) rotate(7deg);opacity:0}30%{opacity:.85}55%{opacity:.32}72%,100%{transform:translate3d(190vw,8%,0) rotate(7deg);opacity:0}}
@keyframes rmGridDrift{to{transform:translate3d(-18px,14px,0) scale(1.025)}}
@keyframes rmGlowDrift{0%{transform:translate3d(-4%,0,0) scale(.95);opacity:.14}100%{transform:translate3d(10%,7%,0) scale(1.1);opacity:.26}}

/* Entrada cinematográfica del hero */
body:not(.elementor-editor-active) .site-header{animation:rmHeaderEnter .8s cubic-bezier(.22,1,.36,1) both}
body:not(.elementor-editor-active) .hero-title .line{perspective:700px}
body:not(.elementor-editor-active) .hero-title .line>span{transform-origin:center;animation:rmHeroFocus .95s cubic-bezier(.16,1,.3,1) both!important}
body:not(.elementor-editor-active) .hero-title .line:nth-child(1)>span{animation-delay:.14s!important}
body:not(.elementor-editor-active) .hero-title .line:nth-child(2)>span{animation-delay:.29s!important}
body:not(.elementor-editor-active) .hero-title .line:nth-child(3)>span{animation-delay:.44s!important}
body:not(.elementor-editor-active) .hero-title .accent-line>span{color:transparent;background:linear-gradient(90deg,#ff3e46 0%,#ff7a64 28%,#ff3347 50%,#d91f49 72%,#ff5c4d 100%);background-size:240% 100%;background-position:0 50%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;animation:rmHeroRedReveal .9s cubic-bezier(.16,1,.3,1) .29s both,rmRedFlow 4.5s linear 1.25s infinite!important}
body:not(.elementor-editor-active) .hero-stage.visible{animation:rmStageMask 1.15s cubic-bezier(.16,1,.3,1) .38s both}
body:not(.elementor-editor-active) .hero-stage.visible .browser-card{animation:rmConsoleEnter 1.2s cubic-bezier(.16,1,.3,1) .42s both}
body:not(.elementor-editor-active) .hero-stage.visible .float-card{animation:rmFloatPop .75s cubic-bezier(.16,1.4,.3,1) both,float 4s ease-in-out 1.8s infinite}
body:not(.elementor-editor-active) .hero-stage.visible .float-a{animation-delay:1.05s,1.8s}
body:not(.elementor-editor-active) .hero-stage.visible .float-b{animation-delay:1.2s,2s}
body:not(.elementor-editor-active) .hero-actions.visible>*{animation:rmActionEnter .72s cubic-bezier(.16,1,.3,1) both}
body:not(.elementor-editor-active) .hero-actions.visible>*:nth-child(1){animation-delay:.62s}
body:not(.elementor-editor-active) .hero-actions.visible>*:nth-child(2){animation-delay:.75s}
@keyframes rmHeaderEnter{from{opacity:0;transform:translate3d(0,-28px,0)}to{opacity:1;transform:none}}
@keyframes rmHeroFocus{0%{opacity:0;filter:blur(18px);letter-spacing:-.12em;transform:scale(.94)}60%{opacity:1}100%{opacity:1;filter:none;letter-spacing:inherit;transform:none}}
@keyframes rmHeroRedReveal{0%{opacity:0;filter:blur(15px);clip-path:inset(0 100% 0 0);transform:scale(.97)}100%{opacity:1;filter:none;clip-path:inset(0);transform:none}}
@keyframes rmRedFlow{0%{background-position:0 50%}100%{background-position:240% 50%}}
@keyframes rmStageMask{0%{clip-path:polygon(0 0,0 0,0 100%,0 100%)}99%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}100%{clip-path:none}}
@keyframes rmConsoleEnter{0%{opacity:0;filter:blur(16px);transform:translate3d(90px,25px,0) rotateY(-18deg) rotateX(7deg) scale(.91)}100%{opacity:1;filter:none;transform:rotateY(-7deg) rotateX(2deg)}}
@keyframes rmFloatPop{from{opacity:0;transform:translate3d(0,25px,0) scale(.62) rotate(-8deg)}to{opacity:1;transform:none}}
@keyframes rmActionEnter{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(12px)}to{opacity:1;clip-path:inset(0);transform:none}}

/* Indicadores compactos: aportan información sin tapar la composición. */
.hero-stage .float-card{display:flex;min-width:0;width:max-content;max-width:210px;min-height:0;flex-direction:row;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:99px;background:rgba(12,12,15,.76);color:#fff;box-shadow:0 14px 38px rgba(0,0,0,.32);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);white-space:nowrap}
.hero-stage .float-card b{font:800 14px/1 "Manrope",sans-serif;color:#fff}
.hero-stage .float-card span{font-size:9px;line-height:1;color:#b8b8bf}
.hero-stage .float-a{right:2px;top:27px}
.hero-stage .float-b{left:2px;bottom:31px}
.hero-stage .float-b .live-dot{display:block;flex:0 0 7px;width:7px;height:7px;margin:0;background:#55e894;box-shadow:0 0 12px rgba(85,232,148,.65)}

/* Franja continua, horizontal y con bordes suavizados. */
.hero .marquee{width:100%!important;margin-left:0!important;transform:none!important;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.hero .marquee div{padding:17px 3vw}
@media(max-width:960px){.reveal{transform:translate3d(0,15px,0)!important;transition-duration:.48s,.58s!important}.reveal.visible{transform:translate3d(0,0,0)!important}.hero:after{left:-75%;width:75%;height:150%;animation-duration:10s;opacity:.48}.hero-gridlines{animation-duration:28s}.hero-glow{animation-duration:14s}.page-transition{display:none!important}body:not(.elementor-editor-active) .hero-title .line>span{animation-duration:.72s!important}body:not(.elementor-editor-active) .hero-title .accent-line>span{animation-duration:.72s,5.5s!important}body:not(.elementor-editor-active) .hero-stage.visible{animation-duration:.72s}body:not(.elementor-editor-active) .hero-stage.visible .browser-card{animation-name:rmConsoleMobile;animation-duration:.8s}@keyframes rmConsoleMobile{from{opacity:0;filter:blur(8px);clip-path:inset(0 100% 0 0)}to{opacity:1;filter:none;clip-path:inset(0)}}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}.hero:after,.hero-gridlines,.hero-glow{animation:none!important}.hero:after{display:none}}
