/* Motion system: expressive, lightweight and respectful of reduced-motion preferences. */
.reveal-word{display:inline-block;opacity:0;transform:translate3d(0,1em,0) rotate(2deg);clip-path:inset(0 0 100% 0);will-change:transform,opacity,clip-path}
.reveal-start .reveal-word{animation:wordReveal .9s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--word-index) * 70ms + 120ms)}
.text-gradient .reveal-word{background:linear-gradient(100deg,#0757c9,#39a2f3);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-copy [data-reveal].hero-lead .reveal-word{animation-duration:.68s;animation-delay:calc(var(--word-index) * 24ms + 650ms)}
@keyframes wordReveal{0%{opacity:0;transform:translate3d(0,1em,0) rotate(2deg);clip-path:inset(0 0 100% 0)}100%{opacity:1;transform:translate3d(0,0,0) rotate(0);clip-path:inset(0 0 0 0)}}
.hero-visual::after{content:"";position:absolute;z-index:0;width:74%;height:74%;border-radius:50%;border:1px solid rgba(96,173,244,.16);box-shadow:0 0 0 18px rgba(96,173,244,.035),0 0 0 36px rgba(96,173,244,.025);animation:haloPulse 8s ease-in-out infinite;pointer-events:none}@keyframes haloPulse{0%,100%{transform:scale(.94);opacity:.55}50%{transform:scale(1.04);opacity:1}}.hero-orbit{animation:orbitBreathe 12s ease-in-out infinite alternate}
.orbit-two{animation-duration:16s;animation-direction:alternate-reverse;animation-name:orbitBreatheTwo}
@keyframes orbitBreathe{from{transform:rotate(-24deg) scale(.96)}to{transform:rotate(-18deg) scale(1.04)}}
@keyframes orbitBreatheTwo{from{transform:rotate(33deg) scale(1.02)}to{transform:rotate(39deg) scale(.94)}}
.card-main{position:relative;overflow:hidden;animation:deviceFloat 7s ease-in-out infinite}.card-main::after{content:"";position:absolute;inset:-30% auto -30% -45%;width:24%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.72),transparent);transform:rotate(15deg);animation:cardSheen 6.5s ease-in-out infinite;pointer-events:none}@keyframes cardSheen{0%,45%{left:-45%;opacity:0}55%{opacity:1}75%,100%{left:130%;opacity:0}}
@keyframes deviceFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.float-top{animation:chipFloat 5.5s ease-in-out infinite}
.float-bottom{animation:chipFloat 6.5s ease-in-out -1.8s infinite}
@keyframes chipFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(-1deg)}}
.hero-ring{animation:ringFloat 4.8s ease-in-out infinite}
@keyframes ringFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(8deg)}}
.chart-line{animation:chartPulse 4.5s ease-in-out infinite alternate}
@keyframes chartPulse{from{opacity:.62;transform:translateX(-2px)}to{opacity:1;transform:translateX(5px)}}
.animated-tech-scene{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:visible}
.robot-art{position:absolute;z-index:5;left:-10px;top:52px;width:108px;height:132px;filter:drop-shadow(0 14px 18px rgba(4,57,133,.2));animation:robotHover 4.8s ease-in-out infinite;transform-origin:50% 90%}
.robot-aura{position:absolute;inset:20px 3px 8px;border-radius:50%;background:radial-gradient(circle,rgba(65,158,255,.24),transparent 67%);filter:blur(4px);animation:auraPulse 3.6s ease-in-out infinite}
.robot-antenna{position:absolute;left:49px;top:0;width:10px;height:25px;border-left:2px solid #75b5fb}
.robot-antenna:before{content:"";position:absolute;left:-6px;top:-4px;width:9px;height:9px;border-radius:50%;background:#39a2f3;box-shadow:0 0 0 5px rgba(57,162,243,.14);animation:antennaBlink 1.8s ease-in-out infinite}
.robot-head{position:absolute;left:18px;top:18px;width:72px;height:52px;border-radius:18px 18px 14px 14px;background:linear-gradient(145deg,#fff,#deedff);border:2px solid #acd0f6;box-shadow:inset 0 -5px 0 rgba(113,177,239,.13)}
.robot-eye{position:absolute;top:19px;width:9px;height:9px;border-radius:50%;background:#0757c9;box-shadow:0 0 0 4px rgba(7,87,201,.11);animation:eyeBlink 4.6s infinite}
.robot-eye-left{left:19px}.robot-eye-right{right:19px}.robot-mouth{position:absolute;left:29px;bottom:11px;width:14px;height:5px;border-radius:0 0 9px 9px;border-bottom:2px solid #3894e7}
.robot-neck{position:absolute;left:48px;top:70px;width:12px;height:10px;border-radius:4px;background:#8abdf0}
.robot-body{position:absolute;left:25px;top:77px;width:58px;height:45px;border-radius:16px 16px 12px 12px;background:linear-gradient(145deg,#0b69d8,#06418e);border:2px solid #78b8f6;box-shadow:inset 0 5px 0 rgba(255,255,255,.18)}
.robot-core{position:absolute;left:20px;top:12px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;color:#fff;background:#38a3f5;font-size:9px;animation:corePulse 2s ease-in-out infinite}
.robot-arm{position:absolute;top:83px;width:11px;height:37px;border-radius:9px;background:#7db8ed;border:2px solid #4c95dd;transform-origin:top center}
.robot-arm-left{left:15px;transform:rotate(19deg);animation:armWave 2.8s ease-in-out infinite}.robot-arm-right{right:13px;transform:rotate(-24deg);animation:armWave 2.8s ease-in-out -1.4s infinite}
.robot-foot{position:absolute;top:117px;width:18px;height:11px;border-radius:3px 3px 8px 8px;background:#0a4da4}.robot-foot-left{left:30px}.robot-foot-right{right:29px}
@keyframes robotHover{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@keyframes auraPulse{0%,100%{opacity:.35;transform:scale(.86)}50%{opacity:.9;transform:scale(1.08)}}
@keyframes antennaBlink{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes eyeBlink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.15)}}
@keyframes corePulse{0%,100%{box-shadow:0 0 0 rgba(56,163,245,0)}50%{box-shadow:0 0 0 6px rgba(56,163,245,.18)}}
@keyframes armWave{0%,100%{rotate:0deg}50%{rotate:12deg}}
.desktop-art{position:absolute;z-index:4;left:20px;bottom:-8px;width:148px;height:108px;filter:drop-shadow(0 16px 20px rgba(4,57,133,.18));animation:desktopFloat 6.6s ease-in-out infinite}
.desktop-screen{position:absolute;left:10px;top:0;width:128px;height:76px;border:4px solid #b5d6f7;border-radius:11px;background:#062b6b;box-shadow:inset 0 0 0 2px rgba(255,255,255,.11);overflow:hidden}
.desktop-topbar{height:15px;display:flex;align-items:center;gap:3px;padding:0 6px;background:#e7f3ff;color:#6c88aa;font-size:6px;white-space:nowrap;overflow:hidden}.desktop-topbar i{display:block;width:4px;height:4px;border-radius:50%;background:#7fc1f8}.desktop-topbar b{display:block;font-size:5px;font-weight:700;margin-left:3px;max-width:68px;overflow:hidden;text-overflow:ellipsis}
.desktop-code{position:absolute;left:13px;right:13px;top:27px;display:grid;gap:6px}.desktop-code span{height:4px;border-radius:4px;background:linear-gradient(90deg,#5bb6fa 0 26%,rgba(255,255,255,.22) 26% 74%,#7be1bd 74%);animation:codeScan 2.8s ease-in-out infinite alternate}.desktop-code span:nth-child(2){width:80%;animation-delay:-.5s}.desktop-code span:nth-child(3){width:92%;animation-delay:-.9s}.desktop-code span:nth-child(4){width:60%;animation-delay:-1.2s}.desktop-code span:nth-child(5){width:74%;animation-delay:-1.6s}
.desktop-cursor{position:absolute;right:20px;bottom:14px;width:8px;height:11px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:skew(-14deg);animation:cursorBlink 1.2s steps(2,end) infinite}
.desktop-stand{position:absolute;left:68px;top:75px;width:12px;height:19px;background:#9dc8ef;clip-path:polygon(28% 0,72% 0,100% 100%,0 100%)}.desktop-base{position:absolute;left:45px;top:92px;width:60px;height:7px;border-radius:10px;background:#7eafe1}
@keyframes desktopFloat{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-8px) rotate(-1deg)}}
@keyframes codeScan{from{opacity:.5;transform:scaleX(.8);transform-origin:left}to{opacity:1;transform:scaleX(1)}}
@keyframes cursorBlink{0%,48%{opacity:1}49%,100%{opacity:.1}}
@media(max-width:650px){.robot-art{left:-3px;top:36px;transform-origin:top left;animation-name:robotHoverMobile}.desktop-art{left:9px;bottom:-8px;transform-origin:left bottom;animation-name:desktopFloatMobile}.animated-tech-scene{transform:translateX(3px)}}
@keyframes robotHoverMobile{0%,100%{transform:translateY(0) rotate(-1deg) scale(.76)}50%{transform:translateY(-8px) rotate(2deg) scale(.76)}}
@keyframes desktopFloatMobile{0%,100%{transform:translateY(0) rotate(1deg) scale(.72)}50%{transform:translateY(-6px) rotate(-1deg) scale(.72)}}
@media(prefers-reduced-motion:reduce){.reveal-word{opacity:1;transform:none;clip-path:none}.hero-orbit,.card-main,.float-top,.float-bottom,.hero-ring,.chart-line,.robot-art,.robot-aura,.robot-antenna:before,.robot-eye,.robot-core,.robot-arm,.desktop-art,.desktop-code span,.desktop-cursor{animation:none!important}}
