.demo-addon-banner h2 {
  margin: 0 0 12px;
}

.demo-addon-banner p {
  margin: 0;
}

.list-none li {
  margin: 0px !important;
}

.fx-cell-image-sangre.position-relative {
  overflow: hidden;
}

.c-editor {
  max-width: 1080px !important;
  overflow: hidden;
}

.ntx-portfolio-cta-box {
  margin-top: -100px;
}

/* ==========================================================
     CSS COMPLEMENTARIO CENTRALIZADO (SIN TIPOGRAFÍAS INLINE/INJECT)
     ========================================================== -->


  /* Capa absoluta para renderizar la imagen nativa del HTML */
.disefix-hero-bg-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
  min-height: 700px;
}

.osmu-disefix-hero-wrapper {
  overflow: hidden;
  min-height: 800px;
  position: relative;
  display: grid;
  align-items: center;
  box-sizing: border-box;
}

.disefix-hero-bg-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
}

.disefix-hero-overlay {
    position: absolute;
    inset: 0;
    background: #0000007d;
    z-index: 1;
    pointer-events: none;
}

/* Eleva las capas de texto por sobre el fondo absoluto */
.disefix-relative-content {
  position: relative;
  z-index: 2;
}

/* Personalización del botón del banner azul */
.disefix-btn-submit {
  padding-left: 36px !important;
  padding-right: 36px !important;
}

.disefix-btn-submit:hover {
  background-color: #0c0d0c !important;
  color: #ffffff !important;
}

/* Helpers globales para este bloque */
.t-bla {
  color: #ffffff !important;
}

.opacity-80 {
  opacity: 0.8;
}

.m-0 {
  margin: 0;
}


/* COMPORTAMIENTO RESPONSIVO ADAPTADO (MOBILE Y TABLET) */
@media (max-width: 992px) {
  .disefix-hero-bg-container img {
    object-position: center;
  }



  .text-tp-center {
    text-align: center;
  }

  .f-c-tp {
    flex-direction: column !important;
  }

  .disefix-btn-container {
    width: 100% !important;
  }

  .disefix-btn-submit {
    width: fit-content !important;
    box-sizing: border-box;
  }
}

h2.font-30-fl.lh-1_2.f-300.prima span, h2.font-30-fl.lh-1_3.f-300.prima span {
  background: #4500FF;
  color: #fff;
}


/* ==========================================================
     CSS DE AJUSTE EXCLUSIVO (MANTENIENDO LÓGICA DE TU FRAMEWORK)
     ========================================================== */

.disefix-portfolio-section {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  /* Evita cualquier desborde horizontal en la página */
  min-height: 400px;
}

