/**
 * EPA Services Page Enhancements
 * Version 7.7.4
 *
 * Removes the duplicate services-page brand lockup and adds a scoped
 * page-turn transition when a core service is selected.
 */

/* Remove the logo, EPA name, and slogan from the services-page hero. */
#epa-services-tabs .epa-brand-row,
#epa-services-tabs .epa-brand-logo,
#epa-services-tabs .epa-brand-copy,
#epa-services-tabs .epa-brand-name,
#epa-services-tabs .epa-brand-tagline {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Keep the remaining hero content correctly aligned after the brand row is removed. */
#epa-services-tabs.epa-services-enhanced .epa-services-hero-inner {
    justify-content: center !important;
}

#epa-services-tabs.epa-services-enhanced .epa-hero-copy-wrap {
    margin-top: 0 !important;
}

/* Establish a 3-D stage for the service-page turn effect. */
#epa-services-tabs.epa-services-enhanced .epa-services-hero,
#epa-services-tabs.epa-services-enhanced .epa-tab-content {
    perspective: 1800px !important;
    transform-style: preserve-3d !important;
}

body #epa-services-tabs.epa-services-enhanced .epa-service-panel.epa-page-turn-in {
    transform-origin: left center !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    will-change: transform, opacity, filter !important;
    animation: epaServicesPanelPageTurn 760ms cubic-bezier(0.22, 0.72, 0.22, 1) both !important;
}

body #epa-services-tabs.epa-services-enhanced .epa-hero-service-copy.epa-page-turn-in {
    transform-origin: left center !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    will-change: transform, opacity, filter !important;
    animation: epaServicesHeroPageTurn 680ms cubic-bezier(0.22, 0.72, 0.22, 1) both !important;
}

/* A short moving sheet/highlight makes the transition read as a page turn. */
#epa-services-tabs.epa-services-enhanced .epa-services-hero {
    overflow: hidden !important;
}

#epa-services-tabs.epa-services-enhanced .epa-service-page-turn-sheet {
    position: absolute !important;
    inset: 0 !important;
    z-index: 60 !important;
    display: block !important;
    pointer-events: none !important;
    transform-origin: left center !important;
    backface-visibility: hidden !important;
    background:
        linear-gradient(
            100deg,
            rgba(255, 255, 255, 0.00) 0%,
            rgba(236, 211, 143, 0.08) 36%,
            rgba(255, 255, 255, 0.25) 49%,
            rgba(217, 180, 92, 0.10) 58%,
            rgba(3, 31, 51, 0.00) 100%
        ) !important;
    box-shadow: -30px 0 65px rgba(0, 0, 0, 0.18) inset !important;
    animation: epaServicesSheetTurn 720ms cubic-bezier(0.22, 0.72, 0.22, 1) both !important;
}

@keyframes epaServicesPanelPageTurn {
    0% {
        opacity: 0.14;
        transform: perspective(1800px) rotateY(-17deg) translateX(30px) scale(0.985);
        filter: brightness(0.72) saturate(0.80);
    }
    48% {
        opacity: 0.84;
        transform: perspective(1800px) rotateY(-4deg) translateX(8px) scale(0.996);
        filter: brightness(0.94) saturate(0.96);
    }
    100% {
        opacity: 1;
        transform: perspective(1800px) rotateY(0deg) translateX(0) scale(1);
        filter: none;
    }
}

@keyframes epaServicesHeroPageTurn {
    0% {
        opacity: 0.12;
        transform: perspective(1500px) rotateY(-13deg) translateX(24px);
        filter: brightness(0.74);
    }
    55% {
        opacity: 0.90;
        transform: perspective(1500px) rotateY(-2.5deg) translateX(5px);
        filter: brightness(0.96);
    }
    100% {
        opacity: 1;
        transform: perspective(1500px) rotateY(0deg) translateX(0);
        filter: none;
    }
}

@keyframes epaServicesSheetTurn {
    0% {
        opacity: 0;
        transform: perspective(1800px) rotateY(-78deg) translateX(-22%);
    }
    18% {
        opacity: 0.82;
    }
    62% {
        opacity: 0.38;
    }
    100% {
        opacity: 0;
        transform: perspective(1800px) rotateY(12deg) translateX(108%);
    }
}

@media (max-width: 820px) {
    body #epa-services-tabs.epa-services-enhanced .epa-service-panel.epa-page-turn-in {
        transform-origin: top center !important;
        animation-name: epaServicesMobilePageTurn !important;
        animation-duration: 620ms !important;
    }

    body #epa-services-tabs.epa-services-enhanced .epa-hero-service-copy.epa-page-turn-in {
        transform-origin: top center !important;
        animation-name: epaServicesMobilePageTurn !important;
        animation-duration: 560ms !important;
    }
}

@keyframes epaServicesMobilePageTurn {
    0% {
        opacity: 0.16;
        transform: perspective(1200px) rotateX(-8deg) translateY(18px);
        filter: brightness(0.78);
    }
    100% {
        opacity: 1;
        transform: perspective(1200px) rotateX(0deg) translateY(0);
        filter: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    body #epa-services-tabs.epa-services-enhanced .epa-service-panel.epa-page-turn-in,
    body #epa-services-tabs.epa-services-enhanced .epa-hero-service-copy.epa-page-turn-in,
    #epa-services-tabs.epa-services-enhanced .epa-service-page-turn-sheet {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
    }
}
