.mobile-frame-container{opacity:0;margin:0 auto;animation:.8s cubic-bezier(.16,1,.3,1) forwards mobile-fade-in}@keyframes mobile-fade-in{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.mobile-frame-container:first-child{animation-delay:.1s}.mobile-frame-container:nth-child(2){animation-delay:.2s}.mobile-frame-container:nth-child(3){animation-delay:.3s}.mobile-frame-container:nth-child(4){animation-delay:.4s}.mobile-frame-container:hover .phone-body{transition:transform .3s cubic-bezier(.34,1.56,.64,1);transform:translateY(-8px)}.mobile-frames-gallery{flex-wrap:wrap;justify-content:center;gap:3rem;padding:2rem 0;display:flex}@media (max-width:640px){.mobile-frame-container{transform:scale(.85)}.mobile-frames-gallery{gap:2rem}}
.milestone-card{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards fade-in-up}.stat-card{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards scale-in}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.sub-milestone-item{transition:all .3s cubic-bezier(.16,1,.3,1)}.sub-milestone-item:hover{transform:translate(4px)}@keyframes check-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.checkbox-animate{animation:.3s cubic-bezier(.34,1.56,.64,1) check-bounce}@keyframes progress-fill{0%{width:0}}.progress-bar-fill{animation:1s cubic-bezier(.16,1,.3,1) forwards progress-fill}.image-reveal{opacity:0;animation:.6s cubic-bezier(.16,1,.3,1) forwards image-fade-in;transform:scale(.95)}.image-reveal:first-child{animation-delay:.1s}.image-reveal:nth-child(2){animation-delay:.2s}.image-reveal:nth-child(3){animation-delay:.3s}.image-reveal:nth-child(4){animation-delay:.4s}@keyframes image-fade-in{to{opacity:1;transform:scale(1)}}.link-item{transition:all .3s cubic-bezier(.16,1,.3,1)}.link-item:hover{box-shadow:0 4px 16px #65249726}.expand-content{transform-origin:top;animation:.4s cubic-bezier(.16,1,.3,1) forwards expand}@keyframes expand{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:2000px;transform:translateY(0)}}.status-badge-pulse{animation:3s ease-in-out infinite gentle-pulse}@keyframes gentle-pulse{0%,to{opacity:1;box-shadow:0 0}50%{opacity:.9;box-shadow:0 0 0 4px #0000}}
