/**
 * Champs d'action — layout manifesto + fiches pilotées au scroll.
 */

.site-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#services.site-services--manifesto {
  padding-top: clamp(20px, 3.5vh, 40px);
  padding-bottom: clamp(72px, 10vh, 110px);
  overflow: visible;
}

.site-services-cards-shell {
  width: 100%;
  max-width: 1140px;
  margin: clamp(-28px, -3.5vh, -12px) auto 0;
  padding: clamp(12px, 2.5vh, 24px) 15px clamp(12px, 2vh, 24px);
  box-sizing: border-box;
}

#services.site-services--manifesto #site-competences-grid.services-grid {
  margin-top: 0;
}

#services.site-services--manifesto [data-svc-cards-reveal] .services-card {
  transform-origin: 50% 92%;
  /* Pas de transition sur transform/opacité : pilotées au scroll en inline */
  transition:
    box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

#services.site-services--manifesto [data-svc-cards-reveal]:not(.is-svc-cards-scroll) .services-card {
  opacity: 0;
  transform: translate3d(0, 24px, 0) scale(0.99);
  pointer-events: none;
}

#services.site-services--manifesto [data-svc-cards-reveal].is-svc-cards-scroll:not(.is-svc-cards-settled) .services-card:not(.is-svc-card-revealed) {
  will-change: transform, opacity;
}

#services.site-services--manifesto [data-svc-cards-reveal] .services-card.is-svc-card-revealed {
  will-change: auto;
}

#services.site-services--manifesto
  [data-svc-cards-reveal].is-svc-cards-settled
  .services-card.is-svc-card-revealed {
  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
  #services.site-services--manifesto [data-svc-cards-reveal] .services-card {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    pointer-events: auto !important;
  }
}

/* Essai : couleur vidéo quand la fiche atteint ~50 % de l’écran (scroll) */
#services.site-services--manifesto
  .services-card--has-video.is-svc-video-colored:not(.services-card--is-open)
  .services-card__bg-video-wrap {
  opacity: calc(0.28 + 0.72 * var(--svc-video-color, 1));
}

#services.site-services--manifesto
  .services-card--has-video[style*="--svc-video-color"]
  .services-card__bg-video-wrap::after {
  opacity: calc(var(--svc-video-tint-opacity, 0.88) * (1 - var(--svc-video-color, 0)));
}

#services.site-services--manifesto
  .services-card--has-video.is-svc-video-colored
  .services-card__bg-video {
  filter: var(
    --svc-video-hover-filter,
    grayscale(0) sepia(0) saturate(1) brightness(1) contrast(1)
  );
}
