/* 1. REGISTRO DE LA FUENTE CARNAC EXTRABOLD */
@font-face {
    font-family: 'Carnac';
    src: url('../fonts/carnac-bold.otf') format('opentype'),
         url('../fonts/carnac-bold.ttf') format('truetype');
    font-weight: 800; 
    font-style: normal;
}

/* 2. ESTILOS BASE */
body {
    font-family: 'Roboto', sans-serif;
    color: #2B303A;
}

/* 3. TÍTULOS CON CARNAC EXTRABOLD (EL SELLO MÉXICO) */
.font-headingBold {
    font-family: 'Carnac', Arial, sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

/* Detalle de la línea verde bajo títulos h2 */
.text-h2.font-headingBold {
    position: relative;
    padding-bottom: 15px;
}

.text-h2.font-headingBold::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background-color: #C9EC51;
}

/* Centrar línea verde en la sección de Respaldo */
.text-center .text-h2.font-headingBold::after {
    left: 50%;
    transform: translateX(-50%);
}

/* 4. COLORES Y PROSE */
.bg-growth { background-color: #C9EC51 !important; }
.text-aqua { color: #00BAB3 !important; }

.prose p {
    color: #4A4A4A;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.prose strong {
    font-weight: 700;
    color: #2B303A;
}

/* --- UTILIDAD PARA EL CARRUSEL --- */
/* Oculta la barra de scroll pero mantiene la funcionalidad de deslizar */
.hide-scroll::-webkit-scrollbar {
    display: none;
}
.hide-scroll {
    -ms-overflow-style: none;  /* IE y Edge */
    scrollbar-width: none;  /* Firefox */
}

/* ==========================================================
   ANIMACIONES ON-SCROLL (SUAVES Y ELEGANTES)
   ========================================================== */
@keyframes fadeInUp {
    from { 
        opacity: 0; 
        transform: translateY(15px); /* Reducimos la distancia a la mitad para que no brinque */
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

.animate-fade-in {
    opacity: 0; 
    transform: translateY(15px); /* Debe coincidir con el 'from' de arriba */
    visibility: hidden;
}

.animate-fade-in.reveal-visible {
    visibility: visible;
    /* Aumentamos el tiempo a 1.2 segundos y usamos 'ease' para que frene suavemente al llegar */
    animation: fadeInUp 1.2s ease forwards; 
}

/* Los retrasos se mantienen igual para el efecto cascada */
.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }
.delay-400 { animation-delay: 0.4s; }
.delay-500 { animation-delay: 0.5s; }
.delay-600 { animation-delay: 0.6s; }
.delay-700 { animation-delay: 0.7s; }