.hero-video-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.content-animate{opacity:0;transform:translateY(50px);animation:fadeInUp 1s ease .3s forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.section-reveal{opacity:0;transform:translateY(30px);transition:all .6s ease}.section-reveal.visible{opacity:1;transform:translateY(0)}.card-hover{transition:all .6s ease}.card-hover:hover{transform:translateY(-10px) scale(1.02)}.involvement-card{transition:all .7s ease}.involvement-card:hover{transform:translateY(-15px)}.donation-slider{transition:all .3s ease}.volunteer-showcase{opacity:0;transform:scale(.9);transition:all .8s ease}.volunteer-showcase.active{opacity:1;transform:scale(1)}.nav-dot{width:12px;height:12px;border-radius:50%;background:hsla(0,0%,100%,.5);transition:all .3s ease;cursor:pointer}.nav-dot.active{background:#10b981;width:32px;border-radius:6px}.btn-hover{transition:all .3s ease}.btn-hover:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 10px 25px rgba(0,0,0,.15)}.btn-hover:active{transform:translateY(0) scale(.98)}.scroll-indicator{animation:scrollBounce 2s ease-in-out infinite}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(15px)}}.scroll-dot{animation:scrollDot 2s ease-in-out infinite}@keyframes scrollDot{0%,to{transform:translateY(0)}50%{transform:translateY(16px)}}.impact-card-animate{opacity:0;transform:translateY(20px);animation:impactFadeIn .5s ease forwards}@keyframes impactFadeIn{to{opacity:1;transform:translateY(0)}}*{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.stable-layout{min-height:100vh;position:relative}