/* ===== NEXLIVO motion layer (Fair Miles style) ===== */
/* Preloader counter + curtain exit */
#preloader .pl-count{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);font:700 clamp(44px,9vw,96px)/1 'Space Grotesk',sans-serif;letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums}
#preloader .pl-count small{font-size:.35em;color:#22d3ee;margin-left:4px}
#preloader .pl-bar{position:absolute;left:0;bottom:0;height:3px;width:0;background:linear-gradient(90deg,#3b6cff,#22d3ee)}
#preloader{transition:transform .9s cubic-bezier(.77,0,.18,1),opacity .4s ease .6s}
#preloader.done{transform:translateY(-100%);opacity:1}
/* Page transition curtain */
#fx-curtain{position:fixed;inset:0;z-index:9998;background:#03060f;transform:translateY(100%);pointer-events:none;display:flex;align-items:center;justify-content:center;color:#fff;font:600 clamp(18px,3vw,30px) 'Space Grotesk',sans-serif;letter-spacing:.04em}
#fx-curtain.in{transform:translateY(0);transition:transform .55s cubic-bezier(.77,0,.18,1);pointer-events:all}
#fx-curtain span{opacity:0;transition:opacity .3s ease .25s}
#fx-curtain.in span{opacity:1}
/* Scroll progress */
#fx-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);z-index:9997;background:linear-gradient(90deg,#3b6cff,#22d3ee)}
/* Hero headline word reveal */
.fx-word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.fx-word>i{display:inline-block;font-style:normal;transform:translateY(110%);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.fx-ready .fx-word>i{transform:none}
.hero-eyebrow,.hero p,.hero-cta{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.fx-ready .hero-eyebrow{opacity:1;transform:none;transition-delay:.1s}
.fx-ready .hero p{opacity:1;transform:none;transition-delay:.7s}
.fx-ready .hero-cta{opacity:1;transform:none;transition-delay:.9s}
.hero-video{will-change:transform}
/* Header hide on scroll down */
.site-header{transition:transform .4s ease,background .3s ease}
.site-header.fx-hide{transform:translateY(-110%)}
/* Reveal variants */
.reveal{transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
/* Buttons: sweep + magnetic */
.btn{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .3s ease}
.btn::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .7s ease}
.btn:hover::after{left:140%}
/* Card lift */
.svc-card,.folio,.value,.post-card{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease}
.svc-card:hover,.folio:hover,.value:hover{transform:translateY(-8px)}
/* FAQ smooth open */
.faq-item[open] .faq-answer{animation:fxFaq .45s ease}
@keyframes fxFaq{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .fx-word>i,.reveal,.hero-eyebrow,.hero p,.hero-cta{transform:none!important;opacity:1!important}
  #preloader,#fx-curtain{display:none!important}
}
