 
        /* Paleta de Colores:
           - Principal: #1B1670 (Azul Oscuro/Violeta)
           - Contraste: #151259 (Azul Ligeramente más Oscuro)
           - Acento: #00BDFF (Celeste Brillante)
           - Texto: #FAFBFD (Blanco)
        */
        
        /* Fuente principal Inter */
        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
        body {
            font-family: 'Inter', sans-serif;
            background-color: #1B1670;
        }

        /* Clase base para el fondo de imagen solicitado */
        .section-background-image {
            /* Usando la imagen de fondo solicitada por el usuario */
            background-image: url('img/fondo-07.jpg');
            background-repeat: repeat;
            background-size: cover;
            background-attachment: fixed;
            position: relative; /* Asegura que el contenido esté dentro del flujo */
        }
        
        /* ANIMACIÓN DE FLOTACIÓN (Section 1) */
        @keyframes floating {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-14px); }
            100% { transform: translateY(0px); }
        }
        .animate-floating {
            animation: floating 4s ease-in-out infinite;
        }

        /* Clase de rotación para la flecha del FAQ */
        .rotate-180 {
            transform: rotate(180deg);
        }

        /* --- CORRECCIÓN CRÍTICA DE FAQ PARA TRANSICIÓN SUAVE --- */
        .faq-content {
            /* Estado cerrado: Altura máxima 0 y padding 0 */
            max-height: 0;
            overflow: hidden;
            /* Aplicar transición a max-height y padding para suavidad */
            transition: max-height 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                        padding 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            /* Importante: el padding se anula en el estado cerrado */
            padding-top: 0 !important;
            padding-bottom: 0 !important;
        }
        .faq-content.open {
            /* Estado abierto: Altura máxima suficiente y padding restaurado (p-6 = 1.5rem) */
            max-height: 1000px; /* Un valor alto para asegurar que quepa cualquier contenido */
            padding-top: 1.5rem !important; 
            padding-bottom: 1.5rem !important;
        }
