/* ==========================================================
 * A&Z PREMIUM MOTION V2
 * Engineered Calm
 * ========================================================== */

:root{
    --az-v2-micro:220ms;
    --az-v2-reveal:720ms;
    --az-v2-hero:920ms;
    --az-v2-stagger:110ms;

    --az-v2-rise:32px;
    --az-v2-hero-rise:42px;
    --az-v2-blur:10px;

    --az-v2-ease:cubic-bezier(.16,1,.30,1);
    --az-v2-ease-soft:cubic-bezier(.22,1,.36,1);
    --az-v2-ui:cubic-bezier(.40,0,.20,1);
}


/* ==========================================================
 * HEADER ENTRANCE
 * ========================================================== */

body.az-motion-v2-page .site-header.mo-v2-header-in{
    animation:azV2HeaderIn 700ms var(--az-v2-ease-soft) both;
}

body.az-motion-v2-page
.site-header.mo-v2-header-in
.custom-logo-link,

body.az-motion-v2-page
.site-header.mo-v2-header-in
.site-branding img,

body.az-motion-v2-page
.site-header.mo-v2-header-in
.site-logo-img{
    animation:azV2LogoIn 780ms 120ms var(--az-v2-ease-soft) both;
}

body.az-motion-v2-page
.site-header.mo-v2-header-in
.main-header-menu > .menu-item,

body.az-motion-v2-page
.site-header.mo-v2-header-in
.ast-nav-menu > .menu-item{
    animation:azV2NavIn 620ms var(--az-v2-ease-soft) both;
    animation-delay:calc(180ms + (var(--az-v2-i,0) * 65ms));
}

@keyframes azV2HeaderIn{
    from{
        opacity:0;
        transform:translate3d(0,-18px,0);
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0);
    }
}

@keyframes azV2LogoIn{
    from{
        opacity:0;
        transform:translate3d(0,-10px,0) scale(.94);
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0) scale(1);
    }
}

@keyframes azV2NavIn{
    from{
        opacity:0;
        transform:translate3d(0,-12px,0);
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0);
    }
}


/* ==========================================================
 * HERO — STRONGER WOW MOMENT
 * ========================================================== */

body.az-motion-v2-page .mo-v2-hero-item{
    animation:azV2HeroIn var(--az-v2-hero) var(--az-v2-ease-soft) both;
    animation-delay:calc(100ms + (var(--az-v2-i,0) * 135ms));
}

@keyframes azV2HeroIn{
    from{
        opacity:0;
        transform:
            translate3d(0,var(--az-v2-hero-rise),0)
            scale(.985);
        filter:blur(var(--az-v2-blur));
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0) scale(1);
        filter:blur(0);
    }
}


/* ==========================================================
 * GENERIC SCROLL REVEAL
 * ========================================================== */

body.az-motion-v2-page .mo-v2-reveal{
    opacity:0;
    transform:translate3d(0,var(--az-v2-rise),0) scale(.985);

    transition:
        opacity var(--az-v2-reveal) var(--az-v2-ease),
        transform var(--az-v2-reveal) var(--az-v2-ease);

    will-change:transform,opacity;
}

body.az-motion-v2-page .mo-v2-reveal.is-visible{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
}


/* ==========================================================
 * SECTION HEADING — WIPE UP
 * ========================================================== */

body.az-motion-v2-page .mo-v2-heading{
    opacity:0;
    transform:translate3d(0,28px,0);
    clip-path:inset(0 0 100% 0);

    transition:
        opacity 760ms var(--az-v2-ease),
        transform 760ms var(--az-v2-ease),
        clip-path 760ms var(--az-v2-ease);

    will-change:transform,opacity,clip-path;
}

body.az-motion-v2-page .mo-v2-heading.is-visible{
    opacity:1;
    transform:translate3d(0,0,0);
    clip-path:inset(0 0 0 0);
}


/* ==========================================================
 * STAGGER / CARDS
 * ========================================================== */

body.az-motion-v2-page .mo-v2-stagger > *{
    opacity:0;

    transform:
        translate3d(0,var(--az-v2-rise),0)
        scale(.975);

    transition:
        opacity var(--az-v2-reveal) var(--az-v2-ease),
        transform var(--az-v2-reveal) var(--az-v2-ease);

    transition-delay:
        calc(var(--az-v2-i,0) * var(--az-v2-stagger));

    will-change:transform,opacity;
}

body.az-motion-v2-page .mo-v2-stagger.is-visible > *{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
}


/* ==========================================================
 * CARD INTERACTION
 * ========================================================== */

@media (hover:hover) and (pointer:fine){

    body.az-motion-v2-page .mo-v2-stagger.is-visible > .mo-v2-card,
    body.az-motion-v2-page .mo-v2-card.is-visible{
        transition:
            transform 280ms var(--az-v2-ui),
            box-shadow 280ms var(--az-v2-ui),
            border-color 280ms ease;
    }

    body.az-motion-v2-page .mo-v2-stagger.is-visible > .mo-v2-card:hover,
    body.az-motion-v2-page .mo-v2-card.is-visible:hover,
    body.az-motion-v2-page .mo-v2-card:focus-within{
        transform:translate3d(0,-7px,0) scale(1.01);
        box-shadow:0 24px 48px -25px rgba(0,0,0,.38);
    }
}


