
/* Imagine Laserworks V7.3 motion system */
.anim-hidden{opacity:0;will-change:transform,opacity}
.anim-in{opacity:1}
.anim-fade-up.anim-hidden{transform:translateY(40px)}
.anim-fade-up.anim-in{animation:imFadeUp .8s ease-out both}
.anim-fade-left.anim-hidden{transform:translateX(-60px)}
.anim-fade-left.anim-in{animation:imFadeLeft .8s ease-out both}
.anim-fade-right.anim-hidden{transform:translateX(60px)}
.anim-fade-right.anim-in{animation:imFadeRight .8s ease-out both}
.anim-fade.anim-in{animation:imFade 1s ease-out both}

html[dir="rtl"] .anim-fade-left.anim-hidden,
body.rtl .anim-fade-left.anim-hidden{transform:translateX(60px)}
html[dir="rtl"] .anim-fade-right.anim-hidden,
body.rtl .anim-fade-right.anim-hidden{transform:translateX(-60px)}

@keyframes imFadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes imFadeLeft{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:none}}
@keyframes imFadeRight{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:none}}
@keyframes imFade{from{opacity:0}to{opacity:1}}

/* Sticky shrinking header */
.site-header{
  position:sticky;top:0;z-index:1000;
  transition:box-shadow .3s ease,background-color .3s ease,backdrop-filter .3s ease;
}
.nav-wrap{transition:padding .3s ease,min-height .3s ease}
.brand{transition:transform .3s ease}
.brand-symbol,.brand-copy strong,.brand-copy small{transition:font-size .3s ease,letter-spacing .3s ease,transform .3s ease}
body.scrolled .site-header{
  box-shadow:0 10px 30px rgba(8,62,115,.14);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
}
body.scrolled .nav-wrap{min-height:58px}
body.scrolled .brand{transform:scale(.88);transform-origin:right center}
body:not(.rtl).scrolled .brand{transform-origin:left center}

/* Navigation */
.main-nav a{transition:color .25s ease,transform .25s ease}
.main-nav>a:not(.nav-cta):hover{color:#D0182A;transform:translateY(-1px)}

/* Buttons */
.micro-lift{transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease}
.micro-lift:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(8,62,115,.14)}
.micro-lift.is-pressed{transform:scale(.98)}
.btn-primary:hover,.btn-warm:hover{background:#D0182A!important;color:#fff!important}

/* Cards */
.micro-card{
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
  will-change:transform;
}
.micro-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(8,62,115,.14)}
.micro-card.is-pressed{transform:translateY(-1px) scale(.99)}
.program-image{overflow:hidden}
.program-image img,.visit-media img,.hero-card img,.testimonial-head img{
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}
.program-panel:hover .program-image img,
.visit-media:hover img,
.hero-card:hover img{transform:scale(1.045)}
.testimonial-card:hover .testimonial-head img{transform:scale(1.07)}

/* Links / arrow nudge */
.text-cta{display:inline-flex;align-items:center;gap:6px;transition:color .25s ease,transform .25s ease}
html[dir="rtl"] .text-cta:hover,body.rtl .text-cta:hover{transform:translateX(-4px)}
html:not([dir="rtl"]) .text-cta:hover{transform:translateX(4px)}

/* Form focus */
.booking-form input,.booking-form select,.booking-form textarea{
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{
  border-color:#0A3A7A!important;
  box-shadow:0 0 0 3px rgba(10,58,122,.12)!important;
}

/* Floating WhatsApp attention */
.floating-whatsapp{
  overflow:visible;
  animation:imWaAttention 6s infinite;
}
.floating-whatsapp::after{
  content:"";position:absolute;inset:-2px;border:2px solid #25D366;border-radius:999px;
  opacity:0;pointer-events:none;animation:imWaRing 6s infinite;
}
@keyframes imWaAttention{
  0%,84%,100%{transform:scale(1) rotate(0)}
  88%{transform:scale(1.08) rotate(-4deg)}
  92%{transform:scale(1.04) rotate(4deg)}
  96%{transform:scale(1.08) rotate(-2deg)}
}
@keyframes imWaRing{
  0%,84%{opacity:0;transform:scale(1)}
  88%{opacity:.45}
  100%{opacity:0;transform:scale(1.65)}
}

/* Mobile bottom CTA slides in */
.mobile-book{animation:imSlideUp .4s ease .35s both}
@keyframes imSlideUp{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}

/* FAQ micro interaction */
.faq-item button{transition:color .25s ease,background-color .25s ease}
.faq-item button b{transition:transform .3s ease}
.faq-item.open button b{transform:rotate(45deg)}

/* Respect accessibility preference */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
  .anim-hidden{opacity:1!important;transform:none!important}
  .mobile-book{opacity:1!important;transform:none!important}
}
