.ou-hover-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.ou-hover-video__plane { position: absolute; inset: 0; width: 100%; height: 100%; }
.ou-hover-video__poster, .ou-hover-video__player, .ou-hover-video__player iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  border: 0;
}
.ou-hover-video__poster { display: block; object-fit: cover; object-position: center; }
/* The poster fills the card independently of the video plane and theme image defaults. */
.ou-hover-video > .ou-hover-video__poster { width: 100% !important; height: 100% !important; max-width: none; }
.ou-hover-video__player { opacity: 0; transition: opacity .3s ease; }
.ou-hover-video.is-playing .ou-hover-video__player { opacity: 1; }
.ou-hover-video-host { position: relative; overflow: hidden; isolation: isolate; }
.ou-hover-video-host::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(8,9,11,.93), rgba(8,9,11,.28) 62%, rgba(8,9,11,.08));
}
@media (max-width: 767px) {
  .ou-hover-video-host::after { background: linear-gradient(0deg, rgba(8,9,11,.94), rgba(8,9,11,.18) 80%); }
}
@media (prefers-reduced-motion: reduce), (hover: none) {
  .ou-hover-video__player { opacity: 0 !important; transition: none; }
}

/* Capability media: preserve the existing inset-to-full-card enlargement. */
.ou-capability-video-row > .ou-hover-video {
  position: absolute; inset: 10px; z-index: 0;
  width: calc(100% - 20px); height: calc(100% - 20px);
  max-width: none; opacity: 1; transform: scale(1);
  transition: inset .55s cubic-bezier(.22,.61,.36,1), width .55s cubic-bezier(.22,.61,.36,1), height .55s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.2,.8,.2,1), filter .5s;
}
.ou-capability-video-row:hover > .ou-hover-video,
.ou-capability-video-row:focus-within > .ou-hover-video {
  inset: 0; width: 100%; height: 100%; transform: scale(1.035);
}
.ou-capability-video-row:hover > .ou-hover-video { filter: saturate(.88) brightness(.9); }
@media (prefers-reduced-motion: reduce) {
  .ou-capability-video-row > .ou-hover-video { transition: none; }
}

/* Without a poster, keep the paused opening frame visible. */
.ou-hover-video.has-video-frame .ou-hover-video__player { opacity: 1 !important; }

/* Complete clone-safe capability card styling: Elementor clears IDs on duplication. */
body .elementor .ou-capability-video-row {
  grid-column: span 1; min-width: 0; min-height: clamp(390px,42vw,540px);
  overflow: hidden; isolation: isolate; cursor: default;
  position: relative !important; display: flex !important;
  flex-direction: column !important; justify-content: flex-end !important;
  align-items: stretch !important; gap: 16px !important;
  padding: clamp(28px,3.4vw,52px) !important;
}
body .elementor .ou-capability-video-row::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(rgba(7,10,14,.16) 10%,rgba(7,10,14,.38) 48%,rgba(7,10,14,.94) 100%);
  pointer-events: none; transition: background .5s;
}
body .elementor .ou-capability-video-row:hover::after {
  background: linear-gradient(rgba(7,10,14,.12) 8%,rgba(7,10,14,.32) 44%,rgba(7,10,14,.97) 100%);
}
body .elementor .ou-capability-video-row > .ou-capability-title,
body .elementor .ou-capability-video-row > .ou-capability-description {
  position: relative; z-index: 2; margin: 0 !important;
}
body .elementor .ou-capability-video-row > .ou-capability-title {
  color: #fff !important; transform: translateY(52px);
  transition: transform .48s cubic-bezier(.22,.61,.36,1) !important;
}
body .elementor .ou-capability-video-row > .ou-capability-description {
  max-width: 38rem; color: rgba(255,255,255,.72) !important;
  opacity: 0; transform: translateY(24px);
  transition: opacity .38s .04s, transform .48s cubic-bezier(.22,.61,.36,1) .04s !important;
}
body .elementor .ou-capability-video-row:is(:hover,:focus-within) > .ou-capability-title,
body .elementor .ou-capability-video-row:is(:hover,:focus-within) > .ou-capability-description {
  opacity: 1; transform: translateY(0);
}
@media (max-width:1024px) {
  body .elementor .ou-capability-video-row { min-height:420px; grid-column:span 1 !important; }
}
@media (max-width:767px) {
  body .elementor .ou-capability-video-row { min-height:360px; grid-column:span 1 !important; }
  body .elementor .ou-capability-video-row > .ou-capability-title,
  body .elementor .ou-capability-video-row > .ou-capability-description { opacity:1; transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  body .elementor .ou-capability-video-row > .ou-capability-title,
  body .elementor .ou-capability-video-row > .ou-capability-description { transition:none !important; }
}
