/* Final motion, polish, and interaction enhancements */
:root {
  --ease-soft: cubic-bezier(.22,.61,.36,1);
  --shadow-neon: 0 18px 60px rgba(38, 76, 168, 0.18);
}

@media (prefers-reduced-motion: no-preference) {
  .reveal {
    transition: opacity .8s var(--ease-soft), transform .8s var(--ease-soft), filter .8s var(--ease-soft);
    filter: blur(4px);
    transition-delay: var(--reveal-delay, 0ms);
  }
  .reveal.show {
    filter: blur(0);
  }

  .hero-slide.is-active .hero-slide-image img {
    animation: heroKenBurns 12s var(--ease-soft) both;
  }

  .hero-slide-logo {
    animation: heroLogoFloat 7s ease-in-out infinite;
    will-change: transform, filter;
  }

  .section-head h2,
  .page-title,
  .content-title {
    text-wrap: balance;
  }
}

@keyframes heroKenBurns {
  0% { transform: scale(1.02) translate3d(0, 0, 0); }
  100% { transform: scale(1.08) translate3d(0, -1.25%, 0); }
}

@keyframes heroLogoFloat {
  0%, 100% { transform: translate3d(var(--hero-parallax-x, 0px), var(--hero-parallax-y, 0px), 0); filter: drop-shadow(0 0 18px rgba(255,255,255,0.18)); }
  50% { transform: translate3d(var(--hero-parallax-x, 0px), calc(var(--hero-parallax-y, 0px) - 6px), 0); filter: drop-shadow(0 0 28px rgba(255,255,255,0.26)); }
}

.hero-slider {
  overflow: clip;
}

.hero-slide-image img {
  transform-origin: center center;
  will-change: transform;
}

.pc-nav a,
.footer-links a,
.sidebar-nav a {
  position: relative;
}

.pc-nav a::after,
.footer-links a::after,
.sidebar-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.45rem;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.95), rgba(255,255,255,0));
  transform: scaleX(0.24);
  transform-origin: center;
  opacity: 0;
  transition: transform .28s var(--ease-soft), opacity .28s ease;
}

.pc-nav a:hover::after,
.pc-nav a:focus-visible::after,
.footer-links a:hover::after,
.footer-links a:focus-visible::after,
.sidebar-nav a:hover::after,
.sidebar-nav a:focus-visible::after,
.pc-nav a.is-active::after,
.sidebar-nav a.is-active::after {
  transform: scaleX(1);
  opacity: 1;
}

.feature-panel,
.discography-card,
.news-card,
.goods-preview-card,
.profile-wide-item,
.visual-archive-card {
  box-shadow: 0 10px 32px rgba(4, 8, 24, 0.08);
}

.feature-panel.is-hovered,
.discography-card.is-hovered,
.news-card.is-hovered,
.goods-preview-card.is-hovered,
.profile-wide-item:hover,
.visual-archive-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-neon);
}

.profile-wide-media {
  overflow: hidden;
}

.profile-wide-media img,
.content-image-card img,
.visual-archive-card img,
.discography-thumb img {
  transition: transform .7s var(--ease-soft), filter .35s ease;
}

.profile-wide-item:hover .profile-wide-media img,
.content-image-card:hover img,
.visual-archive-card:hover img,
.discography-card:hover .discography-thumb img {
  transform: scale(1.03);
}

.page-hero {
  position: relative;
}

.page-hero::after {
  content: "";
  position: absolute;
  inset: auto 50% -10px;
  width: min(180px, 28vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(140,173,255,0.55), rgba(255,255,255,0));
}

.site-footer {
  backdrop-filter: blur(10px);
}

@media (max-width: 1100px) {
  .hero-slide-logo {
    animation: none;
  }
  .feature-panel,
  .discography-card,
  .news-card,
  .goods-preview-card,
  .profile-wide-item,
  .visual-archive-card {
    box-shadow: 0 8px 26px rgba(4, 8, 24, 0.08);
  }
}