/* Fondo dividido perfectamente balanceado por detrás */
.disefix-portfolio-bg-split {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.disefix-bg-top-half {
  height: 48%;
  /* Margen de corte exacto según tu captura */
  width: 100%;

}

.disefix-bg-bottom-half {
  height: 52%;
  width: 100%;
}

.disefix-portfolio-content {
  position: relative;
  z-index: 2;
  width: 100%;
}

/* NUEVO ENCAPSULADOR: Mantiene el slider visible fuera de la grilla pero sin romper el body */
.disefix-slider-wrapper {
  width: 100%;
  overflow: hidden;
  padding: 20px 0;
}

/* Tarjetas proporcionales autoadministrables */
.disefix-portfolio-card {
  width: 100%;
  aspect-ratio: 4/4;
  display: block;
}

/* ==========================================================
     AJUSTES PRECISOS PARA LAS CLASES INTERNAS DE OWL CAROUSEL
     ========================================================== -->
  
  /* Permite que las tarjetas laterales asomen de forma balanceada */
.disefix-slider-wrapper .owl-stage-outer {
  overflow: visible !important;
}

/* Espaciado horizontal controlado entre las slides */
.disefix-owl-vitrina .owl-item {
  padding: 0 16px;
  box-sizing: border-box;
  transition: opacity 0.4s ease, transform 0.4s ease;
}

/* La tarjeta que está en el centro o enfocada toma opacidad completa */
.disefix-owl-vitrina .owl-item.active.center {
  opacity: 1 !important;
}

.galeria-seccion .disefix-portfolio-card {
  aspect-ratio: 16 / 16;
}

/* Configuración limpia de los indicadores inferiores (Dots) */
.disefix-owl-vitrina .owl-dots {
  margin-top: 40px !important;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.disefix-owl-vitrina .owl-dots .owl-dot span {
  width: 10px !important;
  height: 10px !important;
  background: #ccc !important;
  opacity: 0.3;
  margin: 0 !important;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.disefix-owl-vitrina .owl-dots .owl-dot.active span {
  background: #3b3bf5 !important;
  /* Tu azul eléctrico global */
  opacity: 1;
  transform: scale(1.2);
}

/* Helpers globales */
.t-bla {
  color: #ffffff !important;
}

.m-0 {
  margin: 0;
}

/* Ajuste para mobile en tu framework */
@media (max-width: 992px) {
  .disefix-slider-wrapper .owl-stage-outer {
    overflow: hidden !important;
    /* En móviles corta el desborde para asegurar el swipe táctil */
  }

  .disefix-owl-vitrina .owl-item {
    padding: 0 8px;
    opacity: 1;
    /* En celular es mejor ver la tarjeta activa completa */
  }

  .disefix-portfolio-card {
    aspect-ratio: 4 / 3;
  }
}

.disefix-bg-top-half {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  max-height: 50%;
}

.c-hdi {
  overflow: hidden;
  width: 100%;
}

/* ==========================================================
     CSS DE SOPORTE ESPECÍFICO (SIN CLASES EXTRA NI INLINE)
     ========================================================== -->
  
  .disefix-manifiesto-section {
    width: 100%;
    box-sizing: border-box;
  }

  /* Forzamos el peso ultra-marcado de la marca disefix */
.disefix-text-ultra {
  font-weight: 800;
}

/* Efecto de subrayado grueso y limpio idéntico al mockup del cliente */
.disefix-underline-editorial {
  display: inline-block;
  border-bottom: 2px solid #ffffff;
  padding-bottom: 4px;
}


/* COMPORTAMIENTO RESPONSIVO (MOBILE Y TABLET) */
@media (max-width: 992px) {
  .disefix-manifiesto-section .grid {
    row-gap: 40px;
    /* Separación vertical cómoda cuando colapsan las columnas */
  }

  /* Centrado opcional para pantallas pequeñas si buscas equilibrio visual */
  .disefix-manifiesto-section h2,
  .disefix-paragraphs-col {
    text-align: left;
    /* Mantiene la alineación original de la captura */
  }
}



/* ==========================================================
     CSS DE SOPORTE PARA EL SELECTOR DE SOLUCIONES INTERACTIVO
     ==========================================================*/

.disefix-solution-img-wrap {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  transition: filter 0.4s ease;
  border-radius: 20px;
  max-height: 380px;
}

.disefix-solutions-section h2 strong {
  display: block;
  font-size: 55px;
}

@media(max-width:812px) {
  .disefix-solutions-section h2 strong {
    display: block;
    font-size: 34px;
  }
}

.contenedor-900 {
  margin: 0 auto;
  max-width: 900px;
  padding-bottom: 50px;
}

.disefix-solution-content {
  padding: 20px;
}

.disefix-solution-card:hover {
  border-radius: 20px;
}

.disefix-solution-card:hover,
.disefix-solution-content:hover {
  color: #fff;
}

.disefix-card-actions ul {
  display: flex;
  list-style: none;
  padding: 0px;
}

a.btn-azul {
  display: block;
  width: fit-content;
  background: #3b3bf5;
  color: #fff;
  font-size: 14px;
  padding: 10px;
  border-radius: 10px;
  margin-right: 15px;
}

a.btn-transparente-blanco {
  display: block;
  width: fit-content;
  background: transparent;
  border: solid 1px #fff;
  color: #fff;
  font-size: 14px;
  padding: 10px;
  border-radius: 10px;
  margin-right: 15px;
}

@media(max-width:812px) {
  a.btn-transparente-blanco {
    display: block;
    width: fit-content;
    background: transparent;
    border: solid 1px #000;
    color: #000;
    font-size: 14px;
    padding: 10px;
    border-radius: 10px;
    margin-right: 15px;
  }

  .disefix-solution-card:hover a.btn-transparente-blanco {
    display: block;
    width: fit-content;
    background: transparent;
    border: solid 1px #fff;
    color: #fff;
    font-size: 14px;
    padding: 10px;
    border-radius: 10px;
    margin-right: 15px;
  }
}

.disefix-solutions-section {
  background: #D8D7F5;
  background: linear-gradient(180deg, rgba(216, 215, 245, 1) 0%, rgba(255, 255, 255, 1) 100%);
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.disefix-solutions-slider-wrapper {
  /* padding: 0px 30px; */
  object-fit: cover;
  max-width: 97%;
  margin: 0 auto;
}

.disefix-solutions-slider-wrapper {
  width: 100%;
}

/* Arquitectura base de las tarjetas de diagnóstico */
.disefix-solution-card {
  width: 100%;

  background-color: transparent;
  position: relative;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.disefix-solution-img-wrap {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  transition: filter 0.4s ease;
}

/* El truco de la opacidad blanquecina para las tarjetas inactivas */
.disefix-solution-card .disefix-solution-img-wrap img {
  transition: all 0.4s ease;
}

/* Caja de texto por defecto */
.disefix-solution-content {
  position: relative;
  z-index: 2;
  transition: all 0.4s ease;
}

.disefix-card-title {
  color: #888d99;
  /* Texto apagado por defecto */
  transition: color 0.4s ease;
}

/* Ocultamos los botones por defecto para que solo abran en la activa */
.disefix-card-actions {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s ease;
}

/* Botón negro transparente con borde blanco */
.bg-transparent-border-bla {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.bg-transparent-border-bla:hover {
  background: #ffffff !important;
  color: #0c0d0c !important;
}

/* ==========================================================
     LOGICA DE ACTIVACIÓN EXCLUSIVA (VINCULADA A OWL CAROUSEL)
     ========================================================== -->
  
  /* Cuando Owl Carousel activa la clase .center o pasamos el mouse (:hover) */
.disefix-owl-solutions .owl-item.active.center .disefix-solution-card,
.disefix-solution-card:hover {
  background-color: #0c0d0c;
  /* Base se vuelve negra sólida */
  box-shadow: 0 20px 40px rgba(12, 13, 12, 0.15);
}

.disefix-owl-solutions .owl-item.active.center .disefix-solution-card .disefix-solution-img-wrap img,
.disefix-solution-card:hover .disefix-solution-img-wrap img {
  filter: opacity(1) grayscale(0);
  /* Se ilumina la foto por completo */
}

.disefix-owl-solutions .owl-item.active.center .disefix-card-title,
.disefix-solution-card:hover .disefix-card-title {
  color: #ffffff;
  /* Texto pasa a blanco puro */
}

.disefix-owl-solutions .owl-item.active.center .disefix-card-actions,
.disefix-solution-card:hover .disefix-card-actions {
  opacity: 1;
  visibility: visible;
  max-height: 80px;
  /* Despliega los botones con suavidad */
  margin-top: 16px;
}

/* Ajustes generales de los Dots sobre fondo lavanda */
.disefix-owl-solutions .owl-dots {
  margin-top: 40px !important;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.disefix-owl-solutions .owl-dots .owl-dot span {
  width: 10px !important;
  height: 10px !important;
  background: #0c0d0c !important;
  opacity: 0.2;
  margin: 0 !important;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.disefix-owl-solutions .owl-dots .owl-dot.active span {
  background: #3b3bf5 !important;
  /* Tu azul eléctrico nativo */
  opacity: 1;
  transform: scale(1.2);
}


@media (max-width: 992px) {
  .disefix-owl-solutions .owl-stage-outer {
    overflow: hidden !important;
  }

  /* En móvil forzamos a que todas las tarjetas muestren su contenido para evitar depender del hover */
  .disefix-card-actions {
    opacity: 1;
    visibility: visible;
    max-height: 80px;
  }

  .disefix-card-title {
    color: #0c0d0c;
  }

  .disefix-solution-card .disefix-solution-img-wrap img {
    filter: opacity(1) grayscale(0);
  }
}

/* ==========================================================
     CSS DE SOPORTE PARA EL CARRUSEL DE TIPOLOGÍAS DE SITIO
     ========================================================== --> */

.disefix-project-types-section {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  z-index: 1;
}

.bg-negro-tipos {
  background: #3100FF;
  background: radial-gradient(circle, rgba(49, 0, 255, 1) 0%, rgba(0, 0, 0, 1) 50%);
  border-radius: 0px;
}

/* El destello azul eléctrico sutil que se desvanece por detrás en tu mockup */
.disefix-ambient-glow-azu {
  position: absolute;
  top: -20%;
  left: 10%;
  width: 600px;
  height: 600px;
  z-index: 1;
  pointer-events: none;
}

.disefix-types-relative-content {
  position: relative;
  z-index: 2;
}

/* Link editorial con tu color azul eléctrico */
.disefix-link-subrayado-azu a {
  color: #fff;
  text-decoration: none;
  border-bottom: 2px solid #fff;
  padding-bottom: 2px;
  display: block;
}

.disefix-text-heavy {
  font-weight: 800;
}

/* ==========================================================
     DISEÑO CORE DE LAS TARJETAS (ESTADO POR DEFECTO / INACTIVO)
     ========================================================== --> */

.disefix-type-card {
  width: 100%;
  background-color: transparent;
  transition: background-color 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.disefix-type-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1.2;
  /* Formato cuadrado perfecto para las capturas */
  overflow: hidden;
  border-radius: 20px;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Ocultamos la flecha en las tarjetas inactivas */
.disefix-type-arrow {
  opacity: 0;
  transform: translateX(-10px);
  transition: all 0.4s ease;
}

/* Base del título inactivo */
.disefix-type-footer {
  transition: background-color 0.4s ease, padding 0.4s ease;
}

/* ==========================================================
     LÓGICA DE ENFOQUE (VINCULADA AL CENTER DE OWL O HOVER)
     ========================================================== --> */

/* Cuando la tarjeta se vuelve activa en el slider o recibe hover */
.disefix-type-card:hover {
  background-color: #3b3bf5;
  /* La base se tiñe de tu azul nativo */
  border-radius: 20px;
}

.disefix-type-card img {
  transition: all 0.3s ease;
  transform: scale(1);
}

.disefix-type-card:hover img {
  transform: scale(1.2);
}

.disefix-type-footer {
  padding: 25px;
  box-sizing: border-box;
}

/* Despliegue de la flecha indicativa */
.disefix-owl-types .owl-item.active.center .disefix-type-arrow,
.disefix-type-card:hover .disefix-type-arrow {
  opacity: 1;
  transform: translateX(0);
}

/* Ajustes estructurales de los puntos (Dots) sobre el fondo negro */
.disefix-owl-types .owl-dots {
  margin-top: 40px !important;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.disefix-owl-types .owl-dots .owl-dot span {
  width: 10px !important;
  height: 10px !important;
  background: #ffffff !important;
  opacity: 0.3;
  margin: 0 !important;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.disefix-owl-types .owl-dots .owl-dot.active span {
  background: #3b3bf5 !important;
  opacity: 1;
  transform: scale(1.2);
}

.fijar-div {
  position: sticky;
  top: 150px;
}

@media (max-width: 992px) {

  .fijar-div {
    position: relative;
    top: 0px;
  }

  .disefix-owl-types .owl-stage-outer {
    overflow: hidden !important;
  }

  /* En dispositivos móviles simplificamos el comportamiento visual para mejorar rendimiento touch */

  .disefix-type-img-wrap {
    transform: scale(0.95);
    margin-top: 8px;
  }

  .disefix-type-arrow {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ==========================================================
     HOJA DE CLASES NUEVAS EXCLUSIVAS (SIN CLASES DUPLICADAS)
     ========================================================== --> */


/* NUEVA CLASE UTILITARIA DE ALINEACIÓN HORIZONTAL EXTREMA */
.disefix-space-between {
  justify-content: space-between !important;
  align-items: center;
}

.disefix-cta-pad {
  padding: 16px 36px !important;
}

.disefix-accordion-item {
  border-bottom: 1px solid rgba(12, 13, 12, 0.12);
}

.disefix-accordion-header {
  background: transparent;
  border: none;
  padding: 24px 0;
  cursor: pointer;
  outline: none;
  width: 100%;
}

.disefix-accordion-arrow {
  font-size: 11px;
  transition: transform 0.3s ease;
}

.disefix-accordion-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease;
}

.disefix-accordion-content p {
  padding-bottom: 24px;
}

/* ACCIONES INTERACTIVAS DINÁMICAS */
.disefix-accordion-item.active .disefix-accordion-content {
  max-height: 220px;
  opacity: 1;
}

.disefix-accordion-item.active .disefix-accordion-arrow {
  transform: rotate(180deg);
}

@media (max-width: 992px) {
  .disefix-accordion-header {
    padding: 18px 0;
  }
}

/* ==========================================================
     CSS COMPLEMENTARIO TOTALMENTE NUEVO (SIN CLASES REPETIDAS)
     ========================================================== --> */

ul.fx-lines-benefit-list {
  list-style: none;
  padding: 0px;
  margin: 30px 0px;
}

.fx-blue-check-mark {
  color: #3b3bf5;
  font-weight: 800;
  padding-right: 20px;
  font-size: 23px;
}

.fx-lines-benefit-list li {
  border-top: 1px solid rgba(12, 13, 12, 0.12);
  padding: 16px 0;
  color: #0c0d0c;
  font-size: 16px;
  font-weight: 400;
}

.fx-brand-manifest-wrapper {
  width: 100%;
  box-sizing: border-box;
}

/* Fuerza a la grilla a ignorar márgenes e ir a sangre */
.fx-grid-master {
  margin: 0 !important;
  width: 100% !important;
}

/* ALINEACIÓN IZQUIERDA: Empuja el bloque a la derecha de su celda con un tope de 550px */
.fx-cell-text-container {
  width: 100%;
  box-sizing: border-box;
  padding-left: 5%;
  padding-right: 5%;
}

.fx-interior-align-block {
  max-width: 550px;
  width: 100%;
  margin-left: auto;
  /* Truco clave: empuja el contenedor a la derecha de su celda */
}

/* ALINEACIÓN DERECHA: Imagen a sangre sin límites en la composición */
.fx-cell-image-sangre {
  background-color: #0d0926;
  /* Color de respaldo por si el render tarda en cargar */
}

.fx-sangre-render {
  display: block;
}

/* Configuración milimétrica de las líneas de la captura */
.fx-lines-benefit-list li {
  border-top: 1px solid rgba(12, 13, 12, 0.12);
  padding: 16px 0;
  color: #0c0d0c;
}

.fx-lines-benefit-list li:last-child {
  border-bottom: 1px solid rgba(12, 13, 12, 0.12);
}

/* Icono check azul eléctrico de Disefix */
.fx-blue-check-mark {
  color: #3b3bf5;
  font-weight: 800;
}

/* Elementos específicos del banner inferior */
.fx-tag-pro-badge {
  color: #3b3bf5 !important;
  padding: 2px 6px;
  margin-left: 6px;
  vertical-align: middle;
}

.fx-editorial-anchor {
  text-decoration: none;
  border-bottom: 2px solid #ffffff;
  padding-bottom: 4px;
}

/* RESPONSIVO RESPONSADO (MÓVILES Y TABLETS) */
@media (max-width: 992px) {
  .fx-cell-text-container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .fx-interior-align-block {
    max-width: 100%;
    margin-left: 0;
  }

  .fx-cell-image-sangre {
    height: 450px;
    /* Altura controlada para celulares */
  }

  .fx-banner-wrapper-full {
    padding-left: 20px;
    padding-right: 20px;
  }

  .f-c-tp {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .text-tp-left {
    text-align: left;
  }
}

/* COMPONENTE CINTURÓN AZUL - NATIVUX */

.tracking-wide {
  letter-spacing: 0.04em;
}

.tracking-wider {
  letter-spacing: 0.08em;
}

.valign-super {
  vertical-align: super;
}

/* Fondo azul eléctrico puro */
.ntx-bg-electric-blue {
  background-color: #1a3bf5;
}

/* Formateo e interacción del enlace técnico inferior */
.ntx-underline-link {
  text-decoration: underline;
  text-underline-offset: 6px;
  transition: opacity 0.2s ease;
}

.ntx-underline-link:hover {
  opacity: 0.8;
}

/* COMPONENTE CONVERSION SPLIT RECTIFICADO - NATIVUX */

.w-100 {
  width: 100%;
}

/* Tono de fondo grisáceo suave y limpio del canvas original */
.ntx-bg-canvas {
  background-color: #ebeef2;
}

/* ==========================================
   ESTILOS DEL CONTENEDOR CUSTOM DE TEXTO
   ========================================== */

.ntx-text-column-cell {
  box-sizing: border-box;
}

/* El bloque de texto parametrizado a tus medidas exactas */
.ntx-text-custom-box {
  width: 100%;
  max-width: 550px;
  /* Ancho fijo customizado */
  margin-right: 50px;
  /* Margen derecho solicitado */
  box-sizing: border-box;
}

/* Color de alta legibilidad para el cuerpo editorial descriptor */
.t-flow-dark {
  color: #27272a;
}

/* ==========================================
   BOTÓN CON COLOR INDIGO/AZUL CORPORATIVO DISEXFIX
   ========================================== */

.ntx-btn-vivid-blue {
  background-color: #2212f4;
  /* Azul eléctrico de DiseFix */
  color: #ffffff;
  border: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.ntx-btn-vivid-blue:hover {
  background-color: #1609be;
  transform: translateY(-1px);
}

/* ==========================================
   CONTENEDOR DE IMAGEN (ESQUINAS ASIMÉTRICAS)
   ========================================== */

.ntx-editorial-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1.15 / 1;
  /* Sostiene la misma proporción de la captura */
  /* Curvaturas del mockup original: esquina superior derecha recta, el resto orgánicas */
  border-radius: 44px 0px 44px 44px;
  box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.04);
}

.ntx-editorial-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================
   ADAPTABILIDAD RESPONSIVA (BREAKPOINTS)
   ========================================== */

@media (max-width: 992px) {

  /* En tabletas y móviles eliminamos el margin-right y centramos para una lectura limpia */
  .ntx-text-column-cell {
    justify-content: center !important;
    padding: 0 20px;
  }

  .ntx-text-custom-box {
    margin-right: 0 !important;
    max-width: 100%;
  }

  .ntx-editorial-frame {
    aspect-ratio: 1.2 / 1;
    border-radius: 24px;
    /* Suavizado estándar en formatos pequeños */
  }
}

/* COMPONENTE PORTAFOLIO CON SUPERPOSICIÓN DE CTA - NATIVUX */

.position-relative {
  position: relative;
}

.transition {
  transition: all 0.25s ease;
}

/* ==========================================
   GRADIENTE LINEAL PROFUNDO DE FONDO
   ========================================== */
.ntx-portfolio-gradient-section {
  /* Degradado fluido desde un azul oscuro profundo a un tono noche eléctrico */
  background: linear-gradient(180deg, #000 0%, #0a065c 50%, #0d0875 100%);
  position: relative;
}

.ntx-portfolio-card {
  box-sizing: border-box;
}

/* ==========================================
   MANEJO DE COBERTURAS (ASPECT RATIOS)
   ========================================== */

.ntx-portfolio-img-wrapper {
  width: 100%;
  box-sizing: border-box;
}

.ntx-portfolio-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ntx-ratio-standard {
  aspect-ratio: 1.5 / 1;
}

.ntx-ratio-vertical {
  aspect-ratio: 1 / 1.25;
}

.ntx-ratio-vertical-sm {
  aspect-ratio: 1 / 1.12;
}

.ntx-ratio-deep-vertical {
  aspect-ratio: 1 / 1.2;
}

/* ==========================================
   INTERFACES DE BOTONES
   ========================================== */

.ntx-btn-portfolio {
  background-color: #1f0bf3;
  color: #ffffff;
  padding: 10px 24px;
  border: none;
  text-decoration: none;
  line-height: 1;
}

.ntx-btn-portfolio:hover {
  background-color: #1607bc;
  transform: translateY(-1px);
}

.ntx-vivid-blue-btn {
  background-color: #1f0bf3;
  color: #ffffff;
  padding: 14px 36px;
  border: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.ntx-vivid-blue-btn:hover {
  background-color: #1607bc;
  transform: translateY(-2px);
}

/* ==========================================
   MECÁNICA DE SUPERPOSICIÓN (MITAD Y MITAD)
   ========================================== */

/* Bloque contenedor que rompe la inercia y jala el elemento hacia arriba */
.ntx-cta-overlap-wrapper {
  /* Margen negativo equivalente a la mitad estimada de la altura del CTA */
  margin-top: -75px;
  position: relative;
  z-index: 10;
  /* Se posiciona firmemente sobre el bloque oscuro anterior */
  box-sizing: border-box;
}

/* Tarjeta de conversión */
.ntx-portfolio-cta-box {
  width: 100%;
  box-sizing: border-box;
  box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.12);
  z-index: 2;
  margin-top: -82px;
  position: relative;
  background: #fff;
  padding: 50px 30px;
}

/* Espaciado de resguardo para la sección inferior que viene a continuación */
.ntx-section-cta-trigger {
  padding-bottom: 40px;
  box-sizing: border-box;
}

/* ==========================================
   ADAPTABILIDAD RESPONSIVA (BREAKPOINTS)
   ========================================== */

@media (max-width: 992px) {
  .ntx-portfolio-img-wrapper {
    aspect-ratio: 16 / 11 !important;
  }

  /* En móviles reducimos el impacto del jalón negativo para balancear los paddings */
  .ntx-cta-overlap-wrapper {
    margin-top: -50px;
  }
}


/* COMPONENTE INDUSTRIAS SLIDER MIXTO - NATIVUX */

.ntx-solution-card {
  text-decoration: none;
  /* Elimina líneas inferiores por defecto */
  display: flex;
}

.t-flow-dark {
  color: #27272a;
}

.ntx-solution-card {
  box-sizing: border-box;
}

/* ==========================================
   CONFIGURACIÓN INTERNA DEL CARRUSEL SANGUINARIO
   ========================================== */

/* Añade un resguardo en los extremos del contenedor full para que las tarjetas 
   no toquen bruscamente los bordes físicos de la pantalla en layouts planos */
.ntx-solutions-carousel {
  box-sizing: border-box;
}

.ntx-solution-img-box {
  width: 100%;
  aspect-ratio: 1 / 1.25;
  box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.02);
}

.ntx-solution-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ntx-solution-card:hover .ntx-solution-img-box img {
  transform: scale(1.03);
}

/* ==========================================
   PUNTOS DE INTERACCIÓN BAJOS (OWL DOTS)
   ========================================== */

.ntx-solutions-carousel .owl-dots {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding-top: 40px;
  box-sizing: border-box;
}

.ntx-solutions-carousel .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  background-color: #e4e4e7 !important;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.ntx-solutions-carousel .owl-dots .owl-dot.active span {
  background-color: #2212f4 !important;
  /* Azul DiseFix */
  transform: scale(1.1);
}

/* ==========================================
   ADAPTABILIDAD RESPONSIVA (BREAKPOINTS)
   ========================================== */

@media (max-width: 768px) {

  /* En pantallas móviles reducimos el padding de sangrado para optimizar espacio */
  .ntx-solutions-carousel {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* COMPONENTE INTERACTIVO IA COMPACTO Y STICKY - NATIVUX */

/* RESET DE LISTA EDITORIAL - NATIVUX */
.ntx-clean-list {
  list-style: none;
  padding: 0;
}

.position-relative {
  position: relative;
}

.w-100 {
  width: 100%;
}

/* Color de fondo gris suave del canvas */
.ntx-bg-canvas {
  background-color: #ebeef2;
}

/* ==========================================
   ALINEACIONES Y CONTENEDOR CUSTOM (500PX)
   ========================================== */

.ntx-text-column-cell {
  box-sizing: border-box;
}


/* Cajas contenedoras de la lista (Agrupación compacta) */
.ntx-list-block {
  width: 100%;
  box-sizing: border-box;
}

.t-flow-dark {
  color: #27272a;
}

/* Separador técnico superior de la lista */
.ntx-list-separator {
  width: 100%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
  margin: 30px 0px;
}

/* Botón de conversión DiseFix */
.ntx-btn-vivid-blue {
  background-color: #2212f4;
  color: #ffffff;
  padding: 14px 32px;
  border: none;
  transition: background-color 0.2s ease;
}

.ntx-btn-vivid-blue:hover {
  background-color: #1609be;
}

/* ==========================================
   MECÁNICA STICKY Y ADHERENCIA AL ORILLO
   ========================================== */

/* Columna que se congela verticalmente durante el scroll técnico */
.ntx-sticky-container-column {
  position: sticky;
  top: 60px;
  /* Distancia de enganche con la parte superior del navegador */
  z-index: 10;
  box-sizing: border-box;
}

/* Cuadro fotográfico que sangra hasta el borde derecho de la pantalla */
.ntx-editorial-sticky-frame {
  width: 100%;
  aspect-ratio: 1 / 1.05;
  /* Esquinas redondeadas asimétricas del diseño original */
  border-radius: 44px 0px 44px 0px;
  position: sticky;
  top: 50px;
}

.ntx-editorial-sticky-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Composición de la tarjeta blanca absoluta */
.ntx-absolute-floating-card {
  position: absolute;
  bottom: 30px;
  left: 30px;
  right: 30px;
  z-index: 5;
  box-shadow: 0px 15px 35px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}

/* ==========================================
   ADAPTABILIDAD RESPONSIVA (BREAKPOINTS)
   ========================================== */

@media (max-width: 992px) {

  /* En formatos verticales liberamos el sticky y el margin-right para evitar colisiones */
  .ntx-sticky-container-column {
    position: relative;
    top: 0 !important;
    padding: 0 20px;
  }

  .ntx-text-column-cell {
    justify-content: center !important;
    padding: 0 20px;
  }

  .ntx-editorial-sticky-frame {
    aspect-ratio: 1.2 / 1;
    border-radius: 24px;
    /* Suavizado estándar en móviles */
  }

  .ntx-absolute-floating-card {
    position: relative;
    bottom: 0;
    left: 0;
    right: 0;
    margin-top: 20px;
  }
}

.ntx-text-custom-box p {
  margin: 0px;
  padding: 0px;
  margin-bottom: 15px;
}

a.ntx-carousel-card img {
  height: auto;
  min-height: 400px;
  object-fit: cover;
}

/* COMPONENTE INTERACTIVO FAQ ACCORDION - NATIVUX */

.sticky-faq {
  position: sticky;
  top: 150px;
}

.w-100 {
  width: 100%;
}

.cursor-pointer {
  cursor: pointer;
}

.transition {
  transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Caja de resguardo izquierdo para evitar estiramientos innecesarios */
.ntx-faq-editorial-side {
  box-sizing: border-box;
  max-width: 460px;
}

/* Botón con color azul corporativo DiseFix */
.ntx-btn-vivid-blue {
  background-color: #2212f4;
  color: #ffffff;
  padding: 14px 32px;
  border: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.ntx-btn-vivid-blue:hover {
  background-color: #1609be;
  transform: translateY(-1px);
}

/* ==========================================
   ESTRUCTURA Y COMPORTAMIENTO DEL ACORDEÓN
   ========================================== */

.ntx-faq-accordion-side {
  box-sizing: border-box;
}

/* Remoción del marcador triangular por defecto de las etiquetas HTML summary */
.ntx-accordion-header {
  list-style: none;
  outline: none;
}

.ntx-accordion-header::-webkit-details-marker {
  display: none;
  /* Reset específico para navegadores basados en WebKit */
}

/* Filas divisorias del acordeón idénticas al mockup */
.ntx-accordion-item {
  width: 100%;
  border-bottom: 1px solid #e5e7eb;
  box-sizing: border-box;
}

/* Dimensiones del icono de flecha lateral */
.ntx-accordion-chevron {
  width: 16px;
  height: 16px;
  color: #111827;
  flex-shrink: 0;
}

/* ==========================================
   DINÁMICA DE ESTADOS ACTIVOS (DETAILS OPEN)
   ========================================== */

/* Rotación automatizada del icono al abrirse la pregunta */
details[open] .ntx-accordion-chevron {
  transform: rotate(180deg);
}

/* Suavizado cromático para el cuerpo del texto descriptivo interno */
.t-flow-dark {
  color: #4b5563;
}

/* Contenedor del texto de respuesta interna */
.ntx-accordion-content {
  box-sizing: border-box;
  animation: ntxFadeIn 0.35s ease-out;
  /* Micro-animación de aparición fluida */
}

@keyframes ntxFadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.suave {
  opacity: 1 !important;
}

ul.disefix-accordion {
  list-style: none;
  padding: 0px;
}

button.disefix-accordion-header span {
  text-align: left;
}

/* COMPONENTE HERO FINAL DE CONVERSIÓN RECTIFICADO - NATIVUX */

/* El contenedor full ahora absorbe la imagen de fondo y el degradado para sangrar al orillo */
.ntx-final-conversion-hero {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  /* Blend de gradiente oscuro a la izquierda e imagen real a la derecha */
  background-image: linear-gradient(to right, rgba(6, 3, 31, 0.98) 0%, rgba(6, 3, 31, 0.85) 45%, rgba(6, 3, 31, 0.1) 100%),
    url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1600&q=80');
  background-size: cover;
  background-position: center right;
  min-height: 560px;
  /* Garantiza la proporción del espacio para desktop */
}

/* Interacción del botón principal */
.ntx-btn-final-cta {
  border: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ntx-btn-final-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0px 8px 24px rgba(255, 255, 255, 0.15);
}

.overlay-general {
  width: 100%;
  height: 100%;
  background: #00000087;
  position: absolute;
}

/* ==========================================
   ADAPTABILIDAD RESPONSIVA (BREAKPOINTS)
   ========================================== */

@media (max-width: 813px) {
  .ntx-final-conversion-hero {
    /* En móviles alteramos el gradiente de forma vertical (arriba a abajo) para blindar la lectura */
    background-image: linear-gradient(180deg, rgba(6, 3, 31, 0.96) 0%, rgba(6, 3, 31, 0.85) 100%),
      url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1000&q=80');
    min-height: auto;
    /* Permite que el padding-100-fl de Nativux maneje el alto orgánico */
  }


}


.disefix-hero-bg-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
  background: #000;
}

.disefix-hero-bg-container .cover,
.disefix-hero-bg-container video,
.disefix-hero-bg-container img,
.disefix-hero-video,
.disefix-hero-image {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  display: block;
}


.disefix-relative-content {
  position: relative;
  z-index: 2;
}

.disefix-types-relative-content {
  padding-bottom: 70px;
}


.disefix-cotizador {
  --df-left-bg: #000;
  --df-left-text: #fff;
  --df-center-bg: #fff;
  --df-center-text: #000;
  --df-accent: #e1fa75;
  --df-accent-text: #000;
  --df-card-bg: #fff;
  --df-card-text: #000;
  --df-option-border: #b3b3b3;
  --df-selected-bg: #000;
  --df-selected-text: #fff
}

.disefix-cotizador * {
  box-sizing: border-box
}

.disefix-cotizador .viewport-grid {
  display: grid;
  grid-template-columns: 3fr 3.2fr 3.8fr;
  width: 100%
}

.disefix-cotizador .col-black {
  background: var(--df-left-bg);
  color: var(--df-left-text);
  padding: 8% 12% 8% 10%;
  display: flex;
  flex-direction: column;
  justify-content: center
}

.disefix-cotizador .main-title {
  font-weight: 700;
  line-height: 1.15;
  margin: 0 0 50px;
  letter-spacing: -1px;
  color: inherit
}

.disefix-cotizador .main-title strong,
.disefix-cotizador .main-title span {
  font-weight: 900;
  display: block
}

.disefix-cotizador .desc-group {
  display: flex;
  flex-direction: column;
  gap: 25px;
  max-width: 380px
}

.disefix-cotizador .desc-text {
  font-size: 1.05rem;
  line-height: 1.6;
  color: inherit;
  margin: 0;
  opacity: .9
}

.disefix-cotizador .col-white {
  background: var(--df-center-bg);
  color: var(--df-center-text);
  padding: 8%;
  display: flex;
  flex-direction: column;
  overflow: auto;
  max-height: 800px;
  min-height: 700px;
}

.disefix-cotizador .section-tag {
  font-size: 1.1rem;
  color: inherit;
  margin-bottom: 20px;
  font-weight: 400
}

.disefix-cotizador .question-title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 35px;
  letter-spacing: -.5px;
  color: inherit
}

.disefix-cotizador .options-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 0px
}

.disefix-cotizador .option-item {
  width: 100%;
  background: transparent;
  border: 1px solid var(--df-option-border);
  padding: 18px 20px;
  text-align: left;
  font: inherit;
  font-size: 1rem;
  font-weight: 700;
  color: inherit;
  cursor: pointer;
  transition: all .2s ease
}

.disefix-cotizador .option-item.selected {
  background: var(--df-selected-bg);
  border-color: var(--df-selected-bg);
  color: var(--df-selected-text)
}

.disefix-cotizador .btn-next {
  align-self: flex-start;
  background: var(--df-accent);
  color: var(--df-accent-text);
  border: none;
  padding: 16px 32px;
  font: inherit;
  font-size: 1.2rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform .2s, opacity .2s
}

.disefix-cotizador .btn-next:hover {
  transform: scale(1.03)
}

.disefix-cotizador .btn-next:disabled {
  opacity: .35;
  cursor: not-allowed;
  transform: none
}

.disefix-cotizador .btn-secondary {
  background: transparent;
  color: inherit;
  border: 1px solid var(--df-option-border);
  padding: 16px 24px;
  font: inherit;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer
}

.disefix-cotizador .col-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
  padding: 40px;
  min-height: 100%
}

.disefix-cotizador .overlay-card {
  background: var(--df-card-bg);
  color: var(--df-card-text);
  width: 100%;
  border-radius: 16px;
  padding: 35px;
  display: flex;
  align-items: flex-start;
  gap: 25px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, .15)
}

.disefix-cotizador .card-number {
  font-size: 4.5rem;
  font-weight: 900;
  line-height: .8;
  letter-spacing: -2px
}

.disefix-cotizador .card-content {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.disefix-cotizador .card-content h4 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
  color: inherit
}

.disefix-cotizador .card-content p {
  font-size: .95rem;
  line-height: 1.5;
  color: inherit;
  opacity: .82;
  margin: 0
}

.disefix-cotizador .micro-note {
  font-size: .86rem;
  line-height: 1.5;
  color: inherit;
  opacity: .75;
  margin-top: -22px;
  margin-bottom: 24px
}

.disefix-cotizador .text-input,
.disefix-cotizador .form-grid input,
.disefix-cotizador .form-grid textarea {
  width: 100%;
  border: 1px solid var(--df-option-border);
  padding: 16px 18px;
  font: inherit;
  font-size: 1rem;
  font-weight: 600;
  outline: none;
  resize: vertical
}

.disefix-cotizador .text-input {
  margin-bottom: 24px
}

.disefix-cotizador .form-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 28px
}

.disefix-cotizador .result-box {
  border: 1px solid currentColor;
  padding: 24px;
  margin-bottom: 28px
}

.disefix-cotizador .result-badge {
  display: inline-block;
  background: var(--df-accent);
  color: var(--df-accent-text);
  padding: 8px 12px;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  margin-bottom: 16px
}

.disefix-cotizador .result-box h4 {
  font-size: 1.35rem;
  line-height: 1.25;
  margin: 0 0 14px;
  color: inherit
}

.disefix-cotizador .result-box p {
  font-size: .96rem;
  line-height: 1.55;
  color: inherit;
  margin: 0
}

.disefix-cotizador .mini-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap
}

.disefix-cotizador .progress-line {
  width: 100%;
  height: 5px;
  background: rgba(0, 0, 0, .08);
  margin-bottom: 22px;
  overflow: hidden
}

.disefix-cotizador .progress-line span {
  display: block;
  height: 100%;
  width: 0%;
  background: currentColor;
  transition: width .25s ease
}

@media (max-width:1100px) {
  .disefix-cotizador .viewport-grid {
    grid-template-columns: 1fr;
    min-height: auto
  }

  .disefix-cotizador .col-black,
  .disefix-cotizador .col-white,
  .disefix-cotizador .col-hero {
    padding: 60px 40px
  }

  .disefix-cotizador .col-hero {
    min-height: 500px
  }

  .disefix-cotizador .main-title {
    font-size: 2.35rem
  }
}


/* Control de Márgenes Manuales Obligatorios por Namespacing */
.ntx-rubros-carousel .ntx-header-text-block .ntx-p-spacing {
  margin-top: 20px;
}

.ntx-rubros-carousel .ntx-subtitle-margin {
  margin-top: 40px;
}

.ntx-rubros-carousel .ntx-carousel-container-margin {
  margin-top: 40px;
}

.ntx-rubros-carousel .ntx-card-desc-margin {
  margin-top: 10px;
  line-height: 1.4;
}

.ntx-rubros-carousel .ntx-btn-footer-margin {
  margin-top: 50px;
}

/* Estilo Base de las Tarjetas (Fondo sutil translúcido oscuro) */
.ntx-rubros-carousel .ntx-carousel-card {
  background-color: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
  height: 100%;
}

/* CORRECCIÓN HOVER ELÉCTRICO: Muta de forma reactiva al pasar el cursor */
.ntx-rubros-carousel .ntx-carousel-card:hover {
  background-color: #2f14ff !important;
  border-color: transparent;
  transform: translateY(-4px);
}


/* Botón Custom Eléctrico Centrado */
.ntx-rubros-carousel .ntx-electric-button {
  background-color: #2f14ff;
  padding-left: 50px !important;
  padding-right: 50px !important;
  transition: transform 0.2s, background-color 0.2s;
}

.ntx-rubros-carousel .ntx-electric-button:hover {
  background-color: #1a00e6;
  transform: translateY(-2px);
}

/* Controles de Navegación de Owl (Dots Minimalistas) */
.ntx-rubros-carousel .owl-dots {
  text-align: center;
  margin-top: 40px;
}

.ntx-rubros-carousel .owl-dot span {
  width: 8px !important;
  height: 8px !important;
  background: rgba(255, 255, 255, 0.2) !important;
  display: inline-block;
  margin: 0 6px;
  border-radius: 50%;
  transition: all 0.25s ease;
}

.ntx-rubros-carousel .owl-dot.active span {
  background: #2f14ff !important;
  width: 24px !important;
  border-radius: 4px !important;
}

.tit-eco {
  padding-bottom: 40px;
  border-bottom: solid 1px #ffffff47;
}

/* Control estricto de márgenes manuales por anidación (Sin clases globales en HTML) */
.ntx-ecommerce-types .ntx-left-desc {
  margin-top: 30px;
}

.ntx-ecommerce-types .ntx-left-desc-sub {
  margin-top: 20px;
}

.ntx-ecommerce-types .ntx-btn-wrapper {
  margin-top: 40px;
}

.ntx-ecommerce-types .ntx-list-container {
  margin-top: 30px;
}

.ntx-ecommerce-types .ntx-item-desc {
  margin-top: 10px;
}

/* Separadores lineales idénticos a tu captura de pantalla */
.ntx-ecommerce-types .ntx-list-item {
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  padding-top: 20px;
  padding-bottom: 20px;
}

/* El primer elemento no lleva borde superior para mantener la simetría con la intro */
.ntx-ecommerce-types .ntx-list-item:first-child {
  border-top: none;
  padding-top: 0;
}

/* Ajuste de padding de salida del último elemento */
.ntx-ecommerce-types .ntx-list-item:last-child {
  padding-bottom: 0;
}

/* Forzar ancho fluido controlado sobre tu botón mediano nativo */
.ntx-ecommerce-types .bt-n {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.ntx-agency-fullscreen-contact .ntx-data-anchor {
  margin-top: 4px;
  text-decoration: none;
  display: inline-block
}

.ntx-agency-fullscreen-contact .ntx-data-text {
  margin-top: 4px;
  display: inline-block
}

.ntx-agency-fullscreen-contact .ntx-step-label {
  margin-top: 12px;
  line-height: 1.3
}

.ntx-agency-fullscreen-contact .ntx-form-caption {
  margin-top: 8px;
  line-height: 1.45
}

.ntx-agency-fullscreen-contact .ntx-contact-core-form {
  margin-top: 40px
}

.ntx-agency-fullscreen-contact .ntx-form-action-margin {
  margin-top: 10px
}

.ntx-agency-fullscreen-contact .ntx-agency-contact-data {
  margin-top: 30px
}

.ntx-agency-fullscreen-contact .ntx-editorial-center-wrapper {
  margin-top: auto;
  margin-bottom: auto
}

.ntx-agency-fullscreen-contact .ntx-left-branding-panel,
.ntx-agency-fullscreen-contact .ntx-right-form-panel {
  min-height: 900px
}

.ntx-agency-fullscreen-contact .ntx-emerald-matte-layer {
  z-index: 2
}

.ntx-agency-fullscreen-contact .ntx-step-block {
  background-color: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px)
}

.ntx-agency-fullscreen-contact .ntx-step-block.active {
  border-color: transparent;
  box-shadow: 0 15px 40px rgba(0, 0, 0, .25)
}

.ntx-agency-fullscreen-contact .ntx-step-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, .1)
}

.ntx-agency-fullscreen-contact .ntx-form-bounding-box {
  width: 100%;
  max-width: 500px;
  margin: 0 auto
}

.ntx-agency-fullscreen-contact .ntx-dark-input,
.ntx-agency-fullscreen-contact .ntx-dark-textarea {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, .05);
  padding: 14px 18px;
  outline: none;
  box-sizing: border-box;
  transition: border-color .2s ease, background-color .2s ease
}

.ntx-agency-fullscreen-contact .ntx-dark-textarea {
  height: 120px;
  resize: none
}

.ntx-agency-fullscreen-contact .ntx-error {
  border-color: #ff5a5a !important;
  background: rgba(255, 90, 90, .08) !important
}

.ntx-agency-fullscreen-contact .ntx-field-error {
  color: #ff8b8b;
  font-size: 12px;
  font-weight: 700;
  margin-top: 7px
}

.ntx-agency-fullscreen-contact .ntx-success-screen {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  z-index: 999998;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease
}

.ntx-agency-fullscreen-contact .ntx-success-screen.is-active {
  opacity: 1;
  visibility: visible
}

.ntx-agency-fullscreen-contact .ntx-success-card {
  width: min(500px, 100%);
  background: linear-gradient(180deg, #121416, #080909);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 30px;
  padding: 42px;
  text-align: center;
  color: #fff;
  box-shadow: 0 40px 120px rgba(0, 0, 0, .55)
}

.ntx-agency-fullscreen-contact .ntx-loader-ring,
.ntx-agency-fullscreen-contact .ntx-mini-loader {
  width: 38px;
  height: 38px;
  border: 2px solid rgba(255, 255, 255, .18);
  border-top-color: #fff;
  border-radius: 50%;
  animation: ntxContactSpin .8s linear infinite
}

.ntx-agency-fullscreen-contact .ntx-loader-ring {
  margin: 0 auto 22px
}

.ntx-agency-fullscreen-contact .ntx-mini-loader {
  width: 16px;
  height: 16px;
  display: inline-block;
  margin-right: 8px;
  vertical-align: -3px;
  border-color: rgba(0, 0, 0, .18);
  border-top-color: #000
}

.ntx-agency-fullscreen-contact .ntx-success-check {
  display: none;
  width: 68px;
  height: 68px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: #fff;
  color: #000;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  font-weight: 900
}

.ntx-agency-fullscreen-contact .ntx-success-check.is-active {
  display: flex
}

.ntx-agency-fullscreen-contact .ntx-success-actions {
  display: none;
  flex-direction: column;
  gap: 12px;
  margin-top: 26px
}

.ntx-agency-fullscreen-contact .ntx-success-actions.is-active {
  display: flex
}

.ntx-agency-fullscreen-contact .ntx-success-actions a,
.ntx-agency-fullscreen-contact .ntx-success-actions button {
  border-radius: 999px;
  padding: 15px 18px;
  border: 0;
  background: #fff;
  color: #000;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .4px
}

.ntx-agency-fullscreen-contact .ntx-success-actions button {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .18)
}

@keyframes ntxContactSpin {
  to {
    transform: rotate(360deg)
  }
}

@media(max-width:812px) {
  .ntx-agency-fullscreen-contact .ntx-contact-grid {
    display: flex !important;
    flex-direction: column !important
  }

  .ntx-agency-fullscreen-contact .ntx-right-form-panel {
    order: 1 !important;
    min-height: auto !important;
    padding: 110px 22px 60px !important
  }

  .ntx-agency-fullscreen-contact .ntx-left-branding-panel {
    order: 2 !important;
    min-height: 640px !important;
    padding: 80px 22px 40px !important
  }

  .ntx-agency-fullscreen-contact .ntx-floating-header {
    padding: 24px 20px !important
  }

  .ntx-agency-fullscreen-contact .ntx-floating-header .bt-s {
    font-size: 10px !important;
    padding: 10px 16px !important
  }

  .ntx-agency-fullscreen-contact .ntx-editorial-center-wrapper h2 {
    font-size: 42px !important;
    line-height: .95 !important
  }

  .ntx-agency-fullscreen-contact .ntx-timeline-cards-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important
  }

  .ntx-agency-fullscreen-contact .ntx-form-bounding-box {
    max-width: 100% !important
  }
}

.let {
  max-width: 500px;
  z-index: 100;
  gap: 40px;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}

.ntx-agency-fullscreen-contact .ntx-data-anchor {
  margin-top: 15px;
  text-decoration: none;
  display: inline-block;
  font-size: 24px;
  border-bottom: solid 1px #cccccc52;
  padding-bottom: 20px;
}

/* Reset Estricto Técnico Local */
.dfx-audi-benefits {
  background-color: #1e02ff;
  /* El color azul eléctrico vivo exacto de tu captura */
  max-width: 1200px;
  margin: 0 auto;
  width: 90%;
  box-sizing: border-box;
}

.dfx-audi-benefits * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Flex y Alineaciones Core */
.dfx-audi-benefits .flex {
  display: flex;
}

.dfx-audi-benefits .f-c {
  flex-direction: column;
}

.dfx-audi-benefits .ai-center {
  align-items: center;
}

.dfx-audi-benefits .jc-entre {
  justify-content: space-between;
}

.dfx-audi-benefits .center-center {
  justify-content: center;
  align-items: center;
}

.dfx-audi-benefits .prima {
  font-family: 'Poppins', sans-serif;
}

.dfx-audi-benefits .secon {
  font-family: 'Inter', sans-serif;
}

.dfx-audi-benefits .t-bla {
  color: #ffffff;
}

.dfx-audi-benefits .f-700 {
  font-weight: 700;
}

.dfx-audi-benefits .f-800 {
  font-weight: 800;
}

.dfx-audi-benefits .font-14 {
  font-size: 14px;
}

.dfx-audi-benefits .font-16 {
  font-size: 16px;
}

.dfx-audi-benefits .font-18 {
  font-size: 18px;
}

.dfx-audi-benefits .font-24 {
  font-size: 24px;
}

.dfx-audi-benefits .font-36 {
  font-size: 36px;
}

.dfx-audi-benefits .opacity-90 {
  opacity: 0.9;
}

/* Control de Márgenes Jerárquicos Estrictos (Múltiplos de 10) */
.dfx-audi-benefits .dfx-ab-intro {
  margin-top: 20px;
  max-width: 760px;
  line-height: 1.6;
}

.dfx-audi-benefits .dfx-ab-rows-stack {
  margin-top: 50px;
}

.dfx-audi-benefits .dfx-ab-footer {
  margin-top: 60px;
  max-width: 640px;
  line-height: 1.4;
}

.dfx-audi-benefits .dfx-ab-btn-box {
  margin-top: 30px;
}

/* Contenedor Fijo Central */
.dfx-ab-container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}

/* ── ESTRUCTURA DE FILAS ASIMÉTRICAS (Grid de 3 columnas) ── */
.dfx-ab-row {
  display: grid;
  grid-template-columns: 1fr 1.3fr 180px;
  /* Distribución equilibrada */
  gap: 40px;
  align-items: center;
  padding: 30px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.dfx-ab-row:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.dfx-ab-col-title {
  line-height: 1.4;
}

.dfx-ab-col-desc {
  line-height: 1.6;
}

/* Enmarcado de las imágenes decorativas */
.dfx-ab-img-wrapper {
  width: 100%;
  height: 110px;
  border-radius: 6px;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.05);
}

.dfx-ab-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── BOTÓN ACCIÓN LUNARES (Pill blanco sólido de tu captura) ── */
.dfx-ab-btn-cta {
  display: inline-block;
  background-color: #ffffff;
  color: #1e02ff;
  /* Texto con el mismo azul eléctrico */
  padding: 16px 36px;
  border-radius: 50px;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.1s ease;
}

.dfx-ab-btn-cta:hover {
  background-color: #f4f6f9;
  transform: translateY(-1px);
}

/* ==========================================================================
       RESPONSIVO MÓVIL (Esconde la imagen para ganar espacio según indicación)
       ========================================================================== */
@media (max-width: 768px) {
  .dfx-ab-row {
    grid-template-columns: 1fr;
    /* Colapso vertical de los textos */
    gap: 10px;
    padding: 24px 0;
  }

  /* ESCONDER COLUMNA DE IMAGEN OBLIGATORIO */
  .dfx-ab-col-img {
    display: none !important;
  }

  .dfx-audi-benefits {
    padding: 60px 20px;
  }

  .dfx-ab-btn-cta {
    width: 100%;
    /* Botón completo para mejor fricción móvil */
    text-align: center;
  }
}

/* Reset e Inmunidad Estricta Local */
.dfx-seo-importance {
  background-color: #ffffff;
  padding: 90px 20px;
  width: 100%;
  box-sizing: border-box;
}

.dfx-seo-importance * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Manejo del Layout Flexbox */
.dfx-seo-importance .flex {
  display: flex;
}

.dfx-seo-importance .f-c {
  flex-direction: column;
}

.dfx-seo-importance .ai-center {
  align-items: center;
}

.dfx-seo-importance .jc-entre {
  justify-content: space-between;
}

.dfx-seo-importance .center-center {
  justify-content: center;
  align-items: center;
}

.dfx-seo-importance .overflow-hidden {
  overflow: hidden;
}

.dfx-seo-importance .prima {
  font-family: 'Poppins', sans-serif;
}

.dfx-seo-importance .secon {
  font-family: 'Inter', sans-serif;
}

.dfx-seo-importance .t-neg {
  color: #000000;
}

.dfx-seo-importance .f-700 {
  font-weight: 700;
}

.dfx-seo-importance .f-800 {
  font-weight: 800;
}

.dfx-seo-importance .font-14 {
  font-size: 14px;
}

.dfx-seo-importance .font-15 {
  font-size: 15px;
}

.dfx-seo-importance .font-22 {
  font-size: 22px;
}

.dfx-seo-importance .font-36 {
  font-size: 36px;
}

.dfx-seo-importance .opacity-70 {
  opacity: 0.7;
}

.dfx-seo-importance .opacity-80 {
  opacity: 0.8;
}

/* Control de Márgenes Manuales Anidados (Múltiplos de 10) */
.dfx-seo-importance .dfx-imp-intro {
  margin-top: 20px;
  max-width: 820px;
  line-height: 1.6;
}

.dfx-seo-importance .dfx-imp-rows-canvas {
  margin-top: 40px;
}

.dfx-seo-importance .dfx-imp-row .secon {
  margin-top: 14px;
  line-height: 1.6;
}

/* Contenedor Central Limpio */
.dfx-imp-container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}

/* Distribución Asimétrica de Filas */
.dfx-imp-row {
  display: grid;
  grid-template-columns: 440px 1fr;
  /* Relación de aspecto idéntica a Captura de pantalla 2026-06-21 a las 12.54.58 p. m..png */
  gap: 50px;
  align-items: center;
  padding: 40px 0;
}

.dfx-imp-col-text {
  align-items: flex-start;
}

/* ── ENMARCADO DINÁMICO DE IMÁGENES REALEZADAS ── */
.dfx-imp-image-frame {
  width: 100%;
  height: 280px;
  /* Consistencia geométrica */
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.dfx-imp-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Recorte inteligente automatizado sin estirar la imagen */
  display: block;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Efecto sutil de interacción al pasar el mouse por la fila */
.dfx-imp-row:hover .dfx-imp-image-frame {
  border-color: #cbd5e1;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.02);
}

.dfx-imp-row:hover .dfx-imp-image-frame img {
  transform: scale(1.02);
}

/* ==========================================================================
           RESPONSIVO MÓVIL CRÍTICO (Esconde las fotos para ahorrar espacio en celular)
           ========================================================================== */
@media (max-width: 768px) {
  .dfx-imp-row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 30px 0;
  }

  /* OCULTAR CONTENEDOR DE MEDIOS EN RESPONSIVE */
  .dfx-imp-col-media {
    display: none !important;
  }

  .dfx-seo-importance {
    padding: 60px 20px;
  }
}

.dfx-ab-ratio-1-1 {
  aspect-ratio: 1 / 1;
}

.dfx-ab-ratio-4-3 {
  aspect-ratio: 4 / 3;
}

.dfx-ab-ratio-16-9 {
  aspect-ratio: 16 / 9;
}

.dfx-ab-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dfx-imp-image-frame {
  position: relative;
  overflow: hidden;
}

.dfx-imp-ratio-1-1 {
  aspect-ratio: 1 / 1;
}

.dfx-imp-ratio-4-3 {
  aspect-ratio: 4 / 3;
}

.dfx-imp-ratio-16-9 {
  aspect-ratio: 16 / 9;
}

.dfx-imp-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* Reset Local Controlado */
.dfx-split-quiz-v3 {
  padding: 80px 20px;
  width: 100%;
  box-sizing: border-box;
  background: #c2ebff;
background: linear-gradient(180deg,rgba(194, 235, 255, 1) 20%, rgba(255, 255, 255, 1) 84%);
}

.dfx-split-quiz-v3 * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Flexbox Engine Local */
.dfx-split-quiz-v3 .flex {
  display: flex;
}

.dfx-split-quiz-v3 .f-c {
  flex-direction: column;
}

.dfx-split-quiz-v3 .ai-center {
  align-items: center;
}

.dfx-split-quiz-v3 .jc-entre {
  justify-content: space-between;
}

.dfx-split-quiz-v3 .jc-final {
  justify-content: flex-end;
}

.dfx-split-quiz-v3 .center-center {
  justify-content: center;
  align-items: center;
}

.dfx-split-quiz-v3 .text-center {
  text-align: left;
}

.dfx-split-quiz-v3 .text-line-through {
  text-decoration: line-through;
}

.dfx-split-quiz-v3 .prima {
  font-family: 'Poppins', sans-serif;
}

.dfx-split-quiz-v3 .secon {
  font-family: 'Inter', sans-serif;
}

.dfx-split-quiz-v3 .t-neg {
  color: #000000;
}

.dfx-split-quiz-v3 .t-bla {
  color: #ffffff;
}

.dfx-split-quiz-v3 .f-500 {
  font-weight: 500;
}

.dfx-split-quiz-v3 .f-700 {
  font-weight: 700;
}

.dfx-split-quiz-v3 .f-800 {
  font-weight: 800;
}

.dfx-split-quiz-v3 .upper {
  text-transform: uppercase;
}

.dfx-split-quiz-v3 .tracking-1 {
  letter-spacing: 1px;
}

.dfx-split-quiz-v3 .font-10 {
  font-size: 10px;
}

.dfx-split-quiz-v3 .font-11 {
  font-size: 11px;
}

.dfx-split-quiz-v3 .font-13 {
  font-size: 13px;
}

.dfx-split-quiz-v3 .font-14 {
  font-size: 14px;
}

.dfx-split-quiz-v3 .font-15 {
  font-size: 15px;
}

.dfx-split-quiz-v3 .font-22 {
  font-size: 22px;
}

.dfx-split-quiz-v3 .font-28 {
  font-size: 28px;
}

.dfx-split-quiz-v3 .font-32 {
  font-size: 32px;
}

.dfx-split-quiz-v3 .opacity-50 {
  opacity: 0.5;
}

.dfx-split-quiz-v3 .opacity-60 {
  opacity: 0.6;
}

.dfx-split-quiz-v3 .opacity-80 {
  opacity: 0.8;
}

/* Control de Márgenes Jerárquicos Estrictos (Múltiplos de 10) */
.dfx-split-quiz-v3 .dfx-q3-header .prima {
  margin-top: 10px;
  line-height: 1.25;
  max-width: 520px;
}

.dfx-split-quiz-v3 .dfx-q3-options-stack {
  margin-top: 40px;
  gap: 14px;
  width: 90%;
}

.dfx-split-quiz-v3 .dfx-q3-nav-row {
  margin-top: 24px;
  max-width: 500px;
}

.dfx-split-quiz-v3 .dfx-q3-neon-badge {
  margin-top: 24px;
}

.dfx-split-quiz-v3 .dfx-q3-result-card p {
  margin-top: 24px;
  line-height: 1.6;
}

.dfx-split-quiz-v3 .dfx-q3-card-action {
  margin-top: 34px;
}

/* Canvas Maestro de Distribución Dividida */
.dfx-q3-wrapper {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;

}

/* ── COMPONENTE DE SELECCIÓN (Bloque Izquierdo) ── */
.dfx-q3-left-panel {
  align-items: flex-start;
}

.dfx-q3-opt-item {
  width: 100%;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 22px 24px;
  cursor: pointer;
  transition: background-color 0.25s, border-color 0.25s, color 0.25s;
}

/* Círculo Verificador Oculto en Reposo */
.dfx-q3-check-circle {
  width: 24px;
  height: 24px;
  border: 2px solid #e2e8f0;
  border-radius: 50%;
  color: transparent;
  font-size: 11px;
  transition: all 0.2s;
}

/* ESTADO SELECCIONADO ACTIVO (El Azul Eléctrico de Obsekya/DiseFix) */
.dfx-q3-opt-item.active {
  background-color: #2c16ff;
  border-color: #2c16ff;
  color: #ffffff;
}

.dfx-q3-opt-item.active .dfx-q3-check-circle {
  border-color: #ffffff;
  color: #2c16ff;
  background-color: #ffffff;
}

/* Botón Siguiente Minimalista */
.dfx-q3-btn-next {
  background-color: #ffffff;
  color: #000000;
  border: 1px solid #a0aec0;
  padding: 12px 34px;
  border-radius: 50px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.dfx-q3-btn-next:hover {
  background-color: #f8fafc;
  border-color: #000000;
}


/* ── EL LIENZO DE RESPUESTA (Bloque Derecho) ── */
.dfx-q3-result-card {
  display: none;
  /* Inalterable: Oculta por defecto en reposo */
  width: 100%;
  max-width: 520px;
  border-radius: 24px;
  padding: 40px 50px;
  box-shadow: 0 25px 60px rgba(44, 22, 255, 0.04);
  flex-direction: column;
  align-items: flex-start;
}

/* La clase .active ahora fuerza de forma segura el display flexbox de la tarjeta elegida */
.dfx-q3-result-card.active {
  display: flex;
  animation: q3SlideUp 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes q3SlideUp {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ESTILO ADICIONAL PARA LA TARJETA DE ESPERA NEUTRA */
.dfx-q3-result-card.waiting-state {
  box-shadow: none;
}

.dfx-q3-waiting-icon {
  font-size: 36px;
  color: #2c16ff;
  width: 74px;
  height: 74px;
  background-color: #fff;
  border-radius: 50%;
  animation: q3WaitingPulse 2.4s infinite ease-in-out;
  margin-bottom: 30px;
}

@keyframes q3WaitingPulse {
  0% {
    transform: scale(1);
    opacity: 0.75;
  }

  50% {
    transform: scale(1.06);
    opacity: 1;
  }

  100% {
    transform: scale(1);
    opacity: 0.75;
  }
}

/* La cápsula Amarillo Neón */
.dfx-q3-neon-badge {
  background-color: #f7ff3c;
  color: #000000;
  padding: 14px 24px;
  border-radius: 50px;
  gap: 16px;
  display: inline-flex;
}

/* Botón de Conversión Final */
.dfx-q3-btn-brand {
  display: inline-block;
  background-color: #2c16ff;
  color: #ffffff;
  padding: 14px 30px;
  border-radius: 50px;
  text-decoration: none;
  transition: background-color 0.2s;
}

.dfx-q3-btn-brand:hover {
  background-color: #1a01cc;
}

/* ==========================================================================
           COMPORTAMIENTO RESPONSIVO
           ========================================================================== */
@media (max-width: 920px) {
  .dfx-q3-wrapper {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .dfx-q3-result-card {
    max-width: 100%;
    padding: 34px;
  }

  .dfx-split-quiz-v3 {
    padding: 60px 20px;
  }
}


/* Reset Local Controlado e Inmunidad */
.dfx-intuition-banner {
  position: relative;
  /* Imagen premium de tecnología abstracta oscura */
  background-image: url('https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=1600&q=80');
  /* Activación del motor de Parallax nativo */
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: grid;
  align-items: center;
  min-height: 600px;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.dfx-intuition-banner * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── CAPA DE OVERLAY DE ALTO CONTRASTE (Protección de Legibilidad) ── */
.dfx-ib-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Doble gradiente para oscurecer las esquinas y centrar la luz suavemente */
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.75) 100%);
  z-index: 1;
}

/* Motor de Alineación Local */
.dfx-intuition-banner .flex {
  display: flex;
}

.dfx-intuition-banner .f-c {
  flex-direction: column;
}

.dfx-intuition-banner .ai-center {
  align-items: center;
}

.dfx-intuition-banner .jc-entre {
  justify-content: space-between;
}

.dfx-intuition-banner .prima {
  font-family: 'Poppins', sans-serif;
}

.dfx-intuition-banner .secon {
  font-family: 'Inter', sans-serif;
}

.dfx-intuition-banner .t-bla {
  color: #ffffff;
}

.dfx-intuition-banner .f-400 {
  font-weight: 400;
}

.dfx-intuition-banner .f-800 {
  font-weight: 800;
}

.dfx-intuition-banner .f-900 {
  font-weight: 950;
}

.dfx-intuition-banner .leading-tight {
  line-height: 1.25;
}

.dfx-intuition-banner .leading-relaxed {
  line-height: 1.6;
}

.dfx-intuition-banner .font-16 {
  font-size: 16px;
}

.dfx-intuition-banner .font-36 {
  font-size: 36px;
}

.dfx-intuition-banner .opacity-80 {
  opacity: 0.8;
}

.dfx-intuition-banner .opacity-90 {
  opacity: 0.9;
}

/* Control de Márgenes Jerárquicos */
.dfx-intuition-banner .dfx-ib-right-col p {
  margin-bottom: 30px;
}

/* Distribución de Rejilla de Dos Columnas */
.dfx-ib-wrapper {
  position: relative;
  z-index: 2;
  /* Sitúa el contenido por encima del overlay oscuro */
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 80px;
  align-items: center;
}

/* Columna Derecha de Conversión */
.dfx-ib-right-col {
  align-items: flex-start;
}

/* Botón Píldora Amarillo Neón Exacto con Efecto de Resplandor */
.dfx-ib-btn-neon {
  display: inline-block;
  background-color: #f7ff00;
  /* Amarillo neón icónico de tu marca */
  color: #000000;
  text-decoration: none;
  padding: 16px 40px;
  border-radius: 50px;
  box-shadow: 0 10px 30px rgba(247, 255, 0, 0.25);
  /* Resplandor neón sutil */
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s, box-shadow 0.2s;
}

.dfx-ib-btn-neon:hover {
  background-color: #e2eb00;
  transform: translateY(-2px);
  box-shadow: 0 14px 35px rgba(247, 255, 0, 0.4);
  /* Intensifica resplandor al hover */
}

.dfx-ib-btn-neon:active {
  transform: translateY(0);
}

/* ==========================================================================
           COMPORTAMIENTO RESPONSIVO Y SOPORTE MÓVIL (Fallback de Parallax)
           ========================================================================== */
@media (max-width: 900px) {

  /* Desactivamos background-attachment: fixed en móviles para evitar tirones de rendimiento */
  .dfx-intuition-banner {
    background-attachment: scroll;
    padding: 90px 24px;
  }

  .dfx-ib-wrapper {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .dfx-ib-btn-neon {
    width: 100%;
    /* Botón completo para facilitar taps en teléfonos */
    text-align: center;
  }
}


/* Reset Local Controlado e Inmunidad */
.dfx-answer-steps {
  background-color: #ffffff;
  padding: 100px 20px;
  width: 100%;
  box-sizing: border-box;
}

.dfx-answer-steps * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Motor de Alineación de DiseFix */
.dfx-answer-steps .flex {
  display: flex;
}

.dfx-answer-steps .f-c {
  flex-direction: column;
}

.dfx-answer-steps .ai-center {
  align-items: center;
}

.dfx-answer-steps .jc-entre {
  justify-content: space-between;
}

.dfx-answer-steps .center-center {
  justify-content: center;
  align-items: center;
}

.dfx-answer-steps .overflow-hidden {
  overflow: hidden;
}

.dfx-answer-steps .relative {
  position: relative;
}

.dfx-answer-steps .prima {
  font-family: 'Poppins', sans-serif;
}

.dfx-answer-steps .secon {
  font-family: 'Inter', sans-serif;
}

.dfx-answer-steps .t-neg {
  color: #000000;
}

.dfx-answer-steps .f-800 {
  font-weight: 800;
}

.dfx-answer-steps .font-14 {
  font-size: 14px;
}

.dfx-answer-steps .font-16 {
  font-size: 16px;
}

.dfx-answer-steps .font-18 {
  font-size: 18px;
}

.dfx-answer-steps .font-36 {
  font-size: 36px;
}

.dfx-answer-steps .opacity-70 {
  opacity: 0.7;
}

.dfx-answer-steps .leading-tight {
  line-height: 1.25;
}

/* Control de Márgenes Jerárquicos en Múltiplos de 10 */
.dfx-answer-steps .dfx-as-grid {
  margin-top: 50px;
}

.dfx-answer-steps .dfx-as-content {
  margin-top: 24px;
}

.dfx-answer-steps .dfx-as-content p {
  margin-top: 10px;
  line-height: 1.6;
}

/* Contenedor Fijo Central */
.dfx-as-container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}

/* Grilla de 4 Columnas Equilibradas */
.dfx-as-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  width: 100%;
}

/* Tarjetas del Proceso */
.dfx-as-card {
  align-items: flex-start;
  justify-content: flex-start;
}

/* Enmarcado Geométrico de Imágenes */
.dfx-as-media-wrapper {
  width: 100%;
  height: 320px;
  /* Consistencia vertical de los marcos */
  border-radius: 12px;
  background-color: #f1f3f5;
}

.dfx-as-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* El Distintivo de Número Flotante (Lover-badge) */
.dfx-as-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 36px;
  height: 36px;
  background-color: #ffffff;
  color: #000000;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  z-index: 10;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s, color 0.2s;
}

/* ── COMPORTAMIENTO INTERACTIVO DIDÁCTICO (Micro-Interacciones) ── */
.dfx-as-card:hover .dfx-as-image {
  transform: scale(1.05);
  /* Zoom cinemático suave */
}

.dfx-as-card:hover .dfx-as-badge {
  transform: scale(1.1) translateY(-2px);
  background-color: #1e02ff;
  /* Tu azul eléctrico se activa al interactuar */
  color: #ffffff;
}

.dfx-as-card:hover h3 {
  color: #1e02ff;
  transition: color 0.2s ease;
}

/* ==========================================================================
           COMPORTAMIENTO RESPONSIVO
           ========================================================================== */
@media (max-width: 992px) {
  .dfx-as-grid {
    grid-template-columns: repeat(2, 1fr);
    /* 2x2 en tabletas */
    gap: 40px 30px;
  }

  .dfx-as-media-wrapper {
    height: 280px;
  }
}

@media (max-width: 560px) {
  .dfx-as-grid {
    grid-template-columns: 1fr;
    /* Colapso lineal en teléfonos */
    gap: 40px;
  }

  .dfx-as-media-wrapper {
    height: 240px;
  }

  .dfx-as-br-mobile {
    display: none;
    /* Evita quiebres molestos en pantallas ultra pequeñas */
  }

  .dfx-answer-steps {
    padding: 60px 20px;
  }
}

/* Reset Local Controlado e Inmunidad */
.dfx-years-experience {
  background: linear-gradient(135deg, #fff0f5 0%, #fae6ff 50%, #f5e0ff 100%);
  /* Gradiente rosa-lavanda idéntico */
  padding: 120px 20px;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.dfx-years-experience * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Motor de Alineación de DiseFix */
.dfx-years-experience .flex {
  display: flex;
}

.dfx-years-experience .f-c {
  flex-direction: column;
}

.dfx-years-experience .ai-center {
  align-items: center;
}

.dfx-years-experience .jc-entre {
  justify-content: space-between;
}

.dfx-years-experience .center-center {
  justify-content: center;
  align-items: center;
}

.dfx-years-experience .prima {
  font-family: 'Poppins', sans-serif;
}

.dfx-years-experience .secon {
  font-family: 'Inter', sans-serif;
}

.dfx-years-experience .t-neg {
  color: #000000;
}

.dfx-years-experience .f-300 {
  font-weight: 300;
}

.dfx-years-experience .f-700 {
  font-weight: 700;
}

.dfx-years-experience .leading-tight {
  line-height: 1.05;
}

.dfx-years-experience .leading-relaxed {
  line-height: 1.6;
}

.dfx-years-experience .font-15 {
  font-size: 15px;
  width: fit-content;
}

.dfx-years-experience .font-16 {
  font-size: 16px;
}

.dfx-years-experience .opacity-90 {
  opacity: 0.9;
}

/* Contenedor Fijo Central */
.dfx-ye-container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}

/* Grilla de 3 Columnas Asimétricas */
.dfx-ye-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  align-items: center;
  width: 100%;
}

/* ── ESTRUCTURACIÓN DEL TITULAR UNIFICADO ── */
.dfx-ye-title {
  font-size: 54px;
  font-weight: 300;
  /* Peso ligero por defecto para "paginas que" y "convierten" */
  color: #000000;
  /* Micro-animación de entrada suave para todo el h2 */
  opacity: 0;
  transform: translateY(15px);
  animation: dfxSlideUpReveal 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Manejo del strong con la clase solicitada */
.dfx-ye-title .leading-strong {
  font-weight: 900;
  /* Peso ultra-negrita para destacar los primeros dos renglones */
  color: #000000;
}

@keyframes dfxSlideUpReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── ANIMACIÓN FLOTANTE DEL CONECTOR "y" ── */
.dfx-ye-connector {
  font-size: 110px;
  color: #000000;
  line-height: 1;
  transform-origin: center;
  animation: dfxFloatY 5s infinite ease-in-out;
  user-select: none;
}

@keyframes dfxFloatY {
  0% {
    transform: translateY(0px) rotate(0deg);
  }

  50% {
    transform: translateY(-8px) rotate(-1deg);
  }

  100% {
    transform: translateY(0px) rotate(0deg);
  }
}

/* ── BOTÓN AZUL ELÉCTRICO REACTIVO ── */
.dfx-ye-btn {
  display: inline-flex;
  background-color: #2c16ff;
  color: #ffffff;
  text-decoration: none;
  height: 52px;
  padding: 0 34px;
  border-radius: 50px;
  box-shadow: 0 10px 24px rgba(44, 22, 255, 0.15);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s, box-shadow 0.2s;
}

.dfx-ye-btn:hover {
  background-color: #1a01cc;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(44, 22, 255, 0.25);
}

.dfx-ye-btn:active {
  transform: translateY(0);
}

.dfx-years-experience .dfx-ye-right p {
  margin-bottom: 30px;
}

/* ==========================================================================
           COMPORTAMIENTO RESPONSIVO LÍQUIDO
           ========================================================================== */
@media (max-width: 1100px) {
  .dfx-ye-grid {
    grid-template-columns: 1.1fr 0.2fr 1fr;
  }

  .dfx-ye-connector {
    font-size: 80px;
  }

  .dfx-ye-title {
    font-size: 48px;
    /* Reducción proporcional fluida */
  }
}

@media (max-width: 900px) {
  .dfx-ye-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .dfx-ye-middle {
    display: none !important;
  }

  .dfx-years-experience {
    padding: 80px 24px;
  }

  .dfx-ye-right p {
    max-width: 100%;
  }

  .dfx-ye-btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .dfx-ye-title {
    font-size: 38px;
  }
}

/* Reset Local Controlado e Inmunidad */
.dfx-migration-deps {
  background-color: #ffffff;
  padding: 100px 20px;
  width: 100%;
  box-sizing: border-box;
}

.dfx-migration-deps * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Motor de Alineación de DiseFix */
.dfx-migration-deps .flex {
  display: flex;
}

.dfx-migration-deps .f-c {
  flex-direction: column;
}

.dfx-migration-deps .ai-center {
  align-items: center;
}

.dfx-migration-deps .jc-entre {
  justify-content: space-between;
}

.dfx-migration-deps .overflow-hidden {
  overflow: hidden;
}

.dfx-migration-deps .prima {
  font-family: 'Poppins', sans-serif;
}

.dfx-migration-deps .secon {
  font-family: 'Inter', sans-serif;
}

.dfx-migration-deps .t-neg {
  color: #000000;
}

.dfx-migration-deps .f-800 {
  font-weight: 800;
}

.dfx-migration-deps .leading-tight {
  line-height: 1.25;
}

.dfx-migration-deps .leading-relaxed {
  line-height: 1.6;
}

.dfx-migration-deps .font-14 {
  font-size: 14px;
}

.dfx-migration-deps .font-20 {
  font-size: 20px;
}

.dfx-migration-deps .font-32 {
  font-size: 32px;
}

.dfx-migration-deps .opacity-70 {
  opacity: 0.7;
}

/* Márgenes Jerárquicos Estrictos */
.dfx-migration-deps .dfx-md-rows-stack {
  margin-top: 60px;
}

.dfx-migration-deps .dfx-md-col-content h3 {
  transition: transform 0.3s ease, color 0.3s ease;
}

.dfx-migration-deps .dfx-md-col-content p {
  margin-top: 14px;
}

/* Contenedor Fijo Central */
.dfx-md-container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}

/* Titular Principal Limpio */
.dfx-md-title {
  font-size: 36px;
  font-weight: 300;
  color: #000000;
}

.dfx-md-title .leading-strong {
  font-weight: 850;
}

/* Estructura de las Filas de Casos */
.dfx-md-row {
  display: grid;
  grid-template-columns: 400px 1fr;
  /* Relación proporcional idéntica a tu captura */
  gap: 50px;
  align-items: center;
  padding: 40px 0;
  border-bottom: 1px solid #cbd5e1;
  /* Línea de división fina */
  transition: opacity 0.3s ease;
}

.dfx-md-row:first-child {
  border-top: 1px solid #cbd5e1;
  /* Línea superior para la primera fila */
}

/* Enmarcado Geométrico de las Imágenes */
.dfx-md-col-media {
  width: 100%;
  height: 230px;
  /* Formato panorámico idéntico */
  border-radius: 12px;
  background-color: #f1f3f5;
}

.dfx-md-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── SISTEMA DE FOCO DIDÁCTICO (Micro-Interacciones) ── */

/* Cuando se pasa el mouse por encima del stack, atenuamos el resto de las filas */
.dfx-md-rows-stack:hover .dfx-md-row {
  opacity: 0.4;
}

/* Mantenemos e intensificamos la fila activa sobre la que está el puntero */
.dfx-md-rows-stack .dfx-md-row:hover {
  opacity: 1;
}

/* Efectos internos al interactuar con una fila */
.dfx-md-row:hover .dfx-md-image {
  transform: scale(1.03);
  /* Zoom cinemático sutil */
}

.dfx-md-row:hover .dfx-md-col-content h3 {
  color: #1e02ff;
  /* Resalta en tu azul corporativo */
  transform: translateX(6px);
  /* Micro-desplazamiento de lectura */
}

/* ==========================================================================
           COMPORTAMIENTO RESPONSIVO MÓVIL
           ========================================================================== */
@media (max-width: 992px) {
  .dfx-md-row {
    grid-template-columns: 320px 1fr;
    gap: 34px;
  }

  .dfx-md-col-media {
    height: 190px;
  }
}

@media (max-width: 768px) {
  .dfx-md-row {
    grid-template-columns: 1fr;
    /* Colapso lineal de lectura */
    gap: 15px;
    padding: 30px 0;
  }

  /* OCULTAR IMÁGENES EN RESPONSIVE (Optimizando espacio vertical) */
  .dfx-md-col-media {
    display: none !important;
  }

  .dfx-migration-deps {
    padding: 60px 20px;
  }

  /* Desactivar efectos hover de desplazamiento en celulares */
  .dfx-md-row:hover .dfx-md-col-content h3 {
    transform: none;
  }
}

/* Reset Local Controlado e Inmunidad */
.dfx-related-services {
  background-color: #2400b8;
  /* El color índigo/azul eléctrico de tu marca de Grupo 103.png */
  padding: 100px 20px;
  width: 100%;
  box-sizing: border-box;
}

.dfx-related-services * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Motor de Alineación de DiseFix */
.dfx-related-services .flex {
  display: flex;
}

.dfx-related-services .f-c {
  flex-direction: column;
}

.dfx-related-services .ai-center {
  align-items: center;
}

.dfx-related-services .jc-entre {
  justify-content: space-between;
}

.dfx-related-services .center-center {
  justify-content: center;
  align-items: center;
}

.dfx-related-services .overflow-hidden {
  overflow: hidden;
}

.dfx-related-services .relative {
  position: relative;
}

.dfx-related-services .text-decoration-none {
  text-decoration: none;
}

.dfx-related-services .prima {
  font-family: 'Poppins', sans-serif;
}

.dfx-related-services .secon {
  font-family: 'Inter', sans-serif;
}

.dfx-related-services .t-bla {
  color: #ffffff;
}

.dfx-related-services .f-800 {
  font-weight: 800;
}

.dfx-related-services .leading-tight {
  line-height: 1.25;
}

.dfx-related-services .leading-relaxed {
  line-height: 1.6;
}

.dfx-related-services .font-14 {
  font-size: 14px;
}

.dfx-related-services .font-20 {
  font-size: 20px;
}

.dfx-related-services .opacity-70 {
  opacity: 0.7;
}

/* Control de Márgenes Jerárquicos */
.dfx-related-services .dfx-rs-grid {
  margin-top: 50px;
}

.dfx-related-services .dfx-rs-content {
  margin-top: 24px;
  transition: transform 0.3s ease;
}

.dfx-related-services .dfx-rs-content p {
  margin-top: 10px;
}

/* Contenedor Fijo Central */
.dfx-rs-container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}

/* Titular Principal Limpio */
.dfx-rs-title {
  font-size: 36px;
  font-weight: 300;
  /* Tipografía delgada y elegante */
  color: #ffffff;
}

.dfx-rs-title .leading-strong {
  font-weight: 850;
  /* Destaca la última sección de la frase */
}

/* ── DISEÑO DE ESCRITORIO (4 Columnas Tradicionales) ── */
.dfx-rs-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 50px;
  width: 100%;
}

