/* ===== MaiKe — Shared Interaction Styles ===== */

/* Scroll progress bar */
.scroll-progress {
  position: fixed; top: 0; left: 0; z-index: 99999;
  height: 2px; width: 0%;
  background: linear-gradient(90deg, #2997ff 0%, #5ac8fa 50%, #2997ff 100%);
  background-size: 200% 100%;
  animation: shimmer 2s linear infinite;
  pointer-events: none;
}
@keyframes shimmer { 0% { background-position: 200% 0 } 100% { background-position: -200% 0 } }

/* Cursor glow */
.cursor-glow {
  position: fixed; pointer-events: none; z-index: 9990;
  width: 600px; height: 600px; border-radius: 50%;
  background: radial-gradient(circle, rgba(41,151,255,.07) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  opacity: 0; transition: opacity .4s;
  mix-blend-mode: screen;
}
.cursor-glow.active { opacity: 1 }

/* Scroll animations */
.anim {
  opacity: 0; transform: translateY(24px);
  transition: opacity .8s cubic-bezier(.215,.61,.355,1), transform .8s cubic-bezier(.215,.61,.355,1);
}
.anim.v { opacity: 1; transform: translateY(0) }

.stagger > * {
  opacity: 0; transform: translateY(20px);
  transition: opacity .6s cubic-bezier(.215,.61,.355,1), transform .6s cubic-bezier(.215,.61,.355,1);
}
.stagger.v > *:nth-child(1) { transition-delay: 0s; opacity: 1; transform: translateY(0) }
.stagger.v > *:nth-child(2) { transition-delay: .12s; opacity: 1; transform: translateY(0) }
.stagger.v > *:nth-child(3) { transition-delay: .24s; opacity: 1; transform: translateY(0) }
.stagger.v > *:nth-child(4) { transition-delay: .36s; opacity: 1; transform: translateY(0) }

/* Text reveal */
.reveal-word {
  display: inline-block; opacity: 0; transform: translateY(24px);
  transition: opacity .5s cubic-bezier(.215,.61,.355,1), transform .5s cubic-bezier(.215,.61,.355,1);
}
.reveal-word.shown { opacity: 1; transform: translateY(0) }

/* Nav transitions */
.nav { transition: background .36s, border-color .36s, transform .35s, opacity .35s }
.nav.nav-hidden { transform: translateY(-100%); opacity: 0 }

/* Hero image hover lift */
.hero-page .hero-content {
  transition: transform .6s cubic-bezier(.215,.61,.355,1);
}
.hero-page:hover .hero-content {
  transform: translateY(-4px);
}

/* Button hover micro-animation */
.btn-mk {
  transition: all .3s cubic-bezier(.215,.61,.355,1);
}
.btn-mk:hover {
  transform: translateY(-1px);
}
.btn-mk:active {
  transform: translateY(0) scale(.98);
}

/* Link arrow hover */
.link-arrow > span {
  transition: transform .3s cubic-bezier(.215,.61,.355,1);
  display: inline-block;
}
.link-arrow:hover > span { transform: translateX(4px) }

/* Value/grid item hover lift */
.value-item, .grid-3-item, .grid-2-item, .prev-item, .df-col {
  transition: background .3s;
}
.value-item:hover, .grid-3-item:hover, .grid-2-item:hover, .prev-item:hover {
  background: rgba(0,0,0,.015);
}
.statement-dark .grid-3-item:hover {
  background: rgba(255,255,255,.03);
}

/* Scene card hover */
.scene-unit {
  transition: transform .4s cubic-bezier(.215,.61,.355,1), box-shadow .4s;
}
.scene-unit:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0,0,0,.07);
}
.scene-unit:hover .scene-img img {
  transform: scale(1.04);
  transition: transform .6s cubic-bezier(.215,.61,.355,1);
}

/* Story card hover */
.story-unit {
  transition: transform .4s;
}
.story-unit:hover { transform: scale(1.01) }

/* Model card hover (partner page) */
.model-card {
  transition: transform .3s cubic-bezier(.215,.61,.355,1), box-shadow .3s;
}
.model-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(0,0,0,.06);
}

/* Smooth image transitions */
.full-image img, .feat-img img {
  transition: transform .6s cubic-bezier(.215,.61,.355,1);
}
.full-image:hover img, .feat-img:hover img {
  transform: scale(1.02);
}

/* Dark section subtle radial glow */
.poster-dark::before, .statement-dark::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(41,151,255,.03) 0%, transparent 60%);
  pointer-events: none; z-index: 0;
}
