/* ===== AOS Overrides & Custom Animations ===== */
[data-aos="fade-up"] { transform: translateY(40px); }
[data-aos="fade-left"] { transform: translateX(40px); }
[data-aos="fade-right"] { transform: translateX(-40px); }

/* Hero stagger animations */
.hero-animate { opacity: 0; transform: translateY(30px); }
.hero-animate.visible { opacity: 1; transform: translateY(0); }

/* Expertise card hover 3D effect */
.expertise-card { perspective: 1000px; }

/* Counter animation */
.counter-number .count {
    display: inline-block;
}

/* Page transition */
.page-transition {
    animation: pageFadeIn 0.8s ease-out;
}
@keyframes pageFadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Parallax sections */
.parallax-section {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Gold shimmer effect */
@keyframes goldShimmer {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
}
.shimmer-gold {
    background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 50%, var(--accent) 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: goldShimmer 3s linear infinite;
}



/* Reveal animations */
.reveal { position: relative; opacity: 0; }
.reveal.active { opacity: 1; }
.reveal.active.fade-left { animation: fadeLeft 0.8s forwards; }
.reveal.active.fade-right { animation: fadeRight 0.8s forwards; }
.reveal.active.fade-up { animation: fadeUp 0.8s forwards; }
@keyframes fadeLeft { from { opacity: 0; transform: translateX(-50px); } to { opacity: 1; transform: translateX(0); } }
@keyframes fadeRight { from { opacity: 0; transform: translateX(50px); } to { opacity: 1; transform: translateX(0); } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(50px); } to { opacity: 1; transform: translateY(0); } }

/* Smooth progress bar for timeline */
.timeline-progress {
    position: absolute; left: 50%; top: 0;
    width: 2px; background: rgba(201,168,76,0.2);
    transform: translateX(-50%);
}
.timeline-progress-bar {
    width: 100%; height: 0;
    background: linear-gradient(180deg, var(--accent), rgba(201,168,76,0.3));
    transition: height 0.3s;
}
