/* ==========================================================================
   A&Z PLUMBING - RADIAL HERO LIFECYCLE TRANSFORM SCROLL MATRIX SYSTEM
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. STAGED INITIAL LAYOUT RECEPTACLES (Hidden Off-Screen Staging States)
   -------------------------------------------------------------------------- */
/* Left text columns set up to wait over the far-left coordinate track */
.az-slide-in-left {
    opacity: 0;
    transform: translate3d(-120px, 0, 0);
    will-change: transform, opacity;
    transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1),
        opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Right layout wheel container set up to wait over the far-right coordinate track */
.az-slide-in-right {
    opacity: 0;
    transform: translate3d(120px, 0, 0);
    will-change: transform, opacity;
    transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1),
        opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Numeric dots interface bar waits slightly below its baseline zone */
.az-fade-in-up-controls {
    opacity: 0;
    transform: translate3d(0, 35px, 0);
    will-change: transform, opacity;
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1),
        opacity 1s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Individual wheel image bubbles staged down at scale 0 on initialization */
.az-staged-hero .orbit-img-node {
    opacity: 0 !important;
    transform: scale3d(0.1, 0.1, 0.1) !important;
}

/* --------------------------------------------------------------------------
   2. RUNTIME ACTIVE ENTRANCE MODULATORS (Hero Section Is Occupying Viewport)
   -------------------------------------------------------------------------- */
.az-staged-hero.az-intro-active .az-slide-in-left,
.az-staged-hero.az-intro-active .az-slide-in-right,
.az-staged-hero.az-intro-active .az-fade-in-up-controls {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
}

.az-staged-hero.az-intro-active .orbit-img-node {
    opacity: 1 !important;
}

/* Restores layout scale calculations smoothly for non-active orbital circles */
.az-staged-hero.az-intro-active .orbit-img-node:not(.active) {
    transform: scale3d(1, 1, 1) !important;
}

/* Preserves the explicit larger custom frame dimensions for your active node bubble */
.az-staged-hero.az-intro-active .orbit-img-node.active {
    transform: scale3d(1, 1, 1) !important;
}


/* --------------------------------------------------------------------------
   3. VIEWPORT CEILING EDGE EXIT MOVEMENT (Section Bottom Clears Screen Top)
   -------------------------------------------------------------------------- */
/* Left side texts slide cleanly away past the left layout bounds */
.az-staged-hero.az-exit-slide-out .az-slide-in-left {
    opacity: 0 !important;
    transform: translate3d(-180px, 0, 0) !important;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1),
        opacity 0.4s ease !important;
}

/* Right side image wheel slides cleanly away past the right layout bounds */
.az-staged-hero.az-exit-slide-out .az-slide-in-right {
    opacity: 0 !important;
    transform: translate3d(180px, 0, 0) !important;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1),
        opacity 0.4s ease !important;
}

/* Control dot pagination bar drops down and disappears */
.az-staged-hero.az-exit-slide-out .az-fade-in-up-controls {
    opacity: 0 !important;
    transform: translate3d(0, 45px, 0) !important;
    transition: transform 0.5s ease, opacity 0.35s ease !important;
}

/* Individual wheel node items scale down uniformly together instantly */
.az-staged-hero.az-exit-slide-out .orbit-img-node {
    opacity: 0 !important;
    transform: scale3d(0.2, 0.2, 0.2) !important;
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
    transition-delay: 0s !important;
    /* Disables stagger completely on exit paths */
}

/* --------------------------------------------------------------------------
   4. RESPONSIVE COMPLIANCE
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
    .az-slide-in-left {
        transform: translate3d(-40px, 0, 0);
    }

    .az-slide-in-right {
        transform: translate3d(40px, 0, 0);
    }

    .az-staged-hero.az-exit-slide-out .az-slide-in-left {
        transform: translate3d(-80px, 0, 0) !important;
    }

    .az-staged-hero.az-exit-slide-out .az-slide-in-right {
        transform: translate3d(80px, 0, 0) !important;
    }
}

@keyframes scaleUpIn {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(12px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}





/* ==========================================================================
   HORIZONTAL CARDS STAGGERED INTRO ENGINE (anime.css)
   ========================================================================== */

/* Cards initial position layout waiting off-screen right */
.az-scroll-trigger-horizontal .az-glass-card {
    opacity: 0;
    transform: translate3d(80px, 0, 0);
    will-change: transform, opacity;
    /* Keeps hover transitions working smoothly later by splitting parameters */
    transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1),
        opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Active class triggered by Intersection Observer */
.az-scroll-trigger-horizontal.az-track-active .az-glass-card {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
}

/* One-by-one sequential stagger delays */
.az-scroll-trigger-horizontal.az-track-active .az-glass-card[data-card="1"] {
    transition-delay: 0.1s !important;
}

.az-scroll-trigger-horizontal.az-track-active .az-glass-card[data-card="2"] {
    transition-delay: 0.25s !important;
}

.az-scroll-trigger-horizontal.az-track-active .az-glass-card[data-card="3"] {
    transition-delay: 0.4s !important;
}

/* If you add a 4th or 5th card in the future, follow this delay scale layout: */
.az-scroll-trigger-horizontal.az-track-active .az-glass-card[data-card="4"] {
    transition-delay: 0.55s !important;
}