.elementor-2 .elementor-element.elementor-element-3423a25{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2 .elementor-element.elementor-element-15604b5{margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2 .elementor-element.elementor-element-15604b5.elementor-element{--align-self:flex-end;}.elementor-2 .elementor-element.elementor-element-15604b5 .elementor-menu-toggle{margin:0 auto;}.elementor-2 .elementor-element.elementor-element-ca0ca8f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-6ec9c62{width:100%;max-width:100%;margin:89px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2 .elementor-element.elementor-element-a625d97{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-4505e30{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-3a52a6a{margin:-49px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2 .elementor-element.elementor-element-917bcd6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-14px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2 .elementor-element.elementor-element-e2f3c40{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-66px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}/* Start custom CSS for nav-menu, class: .elementor-element-15604b5 *//* --- CÁPSULA FLOTANTE ULTRA-ESTÉTICA ALINEADA A LA DERECHA (#1d9cbb) --- */

/* 1. Forzar que el contenedor principal fluya hacia la derecha */
.menu-transparente {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 999 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  justify-content: flex-end !important; /* Mueve la estructura general hacia la derecha */
  align-items: center !important;
}

/* Forzar que el envoltorio interno de Elementor empuje hacia el lateral */
.menu-transparente .elementor-widget-container,
.menu-transparente .elementor-nav-menu-wrapper,
.menu-transparente nav {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100% !important; /* Ocupa el ancho total para permitir el empuje */
}

/* 2. La cápsula blanca: añadimos el margen automático a la izquierda para el empuje definitivo */
.menu-transparente ul.elementor-nav-menu {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important; /* Clava los textos en el centro vertical exacto */
  background: rgba(255, 255, 255, 0.8) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  padding: 0 24px !important;
  border-radius: 100px !important;
  border: 1px solid rgba(29, 156, 187, 0.25) !important; /* Perfilado sutil turquesa */
  box-shadow: 0 12px 24px -10px rgba(15, 23, 42, 0.06) !important;
  
  /* LA MAGIA DEL ALINEAMIENTO: El auto a la izquierda clava el menú a la derecha */
  margin: 25px 40px 0 auto !important; 
  
  gap: 4px !important;
  height: 54px !important;
  min-height: 54px !important;
  box-sizing: border-box !important;
}

/* 3. Limpieza absoluta de etiquetas de lista */
.menu-transparente ul.elementor-nav-menu li {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  list-style: none !important;
}

/* 4. Tipografía Montserrat y enlaces limpios */
.menu-transparente ul.elementor-nav-menu li a.elementor-item {
  font-family: 'Montserrat', system-ui, sans-serif !important;
  color: #1E293B !important; /* Gris oscuro elegante corporativo */
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  padding: 0 16px !important;
  margin: 0 !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50px !important;
  transition: all 0.2s ease-in-out !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

/* 5. Color de la Página Activa (Quiénes Somos / Inicio) */
.menu-transparente ul.elementor-nav-menu li.current-menu-item a.elementor-item,
.menu-transparente ul.elementor-nav-menu li.elementor-item-active a.elementor-item,
.menu-transparente .elementor-item-active {
  color: #1d9cbb !important; /* Azul Turquesa Vital oficial */
  background: rgba(29, 156, 187, 0.08) !important; /* Fondo redondeado muy sutil */
}

/* Efecto al pasar el ratón */
.menu-transparente ul.elementor-nav-menu li a.elementor-item:hover {
  color: #1d9cbb !important;
  background: rgba(29, 156, 187, 0.08) !important;
}

/* Desactivación total de líneas secundarias o subrayados de Elementor */
.menu-transparente ul.elementor-nav-menu li::after,
.menu-transparente ul.elementor-nav-menu li a::after,
.menu-transparente .elementor-item-active::after,
.menu-transparente .elementor-item:after {
  background: transparent !important;
  display: none !important;
  height: 0px !important;
  opacity: 0 !important;
  content: none !important;
}

/* --- ELIMINACIÓN DEL SEGUNDO MENÚ DUPLICADO EN MÓVILES --- */

/* Oculta de forma estricta la lista desplegable secundaria que se queda abierta */
.menu-transparente .elementor-nav-menu--dropdown,
.menu-transparente nav.elementor-nav-menu--dropdown,
.menu-transparente .elementor-menu-toggle {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0px !important;
  max-height: 0px !important;
  transform: none !important;
}

/* Asegura que solo la barra principal horizontal (main) tenga permiso para pintarse */
.menu-transparente .elementor-nav-menu--main {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* --- TRUCO RESPONSIVE AVANZADO: CAPSULA DESLIZANTE PARA MÓVILES --- */
@media (max-width: 1024px) {
  
  /* 1. Forzamos que la cápsula principal deje respirar al logotipo de abajo */
  .menu-transparente {
    position: relative !important; /* Cambia a relativo para que ocupe su espacio real y no tape los textos */
    margin-bottom: 20px !important;
    padding: 0 15px !important;
  }

  .menu-transparente .elementor-widget-container,
  .menu-transparente .elementor-nav-menu-wrapper,
  .menu-transparente nav {
    width: 100% !important;
    justify-content: center !important;
  }

  /* 2. La Píldora: Activamos el deslizamiento táctil horizontal con el dedo */
  .menu-transparente ul.elementor-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* PROHIBIDO romper filas o caerse hacia abajo */
    justify-content: flex-start !important; /* Alinea los elementos al inicio para el scroll */
    align-items: center !important;
    
    width: 100% !important;
    max-width: 100% !important;
    height: 50px !important; /* Altura estilizada para móviles */
    min-height: 50px !important;
    margin: 15px auto 0 auto !important;
    padding: 0 16px !important;
    gap: 4px !important;
    
    /* Habilitamos el desplazamiento táctil físico */
    overflow-x: auto !important; 
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important; /* Máxima fluidez en pantallas de iPhone/Android */
  }

  /* 3. Ocultamos la barra de scroll gris fea para mantener el diseño cristalino */
  .menu-transparente ul.elementor-nav-menu::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
  .menu-transparente ul.elementor-nav-menu {
    -ms-overflow-style: none !important;  /* IE y Edge */
    scrollbar-width: none !important;  /* Firefox */
  }

  /* 4. Los Enlaces: Cajas compactas alineadas en una sola línea infinita */
  .menu-transparente ul.elementor-nav-menu li {
    flex: 0 0 auto !important; /* Evita que los botones se encojan o se deformen */
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
  }

  .menu-transparente ul.elementor-nav-menu li a.elementor-item {
    font-size: 0.75rem !important; /* Tamaño legible y compacto */
    padding: 0 14px !important;
    height: 34px !important;
    white-space: nowrap !important; /* Fuerza a que las palabras no se corten */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6ec9c62 *//* --- HERO VANGUARDISTA --- */
.hero-premium {
    background: #ffffff !important;
    padding: 120px 20px;
    font-family: 'Montserrat', sans-serif;
    overflow: hidden;
}

.hero-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 80px;
}

/* --- ANIMACIONES DE ENTRADA --- */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.hero-content-box {
    flex: 1;
    animation: fadeInUp 1s ease-out;
}

.hero-tag-animate {
    color: #1d9cbb;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 3px;
    margin-bottom: 20px;
}

.hero-title-main {
    font-size: clamp(50px, 6vw, 80px);
    font-weight: 900;
    line-height: 0.9;
    color: #0f172a;
    margin-bottom: 20px;
}

.hero-blue-text { color: #1d9cbb; }

.hero-slogan-italic {
    font-size: 28px;
    font-weight: 700;
    color: #1d9cbb;
    font-style: italic;
    margin-bottom: 30px;
}

.hero-description-main {
    font-size: 18px;
    color: #64748b;
    line-height: 1.8;
    max-width: 520px;
    margin-bottom: 40px;
}

/* --- BOTONES CON HOVER DINÁMICO --- */
.hero-button-group { display: flex; gap: 20px; }

.hero-btn-primary {
    background: #1d9cbb;
    color: white;
    padding: 20px 40px;
    border-radius: 18px;
    text-decoration: none;
    font-weight: 800;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 30px rgba(29, 156, 187, 0.3);
}

.hero-btn-primary:hover {
    transform: translateY(-5px) scale(1.05);
    background: #157a94;
    box-shadow: 0 15px 40px rgba(29, 156, 187, 0.4);
}

.hero-btn-secondary {
    border: 2px solid #e2e8f0;
    color: #0f172a;
    padding: 18px 40px;
    border-radius: 18px;
    text-decoration: none;
    font-weight: 800;
    transition: all 0.3s ease;
}

.hero-btn-secondary:hover {
    background: #f8fafc;
    border-color: #1d9cbb;
    color: #1d9cbb;
}

/* --- SECCIÓN VISUAL (IMAGEN) --- */
.hero-visual-box {
    flex: 1;
    position: relative;
}

.hero-image-card {
    position: relative;
    z-index: 2;
    border-radius: 50px;
    overflow: hidden;
    box-shadow: 0 40px 80px rgba(0,0,0,0.1);
    /* Animación de flotación suave */
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}

.hero-image-card img { width: 100%; transition: transform 0.8s ease; }
.hero-image-card:hover img { transform: scale(1.05); }

.hero-floating-badge {
    position: absolute;
    bottom: 40px;
    left: 40px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    padding: 20px 30px;
    border-radius: 25px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.badge-icon {
    background: #1d9cbb;
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.hero-blob-decor {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 350px;
    height: 350px;
    background: rgba(29, 156, 187, 0.04);
    border-radius: 50%;
    z-index: 1;
}

/* --- RESPONSIVE --- */
@media (max-width: 1024px) {
    .hero-wrapper { flex-direction: column; text-align: center; }
    .hero-button-group { justify-content: center; }
    .hero-description-main { margin: 0 auto 40px; }
    .hero-visual-box { width: 100%; max-width: 600px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8ba38e6 *//* --- ADAPTACIÓN DEL CARRUSEL AL TURQUESA VITAL (#1d9cbb) --- */
.marquee-moderno {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  background-color: #F8FAFC !important; /* Fondo gris azulado muy suave y limpio */
  padding: 18px 0 !important;
  /* Sutil perfilado superior e inferior adaptado con vuestro azul oficial difuminado */
  border-top: 1px solid rgba(29, 156, 187, 0.2) !important;
  border-bottom: 1px solid rgba(29, 156, 187, 0.2) !important;
  margin-bottom: 50px !important; /* Separa el carrusel de las tarjetas de abajo */
  display: flex !important;
}

.marquee-track {
  display: flex !important;
  width: max-content !important;
  animation: scrollInfinito 25s linear infinite !important; /* Velocidad constante fluida */
}

.marquee-content {
  display: flex !important;
  justify-content: space-around !important;
  gap: 40px !important;
  padding-right: 40px !important;
}

.marquee-content span {
  font-family: 'Montserrat', system-ui, -apple-system, sans-serif !important; /* Sincronizado con Montserrat */
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #1d9cbb !important; /* Cambiado al Turquesa Oficial del manual */
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  white-space: nowrap !important;
}

/* Animación de alto rendimiento para el movimiento continuo */
@keyframes scrollInfinito {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Detiene suavemente el bucle al posar el ratón (Detalle premium UI/UX) */
.marquee-moderno:hover .marquee-track {
  animation-play-state: paused !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3a52a6a *//* --- SECCIÓN IMPACTO VANGUARDISTA --- */
.abte-impacto-vanguard {
    background-color: #ffffff !important; /* Fondo blanco puro */
    padding: 100px 20px;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
}

.impacto-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* CABECERA */
.impacto-header { margin-bottom: 60px; }

.impacto-badge {
    color: #1d9cbb;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 15px;
}

.impacto-title {
    font-size: 42px;
    font-weight: 900;
    color: #1a1a1a;
    margin: 0;
}

.impacto-title .txt-vital { color: #1d9cbb; }

.impacto-line {
    width: 60px;
    height: 4px;
    background: #1d9cbb;
    margin: 20px auto 0;
    border-radius: 10px;
}

/* GRID Y TARJETAS */
.impacto-grid {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.impacto-card {
    flex: 1;
    min-width: 250px;
    background: #ffffff;
    padding: 40px 30px;
    border-radius: 30px;
    border: 1px solid #f1f5f9;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
}

/* Efecto Hover */
.impacto-card:hover {
    transform: translateY(-15px);
    border-color: #1d9cbb;
    box-shadow: 0 20px 50px rgba(29, 156, 187, 0.1);
}

.impacto-number {
    font-size: 52px;
    font-weight: 900;
    color: #1d9cbb;
    line-height: 1;
    margin-bottom: 15px;
}

.impacto-label {
    font-size: 16px;
    font-weight: 800;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.impacto-sub {
    font-size: 14px;
    color: #64748b;
    margin: 0;
    line-height: 1.5;
}

/* Ajuste Móvil */
@media (max-width: 768px) {
    .impacto-title { font-size: 32px; }
    .impacto-card { min-width: 100%; }
}
/* --- MEJORA ESTÉTICA DE TARJETAS DE IMPACTO --- */
.impacto-card {
    background: #ffffff !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 24px !important; /* Un poco menos redondeado para ser más elegante */
    padding: 45px 25px !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
}

.impacto-card:hover {
    transform: translateY(-12px) !important;
    border-color: #1d9cbb !important;
    box-shadow: 0 20px 40px rgba(29, 156, 187, 0.12) !important;
}

.impacto-number {
    font-size: 56px !important; /* Un poco más grandes los números */
    letter-spacing: -2px !important;
    color: #1d9cbb !important;
    font-weight: 900 !important;
}

.impacto-label {
    color: #0f172a !important; /* Negro azulado para más contraste */
    font-size: 14px !important;
    letter-spacing: 1.5px !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2c0f427 *//* --- SECCIÓN TESTIMONIOS DEFINITIVA --- */
.abte-testimonios-final {
    padding: 100px 20px;
    background: #ffffff !important;
    font-family: 'Montserrat', sans-serif;
}

.testi-wrapper { max-width: 1200px; margin: 0 auto; }

/* ESTILO TÍTULO */
.testi-header-vanguard { text-align: center; margin-bottom: 60px; }
.testi-tag { color: #1d9cbb; font-weight: 800; font-size: 12px; letter-spacing: 3px; text-transform: uppercase; }
.testi-main-title { font-size: 48px; font-weight: 900; color: #1a1a1a; margin-top: 10px; }
.txt-vital { color: #1d9cbb; }
.testi-decor-line { width: 50px; height: 5px; background: #1d9cbb; margin: 20px auto 0; border-radius: 10px; }

/* GRID PERFECTO */
.testi-grid-premium {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.testi-card-v {
    background: #ffffff;
    border: 1px solid #f1f5f9;
    border-radius: 35px;
    padding: 45px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Alinea los autores abajo */
    transition: all 0.4s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
}

.featured-card { border-color: #1d9cbb; box-shadow: 0 15px 40px rgba(29, 156, 187, 0.08); }

.testi-card-v:hover {
    transform: translateY(-10px);
    border-color: #1d9cbb;
    box-shadow: 0 20px 50px rgba(29, 156, 187, 0.12);
}

.quote-mark {
    position: absolute; top: 15px; right: 35px;
    font-size: 80px; color: rgba(29, 156, 187, 0.08); font-family: serif;
}

.testi-card-v p {
    font-size: 16px; color: #475569; line-height: 1.8;
    font-style: italic; margin-bottom: 40px; z-index: 2;
}

/* FOOTER ALINEADO */
.testi-footer {
    display: flex; align-items: center; gap: 15px;
    border-top: 1px solid #f1f5f9; padding-top: 25px;
}

.testi-avatar-circle {
    width: 45px; height: 45px; background: #f1f5f9;
    color: #1d9cbb; border-radius: 50%; display: flex;
    align-items: center; justify-content: center;
    font-weight: 800; font-size: 13px; transition: 0.3s;
}

.testi-card-v:hover .testi-avatar-circle { background: #1d9cbb; color: #fff; }

.testi-meta-data strong { display: block; font-size: 15px; color: #1a1a1a; }
.testi-meta-data span { font-size: 12px; color: #1d9cbb; font-weight: 700; text-transform: uppercase; }

/* MOBILE */
@media (max-width: 850px) {
    .testi-grid-premium { grid-template-columns: 1fr; }
    .testi-main-title { font-size: 32px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ddb02a7 *//* --- BANNER DE CIERRE PREMIUM --- */
.abte-cta-final {
    background: #ffffff !important;
    padding: 120px 20px;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cta-wrapper {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.cta-tag {
    color: #1d9cbb;
    font-weight: 800;
    font-size: 13px;
    letter-spacing: 4px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 20px;
}

.cta-title {
    font-size: clamp(32px, 5vw, 52px);
    font-weight: 900;
    color: #1a1a1a;
    line-height: 1.1;
    margin-bottom: 25px;
}

.cta-title .txt-vital {
    color: #1d9cbb;
}

.cta-desc {
    font-size: 18px;
    color: #64748b;
    max-width: 650px;
    margin: 0 auto 45px;
    line-height: 1.6;
}

/* BOTONES CON INTERACCIÓN */
.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.btn-cta-primary {
    background: #1d9cbb;
    color: #ffffff;
    padding: 20px 45px;
    border-radius: 18px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.4s ease;
    box-shadow: 0 15px 35px rgba(29, 156, 187, 0.3);
    /* Efecto pulso sutil */
    animation: pulse-button 3s infinite;
}

.btn-cta-secondary {
    background: #ffffff;
    color: #1a1a1a;
    padding: 18px 45px;
    border-radius: 18px;
    border: 2px solid #e2e8f0;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* HOVERS */
.btn-cta-primary:hover {
    background: #157a94;
    transform: translateY(-5px);
    box-shadow: 0 20px 45px rgba(29, 156, 187, 0.4);
}

.btn-cta-secondary:hover {
    border-color: #1d9cbb;
    color: #1d9cbb;
    background: #f4f9fa;
}

/* ANIMACIÓN PULSO */
@keyframes pulse-button {
    0% { box-shadow: 0 0 0 0 rgba(29, 156, 187, 0.4); }
    70% { box-shadow: 0 0 0 20px rgba(29, 156, 187, 0); }
    100% { box-shadow: 0 0 0 0 rgba(29, 156, 187, 0); }
}

/* DECORACIÓN FONDO */
.cta-decor-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(29, 156, 187, 0.03) 0%, rgba(255,255,255,0) 70%);
    z-index: 1;
}

@media (max-width: 768px) {
    .cta-title { font-size: 32px; }
    .btn-cta-primary, .btn-cta-secondary { width: 100%; }
}/* End custom CSS */