.elementor-30 .elementor-element.elementor-element-547742d{--display:flex;--padding-top:50px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}body.elementor-page-30:not(.elementor-motion-effects-element-type-background), body.elementor-page-30 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}@media(min-width:768px){.elementor-30 .elementor-element.elementor-element-547742d{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-547742d *//* CONTENEDOR BASE */
.elementor-30 .elementor-element.elementor-element-547742d {
  position: relative;
  overflow: hidden;
}

/* CUADRÍCULA + FOCOS + ANIMACIONES */
.elementor-30 .elementor-element.elementor-element-547742d::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 220vw;
  height: 220vh;
  transform: translate(-50%, -50%);
  z-index: 0;
  pointer-events: none;

  /* Cuadrícula base */
  background-image:
    linear-gradient(rgba(0,0,0,0.75) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.75) 1px, transparent 1px);
  background-size: 70px 70px;
  background-position: center;

  /* FOCOS: solo se ven zonas concretas */
  mask-image:
    radial-gradient(circle at 30% 40%, black 0%, transparent 60%),
    radial-gradient(circle at 100% 60%, black 0%, transparent 70%),
    radial-gradient(circle at 50% 50%, black 0%, transparent 50%);
  -webkit-mask-image:
    radial-gradient(circle at 30% 40%, black 0%, transparent 60%),
    radial-gradient(circle at 100% 60%, black 0%, transparent 70%),
    radial-gradient(circle at 50% 50%, black 0%, transparent 50%);

  mask-composite: intersect;
  -webkit-mask-composite: source-in;

  opacity: 0.55;
  filter: hue-rotate(0deg);

  /* 🔥 Animación: movimiento + cambio de color + pulso tipo waveform */
  animation: risonerGridWave 26s ease-in-out infinite;
}

/* PARALLAX SUAVE EN HOVER */
.elementor-30 .elementor-element.elementor-element-547742d:hover::before {
  transform: translate(-50%, -52%) scale(1.04);
}

/* WAVEFORM + MOVIMIENTO DE FOCOS + COLOR SHIFT */
@keyframes risonerGridWave {
  0% {
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
    opacity: 0.4;
    mask-position: 0% 0%;
    -webkit-mask-position: 0% 0%;
    filter: hue-rotate(0deg);
  }
  20% {
    transform: translate(-50%, -51%) scale(1.05) rotate(0.5deg);
    opacity: 0.7;
    mask-position: 8% 4%;
    -webkit-mask-position: 8% 4%;
    filter: hue-rotate(90deg);
  }
  40% {
    transform: translate(-50%, -49%) scale(0.98) rotate(-0.5deg);
    opacity: 0.35;
    mask-position: 14% 10%;
    -webkit-mask-position: 14% 10%;
    filter: hue-rotate(160deg);
  }
  60% {
    transform: translate(-50%, -51%) scale(1.07) rotate(1deg);
    opacity: 0.75;
    mask-position: 22% 16%;
    -webkit-mask-position: 22% 16%;
    filter: hue-rotate(230deg);
  }
  80% {
    transform: translate(-50%, -50%) scale(0.97) rotate(-0.6deg);
    opacity: 0.4;
    mask-position: 10% 6%;
    -webkit-mask-position: 10% 6%;
    filter: hue-rotate(300deg);
  }
  100% {
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
    opacity: 0.55;
    mask-position: 0% 0%;
    -webkit-mask-position: 0% 0%;
    filter: hue-rotate(360deg);
  }
}

/* NOISE OVERLAY SUAVE */
.elementor-30 .elementor-element.elementor-element-547742d::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.15;
  mix-blend-mode: soft-light;

  /* Ruido generado con gradientes (sin imágenes externas) */
  background-image:
    repeating-linear-gradient(45deg,
      rgba(255,255,255,0.05) 0,
      rgba(255,255,255,0.05) 1px,
      transparent 1px,
      transparent 3px
    ),
    repeating-linear-gradient(-45deg,
      rgba(0,0,0,0.25) 0,
      rgba(0,0,0,0.25) 1px,
      transparent 1px,
      transparent 4px
    );
}

/* Contenido por encima de todo */
.elementor-30 .elementor-element.elementor-element-547742d > * {
  position: relative;
  z-index: 2;
}/* End custom CSS */