/* CUBEevo hover & motion effects — Epicurators
 *
 * Hover effects live here (CSS); scroll-linked + magnetic effects live in JS.
 * Classes are added by cubeevo-enhance.js so original markup stays intact.
 */

:root {
  --epi-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --epi-shadow: 0 30px 60px -22px rgba(0, 0, 0, 0.42);
  --epi-shadow-soft: 0 20px 40px -18px rgba(0, 0, 0, 0.28);
}

/* ── Image hover zoom (applied directly to <img>, no wrapper clip) ─── */
.epi-img-hover-zoom {
  transition: transform 0.8s var(--epi-ease);
  will-change: transform;
  transform-origin: center center;
}
.epi-img-hover-zoom:hover {
  transform: scale(1.06);
}

/* For Vision & Mission: combined magnetic + zoom.
   The img translates from JS (magnetic) AND scales on hover (CSS). */
.epi-img-magnetic-zoom {
  transition: transform 0.6s var(--epi-ease);
  will-change: transform;
  transform-origin: center center;
}
/* Hover triggered from the parent e-con (wider hit area). */
.epi-magnetic-host:hover .epi-img-magnetic-zoom {
  transform: scale(1.05);
}

/* ── Whole-card lift + drop shadow ─────────────────────────────────── */
.epi-card-lift {
  transition:
    transform 0.55s var(--epi-ease),
    box-shadow 0.55s var(--epi-ease);
  will-change: transform;
  position: relative;
}
.epi-card-lift:hover {
  transform: translateY(-14px);
  box-shadow: var(--epi-shadow);
  z-index: 3;
}

.epi-card-lift--soft {
  transition:
    transform 0.55s var(--epi-ease),
    box-shadow 0.55s var(--epi-ease);
  will-change: transform;
  position: relative;
}
.epi-card-lift--soft:hover {
  transform: translateY(-8px);
  box-shadow: var(--epi-shadow-soft);
}

/* ── Slide-up scroll reveal (JS animates from pre-state to 0/1) ────── */
.epi-slide-up-init {
  opacity: 0;
  transform: translateY(80px);
  will-change: transform, opacity;
}

/* ── Magnetic host hint (used to scope hover-zoom on V&M image) ────── */
.epi-magnetic-host {
  cursor: pointer;
}