/* ==========================================================
 * BUTTONS — LIFT + PRESS
 * ========================================================== */

body.az-motion-v2-page .wp-block-button__link,
body.az-motion-v2-page .ast-button,
body.az-motion-v2-page .ast-custom-button,
body.az-motion-v2-page input[type="submit"]{
    transition:
        transform var(--az-v2-micro) var(--az-v2-ui),
        box-shadow var(--az-v2-micro) var(--az-v2-ui),
        background-color var(--az-v2-micro) ease,
        color var(--az-v2-micro) ease !important;
}

@media (hover:hover) and (pointer:fine){

    body.az-motion-v2-page .wp-block-button__link:hover,
    body.az-motion-v2-page .ast-button:hover,
    body.az-motion-v2-page .ast-custom-button:hover,
    body.az-motion-v2-page input[type="submit"]:hover{
        transform:translate3d(0,-3px,0);
        box-shadow:0 16px 30px -16px rgba(0,0,0,.42);
    }
}

body.az-motion-v2-page .wp-block-button__link:active,
body.az-motion-v2-page .ast-button:active,
body.az-motion-v2-page .ast-custom-button:active,
body.az-motion-v2-page input[type="submit"]:active{
    transform:translate3d(0,0,0) scale(.97);
}


/* ==========================================================
 * HERO PRIMARY CTA LIGHT SWEEP
 * ========================================================== */

body.az-motion-v2-page .mo-v2-cta{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}

body.az-motion-v2-page .mo-v2-cta::after{
    content:"";
    position:absolute;
    inset:0;

    background:linear-gradient(
        115deg,
        transparent 28%,
        rgba(255,255,255,.34) 50%,
        transparent 72%
    );

    transform:translateX(-140%);
    transition:transform 760ms var(--az-v2-ease);

    pointer-events:none;
}

@media (hover:hover) and (pointer:fine){
    body.az-motion-v2-page .mo-v2-cta:hover::after{
        transform:translateX(140%);
    }
}


/* ==========================================================
 * NAVIGATION UNDERLINE
 * ========================================================== */

@media (hover:hover) and (pointer:fine){

    body.az-motion-v2-page .main-header-menu .menu-item > a,
    body.az-motion-v2-page .ast-nav-menu .menu-item > a{
        position:relative;
    }

    body.az-motion-v2-page .main-header-menu .menu-item > a::after,
    body.az-motion-v2-page .ast-nav-menu .menu-item > a::after{
        content:"";
        position:absolute;

        left:14%;
        right:14%;
        bottom:5px;

        height:2px;

        background:currentColor;

        transform:scaleX(0);
        transform-origin:center;

        transition:transform 260ms var(--az-v2-ease);
    }

    body.az-motion-v2-page .main-header-menu .menu-item > a:hover::after,
    body.az-motion-v2-page .main-header-menu .current-menu-item > a::after,
    body.az-motion-v2-page .ast-nav-menu .menu-item > a:hover::after{
        transform:scaleX(1);
    }
}


/* ==========================================================
 * CONTACT FORM
 * ========================================================== */

body.az-motion-v2-page .site-content form input,
body.az-motion-v2-page .site-content form textarea,
body.az-motion-v2-page .site-content form select{
    transition:
        transform 200ms var(--az-v2-ui),
        box-shadow 200ms var(--az-v2-ui),
        border-color 200ms ease !important;
}

body.az-motion-v2-page .site-content form input:focus,
body.az-motion-v2-page .site-content form textarea:focus,
body.az-motion-v2-page .site-content form select:focus{
    transform:translate3d(0,-2px,0);
    box-shadow:0 0 0 3px rgba(0,0,0,.09);
}


/* ==========================================================
 * FOOTER LINKS
 * ========================================================== */

@media (hover:hover) and (pointer:fine){

    body.az-motion-v2-page .site-footer a{
        display:inline-block;
        transition:
            transform 200ms var(--az-v2-ui),
            opacity 200ms ease;
    }

    body.az-motion-v2-page .site-footer a:hover{
        transform:translate3d(3px,0,0);
    }
}


/* ==========================================================
 * MOBILE
 * ========================================================== */

@media (max-width:782px){

    :root{
        --az-v2-reveal:590ms;
        --az-v2-hero:720ms;
        --az-v2-stagger:75ms;

        --az-v2-rise:20px;
        --az-v2-hero-rise:24px;
        --az-v2-blur:6px;
    }

    body.az-motion-v2-page .site-header.mo-v2-header-in{
        animation-duration:560ms;
    }

    body.az-motion-v2-page .mo-v2-hero-item{
        animation-delay:
            calc(60ms + (var(--az-v2-i,0) * 95ms));
    }
}


/* ==========================================================
 * ACCESSIBILITY
 * ========================================================== */

@media (prefers-reduced-motion:reduce){

    body.az-motion-v2-page .site-header,
    body.az-motion-v2-page .site-header *,
    body.az-motion-v2-page .mo-v2-hero-item,
    body.az-motion-v2-page .mo-v2-reveal,
    body.az-motion-v2-page .mo-v2-heading,
    body.az-motion-v2-page .mo-v2-stagger > *,
    body.az-motion-v2-page .mo-v2-card{
        animation:none !important;
        transition:none !important;
        opacity:1 !important;
        transform:none !important;
        filter:none !important;
        clip-path:none !important;
    }
}

