@charset "utf-8";
/*
Paleta de colores:
Azul Nexora Profundo
#0A2A43
Azul Corporativo Medio
#123C5A
Variación para secciones, hover, fondos alternos.
Blanco Profesional
#FFFFFF
Gris Fondo Suave
#F4F6F8
Fondos de secciones largas (blog, textos extensos).
*/

body {
  margin: 0;
  color: #333;
}

body p,
li,
a,
button {
  font-family: "Source Sans 3", sans-serif;
}

body h1,
h2,
h3 {
  font-family: "Inter", sans-serif;
}

body button {
  font-family: "Source Sans 3", sans-serif;
}

body button:hover {
  background-color: #2f2f2f;
  color: #FFF;
  transition: .5s;
}

/* Hero */
.hero {
  background-image: url(/img/background/background-index-Digital-Nexora.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: left;
  text-align: left;
  padding: 200px 0;
  position: relative;
  color: #FFF;
}

.hero-content {
  position: relative;
  max-width: 100%;
}

.hero h1 {
  font-size: 4.5rem;
  margin-left: 5%;
  width: 80%;
  margin-bottom: 20px;
  margin-top: 0;
}

.hero p {
  width: 80%;
  font-size: 1.8rem;
  margin-bottom: 30px;
  margin-left: 5%;
  margin-top: 0;
}

.hero .cta-btn {
  background: #0A2A43;
  color: white;
  padding: 20px 30px;
  border-radius: 5px;
  font-weight: bold;
  text-decoration: none;
  font-size: 1rem;
  margin-left: 5%;
}

.hero .cta-btn:hover {
  background: #123C5A;
  transition: .5s;
}

/*Main general para todos los contenedores del cuerpo, salvo encabezados y pie de página*/
main {
  width: 100%;
  margin-left: 0%;
}

/**/
#services-section {
  width: 85%;
  margin: 0 7.5%;
  padding: 40px 0;
}

#services-section h2 {
  margin: 0;
  text-align: center;
  font-size: 3rem;
}

#services-section p {
  margin: 0;
  font-size: 1.5rem;
  text-align: center;
}

#all-serv-01 {
  width: 100%;
  margin-top: 2.5rem;
  height: auto;
  display: flex;
}

.art-services {
  width: 40%;
  height: auto;
  padding: 50px;
  border: 1px solid #f2f2f2;
}

.art-services:hover {
  transform: scale(1.03);
  transition: .3s;
  background-color: #123C5A;
  color: #f2f2f2;
}

#all-serv-01 .cl-1-nameserv {
  font-size: 1.8rem;
  padding: 15px 0px;
  border-bottom: 1px #f2f2f2 solid;
}

#all-serv-01 .cl-text-serv {
  font-size: 1rem;
  padding-top: 1rem;
}

/**/
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
  #services-section {
    width: 90%;
    margin: 0 0%;
    padding: 40px 0;
  }

  #all-serv-01 {
    display: table;
  }

  .art-services {
    width: 80%;

  }
}

/**/
/* ======================================================
   ESTILOS Y ANIMACIONES - METODOLOGÍA INTERACTIVA
   ====================================================== */

@keyframes drawLine {
  0% {
    width: 0;
  }

  100% {
    width: 80%;
  }
}

@keyframes fadeUpStep {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

section#nexora-proceso-interactivo {
  width: 100%;
  padding: 90px 0;
  background-color: #f4f6f9;
  /* Fondo gris-azulado muy discreto para diferenciar secciones */
  font-family: 'Roboto', sans-serif;
  box-sizing: border-box;
  overflow: hidden;
}

#nexora-proceso-interactivo .proceso-wrapper {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

#nexora-proceso-interactivo .proceso-header {
  text-align: center;
  margin-bottom: 80px;
}

#nexora-proceso-interactivo .proceso-header h2 {
  font-size: 40px;
  color: #0c1b33;
  margin-top: 0;
  margin-bottom: 15px;
  font-weight: 900;
  letter-spacing: -0.5px;
}

