/* Services grid — soft parallel entrance + fluid ring hover canvas */

.services_b-img-cover {
  position: relative;
  overflow: hidden;
}

.services_b-img-cover .services-fluid-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  z-index: 2;
}

/* Entrance */

.services_b-grid.is-services-fluid .services_b-card.is-services-armed .services_b-img-cover,
.services_b-grid.is-services-fluid .services_b-card.is-services-armed .services_b-content {
  opacity: 0;
}

.services_b-card.is-services-enter .services_b-img-cover {
  opacity: 0;
  transform: translateY(52px) scale(1.06);
  filter: blur(10px);
  transition:
    opacity var(--services-enter-duration, 1s) cubic-bezier(0.16, 1, 0.3, 1)
      var(--services-enter-delay, 0s),
    transform var(--services-enter-duration, 1s) cubic-bezier(0.16, 1, 0.3, 1)
      var(--services-enter-delay, 0s),
    filter var(--services-enter-duration, 1s) cubic-bezier(0.16, 1, 0.3, 1)
      var(--services-enter-delay, 0s);
}

.services_b-card.is-services-enter .services_b-content {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1) calc(var(--services-enter-delay, 0s) + 0.16s),
    transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) calc(var(--services-enter-delay, 0s) + 0.16s);
}

.services_b-card.is-services-enter.is-services-ready .services_b-img-cover {
  opacity: 1;
  transform: none;
  filter: none;
}

.services_b-card.is-services-enter.is-services-ready .services_b-content {
  opacity: 1;
  transform: none;
}

@media (hover: hover) and (pointer: fine) {
  .services_b-card:not(.is-fluid-hover) .services_b-img {
    transition: transform 0.6s ease;
  }

  .services_b-card:hover:not(.is-fluid-hover) .services_b-img {
    transform: scale(1.03);
  }
}

@media (prefers-reduced-motion: reduce) {
  .services_b-card.is-services-enter .services_b-img-cover,
  .services_b-card.is-services-enter .services_b-content {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }

  .services_b-card:hover .services_b-img {
    transform: none;
  }
}
