.animate-fade-in-up{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.animate-fade-in-up.is-visible{opacity:1;transform:translateY(0)}.stagger-children>*{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.stagger-children.is-visible>:first-child{transition-delay:0.1s}.stagger-children.is-visible>:nth-child(2){transition-delay:0.2s}.stagger-children.is-visible>:nth-child(3){transition-delay:0.3s}.stagger-children.is-visible>:nth-child(4){transition-delay:0.4s}.stagger-children.is-visible>:nth-child(5){transition-delay:0.5s}.stagger-children.is-visible>:nth-child(6){transition-delay:0.6s}.stagger-children.is-visible>*{opacity:1;transform:translateY(0)}.hover-lift{transition:transform var(--transition-slow),box-shadow var(--transition-slow)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-glow{transition:box-shadow var(--transition-slow)}.hover-glow:hover{box-shadow:var(--shadow-accent-hover)}.hover-scale{transition:transform var(--transition-slow)}.hover-scale:hover{transform:scale(1.02)}.hover-border{transition:border-color var(--transition-slow)}.hover-border:hover{border-color:var(--accent-primary)}@keyframes shimmer{0%{left:-100%}100%{left:100%}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEntrance{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes focusRing{0%{box-shadow:0 0 0 0 rgba(255,106,0,.4)}100%{box-shadow:0 0 0 4px rgba(255,106,0,.1)}}@keyframes pulse{0%,100%{opacity:.5}50%{opacity:.3}}@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.screenshot{border-radius:var(--radius-lg);border:1px solid var(--border-default);box-shadow:var(--shadow-xl);overflow:hidden}.image-overlay{position:relative}.image-overlay::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,11,.8) 0,transparent 50%);pointer-events:none}.image-placeholder{background:var(--bg-elevated);animation:pulse 2s infinite}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.animate-fade-in-up,.stagger-children>*{opacity:1;transform:none}.hover-lift:hover,.hover-scale:hover{transform:none}}