#nexora-proceso-interactivo .proceso-header p {
  font-size: 18px;
  color: #555555;
  line-height: 1.6;
  margin: 0 auto;
  max-width: 700px;
}

/* --- TRACK HORIZONTAL E INTERACCIÓN --- */
#nexora-proceso-interactivo .proceso-track {
  display: flex;
  justify-content: space-between;
  position: relative;
  padding-top: 20px;
}

#nexora-proceso-interactivo .track-line-bg {
  position: absolute;
  top: 45px;
  left: 10%;
  width: 80%;
  height: 2px;
  background-color: #e2e8f0;
  /* Ajustado para el nuevo fondo */
  z-index: 1;
}

#nexora-proceso-interactivo .track-line-animated {
  position: absolute;
  top: 45px;
  left: 10%;
  height: 2px;
  background-color: #0c1b33;
  z-index: 2;
  width: 0;
  animation: drawLine 1.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.3s;
}

#nexora-proceso-interactivo .proceso-step {
  flex: 1;
  text-align: center;
  position: relative;
  z-index: 3;
  padding: 0 15px;
  opacity: 0;
  animation: fadeUpStep 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  transition: all 0.4s ease;
}

#nexora-proceso-interactivo .step-1 {
  animation-delay: 0.6s;
}

#nexora-proceso-interactivo .step-2 {
  animation-delay: 0.9s;
}

#nexora-proceso-interactivo .step-3 {
  animation-delay: 1.2s;
}

#nexora-proceso-interactivo .step-4 {
  animation-delay: 1.5s;
}

#nexora-proceso-interactivo .step-dot {
  width: 50px;
  height: 50px;
  background-color: #f4f6f9;
  /* Igual al fondo de la sección */
  color: #0c1b33;
  border: 2px solid #0c1b33;
  border-radius: 50%;
  margin: 0 auto 25px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 900;
  font-family: 'Varela Round', sans-serif;
  box-shadow: 0 0 0 8px #f4f6f9;
  /* Halo del mismo color del fondo */
  transition: all 0.3s ease;
}

#nexora-proceso-interactivo .step-info h3 {
  font-size: 20px;
  color: #0c1b33;
  margin: 0 0 10px 0;
  font-weight: 700;
  transition: color 0.3s ease;
}

#nexora-proceso-interactivo .step-info p {
  font-size: 15px;
  color: #555555;
  line-height: 1.6;
  margin: 0;
  transition: color 0.3s ease;
}

/* --- INTERACCIÓN HOVER --- */
#nexora-proceso-interactivo .proceso-track:hover .proceso-step {
  opacity: 0.4;
  filter: grayscale(80%);
}

#nexora-proceso-interactivo .proceso-track .proceso-step:hover {
  opacity: 1;
  filter: grayscale(0%);
  transform: translateY(-10px);
}

#nexora-proceso-interactivo .proceso-step:hover .step-dot {
  background-color: #FF6C2C;
  border-color: #FF6C2C;
  color: #ffffff;
  box-shadow: 0 0 0 8px #f4f6f9, 0 5px 15px rgba(255, 108, 44, 0.3);
}

/* --- CALL TO ACTION (CTA) FINAL --- */
#nexora-proceso-interactivo .proceso-cta {
  text-align: center;
  margin-top: 70px;
  opacity: 0;
  /* Oculto para animar su entrada */
  animation: fadeUpStep 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 2.0s;
  /* Aparece después de que los pasos terminan */
}

#nexora-proceso-interactivo .proceso-cta p {
  font-size: 18px;
  color: #4a4a4a;
  margin-bottom: 20px;
  font-weight: 500;
}

#nexora-proceso-interactivo .btn-nexora-cta {
  display: inline-block;
  background-color: #0A2A43;
  color: #ffffff;
  text-decoration: none;
  padding: 15px 35px;
  font-size: 18px;
  font-weight: 700;
  font-family: 'Varela Round', sans-serif;
  border-radius: 8px;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

#nexora-proceso-interactivo .btn-nexora-cta:hover {
  background-color: #00A6DE;
  transform: translateY(-3px);
}

