/* ==========================================================================
   animations.css
   スクロールに応じた汎用リビール処理。
   派手な演出は避け、「フェード＋わずかな移動」のみに統一する。
   個別セクション固有の演出(HERO/THE NAME/CONVERGENCE)は sections.css 側に
   専用クラスとして定義済みのため、ここでは扱わない。
   ========================================================================== */

.reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.9s var(--ease-quiet), transform 0.9s var(--ease-quiet);
  transition-delay: calc(var(--reveal-index, 0) * 70ms);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .hero__wordmark,
  .name-word__kanji,
  .convergence__uchi,
  .convergence__suffix,
  .convergence__caption {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
