.gf-demo-video {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 20px;
  background: #08111f;
  box-shadow: 0 16px 44px rgba(8, 17, 31, 0.14);
}
.gf-demo-video-poster,
.gf-demo-video-poster picture,
.gf-demo-video-poster img,
.gf-demo-video iframe {
  display: block;
  width: 100%;
  height: 100%;
}
.gf-demo-video-poster { position: relative; }
.gf-demo-video-poster img { object-fit: contain; }
.gf-demo-video iframe { border: 0; }
.gf-demo-video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: #cf152d;
  color: #fff;
  font-size: 38px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
}
.gf-demo-video-label {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 5px 14px;
  border-radius: 30px;
  background: #08111f;
  color: #fff;
  font-size: 14px;
  white-space: nowrap;
}
.gf-demo-video-poster:hover .gf-demo-video-play { background: #a70f23; }
.gf-demo-video-poster:focus-visible { outline: 4px solid #0d6efd; outline-offset: -4px; }
@media (max-width: 575px) {
  .gf-demo-video { border-radius: 12px; }
  .gf-demo-video-play { width: 52px; height: 52px; font-size: 28px; }
  .gf-demo-video-label { bottom: 6px; padding: 2px 10px; font-size: 12px; }
}