/* ======================================================
   DISEÑO RESPONSIVO (TABLETS)
   ====================================================== */
@media only screen and (max-width: 992px) {
  #nexora-proceso-interactivo .proceso-track {
    flex-wrap: wrap;
  }

  #nexora-proceso-interactivo .track-line-bg,
  #nexora-proceso-interactivo .track-line-animated {
    display: none;
  }

  #nexora-proceso-interactivo .proceso-step {
    flex: 0 0 50%;
    margin-bottom: 40px;
  }
}

/* ======================================================
   CASCADA MÓVIL ESTRICTA (ESCALADO FORZADO PARA LECTURA)
   ====================================================== */
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {

  section#nexora-proceso-interactivo {
    padding: 60px 0;
  }

  #nexora-proceso-interactivo .proceso-wrapper {
    width: 90%;
  }

  #nexora-proceso-interactivo .proceso-header {
    margin-bottom: 60px;
  }

  #nexora-proceso-interactivo .proceso-header h2 {
    font-size: 65px;
    line-height: 1.15;
    margin-bottom: 25px;
  }

  #nexora-proceso-interactivo .proceso-header p {
    font-size: 30px;
    line-height: 1.5;
  }

  #nexora-proceso-interactivo .proceso-track {
    flex-direction: column;
    padding-top: 0;
  }

  #nexora-proceso-interactivo .proceso-track:hover .proceso-step {
    opacity: 1;
    filter: grayscale(0%);
  }

  #nexora-proceso-interactivo .proceso-track .proceso-step:hover {
    transform: translateY(0);
  }

  #nexora-proceso-interactivo .proceso-step {
    flex: 0 0 100%;
    margin-bottom: 60px;
    padding: 0;
    opacity: 1;
  }

  #nexora-proceso-interactivo .step-dot {
    width: 80px;
    height: 80px;
    font-size: 38px;
    margin-bottom: 30px;
    box-shadow: none;
  }

  #nexora-proceso-interactivo .step-info h3 {
    font-size: 42px;
    margin-bottom: 15px;
    line-height: 1.2;
  }

  #nexora-proceso-interactivo .step-info p {
    font-size: 28px;
    line-height: 1.6;
  }

  /* Adaptación del CTA en móvil */
  #nexora-proceso-interactivo .proceso-cta {
    margin-top: 40px;
  }

  #nexora-proceso-interactivo .proceso-cta p {
    font-size: 32px;
    margin-bottom: 30px;
  }

  #nexora-proceso-interactivo .btn-nexora-cta {
    font-size: 32px;
    padding: 25px 40px;
    border-radius: 12px;
  }
}

/* --- SECCIÓN FULL-BLEED (PANTALLA COMPLETA) --- */
#impacto-full-deco {
  width: 100%;
  background-color: #0A2A43;
  /* Azul institucional oscuro */
  background-image: radial-gradient(circle at top left, #123C5A 0%, #0A2A43 70%);
  /* Degradado para profundidad */
  color: #FFFFFF;
  padding: 120px 0%;
  /* Padding porcentual para adaptarse a cualquier pantalla gigante */
  position: relative;
  overflow: hidden;
  /* Evita scrolls horizontales indeseados */
}

.impacto-contenedor-fluido {
  width: 90%;
  /* Mucho más ancho que tus contenedores normales (generalmente 1100px) */
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 80px;
}

/* --- COLUMNA IZQUIERDA FIJA (STICKY) --- */
.columna-impacto-fija {
  width: 45%;
  position: sticky;
  top: 150px;
  /* Se queda pegada a 150px del techo del navegador */
}

.tag-luminoso {
  display: inline-block;
  color: #00A6DE;
  /* Azul brillante Nexora */
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.9rem;
  margin-bottom: 20px;
  border-bottom: 2px solid #00A6DE;
  padding-bottom: 5px;
}

.titulo-impacto {
  font-family: 'Inter', sans-serif;
  font-size: 3.5rem;
  line-height: 1.1;
  margin: 0 0 30px 0;
  color: #FFFFFF;
}

