/* ══════════════════════════════════════════
   Gandhi Immigration – Animations
   ══════════════════════════════════════════ */

/* ── Keyframes ── */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(40px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-30px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeft {
    from { opacity: 0; transform: translateX(-60px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRight {
    from { opacity: 0; transform: translateX(60px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes zoomIn {
    from { opacity: 0; transform: scale(0.85); }
    to   { opacity: 1; transform: scale(1); }
}

/* ══════════════════════════════════════════
   Home Hero – fires on page load
   ══════════════════════════════════════════ */

.gandhi-hero-badge {
    animation: fadeInDown 0.6s ease both;
    animation-delay: 0.1s;
}

.gandhi-hero-heading {
    animation: fadeInUp 0.7s ease both;
    animation-delay: 0.3s;
}

.gandhi-hero-desc {
    animation: fadeInUp 0.7s ease both;
    animation-delay: 0.5s;
}

.gandhi-hero-sub-desc {
    animation: fadeInUp 0.7s ease both;
    animation-delay: 0.6s;
}

.gandhi-hero-btn-row {
    animation: fadeInUp 0.7s ease both;
    animation-delay: 0.7s;
}

.gandhi-hero-image {
    animation: zoomIn 0.9s ease both;
    animation-delay: 0.2s;
}

/* ══════════════════════════════════════════
   CICC Hero – fires on page load
   ══════════════════════════════════════════ */

.gandhi-cicc-badge {
    animation: fadeInDown 0.6s ease both;
    animation-delay: 0.1s;
}

.gandhi-cicc-heading {
    animation: fadeInUp 0.7s ease both;
    animation-delay: 0.3s;
}

.gandhi-cicc-para {
    animation: fadeInUp 0.7s ease both;
    animation-delay: 0.5s;
}

.gandhi-cicc-warning {
    animation: fadeInUp 0.7s ease both;
    animation-delay: 0.6s;
}

.gandhi-cicc-hero-image {
    animation: zoomIn 0.9s ease both;
    animation-delay: 0.2s;
}

/* ══════════════════════════════════════════
   Canadian Immigration / Study Abroad /
   Financial Aid / International Immigration /
   Additional Immigration Hero – fires on page load
   ══════════════════════════════════════════ */

.gandhi-canimm-badge {
    animation: fadeInDown 0.6s ease both;
    animation-delay: 0.1s;
}

.gandhi-canimm-para {
    animation: fadeInUp 0.7s ease both;
    animation-delay: 0.3s;
}

.gandhi-canimm-box {
    animation: fadeInUp 0.8s ease both;
    animation-delay: 0.5s;
}

.gandhi-canimm-hero-image {
    animation: zoomIn 0.9s ease both;
    animation-delay: 0.2s;
}

/* ══════════════════════════════════════════
   About Us Hero – fires on page load
   ══════════════════════════════════════════ */

.gandhi-about-badge {
    animation: fadeInDown 0.6s ease both;
    animation-delay: 0.1s;
}

.gandhi-about-para {
    animation: fadeInUp 0.7s ease both;
    animation-delay: 0.3s;
}

.gandhi-about-image {
    animation: zoomIn 0.9s ease both;
    animation-delay: 0.2s;
}

/* ══════════════════════════════════════════
   Our Team Hero – fires on page load
   ══════════════════════════════════════════ */

.gandhi-team-badge {
    animation: fadeInDown 0.6s ease both;
    animation-delay: 0.1s;
}

.gandhi-team-hero-badge {
    animation: fadeInDown 0.7s ease both;
    animation-delay: 0.1s;
}

.gandhi-team-hero-heading {
    animation: fadeInUp 0.8s ease both;
    animation-delay: 0.3s;
}

.gandhi-team-hero-para {
    animation: fadeInUp 0.8s ease both;
    animation-delay: 0.5s;
}

.gandhi-team-hero-para:nth-child(3) {
    animation-delay: 0.65s;
}

.gandhi-team-hero-para:nth-child(4) {
    animation-delay: 0.8s;
}

.gandhi-team-hero-image {
    animation: zoomIn 1s ease both;
    animation-delay: 0.2s;
}

/* ══════════════════════════════════════════
   Scroll-triggered elements
   Start hidden, JS adds .anim-active
   ══════════════════════════════════════════ */

/* Base hidden state */
[data-anim] {
    opacity: 0;
    transition: opacity 1.4s;
}

/* Activated state */
[data-anim].anim-active {
    opacity: 1;
}

/* ── fade-up ── */
[data-anim="fade-up"] {
    transform: translateY(60px);
    transition: opacity 1.4s ease, transform 1.4s ease;
}
[data-anim="fade-up"].anim-active {
    transform: translateY(0);
}

/* ── fade-left ── */
[data-anim="fade-left"] {
    transform: translateX(-80px);
    transition: opacity 1.4s ease, transform 1.4s ease;
}
[data-anim="fade-left"].anim-active {
    transform: translateX(0);
}

/* ── fade-right ── */
[data-anim="fade-right"] {
    transform: translateX(80px);
    transition: opacity 1.4s ease, transform 1.4s ease;
}
[data-anim="fade-right"].anim-active {
    transform: translateX(0);
}

/* ── zoom-in ── */
[data-anim="zoom-in"] {
    transform: scale(0.85);
    transition: opacity 1.4s ease, transform 1.4s ease;
}
[data-anim="zoom-in"].anim-active {
    transform: scale(1);
}

/* ── Stagger delays ── */
[data-delay="100"]  { transition-delay: 0.3s; }
[data-delay="150"]  { transition-delay: 0.45s; }
[data-delay="200"]  { transition-delay: 0.6s; }
[data-delay="300"]  { transition-delay: 0.75s; }
[data-delay="400"]  { transition-delay: 0.9s; }
[data-delay="450"]  { transition-delay: 1.05s; }
[data-delay="500"]  { transition-delay: 1.2s; }
[data-delay="600"]  { transition-delay: 1.4s; }
[data-delay="750"]  { transition-delay: 1.6s; }

/* ── Respect reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    [data-anim],
    .gandhi-hero-badge,
    .gandhi-hero-heading,
    .gandhi-hero-desc,
    .gandhi-hero-sub-desc,
    .gandhi-hero-btn-row,
    .gandhi-hero-image,
    .gandhi-cicc-badge,
    .gandhi-cicc-heading,
    .gandhi-cicc-para,
    .gandhi-cicc-warning,
    .gandhi-cicc-hero-image,
    .gandhi-canimm-badge,
    .gandhi-canimm-para,
    .gandhi-canimm-box,
    .gandhi-canimm-hero-image,
    .gandhi-about-badge,
    .gandhi-about-para,
    .gandhi-about-image,
    .gandhi-team-badge,
    .gandhi-team-hero-badge,
    .gandhi-team-hero-heading,
    .gandhi-team-hero-para,
    .gandhi-team-hero-image {
        animation: none;
        transition: none;
        opacity: 1;
        transform: none;
    }
}
