/* Appearance and timing match the reference; content stays visible without JS. */
@keyframes nm-enter-up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes nm-enter-fade{from{opacity:0}to{opacity:1}}
@keyframes nm-enter-line{from{width:0;opacity:0}to{width:80px;opacity:1}}
.nm-motion .nm-hero-content{animation:nm-enter-up .8s .2s both}
.nm-motion .nm-hero-title{animation:nm-enter-fade 1s .3s both}
.nm-motion .nm-hero-divider{animation:nm-enter-line .8s .5s both}
.nm-motion .nm-hero-subtitle{animation:nm-enter-fade 1s .5s both}
.nm-motion .nm-hero-cta{animation:nm-enter-up .8s .7s both}
.nm-motion .nm-hero-statsContainer{animation:nm-enter-up .8s .9s both}
.nm-motion-reveal{opacity:0;translate:0 20px;transition:opacity .5s var(--nm-delay,0s),translate .5s var(--nm-delay,0s)}
.nm-motion-reveal.nm-in-view{opacity:1;translate:0 0}
.nm-motion .nm-cat-card.nm-motion-reveal{animation:none}
.nm-primary-btn,.nm-secondary-btn{transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}
.nm-primary-btn:hover,.nm-secondary-btn:hover{transform:scale(1.03)}
.nm-primary-btn:active,.nm-secondary-btn:active{transform:scale(.97)}
.nm-best-carouselTrack.nm-loop-track{scroll-snap-type:none;scroll-behavior:auto}
.nm-best-carouselTrack [data-nm-clone]{scroll-snap-align:none}
@media(prefers-reduced-motion:reduce){.nm-motion-reveal{opacity:1;translate:none}.nm-hero-content,.nm-hero-content *{animation:none!important}.nm-primary-btn:hover,.nm-secondary-btn:hover,.nm-primary-btn:active,.nm-secondary-btn:active{transform:none}}