.texto-impacto {
  font-size: 1.2rem;
  line-height: 1.7;
  color: #D1E4F3;
  margin-bottom: 40px;
  max-width: 90%;
}

.btn-impacto-accion {
  background-color: #00A6DE;
  color: #FFF;
  border: none;
  padding: 20px 45px;
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: bold;
  cursor: pointer;
  transition: 0.3s;
}

.btn-impacto-accion:hover {
  background-color: #FFF;
  color: #0A2A43;
  transform: scale(1.05);
}

/* --- COLUMNA DERECHA (SCROLL DE BENEFICIOS) --- */
.columna-impacto-scroll {
  width: 55%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.tarjeta-scroll {
  background-color: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 50px 40px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
  /* Efecto cristal moderno */
  transition: transform 0.3s, border-color 0.3s;
}

.tarjeta-scroll:hover {
  border-color: #00A6DE;
  transform: translateX(10px);
  /* Al pasar el ratón se mueve ligeramente a la derecha */
}

/* Animación inicial oculta por JS */
.animar-scroll {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animar-scroll.revelado {
  opacity: 1;
  transform: translateY(0);
}

/* El número gigante de fondo */
.numero-gigante {
  position: absolute;
  top: -20px;
  right: 20px;
  font-family: 'Inter', sans-serif;
  font-size: 10rem;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.04);
  /* Casi transparente */
  line-height: 1;
  z-index: 0;
  pointer-events: none;
  /* Evita que estorbe al seleccionar texto */
}

.info-scroll {
  position: relative;
  z-index: 1;
  /* Por encima del número gigante */
}

.info-scroll h3 {
  font-family: 'Inter', sans-serif;
  font-size: 1.8rem;
  color: #FFFFFF;
  margin: 0 0 15px 0;
  display: flex;
  align-items: center;
  gap: 15px;
}

/* Línea decorativa antes del título del beneficio */
.info-scroll h3::before {
  content: '';
  display: block;
  width: 30px;
  height: 3px;
  background-color: #00A6DE;
}

.info-scroll p {
  font-size: 1.1rem;
  color: #A0B8D0;
  line-height: 1.6;
  margin: 0;
}

/* --- ADAPTACIÓN MÓVIL (ZMG COMPATIBLE) --- */
@media (max-width: 945px) {
  #impacto-full-deco {
    padding: 80px 5%;
  }

  .impacto-contenedor-fluido {
    flex-direction: column;
    gap: 60px;
  }

  /* En móvil se quita lo sticky porque no hay espacio a los lados */
  .columna-impacto-fija {
    width: 100%;
    position: relative;
    top: 0;
    text-align: center;
  }

  .titulo-impacto {
    font-size: 2.8rem;
  }

  .texto-impacto {
    max-width: 100%;
    font-size: 1.1rem;
  }

  .columna-impacto-scroll {
    width: 100%;
  }

  .tarjeta-scroll {
    padding: 40px 30px;
  }

  .numero-gigante {
    font-size: 8rem;
  }

  .info-scroll h3 {
    font-size: 1.5rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .info-scroll h3::before {
    width: 50px;
  }
}

@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {

  #impacto-full-deco {
    width: 90%;
  }

}

/**/
/* ======================================================
   ESTILOS EXCLUSIVOS - CURSOS MEJOR CALIFICADOS
   ====================================================== */

section#nexora-cursos-top {
  width: 100%;
  padding: 100px 0;
  background-color: #ffffff;
  font-family: 'Roboto', sans-serif;
  box-sizing: border-box;
}

#nexora-cursos-top .cursos-wrapper {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

#nexora-cursos-top .cursos-header {
  margin-bottom: 60px;
  text-align: left;
}

#nexora-cursos-top .tag-seccion {
  font-size: 12px;
  font-weight: 700;
  color: #FF6C2C;
  /* Naranja para contraste */
  text-transform: uppercase;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 10px;
}

