.elementor-519 .elementor-element.elementor-element-48b86d0e{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:1;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;--z-index:1;}.elementor-519 .elementor-element.elementor-element-48b86d0e:not(.elementor-motion-effects-element-type-background), .elementor-519 .elementor-element.elementor-element-48b86d0e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-519 .elementor-element.elementor-element-48b86d0e::before, .elementor-519 .elementor-element.elementor-element-48b86d0e > .elementor-background-video-container::before, .elementor-519 .elementor-element.elementor-element-48b86d0e > .e-con-inner > .elementor-background-video-container::before, .elementor-519 .elementor-element.elementor-element-48b86d0e > .elementor-background-slideshow::before, .elementor-519 .elementor-element.elementor-element-48b86d0e > .e-con-inner > .elementor-background-slideshow::before, .elementor-519 .elementor-element.elementor-element-48b86d0e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-519 .elementor-element.elementor-element-6cc69a27{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-519 .elementor-element.elementor-element-44553522.elementor-element{--align-self:center;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-group{padding-right:calc( 0px/2 );padding-left:calc( 0px/2 );margin-bottom:7px;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-form-fields-wrapper{margin-left:calc( -0px/2 );margin-right:calc( -0px/2 );margin-bottom:-7px;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-519 .elementor-element.elementor-element-44553522 .elementor-labels-inline .elementor-field-group > label{padding-left:9px;}body:not(.rtl) .elementor-519 .elementor-element.elementor-element-44553522 .elementor-labels-inline .elementor-field-group > label{padding-right:9px;}body .elementor-519 .elementor-element.elementor-element-44553522 .elementor-labels-above .elementor-field-group > label{padding-bottom:9px;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-group > label{font-family:"Montserrat", Sans-serif;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-type-html{padding-bottom:0px;font-family:"Montserrat", Sans-serif;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-group .elementor-field, .elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-subgroup label{font-family:"Montserrat", Sans-serif;line-height:30px;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-width:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-width:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-button{font-family:"Montserrat", Sans-serif;font-size:15px;text-transform:uppercase;border-radius:20px 20px 20px 20px;padding:10px 20px 10px 20px;}.elementor-519 .elementor-element.elementor-element-44553522 .e-form__buttons__wrapper__button-next{background-color:#000000;color:#ffffff;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-button[type="submit"]{background-color:#000000;color:#ffffff;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-519 .elementor-element.elementor-element-44553522 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-519 .elementor-element.elementor-element-44553522 .e-form__buttons__wrapper__button-next:hover{background-color:#1061D5;color:#ffffff;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-button[type="submit"]:hover{background-color:#1061D5;color:#ffffff;}.elementor-519 .elementor-element.elementor-element-44553522 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-519 .elementor-element.elementor-element-44553522 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-519 .elementor-element.elementor-element-44553522{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:13px;}@media(min-width:768px){.elementor-519 .elementor-element.elementor-element-48b86d0e{--width:100%;}.elementor-519 .elementor-element.elementor-element-6cc69a27{--width:45%;}}@media(max-width:1024px) and (min-width:768px){.elementor-519 .elementor-element.elementor-element-6cc69a27{--width:75%;}}@media(max-width:1024px){.elementor-519 .elementor-element.elementor-element-48b86d0e{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0%;--padding-bottom:10%;--padding-left:5%;--padding-right:5%;}}@media(max-width:767px){.elementor-519 .elementor-element.elementor-element-48b86d0e{--min-height:60vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;--z-index:2;}.elementor-519 .elementor-element.elementor-element-6cc69a27{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-519 .elementor-element.elementor-element-44553522{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for form, class: .elementor-element-44553522 *//* ================================================
   FORMULARIO ELEMENTOR — Heyner Pacheco
   Pegar en: Elementor > Widget Form > Avanzado > CSS Personalizado
   ================================================ */

/* ── Wrapper: fila para campos col-50 ── */
.elementor-519 .elementor-element.elementor-element-44553522 .elementor-form-fields-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px 16px !important;
  align-items: flex-start !important;
}

/* ── Campos al 50% en la misma fila (nombre + email) ── */
.elementor-519 .elementor-element.elementor-element-44553522 .elementor-col-50 {
  width: calc(50% - 8px) !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* ── Campos al 100% (teléfono, mensaje, privacidad, botón) ── */
.elementor-519 .elementor-element.elementor-element-44553522 .elementor-col-100 {
  width: 100% !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* ── Labels ── */
.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.55) !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Asterisco requerido */
.elementor-519 .elementor-element.elementor-element-44553522 .elementor-mark-required .elementor-field-label::after {
  color: #6AABFF !important;
}

/* ── Inputs y Textarea ── */
.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-textual,
.elementor-519 .elementor-element.elementor-element-44553522 input.elementor-field,
.elementor-519 .elementor-element.elementor-element-44553522 textarea.elementor-field {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.92rem !important;
  color: #FFFFFF !important;
  background: rgba(255, 255, 255, 0.11) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 2px !important;
  padding: 13px 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
}

.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-textual::placeholder,
.elementor-519 .elementor-element.elementor-element-44553522 input.elementor-field::placeholder,
.elementor-519 .elementor-element.elementor-element-44553522 textarea.elementor-field::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
}

.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-textual:focus,
.elementor-519 .elementor-element.elementor-element-44553522 input.elementor-field:focus,
.elementor-519 .elementor-element.elementor-element-44553522 textarea.elementor-field:focus {
  border-color: #2B7FFF !important;
  background: rgba(43, 127, 255, 0.12) !important;
  box-shadow: 0 0 0 3px rgba(43, 127, 255, 0.18) !important;
}

/* Textarea altura */
.elementor-519 .elementor-element.elementor-element-44553522 textarea.elementor-field {
  min-height: 130px !important;
  resize: vertical !important;
}

/* ── Checkbox de privacidad ── */
.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-type-acceptance {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
}

.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-type-acceptance input[type="checkbox"] {
  accent-color: #2B7FFF !important;
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
  margin-top: 3px !important;
  margin-right: 0 !important;
  cursor: pointer !important;
}

.elementor-519 .elementor-element.elementor-element-44553522 .elementor-field-type-acceptance .elementor-field-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.72rem !important;
  line-height: 1.55 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  color: rgba(255, 255, 255, 0.38) !important;
  font-weight: 400 !important;
  margin: 0 !important;
  flex: 1 !important;
}

/* ── Botón de envío ── */
.elementor-519 .elementor-element.elementor-element-44553522 .elementor-button,
.elementor-519 .elementor-element.elementor-element-44553522 button[type="submit"],
.elementor-519 .elementor-element.elementor-element-44553522 input[type="submit"] {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.76rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  background: #2B7FFF !important;
  color: #FFFFFF !important;
  border: 1px solid #2B7FFF !important;
  border-radius: 2px !important;
  padding: 16px 32px !important;
  width: 100% !important;
  box-shadow: 0 8px 26px rgba(43, 127, 255, 0.32) !important;
  transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease !important;
  cursor: pointer !important;
}

.elementor-519 .elementor-element.elementor-element-44553522 .elementor-button:hover,
.elementor-519 .elementor-element.elementor-element-44553522 button[type="submit"]:hover,
.elementor-519 .elementor-element.elementor-element-44553522 input[type="submit"]:hover {
  background: #6AABFF !important;
  border-color: #6AABFF !important;
  box-shadow: 0 10px 30px rgba(106, 171, 255, 0.42) !important;
  transform: translateY(-1px) !important;
}

.elementor-519 .elementor-element.elementor-element-44553522 .elementor-button:active,
.elementor-519 .elementor-element.elementor-element-44553522 button[type="submit"]:active {
  transform: translateY(0) !important;
}

/* ── Mensajes de éxito / error ── */
.elementor-519 .elementor-element.elementor-element-44553522 .elementor-message.elementor-message-success {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  color: #6AABFF !important;
  background: rgba(43, 127, 255, 0.1) !important;
  border: 1px solid rgba(43, 127, 255, 0.3) !important;
  border-radius: 2px !important;
  padding: 12px 16px !important;
}

.elementor-519 .elementor-element.elementor-element-44553522 .elementor-message.elementor-message-danger {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  color: #ff6b6b !important;
  background: rgba(255, 80, 80, 0.08) !important;
  border: 1px solid rgba(255, 80, 80, 0.25) !important;
  border-radius: 2px !important;
  padding: 12px 16px !important;
}

/* ── TABLET y MÓVIL: todo en columna, 100% ancho ── */
@media (max-width: 1024px) {
  .elementor-519 .elementor-element.elementor-element-44553522 .elementor-col-50,
  .elementor-519 .elementor-element.elementor-element-44553522 .elementor-col-100 {
    width: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48b86d0e *//* La sección que recibe el scroll */
#formulario {
  scroll-margin-top: 80px; /* Ajusta este valor al espacio que desees (ej. la altura de tu menú) */
}

/* ================================================
   FONDO DECORATIVO — Sección #formulario
   Pegar en: Elementor > Sección > Avanzado > CSS Personalizado
   ================================================ */

#formulario {
  position: relative;
  overflow: hidden;
}

/* ── Degradado base ── */
#formulario::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 60% at 15% 50%, rgba(43,127,255,0.14) 0%, transparent 65%),
    radial-gradient(ellipse 50% 50% at 90% 20%, rgba(255,130,20,0.10) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 80% 90%, rgba(30,80,220,0.12) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}

/* ── Puntos blancos ── */
#formulario::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(180,210,255,0.45) 1px, transparent 1.5px);
  background-size: 46px 46px;
  opacity: 0.22;
  -webkit-mask-image: radial-gradient(ellipse 85% 80% at 50% 50%, rgba(0,0,0,1) 20%, transparent 80%);
  mask-image: radial-gradient(ellipse 85% 80% at 50% 50%, rgba(0,0,0,1) 20%, transparent 80%);
  pointer-events: none;
  z-index: 0;
}

/* ── Orbe azul izquierda ── */
#formulario .e-con-inner::before,
#formulario .elementor-container::before {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  top: 50%;
  left: -160px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(43,127,255,0.20) 0%, transparent 70%);
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
  animation: formOrbLeft 16s ease-in-out infinite alternate;
}

/* ── Orbe ámbar derecha ── */
#formulario .e-con-inner::after,
#formulario .elementor-container::after {
  content: "";
  position: absolute;
  width: 400px;
  height: 400px;
  bottom: -120px;
  right: -100px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,130,20,0.14) 0%, transparent 70%);
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
  animation: formOrbRight 14s ease-in-out infinite alternate;
}

@keyframes formOrbLeft {
  0%   { transform: translateY(-50%) scale(1); }
  100% { transform: translateY(calc(-50% + 30px)) scale(1.10); }
}
@keyframes formOrbRight {
  0%   { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-20px, -25px) scale(1.08); }
}

/* ── Asegurar que el contenido quede por encima ── */
#formulario .e-con-inner > *,
#formulario .elementor-container > .elementor-row,
#formulario .elementor-container > .elementor-row > .elementor-column {
  position: relative;
  z-index: 1;
}

/* ── REDUCED MOTION ── */
@media (prefers-reduced-motion: reduce) {
  #formulario .e-con-inner::before,
  #formulario .e-con-inner::after,
  #formulario .elementor-container::before,
  #formulario .elementor-container::after {
    animation: none !important;
  }
}/* End custom CSS */
/* Start custom CSS */.fuerte {
    font-weight: 700;
}

@media (max-width: 767px) {
  /* Reglas CSS para pantallas con ancho máximo de 767px */
  #contacto {
      scale: 0.9;
  }
}/* End custom CSS */