/*
 * animations.css - 핏이지 애니메이션
 * ANTIGRAVITY Effects: Interstellar + Ink Drop + Film Grain
 */

/* Scroll Reveal */
.reveal { opacity:0; transform:translateY(30px); transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),transform 0.8s cubic-bezier(0.4,0,0.2,1); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-left { opacity:0; transform:translateX(-40px); transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),transform 0.8s cubic-bezier(0.4,0,0.2,1); }
.reveal-left.visible { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(40px); transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),transform 0.8s cubic-bezier(0.4,0,0.2,1); }
.reveal-right.visible { opacity:1; transform:translateX(0); }
.reveal-scale { opacity:0; transform:scale(0.9); transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),transform 0.8s cubic-bezier(0.4,0,0.2,1); }
.reveal-scale.visible { opacity:1; transform:scale(1); }

.delay-1 { transition-delay:0.1s; }
.delay-2 { transition-delay:0.2s; }
.delay-3 { transition-delay:0.3s; }
.delay-4 { transition-delay:0.4s; }
.delay-5 { transition-delay:0.5s; }
.delay-6 { transition-delay:0.6s; }

/* Hero Animations */
@keyframes hero-fade-in { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
.hero-badge { animation:hero-fade-in 0.8s ease-out 0.2s both; }
.hero-title { animation:hero-fade-in 0.8s ease-out 0.4s both; }
.hero-desc { animation:hero-fade-in 0.8s ease-out 0.6s both; }
.hero-actions { animation:hero-fade-in 0.8s ease-out 0.8s both; }

/* Button Shine */
.btn-primary::after { content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,0.15) 50%,transparent 70%); transform:translateX(-100%) rotate(45deg); transition:none; }
.btn-primary:hover::after { animation:btn-shine 0.6s ease forwards; }
@keyframes btn-shine { to{transform:translateX(100%) rotate(45deg)} }

/* Card Glow */
@keyframes card-glow-pulse { 0%,100%{box-shadow:0 0 20px rgba(0,100,255,0.1)} 50%{box-shadow:0 0 30px rgba(0,100,255,0.2)} }
.card:hover,.feature-item:hover { animation:card-glow-pulse 2s ease-in-out infinite; }

/* Float */
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
.float-animation { animation:float 3s ease-in-out infinite; }

/* Counter */
@keyframes count-up { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.stat-number.animated { animation:count-up 0.5s ease-out; }

/* Nav Underline */
.nav-link::after { content:''; position:absolute; bottom:0; left:50%; width:0; height:2px; background:var(--gradient-ocean); border-radius:1px; transition:all var(--transition-base); transform:translateX(-50%); }
.nav-link.active::after,.nav-link:hover::after { width:20px; }

/* Page Enter */
.site-main { animation:page-enter 0.5s ease-out; }
@keyframes page-enter { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

/* Logo Breathe */
@keyframes logo-breathe { 0%,100%{filter:drop-shadow(0 0 8px rgba(0,100,255,0.2))} 50%{filter:drop-shadow(0 0 16px rgba(0,100,255,0.4))} }
.logo-icon svg { animation:logo-breathe 3s ease-in-out infinite; }

/* Gradient Text Animation */
@keyframes gradient-shift { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
.animated-gradient-text { background:linear-gradient(135deg,#0064FF,#00d4aa,#667eea,#0064FF); background-size:300% 300%; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:gradient-shift 4s ease infinite; }
