@keyframes fadeInUp{ from{ opacity:0;transform:translateY(20px);} to{ opacity:1;transform:translateY(0);}}@keyframes fadeIn{ from{ opacity:0;} to{ opacity:1;}}@keyframes pulseGlow{ 0%,100%{ box-shadow:0 0 15px rgba(20,184,166,0.15);} 50%{ box-shadow:0 0 25px rgba(20,184,166,0.35);}}.reveal-item{ opacity:0;transform:translateY(15px);will-change:transform,opacity;}.reveal-item.revealed{ opacity:1 !important;transform:none !important;}.hover-glow:hover{ animation:pulseGlow 2s infinite;}.tilt-card{ transition:transform 0.25s ease-out,box-shadow 0.25s ease-out;}.tilt-card:hover{ box-shadow:var(--shadow-lg),0 12px 24px rgba(0,0,0,0.08) !important;}body,header,main,footer,.card,.tool-card,input,select,textarea{ transition:background-color 0.4s cubic-bezier(0.4,0,0.2,1),border-color 0.4s cubic-bezier(0.4,0,0.2,1),color 0.4s cubic-bezier(0.4,0,0.2,1),box-shadow 0.4s cubic-bezier(0.4,0,0.2,1);}@media (prefers-reduced-motion:reduce){ *,::before,::after{ animation-delay:-1ms !important;animation-duration:1ms !important;animation-iteration-count:1 !important;background-attachment:initial !important;scroll-behavior:auto !important;transition-duration:0s !important;transition-delay:0s !important;transform:none !important;} .reveal-item{ opacity:1 !important;transform:none !important;}}