/* 写真はスクロール検知の成否にかかわらず常に表示する */
.motion-ready .motion-item.reveal-media {
  opacity: 1;
  clip-path: none;
}

/* FV下に配置されたメインメニューを切り取らない */
.mv {
  overflow: visible;
}

/* Motion intensity: subtle and comfortable */
.motion-ready .reveal-up {
  transform: translateY(24px);
}

.motion-ready .reveal-card {
  transform: translateY(20px) scale(.99);
}

.motion-ready .reveal-media {
  transform: translateY(16px);
}

.motion-ready .reveal-title {
  transform: translateY(18px);
}

.motion-ready .motion-item.is-inview {
  transform: none;
}

.mv_bg.is-visible {
  animation: hero-arrival-subtle 10s cubic-bezier(.2,.7,.2,1) both;
  transform: translate3d(0, var(--hero-shift, 0), 0) scale(1.012);
}

.floating .wrapper {
  animation-name: float-breathe-subtle;
}

@keyframes hero-arrival-subtle {
  from {
    transform: translate3d(0, var(--hero-shift, 0), 0) scale(1.04);
    filter: saturate(.94) contrast(1.02);
  }
  to {
    transform: translate3d(0, var(--hero-shift, 0), 0) scale(1.012);
    filter: saturate(1) contrast(1);
  }
}

@keyframes float-breathe-subtle {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@media screen and (max-width: 768px) {
  .motion-ready .reveal-up,
  .motion-ready .reveal-card {
    transform: translateY(14px);
  }

  .motion-ready .motion-item.is-inview {
    transform: none;
  }
}
