/* Shared motion controls. Images remain visible with JS disabled or interrupted. */
:root {
  --carpa-image-enter-duration: 850ms;
  --carpa-image-hover-duration: 600ms;
  --carpa-image-hover-scale: 1.035;
  --carpa-image-motion-easing: cubic-bezier(.2,.65,.3,1);
}
@media (prefers-reduced-motion: no-preference) {
  [data-palette="p4k"] .carpa-image-motion.is-image-entering {
    animation: carpa-image-enter var(--carpa-image-enter-duration) var(--carpa-image-motion-easing);
  }
  [data-palette="p4k"] .carpa-image-motion--framed.is-image-entering {
    animation-name: carpa-image-enter-framed;
  }
  @media (hover: hover) and (pointer: fine) {
    [data-palette="p4k"] .carpa-image-motion--framed {
      transition: scale var(--carpa-image-hover-duration) var(--carpa-image-motion-easing);
    }
    [data-palette="p4k"] :is(.site-person, .caar-doctor, .carpa-home__card, .clinic-exam-intro):is(:hover,:focus-within) .carpa-image-motion--framed {
      scale: var(--carpa-image-hover-scale);
    }
  }
}
/* Individual scale composes with existing portrait transforms (notably Carla). */
@keyframes carpa-image-enter { from { opacity: .4; } to { opacity: 1; } }
@keyframes carpa-image-enter-framed { from { opacity: .4; scale: 1.025; } to { opacity: 1; scale: 1; } }
