/* MASU Premium-Modern Motion System */
:root{--masu-navy:#071225;--masu-orange:#ff7417;--masu-ease:cubic-bezier(.2,.75,.25,1)}
html{scroll-behavior:smooth}body{overflow-x:clip}
a,button,.btn-primary,.header-btn,.nav-cta,.service-card,.request-card,.trust-card,.review-card,.contact-card,.feature-card{transition:transform 240ms var(--masu-ease),box-shadow 240ms var(--masu-ease),border-color 240ms ease,background-color 240ms ease,color 240ms ease}
a:focus-visible,button:focus-visible{outline:3px solid rgba(255,116,23,.55);outline-offset:3px}
.motion-ready [data-reveal]{opacity:0;transform:translate3d(0,24px,0);transition:opacity 650ms var(--masu-ease),transform 650ms var(--masu-ease);will-change:opacity,transform}
.motion-ready [data-reveal="left"]{transform:translate3d(-28px,0,0)}
.motion-ready [data-reveal="right"]{transform:translate3d(28px,0,0)}
.motion-ready [data-reveal="zoom"]{transform:scale(.96)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:none;will-change:auto}
.service-card:hover,.request-card:hover,.trust-card:hover,.review-card:hover,.contact-card:hover,.feature-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(7,18,37,.12)}
.btn-primary:hover,.header-btn:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,116,23,.25)}
.page-hero,.hero,.hero-section,.home-hero{isolation:isolate}
.page-hero::after,.hero::after,.hero-section::after,.home-hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:min(42vw,520px);aspect-ratio:1;right:-12%;top:-28%;border-radius:50%;background:radial-gradient(circle,rgba(255,116,23,.13),transparent 68%);animation:masuAmbient 9s ease-in-out infinite alternate}
@keyframes masuAmbient{from{transform:translate3d(0,0,0) scale(.92)}to{transform:translate3d(-24px,18px,0) scale(1.08)}}
#masu-scroll-progress{position:fixed;z-index:9999;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--masu-orange),#ffb36f);box-shadow:0 0 10px rgba(255,116,23,.35);pointer-events:none}
#masu-back-to-top{position:fixed;z-index:9998;right:22px;bottom:24px;width:46px;height:46px;border:0;border-radius:50%;background:var(--masu-navy);color:#fff;font-size:21px;cursor:pointer;box-shadow:0 8px 24px rgba(7,18,37,.2);opacity:0;visibility:hidden;transform:translateY(10px)}
#masu-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
#masu-back-to-top:hover{background:var(--masu-orange)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.motion-ready [data-reveal]{opacity:1!important;transform:none!important}}
@media(max-width:600px){#masu-back-to-top{right:14px;bottom:16px}}

/* =========================================
   MASU PREMIUM HERO ENTRANCE ANIMATION
========================================= */

@keyframes masuHeroEntrance {
    from {
        opacity: 0;
        transform: translate3d(0, 24px, 0);
        filter: blur(4px);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

.hero-content.is-visible .hero-label,
.hero-content.is-visible h1,
.hero-content.is-visible .hero-text,
.hero-content.is-visible .hero-actions {
    animation: masuHeroEntrance 800ms cubic-bezier(.2,.75,.25,1) both;
}

.hero-content.is-visible .hero-label {
    animation-delay: 100ms;
}

.hero-content.is-visible h1 {
    animation-delay: 250ms;
}

.hero-content.is-visible .hero-text {
    animation-delay: 420ms;
}

.hero-content.is-visible .hero-actions {
    animation-delay: 580ms;
}

@media (prefers-reduced-motion: reduce) {
    .hero-content.is-visible .hero-label,
    .hero-content.is-visible h1,
    .hero-content.is-visible .hero-text,
    .hero-content.is-visible .hero-actions {
        animation: none !important;
        opacity: 1;
        filter: none;
        transform: none;
    }
}


/* =========================================
   MASU PREMIUM BACKGROUND MOTION
========================================= */

.hero {
    background-size: 100% 100%;
    animation: masuHeroBackground 16s ease-in-out infinite alternate;
}

@keyframes masuHeroBackground {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 50% 45%;
    }
    100% {
        background-position: 100% 50%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero {
        animation: none !important;
    }
}


/* =========================================
   MASU PREMIUM BUTTON PRESS INTERACTION
========================================= */

.btn-primary:active,
.btn-outline:active,
.nav-btn:active {
    transform: translateY(1px) scale(.98);
    filter: brightness(.96);
}

.btn-primary:focus-visible,
.btn-outline:focus-visible,
.nav-btn:focus-visible {
    outline: 3px solid rgba(255,116,23,.55);
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    .btn-primary:active,
    .btn-outline:active,
    .nav-btn:active {
        transform: none;
    }
}


/* =========================================
   MASU PREMIUM HEADER INTERACTION
========================================= */

/* Logo hover */
.logo {
    transition: transform 300ms var(--masu-ease);
}

.logo:hover {
    transform: translateY(-2px);
}

/* Navigation link interaction */
nav a:not(.nav-btn) {
    transition: color 250ms ease, transform 250ms var(--masu-ease);
}

nav a:not(.nav-btn):hover {
    transform: translateY(-2px);
}

/* Mobile menu entrance */
@media (max-width: 720px) {
    nav.open a {
        animation: masuMenuItemEntrance 420ms var(--masu-ease) both;
    }

    nav.open a:nth-child(1) { animation-delay: 50ms; }
    nav.open a:nth-child(2) { animation-delay: 100ms; }
    nav.open a:nth-child(3) { animation-delay: 150ms; }
    nav.open a:nth-child(4) { animation-delay: 200ms; }
    nav.open a:nth-child(5) { animation-delay: 250ms; }
    nav.open a:nth-child(6) { animation-delay: 300ms; }
}

@keyframes masuMenuItemEntrance {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .logo,
    nav a:not(.nav-btn) {
        transition: none !important;
    }

    nav.open a {
        animation: none !important;
    }
}


/* =========================================
   MASU PREMIUM FOOTER ANIMATION
========================================= */

/* Footer column staggered reveal */
.motion-ready .footer-grid > *:nth-child(1) {
    transition-delay: 80ms;
}

.motion-ready .footer-grid > *:nth-child(2) {
    transition-delay: 180ms;
}

.motion-ready .footer-grid > *:nth-child(3) {
    transition-delay: 280ms;
}

/* Footer links interaction */
footer .footer-col a {
    display: inline-block;
    transition:
        color 250ms ease,
        transform 250ms var(--masu-ease);
}

footer .footer-col a:hover {
    color: var(--masu-orange);
    transform: translateX(5px);
}

/* Footer logo interaction */
footer .footer-brand .logo:hover {
    transform: translateY(-3px);
}

/* Copyright entrance */
.motion-ready .footer-bottom {
    opacity: 0;
    transform: translateY(12px);
    transition:
        opacity 700ms var(--masu-ease),
        transform 700ms var(--masu-ease);
}

.motion-ready .footer-bottom.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .motion-ready .footer-bottom {
        opacity: 1 !important;
        transform: none !important;
    }
}

