/* News posts: the header image plays the post's video (Vimeo, privacy mode) */
.video-thumb { position: relative; display: block; margin: 0 0 2.75rem; border-radius: var(--r-lg); overflow: hidden; cursor: pointer; }
.video-thumb .hero-img { margin: 0; border-radius: 0; transition: transform 1s var(--ease-out), filter .4s; }
.video-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.28)); pointer-events: none; }
.video-thumb .play {
  position: absolute; z-index: 1; left: 50%; top: 50%; translate: -50% -50%;
  width: clamp(64px, 9vw, 92px); aspect-ratio: 1; border-radius: 50%;
  background: var(--brand); box-shadow: 0 12px 30px rgba(0,0,0,.28), 0 0 0 10px rgba(255,255,255,.28);
  display: grid; place-items: center; transition: scale .4s var(--ease-out);
}
.video-thumb .play::before { content: ""; margin-left: 9%; border-style: solid; border-width: 13px 0 13px 22px; border-color: transparent transparent transparent var(--brand-ink); }
.video-thumb .play-label { position: absolute; z-index: 1; left: 1.1rem; bottom: .9rem; color: #fff; font: 600 .9rem/1 var(--font); letter-spacing: .01em; text-shadow: 0 1px 6px rgba(0,0,0,.4); }
.video-thumb:hover .hero-img { transform: scale(1.02); }
.video-thumb:hover .play, .video-thumb:focus-visible .play { scale: 1.08; }
.video-thumb:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
.video-frame { position: relative; aspect-ratio: 16 / 9; margin: 0 0 2.75rem; border-radius: var(--r-lg); overflow: hidden; background: #000; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