/* Estructuración de las Tarjetas */
.dfx-rs-card {
  align-items: flex-start;
  justify-content: flex-start;
  background-color: transparent;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Enmarcado Geométrico Vertical de las Imágenes */
.dfx-rs-media {
  width: 100%;
  aspect-ratio: 1 / 1.12;
  /* Proporción ligeramente vertical calcada de tu boceto */
  border-radius: 12px;
  background-color: rgba(255, 255, 255, 0.08);
}

.dfx-rs-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── COMPORTAMIENTO INTERACTIVO DIDÁCTICO (Micro-Interacciones) ── */
.dfx-rs-card:hover {
  transform: translateY(-4px);
  /* Elevación sutil de la tarjeta entera */
}

.dfx-rs-card:hover .dfx-rs-image {
  transform: scale(1.05);
  /* Zoom cinemático fluido en la foto */
}

.dfx-rs-card:hover h3 {
  color: #f7ff00;
  /* Ilumina en el color neón secundario de tu marca */
  transition: color 0.3s ease;
}

/* ==========================================================================
           COMPORTAMIENTO RESPONSIVO MÓVIL CRÍTICO (Ernesto UX Hybrid)
           ========================================================================== */
@media (max-width: 860px) {

  /* En pantallas medianas pasamos a 2x2 */
  .dfx-rs-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}

@media (max-width: 600px) {

  /* El motor se reestructura por completo a formato horizontal lineal */
  .dfx-rs-grid {
    grid-template-columns: 1fr;
    /* Una sola columna vertical de tarjetas */
    gap: 16px;
  }

  .dfx-rs-card {
    flex-direction: row;
    /* Fuerza el alineamiento horizontal: foto izquierda, textos derecha */
    align-items: center;
    gap: 20px;
    background-color: rgba(255, 255, 255, 0.04);
    /* Fondo texturizado sutil para englobar el item */
    padding: 16px;
    border-radius: 16px;
    width: 100%;
  }

  /* Redimensionamiento de la imagen a formato pequeño ("Chica") */
  .dfx-rs-media {
    width: 84px;
    height: 84px;
    flex-shrink: 0;
    /* Evita que la imagen se deforme o se comprima */
    aspect-ratio: 1;
    /* Formato cuadrado perfecto para el listado móvil */
    border-radius: 10px;
  }

  /* Reubicación y anulación de márgenes en textos móviles */
  .dfx-rs-content {
    margin-top: 0 !important;
    /* Resetea el margen de escritorio */
    flex-grow: 1;
  }

  .dfx-rs-content h3 {
    font-size: 16px;
    /* Tipografía más compacta y legible en celulares */
  }

  .dfx-rs-content p {
    margin-top: 4px !important;
    font-size: 13px;
  }

  .dfx-rs-title {
    font-size: 28px;
    /* Ajuste del encabezado principal en smartphones */
  }

  .dfx-related-services {
    padding: 60px 16px;
  }

  /* Desactivar elevación vertical en móviles para evitar tirones */
  .dfx-rs-card:hover {
    transform: none;
  }
}


/* Reset Local Controlado e Inmunidad */
.dfx-migration-hero {
  background-color: #ffffff;
  /* Fondo blanco de la captura */
  width: 100%;
  box-sizing: border-box;
}


/* Motor de Alineación de DiseFix */
.dfx-migration-hero .flex {
  display: flex;
}

.dfx-migration-hero .f-c {
  flex-direction: column;
}

.dfx-migration-hero .ai-center {
  align-items: center;
}

.dfx-migration-hero .jc-entre {
  justify-content: space-between;
}

.dfx-migration-hero .center-center {
  justify-content: center;
  align-items: center;
}

.dfx-migration-hero .overflow-hidden {
  overflow: hidden;
  max-height: 850px;
}

.dfx-migration-hero .relative {
  position: relative;
}

.dfx-migration-hero .prima {
  font-family: 'Poppins', sans-serif;
}

.dfx-migration-hero .secon {
  font-family: 'Inter', sans-serif;
}

.dfx-migration-hero .t-neg {
  color: #000000;
}

.dfx-migration-hero .f-700 {
  font-weight: 700;
}

.dfx-migration-hero .f-800 {
  font-weight: 800;
}

.dfx-migration-hero .leading-relaxed {
  line-height: 1.6;
}

.dfx-migration-hero .font-15 {
  font-size: 15px;
}

.dfx-migration-hero .font-16 {
  font-size: 16px;
}

.dfx-migration-hero .opacity-80 {
  opacity: 0.8;
}

/* Control de Márgenes Jerárquicos en Múltiplos de 10 */
.dfx-migration-hero .dfx-mh-col-text p {
  margin-top: 30px;
}

.dfx-migration-hero .dfx-mh-sub-statement {
  margin-top: 30px;
}

.dfx-migration-hero .dfx-mh-cta-container {
  margin-top: 30px;
}

/* Rejilla Principal de Doble Columna Equilibrada */
.dfx-mh-wrapper {
  width: 100%;
  align-items: stretch;
  /* Asegura que la imagen ocupe todo el alto vertical del texto */
  min-height: 850px;
}

/* ── COLUMNA DE IMAGEN IZQUIERDA ── */
.dfx-mh-col-media {
  width: 100%;
}

.dfx-mh-image {
  width: 100%;
  height: inherit;
  object-fit: cover;
  display: block;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  min-height: 850px;
}

/* Sutil capa de color para amalgamar la foto con la estética DiseFix */
.dfx-mh-img-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(30, 2, 255, 0.15) 0%, rgba(0, 0, 0, 0.4) 100%);
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* ── COLUMNA DE CONTENIDO DERECHA ── */
.dfx-mh-col-text {
  /* padding: 80px 10%; */
  justify-content: center;
  align-items: flex-start;
  max-width: 550px;
  width: 90%;
  margin: 0 auto;
}