#nexora-cursos-top .cursos-header h2 {
  font-size: 38px;
  color: #0c1b33;
  font-weight: 900;
  margin: 0 0 15px 0;
}

#nexora-cursos-top .cursos-header p {
  font-size: 18px;
  color: #555555;
  max-width: 600px;
  line-height: 1.6;
}

/* --- GRID DE CURSOS --- */
#nexora-cursos-top .cursos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

#nexora-cursos-top .curso-card {
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  padding: 40px;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all 0.3s ease;
  opacity: 0;
  /* Para la animación de JS */
  transform: translateY(20px);
}

#nexora-cursos-top .fade-in-visible {
  opacity: 1;
  transform: translateY(0);
}

#nexora-cursos-top .curso-card:hover {
  border-color: #0c1b33;
  box-shadow: 0 10px 30px rgba(12, 27, 51, 0.05);
}

#nexora-cursos-top .curso-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background-color: #0c1b33;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 10px;
  text-transform: uppercase;
  border-radius: 2px;
}

#nexora-cursos-top .curso-rating {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

#nexora-cursos-top .stars {
  color: #FFB400;
  /* Color dorado para las estrellas */
  font-size: 18px;
  letter-spacing: 2px;
}

#nexora-cursos-top .score {
  font-size: 14px;
  font-weight: 700;
  color: #0c1b33;
}

#nexora-cursos-top .curso-card h3 {
  font-size: 22px;
  color: #0c1b33;
  margin: 0 0 15px 0;
  font-weight: 700;
  line-height: 1.3;
}

#nexora-cursos-top .curso-card p {
  font-size: 15px;
  color: #555555;
  line-height: 1.6;
  margin-bottom: 30px;
}

/* --- FOOTER DE LA TARJETA --- */
#nexora-cursos-top .curso-footer {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

#nexora-cursos-top .modalidad {
  font-size: 13px;
  color: #888888;
  font-weight: 500;
}

#nexora-cursos-top .btn-detalles {
  display: inline-block;
  color: #0c1b33;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: color 0.3s ease;
}

/* Requisito de hover específico #056839 */
#nexora-cursos-top .btn-detalles:hover {
  color: #056839;
}

/* ======================================================
   CASCADA MÓVIL ESTRICTA (ESCALADO FORZADO)
   ====================================================== */
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {

  section#nexora-cursos-top {
    padding: 60px 0;
  }

  #nexora-cursos-top .cursos-header h2 {
    font-size: 60px;
    line-height: 1.1;
  }

  #nexora-cursos-top .cursos-header p {
    font-size: 28px;
    line-height: 1.5;
  }

  #nexora-cursos-top .cursos-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  #nexora-cursos-top .curso-card {
    padding: 40px 30px;
  }

  #nexora-cursos-top .stars {
    font-size: 30px;
  }

  #nexora-cursos-top .score {
    font-size: 24px;
  }

  #nexora-cursos-top .curso-card h3 {
    font-size: 42px;
    margin-bottom: 20px;
  }

  #nexora-cursos-top .curso-card p {
    font-size: 26px;
    line-height: 1.6;
  }

  #nexora-cursos-top .modalidad {
    font-size: 22px;
  }

  #nexora-cursos-top .btn-detalles {
    font-size: 26px;
    padding: 10px 0;
  }
}

/* Basic reset for the snippet */
/* ======================================================
   ESTILOS EXCLUSIVOS - RESULTADOS (REPORTE EJECUTIVO)
   ====================================================== */

section#nexora-resultados-corp {
  width: 100%;
  padding: 100px 0;
  background-color: #f4f6f9;
  font-family: 'Roboto', sans-serif;
  box-sizing: border-box;
  border-top: 1px solid #e0e0e0;
  /* Línea separadora de secciones */
}

#nexora-resultados-corp .corp-wrapper {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

/* --- ENCABEZADO --- */
#nexora-resultados-corp .corp-header {
  margin-bottom: 80px;
  max-width: 800px;
}

