[data-rx-reveal]{opacity:1;transform:none}
.rx-js [data-rx-reveal]{opacity:0;transform:translateY(var(--rx-reveal-distance,24px));transition:opacity var(--rx-motion-duration,.72s) ease var(--rx-delay,0ms),transform var(--rx-motion-duration,.72s) cubic-bezier(.2,.72,.2,1) var(--rx-delay,0ms)}
.rx-js [data-rx-reveal].is-visible{opacity:1;transform:none}
.rx-tech-panel__status i{animation:rxPulse 2.2s ease-in-out infinite}
.rx-tech-panel__graph span{animation:rxBars 3.8s ease-in-out infinite alternate;transform-origin:bottom}.rx-tech-panel__graph span:nth-child(2){animation-delay:.16s}.rx-tech-panel__graph span:nth-child(3){animation-delay:.32s}.rx-tech-panel__graph span:nth-child(4){animation-delay:.48s}.rx-tech-panel__graph span:nth-child(5){animation-delay:.64s}.rx-tech-panel__graph span:nth-child(6){animation-delay:.8s}
.rx-floating-chip{animation:rxFloat 6.2s ease-in-out infinite}.rx-floating-chip--two{animation-delay:-2.6s}
.rx-app-window{transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s}.rx-app-window:hover{transform:perspective(1200px) rotateY(0) rotateX(0) translateY(-5px);box-shadow:0 38px 100px rgba(7,20,38,.19)}
@keyframes rxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(-1 * var(--rx-float-distance,9px)))}}
@keyframes rxPulse{0%,100%{opacity:.62;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}
@keyframes rxBars{from{transform:scaleY(.70);opacity:.75}to{transform:scaleY(1);opacity:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rx-js [data-rx-reveal]{opacity:1;transform:none;transition:none}.rx-tech-panel__status i,.rx-tech-panel__graph span,.rx-floating-chip{animation:none}.rx-button,.rx-sector-card,.rx-service-card,.rx-app-window{transition:none}}

/* v0.8.0 — subtle system life */
.rx-hero__aurora i:nth-child(1){animation:rxAuroraA 12s ease-in-out infinite alternate}.rx-hero__aurora i:nth-child(2){animation:rxAuroraB 15s ease-in-out infinite alternate}.rx-hero-scene__orbit--one{animation:rxOrbitSlow 28s linear infinite}.rx-hero-scene__orbit--two{animation:rxOrbitReverse 22s linear infinite}.rx-hero-scene__scan{animation:rxScanLine 5.8s ease-in-out infinite}.rx-metric span{animation:rxMetricPing 2.8s ease-in-out infinite}.rx-metric:nth-child(2) span{animation-delay:.55s}.rx-metric:nth-child(3) span{animation-delay:1.1s}.rx-metric:nth-child(4) span{animation-delay:1.65s}.rx-ecosystem__hub:after{animation:rxOrbitSlow 30s linear infinite}.rx-ecosystem__hub:before{animation:rxOrbitReverse 24s linear infinite}.rx-ecosystem__canvas.is-visible .rx-flow-card{animation:rxNodeSettle .7s cubic-bezier(.2,.8,.2,1) both}.rx-ecosystem__canvas.is-visible .rx-flow-card--2{animation-delay:.12s}.rx-ecosystem__canvas.is-visible .rx-flow-card--3{animation-delay:.24s}
@keyframes rxAuroraA{from{transform:translate3d(-3%,0,0) rotate(-12deg) scale(.96)}to{transform:translate3d(4%,7%,0) rotate(-8deg) scale(1.07)}}
@keyframes rxAuroraB{from{transform:translate3d(0,4%,0) rotate(-16deg) scale(1)}to{transform:translate3d(7%,-4%,0) rotate(-10deg) scale(1.12)}}
@keyframes rxOrbitSlow{to{rotate:360deg}}
@keyframes rxOrbitReverse{to{rotate:-360deg}}
@keyframes rxScanLine{0%,100%{transform:translateY(0);opacity:.15}45%{opacity:.7}55%{transform:translateY(360px);opacity:.55}}
@keyframes rxMetricPing{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
@keyframes rxNodeSettle{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.rx-hero__aurora i,.rx-hero-scene__orbit,.rx-hero-scene__scan,.rx-metric span,.rx-ecosystem__hub:before,.rx-ecosystem__hub:after,.rx-ecosystem__canvas.is-visible .rx-flow-card{animation:none!important}}