/* Tipografía de Encabezado de la Captura */
.dfx-mh-title {
  font-size: 42px;
  font-weight: 300;
  /* Peso liviano de base */
  color: #000000;
  letter-spacing: -0.5px;
}

.dfx-mh-title .leading-strong {
  font-weight: 850;
  /* Ultra-negrita para destacar la conclusión */
}

/* ── BOTÓN EN CONTORNO INTERACTIVO (Píldora) ── */
.dfx-mh-btn-outline {
  display: inline-flex;
  border: 1px solid #000000;
  background-color: transparent;
  color: #000000;
  text-decoration: none;
  height: 52px;
  padding: 0 40px;
  border-radius: 50px;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.2s;
}

.dfx-mh-btn-outline:hover {
  background-color: #2c16ff;
  /* Tu azul eléctrico entra en acción al interactuar */
  border-color: #2c16ff;
  color: #ffffff;
  transform: translateY(-2px);
}

.dfx-mh-btn-outline:active {
  transform: translateY(0);
}

/* ── MICRO-INTERACCIÓN AL HOVER DE LA SECCIÓN ── */
.dfx-mh-wrapper:hover .dfx-mh-image {
  transform: scale(1.02);
  /* Sutil movimiento de profundidad */
}

/* ==========================================================================
           COMPORTAMIENTO RESPONSIVO CRÍTICO
           ========================================================================== */