#nexora-resultados-corp .corp-header h2 {
  font-size: 38px;
  color: #0c1b33;
  /* Azul oscuro Nexora */
  margin-top: 0;
  margin-bottom: 20px;
  font-weight: 900;
  letter-spacing: -0.5px;
}

#nexora-resultados-corp .corp-header p {
  font-size: 18px;
  color: #555555;
  line-height: 1.7;
  margin: 0;
  font-weight: 400;
}

/* --- CUADRÍCULA ESTILO REPORTE --- */
#nexora-resultados-corp .corp-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 80px;
  /* Mayor espacio entre columnas para legibilidad */
  margin-bottom: 80px;
}

#nexora-resultados-corp .corp-item {
  border-top: 3px solid #0c1b33;
  /* La línea superior gruesa da el aspecto de documento oficial */
  padding-top: 25px;
  display: flex;
  flex-direction: column;
}

/* Subtítulo pequeño (Categoría) */
#nexora-resultados-corp .item-meta {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #777777;
  font-weight: 700;
  margin-bottom: 10px;
}

/* El dato principal / Logro */
#nexora-resultados-corp .item-metric {
  font-size: 28px;
  color: #0c1b33;
  font-weight: 900;
  margin-bottom: 20px;
  line-height: 1.2;
}

/* Título de la acción */
#nexora-resultados-corp .item-title {
  font-size: 20px;
  color: #333333;
  margin: 0 0 15px 0;
  font-weight: 700;
}

/* Descripción */
#nexora-resultados-corp .item-desc {
  font-size: 16px;
  color: #555555;
  line-height: 1.6;
  margin-bottom: 25px;
}

/* Lista limpia (sin viñetas redondas, usando guiones o padding limpio) */
#nexora-resultados-corp .item-list {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-top: auto;
  /* Empuja la lista al fondo si las tarjetas tienen distinta altura */
  border-top: 1px solid #eaeaea;
  padding-top: 20px;
}

#nexora-resultados-corp .item-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 12px;
  font-size: 15px;
  color: #444444;
  line-height: 1.4;
}

#nexora-resultados-corp .item-list li::before {
  content: '-';
  /* Guión en lugar de punto para mayor formalidad */
  color: #0c1b33;
  font-weight: bold;
  position: absolute;
  left: 0;
}

/* --- BOTÓN CORPORATIVO --- */
#nexora-resultados-corp .corp-footer {
  border-top: 1px solid #e0e0e0;
  padding-top: 40px;
  display: flex;
  justify-content: flex-start;
  /* Alineado a la izquierda como en un documento */
}

#nexora-resultados-corp .btn-corp {
  display: inline-block;
  background-color: #0c1b33;
  color: #ffffff;
  text-decoration: none;
  padding: 16px 35px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 4px;
  /* Bordes ligeramente cuadrados, más formales */
  transition: background-color 0.3s ease;
}

#nexora-resultados-corp .btn-corp:hover {
  background-color: #056839;
  /* Transición al verde DECO al interactuar */
}

/* ======================================================
   DISEÑO RESPONSIVO (TABLETS)
   ====================================================== */
@media only screen and (max-width: 992px) {
  #nexora-resultados-corp .corp-grid {
    grid-template-columns: 1fr;
    /* Pasa a 1 columna en tablet */
    gap: 60px;
  }
}

