/* Media sits directly on the page; only the video itself has a soft edge. */
.film-card {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.film-stage.video-shell,
.testimonial-card .video-shell {
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 12px;
  background: #05080c;
  isolation: isolate;
}
.workshop-privacy { padding: 14px 0 0; color: #9bacc2; }
.testimonial-grid { column-gap: 28px; row-gap: 40px; align-items: flex-start; }
.testimonial-card {
  position: relative;
  flex-basis: calc((100% - 56px) / 3);
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  box-shadow: none;
}
/* Native widescreen Vimeo thumbnails need no letterbox crop. */
.testimonial-card .video-load img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.testimonial-card .video-load::after { background: linear-gradient(180deg, transparent 55%, #0002); }
.video-play, .workshop-play .video-play {
  width: 58px;
  height: 58px;
  top: 50%;
  background: #ffffff20;
  border: 1px solid #ffffff80;
  color: #fff;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 2px 16px #0002;
  font-size: 19px;
}
.testimonial-caption {
  min-height: 62px;
  padding: 10px 0 0;
  gap: 12px;
}
.testimonial-caption h3 { font-size: 20px; font-weight: 500; letter-spacing: -.025em; }
.testimonial-caption > a {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #a9bbd5;
  font-weight: 400;
}
.testimonial-caption > a:hover { background: transparent; color: #fff; }
.video-controls {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  padding: 4px 0 0;
  border: 0;
  background: transparent;
}
.testimonial-caption .video-controls { margin-left: auto; padding: 0; }
.testimonial-caption:has(.video-controls) > a { display: none; }
.video-controls button {
  min-width: 44px;
  min-height: 44px;
  padding: 6px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #b5c6dd;
  font-size: 26px;
  font-weight: 400;
}
.video-controls button:hover { background: #ffffff0d; color: #fff; }
.media-service-note { margin-top: 30px; }
@media (hover: hover) and (pointer: fine) {
  .video-load:hover .video-play { background: #ffffff38; box-shadow: 0 2px 24px #0003; }
}
@media (max-width: 900px) {
  .testimonial-card { flex-basis: calc((100% - 28px) / 2); }
}
@media (max-width: 600px) {
  .testimonial-card { flex-basis: 100%; }
  .testimonial-grid { row-gap: 28px; }
  .film-stage.video-shell, .testimonial-card .video-shell { border-radius: 10px; }
  .workshop-overlay { display: none; }
  .workshop-play .video-play { width: 52px; height: 52px; }
  .workshop-location { padding: 4px 8px; }
}