@media (max-width: 1024px) {
  .dfx-mh-title {
    font-size: 34px;
  }
}

@media (max-width: 768px) {

  /* Pasamos a formato lineal de una sola columna */
  .dfx-mh-wrapper {
    grid-template-columns: 1fr;
  }

  /* OCULTAR IMAGEN EN RESPONSIVE (Priorizando velocidad y espacio de lectura) */


  .dfx-mh-col-text {
    padding: 60px 0px;
    width: 80%;
  }

  .dfx-mh-title {
    font-size: 32px;
  }

  .dfx-mh-btn-outline {
    width: 100%;
    /* Botón completo para excelente fricción táctil */
  }
}


.disefix-osmu-test {
  --osmu-left-bg: #000;
  --osmu-left-text: #fff;
  --osmu-right-bg: #2c16ff;
  --osmu-right-text: #fff;
  --osmu-accent: #f7ff00;
  --osmu-accent-text: #000;
  --osmu-button-bg: #fff;
  --osmu-button-text: #2c16ff
}

.disefix-osmu-test * {
  box-sizing: border-box
}

.disefix-osmu-test .dfx-osmu-shell {
  min-height: 100vh;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr); 
}

.disefix-osmu-test .dfx-osmu-left {
  background: var(--osmu-left-bg);
  color: var(--osmu-left-text);
  padding: clamp(40px, 7vw, 96px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 44px
}

.disefix-osmu-test .dfx-osmu-tag {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: .5;
  margin-bottom: 16px;
  display: block
}

.disefix-osmu-test .dfx-osmu-title {
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 700;
  line-height: 1.08;
  max-width: 520px;
  margin: 0;
}

.disefix-osmu-test .dfx-osmu-description {
  font-size: 16px;
  line-height: 1.65;
  opacity: .75;
  max-width: 420px;
  margin: 18px 0 0
}

.disefix-osmu-test .dfx-osmu-progress-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 460px
}

