/* --------------------------------------------
   VISUALS.CSS — Canvas & atmospheric overlays
--------------------------------------------- */

.visual-stage {
  position: absolute;       /* obligatorio para los canvas superpuestos */
  inset: 0;
  filter: blur(0.2px);
  pointer-events: none;     /* PERO SOLO para el canvas visual */
}

/* Optional warm grain that can be toggled later */
.visual-grain {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.05;
  background-image: url('../assets/grain.png'); /* optional */
}