/* ============================================================
   THE APPRENTICE — character overlays

   Alpha WebM clips dropped on top of the page. They carry a real alpha
   channel (VP9 yuva420p), so there is no plate to hide and no blend-mode
   trickery — they sit over whatever is behind them like a transparent PNG.
   ============================================================ */

.cast{
  position:absolute;top:34%;z-index:5;
  width:var(--w,220px);
  pointer-events:none;
  opacity:0;transform:translateY(28px) scale(.94);
  transition:opacity .6s var(--ease),transform .7s var(--ease);
}
.cast.in{opacity:1;transform:none}
/* Flush to the edge, fully on screen, drawn over the content. */
.cast.left{left:6px}
.cast.right{right:6px}

.cast video,.cast img{
  display:block;width:100%;height:auto;
  /* low-poly cast: smooth, see css/core.css */
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.75));
}
/* A slow bob so a five-second loop does not read as a repeating stutter. */
.cast.in video,.cast.in img{animation:castBob 5.5s ease-in-out infinite}
@keyframes castBob{50%{transform:translateY(-10px)}}

/* Narrow enough and there is no edge left to stand on at all. */
@media (max-width:1100px){ .cast{--w:120px} }
@media (max-width:820px){ .cast{display:none} }
@media (prefers-reduced-motion:reduce){
  .cast{transition:none}
  .cast.in video,.cast.in img{animation:none}
}