/* ======================================================
   CASCADA MÓVIL ESTRICTA (ESCALADO FORZADO)
   ====================================================== */
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {

  section#nexora-resultados-corp {
    padding: 80px 0;
  }

  #nexora-resultados-corp .corp-wrapper {
    width: 90%;
  }

  #nexora-resultados-corp .corp-header {
    margin-bottom: 70px;
  }

  #nexora-resultados-corp .corp-header h2 {
    font-size: 3rem;
    line-height: 1.15;
    margin-bottom: 25px;
  }

  #nexora-resultados-corp .corp-header p {
    font-size: 30px;
    line-height: 1.5;
  }

  #nexora-resultados-corp .corp-grid {
    grid-template-columns: 1fr;
    gap: 70px;
    margin-bottom: 70px;
  }

  #nexora-resultados-corp .corp-item {
    border-top-width: 6px;
    padding-top: 40px;
  }

  #nexora-resultados-corp .item-meta {
    font-size: 22px;
    margin-bottom: 15px;
  }

  #nexora-resultados-corp .item-metric {
    font-size: 46px;
    margin-bottom: 30px;
  }

  #nexora-resultados-corp .item-title {
    font-size: 38px;
    margin-bottom: 20px;
    line-height: 1.2;
  }

  #nexora-resultados-corp .item-desc {
    font-size: 28px;
    line-height: 1.6;
    margin-bottom: 40px;
  }

  #nexora-resultados-corp .item-list {
    padding-top: 30px;
  }

  #nexora-resultados-corp .item-list li {
    font-size: 26px;
    padding-left: 35px;
    margin-bottom: 20px;
  }

  #nexora-resultados-corp .corp-footer {
    padding-top: 50px;
  }

  #nexora-resultados-corp .btn-corp {
    font-size: 32px;
    padding: 25px 40px;
    border-radius: 8px;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
  }
}

/* ======================================================
   ESTILOS EXCLUSIVOS - CLIENTES (MARQUESINA INFINITA)
   ====================================================== */

/* --- ANIMACIÓN DEL TICKER --- */
@keyframes scrollTicker {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }

  /* Se mueve exactamente la mitad, como está clonado, crea el loop perfecto */
}

section#nexora-clientes {
  width: 100%;
  padding: 30px 0;
  background-color: #ffffff;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
  overflow: hidden;
  /* Evita que el carrusel rompa el ancho de la página */
  box-sizing: border-box;
}

#nexora-clientes .clientes-wrapper {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

#nexora-clientes .clientes-header {
  text-align: center;
  margin-bottom: 60px;
  padding: 0 20px;
}

#nexora-clientes .clientes-header h2 {
  color: #0c1b33;
  font-size: 34px;
  font-weight: 900;
  margin-top: 0;
  margin-bottom: 15px;
  letter-spacing: -0.5px;
}

#nexora-clientes .clientes-header p {
  font-size: 18px;
  color: #555555;
  margin: 0;
}

/* --- CONTENEDOR DEL CARROUSEL --- */
#nexora-clientes .ticker-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 20px 0;
}

/* Efecto de desvanecimiento en los bordes izquierdo y derecho.
   Da la ilusión de que los logos aparecen y desaparecen suavemente.
*/
#nexora-clientes .ticker-container::before,
#nexora-clientes .ticker-container::after {
  content: '';
  position: absolute;
  top: 0;
  width: 150px;
  height: 100%;
  z-index: 2;
}

#nexora-clientes .ticker-container::before {
  left: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

#nexora-clientes .ticker-container::after {
  right: 0;
  background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

#nexora-clientes .ticker-track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: scrollTicker 85s linear infinite;
}

/* Pausar la animación cuando el usuario pone el mouse encima */
#nexora-clientes .ticker-track:hover {
  animation-play-state: running;
}

#nexora-clientes .ticker-slide {
  width: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 30px;
  box-sizing: border-box;
}

#nexora-clientes .ticker-slide img {
  max-width: auto;
  max-height: 150px;
  width: auto;
  height: auto;
  opacity: 0.5;
  filter: grayscale(100%);
  transition: all 0.4s ease;
}

/* Efecto al pasar el cursor sobre un logo específico */
#nexora-clientes .ticker-slide img:hover {
  opacity: 1;
  filter: grayscale(0%);
  transform: scale(1.05);
}

