/* ==========================================================================
   HOME REVEAL ANIMATIONS
   ========================================================================== */
.home-slide-copy>*{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .82s cubic-bezier(.2,.7,.2,1);}
.home-slide.is-animated .home-slide-copy>*{opacity:1;transform:none;}
.home-slide.is-animated .home-slide-copy>*:nth-child(1){transition-delay:.08s}.home-slide.is-animated .home-slide-copy>*:nth-child(2){transition-delay:.16s}.home-slide.is-animated .home-slide-copy>*:nth-child(3){transition-delay:.24s}.home-slide.is-animated .home-slide-copy>*:nth-child(4){transition-delay:.32s}.home-slide.is-animated .home-slide-copy>*:nth-child(5){transition-delay:.40s}

.fhp-tabnav button,.fhs-tab,.fhi-item,.fhb-item{opacity:0;transform:translateY(24px);transition:opacity .56s ease,transform .68s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,background-color .28s ease,color .28s ease;}
.fhs-tab{transform:translateX(-22px);}
.fhp-products.is-revealed .fhp-tabnav button,.fhs-solutions.is-revealed .fhs-tab,.fhi-icons.is-revealed .fhi-item,.fhb-boxes.is-revealed .fhb-item{opacity:1;transform:none;}

.fhp-products.is-revealed .fhp-tabnav button:nth-child(1),.fhs-solutions.is-revealed .fhs-tab:nth-child(1),.fhi-icons.is-revealed .fhi-item:nth-child(1),.fhb-boxes.is-revealed .fhb-item:nth-child(1){transition-delay:.02s}
.fhp-products.is-revealed .fhp-tabnav button:nth-child(2),.fhs-solutions.is-revealed .fhs-tab:nth-child(2),.fhi-icons.is-revealed .fhi-item:nth-child(2),.fhb-boxes.is-revealed .fhb-item:nth-child(2){transition-delay:.08s}
.fhp-products.is-revealed .fhp-tabnav button:nth-child(3),.fhs-solutions.is-revealed .fhs-tab:nth-child(3),.fhi-icons.is-revealed .fhi-item:nth-child(3),.fhb-boxes.is-revealed .fhb-item:nth-child(3){transition-delay:.14s}
.fhp-products.is-revealed .fhp-tabnav button:nth-child(4),.fhs-solutions.is-revealed .fhs-tab:nth-child(4),.fhi-icons.is-revealed .fhi-item:nth-child(4),.fhb-boxes.is-revealed .fhb-item:nth-child(4){transition-delay:.20s}
.fhp-products.is-revealed .fhp-tabnav button:nth-child(5),.fhs-solutions.is-revealed .fhs-tab:nth-child(5),.fhb-boxes.is-revealed .fhb-item:nth-child(5){transition-delay:.26s}
.fhp-products.is-revealed .fhp-tabnav button:nth-child(6),.fhs-solutions.is-revealed .fhs-tab:nth-child(6),.fhb-boxes.is-revealed .fhb-item:nth-child(6){transition-delay:.32s}
.fhp-products.is-revealed .fhp-tabnav button:nth-child(7),.fhs-solutions.is-revealed .fhs-tab:nth-child(7){transition-delay:.38s}
.fhp-products.is-revealed .fhp-tabnav button:nth-child(8),.fhs-solutions.is-revealed .fhs-tab:nth-child(8){transition-delay:.44s}
.fhp-products.is-revealed .fhp-tabnav button:nth-child(9){transition-delay:.50s}
.fhp-products.is-revealed .fhp-tabnav button:nth-child(10){transition-delay:.56s}

/* Reveal state must not cancel component hover transforms. */
.fhp-products.is-revealed .fhp-tabnav button:hover{transform:translateY(-3px);}
.fhp-products.is-revealed .fhp-tabnav button:active{transform:translateY(-1px) scale(.995);}
.fhs-solutions.is-revealed .fhs-tab:hover{transform:translateX(10px);}
.fhs-solutions.is-revealed .fhs-tab.is-active:hover{transform:translateX(6px);}

@media(max-width:900px){.fhs-solutions .fhs-tab{transform:translateY(18px)}.fhs-solutions.is-revealed .fhs-tab{transform:none}.fhs-solutions.is-revealed .fhs-tab:hover,.fhs-solutions.is-revealed .fhs-tab.is-active:hover{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.home-slide-copy>*,.fhp-tabnav button,.fhs-tab,.fhi-item,.fhb-item{opacity:1;transform:none;transition:none}}


/* Inner-page hero reveal */
.page-hero-copy>*{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .7s ease,transform .82s cubic-bezier(.2,.7,.2,1);
}

.page-hero.is-animated .page-hero-copy>*{
    opacity:1;
    transform:none;
}

.page-hero.is-animated .page-hero-copy>*:nth-child(1){transition-delay:.06s;}
.page-hero.is-animated .page-hero-copy>*:nth-child(2){transition-delay:.14s;}
.page-hero.is-animated .page-hero-copy>*:nth-child(3){transition-delay:.22s;}
.page-hero.is-animated .page-hero-copy>*:nth-child(4){transition-delay:.30s;}
.page-hero.is-animated .page-hero-copy>*:nth-child(5){transition-delay:.38s;}

@media(prefers-reduced-motion:reduce){
    .page-hero-copy>*{
        opacity:1;
        transform:none;
        transition:none;
    }
}


/* Inner-page content reveal — same motion language as the hero Abstract.
   Runs once only; JS never resets the element while scrolling. */
.site-inner-reveal{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .7s ease,transform .82s cubic-bezier(.2,.7,.2,1);
}
.site-inner-reveal.is-animated{
    opacity:1;
    transform:none;
}
@media(prefers-reduced-motion:reduce){
    .site-inner-reveal{
        opacity:1;
        transform:none;
        transition:none;
    }
}