.disefix-osmu-test .dfx-osmu-progress-track {
  height: 24px;
  background: #fff;
  border-radius: 999px;
  padding: 3px;
  overflow: hidden
}

.disefix-osmu-test .dfx-osmu-progress-bar {
  height: 100%;
  width: 0%;
  background: var(--osmu-right-bg);
  border-radius: 999px;
  transition: width .45s ease
}

.disefix-osmu-test .dfx-osmu-progress-meta {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  font-weight: 700;
  opacity: .82
}

.disefix-osmu-test .dfx-osmu-restart {
  background: var(--osmu-button-bg);
  color: #000;
  border: 0;
  border-radius: 999px;
  padding: 14px 30px;
  font-weight: 800;
  cursor: pointer;
  width: max-content
}

.disefix-osmu-test .dfx-osmu-credit {
  font-size: 12px;
  opacity: .38
}

.disefix-osmu-test .dfx-osmu-right {
  background: var(--osmu-right-bg);
  color: var(--osmu-right-text);
  padding: clamp(40px, 7vw, 96px);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh
}

.disefix-osmu-test .dfx-osmu-inner {
  width: 100%;
  max-width: 620px;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

.disefix-osmu-test .dfx-osmu-slide {
  display: flex;
  flex-direction: column;
  align-items: flex-start
}

.disefix-osmu-test .dfx-osmu-kicker {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: .45;
  margin-bottom: 10px
}

.disefix-osmu-test .dfx-osmu-slide-title,
.disefix-osmu-test .dfx-osmu-question {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  line-height: 1.18;
  margin: 0 0 18px;
  color: inherit
}

.disefix-osmu-test .dfx-osmu-slide-text {
  font-size: 16px;
  line-height: 1.7;
  opacity: .9;
  margin: 0 0 32px;
  color: inherit
}

.disefix-osmu-test .dfx-osmu-start,
.disefix-osmu-test .dfx-osmu-final-cta {
  background: var(--osmu-button-bg);
  color: var(--osmu-button-text);
  border: 0;
  border-radius: 999px;
  padding: 16px 34px;
  font-weight: 900;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  cursor: pointer
}

.disefix-osmu-test .dfx-osmu-options {
  display: flex;
  gap: 16px;
  width: 100%;
  max-width: 380px;
  margin-top: 8px
}

.disefix-osmu-test .dfx-osmu-option {
  flex: 1;
  border-radius: 999px;
  padding: 16px 24px;
  font-weight: 900;
  cursor: pointer
}

.disefix-osmu-test .dfx-osmu-option-outline {
  border: 2px solid currentColor;
  background: transparent;
  color: inherit
}

.disefix-osmu-test .dfx-osmu-option-solid {
  border: 2px solid #fff;
  background: #fff;
  color: #000
}

.disefix-osmu-test .dfx-osmu-option.selected {
  background: #fff;
  color: var(--osmu-right-bg);
  box-shadow: 0 0 22px rgba(255, 255, 255, .35)
}

.disefix-osmu-test .dfx-osmu-feedback {
  margin-top: 24px;
  padding: 18px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .08);
  font-size: 14px;
  line-height: 1.55
}

