/* ==========================================================================
   Inner Page Animations — scroll reveal & hero entrance
   GPU-friendly (opacity + transform), mobile-optimized
   ========================================================================== */

html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate] {
    opacity: 0;
    transition:
        opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

html.js-enabled .page-inner [data-animate-section].is-visible [data-animate] {
    opacity: 1;
    transform: none;
    will-change: auto;
}

html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate='fade-up'] {
    transform: translate3d(0, 22px, 0);
}

html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate='fade-down'] {
    transform: translate3d(0, -18px, 0);
}

html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate='fade-left'] {
    transform: translate3d(-24px, 0, 0);
}

html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate='fade-right'] {
    transform: translate3d(24px, 0, 0);
}

html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate='scale-up'] {
    transform: scale(0.96) translate3d(0, 14px, 0);
}

/* Stagger delays (ms values from data-animate-delay) */
.page-inner [data-animate-section].is-visible [data-animate-delay='60']  { transition-delay: 0.06s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='80']  { transition-delay: 0.08s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='100'] { transition-delay: 0.1s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='120'] { transition-delay: 0.12s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='160'] { transition-delay: 0.16s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='200'] { transition-delay: 0.2s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='240'] { transition-delay: 0.24s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='280'] { transition-delay: 0.28s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='320'] { transition-delay: 0.32s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='360'] { transition-delay: 0.36s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='400'] { transition-delay: 0.4s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='440'] { transition-delay: 0.44s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='480'] { transition-delay: 0.48s; }
.page-inner [data-animate-section].is-visible [data-animate-delay='520'] { transition-delay: 0.52s; }

/* Hero images — subtle zoom on reveal */
.page-inner [data-animate='fade-left'] img,
.page-inner [data-animate='scale-up'] img {
    transition: transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate='fade-left'] img,
html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate='scale-up'] img {
    transform: scale(1.04);
}

.page-inner [data-animate-section].is-visible [data-animate='fade-left'] img,
.page-inner [data-animate-section].is-visible [data-animate='scale-up'] img {
    transform: scale(1);
}

/* Mobile — softer motion, faster feel */
@media (max-width: 767px) {
    html.js-enabled .page-inner [data-animate-section] [data-animate] {
        transition-duration: 0.55s;
    }

    html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate='fade-up'] {
        transform: translate3d(0, 16px, 0);
    }

    html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate='fade-left'] {
        transform: translate3d(-14px, 0, 0);
    }

    html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate='fade-right'] {
        transform: translate3d(14px, 0, 0);
    }

    html.js-enabled .page-inner [data-animate-section]:not(.is-visible) [data-animate='scale-up'] {
        transform: scale(0.97) translate3d(0, 12px, 0);
    }

    .page-inner [data-animate-section].is-visible [data-animate-delay='360'],
    .page-inner [data-animate-section].is-visible [data-animate-delay='400'],
    .page-inner [data-animate-section].is-visible [data-animate-delay='440'],
    .page-inner [data-animate-section].is-visible [data-animate-delay='480'],
    .page-inner [data-animate-section].is-visible [data-animate-delay='520'] {
        transition-delay: 0.32s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-inner [data-animate-section] [data-animate],
    .page-inner [data-animate='fade-left'] img,
    .page-inner [data-animate='scale-up'] img {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        will-change: auto !important;
    }
}
