/* ===== Smooth page transitions — inspired by transitions.dev =====
   Cross-document View Transitions: pages cross-fade/slide instead of a hard
   reload. Graceful no-op in browsers without support. Loaded after realism.css. */
@view-transition { navigation: auto; }

::view-transition-old(root),
::view-transition-new(root){
  animation-duration:.42s;
  animation-timing-function:cubic-bezier(.4,0,.2,1);
}
@keyframes am-vt-in { from{opacity:0; transform:translateY(10px) scale(.995);} to{opacity:1; transform:none;} }
@keyframes am-vt-out{ from{opacity:1;} to{opacity:0;} }
::view-transition-new(root){ animation-name:am-vt-in; }
::view-transition-old(root){ animation-name:am-vt-out; }

/* Keep the nav steady (it morphs in place) while the page body cross-fades */
.navbar{ view-transition-name:am-nav; }

/* Persistent fixed UI (WhatsApp bubble, back-to-top, mobile sticky CTA bar):
   identical on every page, so pin each to its own group with animation:none
   — otherwise they'd be swept into the root snapshot and visibly flicker/
   double-image during the crossfade even though nothing about them changes. */
#whatsappBtn{ view-transition-name:am-whatsapp; }
#backToTop{ view-transition-name:am-backtotop; }
#mobileStickyBar{ view-transition-name:am-mobilesticky; }
::view-transition-image-pair(am-whatsapp),
::view-transition-image-pair(am-backtotop),
::view-transition-image-pair(am-mobilesticky){ isolation:auto; }
::view-transition-old(am-whatsapp), ::view-transition-new(am-whatsapp),
::view-transition-old(am-backtotop), ::view-transition-new(am-backtotop),
::view-transition-old(am-mobilesticky), ::view-transition-new(am-mobilesticky){
  animation:none !important; mix-blend-mode:normal;
}

/* Premium easing on interactions (the buttery transitions.dev feel) */
a,.btn,.service-card,.why-card,.pricing-card,.nav-menu a{
  transition-timing-function:cubic-bezier(.2,.7,.2,1) !important;
}

@media (prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){ animation:none !important; }
}
