/* ===== ComplyWiser LAT — page transitions & scroll animations ===== */

/* Scroll progress bar */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,#174CA0,#3a72d6);z-index:10000;pointer-events:none;transition:transform .1s linear;}

/* Page-transition overlay (covers on load, lifts away; re-covers on navigation) */
.page-transition{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;pointer-events:none;
  background:linear-gradient(135deg,#0d2a5e 0%,#174CA0 100%);
  transform:scaleY(1);transform-origin:top;transition:transform .55s cubic-bezier(.76,0,.24,1);}
body.pt-ready .page-transition{transform:scaleY(0);transform-origin:top;}
body.pt-leaving .page-transition{transform:scaleY(1);transform-origin:bottom;transition:transform .5s cubic-bezier(.76,0,.24,1);}
.page-transition .pt-logo{opacity:0;transform:translateY(6px) scale(.96);transition:opacity .4s ease,transform .4s ease;}
.page-transition .pt-logo img{height:50px;width:auto;display:block;}
body:not(.pt-ready) .page-transition .pt-logo,
body.pt-leaving .page-transition .pt-logo{opacity:1;transform:none;}

/* Scroll reveals */
.reveal{opacity:0;transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);will-change:opacity,transform;}
.reveal.in{opacity:1;transform:none;}

/* Subtle lift on interactive cards */
.card,.stat{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease;}
.card:hover{transform:translateY(-4px);}

@media (prefers-reduced-motion: reduce){
  .page-transition{display:none!important;}
  .reveal{opacity:1!important;transform:none!important;transition:none!important;}
  .scroll-progress{display:none!important;}
  .card:hover{transform:none;}
}
