.elementor-627 .elementor-element.elementor-element-6a430f7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-627 .elementor-element.elementor-element-e3f40c7{text-align:center;width:100%;max-width:100%;}.elementor-627 .elementor-element.elementor-element-e3f40c7 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:42px;font-weight:800;}.elementor-627 .elementor-element.elementor-element-6da5078{text-align:center;}.elementor-627 .elementor-element.elementor-element-6da5078 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:23px;font-weight:400;}.elementor-627 .elementor-element.elementor-element-8c0e5c0{--display:flex;}.elementor-widget-fluent-form-widget .fluentform-widget-description{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-fluent-form-widget .ff-el-progress-status{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-fluent-form-widget .ff-el-progress-bar span{color:var( --e-global-color-primary );}.elementor-widget-fluent-form-widget .step-nav button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-627 .elementor-element.elementor-element-a0b7fb0 .fluentform-widget-wrapper .ff-el-group .ff-btn-submit{background-color:#1a7efb !important;color:#ffffff !important;}.elementor-627 .elementor-element.elementor-element-e1da45c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-627 .elementor-element.elementor-element-da45f76{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -25px) 0px;padding:0px 0px 0px 0px;}.elementor-627 .elementor-element.elementor-element-48e9a3c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-627 .elementor-element.elementor-element-c97c92b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-627 .elementor-element.elementor-element-4a0ce94{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-627 .elementor-element.elementor-element-4a0ce94.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-627 .elementor-element.elementor-element-b1bdcc6{margin:-45px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-627 .elementor-element.elementor-element-255fef5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(min-width:768px){.elementor-627 .elementor-element.elementor-element-4a0ce94{--width:96.149%;}}@media(max-width:767px){.elementor-627 .elementor-element.elementor-element-e3f40c7 .elementor-heading-title{font-size:25px;}.elementor-627 .elementor-element.elementor-element-6da5078 .elementor-heading-title{font-size:18px;}}/* Start custom CSS for container, class: .elementor-element-8c0e5c0 */.fluentform {
  background: rgba(255,249,40,0.08);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  border-radius: 16px;
  backdrop-filter: blur(3px);
  padding: clamp(24px, 4vw, 48px);
  max-width: 960px;
  margin: 0 auto;
}

/* Responsivo */
@media (max-width: 1024px){
  .fluentform { max-width: 860px; }
}
@media (max-width: 767px){
  .fluentform { border-radius: 14px; padding: 20px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0e8e738 *//* ===== Variables de marca ===== */
:root{
  --ap-navy:#002B57;
  --ap-blue:#024fb3;
  --ap-yellow:#FFBE00;
  --ap-sky:#EAF2FF;
  --radius:18px;
  --shadow:0 8px 26px rgba(0,0,0,.08);
}

/* ===== Contenedor principal (GRID con 2 columnas x 4 filas) ===== */
.ap2-steps-wrap{
  max-width: 1200px;
  margin: 3px auto;
  padding: 3px;
  display: grid;

  /* 2 columnas iguales */
  grid-template-columns: 1fr 1fr;

  /* 4 filas iguales: nos permite hacer 75/25 y 25/75 según el span */
  grid-template-rows: repeat(, 1fr);

  /* Áreas: A=filas 1-3 col 1 | D=fila 4 col 1 | B=fila 1 col 2 | C=filas 2-4 col 2 */
  grid-template-areas:
    "cardA cardB"
    "cardA cardC"
    "cardA cardC"
    "cardD cardC";

  gap: 18px;
}

/* ===== Tarjetas base ===== */
.ap2-card{
  position: relative;
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 22px 35px 10px;
}
.ap2-card--a,
.ap2-card--c {
  min-height: 240px;
}
.ap2-card--a{ grid-area: cardA;
  background:
    radial-gradient(720px 280px at 12% 12%, rgba(255,255,255,.55), rgba(255,255,255,0) 60%),
    linear-gradient(135deg, rgba(255,249,40,0.08) 0%, rgba(255,255,255,0) 100%);
}
.ap2-card--b{ grid-area: cardB;
  background:
    radial-gradient(700px 260px at 85% 18%, rgba(243,247,255,.72), rgba(255,255,255,0) 62%),
    linear-gradient(135deg, var(--ap-sky) 0%, #fff 100%);
}
.ap2-card--c{ grid-area: cardC;
  background:
    radial-gradient(700px 260px at 85% 18%, rgba(243,247,255,.72), rgba(255,255,255,0) 62%),
    linear-gradient(135deg, var(--ap-sky) 0%, #fff 100%);
}
.ap2-card--d{ grid-area: cardD;
  background:
    radial-gradient(720px 280px at 12% 82%, rgba(255,249,40,0.08), rgba(255,255,255,0) 62%),
    linear-gradient(135deg, rgba(255,249,40,0.08) 0%, rgba(255,255,255,0) 100%);
}

/* ===== Badge y títulos ===== */
.ap-badge{
  position: absolute;
  inset: 11px auto auto 10px;
  display:grid; place-items:center;
  width:40px; height:40px;
  border-radius:50%;
  color:#fff;
  background: radial-gradient(30px at 40% 40%, #0a2540, #021b38);
  box-shadow: 0 8px 16px rgba(0,0,0,.18), inset 0 0 0 4px rgba(255,255,255,.35);
  font-weight:800;
}
.ap-title{
  margin: 40px 0 15px;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: .2px;
  color: var(--ap-navy);
  font-size: 22px;
}

/* ===== Listas y bullets ===== */
.ap-list{ list-style:none; margin:0; padding:0; }
.ap-list li{
  position: relative;
  margin: 10px 0;
  line-height: 1.55;
  color: #374056;
  font-size: 15.5px;
  padding-left: 20px;
}
.ap-list li::before {
  content: "";
  position: absolute;
  left: 0px;
  top: 0.55em;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: radial-gradient(circle at center,
    #ffbe00 40%,          /* centro amarillo */
    #fff4cc 80%           /* halo más claro */
  );
  box-shadow: 0 0 6px rgba(255, 200, 0, 0.6); /* brillo externo */
}

.ap-list strong{ font-weight:800; #002B57; }

/* Descripción simple (tarjeta D) */
.ap-desc{ margin: 6px 0 0; color:#374056; }

/* ===== Responsivo ===== */
@media (max-width:1024px){
  /* En tablet sigue 2 columnas pero podemos dar más aire vertical si quieres */
  .ap2-steps-wrap{ gap:16px; }
}
@media (max-width:680px){
  /* En móvil: 1 columna, orden A, B, C, D natural por áreas */
  .ap2-steps-wrap{
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-template-areas:
      "cardA"
      "cardB"
      "cardC"
      "cardD";
  }
  .ap-title{ font-size: 19px; }
}
/* ===== Recorta aire interno en TODAS las tarjetas ===== */
.ap2-steps-wrap .ap2-card{
  padding: 18px 28px 8px !important;   /* ↓ menos padding inferior */
}

/* Quita márgenes residuales del último elemento dentro de cada tarjeta */
.ap2-steps-wrap .ap2-card > *:last-child{
  margin-bottom: 0 !important;
}
.ap2-steps-wrap .ap2-card ul:last-child,
.ap2-steps-wrap .ap2-card ol:last-child,
.ap2-steps-wrap .ap2-card p:last-child{
  margin-bottom: 0 !important;
}

/* Si tus listas tenían separación grande entre ítems, la suavizamos */
.ap2-steps-wrap .ap2-card .ap-list li{
  margin: 15px 0 !important;            /* ajusta si quieres */
}

/* ===== SOLO A y C: baja altura mínima para quitar “aire” sobrante ===== */
.ap2-steps-wrap .ap2-card--a,
.ap2-steps-wrap .ap2-card--c{
  min-height: 250px !important;        /* prueba 320–340; antes 360+ no dejaba cerrar */
}

/* Por si tienes un wrapper interno con padding extra al final */
.ap2-steps-wrap .ap2-card__inner{
  padding-block-end:0 !important;     /* neutraliza padding inferior interno */
}

/* A veces el título trae margen inferior grande */
.ap2-steps-wrap .ap2-card .ap-title{
  margin-bottom: 25px !important;      /* antes suelen ser 16–24px */
}
/* === Solo tarjeta C: mostrar bullets solo en primer y último item === */
.ap2-card--c .ap-list li::before {
  display: none !important; /* Oculta todos los bullets */
}

.ap2-card--c .ap-list li:first-child::before,
.ap2-card--c .ap-list li:last-child::before {
  display: block !important; /* Muestra solo el primero y el último */
}
/* === Texto azul marino en todas las tarjetas === */
.ap2-steps-wrap .ap2-card {
  color: #002B57 !important;
}

/* Si tienes listas o párrafos con color heredado, forzamos también */
.ap2-steps-wrap .ap2-card li,
.ap2-steps-wrap .ap2-card p,
.ap2-steps-wrap .ap2-card span {
  color: #002B57 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ad02907 */.ap-tc-title{
  grid-column: 1 / -1;
  margin: 0 0 8px;
  text-align: center;
  color: var(--ap-navy);
  font-weight: 800;
  letter-spacing:.2px;
  font-size: clamp(30pxpx, 2.1vw, 30px);
}/* End custom CSS */