.elementor-16299 .elementor-element.elementor-element-511c2d3{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:100px 100px;--row-gap:100px;--column-gap:100px;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10%;--padding-bottom:10%;--padding-left:0%;--padding-right:0%;}.elementor-16299 .elementor-element.elementor-element-92241a7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16299 .elementor-element.elementor-element-385c552{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16299 .elementor-element.elementor-element-1448a67{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16299 .elementor-element.elementor-element-7385538{width:auto;max-width:auto;background-color:#FFFFFF;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:none;}.elementor-16299 .elementor-element.elementor-element-7385538.elementor-element{--align-self:center;}.elementor-16299 .elementor-element.elementor-element-7385538.ha-has-bg-overlay:hover::before{transition:background 0.3s;}.elementor-16299 .elementor-element.elementor-element-c8ae480{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16299 .elementor-element.elementor-element-73ddbe4 .elementor-button:hover, .elementor-16299 .elementor-element.elementor-element-73ddbe4 .elementor-button:focus{background-color:#FFFFFF;color:#000000;}.elementor-16299 .elementor-element.elementor-element-73ddbe4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16299 .elementor-element.elementor-element-73ddbe4 .elementor-button{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;border-radius:0px 0px 0px 0px;padding:20px 25px 20px 25px;}.elementor-16299 .elementor-element.elementor-element-73ddbe4 .elementor-button:hover svg, .elementor-16299 .elementor-element.elementor-element-73ddbe4 .elementor-button:focus svg{fill:#000000;}.elementor-16299 .elementor-element.elementor-element-92ffbd3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16299 .elementor-element.elementor-element-91e30ed .elementor-button:hover, .elementor-16299 .elementor-element.elementor-element-91e30ed .elementor-button:focus{background-color:#000000;color:#FFFFFF;}.elementor-16299 .elementor-element.elementor-element-91e30ed .elementor-button{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;fill:#FFFFFF;color:#FFFFFF;border-radius:15px 15px 15px 15px;padding:10px 35px 10px 35px;}.elementor-16299 .elementor-element.elementor-element-91e30ed .elementor-button:hover svg, .elementor-16299 .elementor-element.elementor-element-91e30ed .elementor-button:focus svg{fill:#FFFFFF;}.elementor-16299 .elementor-element.elementor-element-f02804c:hover{--e-transform-scale:1.05;}.elementor-16299 .elementor-element.elementor-element-f02804c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:none;}.elementor-16299 .elementor-element.elementor-element-ea4f93b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16299 .elementor-element.elementor-element-48b0eea .elementor-button{font-family:"Aldrich", Sans-serif;font-size:15px;font-weight:400;border-radius:9px 9px 9px 9px;padding:10px 15px 10px 15px;}.elementor-16299 .elementor-element.elementor-element-93022da{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16299 .elementor-element.elementor-element-28d9d28 .elementor-button{background-color:#000000;font-family:"Poppins", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;letter-spacing:2px;fill:#FFFFFF;color:#FFFFFF;border-radius:0px 0px 0px 0px;padding:20px 20px 20px 20px;}.elementor-16299 .elementor-element.elementor-element-28d9d28 .elementor-button:hover, .elementor-16299 .elementor-element.elementor-element-28d9d28 .elementor-button:focus{color:#FFFFFF;}.elementor-16299 .elementor-element.elementor-element-28d9d28 .elementor-button:hover svg, .elementor-16299 .elementor-element.elementor-element-28d9d28 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-16299 .elementor-element.elementor-element-23e4cde .elementor-button{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#00FFEA;border-radius:8px 8px 8px 8px;padding:10px 30px 10px 30px;}.elementor-16299 .elementor-element.elementor-element-23e4cde .elementor-button:hover, .elementor-16299 .elementor-element.elementor-element-23e4cde .elementor-button:focus{color:#FFFFFF;}.elementor-16299 .elementor-element.elementor-element-23e4cde .elementor-button:hover svg, .elementor-16299 .elementor-element.elementor-element-23e4cde .elementor-button:focus svg{fill:#FFFFFF;}.elementor-16299 .elementor-element.elementor-element-e01329e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16299 .elementor-element.elementor-element-e01329e .elementor-button{fill:#FFFFFF;color:#FFFFFF;border-radius:0px 0px 0px 0px;padding:25px 25px 25px 25px;}.elementor-16299 .elementor-element.elementor-element-e01329e .elementor-button:hover, .elementor-16299 .elementor-element.elementor-element-e01329e .elementor-button:focus{color:#00FF77;}.elementor-16299 .elementor-element.elementor-element-e01329e .elementor-button:hover svg, .elementor-16299 .elementor-element.elementor-element-e01329e .elementor-button:focus svg{fill:#00FF77;}.elementor-16299 .elementor-element.elementor-element-bd7ae3a .elementor-button{font-family:"Poppins", Sans-serif;font-size:15px;border-radius:2px 2px 2px 2px;padding:10px 15px 10px 15px;}.elementor-16299 .elementor-element.elementor-element-c58da28 .elementor-button{background-color:#E3FF00;font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:1.5px;fill:#000000;color:#000000;border-style:none;border-radius:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-16299 .elementor-element.elementor-element-c58da28 .elementor-button:hover, .elementor-16299 .elementor-element.elementor-element-c58da28 .elementor-button:focus{color:#000000;}.elementor-16299 .elementor-element.elementor-element-c58da28 .elementor-button:hover svg, .elementor-16299 .elementor-element.elementor-element-c58da28 .elementor-button:focus svg{fill:#000000;}.elementor-16299 .elementor-element.elementor-element-abfc6f1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:100px 100px;--row-gap:100px;--column-gap:100px;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10%;--padding-bottom:10%;--padding-left:0%;--padding-right:0%;}.elementor-16299 .elementor-element.elementor-element-87e4c79{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16299 .elementor-element.elementor-element-87e4c79 .elementor-button{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:700;letter-spacing:1px;fill:#FFFFFF;color:#FFFFFF;border-radius:100px 100px 100px 100px;padding:20px 40px 20px 40px;}.elementor-16299 .elementor-element.elementor-element-87e4c79 .elementor-button:hover, .elementor-16299 .elementor-element.elementor-element-87e4c79 .elementor-button:focus{color:#FFFFFF;}.elementor-16299 .elementor-element.elementor-element-87e4c79 .elementor-button:hover svg, .elementor-16299 .elementor-element.elementor-element-87e4c79 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-16299 .elementor-element.elementor-element-7558464 .elementor-button{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:5px;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:6px 6px 6px 6px;border-color:#FFFFFF;border-radius:0px 0px 0px 0px;padding:10px 25px 10px 25px;}.elementor-16299 .elementor-element.elementor-element-7558464 .elementor-button:hover, .elementor-16299 .elementor-element.elementor-element-7558464 .elementor-button:focus{color:#FFFFFF;}.elementor-16299 .elementor-element.elementor-element-7558464 .elementor-button:hover svg, .elementor-16299 .elementor-element.elementor-element-7558464 .elementor-button:focus svg{fill:#FFFFFF;}body.elementor-page-16299:not(.elementor-motion-effects-element-type-background), body.elementor-page-16299 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#07090E;}/* Start custom CSS for html, class: .elementor-element-92241a7 *//* Botón Eliminar Aislado */
.btn-eliminar {
  width: 50px;
  height: 50px;
  border-radius: 6px;
  background-color: rgb(2, 255, 119);
  border: none;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition-duration: 0.3s;
  overflow: hidden;
  position: relative;
  gap: 3px;
}

.btn-eliminar .btn-eliminar-bin-top,
.btn-eliminar .btn-eliminar-bin-bottom {
  width: 12px; /* tamaño inicial antes del hover */
  transition-duration: 0.3s;
}

.btn-eliminar .svgIcon path {
  fill: white;
}

.btn-eliminar:hover {
  width: 140px;
  border-radius: 6px;
  transition-duration: 0.3s;
  background-color: rgb(0, 255, 119);
  align-items: center;
  gap: 0;
}

.btn-eliminar:hover .btn-eliminar-bin-bottom {
  width: 50px;
  transition-duration: 0.3s;
  transform: translateY(60%);
}

.btn-eliminar-bin-top {
  transform-origin: bottom right;
}

.btn-eliminar:hover .btn-eliminar-bin-top {
  width: 50px;
  transition-duration: 0.3s;
  transform: translateY(60%) rotate(160deg);
}

.btn-eliminar::before {
  position: absolute;
  top: -20px;
  content: "Delete";
  color: white;
  transition-duration: 0.3s;
  font-size: 2px;
}

.btn-eliminar:hover::before {
  font-size: 14px;
  color: #000;
  opacity: 1;
  transform: translateY(35px);
  transition-duration: 0.3s;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-51f91ac *//* Botón aislado "letrasalto" */
.letrasalto,
.letrasalto * {
  border: 0 solid;
  box-sizing: border-box;
}

.letrasalto {
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: button;
  background-color: #000;
  color: #fff;
  cursor: pointer;
  font-family: 'poppins';
  font-size: 18px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  border: 1px solid;
  border-radius: 0px;
  display: block;
  font-weight: 700;
  overflow: hidden;
  padding: 0.8rem 3rem;
  position: relative;
  text-transform: uppercase;
}

.letrasalto:disabled {
  cursor: default;
}

.letrasalto .letrasalto-original {
  background: #fff;
  color: #000;
  display: grid;
  inset: 0;
  place-content: center;
  position: absolute;
  transition: transform 0.2s cubic-bezier(0.87, 0, 0.13, 1);
}

.letrasalto:hover .letrasalto-original {
  transform: translateY(100%);
}

.letrasalto .letrasalto-letters {
  display: inline-flex;
}

.letrasalto span {
  opacity: 0;
  transform: translateY(-15px);
  transition: transform 0.2s cubic-bezier(0.87, 0, 0.13, 1), opacity 0.2s;
}

.letrasalto span:nth-child(2n) {
  transform: translateY(15px);
}

.letrasalto:hover span {
  opacity: 1;
  transform: translateY(0);
}

.letrasalto:hover span:nth-child(2) { transition-delay: 0.1s; }
.letrasalto:hover span:nth-child(3) { transition-delay: 0.2s; }
.letrasalto:hover span:nth-child(4) { transition-delay: 0.3s; }
.letrasalto:hover span:nth-child(5) { transition-delay: 0.4s; }
.letrasalto:hover span:nth-child(6) { transition-delay: 0.5s; }

/* Cambio de color de texto al hacer hover (opcional) */
.letrasalto:hover .letrasalto-letters span {
  color: #fff; /* cambia por el color que quieras */
}

.letrasalto:hover {
  background-color: #000; /* reemplaza #ff0000 por el color que quieras */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-045e5a8 *//* Botón .boton-com aislado */
.boton-com,
.boton-com * ,
.boton-com :after,
.boton-com :before,
.boton-com:after,
.boton-com:before {
  border: 0 solid;
  box-sizing: border-box;
}

.boton-com {
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: button;
  background-color: #000;
  color: #fff;
  cursor: pointer;
  padding: 0.8rem 3rem;
  font-weight: 700;
  text-transform: uppercase;
  display: inline-block;
  border-radius: 0px;
  position: relative;
  overflow: hidden;
  font-family: 'poppins';
  font-size: 100%;
  line-height: 1.5;
  margin: 0;
  border: 1px solid;
}

.boton-com:disabled {
  cursor: default;
}

.boton-com:-moz-focusring {
  outline: auto;
}

.boton-com .boton-com-original {
  background: #fff;
  color: #000;
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  transition: transform 0.2s cubic-bezier(0.87, 0, 0.13, 1);
}

.boton-com:hover .boton-com-original {
  transform: translateY(100%);
}

.boton-com .boton-com-letters {
  display: flex;
  justify-content: center;
  height: 100%;
}

.boton-com span {
  opacity: 0;
  transform: translateY(-15px);
  transition: opacity 0.2s, transform 0.2s cubic-bezier(0.87, 0, 0.13, 1);
}

/* Aparece al hover */
.boton-com:hover span {
  opacity: 1;
  transform: translateY(0);
  /* Color de la fuente al hacer hover */
  color: #fff;
}

.boton-com:hover {
    background-color: #000; /* Cambia #ff0000 por el color que quieras */
}

/* Retardos para efecto escalonado */
.boton-com:hover span:nth-child(1) { transition-delay: 0.1s; }
.boton-com:hover span:nth-child(2) { transition-delay: 0.2s; }
.boton-com:hover span:nth-child(3) { transition-delay: 0.3s; }
.boton-com:hover span:nth-child(4) { transition-delay: 0.4s; }
.boton-com:hover span:nth-child(5) { transition-delay: 0.5s; }
.boton-com:hover span:nth-child(6) { transition-delay: 0.6s; }
.boton-com:hover span:nth-child(7) { transition-delay: 0.7s; }
.boton-com:hover span:nth-child(8) { transition-delay: 0.8s; }
.boton-com:hover span:nth-child(9) { transition-delay: 0.9s; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-385c552 *//* Botón cortediagonal */
.cortediagonal,
.cortediagonal * ,
.cortediagonal :after,
.cortediagonal :before,
.cortediagonal:after,
.cortediagonal:before {
  border: 0 solid;
  box-sizing: border-box;
}

.cortediagonal {
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: button;
  background-color: #000;
  background-image: none;
  color: #fff;
  cursor: pointer;
  font-family: 'poppins';
  font-size: 100%;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  -webkit-mask-image: -webkit-radial-gradient(#000, #fff);
  padding: 0;
  text-transform: uppercase;
  border-radius: 0rem;
  border-width: 2px;
  padding: 0.8rem 3rem;
  z-index: 0;
  overflow: hidden;
  position: relative;
}

.cortediagonal:hover .cortediagonal-text {
  color: #fff; /* cambia este valor al color que quieras */
}

.cortediagonal:disabled {
  cursor: default;
}

.cortediagonal:-moz-focusring {
  outline: auto;
}

.cortediagonal svg {
  display: block;
  vertical-align: middle;
}

.cortediagonal [hidden] {
  display: none;
}

.cortediagonal .cortediagonal-text-container {
  display: block;
  overflow: hidden;
  position: relative;
  mix-blend-mode: difference;
}

.cortediagonal .cortediagonal-text {
  display: block;
  position: relative;
}

.cortediagonal:hover .cortediagonal-text {
  -webkit-animation: cortediagonal-move-up 0.3s forwards;
  animation: cortediagonal-move-up 0.3s forwards;
}

@-webkit-keyframes cortediagonal-move-up {
  0% { transform: translateY(0); }
  50% { transform: translateY(80%); }
  51% { transform: translateY(-80%); }
  100% { transform: translateY(0); }
}

@keyframes cortediagonal-move-up {
  0% { transform: translateY(0); }
  50% { transform: translateY(80%); }
  51% { transform: translateY(-80%); }
  100% { transform: translateY(0); }
}

.cortediagonal:after,
.cortediagonal:before {
  --skew: 0.2;
  background: #fff;
  content: "";
  display: block;
  height: 102%;
  pointer-events: none;
  position: absolute;
  top: -104%;
  transform: skew(calc(150deg * var(--skew))) translateY(var(--progress, 0));
  transition: transform 0.2s ease;
  width: 100%;
}

.cortediagonal:after {
  --progress: 0%;
  left: calc(50% + 50% * var(--skew));
  top: 102%;
  z-index: -1;
}

.cortediagonal:before {
  left: calc(-50% - 50% * var(--skew));
}

.cortediagonal:hover:before {
  --progress: 100%;
}

.cortediagonal:hover:after {
  --progress: -102%;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1448a67 *//* === botonencaje (AISLADO) === */
.botonencaje {
  display: flex;
}

/* caja por letra */
.botonencaje__box {
  width: 35px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'poppins';
  font-size: 18px;
  font-weight: 700;
  color: #000;
  transition: all .8s;
  cursor: pointer;
  position: relative;
  background: #FFF;
  overflow: hidden;
}

/* pseudo-elemento que muestra la letra alternativa (WORLD) */
.botonencaje__box::before {
  content: "S";
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  width: 100%;
  color: #fff;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(100%);
  transition: transform .4s;
}

/* reproducir exactamente las mismas transformaciones y contenidos que el original */
.botonencaje__box:nth-child(2)::before {
  transform: translateY(-100%);
  content: 'H';
}
.botonencaje__box:nth-child(3)::before {
  content: 'A';
}
.botonencaje__box:nth-child(4)::before {
  transform: translateY(-100%);
  content: 'D';
}
.botonencaje__box:nth-child(5)::before {
  content: 'O';
}
.botonencaje__box:nth-child(6)::before {
  content: 'U';
}

/* hover global: las "before" suben y muestran WORLD */
.botonencaje:hover .botonencaje__box::before {
  transform: translateY(0);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9d964f6 */.botonestilonoticias,
.botonestilonoticias *,
.botonestilonoticias :after,
.botonestilonoticias :before,
.botonestilonoticias:after,
.botonestilonoticias:before {
  border: 0 solid;
  box-sizing: border-box;
}

.botonestilonoticias {
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: button;
  background-color: #000;
  color: #fff;
  cursor: pointer;
  font-family: 'poppins';
  font-size: 100%;
  font-weight: 900;
  line-height: 1.5;
  margin: 0;
  -webkit-mask-image: -webkit-radial-gradient(#000, #fff);
  padding: 0;
  border-radius: 99rem;
  border-width: 2px;
  overflow: hidden;
  padding: 1.5rem 4rem;
  position: relative;
}

.botonestilonoticias:disabled {
  cursor: default;
}

.botonestilonoticias:-moz-focusring {
  outline: auto;
}

.botonestilonoticias svg {
  display: block;
  vertical-align: middle;
}

.botonestilonoticias [hidden] {
  display: none;
}

/* Text & Marquee */
.botonestilonoticias span {
  display: grid;
  inset: 0;
  place-items: center;
  position: absolute;
  transition: opacity 0.2s ease;
}

.botonestilonoticias-marquee {
  --spacing: 5em;
  --start: 0em;
  --end: 5em;
  animation: botonestilonoticias-marqueeAnim 1s linear infinite;
  animation-play-state: paused;
  opacity: 0;
  position: relative;
  text-shadow: #fff var(--spacing) 0, #fff calc(var(--spacing) * -1) 0,
               #fff calc(var(--spacing) * -2) 0;
}

.botonestilonoticias:hover .botonestilonoticias-marquee {
  animation-play-state: running;
  opacity: 1;
}

.botonestilonoticias:hover .botonestilonoticias-text {
  opacity: 0;
}

/* Keyframes */
@keyframes botonestilonoticias-marqueeAnim {
  0% { transform: translateX(var(--start)); }
  100% { transform: translateX(var(--end)); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2ffa03d */.letrassaltantesminimal,
.letrassaltantesminimal *,
.letrassaltantesminimal:after,
.letrassaltantesminimal:before {
  border: none;
  box-sizing: border-box;
}

.letrassaltantesminimal {
  scale: 0.8;
  -webkit-tap-highlight-color: transparent;
  background-color: #000;
  color: #fff;
  font-family:
    ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif,
    Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  cursor: pointer;
  font-size: 100%;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  border: 1px solid;
  border-radius: 999px;
  display: block;
  font-weight: 900;
  overflow: hidden;
  padding: 1.2rem 3rem;
  position: relative;
  text-transform: uppercase;
}

.letrassaltantesminimal:disabled {
  cursor: default;
}

.letrassaltantesminimal:-moz-focusring {
  outline: auto;
}

.letrassaltantesminimal .letrassaltantesminimal-original {
  background: #ffffff;
  color: #000;
  display: grid;
  inset: 0;
  place-content: center;
  position: absolute;
  transition: transform 0.3s cubic-bezier(0.87, 0, 0.13, 1);
}

.letrassaltantesminimal:hover .letrassaltantesminimal-original {
  transform: translateY(100%);
}

.letrassaltantesminimal-letters {
  display: inline-flex;
}

.letrassaltantesminimal span {
  opacity: 0;
  transform: translateY(-15px);
  transition:
    transform 0.3s cubic-bezier(0.87, 0, 0.13, 1),
    opacity 0.3s;
}

.letrassaltantesminimal span:nth-child(2n) {
  transform: translateY(15px);
}

.letrassaltantesminimal:hover span {
  opacity: 1;
  transform: translateY(0);
}

.letrassaltantesminimal:hover span:nth-child(2) {
  transition-delay: 0.1s;
}

.letrassaltantesminimal:hover span:nth-child(3) {
  transition-delay: 0.2s;
}

.letrassaltantesminimal:hover span:nth-child(4) {
  transition-delay: 0.3s;
}

.letrassaltantesminimal:hover span:nth-child(5) {
  transition-delay: 0.4s;
}

.letrassaltantesminimal:hover span:nth-child(6) {
  transition-delay: 0.5s;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e2260cd *//* Colores de variantes */
.botonmoda-button.type--A {
  --line_color: #555555;
  --back_color: #ffecf6;
}
.botonmoda-button.type--B {
  --line_color: #1b1919;
  --back_color: #e9ecff;
}
.botonmoda-button.type--C {
  --line_color: #00135c;
  --back_color: #defffa;
}

/* Botón principal */
.botonmoda-button {
  position: relative;
  z-index: 0;
  width: 240px;
  height: 56px;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  color: var(--line_color);
  letter-spacing: 2px;
  transition: all 0.3s ease;
}
.botonmoda-text {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

/* Líneas decorativas */
.botonmoda-button::before,
.botonmoda-button::after,
.botonmoda-text::before,
.botonmoda-text::after {
  content: "";
  position: absolute;
  height: 3px;
  border-radius: 2px;
  background: var(--line_color);
  transition: all 0.5s ease;
}
.botonmoda-button::before {
  top: 0;
  left: 54px;
  width: calc(100% - 56px * 2 - 16px);
}
.botonmoda-button::after {
  top: 0;
  right: 54px;
  width: 8px;
}
.botonmoda-text::before {
  bottom: 0;
  right: 54px;
  width: calc(100% - 56px * 2 - 16px);
}
.botonmoda-text::after {
  bottom: 0;
  left: 54px;
  width: 8px;
}

/* Líneas laterales */
.botonmoda-line {
  position: absolute;
  top: 0;
  width: 56px;
  height: 100%;
  overflow: hidden;
}
.botonmoda-line::before {
  content: "";
  position: absolute;
  top: 0;
  width: 150%;
  height: 100%;
  box-sizing: border-box;
  border-radius: 300px;
  border: solid 3px var(--line_color);
}
.botonmoda-line:nth-child(1),
.botonmoda-line:nth-child(1)::before {
  left: 0;
}
.botonmoda-line:nth-child(2),
.botonmoda-line:nth-child(2)::before {
  right: 0;
}

/* Hover efectos */
.botonmoda-button:hover {
  letter-spacing: 6px;
}
.botonmoda-button:hover::before,
.botonmoda-button:hover .botonmoda-text::before {
  width: 8px;
}
.botonmoda-button:hover::after,
.botonmoda-button:hover .botonmoda-text::after {
  width: calc(100% - 56px * 2 - 16px);
}

/* Animaciones de los "drow" */
.botonmoda-drow1,
.botonmoda-drow2 {
  position: absolute;
  z-index: -1;
  border-radius: 16px;
  transform-origin: 16px 16px;
}
.botonmoda-drow1 {
  top: -16px;
  left: 40px;
  width: 32px;
  height: 0;
  transform: rotate(30deg);
}
.botonmoda-drow2 {
  top: 44px;
  left: 77px;
  width: 32px;
  height: 0;
  transform: rotate(-127deg);
}
.botonmoda-drow1::before,
.botonmoda-drow1::after,
.botonmoda-drow2::before,
.botonmoda-drow2::after {
  content: "";
  position: absolute;
}
.botonmoda-drow1::before {
  bottom: 0;
  left: 0;
  width: 0;
  height: 32px;
  border-radius: 16px;
  transform-origin: 16px 16px;
  transform: rotate(-60deg);
}
.botonmoda-drow1::after {
  top: -10px;
  left: 45px;
  width: 0;
  height: 32px;
  border-radius: 16px;
  transform-origin: 16px 16px;
  transform: rotate(69deg);
}
.botonmoda-drow2::before {
  bottom: 0;
  left: 0;
  width: 0;
  height: 32px;
  border-radius: 16px;
  transform-origin: 16px 16px;
  transform: rotate(-146deg);
}
.botonmoda-drow2::after {
  bottom: 26px;
  left: -40px;
  width: 0;
  height: 32px;
  border-radius: 16px;
  transform-origin: 16px 16px;
  transform: rotate(-262deg);
}

/* Color de fondo de animación */
.botonmoda-drow1,
.botonmoda-drow1::before,
.botonmoda-drow1::after,
.botonmoda-drow2,
.botonmoda-drow2::before,
.botonmoda-drow2::after {
  background: var(--back_color);
}

/* Animaciones hover */
.botonmoda-button:hover .botonmoda-drow1 {
  animation: botonmoda-drow1 ease-in 0.06s forwards;
}
.botonmoda-button:hover .botonmoda-drow1::before {
  animation: botonmoda-drow2 linear 0.08s 0.06s forwards;
}
.botonmoda-button:hover .botonmoda-drow1::after {
  animation: botonmoda-drow3 linear 0.03s 0.14s forwards;
}
.botonmoda-button:hover .botonmoda-drow2 {
  animation: botonmoda-drow4 linear 0.06s 0.2s forwards;
}
.botonmoda-button:hover .botonmoda-drow2::before {
  animation: botonmoda-drow3 linear 0.03s 0.26s forwards;
}
.botonmoda-button:hover .botonmoda-drow2::after {
  animation: botonmoda-drow5 linear 0.06s 0.32s forwards;
}

/* Keyframes */
@keyframes botonmoda-drow1 {
  0% { height: 0; }
  100% { height: 100px; }
}
@keyframes botonmoda-drow2 {
  0% { width: 0; opacity: 0; }
  10% { opacity: 0; }
  11% { opacity: 1; }
  100% { width: 120px; }
}
@keyframes botonmoda-drow3 { 0% { width: 0; } 100% { width: 80px; } }
@keyframes botonmoda-drow4 { 0% { height: 0; } 100% { height: 120px; } }
@keyframes botonmoda-drow5 { 0% { width: 0; } 100% { width: 124px; } }

/* Centrar contenedor */
.botonmoda-container {
  width: 100%;
  height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.botonmoda-button:not(:last-child) {
  margin-bottom: 64px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c0a80ed *//* Botón aislado: crazybtn */
.crazybtn,
.crazybtn * {
  border: 0 solid;
  box-sizing: border-box;
}

.crazybtn {
  position: relative;
  padding: 15px 30px;
  font-size: 24px;
  font-weight: 500;
  border: none;
  border-radius: 0px;
  cursor: pointer;
  background: #fff;
  color: #000;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-family: Arial, sans-serif;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
  overflow: hidden;
  transition: all 0.15s ease;
}

.crazybtn-glitch-layers {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.crazybtn-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50px;
  opacity: 0;
  transition: all 0.15s ease;
}

.crazybtn .layer-1 { color: #0ff; transform-origin: center; }
.crazybtn .layer-2 { color: #f0f; transform-origin: center; }

.crazybtn-noise {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: repeating-radial-gradient(circle at 50% 50%, transparent 0, rgba(0,0,0,0.1) 1px, transparent 2px);
  pointer-events: none;
  opacity: 0;
  animation: crazybtn-noise 0.2s steps(2) infinite;
  transition: opacity 0.3s;
}

.crazybtn-slice {
  position: absolute;
  width: 120%;
  height: 5px;
  background: #fff;
  opacity: 0;
  animation: crazybtn-slice 3s linear infinite;
}

/* Hover Effects */
.crazybtn:hover .layer-1 { opacity: 1; animation: crazybtn-layer1 0.4s steps(2) infinite; }
.crazybtn:hover .layer-2 { opacity: 1; animation: crazybtn-layer2 0.4s steps(2) infinite; }
.crazybtn:hover { animation: crazybtn-buttonGlitch 0.3s steps(2) infinite; box-shadow: 0 0 20px rgba(255,255,255,0.5), 0 0 30px rgba(0,255,255,0.5), 0 0 40px rgba(255,0,255,0.5); }
.crazybtn:hover .crazybtn-noise { opacity: 1; }

/* Keyframes */
@keyframes crazybtn-buttonGlitch {
  0% { transform: translate(0) scale(1.1); }
  25% { transform: translate(-10px,5px) scale(1.15) skew(-5deg); }
  50% { transform: translate(10px,-5px) scale(1.1) skew(5deg); }
  75% { transform: translate(-15px,-5px) scale(1.05) skew(-3deg); }
  100% { transform: translate(0) scale(1.1); }
}

@keyframes crazybtn-layer1 {
  0% { transform: translate(-20px,-10px) scale(1.1) skew(-10deg); clip-path: polygon(0 20%,100% 20%,100% 50%,0 50%); }
  25% { transform: translate(20px,10px) scale(1.2) skew(10deg); clip-path: polygon(0 30%,100% 30%,100% 60%,0 60%); }
  50% { transform: translate(-15px,5px) scale(0.9) skew(-5deg); clip-path: polygon(0 10%,100% 10%,100% 40%,0 40%); }
  75% { transform: translate(15px,-5px) scale(1.3) skew(5deg); clip-path: polygon(0 40%,100% 40%,100% 70%,0 70%); }
  100% { transform: translate(-20px,-10px) scale(1.1) skew(-10deg); clip-path: polygon(0 20%,100% 20%,100% 50%,0 50%); }
}

@keyframes crazybtn-layer2 {
  0% { transform: translate(20px,10px) scale(1.1) skew(10deg); clip-path: polygon(0 50%,100% 50%,100% 80%,0 80%); }
  25% { transform: translate(-20px,-10px) scale(1.2) skew(-10deg); clip-path: polygon(0 60%,100% 60%,100% 90%,0 90%); }
  50% { transform: translate(15px,-5px) scale(0.9) skew(5deg); clip-path: polygon(0 40%,100% 40%,100% 70%,0 70%); }
  75% { transform: translate(-15px,5px) scale(1.3) skew(-5deg); clip-path: polygon(0 70%,100% 70%,100% 100%,0 100%); }
  100% { transform: translate(20px,10px) scale(1.1) skew(10deg); clip-path: polygon(0 50%,100% 50%,100% 80%,0 80%); }
}

@keyframes crazybtn-noise {
  0% { transform: translate(0,0); }
  10% { transform: translate(-5%,-5%); }
  20% { transform: translate(10%,5%); }
  30% { transform: translate(-5%,10%); }
  40% { transform: translate(15%,-5%); }
  50% { transform: translate(-10%,15%); }
  60% { transform: translate(5%,-10%); }
  70% { transform: translate(-15%,5%); }
  80% { transform: translate(10%,10%); }
  90% { transform: translate(-5%,15%); }
  100% { transform: translate(0,0); }
}

@keyframes crazybtn-slice {
  0% { top: -10%; opacity: 0; }
  1% { opacity: 0.5; }
  3% { opacity: 0; }
  50% { top: 110%; }
  100% { top: 110%; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7385538 *//* === BOTÓN AISLADO: botminimal1 === */
.botminimal1-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Estilo base del botón */
.botminimal1 {
  width: 150px;
  height: 50px;
  background-color: white;
  margin: 0px;
  color: #568fa6;
  position: relative;
  overflow: hidden;
  font-size: 14px;
  letter-spacing: 1px;
  font-weight: 600;
  text-transform: uppercase;
  transition: all 0.3s ease;
  cursor: pointer;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0px;
}

/* Líneas exteriores */
.botminimal1::before,
.botminimal1::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  background-color: #44d8a4;
  transition: all 0.3s cubic-bezier(0.35, 0.1, 0.25, 1);
}

.botminimal1::before {
  right: 0;
  top: 0;
  transition: all 0.5s cubic-bezier(0.35, 0.1, 0.25, 1);
}

.botminimal1::after {
  left: 0;
  bottom: 0;
}

/* Capas internas */
.botminimal1 span {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  padding: 0;
  z-index: 1;
}

.botminimal1 span::before,
.botminimal1 span::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 0;
  background-color: #44d8a4;
  transition: all 0.3s cubic-bezier(0.35, 0.1, 0.25, 1);
}

.botminimal1 span::before {
  right: 0;
  top: 0;
  transition: all 0.5s cubic-bezier(0.35, 0.1, 0.25, 1);
}

.botminimal1 span::after {
  left: 0;
  bottom: 0;
}

/* Texto dinámico */
.botminimal1 p {
  padding: 0;
  margin: 0;
  transition: all 0.4s cubic-bezier(0.35, 0.1, 0.25, 1);
  position: absolute;
  width: 100%;
  height: 100%;
}

.botminimal1 p::before,
.botminimal1 p::after {
  position: absolute;
  width: 100%;
  transition: all 0.4s cubic-bezier(0.35, 0.1, 0.25, 1);
  z-index: 1;
  left: 0;
}

.botminimal1 p::before {
  content: attr(data-title);
  top: 50%;
  transform: translateY(-50%);
}

.botminimal1 p::after {
  content: attr(data-text);
  top: 150%;
  color: #44d8a4;
}

/* Hover */
.botminimal1:hover::before,
.botminimal1:hover::after {
  width: 100%;
}

.botminimal1:hover span {
  z-index: 1;
}

.botminimal1:hover span::before,
.botminimal1:hover span::after {
  height: 100%;
}

.botminimal1:hover p::before {
  top: -50%;
  transform: rotate(5deg);
}

.botminimal1:hover p::after {
  top: 50%;
  transform: translateY(-50%);
}

/* Estado "start" (cuando se activa con JavaScript opcional) */
.botminimal1.start {
  background-color: #44d8a4;
  box-shadow: 0px 5px 10px -10px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
}

.botminimal1.start p::before {
  top: -50%;
  transform: rotate(5deg);
}

.botminimal1.start p::after {
  color: white;
  transition: all 0s ease;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c8ae480 *//* Botón aislado botonsorpresa */
.botonsorpresa-container {
  --botonsorpresa-color: #d8ff7c;
  --botonsorpresa-corner-color: #0002;
  --botonsorpresa-corner-dist: 24px;
  --botonsorpresa-corner-multiplier: 1.5;
  --botonsorpresa-timing: cubic-bezier(0,0,0,2.5);
  --botonsorpresa-duration: 250ms;

  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.botonsorpresa-btn {
  position: relative;
  min-width: 160px;
  min-height: calc(var(--botonsorpresa-corner-dist) * 2);
  border-radius: 0px;
  border: none;
  padding: 0.25em 1em;

  background: linear-gradient(#fff2, #0001), var(--botonsorpresa-color);
  box-shadow:
    1px 1px 2px -1px #fff inset,
    0 2px 1px #00000010,
    0 4px 2px #00000010,
    0 8px 4px #00000010,
    0 16px 8px #00000010,
    0 32px 16px #00000010;

  transition:
    transform var(--botonsorpresa-duration) var(--botonsorpresa-timing),
    filter var(--botonsorpresa-duration) var(--botonsorpresa-timing);
  cursor: pointer;
}

.botonsorpresa-drawer {
  position: absolute;
  display: flex;
  justify-content: center;
  min-height: 32px;
  border-radius: 0px;
  border: none;
  padding: 0.25em 1em;
  font-size: 0.8rem;
  font-weight: 600;
  font-family: "Poppins";
  color: #0009;

  background: linear-gradient(#fff2, #0001), var(--botonsorpresa-color);
  background-color: #fbff13;
  opacity: 0;

  transition:
    transform calc(0.5 * var(--botonsorpresa-duration)) ease,
    filter var(--botonsorpresa-duration) var(--botonsorpresa-timing),
    opacity calc(0.5 * var(--botonsorpresa-duration)) ease;
  filter: blur(2px);
}

.botonsorpresa-top {
  top: 0;
  left: 0;
  border-radius: 0px 0px 0 0;
  align-items: start;
}

.botonsorpresa-bottom {
  bottom: 0;
  right: 0;
  border-radius: 0 0 0px 0px;
  align-items: end;
}

.botonsorpresa-text {
  display: inline-block;
  font-size: 1rem;
  font-family: "Syne", "Poppins", "Inter", sans-serif;
  font-weight: 600;
  color: #5550;

  background-image: linear-gradient(#444, #000a);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 0 #fff6) drop-shadow(0 -1px 0 #0006);

  transition:
    transform var(--botonsorpresa-duration) var(--botonsorpresa-timing),
    filter var(--botonsorpresa-duration) var(--botonsorpresa-timing),
    color var(--botonsorpresa-duration) var(--botonsorpresa-timing);
}

.botonsorpresa-corner {
  position: absolute;
  width: 32px;
  fill: none;
  stroke: var(--botonsorpresa-corner-color);

  transition:
    transform var(--botonsorpresa-duration) var(--botonsorpresa-timing),
    filter var(--botonsorpresa-duration) var(--botonsorpresa-timing);
}

.botonsorpresa-corner:nth-of-type(1) {
  top: 0;
  left: 0;
  transform: translate(
      calc(-1 * var(--botonsorpresa-corner-dist)),
      calc(-1 * var(--botonsorpresa-corner-dist))
    )
    rotate(90deg);
}
.botonsorpresa-corner:nth-of-type(2) {
  top: 0;
  right: 0;
  transform: translate(var(--botonsorpresa-corner-dist), calc(-1 * var(--botonsorpresa-corner-dist))) rotate(180deg);
}
.botonsorpresa-corner:nth-of-type(3) {
  bottom: 0;
  right: 0;
  transform: translate(var(--botonsorpresa-corner-dist), var(--botonsorpresa-corner-dist)) rotate(-90deg);
}
.botonsorpresa-corner:nth-of-type(4) {
  bottom: 0;
  left: 0;
  transform: translate(calc(-1 * var(--botonsorpresa-corner-dist)), var(--botonsorpresa-corner-dist)) rotate(0deg);
}

/* Hover & Focus */
.botonsorpresa-container:has(.botonsorpresa-btn:hover),
.botonsorpresa-container:has(.botonsorpresa-btn:focus-visible) {
  --botonsorpresa-corner-color: #0004;
}
.botonsorpresa-container:has(.botonsorpresa-btn:hover) .botonsorpresa-btn,
.botonsorpresa-container:has(.botonsorpresa-btn:focus-visible) .botonsorpresa-btn {
  transform: scale(1.05);
  filter: drop-shadow(0 16px 16px #0002);
}
.botonsorpresa-container:has(.botonsorpresa-btn:hover) .botonsorpresa-top,
.botonsorpresa-container:has(.botonsorpresa-btn:focus-visible) .botonsorpresa-top {
  transform: translateY(-24px) rotateZ(4deg);
  filter: blur(0px);
  animation: botonsorpresa-hue 3s infinite linear;
  opacity: 1;
}
.botonsorpresa-container:has(.botonsorpresa-btn:hover) .botonsorpresa-bottom,
.botonsorpresa-container:has(.botonsorpresa-btn:focus-visible) .botonsorpresa-bottom {
  transform: translateY(24px) rotateZ(4deg);
  filter: blur(0px);
  animation: botonsorpresa-hue 3s infinite linear;
  opacity: 1;
}
.botonsorpresa-container:has(.botonsorpresa-btn:hover) .botonsorpresa-text,
.botonsorpresa-container:has(.botonsorpresa-btn:focus-visible) .botonsorpresa-text {
  transform: scale(1.05);
  color: #0008;
  filter: drop-shadow(0 1px 0 #fff6) drop-shadow(0 -1px 0 #0006) drop-shadow(0px 6px 2px #0003);
}

/* Active */
.botonsorpresa-container:has(.botonsorpresa-btn:active) .botonsorpresa-btn {
  transform: scale(0.95);
  filter: drop-shadow(0 10px 4px #0002);
}
.botonsorpresa-container:has(.botonsorpresa-btn:active) .botonsorpresa-top,
.botonsorpresa-container:has(.botonsorpresa-btn:active) .botonsorpresa-bottom {
  transform: translateY(0px) scale(0.5);
}
.botonsorpresa-container:has(.botonsorpresa-btn:active) .botonsorpresa-text {
  transform: scale(1);
  color: #000a;
}

/* Animations */
@keyframes botonsorpresa-hue {
  0%, 100% { filter: hue-rotate(0deg); }
  50% { filter: hue-rotate(-70deg); }
}
@-webkit-keyframes botonsorpresa-hue {
  0%, 100% { -webkit-filter: hue-rotate(0deg); }
  50% { -webkit-filter: hue-rotate(-70deg); }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-73ddbe4 *//* === Botón Elementor: botonsobresaliente === */

/* Selector principal para Elementor */
.elementor-button.botonsobresaliente,
.botonsobresaliente .elementor-button,
.elementor-widget-button .elementor-button.botonsobresaliente {
  background-color: white;
  color: black;
  border-radius: 10em;
  font-size: 17px;
  font-weight: 600;
  padding: 1em 2em;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  border: 1px solid black;
  box-shadow: 0 0 0 0 black;
}

/* Hover */
.elementor-button.botonsobresaliente:hover,
.botonsobresaliente .elementor-button:hover,
.elementor-widget-button .elementor-button.botonsobresaliente:hover {
  transform: translateY(-4px) translateX(-2px);
  box-shadow: 3px 6px 0 0 black;
}

/* Active / clic */
.elementor-button.botonsobresaliente:active,
.botonsobresaliente .elementor-button:active,
.elementor-widget-button .elementor-button.botonsobresaliente:active {
  transform: translateY(2px) translateX(1px);
  box-shadow: 0 0 0 0 black;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-92ffbd3 *//* Botón aislado - clase: .flechaycirculo */
.flechaycirculo {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  width: 12rem;
  height: auto;
}

.flechaycirculo .flechaycirculo-circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 3rem;
  height: 3rem;
  background: #282936;
  border-radius: 1.625rem;
}

.flechaycirculo .flechaycirculo-circle .flechaycirculo-icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}

.flechaycirculo .flechaycirculo-circle .flechaycirculo-icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 0.625rem;
  width: 1.125rem;
  height: 0.125rem;
  background: none;
}

.flechaycirculo .flechaycirculo-circle .flechaycirculo-icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.29rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #fff;
  border-right: 0.125rem solid #fff;
  transform: rotate(45deg);
}

.flechaycirculo .flechaycirculo-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.75rem 0;
  margin: 0 0 0 1.85rem;
  color: #282936;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-transform: none;
}

.flechaycirculo:hover .flechaycirculo-circle {
  width: 100%;
}

.flechaycirculo:hover .flechaycirculo-circle .flechaycirculo-icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}

.flechaycirculo:hover .flechaycirculo-text {
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-91e30ed *//* Selector principal para Elementor */
.elementor-button.botonsalido,
.botonsalido .elementor-button,
.elementor-widget-button .elementor-button.botonsalido {
  font-size: 1rem;
  padding: 0.8em 2em;
  background-color: #000;
  border: 3px solid yellow;
  border-radius: 1em;
  color: #fff;
  font-weight: bolder;
  transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  box-shadow: -5px 5px 0px 0px yellow;
}

/* Hover */
.elementor-button.botonsalido:hover,
.botonsalido .elementor-button:hover,
.elementor-widget-button .elementor-button.botonsalido:hover {
  transform: translate(5px, -5px);
    border: 3px solid yellow;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f02804c *//* Botón Realismo Aislado */
.btn-realismo {
  cursor: pointer;
  font-size: 1rem;
  border-radius: 100px;
  border: none;
  padding: 3px;
  background: radial-gradient(circle 80px at 80% -10%, #ffffff, #181b1b);
  position: relative;
}

.btn-realismo::after {
  content: "";
  position: absolute;
  width: 65%;
  height: 60%;
  border-radius: 100px;
  top: 0;
  right: 0;
  box-shadow: 0 0 20px #ffffff38;
  z-index: -1;
}

/* Blob 1 */
.btn-realismo-blob1 {
  position: absolute;
  width: 70px;
  height: 100%;
  border-radius: 100px;
  bottom: 0;
  left: 0;
  background: radial-gradient(circle 60px at 0% 100%, #3fe9ff, #0000ff80, transparent);
  box-shadow: -10px 10px 30px #0051ff2d;
}

/* Blob 2 (agregada para consistencia, aunque estaba vacío en HTML original) */
.btn-realismo-blob2 {
  position: absolute;
}

/* Inner */
.btn-realismo-inner {
  padding: 15px 40px;
  border-radius: 100px;
  color: #fff;
  z-index: 3;
  position: relative;
  background: radial-gradient(circle 80px at 80% -50%, #777777, #0f1111);
}

.btn-realismo-inner::before {
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 100px;
  background: radial-gradient(circle 60px at 0% 100%, #00e1ff1a, #0000ff11, transparent);
  position: absolute;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ea4f93b *//* === BOTÓN AISLADO: botonup3d === */
.botonup3d {
  transform: rotate(-25deg) skew(25deg);
  transform-style: preserve-3d;
  position: relative;
  list-style: none;
  width: 130PX;
  height: 40px;
  border: none;
  background: transparent;
  font-family: 'poppins';
  cursor: pointer;
}

.botonup3d span {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* caras inferiores y laterales */
.botonup3d::before {
  content: '';
  position: absolute;
  bottom: -10px;
  left: -5px;
  width: 100%;
  height: 10px;
  background: #2a2a2a;
  transform: skewX(-41deg);
}

.botonup3d::after {
  content: '';
  position: absolute;
  top: 5px;
  left: -9px;
  width: 9px;
  height: 100%;
  background: #4c4c4c;
  transform: skewY(-49deg);
}

/* capas del texto */
.botonup3d span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  color: #fff;
  font-size: 25px;
  transition: 1.1s ease-out;
}

/* hover principal */
.botonup3d:hover span {
  z-index: 1000;
  transition: .3s;
  color: #001D1A;
}

/* capas que se mueven con efecto 3D */
.botonup3d:hover span:nth-child(5) {
  transform: translate(40px, -40px);
  opacity: 1;
}

.botonup3d:hover span:nth-child(4) {
  transform: translate(30px, -30px);
  opacity: .8;
}

.botonup3d:hover span:nth-child(3) {
  transform: translate(20px, -20px);
  opacity: .6;
}

.botonup3d:hover span:nth-child(2) {
  transform: translate(10px, -10px);
  opacity: .4;
}

.botonup3d:hover span:nth-child(1) {
  transform: translate(0px, 0px);
  opacity: .2;
}

/* efecto cuando se hace clic */
.botonup3d:active span:nth-child(5) {
  transform: translate(20px, -20px);
  opacity: 1;
}
.botonup3d:active span:nth-child(4) {
  transform: translate(15px, -15px);
}
.botonup3d:active span:nth-child(3) {
  transform: translate(10px, -10px);
}
.botonup3d:active span:nth-child(2) {
  transform: translate(5px, -5px);
}
.botonup3d:active span:nth-child(1) {
  transform: translate(0px, 0px);
}

/* color de fondo animado al hacer hover */
.botonup3d:hover span {
  background: #00FF77;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-48b0eea *//* Clase que asignarás al botón de Elementor: codboton */

/* Botón base */
.elementor-button.codboton,
.codboton .elementor-button,
.elementor-button.codboton.elementor-button {
  --btn-default-bg: #010314;
  --btn-padding: 15px 20px;
  --btn-hover-bg: rgb(51, 51, 51);
  --btn-transition: .3s;
  --btn-letter-spacing: .1rem;
  --btn-animation-duration: 1.2s;
  --btn-shadow-color: rgba(0, 0, 0, 0.137);
  --btn-shadow: 0 2px 10px 0 var(--btn-shadow-color);
  --hover-btn-color: #7241FF;
  --default-btn-color: #fff;
  --font-size: 16px;
  --font-weight: 600;
  --font-family: Menlo, Roboto Mono, monospace;

  box-sizing: border-box;
  padding: var(--btn-padding);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--default-btn-color);
  font: var(--font-weight) var(--font-size) var(--font-family);
  background: var(--btn-default-bg);
  cursor: pointer;
  transition: var(--btn-transition);
  overflow: hidden;
  box-shadow: var(--btn-shadow);
  border-radius: 10px;
  border: 2px solid #2A2B3A;
  position: relative;
}

/* Texto del botón */
.elementor-button.codboton span,
.codboton .elementor-button span,
.elementor-button.codboton.elementor-button span {
  letter-spacing: var(--btn-letter-spacing);
  transition: var(--btn-transition);
  box-sizing: border-box;
  position: relative;
  background: inherit;
}

.elementor-button.codboton span::before,
.codboton .elementor-button span::before,
.elementor-button.codboton.elementor-button span::before {
  box-sizing: border-box;
  position: absolute;
  content: "";
  background: inherit;
}

/* Hover del botón */
.elementor-button.codboton:hover,
.codboton .elementor-button:hover,
.elementor-button.codboton.elementor-button:hover,
.elementor-button.codboton:focus,
.codboton .elementor-button:focus,
.elementor-button.codboton.elementor-button:focus {
  background: var(--btn-default-bg);
  box-shadow: 0px 0px 10px 0px rgba(119, 68, 255, 0.70);
  border: 2px solid #7241FF;
}

.elementor-button.codboton:hover span,
.codboton .elementor-button:hover span,
.elementor-button.codboton.elementor-button:hover span,
.elementor-button.codboton:focus span,
.codboton .elementor-button:focus span,
.elementor-button.codboton.elementor-button:focus span {
  color: var(--hover-btn-color);
}

.elementor-button.codboton:hover span::before,
.codboton .elementor-button:hover span::before,
.elementor-button.codboton.elementor-button:hover span::before,
.elementor-button.codboton:focus span::before,
.codboton .elementor-button:focus span::before,
.elementor-button.codboton.elementor-button:focus span::before {
  animation: chitchat linear both var(--btn-animation-duration);
}

/* Animación de glitch */
@keyframes chitchat {
  0% { content: "#"; }
  5% { content: "."; }
  10% { content: "^{"; }
  15% { content: "-!"; }
  20% { content: "#$_"; }
  25% { content: "№:0"; }
  30% { content: "#{+."; }
  35% { content: "@}-?"; }
  40% { content: "?{4@%"; }
  45% { content: "=.,^!"; }
  50% { content: "?2@%"; }
  55% { content: "\;1}]"; }
  60% { content: "?{%:%"; right: 0; }
  65% { content: "|{f[4"; right: 0; }
  70% { content: "{4%0%"; right: 0; }
  75% { content: "'1_0<"; right: 0; }
  80% { content: "{0%"; right: 0; }
  85% { content: "]>'"; right: 0; }
  90% { content: "4"; right: 0; }
  95% { content: "2"; right: 0; }
  100% { content: ""; right: 0; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-93022da *//* === AISLAMIENTO TOTAL DEL ELEMENTO radaranimado === */
.radaranimado {
  position: relative;
  width: 150px;
  height: 150px;
  background: transparent;
  border-radius: 50%;
  box-shadow: 25px 25px 75px rgba(0, 0, 0, 0.55);
  border: 1px solid #333;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* círculo interior */
.radaranimado::before {
  content: '';
  position: absolute;
  inset: 20px;
  background: transparent;
  border: 1px dashed #444;
  border-radius: 50%;
  box-shadow:
    inset -5px -5px 25px rgba(0, 0, 0, 0.25),
    inset 5px 5px 35px rgba(0, 0, 0, 0.25);
}

/* círculo central */
.radaranimado::after {
  content: '';
  position: absolute;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px dashed #444;
  box-shadow:
    inset -5px -5px 25px rgba(0, 0, 0, 0.25),
    inset 5px 5px 35px rgba(0, 0, 0, 0.25);
}

/* barra del radar */
.radaranimado span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  height: 100%;
  background: transparent;
  transform-origin: top left;
  animation: radaranimado_spin 2s linear infinite;
  border-top: 1px dashed #fff;
}

/* haz del radar */
.radaranimado span::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: seagreen;
  transform-origin: top left;
  transform: rotate(-55deg);
  filter: blur(30px) drop-shadow(20px 20px 20px seagreen);
}

/* animación de giro */
@keyframes radaranimado_spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-28d9d28 *//* === BOTÓN AISLADO PARA ELEMENTOR === */
/* Clase asignable: .squamoderno */

.squamoderno .elementor-button,
.elementor-button.squamoderno,
.squamoderno.elementor-button {
  position: relative;
  display: inline-block;
  border: none;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s ease;
}

/* ::before efecto de iluminación */
.squamoderno .elementor-button::before,
.elementor-button.squamoderno::before,
.squamoderno.elementor-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.226);
  z-index: -1;
  transition: transform 0.5s;
  transform-origin: bottom right;
  transform: scale(0);
}

/* Hover para ::before */
.squamoderno .elementor-button:hover::before,
.elementor-button.squamoderno:hover::before,
.squamoderno.elementor-button:hover::before {
  transform-origin: top left;
  transform: scale(1);
}

/* ::after borde dinámico */
.squamoderno .elementor-button::after,
.elementor-button.squamoderno::after,
.squamoderno.elementor-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  border: 1px solid #fff;
  box-sizing: border-box;
  z-index: -1;
  transition: transform 0.5s;
  transform-origin: bottom right;
  transform: scale(1);
}

/* Hover para ::after */
.squamoderno .elementor-button:hover::after,
.elementor-button.squamoderno:hover::after,
.squamoderno.elementor-button:hover::after {
  transform-origin: top left;
  transform: scale(0);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-23e4cde */.luzcreciente .elementor-button,
.elementor-button.luzcreciente,
.luzcreciente.elementor-button {
  display: inline-block;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  z-index: 1;
  padding: 0.8em 2em;
  cursor: pointer;
  box-shadow: 0 0 20px rgba(0, 255, 234, 0.5);
}

/* Efecto presionado */
.luzcreciente .elementor-button:active,
.elementor-button.luzcreciente:active,
.luzcreciente.elementor-button:active {
  color: #ffffff;
  box-shadow: inset 0 0 10px rgba(0, 255, 234, 0.7);
}

/* Capas brillantes (::before y ::after) */
.luzcreciente .elementor-button::before,
.elementor-button.luzcreciente::before,
.luzcreciente.elementor-button::before,
.luzcreciente .elementor-button::after,
.elementor-button.luzcreciente::after,
.luzcreciente.elementor-button::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 255, 234, 0.2);
  z-index: -1;
  transform: scale(0);
  transition: transform 0.5s;
  border-radius: inherit;
}

/* Delay individual */
.luzcreciente .elementor-button::before,
.elementor-button.luzcreciente::before,
.luzcreciente.elementor-button::before {
  transition-delay: 0s;
}

.luzcreciente .elementor-button::after,
.elementor-button.luzcreciente::after,
.luzcreciente.elementor-button::after {
  transition-delay: 0.25s;
}

/* Hover brillante */
.luzcreciente .elementor-button:hover::before,
.elementor-button.luzcreciente:hover::before,
.luzcreciente.elementor-button:hover::before,
.luzcreciente .elementor-button:hover::after,
.elementor-button.luzcreciente:hover::after,
.luzcreciente.elementor-button:hover::after {
  transform: scale(1.2);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-e01329e *//* Botón estilo "Start" adaptado a Elementor */
.elementor-button.botoncuadros,
.botoncuadros .elementor-button,
.botoncuadros .elementor-button:link,
.botoncuadros .elementor-button:visited {
  --main-color: rgb(46, 213, 115);
  --main-bg-color: rgba(46, 213, 116, 0.36);
  --pattern-color: rgba(46, 213, 116, 0.073);

  filter: hue-rotate(0deg);

  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5rem;

  /* Fondos y patrones */
  background: 
    radial-gradient(circle, var(--main-bg-color) 0%, rgba(0,0,0,0) 95%),
    linear-gradient(var(--pattern-color) 1px, transparent 1px),
    linear-gradient(to right, var(--pattern-color) 1px, transparent 1px);
  background-size: cover, 15px 15px, 15px 15px;
  background-position: center center, center center, center center;

  border-width: 1px 0 1px 0;
  border-style: solid;
  border-image: radial-gradient(circle, var(--main-color) 0%, rgba(0,0,0,0) 100%) 1;

  color: var(--main-color);
  padding: 1rem 3rem;
  font-weight: 700;
  font-size: 1.5rem;

  transition: background-size 0.2s ease-in-out;
}

/* Hover */
.elementor-button.botoncuadros:hover,
.botoncuadros .elementor-button:hover {
  background-size: cover, 10px 10px, 10px 10px;
}

/* Active */
.elementor-button.botoncuadros:active,
.botoncuadros .elementor-button:active {
  filter: hue-rotate(250deg);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bd7ae3a *//* === BOTÓN ANIMADO FUTURISTA (adaptado para Elementor) === */
/* Clase: .nextanimadofuturista */
/* Compatible con todos los .elementor-16299 .elementor-element.elementor-element-bd7ae3aes posibles de Elementor */

.elementor-button.nextanimadofuturista,
.nextanimadofuturista .elementor-button,
.elementor-button.nextanimadofuturista.elementor-button {
  display: flex;
  justify-content: center;
  align-items: center;
  color: transparent;
  text-transform: uppercase;
  border: 0.1vw solid rgb(50, 50, 50);
  box-shadow:
    0 0 0.5vw black,
    0 0 0.5vw 0.1vw transparent,
    0vw 0 2vw -0.5vw black,
    0vw 0 2vw -0.5vw black,
    0 -1vw 1vw -1vw transparent inset;
  padding: 0.4vw 0.55vw;
  width: 8vw;
  height: 2vw;
  border-radius: 0.2vw;
  cursor: pointer;
  text-shadow: 0.05vw 0 0 white;
  font-size: 0.8vw;
  position: relative;
  overflow: hidden;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  font-family: Arial, sans-serif;
  letter-spacing: 0.2vw;
  transition: 0.5s;
}

.elementor-button.nextanimadofuturista::after,
.nextanimadofuturista .elementor-button::after,
.elementor-button.nextanimadofuturista.elementor-button::after {
  content: "next";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  color: transparent;
  text-shadow: 1.8vw 1.8vw 1.2vw white;
  text-transform: uppercase;
  font-size: 0.8vw;
  letter-spacing: 5.2vw;
  transition: 0.5s;
}

.elementor-button.nextanimadofuturista:hover::after,
.nextanimadofuturista .elementor-button:hover::after,
.elementor-button.nextanimadofuturista.elementor-button:hover::after,
.elementor-button.nextanimadofuturista:focus::after,
.nextanimadofuturista .elementor-button:focus::after,
.elementor-button.nextanimadofuturista.elementor-button:focus::after {
  letter-spacing: 0.28vw;
  text-shadow: 0.08vw 0vw 0 white;
}

.elementor-button.nextanimadofuturista::before,
.nextanimadofuturista .elementor-button::before,
.elementor-button.nextanimadofuturista.elementor-button::before {
  content: "next";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  color: transparent;
  text-shadow: 1.8vw -2vw 1.2vw white;
  text-transform: uppercase;
  font-size: 0.8vw;
  letter-spacing: 5.2vw;
  transition: 0.8s;
}

.elementor-button.nextanimadofuturista:hover::before,
.nextanimadofuturista .elementor-button:hover::before,
.elementor-button.nextanimadofuturista.elementor-button:hover::before,
.elementor-button.nextanimadofuturista:focus::before,
.nextanimadofuturista .elementor-button:focus::before,
.elementor-button.nextanimadofuturista.elementor-button:focus::before {
  letter-spacing: 0.28vw;
  text-shadow: 0.08vw 0vw 0.08vw white;
}

.elementor-button.nextanimadofuturista:hover,
.nextanimadofuturista .elementor-button:hover,
.elementor-button.nextanimadofuturista.elementor-button:hover,
.elementor-button.nextanimadofuturista:focus,
.nextanimadofuturista .elementor-button:focus,
.elementor-button.nextanimadofuturista.elementor-button:focus {
  box-shadow:
    0 0 2vw black,
    0 0 1.2vw 0.1vw black,
    4vw 0 2vw -0.5vw rgb(255, 0, 105),
    -4vw 0 2vw -0.5vw rgb(255, 0, 105),
    0 -1vw 1vw -1vw rgb(255, 0, 105) inset;
  transform: scale(1.15, 1.15);
  background: rgba(0, 0, 0, 0.2);
  font-size: 1.25vw;
  letter-spacing: 1.28vw;
  padding: 0.4vw 1vw;
  text-shadow: 0 0 2vw white;
  border-bottom: 0.1vw solid rgb(255, 0, 105);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c58da28 *//* === BOTÓN TIPO TECLADO (adaptado para Elementor) === */
/* Clase: .botontipoteclado */
/* Compatible con todas las estructuras de Elementor Button */

.elementor-button.botontipoteclado,
.botontipoteclado .elementor-button,
.elementor-button.botontipoteclado.elementor-button {
  width: 200px;
  height: 40px;
  background: #E3FF00;
  box-shadow: -6px 6px 0 0 hsl(60, 100%, 40%);
  border: none;
  outline: none;
  position: relative;
  font-size: 1.2rem;
  text-transform: uppercase;
  font-weight: bold;
  color: black;
  transition: all 0.1s ease-in-out;
}

/* Estado activo (efecto tecla presionada) */
.elementor-button.botontipoteclado:active,
.botontipoteclado .elementor-button:active,
.elementor-button.botontipoteclado.elementor-button:active {
  box-shadow: -3px 3px 0 0 hsl(60, 100%, 40%);
  top: 3px;
  left: -3px;
  background-color: hsl(60, 100%, 45%);
}

/* Lado izquierdo del borde tipo tecla */
.elementor-button.botontipoteclado::before,
.botontipoteclado .elementor-button::before,
.elementor-button.botontipoteclado.elementor-button::before {
  content: '';
  position: absolute;
  background: none;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-right: 6px solid hsl(60, 100%, 40%);
  border-left-width: 0;
  top: 0;
  left: -6px;
  transition: all 0.1s ease-in-out;
}

.elementor-button.botontipoteclado:active::before,
.botontipoteclado .elementor-button:active::before,
.elementor-button.botontipoteclado.elementor-button:active::before {
  border: 3px solid transparent;
  border-right: 3px solid hsl(60, 100%, 40%);
}

/* Lado inferior del borde tipo tecla */
.elementor-button.botontipoteclado::after,
.botontipoteclado .elementor-button::after,
.elementor-button.botontipoteclado.elementor-button::after {
  content: '';
  position: absolute;
  background: none;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-top: 6px solid hsl(60, 100%, 40%);
  border-bottom-width: 0;
  bottom: -6px;
  right: 0;
  transition: all 0.1s ease-in-out;
}

.elementor-button.botontipoteclado:active::after,
.botontipoteclado .elementor-button:active::after,
.elementor-button.botontipoteclado.elementor-button:active::after {
  border: 3px solid transparent;
  border-top: 3px solid hsl(60, 100%, 40%);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-92554c5 */.botonluzgiratoriainterna {
  position: relative;
  width: 200px;
  height: 60px;
  border: 2px solid #282828;
  border-radius: 5px;
  background-color: #212121;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow:
    0 4px 8px rgba(0, 0, 0, 0.5),
    inset 0 1px 3px rgba(255, 255, 255, 0.3);
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  transition:
    background-color 0.3s,
    color 0.3s,
    transform 0.2s;
}

.botonluzgiratoriainterna::before {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  right: 0;
  bottom: 100%;
  border-radius: 5px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.2) 0%,
    rgba(255, 255, 255, 0.1) 100%
  );
  z-index: 1;
  transition:
    top 0.5s ease-in-out,
    bottom 0.5s ease-in-out;
}

.botonluzgiratoriainterna:hover::before {
  top: 0;
  bottom: 0;
}

.botonluzgiratoriainterna:hover {
  background-color: #465243;
  color: #fff;
  transform: translateY(-5px);
}

.botonluzgiratoriainterna-icono {
  position: absolute;
  left: 20px;
  z-index: 5;
}

.botonluzgiratoriainterna-icono svg {
  width: 24px;
  height: 24px;
}

.botonluzgiratoriainterna-label {
  position: relative;
  z-index: 10;
}

.botonluzgiratoriainterna-loading {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  background-image: linear-gradient(
    -225deg,
    #ff7402 0%,
    #ffe700 50%,
    #fff55e 100%
  );
  filter: blur(20px);
  z-index: -1;
  animation: botonluzgiratoriainterna-animacion 0.8s linear infinite;
}

@keyframes botonluzgiratoriainterna-animacion {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1d5ce4e */.botonplayanimado {
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #3b2400;
  letter-spacing: 1px;
  padding: 0 12px;
  text-align: center;
  width: 120px;
  height: 40px;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: normal;
  border-radius: 3px;
  outline: none;
  user-select: none;
  cursor: pointer;
  transform: translateY(0px);
  position: relative;
  box-shadow:
    inset 0 30px 30px -15px rgba(255, 255, 255, 0.1),
    inset 0 0 0 1px rgba(255, 255, 255, 0.3),
    inset 0 1px 20px rgba(0, 0, 0, 0),
    0 3px 0 #3b2400,
    0 3px 2px rgba(0, 0, 0, 0.2),
    0 5px 10px rgba(0, 0, 0, 0.1),
    0 10px 20px rgba(0, 0, 0, 0.1);
  background: #e4941b;
  color: white;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
  transition: 150ms all ease-in-out;
}

.botonplayanimado-icon {
  margin-right: 8px;
  width: 24px;
  height: 24px;
  transition: all 0.5s ease-in-out;
}

.botonplayanimado:active {
  transform: translateY(3px);
  box-shadow:
    inset 0 16px 2px -15px rgba(0, 0, 0, 0),
    inset 0 0 0 1px rgba(255, 255, 255, 0.15),
    inset 0 1px 20px rgba(0, 0, 0, 0.1),
    0 0 0 #0f988e,
    0 0 0 2px rgba(255, 255, 255, 0.5),
    0 0 0 rgba(0, 0, 0, 0),
    0 0 0 rgba(0, 0, 0, 0);
}

.botonplayanimado:hover .botonplayanimado-texto {
  transform: translateX(80px);
}

.botonplayanimado:hover .botonplayanimado-icon {
  transform: translate(23px);
}

.botonplayanimado-texto {
  transition: all 0.5s ease-in-out;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0ea5ef8 */.botonflechadeslizante {
  background: #0000ff;
  color: #ffffff;
  font-family: inherit;
  padding: 0.35em;
  padding-left: 1.2em;
  font-size: 17px;
  font-weight: 500;
  border-radius: 0.9em;
  border: none;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-shadow: inset 0 0 1.6em -0.6em #0000ff;
  overflow: hidden;
  position: relative;
  height: 2.8em;
  padding-right: 3.3em;
  cursor: pointer;
  transition: all 0.3s ease;
}

.botonflechadeslizante .botonflechadeslizante-icono {
  background: #ffffff;
  margin-left: 1em;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.2em;
  width: 2.2em;
  border-radius: 0.7em;
  box-shadow: 0.1em 0.1em 0.6em 0.2em #0000ff;
  right: 0.3em;
  transition: all 0.3s ease;
}

.botonflechadeslizante .botonflechadeslizante-icono svg {
  width: 1.1em;
  transition: transform 0.3s ease;
  color: #0000ff;
}

.botonflechadeslizante:hover .botonflechadeslizante-icono {
  width: calc(100% - 0.6em);
}

.botonflechadeslizante:hover .botonflechadeslizante-icono svg {
  transform: translateX(0.1em);
}

.botonflechadeslizante:active .botonflechadeslizante-icono {
  transform: scale(0.95);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee9f4aa */.corneranimadoneon {
  padding: 20px 60px;
  background-color: #000;
  border: none;
  border-radius: 0PX;
  font-size: 18px;
  position: relative;
  transition: 500ms;
  cursor: pointer;
  overflow: hidden;
}

.corneranimadoneon-texto {
  color: white;
  position: relative;
  transition: 500ms;
  transition-delay: 500ms;
  font-size: 16px;
  font-family: 'poppins';
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
  z-index: 1;
}

.corneranimadoneon::before {
  content: '';
  position: absolute;
  width: 0%;
  height: 0%;
  left: 50%;
  right: 50%;
  top: 50%;
  bottom: 50%;
  transition: 500ms;
  transition-delay: 500ms;
  background-color: red;
  box-shadow: 0 0 10px red, 0 0 30px red, 0 0 50px red;
  z-index: 0;
}

.corneranimadoneon div {
  transition: 500ms;
  position: absolute;
  background-color: red;
  box-shadow: 0 0 15px red, 0 0 30px red, 0 0 50px red;
  z-index: 1;
}

/* Bordes animados */
.corneranimadoneon-top {
  width: 15px;
  height: 2px;
  top: 0;
  left: 0;
}

.corneranimadoneon-bottom {
  width: 15px;
  height: 2px;
  bottom: 0;
  right: 0;
}

.corneranimadoneon-left {
  width: 2px;
  height: 15px;
  top: 0;
  left: 0;
}

.corneranimadoneon-right {
  width: 2px;
  height: 15px;
  bottom: 0;
  right: 0;
}

/* Hover effects */
.corneranimadoneon:hover .corneranimadoneon-texto {
  color: #000;
}

.corneranimadoneon:hover::before {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.corneranimadoneon:hover .corneranimadoneon-top,
.corneranimadoneon:hover .corneranimadoneon-bottom {
  width: 100%;
}

.corneranimadoneon:hover .corneranimadoneon-left,
.corneranimadoneon:hover .corneranimadoneon-right {
  height: 100%;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6df3ef7 *//* BOTÓN AISLADO: botonirmoderno */
.botonirmoderno-contenedor {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  pointer-events: none;
}

.botonirmoderno-boton {
  pointer-events: auto;
  cursor: pointer;
  background: #e7e7e7;
  border-radius: 0px;
  border: none;
  padding: 1rem 2rem;
  margin: 0;
  font-family: 'poppins';
  font-weight: 800;
  font-style: italic;
  font-size: 1rem;
  color: #fff;
  position: relative;
  display: inline-block;
  overflow: hidden;
}

/* Capas del efecto */
.botonirmoderno-boton::before,
.botonirmoderno-boton::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}

.botonirmoderno-boton::before {
  width: 135%;
  clip-path: polygon(75% 0%, 100% 50%, 75% 100%, 0% 100%, 0% 0%);
  transform: translate3d(-100%, 0, 0);
}

.botonirmoderno-boton:hover::before {
  transform: translate3d(0, 0, 0);
}

.botonirmoderno-boton::after {
  width: 105%;
  transform: translate3d(100%, 0, 0);
  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}

.botonirmoderno-boton:hover::after {
  transform: translate3d(0, 0, 0);
  transition: transform 0.01s 0.3s cubic-bezier(0.7, 0, 0.2, 1);
}

/* Texto y animaciones */
.botonirmoderno-boton span {
  display: block;
  position: relative;
  z-index: 1;
}

.botonirmoderno-boton > span {
  overflow: hidden;
  mix-blend-mode: difference;
}

.botonirmoderno-boton:hover > span > span {
  animation:
    botonirmoderno-MoveRightInitial 0.1s forwards,
    botonirmoderno-MoveRightEnd 0.3s forwards 0.2s;
}

/* Animaciones del texto */
@keyframes botonirmoderno-MoveRightInitial {
  to {
    transform: translate3d(105%, 0, 0);
  }
}

@keyframes botonirmoderno-MoveRightEnd {
  from {
    transform: translate3d(-100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-87e4c79 *//* Botón Synthwave Laser para Elementor */
.botongradientehorizontal.elementor-button,
.elementor-button.botongradientehorizontal,
.botongradientehorizontal .elementor-button {
  position: relative;
  padding: 20px 60px;
  font-size: 20px;
  text-transform: uppercase;
  color: #fff;
  background: #101020; /* Base color */
  border: none;
  cursor: pointer;
  letter-spacing: 2px;
  text-shadow:
    0 0 5px #00ffe0,
    0 0 15px #00ffe0,
    0 0 25px #00ffe0;
  box-shadow:
    inset 0 0 15px #00ffe0,
    0 0 20px rgba(0, 255, 224, 0.7);
  overflow: hidden;
  border-radius: 10px;
  z-index: 1;
  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.botongradientehorizontal.elementor-button::before,
.botongradientehorizontal.elementor-button::after,
.elementor-button.botongradientehorizontal::before,
.elementor-button.botongradientehorizontal::after,
.botongradientehorizontal .elementor-button::before,
.botongradientehorizontal .elementor-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0, 255, 224, 0.6),
    transparent
  );
  z-index: -1;
  filter: blur(5px);
  transform: translateX(-100%);
  animation: laser-glow 2.5s infinite linear;
}

.botongradientehorizontal.elementor-button::after,
.elementor-button.botongradientehorizontal::after,
.botongradientehorizontal .elementor-button::after {
  animation-delay: 1.25s;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 0, 144, 0.6),
    transparent
  );
}

@keyframes laser-glow {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

.botongradientehorizontal.elementor-button:hover,
.elementor-button.botongradientehorizontal:hover,
.botongradientehorizontal .elementor-button:hover {
  transform: translateY(-5px);
}

.botongradientehorizontal.elementor-button:active,
.elementor-button.botongradientehorizontal:active,
.botongradientehorizontal .elementor-button:active {
  transform: scale(0.95);
  box-shadow:
    inset 0 0 15px #00ffe0,
    0 0 25px rgba(255, 0, 144, 0.7);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a8a27b6 */.modernointercambiable-contenedor {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: auto;
  font-family: 'Open Sans', Helvetica, sans-serif;
}

/* Estilo del botón */
.modernointercambiable-boton {
  padding: 15px 15px;
  border: none;
  border-radius: 0px;
  width: 170px;
  height: 55px;
  box-shadow: 15px 15px darkblue;
  cursor: pointer;
  transition: 0.5s ease;
  background: lightgray;
  font-family: 'poppins';
  font-size: 18px;
  font-weight: 500;
  color: #000;
  position: relative;
  display: inline-block;
}

/* Efecto hover */
.modernointercambiable-boton:hover {
  box-shadow: -15px -15px lightgray;
  transform: translate(15px, 15px);
  background: darkblue;
  color: white;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-da409a3 *//* Botón Acordeón Triple */
.acordeontriple {
  transition: all 0.3s linear;
  width: 168px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
  background-color: #020202;
  border-radius: 50px;
  border: 0;
  position: relative;
  z-index: 99;
  cursor: pointer;
}

.acordeontriple::after,
.acordeontriple::before {
  content: '';
  position: absolute;
  background-color: #020202;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  border-radius: 100px;
  z-index: -2;
  opacity: 0;
  transition: all 0.3s linear;
}

.acordeontriple-title {
  font-size: 16px;
  font-weight: 700;
  transition: all 0.3s linear;
  color: #fff;
  text-transform: capitalize;
}

.acordeontriple:hover {
  transform: translate(-12px, -12px);
}

.acordeontriple:hover::after {
  transform: translate(6px, 6px);
  opacity: 0.5;
}

.acordeontriple:hover::before {
  transform: translate(12px, 12px);
  opacity: 0.3;
}

.acordeontriple:hover .acordeontriple-title {
  animation: acordeontriple-storm 0.4s linear both;
}

@keyframes acordeontriple-storm {
  0% {
    transform: translate3d(0, 0, 0);
  }
  25% {
    transform: translate3d(4px, 0, 0);
  }
  50% {
    transform: translate3d(-3px, 0, 0);
  }
  75% {
    transform: translate3d(2px, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-af9ae20 *//* Botón Circulo Creciente Animado */
.circulocrecienteanimado {
  all: unset;
  width: 100px;
  height: 30px;
  font-size: 16px;
  background: transparent;
  border: none;
  position: relative;
  color: #f0f0f0;
  cursor: pointer;
  z-index: 1;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  transition: 0.3s ease-in-out;
}

.circulocrecienteanimado:hover {
  box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;
}

/* Pseudo-elementos */
.circulocrecienteanimado::before,
.circulocrecienteanimado::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -99999;
  transition: all 0.4s;
}

.circulocrecienteanimado::before {
  transform: translate(0%, 0%);
  width: 100%;
  height: 100%;
  background-color: #4158D0;
  background-image: linear-gradient(43deg, #4158D0 0%, #C850C0 46%, #FFCC70 100%);
  border-radius: 10px;
}

.circulocrecienteanimado::after {
  transform: translate(10px, 10px);
  width: 35px;
  height: 35px;
  background: #6804da2f;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: 50px;
}

/* Hover efectos */
.circulocrecienteanimado:hover::before {
  transform: translate(5%, 20%);
  width: 110%;
  height: 110%;
}

.circulocrecienteanimado:hover::after {
  border-radius: 10px;
  transform: translate(0, 0);
  width: 100%;
  height: 100%;
}

/* Click / active */
.circulocrecienteanimado:active::after {
  transition: 0s;
  transform: translate(0, 5%);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7558464 *//* BOTÓN AISLADO PARA ELEMENTOR: botonluzparpadeante */
.botonluzparpadeante.elementor-button,
.botonluzparpadeante .elementor-button,
.elementor-button.botonluzparpadeante {
  cursor: pointer;
  filter: drop-shadow(0px 0px 10px rgb(255, 255, 255));
  animation: botonluzparpadeante-flickering 2s linear infinite both;
  background-color: rgb(83, 82, 82);
  color: rgb(234, 234, 234);
  transition: 0.6s;
  box-shadow: 0px 0px 60px #1f4c65;
  -webkit-box-reflect: below 10px linear-gradient(to bottom, rgba(0,0,0,0.0), rgba(0,0,0,0.4));
  text-align: center;
  justify-content: center;
  display: inline-flex;
  align-items: center;
}

/* Hover */
.botonluzparpadeante.elementor-button:hover,
.botonluzparpadeante .elementor-button:hover,
.elementor-button.botonluzparpadeante:hover {
  background-color: black;
  border-radius: 0;
  color: rgb(234, 234, 234);
}

/* Animación flickering */
@keyframes botonluzparpadeante-flickering {
  0%, 100% {
    opacity: 1;
  }
  41.99% {
    opacity: 1;
  }
  42% {
    opacity: 0;
  }
  43% {
    opacity: 0;
  }
  43.01% {
    opacity: 1;
  }
  47.99% {
    opacity: 1;
  }
  48% {
    opacity: 0;
  }
  49% {
    opacity: 0;
  }
  49.01% {
    opacity: 1;
  }
}/* End custom CSS */