/* ===== LOADER ===== */
#page-loader{position:fixed;inset:0;background:var(--bg-color);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity 0.5s ease,visibility 0.5s ease;}
#page-loader.hidden{opacity:0;visibility:hidden;}
.loader-brand{font-family:var(--font-heading);font-size:2.2rem;font-weight:700;color:var(--dark-color);letter-spacing:-0.5px;margin-bottom:8px;}
.loader-brand span{color:var(--accent-color);}
.loader-tagline{font-size:0.8rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted-text);margin-bottom:var(--spacing-lg);}
.loader-bar{width:160px;height:2px;background:var(--border-color);border-radius:2px;overflow:hidden;}
.loader-progress{height:100%;width:0%;background:var(--accent-color);border-radius:2px;animation:loaderAnim 1.4s ease infinite;}
@keyframes loaderAnim{0%{width:0%;margin-left:0;}50%{width:60%;margin-left:20%;}100%{width:0%;margin-left:100%;}}

/* ===== SCROLL PROGRESS BAR ===== */
#scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--accent-color),var(--secondary-color));z-index:9998;transition:width 0.1s linear;}

/* ===== FADE UP ANIMATIONS ===== */
.fade-up{opacity:0;transform:translateY(40px);transition:opacity 0.75s ease,transform 0.75s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
.fade-left{opacity:0;transform:translateX(-40px);transition:opacity 0.75s ease,transform 0.75s ease;}
.fade-left.visible{opacity:1;transform:translateX(0);}
.fade-right{opacity:0;transform:translateX(40px);transition:opacity 0.75s ease,transform 0.75s ease;}
.fade-right.visible{opacity:1;transform:translateX(0);}

/* Stagger delays */
.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;}

/* ===== COUNTER ANIMATION ===== */
.counter-num{transition:all 0.3s ease;}

/* ===== IMAGE REVEAL ===== */
.img-reveal{position:relative;overflow:hidden;}
.img-reveal::after{content:'';position:absolute;inset:0;background:var(--bg-color);transition:transform 0.9s cubic-bezier(0.77,0,0.175,1);}
.img-reveal.visible::after{transform:scaleX(0);transform-origin:right;}

/* ===== HERO SPECIFIC ===== */
.hero-animate{animation:heroIn 1.2s cubic-bezier(0.4,0,0.2,1) forwards;}
.hero-animate-delay{animation:heroIn 1.2s 0.3s cubic-bezier(0.4,0,0.2,1) both;}
.hero-animate-delay2{animation:heroIn 1.2s 0.6s cubic-bezier(0.4,0,0.2,1) both;}
@keyframes heroIn{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

/* ===== HOVER EFFECTS ===== */
.hover-lift{transition:var(--transition-smooth);}
.hover-lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);}
