/* Shared capability/solution motion. Content stays in the accessible HTML layer. */
.card-motion-stage { display: grid; min-width: 0; perspective: 81.25rem; }
.card-motion-stage > .has-card-motion { transform-origin: 50% 90%; }
#ai-capabilities .has-card-motion,
#solutions .has-card-motion .site-solution__face {
  box-shadow: 0 1rem 2.375rem -1.5rem rgb(39 47 199 / var(--card-shadow, 0));
}
/* Match the shared hover lighting after the homepage's static card styles. */
body.ai-home-page #ai-capabilities .ai-capability-card.has-card-motion,
body.ai-home-page #ai-capabilities .ai-capability-card.has-card-motion:is(:hover, :focus-within) {
  box-shadow: 0 1rem 2.375rem -1.5rem rgb(39 47 199 / var(--card-shadow, 0));
}
#ai-capabilities .has-card-motion .cap-visual,
#solutions .has-card-motion .site-solution__visual { isolation: isolate; }
#ai-capabilities .has-card-motion .cap-visual::after,
#solutions .has-card-motion .site-solution__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: var(--card-hover, 0);
  background: radial-gradient(ellipse at var(--card-pointer-x, 50%) var(--card-pointer-y, 50%), #6676ff26, transparent 65%);
}
#solutions .has-card-motion .site-solution__visual { position: relative; }
#solutions .has-card-motion .site-solution__face { position: relative; }
.card-motion-lighting {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  z-index: 2;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .card-motion-lighting { display: none; }
  .card-motion-stage > .has-card-motion { transform: none !important; opacity: 1 !important; }
}
