/* スクロール演出から独立したホバーの動き。 */
.content-motion-photo-frame { overflow: hidden; }
.content-motion-photo-frame > .content-motion-media { translate: 0 var(--photo-shift, 0%) !important; }

@media (prefers-reduced-motion: no-preference) {
  .content-motion-term {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .55s ease var(--term-delay), transform .65s cubic-bezier(.22, 1, .36, 1) var(--term-delay);
  }
  .content-motion-term.is-in-view { opacity: 1; transform: translateY(0); }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  /* 個別の translate / scale で、GSAP のスクロール用 transform と合成する。 */
  .content-motion-card {
    translate: 0 0 !important;
    transition: translate .35s cubic-bezier(.22, 1, .36, 1);
  }
  .content-motion-card:is(:hover, :focus-within) { translate: 0 -6px !important; }
  .content-motion-media {
    scale: 1 !important;
    transition: scale .65s cubic-bezier(.22, 1, .36, 1);
  }
  .content-motion-media:hover,
  .content-motion-card:is(:hover, :focus-within) .content-motion-media { scale: 1.025 !important; }
}
