/* ==========================================================================
   Card Hover Micro-Interactions
   Priority #5 — subtle lift, glow, and scale effects on interactive cards
   ========================================================================== */

/* ---------- Shared base transition (hover-out is smooth) ---------- */
.s-card,
.success-story-card,
.roi-card,
.ch-card,
.sp-ai-card,
.industry40-card,
.ai-copilot-voice-card,
.advisory-card,
.cta-card,
.metric {
  transition:
    transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease;
  will-change: transform;
}

/* Icons / images inside cards — base transition */
.s-card .s-icon img,
.success-story-card .success-story-image img,
.roi-card .roi-chip img,
.ch-card .ch-pin,
.sp-ai-card .sp-ai-icon img,
.industry40-card .industry40-card-arrow,
.ai-copilot-voice-card .ai-copilot-voice-media img,
.ai-copilot-voice-card .ai-copilot-voice-media video {
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---------- Service cards (.s-card) ---------- */
.s-card {
  position: relative;
  overflow: hidden;
}

/* Gradient overlay that shifts on hover */
.s-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(var(--color-accent-rgb), 0.06) 0%,
    transparent 50%,
    rgba(123, 97, 255, 0.04) 100%
  );
  opacity: 0;
  transition: opacity 0.35s ease, transform 0.5s ease;
  pointer-events: none;
  border-radius: inherit;
  transform: translateY(8px);
}

.s-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(var(--color-accent-rgb), 0.15);
  border-color: rgba(var(--color-accent-rgb), 0.25);
}

/* Preserve asymmetric vertical offset on staggered odd cards during hover */
.s-card:nth-child(n+3):nth-child(odd):hover {
  transform: translateY(14px) scale(1.02);
}

.s-card:hover::after {
  opacity: 1;
  transform: translateY(0);
}

.s-card:hover .s-icon img {
  transform: scale(1.08);
}

/* ---------- Success-story card ---------- */
.success-story-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(var(--color-accent-rgb), 0.15);
  border-color: rgba(var(--color-accent-rgb), 0.25);
}

.success-story-card:hover .success-story-image img {
  transform: scale(1.08);
}

/* ---------- ROI cards ---------- */
.roi-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(var(--color-accent-rgb), 0.15);
  border-color: rgba(var(--color-accent-rgb), 0.25);
}

.roi-card:hover .roi-chip img {
  transform: scale(1.08);
}

/* ---------- Challenge cards ---------- */
.ch-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(var(--color-accent-rgb), 0.15);
  border-color: rgba(var(--color-accent-rgb), 0.25);
}

.ch-card:hover .ch-pin {
  transform: scale(1.08);
}

/* ---------- AI Partnership cards ---------- */
.sp-ai-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(var(--color-accent-rgb), 0.15);
  border-color: rgba(var(--color-accent-rgb), 0.25);
}

.sp-ai-card:hover .sp-ai-icon img {
  transform: scale(1.08);
}

/* ---------- Industry 4.0 cards ---------- */
.industry40-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(var(--color-accent-rgb), 0.15);
  border-color: rgba(var(--color-accent-rgb), 0.25);
}

.industry40-card:hover .industry40-card-arrow {
  transform: scale(1.08);
}

/* ---------- AI Copilot voice cards ---------- */
.ai-copilot-voice-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(var(--color-accent-rgb), 0.15);
  border-color: rgba(var(--color-accent-rgb), 0.25);
}

.ai-copilot-voice-card:hover .ai-copilot-voice-media img,
.ai-copilot-voice-card:hover .ai-copilot-voice-media video {
  transform: scale(1.08);
}

/* ---------- Advisory card ---------- */
.advisory-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(var(--color-accent-rgb), 0.15);
  border-color: rgba(var(--color-accent-rgb), 0.25);
}

/* ---------- Impact CTA card ---------- */
.cta-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(var(--color-accent-rgb), 0.15);
  border-color: rgba(var(--color-accent-rgb), 0.25);
}

/* ---------- Metric items ---------- */
.metric:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(var(--color-accent-rgb), 0.15);
  border-color: rgba(var(--color-accent-rgb), 0.25);
}

/* ---------- Accessibility: reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .s-card,
  .success-story-card,
  .roi-card,
  .ch-card,
  .sp-ai-card,
  .industry40-card,
  .ai-copilot-voice-card,
  .advisory-card,
  .cta-card,
  .metric {
    transition:
      box-shadow 0.35s ease,
      border-color 0.35s ease;
  }

  .s-card:hover,
  .success-story-card:hover,
  .roi-card:hover,
  .ch-card:hover,
  .sp-ai-card:hover,
  .industry40-card:hover,
  .ai-copilot-voice-card:hover,
  .advisory-card:hover,
  .cta-card:hover,
  .metric:hover {
    transform: none;
  }

  .s-card .s-icon img,
  .success-story-card .success-story-image img,
  .roi-card .roi-chip img,
  .ch-card .ch-pin,
  .sp-ai-card .sp-ai-icon img,
  .industry40-card .industry40-card-arrow,
  .ai-copilot-voice-card .ai-copilot-voice-media img,
  .ai-copilot-voice-card .ai-copilot-voice-media video {
    transition: none;
  }

  .s-card:hover .s-icon img,
  .success-story-card:hover .success-story-image img,
  .roi-card:hover .roi-chip img,
  .ch-card:hover .ch-pin,
  .sp-ai-card:hover .sp-ai-icon img,
  .industry40-card:hover .industry40-card-arrow,
  .ai-copilot-voice-card:hover .ai-copilot-voice-media img,
  .ai-copilot-voice-card:hover .ai-copilot-voice-media video {
    transform: none;
  }

  .s-card::after {
    transition: opacity 0.35s ease;
    transform: none;
  }

  .s-card:hover::after {
    transform: none;
  }
}
