.elementor-299 .elementor-element.elementor-element-220c880{--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;--padding-top:10%;--padding-bottom:10%;--padding-left:10%;--padding-right:10%;}.elementor-299 .elementor-element.elementor-element-220c880:not(.elementor-motion-effects-element-type-background), .elementor-299 .elementor-element.elementor-element-220c880 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2639C0;}.elementor-299 .elementor-element.elementor-element-516406c{--display:flex;}.elementor-299 .elementor-element.elementor-element-185c35f{--display:flex;}.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-299 .elementor-element.elementor-element-a5444b8{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;--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:10px;}.elementor-299 .elementor-element.elementor-element-a5444b8.elementor-element{--align-self:center;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:15px;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-15px;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-group > label, .elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-subgroup label{color:#FAFAFA;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-group > label{font-family:"Inter", Sans-serif;font-weight:400;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-type-html{padding-bottom:0px;font-family:"Inter", Sans-serif;font-weight:400;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-group .elementor-field{color:#000000;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-group .elementor-field, .elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-subgroup label{font-family:"Inter", Sans-serif;font-weight:400;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#FAFAFA;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-group .elementor-select-wrapper select{background-color:#FAFAFA;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-button{font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;}.elementor-299 .elementor-element.elementor-element-a5444b8 .e-form__buttons__wrapper__button-next{background-color:#FAFAFA;color:#2E2E2E;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-button[type="submit"]{background-color:#FAFAFA;color:#2E2E2E;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-button[type="submit"] svg *{fill:#2E2E2E;}.elementor-299 .elementor-element.elementor-element-a5444b8 .e-form__buttons__wrapper__button-previous{background-color:#2E2E2E;color:#ffffff;}.elementor-299 .elementor-element.elementor-element-a5444b8 .e-form__buttons__wrapper__button-next:hover{background-color:#2E2E2E;color:#FAFAFA;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-button[type="submit"]:hover{background-color:#2E2E2E;color:#FAFAFA;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-button[type="submit"]:hover svg *{fill:#FAFAFA;}.elementor-299 .elementor-element.elementor-element-a5444b8 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-message.elementor-message-success{color:#FAFAFA;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-message.elementor-message-danger{color:#FAFAFA;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-message.elementor-help-inline{color:#FAFAFA;}:root{--page-title-display:none;}@media(max-width:1366px){.elementor-299 .elementor-element.elementor-element-220c880{--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-299 .elementor-element.elementor-element-a5444b8{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}}@media(max-width:1024px){.elementor-299 .elementor-element.elementor-element-a5444b8{--container-widget-width:80%;--container-widget-flex-grow:0;width:var( --container-widget-width, 80% );max-width:80%;}}@media(max-width:767px){.elementor-299 .elementor-element.elementor-element-a5444b8{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-group > label{font-size:12px;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-group .elementor-field, .elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-field-subgroup label{font-size:14px;}.elementor-299 .elementor-element.elementor-element-a5444b8 .elementor-button{font-size:14px;}}@media(min-width:768px){.elementor-299 .elementor-element.elementor-element-220c880{--content-width:1600px;}.elementor-299 .elementor-element.elementor-element-516406c{--width:100%;}.elementor-299 .elementor-element.elementor-element-185c35f{--width:100%;}}/* Start custom CSS for form, class: .elementor-element-a5444b8 *//* =========================================================
   OCULTAR CAMPO ANTISPAM ENTRE PRIVACIDAD Y BOTÓN
   ========================================================= */

/* Campo situado justo después de la aceptación */
.elementor-299 .elementor-element.elementor-element-a5444b8
.elementor-field-type-acceptance
+ .elementor-field-group:not(.elementor-field-type-submit) {
  position: absolute !important;
  left: -99999px !important;
  top: auto !important;

  display: block !important;

  width: 1px !important;
  min-width: 1px !important;
  max-width: 1px !important;

  height: 1px !important;
  min-height: 1px !important;
  max-height: 1px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  opacity: 0 !important;

  border: 0 !important;
  box-shadow: none !important;

  pointer-events: none !important;
}

/* Refuerzo: campo situado justo antes del botón */
.elementor-299 .elementor-element.elementor-element-a5444b8
.elementor-field-group:has(+ .elementor-field-type-submit):not(.elementor-field-type-acceptance) {
  position: absolute !important;
  left: -99999px !important;
  top: auto !important;

  width: 1px !important;
  min-width: 1px !important;
  max-width: 1px !important;

  height: 1px !important;
  min-height: 1px !important;
  max-height: 1px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  opacity: 0 !important;

  border: 0 !important;
  box-shadow: none !important;

  pointer-events: none !important;
}

/* Elimina cualquier espacio residual */
.elementor-299 .elementor-element.elementor-element-a5444b8
.elementor-field-type-acceptance
+ .elementor-field-group:not(.elementor-field-type-submit)
+ .elementor-field-type-submit {
  margin-top: 6px !important;
}

/* Evita que las reglas generales estilicen el input antispam */
.elementor-299 .elementor-element.elementor-element-a5444b8
.elementor-field-type-acceptance
+ .elementor-field-group:not(.elementor-field-type-submit)
input {
  width: 1px !important;
  min-width: 1px !important;
  max-width: 1px !important;

  height: 1px !important;
  min-height: 1px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  box-shadow: none !important;
  opacity: 0 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-220c880 *//* =========================================================
   HERO DE CONTACTO
   Texto izquierda + formulario derecha
   H1 visual tipo botón con icono
   Color corporativo: #2639C0
   ========================================================= */

.elementor-299 .elementor-element.elementor-element-220c880 {
  --hero-primary: #2639c0;
  --hero-primary-dark: #1d2da1;
  --hero-primary-light: #4052d4;
  --hero-white: #ffffff;
  --hero-text-soft: rgba(255, 255, 255, 0.84);
  --hero-border: rgba(255, 255, 255, 0.18);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  width: 100%;
  min-height: calc(100vh - 76px);
  padding: clamp(72px, 7vw, 120px) 6%;

  color: var(--hero-white);

  background:
    radial-gradient(
      circle at 12% 4%,
      rgba(255, 255, 255, 0.08) 0,
      rgba(255, 255, 255, 0) 25%
    ),
    radial-gradient(
      circle at 92% 80%,
      rgba(255, 255, 255, 0.07) 0,
      rgba(255, 255, 255, 0) 24%
    ),
    linear-gradient(
      135deg,
      var(--hero-primary) 0%,
      var(--hero-primary-dark) 100%
    );
}

/* Círculo decorativo superior */
.elementor-299 .elementor-element.elementor-element-220c880::before {
  content: "";
  position: absolute;
  z-index: -1;

  top: -230px;
  left: -120px;

  width: 520px;
  height: 520px;

  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 50%;
}

/* Círculo decorativo inferior */
.elementor-299 .elementor-element.elementor-element-220c880::after {
  content: "";
  position: absolute;
  z-index: -1;

  right: -160px;
  bottom: -260px;

  width: 560px;
  height: 560px;

  background: rgba(255, 255, 255, 0.035);
  border-radius: 50%;
}

/* =========================================================
   ESTRUCTURA DE DOS COLUMNAS
   ========================================================= */

/* Contenedor interior de Elementor */
.elementor-299 .elementor-element.elementor-element-220c880 > .e-con-inner,
.elementor-299 .elementor-element.elementor-element-220c880 > .elementor-container {
  display: grid !important;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(420px, 0.82fr);

  align-items: center;
  gap: clamp(48px, 6vw, 96px);

  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

/* Cuando las columnas son contenedores directos */
.elementor-299 .elementor-element.elementor-element-220c880 > .e-con-inner > .e-con,
.elementor-299 .elementor-element.elementor-element-220c880 > .elementor-container > .elementor-column {
  min-width: 0;
}

/* =========================================================
   COLUMNA DE CONTENIDO
   ========================================================= */

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content {
  width: 100%;
  max-width: 740px;
}

/* =========================================================
   H1 TIPO BOTÓN / PÍLDORA
   Icono técnico dibujado con CSS, sin emoji
   ========================================================= */

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow {
  width: auto !important;
  max-width: max-content;
  margin: 0 0 26px;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-widget-container {
  position: relative;
}

/* H1 visual */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-heading-title,
.elementor-299 .elementor-element.elementor-element-220c880 h1.contact-hero__eyebrow {
  position: relative;

  display: inline-flex;
  align-items: center;
  gap: 11px;

  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 10px 16px 10px 11px;

  color: var(--hero-white) !important;
  background: rgba(255, 255, 255, 0.11);

  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;

  font-size: clamp(13px, 1vw, 15px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em;

  box-shadow:
    0 10px 25px rgba(10, 17, 73, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  cursor: default;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}

/* Círculo blanco del icono */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-heading-title::before,
.elementor-299 .elementor-element.elementor-element-220c880 h1.contact-hero__eyebrow::before {
  content: "";

  display: block;
  flex: 0 0 30px;

  width: 30px;
  height: 30px;

  background: var(--hero-white);
  border-radius: 50%;

  box-shadow: 0 5px 12px rgba(15, 21, 76, 0.2);
}

/* Punta de la flecha */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-heading-title::after,
.elementor-299 .elementor-element.elementor-element-220c880 h1.contact-hero__eyebrow::after {
  content: "";

  position: absolute;

  left: 22px;
  top: 50%;

  width: 7px;
  height: 7px;

  border-top: 2px solid var(--hero-primary);
  border-right: 2px solid var(--hero-primary);

  transform:
    translateY(-58%)
    rotate(45deg);

  pointer-events: none;
}

/* Trazo de la flecha */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-widget-container::after {
  content: "";

  position: absolute;
  z-index: 2;

  left: 20px;
  top: 50%;

  width: 9px;
  height: 2px;

  background: var(--hero-primary);
  border-radius: 999px;

  transform:
    translateY(-50%)
    rotate(-45deg);

  pointer-events: none;
}

/* Ligero efecto visual */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-heading-title:hover,
.elementor-299 .elementor-element.elementor-element-220c880 h1.contact-hero__eyebrow:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.34);
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 767px) {
  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow {
    margin-bottom: 22px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-heading-title,
  .elementor-299 .elementor-element.elementor-element-220c880 h1.contact-hero__eyebrow {
    padding: 8px 13px 8px 8px;

    font-size: 12px !important;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-heading-title::before,
  .elementor-299 .elementor-element.elementor-element-220c880 h1.contact-hero__eyebrow::before {
    flex-basis: 27px;

    width: 27px;
    height: 27px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-heading-title::after,
  .elementor-299 .elementor-element.elementor-element-220c880 h1.contact-hero__eyebrow::after {
    left: 19px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-widget-container::after {
    left: 17px;
    width: 8px;
  }
}

@media (max-width: 420px) {
  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-heading-title,
  .elementor-299 .elementor-element.elementor-element-220c880 h1.contact-hero__eyebrow {
    white-space: normal;
  }
}

/* =========================================================
   TÍTULO PRINCIPAL VISUAL
   ========================================================= */

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__title {
  margin-bottom: 28px;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__title .elementor-heading-title,
.elementor-299 .elementor-element.elementor-element-220c880 h2.contact-hero__title {
  max-width: 760px;
  margin: 0;

  color: var(--hero-white) !important;

  font-size: clamp(52px, 5.4vw, 82px) !important;
  font-weight: 750 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.048em;

  text-wrap: balance;
}

/* =========================================================
   TEXTOS
   ========================================================= */

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content .elementor-widget-text-editor,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content .elementor-widget-text-editor p {
  max-width: 720px;

  color: var(--hero-text-soft) !important;

  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.7;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content .elementor-widget-text-editor p {
  margin: 0 0 20px;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content strong {
  color: var(--hero-white);
  font-weight: 700;
}

/* =========================================================
   LISTADO UX
   ========================================================= */

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;

  max-width: 720px;
  margin: 24px 0 0;
  padding: 0;

  list-style: none;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content li {
  display: flex;
  align-items: flex-start;
  gap: 10px;

  min-height: 56px;
  padding: 13px 14px;

  color: var(--hero-white);

  background: rgba(255, 255, 255, 0.09);
  border: 1px solid var(--hero-border);
  border-radius: 12px;

  font-size: 15px;
  line-height: 1.45;

  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  transition:
    transform 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content li:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.28);
  transform: translateY(-2px);
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content li::before {
  content: "✓";

  display: grid;
  place-items: center;
  flex: 0 0 23px;

  width: 23px;
  height: 23px;

  color: var(--hero-primary);
  background: var(--hero-white);
  border-radius: 50%;

  font-size: 12px;
  font-weight: 900;
}

/* =========================================================
   COLUMNA DEL FORMULARIO
   ========================================================= */

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form {
  width: 100%;
  max-width: 540px;
  justify-self: end;
}

/* Widget del formulario */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-widget-form,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-widget-container {
  width: 100%;
}

/* Tarjeta blanca */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form form {
  width: 100%;
  padding: clamp(24px, 2.5vw, 36px);

  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 20px;

  box-shadow:
    0 30px 70px rgba(8, 15, 77, 0.28),
    0 10px 24px rgba(8, 15, 77, 0.13);
}

/* Grupos */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-field-group {
  margin-bottom: 15px;
}

/* Campos */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-field,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form input:not([type="checkbox"]):not([type="radio"]),
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form textarea,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form select {
  width: 100%;
  min-height: 52px;

  padding: 13px 15px;

  color: #202538 !important;
  background: #ffffff !important;

  border: 1px solid #d7dbea !important;
  border-radius: 10px !important;

  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;

  caret-color: var(--hero-primary);

  box-shadow: none !important;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

/* Textarea */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form textarea {
  min-height: 180px;
  resize: vertical;
}

/* Placeholder */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form input::placeholder,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form textarea::placeholder {
  color: #858ca0 !important;
  opacity: 1;
}

/* Hover */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-field:hover,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form input:not([type="checkbox"]):hover,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form textarea:hover,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form select:hover {
  border-color: rgba(38, 57, 192, 0.55) !important;
}

/* Focus */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-field:focus,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form input:not([type="checkbox"]):focus,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form textarea:focus,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form select:focus {
  outline: none !important;

  border-color: var(--hero-primary) !important;

  box-shadow:
    0 0 0 4px rgba(38, 57, 192, 0.14) !important;
}

/* =========================================================
   CHECKBOX CIRCULAR
   ========================================================= */

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-field-type-acceptance {
  margin-top: 2px;
  margin-bottom: 17px;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-field-type-acceptance .elementor-field-option {
  display: flex;
  align-items: flex-start;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;

  display: inline-grid !important;
  place-content: center !important;
  flex: 0 0 20px;

  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;

  margin: 2px 10px 0 0 !important;
  padding: 0 !important;

  background: #ffffff !important;
  border: 2px solid var(--hero-primary) !important;
  border-radius: 50% !important;

  cursor: pointer;
  box-shadow: none !important;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form input[type="checkbox"]:checked {
  background: var(--hero-primary) !important;
  border-color: var(--hero-primary) !important;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form input[type="checkbox"]::before {
  content: "";

  width: 5px;
  height: 9px;

  border: solid #ffffff;
  border-width: 0 2px 2px 0;

  transform: rotate(45deg) scale(0);
  transform-origin: center;

  transition: transform 0.15s ease;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form input[type="checkbox"]:checked::before {
  transform: rotate(45deg) scale(1);
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form input[type="checkbox"]:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(38, 57, 192, 0.18) !important;
}

/* Texto legal */
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-field-type-acceptance label {
  color: #687086 !important;

  font-size: 13px;
  line-height: 1.5;

  cursor: pointer;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-field-type-acceptance a {
  color: var(--hero-primary) !important;

  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* =========================================================
   BOTÓN DEL FORMULARIO
   ========================================================= */

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-field-type-submit {
  margin-bottom: 0;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-button,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form button[type="submit"] {
  width: 100%;
  min-height: 56px;

  padding: 15px 24px;

  color: #ffffff !important;
  background: var(--hero-primary) !important;

  border: 1px solid var(--hero-primary) !important;
  border-radius: 10px !important;

  font-family: inherit;
  font-size: 16px;
  font-weight: 700;

  cursor: pointer;

  box-shadow:
    0 10px 24px rgba(38, 57, 192, 0.26) !important;

  transition:
    background-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-button:hover,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form button[type="submit"]:hover {
  background: var(--hero-primary-dark) !important;
  border-color: var(--hero-primary-dark) !important;

  box-shadow:
    0 14px 30px rgba(38, 57, 192, 0.34) !important;

  transform: translateY(-2px);
}

.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form .elementor-button:active,
.elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form button[type="submit"]:active {
  transform: translateY(0);
}

/* Honeypot */
.elementor-299 .elementor-element.elementor-element-220c880 .elementor-field-type-honeypot {
  position: absolute !important;
  left: -9999px !important;

  width: 1px !important;
  height: 1px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  opacity: 0 !important;
}

/* Quita espaciadores innecesarios */
.elementor-299 .elementor-element.elementor-element-220c880 .elementor-widget-spacer {
  display: none;
}

/* =========================================================
   PORTÁTILES
   ========================================================= */

@media (max-width: 1366px) {
  .elementor-299 .elementor-element.elementor-element-220c880 {
    min-height: auto;
    padding: 78px 5%;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 > .e-con-inner,
  .elementor-299 .elementor-element.elementor-element-220c880 > .elementor-container {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(390px, 0.9fr);

    gap: 48px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__title .elementor-heading-title,
  .elementor-299 .elementor-element.elementor-element-220c880 h2.contact-hero__title {
    font-size: clamp(48px, 5vw, 68px) !important;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form {
    max-width: 500px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form textarea {
    min-height: 150px;
  }
}

/* =========================================================
   TABLET HORIZONTAL
   Mantiene dos columnas más compactas
   ========================================================= */

@media (max-width: 1100px) and (min-width: 901px) {
  .elementor-299 .elementor-element.elementor-element-220c880 {
    padding: 70px 4%;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 > .e-con-inner,
  .elementor-299 .elementor-element.elementor-element-220c880 > .elementor-container {
    grid-template-columns:
      minmax(0, 0.95fr)
      minmax(370px, 1.05fr);

    gap: 34px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__title .elementor-heading-title,
  .elementor-299 .elementor-element.elementor-element-220c880 h2.contact-hero__title {
    font-size: clamp(44px, 5vw, 58px) !important;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content ul {
    grid-template-columns: 1fr;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form form {
    padding: 26px;
  }
}

/* =========================================================
   TABLET VERTICAL
   Se apila
   ========================================================= */

@media (max-width: 900px) {
  .elementor-299 .elementor-element.elementor-element-220c880 {
    min-height: auto;
    padding: 72px 6%;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 > .e-con-inner,
  .elementor-299 .elementor-element.elementor-element-220c880 > .elementor-container {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content,
  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form {
    width: 100%;
    max-width: 760px;
    justify-self: center;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form {
    max-width: 680px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {
  .elementor-299 .elementor-element.elementor-element-220c880 {
    padding: 58px 20px 54px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880::before {
    top: -150px;
    left: -190px;

    width: 390px;
    height: 390px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 > .e-con-inner,
  .elementor-299 .elementor-element.elementor-element-220c880 > .elementor-container {
    gap: 34px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow {
    margin-bottom: 20px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-heading-title,
  .elementor-299 .elementor-element.elementor-element-220c880 h1.contact-hero__eyebrow {
    padding: 8px 13px 8px 9px;

    font-size: 12px !important;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__eyebrow .elementor-heading-title::before,
  .elementor-299 .elementor-element.elementor-element-220c880 h1.contact-hero__eyebrow::before {
    flex-basis: 27px;

    width: 27px;
    height: 27px;

    font-size: 14px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__title {
    margin-bottom: 22px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__title .elementor-heading-title,
  .elementor-299 .elementor-element.elementor-element-220c880 h2.contact-hero__title {
    font-size: clamp(42px, 12vw, 58px) !important;
    line-height: 1.01 !important;
    letter-spacing: -0.042em;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content .elementor-widget-text-editor,
  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content .elementor-widget-text-editor p {
    font-size: 16px;
    line-height: 1.65;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content ul {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__content li {
    min-height: auto;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form form {
    padding: 22px 17px;
    border-radius: 16px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form textarea {
    min-height: 145px;
  }
}

/* Móviles pequeños */
@media (max-width: 420px) {
  .elementor-299 .elementor-element.elementor-element-220c880 {
    padding-inline: 14px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__form form {
    padding: 20px 14px;
  }

  .elementor-299 .elementor-element.elementor-element-220c880 .contact-hero__title .elementor-heading-title,
  .elementor-299 .elementor-element.elementor-element-220c880 h2.contact-hero__title {
    font-size: 40px !important;
  }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .elementor-299 .elementor-element.elementor-element-220c880 *,
  .elementor-299 .elementor-element.elementor-element-220c880 *::before,
  .elementor-299 .elementor-element.elementor-element-220c880 *::after {
    animation: none !important;
    transition: none !important;
  }
}/* End custom CSS */