.disefix-osmu-test .dfx-osmu-nav {
  margin-top: 42px;
  border-top: 1px solid rgba(255, 255, 255, .22);
  padding-top: 24px;
  display: none;
  align-items: center;
  justify-content: space-between;
  width: 100%
}

.disefix-osmu-test .dfx-osmu-counter {
  font-size: 12px;
  opacity: .55
}

.disefix-osmu-test .dfx-osmu-next {
  background: transparent;
  border: 0;
  color: inherit;
  font-weight: 800;
  cursor: pointer
}

.disefix-osmu-test .dfx-osmu-next.is-disabled {
  opacity: .45;
  cursor: not-allowed
}

.disefix-osmu-test .dfx-osmu-next.is-ready {
  opacity: 1
}

.disefix-osmu-test .dfx-osmu-score-wrap {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px
}

.disefix-osmu-test .dfx-osmu-score {
  font-size: 72px;
  font-weight: 900;
  color: var(--osmu-accent);
  line-height: 1
}

.disefix-osmu-test .dfx-osmu-score-total {
  font-size: 16px;
  opacity: .65
}

.disefix-osmu-test .dfx-osmu-cap {
  color: #fde68a;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase
}

.disefix-osmu-test .dfx-osmu-plan {
  width: 100%;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 22px;
  padding: 24px;
  margin: 10px 0 28px
}

.disefix-osmu-test .dfx-osmu-plan h3 {
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--osmu-accent);
  margin: 0 0 18px
}

.disefix-osmu-test .dfx-osmu-plan-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: 220px;
  overflow: auto
}

.disefix-osmu-test .dfx-osmu-failure {
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  padding-bottom: 12px
}

.disefix-osmu-test .dfx-osmu-failure span {
  font-size: 12px;
  font-weight: 800;
  color: #fde68a;
  text-transform: uppercase
}

.disefix-osmu-test .dfx-osmu-failure p {
  font-size: 13px;
  line-height: 1.55;
  opacity: .78;
  margin: 6px 0 0
}

.disefix-osmu-test .dfx-osmu-success {
  color: #86efac;
  font-weight: 800;
  font-size: 14px
}

@media (max-width:980px) {
  .disefix-osmu-test .dfx-osmu-shell {
    grid-template-columns: 1fr
  }

  .disefix-osmu-test .dfx-osmu-left,
  .disefix-osmu-test .dfx-osmu-right {
    min-height: auto
  }

  .disefix-osmu-test .dfx-osmu-credit {
    display: none
  }
}