/* Decorative viewport layer. Canvas never intercepts Elementor controls. */
#francis-portfolio-sparkle-layer {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  pointer-events: none !important;
  z-index: 40 !important;
  opacity: 1;
  display: block;
}
@media (max-width: 960px), (prefers-reduced-motion: reduce) {
  #francis-portfolio-sparkle-layer { display: none !important; }
}
