.clip,
.film {
  --clip-feather: 7%;
  -webkit-mask-image:
    linear-gradient(to right, transparent, #000 var(--clip-feather), #000 calc(100% - var(--clip-feather)), transparent),
    linear-gradient(to bottom, transparent, #000 var(--clip-feather), #000 calc(100% - var(--clip-feather)), transparent);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right, transparent, #000 var(--clip-feather), #000 calc(100% - var(--clip-feather)), transparent),
    linear-gradient(to bottom, transparent, #000 var(--clip-feather), #000 calc(100% - var(--clip-feather)), transparent);
  mask-composite: intersect;
}

.clip {
  position: relative;
  width: 100%;
  margin: 0;
  aspect-ratio: 16 / 10;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.clip video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.clip-pair {
  display: grid;
}

.clip-pair video {
  grid-area: 1 / 1;
  opacity: 0;
  transition: opacity 650ms var(--ease);
}

.clip-pair video:first-of-type {
  opacity: 1;
}

.clip-pair.is-enhanced video {
  opacity: 0;
}

.clip-pair.is-enhanced video.is-active {
  opacity: 1;
}

#agents .prov.is-lead,
#agents .prov.is-head {
  animation: provider-pop 220ms var(--ease);
}

#agents .prov.is-lead {
  border-color: var(--sage);
}

#agents .prov.is-head {
  border-color: var(--hair);
}

#agents .prov.is-lead img,
#agents .prov.is-head img {
  filter: grayscale(1);
  opacity: 1;
}

@keyframes provider-pop {
  from { transform: scale(.96); }
  to { transform: scale(1); }
}

.scene-guide {
  outline: 1px solid transparent;
  animation: scene-guidance 1.4s var(--ease) 2;
}

@keyframes scene-guidance {
  0%, 100% {
    outline-color: transparent;
    outline-offset: 3px;
  }
  50% {
    outline-color: var(--sage);
    outline-offset: 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #agents .prov,
  .scene-guide {
    animation: none !important;
  }

  #agents .prov {
    transition-property: opacity !important;
  }
}
