/* Burn reveal: media that grows out of the middle of its box through a noisy, colour-split burning edge (part.js,
   WebGL 1). The box sets the size; the burnt area is transparent, so put what should show through BEHIND the box. */
.burn {
  --burn-mask: #ffffff;      /* opaque mode only (data-burn-transparent="false"): the burnt area */
  --burn-edge: #000000;      /* opaque mode only: the band at the edge */
  position: relative;
  overflow: hidden;
}
.burn > .burn__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.burn > .burn__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; }
/* once the script runs, the element is only the texture source; the canvas draws it (opacity, not display/visibility,
   so a muted video keeps decoding) */
.burn-js .burn:not(.burn--plain) > .burn__media { opacity: 0; }
