@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleUp{from{transform:scale(1)}to{transform:scale(1.05)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes glow{0%,100%{box-shadow:0 0 5px rgba(255,111,0,.3)}50%{box-shadow:0 0 20px rgba(255,111,0,.6),0 0 30px rgba(255,111,0,.4)}}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .8s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .8s ease-out forwards}.animate-slide-in-left{animation:slideInLeft .8s ease-out forwards}.animate-slide-in-right{animation:slideInRight .8s ease-out forwards}.animate-scale-in{animation:scaleIn .5s ease-out forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-rotate{animation:rotate 1s linear infinite}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.animate-on-scroll.animate-in{opacity:1;transform:translateY(0)}.animate-on-scroll-stagger{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.animate-on-scroll-stagger.animate-in{opacity:1;transform:translateY(0)}.animate-on-scroll-stagger:nth-child(1){transition-delay:.1s}.animate-on-scroll-stagger:nth-child(2){transition-delay:.2s}.animate-on-scroll-stagger:nth-child(3){transition-delay:.3s}.animate-on-scroll-stagger:nth-child(4){transition-delay:.4s}.animate-on-scroll-stagger:nth-child(5){transition-delay:.5s}.animate-on-scroll-stagger:nth-child(6){transition-delay:.6s}.transition-base{transition:all .25s ease}.transition-colors{transition:color .25s ease,background-color .25s ease,border-color .25s ease}.transition-transform{transition:transform .25s ease}.transition-opacity{transition:opacity .25s ease}.transition-shadow{transition:box-shadow .25s ease}.transition-hover{transition:transform .25s ease,box-shadow .25s ease}.transition-button{transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease}.transition-link{transition:color .25s ease,opacity .25s ease}.hover-lift{transition:transform .25s ease,box-shadow .25s ease}.hover-lift:hover{transform:translateY(-4px)}.hover-scale{transition:transform .25s ease}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .25s ease}.hover-glow:hover{box-shadow:0 0 20px rgba(255,111,0,.4)}.hover-orange{transition:color .25s ease}.hover-orange:hover{color:var(--forge-accent,#FF6F00)}.hover-bg-orange{transition:background-color .25s ease}.hover-bg-orange:hover{background-color:var(--forge-accent,#FF6F00)}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,111,0,.2);border-top-color:var(--forge-accent,#FF6F00);border-radius:50%;animation:rotate .8s linear infinite}.loading-spinner--large{width:40px;height:40px;border-width:3px}.loading-shimmer{background:linear-gradient(90deg,#f0f0f0 0%,#e0e0e0 50%,#f0f0f0 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:8px;height:8px;background-color:var(--forge-accent,#FF6F00);border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}body{animation:fadeIn .3s ease-out}.no-js .animate-on-scroll{opacity:1;transform:none}.animate-gpu,.forge-product-card,.forge-button,.animate-on-scroll,.animate-on-scroll-stagger,.hover-lift,.hover-scale{transform:translateZ(0);will-change:transform,opacity}.animate-on-scroll.animate-in,.animate-on-scroll-stagger.animate-in{will-change:auto}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-on-scroll,.animate-on-scroll-stagger{opacity:1;transform:none}}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.duration-fast{animation-duration:.15s}.duration-base{animation-duration:.25s}.duration-slow{animation-duration:.35s}.animation-paused{animation-play-state:paused}.animate-hidden{opacity:0}.animate-visible{opacity:1}
