html {
  scroll-behavior: smooth;
  /* fixed ヘッダー分（モバイル56px / md以上64px）アンカー遷移時に見出しが隠れないように */
  scroll-padding-top: 4rem;
}

/* ── フェードイン ── */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.8s ease-out,
    transform 0.8s ease-out;
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* モーション抑制設定時：演出を無効化し常に可視 */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .fade-in {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .img-zoom > *,
  .img-zoom:hover > * {
    transition: none;
    transform: none;
  }
  .ig-tile,
  .ig-tile:hover {
    transition: none;
    transform: none;
  }
}

/* ── 画像ホバーズーム ── */
.img-zoom {
  overflow: hidden;
}
.img-zoom > * {
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.img-zoom:hover > * {
  transform: scale(1.05);
}

/* ── Instagram アイコン（公式ブランドグラデーション） ── */
.ig-tile {
  background: radial-gradient(
    circle at 30% 107%,
    #fdf497 0%,
    #fdf497 5%,
    #fd5949 45%,
    #d6249f 60%,
    #285aeb 90%
  );
  transition: transform 0.3s ease-out;
}
.ig-tile:hover {
  transform: translateY(-2px);
}

/* ── モバイルメニュー ── */
#mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
#mobile-menu.open {
  max-height: 400px;
}
