body,h1,h2,h3{font-family: "Fredoka", sans-serif}
section, .container { content-visibility: auto; contain-intrinsic-size: 1px 1000px; }
.fredoka-7{font-family: "Fredoka", sans-serif;font-weight: 700}
.text-indigo{color:#723edb}
.text-purple{color:#483290}
.text-orange{color:#ff7223}
.text-blue{color:#0e9aff}
.text-lila{color:#c61fa1}
.text-green{color:#9cc624}	
.bg-indigo{background:#723edb}
.bg-purple{background:#483290}
.bg-orange{background:#ff7223}
.bg-blue{background:#0e9aff}
.bg-lila{background:#c61fa1}
.bg-green{background:#9cc624}	
.opacity-75{opacity:.75}
.rounded-50{border-radius:40px}
.btn-hero{text-decoration:none;overflow:hidden;cursor:pointer}
.btn-hero img{width="48px";height:48px;border-radius:50%;overflow:hidden}
.circulo-top-yellow:after, .circulo-bottom-blue:after{position:absolute;z-index:0;content:"";border-radius:50%}
.circulo-top-yellow:after{width:70px;height:70px;background:#ffc107;top:-15px;right:-15px}
.circulo-bottom-blue:after{width:50px;height:50px;background:#c61fa1;bottom:-25px;right:25px}
.bg-cuadros{background-image:url("../img/bg-cuadros.png")}
.folio h4{font-size:1.5rem}
.folio p{font-size:.8rem}
.folio{border-top-right-radius:30px;border-bottom-left-radius:30px;overflow:hidden}
.rounded-sb{border-bottom-left-radius:30px}
.rounded-et{border-top-right-radius:30px}
.rounded-all{border-radius:30px}	
.fade-in-up {opacity: 0;transform: translateY(50px);transition: all 1s ease;}
.fade-in-up.show {opacity: 1;transform: translateY(0);}
.parallax-bg {background-image: url('../img/bg-puntos.svg');background-size: cover;background-position: center;background-repeat: no-repeat;}
.bg-stars {background-image: url('../img/bg-stars.svg');background-size: cover;background-position: center;background-repeat: no-repeat;}
.testimonio{position:relative;padding-left:70px;}
.imagen-t{width:50px;height:50px;border-radius:50%;overflow:hidden;position:absolute;top:20px;left:0;border:3px solid #83d8db}
.testp{font-size:1.5rem}
.text-sm{font-style:italic}
.text-sm span{color:red}
.top-100-neg{top:-80px}
.mitad-fondo-contenido {position: relative;min-height: 300px;z-index: 0;}
.mitad-fondo-contenido::before {content: "";position: absolute;inset: 0;background: linear-gradient(to bottom, transparent 50%, #483290 50%);z-index: -1;}
.fw-500{font-weight:500}
.btn-section a.btn {border: none;line-height: 12px;display: block;height: 100%;border-radius: 0; padding-top: 7px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px;}
.btn-ws {background: #25D366;color: #fff;}
.btn-section a span {font-size: 10px;display: block;}
.border-top-radius-0{border-top-right-radius:0px;border-top-left-radius:0px;}

/* --- FORMULARIO Y FEATURES (MOBILE) --- */
.search-features-section {padding: 20px; }
.multi-step-form {box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);padding: 20px;margin-bottom: 30px;border-radius:20px;background:#ffffff}
.feature-list {list-style: none;padding: 0;display: flex;flex-direction: column;}
.feature-item {margin-bottom: 25px;}

/* (Se mantienen todos los estilos de tipografía, botones y formulario del código anterior) */
/* ... Estilos de .hero-content, .multi-step-form, .btn, .progress-indicator, etc. ... */
.hero-content {padding-top: 30px;text-align: left;}
.hero-content p {font-size: 14px;color: #555;margin-bottom: 20px;}
.floating-badge {position: absolute;padding: 5px;border-radius: 50%;z-index: 3;background-color: white;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}
.multi-step-form h3 {text-align: center;font-size: 20px;margin-bottom: 25px;color: #333;}
.multi-step-form h4 {font-size: 18px;color: #e53957;margin-top: 0;margin-bottom: 20px;}
.multi-step-form input:not([type="radio"]),.multi-step-form select {width: calc(100% - 20px);padding: 10px;margin-bottom: 15px;border: 1px solid #ddd;border-radius: 8px;font-size: 15px;box-sizing: border-box;}
.radio-group label {display: block;padding: 10px 0;font-size: 15px;color: #555;cursor: pointer;border-bottom: 1px solid #eee;}
.progress-indicator {display: flex;justify-content: space-between;align-items: center;margin-bottom: 30px;padding: 0 10px;}
.progress-indicator .step {width: 30px;height: 30px;border-radius: 50%;background-color: #ddd;color: #777;display: flex;justify-content: center;align-items: center;font-weight: bold;font-size: 14px;z-index: 10;transition: background-color 0.3s;}
.progress-indicator .step.active {background-color: #e53957;color: white;}
.progress-indicator .line {flex-grow: 1;height: 3px;background-color: #ddd;margin: 0 -10px;}
.btn {padding: 12px 25px;border: none;border-radius: 25px;font-weight: bold;cursor: pointer;transition: all 0.2s;text-decoration: none;display: inline-block;text-align: center;}
.btn-view-profile {background-color: #4dc2c0;color: white;}
.btn-direct-contact {background-color: #e53957;color: white;}
.btn-next {width: 100%;margin-top: 20px;display: flex;justify-content: center;align-items: center;font-size: 17px;padding: 12px;}
.btn-confirm {width: 100%;margin-top: 20px;font-size: 16px;padding: 15px;}
.arrow-right {font-size: 1.2em;margin-left: 8px;font-weight: normal;}
.reset-link {text-align: center;display: block;margin-top: 15px;font-size: 13px;color: #aaa;text-decoration: none;}
.features-section h2 {font-size: 24px;text-align: center;margin-bottom: 25px;}
.icon-circle {width: 40px;height: 40px;margin-bottom:10px;border-radius: 50%;display: flex;justify-content: center;align-items: center;font-size: 20px;color: white;margin-right: 15px;flex-shrink: 0;}
.red-bg {background-color: #e53957;}
.feature-item h4 {margin: 0 0 5px 0;font-size: 16px;}
.feature-item p {margin: 0;font-size: 14px;color: #666;}
.text-center{text-align:center}
.px-1{padding-right:1rem;padding-left:1rem}
.px-2{padding-right:2rem;padding-left:2rem}
.pt-2{padding-top:2rem}
.pt-0{padding-top:0}
.text-bambu{color:#23a9d6!important}
/* ========================================================= */
/* 2. MEDIA QUERY: TABLET/ESCRITORIO PEQUEÑO (>= 768px)      */
/* ========================================================= */
@media (min-width: 768px) {

/* Anular el contenedor móvil y permitir que la página ocupe todo el ancho */
.app-container {max-width: 1200px;margin: 0 auto;background-color: transparent;box-shadow: none;border-radius: 0;overflow: visible;padding: 0 40px;}
/* --- HEADER (PC) --- */
.main-header {padding: 20px 0;}
.menu-toggle {display: none;}
.mobile-nav-menu {display: none !important;}
.desktop-nav-menu {display: block;}
.desktop-nav-menu ul {display: flex;list-style: none;padding: 0;margin: 0;}
.desktop-nav-menu ul li a {padding: 10px 15px;text-decoration: none;color: #333;font-weight: bold;border: none;}

/* --- LAYOUT PRINCIPAL (DOS COLUMNAS) --- */
.main-content-wrapper {display: flex;flex-direction: row;gap: 40px;padding-top: 40px;}
.hero-section {flex: 1;padding: 0;padding-bottom: 40px;}
.search-features-section {flex: 1;padding: 0;}

/* Ajustar visuales en PC */
.hero-visual {margin: 0;padding: 40px;background: #ffffff;border-radius: 20px;}
.hero-content {max-width: 80%;margin: 0 auto;}
.main-image {width: 100%;}

/* --- FORMULARIO --- */
.multi-step-form {padding: 30px;margin: 0;}

/* --- FEATURES (3 EN FILA) --- */
.features-section {clear: both; /* Limpiar el float si se usa, o forzar nueva línea */padding: 60px 0;}

.feature-list {flex-direction: row; /* Horizontal en PC */
justify-content: space-between;gap: 20px;}

.feature-item {flex: 1;max-width: 30%;margin-bottom: 0;}
}

.nav-link{cursor:pointer}

.font-10px{font-size:10px !important;}
.font-14px{font-size:14px !important;}

.display-33{line-height: 1.0; font-size: calc(0.9rem + 2.8vw);}

.display-66{line-height: 1.0; font-size: calc(1.0rem + 1.8vw);}

@media (max-width: 992px) {
	.container_cab, .container_nav{max-width:95%;}
	
	.botonera-1{width:100%;}

	.display-33{line-height: 1.0; font-size: calc(0.9rem + 2.8vw);}
	
	.lead_top{font-size: 1.0rem;}
}

@media (max-width: 768px) {
	.container_nav{max-width:100%;}
	.container_cab{max-width:100%; padding-top:5rem !important;}
	
	.botonera-1{width:100%; padding-top:2rem !important;}
	
	.botonera-1 img{height:40px;}
	.botonera-1 .circulo-top-yellow, .botonera-1 .circulo-bottom-blue{padding:0.5rem !important}
	.botonera-1 h5{font-size: 1.0rem;}
	.botonera-1 p{font-size: 0.9rem;}

	.display-33{line-height: 0.9; font-size: calc(0.8rem + 2.6vw);}
}

@media (max-width: 615px) {
	.contenedor_txt{padding-top:1rem !important;}
	.logo{height:40px !important;}
	.botonera-1{width:100%; padding-top:1rem !important;}
}

@media (max-width: 500px) {
	.contenedor_txt{padding-top:2rem !important;}
	.logo{height:35px !important;}
}