@keyframes scroll-up{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes scroll-down{0%{transform:translateY(-50%)}to{transform:translateY(0)}}@keyframes pattern-pulse{0%{background-size:80px 80px;opacity:.4}50%{background-size:90px 90px;opacity:.6}to{background-size:80px 80px;opacity:.4}}@keyframes glow-shift{0%{transform:translate(0) scale(1);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}25%{transform:translate(10px,10px) scale(1.02);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}50%{transform:translate(-10px,-10px) scale(1.05);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}75%{transform:translate(5px,-5px) scale(1.02);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}to{transform:translate(0) scale(1);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes hover-glow{0%{box-shadow:0 4px 6px rgba(0,0,0,.1)}to{box-shadow:0 12px 30px rgba(239,83,80,.3),0 0 20px rgba(239,83,80,.2)}}@keyframes zoom-in{0%{transform:scale(1)}to{transform:scale(1.1)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.animate-scroll-up{animation:scroll-up 40s linear infinite;animation-play-state:running;animation-delay:0s;will-change:transform}.animate-scroll-down{animation:scroll-down 40s linear infinite;animation-play-state:running;animation-delay:0s;will-change:transform}.animate-float{animation:float 6s ease-in-out infinite}.pause-animation{animation-play-state:paused!important}.grid-container{position:relative;height:100%;overflow:hidden}.scroll-column{position:relative;height:100%;will-change:transform;cursor:pointer;transform-style:preserve-3d}.scroll-column,.scroll-column.paused{transition:none;backface-visibility:hidden}.scroll-column.paused{animation-play-state:paused}.scroll-column-up{animation:scroll-up 30s linear infinite;will-change:transform}.scroll-column-down{animation:scroll-down 30s linear infinite;will-change:transform}.scroll-column-down.paused,.scroll-column-up.paused{animation-play-state:paused!important}.custom-bg{background-color:#f8f9fa;position:relative;overflow:hidden}.custom-bg:before{content:"";position:absolute;top:-20px;left:-20px;width:calc(100% + 40px);height:calc(100% + 40px);z-index:0;background-image:linear-gradient(rgba(239,83,80,.15) 1px,transparent 0),linear-gradient(90deg,rgba(239,83,80,.15) 1px,transparent 0),linear-gradient(rgba(255,107,53,.08) 1px,transparent 0),linear-gradient(90deg,rgba(255,107,53,.08) 1px,transparent 0);background-size:80px 80px,80px 80px,40px 40px,40px 40px;background-position:0 0,0 0,20px 20px,20px 20px;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background-image:radial-gradient(circle at 20% 30%,rgba(239,83,80,.1) 0,transparent 40%),radial-gradient(circle at 80% 70%,rgba(255,107,53,.08) 0,transparent 40%),radial-gradient(circle at 50% 50%,rgba(255,193,7,.05) 0,transparent 60%),linear-gradient(rgba(239,83,80,.15) 1px,transparent 0),linear-gradient(90deg,rgba(239,83,80,.15) 1px,transparent 0),linear-gradient(rgba(255,107,53,.08) 1px,transparent 0),linear-gradient(90deg,rgba(255,107,53,.08) 1px,transparent 0);background-size:300px 300px,250px 250px,400px 400px,80px 80px,80px 80px,40px 40px,40px 40px;background-position:0 0,100% 100%,50% 50%,0 0,0 0,20px 20px,20px 20px;animation:pattern-pulse 8s ease-in-out infinite,glow-shift 12s ease-in-out infinite;transition:all .3s ease}.custom-bg>*{position:relative;z-index:10;backdrop-filter:none;-webkit-backdrop-filter:none}.custom-bg:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:linear-gradient(135deg,hsla(0,0%,100%,.1),rgba(239,83,80,.05) 25%,rgba(255,107,53,.03) 50%,rgba(255,193,7,.02) 75%,hsla(0,0%,100%,.08));backdrop-filter:blur(.5px);-webkit-backdrop-filter:blur(.5px);opacity:.8;animation:glow-shift 15s ease-in-out infinite reverse}.image-grid-item{position:relative;width:100%;aspect-ratio:1;border-radius:1rem;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:all .4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;transform:translateZ(0);z-index:15}.image-grid-item.hovered,.image-grid-item:hover{transform:scale(1.05);animation:hover-glow .4s ease-out forwards;z-index:20}.image-grid-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s cubic-bezier(.175,.885,.32,1.275)}.image-grid-item.hovered img,.image-grid-item:hover img{transform:scale(1.1)}.image-grid-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,hsla(0,0%,100%,.3) 50%,transparent 70%);background-size:200% 200%;opacity:0;transition:opacity .3s ease;z-index:2;animation:shimmer 2s infinite;animation-play-state:paused}.image-grid-item.hovered:before,.image-grid-item:hover:before{opacity:1;animation-play-state:running}.image-grid-item:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid transparent;border-radius:1rem;background:linear-gradient(45deg,#ef5350,#ff6b35,#ffc107,#4caf50) border-box;-webkit-mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;z-index:1}.image-grid-item.hovered:after,.image-grid-item:hover:after{opacity:1;border-color:rgba(239,83,80,.6)}.image-grid-item.hovered .text-white,.image-grid-item:hover .text-white{transform:translateY(-5px);text-shadow:0 2px 4px rgba(0,0,0,.8);transition:all .3s ease}.scroll-container{height:100vh;overflow:hidden;position:relative;z-index:10}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.image-grid-item,.image-grid-item img,.scroll-column{transform:translateZ(0);will-change:transform}@media (hover:hover) and (pointer:fine){.image-grid-item{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}}@media (hover:none) and (pointer:coarse){.image-grid-item:active{transform:scale(1.02);transition:transform .1s ease}.image-grid-item:before{display:none}.custom-bg:before{backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.custom-bg:after{backdrop-filter:none;-webkit-backdrop-filter:none}}@media (max-width:1024px){.scroll-container{height:500px}.custom-bg:before{background-size:60px 60px,60px 60px,30px 30px,30px 30px}}@media (max-width:640px){.scroll-container{height:400px}.custom-bg:before{background-size:50px 50px,50px 50px,25px 25px,25px 25px;animation-duration:6s,10s}}@media (max-width:480px){.scroll-container{height:300px}.custom-bg:before{background-size:40px 40px,40px 40px,20px 20px,20px 20px}}.image-grid-item:focus{outline:2px solid #ef5350;outline-offset:2px;transform:scale(1.03);z-index:25}.image-grid-item:focus-visible{box-shadow:0 8px 25px rgba(239,83,80,.25)}@media (prefers-reduced-motion:reduce){.custom-bg:after,.custom-bg:before{animation:none}.scroll-column-down,.scroll-column-up{animation-duration:120s}}