/* Malha digital revelada pelo cursor, sempre atrás do conteúdo. */
.fx-section { isolation: isolate; }
.cursor-mesh { display: none !important; }
.codex-grid {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

/* Mantém todo o conteúdo acima da malha de interação. */
.fx-section > .container,
.fx-section > .carousel,
.fx-section > .carousel + button,
.fx-section > .carousel ~ button { position: relative; z-index: 2; }
.fx-section .hero-content,
.fx-section .hero-vivi,
.fx-section .savtv-content,
.fx-section .savtv-card { position: relative; z-index: 2; }

/* A abertura promocional também usa a malha revelada pelo cursor. */
#inicio .codex-grid { display: block; }

@media (max-width: 760px), (prefers-reduced-motion: reduce) {
  .cursor-mesh { display: none; }
}
