.elementor-86 .elementor-element.elementor-element-9381942{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-86 .elementor-element.elementor-element-9b5f998 img{width:450px;}.elementor-86 .elementor-element.elementor-element-c087f71{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}:root{--page-title-display:none;}/* Start custom CSS *//* Fondo animado orgánico para Elementor Pro (Contenedores nuevos) */
.e-con.e-parent {
  position: relative;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  overflow: hidden;
}

.e-con.e-parent::before,
.e-con.e-parent::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  opacity: 0.6;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

/* Primera mancha grande */
.e-con.e-parent::before {
  width: 400px;
  height: 350px;
  background: radial-gradient(circle, rgba(52, 58, 64, 0.15) 0%, rgba(52, 58, 64, 0.05) 70%, transparent 100%);
  top: -100px;
  left: -100px;
  animation: float-organic-1 12s infinite;
  transform-origin: center;
}

/* Segunda mancha mediana */
.e-con.e-parent::after {
  width: 300px;
  height: 280px;
  background: radial-gradient(ellipse 120% 80%, rgba(73, 80, 87, 0.12) 0%, rgba(73, 80, 87, 0.04) 60%, transparent 100%);
  bottom: -80px;
  right: -80px;
  animation: float-organic-2 15s infinite;
  transform-origin: center;
}

/* Manchas adicionales usando pseudo-elementos de contenedores hijo */
.e-con.e-parent .e-con-inner::before {
  content: '';
  position: absolute;
  width: 250px;
  height: 200px;
  background: radial-gradient(circle, rgba(108, 117, 125, 0.08) 0%, rgba(108, 117, 125, 0.03) 80%, transparent 100%);
  top: 50%;
  left: 20%;
  border-radius: 60% 40% 70% 30%;
  animation: float-organic-3 18s infinite;
  z-index: 0;
  pointer-events: none;
}

.e-con.e-parent .e-con-inner::after {
  content: '';
  position: absolute;
  width: 180px;
  height: 220px;
  background: radial-gradient(ellipse 90% 110%, rgba(134, 142, 150, 0.1) 0%, rgba(134, 142, 150, 0.02) 70%, transparent 100%);
  top: 20%;
  right: 30%;
  border-radius: 40% 60% 50% 70%;
  animation: float-organic-4 20s infinite;
  z-index: 0;
  pointer-events: none;
}

/* Animaciones orgánicas */
@keyframes float-organic-1 {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(1);
    border-radius: 60% 40% 30% 70%;
  }
  25% {
    transform: translate(30px, -20px) rotate(90deg) scale(1.1);
    border-radius: 50% 60% 70% 30%;
  }
  50% {
    transform: translate(60px, 10px) rotate(180deg) scale(0.9);
    border-radius: 30% 70% 40% 60%;
  }
  75% {
    transform: translate(20px, 40px) rotate(270deg) scale(1.05);
    border-radius: 70% 30% 60% 40%;
  }
  100% {
    transform: translate(-10px, 20px) rotate(360deg) scale(1);
    border-radius: 40% 60% 50% 50%;
  }
}

@keyframes float-organic-2 {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(1);
    border-radius: 40% 60% 70% 30%;
  }
  33% {
    transform: translate(-40px, -30px) rotate(120deg) scale(1.15);
    border-radius: 60% 40% 30% 70%;
  }
  66% {
    transform: translate(-20px, 30px) rotate(240deg) scale(0.85);
    border-radius: 30% 70% 60% 40%;
  }
  100% {
    transform: translate(10px, -10px) rotate(360deg) scale(1);
    border-radius: 70% 30% 40% 60%;
  }
}

@keyframes float-organic-3 {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(1);
    border-radius: 50% 50% 60% 40%;
  }
  20% {
    transform: translate(20px, -15px) rotate(72deg) scale(1.1);
    border-radius: 60% 40% 50% 50%;
  }
  40% {
    transform: translate(-15px, 25px) rotate(144deg) scale(0.9);
    border-radius: 40% 60% 70% 30%;
  }
  60% {
    transform: translate(35px, 5px) rotate(216deg) scale(1.05);
    border-radius: 70% 30% 40% 60%;
  }
  80% {
    transform: translate(-5px, -20px) rotate(288deg) scale(0.95);
    border-radius: 30% 70% 50% 50%;
  }
  100% {
    transform: translate(10px, 10px) rotate(360deg) scale(1);
    border-radius: 50% 50% 30% 70%;
  }
}

@keyframes float-organic-4 {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(1);
    border-radius: 70% 30% 50% 50%;
  }
  25% {
    transform: translate(-25px, 20px) rotate(90deg) scale(1.08);
    border-radius: 50% 50% 70% 30%;
  }
  50% {
    transform: translate(15px, -25px) rotate(180deg) scale(0.92);
    border-radius: 30% 70% 40% 60%;
  }
  75% {
    transform: translate(-10px, 15px) rotate(270deg) scale(1.12);
    border-radius: 60% 40% 30% 70%;
  }
  100% {
    transform: translate(5px, -5px) rotate(360deg) scale(1);
    border-radius: 40% 60% 50% 50%;
  }
}

/* Asegurar que el contenido esté por encima */
.e-con.e-parent .e-con-inner > .elementor-element {
  position: relative;
  z-index: 1;
}

/* Responsividad */
@media (max-width: 768px) {
  .e-con.e-parent::before {
    width: 300px;
    height: 250px;
  }
  
  .e-con.e-parent::after {
    width: 200px;
    height: 180px;
  }
  
  .e-con.e-parent .e-con-inner::before {
    width: 150px;
    height: 120px;
  }
  
  .e-con.e-parent .e-con-inner::after {
    width: 120px;
    height: 140px;
  }
}/* End custom CSS */