
.zv-motion-orbit{position:absolute;inset:-12px;border:1px solid rgba(78,175,255,.3);border-radius:36px;pointer-events:none;z-index:0}
.zv-motion-orbit:before,.zv-motion-orbit:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#5cdeff;box-shadow:0 0 22px #5cdeff}
.zv-motion-orbit:before{top:18%;left:-5px}.zv-motion-orbit:after{bottom:18%;right:-5px;background:#a89cff;box-shadow:0 0 22px #a89cff}
.zv-floating-card .zv-motion-dots{display:inline-flex;gap:4px;margin-inline-start:8px;vertical-align:middle}
.zv-motion-dots i{width:4px;height:4px;border-radius:50%;background:#61d6fa}
.zv-root .zv-btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
@media(hover:hover){.zv-root .zv-btn:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(39,102,230,.23)}
.zv-steps article,.zv-modules article,.zv-solution-cards article,.zv-industry-grid article{transition:transform .25s ease,box-shadow .25s ease}
.zv-steps article:hover,.zv-modules article:hover,.zv-solution-cards article:hover,.zv-industry-grid article:hover{transform:translateY(-5px);box-shadow:0 15px 38px rgba(19,52,99,.12)}}
@media(prefers-reduced-motion:no-preference){
.zv-hero__copy{animation:zv-arrive .85s cubic-bezier(.2,.7,.2,1) both}
.zv-hero__media picture{animation:zv-photo-arrive 1.1s cubic-bezier(.2,.7,.2,1) both}
.zv-floating-card--reply{animation:zv-card-arrive .8s .5s both,zv-float 3.4s 1.3s 1 ease-in-out}
.zv-floating-card--lead{animation:zv-card-arrive .8s .9s both,zv-float 3s 1.7s 1 ease-in-out}
.zv-motion-orbit{animation:zv-orbit-glow 4.6s 1 ease-in-out}
.zv-motion-dots i{animation:zv-typing .9s 3 ease-in-out}
.zv-motion-dots i:nth-child(2){animation-delay:.15s}.zv-motion-dots i:nth-child(3){animation-delay:.3s}
.zv-motion-enter .zv-heading,.zv-motion-enter .zv-copy{animation:zv-arrive .7s both}
.zv-motion-enter :is(.zv-steps,.zv-modules,.zv-industry-grid,.zv-solution-cards)>article{animation:zv-arrive .65s both}
.zv-motion-enter article:nth-child(2){animation-delay:.1s}.zv-motion-enter article:nth-child(3){animation-delay:.2s}.zv-motion-enter article:nth-child(4){animation-delay:.3s}.zv-motion-enter article:nth-child(5){animation-delay:.4s}.zv-motion-enter article:nth-child(6){animation-delay:.5s}
.zv-nav__dropdown{animation:zv-menu-arrive .2s both}
}
@keyframes zv-arrive{from{opacity:.35;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes zv-photo-arrive{from{opacity:.4;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@keyframes zv-card-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes zv-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes zv-orbit-glow{0%,100%{box-shadow:0 0 0 rgba(77,165,255,0)}50%{box-shadow:0 0 60px rgba(77,165,255,.24)}}
@keyframes zv-typing{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
@keyframes zv-menu-arrive{from{opacity:.5;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.zv-motion-orbit{inset:-6px;border-radius:32px}}
@media(prefers-reduced-motion:reduce){.zv-root *,.zv-root *:before,.zv-root *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