/* ======================================================
   CASCADA MÓVIL ESTRICTA (ESCALADO FORZADO)
   ====================================================== */
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {

  section#nexora-clientes {
    padding: 60px 0;
  }

  #nexora-clientes .clientes-header {
    margin-bottom: 50px;
  }

  #nexora-clientes .clientes-header h2 {
    font-size: 55px;
    line-height: 1.15;
    margin-bottom: 20px;
  }

  #nexora-clientes .clientes-header p {
    font-size: 30px;
    line-height: 1.5;
  }

  /* En móvil, los difuminados laterales deben ser más pequeños */
  #nexora-clientes .ticker-container::before,
  #nexora-clientes .ticker-container::after {
    width: 60px;
  }

  /* Logos más grandes en móvil y animación un poco más rápida */
  /* Logos más grandes en móvil */
  #nexora-clientes .ticker-slide {
    width: 380px;
    /* ANTES: 300px */
    padding: 0 40px;
  }

  #nexora-clientes .ticker-slide img {
    max-width: 260px;
    /* ANTES: 200px */
    max-height: 130px;
    /* ANTES: 100px */
  }

  #nexora-clientes .ticker-track {
    animation: scrollTicker 20s linear infinite;
  }
}

/**/
/* ======================================================
   ESTILOS - FORMULARIO DE CONTACTO (ESTRUCTURA BLINDADA)
   ====================================================== */

/* Ajuste preventivo para evitar que padding y bordes desborden los anchos */
.contact-section *,
.contact-section *::before,
.contact-section *::after {
  box-sizing: border-box;
}

.contact-section {
  padding: 50px 20px;
  background: #F4F6F8;
}

.contact-container {
  max-width: 800px;
  margin: auto;
  width: 100%;
}

.contact-card {
  background: #fff;
  padding: 40px;
  border-radius: 12px;
  width: 100%;
  overflow: hidden;
}

.contact-card h2 {
  text-align: center;
  margin-bottom: 30px;
  color: #0A2A43;
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0;
  padding-bottom: 10px;
}

.contact-card p {
  text-align: center;
  margin: 0;
  font-size: 1.5rem;
  padding-bottom: 10px;
}

/* === Línea: Icono + Campo === */
.form-group-inline {
  display: flex;
  align-items: center;
  gap: 15px;
  background: #fafafa;
  padding: 12px 15px;
  border-radius: 8px;
  border: 1px solid #ddd;
  margin-bottom: 18px;
  width: 100%;
}

.form-group-inline img {
  width: 32px;
  height: 32px;
  opacity: 0.75;
  flex-shrink: 0; /* Previene que el icono se deforme o reduzca su tamaño */
}

.inline-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0; /* Mitigación crítica: permite que el input se reduzca sin desbordar el contenedor padre */
}

.inline-group small {
  padding-bottom: 5px;
  padding-top: 5px;
  font-size: 1rem;
  color: #555;
}

/* Inputs y selects */
.form-group-inline input,
.form-group-inline select {
  width: 100%;
  padding: 10px 12px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 6px;
  outline: none;
}

.form-group-inline textarea {
  width: 100%;
  padding: 12px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 6px;
  resize: vertical; /* Bloquea el redimensionamiento horizontal por parte del usuario */
  min-height: 120px;
}

/* Ajuste para textarea (más alto pero alineado al inicio) */
.textarea-group {
  align-items: flex-start;
}

/* Botón de envío */
.btn-enviar {
  width: 100%;
  padding: 14px;
  background: #0A2A43;
  color: #fff;
  border: none;
  font-size: 17px;
  font-weight: 600;
  border-radius: 6px;
  cursor: pointer;
  margin-top: 10px;
  transition: all 0.3s ease;
}

.btn-enviar:hover {
  background: #056839; 
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(5, 104, 57, 0.2);
}

/* ======================================================
   CASCADA MÓVIL Y DISEÑO RESPONSIVO
   ====================================================== */
@media only screen and (max-width: 600px) {
  .contact-card {
    padding: 25px 20px;
  }
  
  .form-group-inline {
    gap: 10px;
    padding: 10px;
  }
  
  .form-group-inline img {
    width: 24px;
    height: 24px;
  }
  
  .contact-card h2 {
    font-size: 2rem;
  }
  
  .contact-card p {
    font-size: 1.2rem;
  }
}

/**/
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
  /* Hero */

  .hero h1 {
    font-size: 2.0rem;
    margin-bottom: 20px;
  }

}