html{scroll-behavior:smooth}.animate-fade-up{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.animate-fade-up.in-view{opacity:1;transform:translateY(0)}.animate-scale-up{opacity:0;transform:scale(.95) translateY(20px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.animate-scale-up.in-view{opacity:1;transform:scale(1) translateY(0)}@keyframes hero-float{0%,to{transform:perspective(1200px) rotateY(12deg) rotateX(5deg) translateY(0)}50%{transform:perspective(1200px) rotateY(12deg) rotateX(5deg) translateY(-10px)}}.hero-screenshot{transform:perspective(1200px) rotateY(12deg) rotateX(5deg);animation:hero-float 6s ease-in-out infinite;transform-style:preserve-3d}.feature-card{transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),border-color .5s cubic-bezier(.16,1,.3,1)}.feature-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 40px -12px #00000026,0 0 0 1px var(--primary) / 20%;border-color:var(--primary)}.showcase-desktop{transform:perspective(1500px) rotateY(-3deg) rotateX(2deg);transition:transform .6s cubic-bezier(.16,1,.3,1);transform-style:preserve-3d}.showcase-desktop:hover{transform:perspective(1500px) rotateY(0) rotateX(0) scale(1.02)}.showcase-mobile{transform:perspective(1500px) rotateY(5deg) rotateX(2deg);transition:transform .6s cubic-bezier(.16,1,.3,1);transform-style:preserve-3d}.showcase-mobile:hover{transform:perspective(1500px) rotateY(0) rotateX(0) scale(1.03)}.screenshot-glow{position:relative}.screenshot-glow:after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,var(--primary) 0%,transparent 40%,transparent 60%,var(--primary) 100%);opacity:.12;z-index:-1;filter:blur(24px);transition:opacity .5s,filter .5s}.screenshot-glow:hover:after{opacity:.35;filter:blur(32px)}@media(prefers-reduced-motion:reduce){.animate-fade-up,.animate-scale-up{opacity:1;transform:none;transition:none}.hero-screenshot{animation:none;transform:none}.showcase-desktop,.showcase-mobile{transform:none}}
