/* ============================================================
   ANIMATIONS
============================================================ */

[data-reveal]{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .7s var(--ease), transform .7s var(--ease);
}
[data-reveal].in-view{
    opacity:1;
    transform:translateY(0);
}

/* Stagger children inside grids that use data-reveal on items */
.services-grid [data-reveal]:nth-child(2){ transition-delay:.08s; }
.services-grid [data-reveal]:nth-child(3){ transition-delay:.16s; }
.services-grid [data-reveal]:nth-child(4){ transition-delay:.24s; }
.services-grid [data-reveal]:nth-child(5){ transition-delay:.32s; }
.services-grid [data-reveal]:nth-child(6){ transition-delay:.4s; }

.process-line [data-reveal]:nth-child(2){ transition-delay:.1s; }
.process-line [data-reveal]:nth-child(3){ transition-delay:.2s; }
.process-line [data-reveal]:nth-child(4){ transition-delay:.3s; }

.portfolio-grid [data-reveal]:nth-child(2){ transition-delay:.08s; }
.portfolio-grid [data-reveal]:nth-child(3){ transition-delay:.16s; }
.portfolio-grid [data-reveal]:nth-child(4){ transition-delay:.24s; }
.portfolio-grid [data-reveal]:nth-child(5){ transition-delay:.32s; }
.portfolio-grid [data-reveal]:nth-child(6){ transition-delay:.4s; }

.stats-grid [data-reveal]:nth-child(2){ transition-delay:.08s; }
.stats-grid [data-reveal]:nth-child(3){ transition-delay:.16s; }
.stats-grid [data-reveal]:nth-child(4){ transition-delay:.24s; }

/* Magnetic-feel hover for primary buttons (pure CSS nudge) */
.btn-primary, .btn-outline{ will-change:transform; }

/* Nav underline / logo bolt ambient glow */
.logo-bolt{ text-shadow:0 0 12px rgba(255,197,48,.6); }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{
        animation-duration:0.001ms !important;
        animation-iteration-count:1 !important;
        transition-duration:0.001ms !important;
        scroll-behavior:auto !important;
    }
    [data-reveal]{ opacity:1; transform:none; }
}
