<style>

/* ESTILOS PARA LA SECCIÓN FAQ */
.faq-section { background-color: var(--light-gray); padding: 80px 0; }
.faq-section h2 { text-align: center; }
.faq-item {
    background: var(--white);
    margin: 20px auto;
    max-width: 800px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07);
}
.faq-question {
    padding: 20px;
    margin: 0;
    cursor: pointer;
    font-size: 1.2rem;
    position: relative;
}
.faq-question::after { /* Flecha indicadora */
    content: '▼';
    position: absolute;
    right: 20px;
    transition: transform 0.3s;
}
.faq-answer {
    padding: 0 20px;
    max-height: 0; /* Oculto por defecto */
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
}
/* Estilos para cuando se despliega (manejado por JS) */
.faq-item.active .faq-answer {
    max-height: 200px; /* Altura suficiente para el texto */
    padding: 0 20px 20px 20px;
}
.faq-item.active .faq-question::after {
    transform: rotate(180deg);
}

    .logo a:hover {
        color: var(--accent-yellow);
        border-bottom-color: var(--accent-yellow);
    }

    /* NUEVO CÓDIGO PARA LA IMAGEN DEL LOGO */
    .logo img {
        height: 75px; /* Ajusta esta altura según el diseño de tu logo */
        width: auto;  /* El ancho se ajustará automáticamente para mantener la proporción */
        display: block; /* Elimina cualquier espacio extra debajo de la imagen */
    }

/* 
        ========================================
        ESTILOS MENÚ HAMBURGUESA Y TOGGLE
        ========================================
        */
        .menu-toggle {
            display: none; /* Oculto por defecto en escritorio */
            background: none;
            border: none;
            cursor: pointer;
            padding: 10px;
            z-index: 1001; /* Asegura que esté por encima de todo */
        }

        .menu-toggle .bar {
            display: block;
            width: 25px;
            height: 3px;
            margin: 5px auto;
            background-color: var(--white);
            transition: all 0.3s ease-in-out;
        }

        /* Estilo para prevenir el scroll cuando el menú está abierto (usado por JS) */
        .no-scroll {
            overflow: hidden;
        }

/* 
        ========================================
        ESTILOS PARA PÁGINAS INTERNAS
        ========================================
        */
        .page-banner {
            background-color: var(--primary-blue);
            padding: 60px 0;
            color: var(--white);
            text-align: center;
        }

        .page-banner h1 {
            color: var(--white);
            font-size: 2.8rem;
        }

        .page-content {
            padding: 80px 0;
            text-align: center;
        }

        .features-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 30px;
            text-align: left;
            margin-top: 40px;
        }

        .feature-card {
            background-color: var(--light-gray);
            padding: 30px;
            border-radius: 8px;
            border-bottom: 4px solid var(--accent-yellow);
        }

        .feature-icon {
            font-size: 2.5rem;
            margin-bottom: 1rem;
        }


/* 
        ========================================
        FOOTER
        ========================================
        */
        footer {
            background-color: var(--dark-gray);
            color: #ccc; /* Un gris claro para el texto general */
            padding-top: 60px;
        }

        .footer-content {
            display: flex;
            justify-content: space-between;
            gap: 40px;
            flex-wrap: wrap; /* Para que se adapte en móviles */
            padding-bottom: 40px;
        }

        .footer-column {
            flex: 1;
            min-width: 250px; /* Ancho mínimo para cada columna */
        }
        
        .logo-footer {
            color: var(--white);
            font-size: 1.8rem;
            font-weight: 700;
        }

        footer h4 {
            color: var(--white);
            margin-bottom: 1.5rem;
            font-size: 1.2rem;
            position: relative;
            padding-bottom: 10px;
        }
        
        /* Línea decorativa debajo de los títulos */
        footer h4::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            width: 40px;
            height: 2px;
            background-color: var(--accent-yellow);
        }

        footer ul {
            list-style: none;
        }
        
        footer ul li {
            margin-bottom: 10px;
        }

        footer a {
            color: #ccc;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        footer a:hover {
            color: var(--accent-yellow);
        }

        .social-icons {
            display: flex;
            gap: 15px;
            margin-top: 20px;
        }

        .social-icons a {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 40px;
            height: 40px;
            border: 1px solid #555;
            border-radius: 50%;
            color: var(--white);
            font-weight: 600;
        }
        
        .social-icons a:hover {
            background-color: var(--accent-yellow);
            color: var(--dark-gray);
            border-color: var(--accent-yellow);
        }

        .footer-bottom {
            text-align: center;
            padding: 20px 0;
            border-top: 1px solid #444; /* Línea separadora */
            font-size: 0.9rem;
        }



/* 
        ========================================
        TESTIMONIALS SECTION
        ========================================
        */
        .testimonials-section {
            padding: 80px 0;
            text-align: center;
        }

        .testimonials-grid {
            display: flex;
            justify-content: center;
            gap: 30px;
            flex-wrap: wrap;
            margin-top: 40px;
        }

        .testimonial-card {
            background-color: var(--light-gray);
            border-left: 5px solid var(--accent-yellow);
            padding: 30px;
            border-radius: 8px;
            max-width: 450px;
            text-align: left;
        }

        .testimonial-text {
            font-style: italic;
            color: #555;
            margin-bottom: 1.5rem;
            position: relative;
        }
        
        /* Comillas decorativas */
        .testimonial-text::before {
            content: '“';
            position: absolute;
            top: -20px;
            left: -15px;
            font-size: 4rem;
            color: rgba(0, 46, 109, 0.1);
            font-family: Georgia, serif;
        }

        .author-name {
            font-weight: 600;
            color: var(--primary-blue);
        }

        /* 
        ========================================
        CTA & FORM SECTION
        ========================================
        */
        .cta-section {
            background-color: var(--primary-blue);
            color: var(--white);
            padding: 80px 0;
            text-align: center;
        }
        
        .cta-section h2 {
            color: var(--white);
        }
        
        .cta-section p {
            max-width: 500px;
            margin: 0 auto 30px auto;
        }

        .cta-form {
            display: flex;
            flex-direction: column;
            gap: 15px;
            max-width: 700px;
            margin: 0 auto;
        }
        
        .form-group {
            display: flex;
            gap: 15px;
        }

        .cta-form input, .cta-form select {
            width: 100%;
            padding: 15px;
            border-radius: 5px;
            border: 1px solid #ccc;
            font-family: 'Poppins', sans-serif;
            font-size: 1rem;
        }
        
        .cta-form button {
            border: none;
            cursor: pointer;
            width: auto;
            align-self: center; /* Centra el botón en el contenedor flex */
            font-size: 1.1rem;
        }


/* 
        ========================================
        HOW IT WORKS SECTION
        ========================================
        */
        .how-it-works-section {
            background-color: var(--light-gray);
            padding: 80px 0;
            text-align: center;
        }

        .steps-grid {
            display: grid;
            /* Crea una cuadrícula responsive: 2 columnas en escritorio, 1 en móvil */
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 30px;
            margin-top: 40px;
            text-align: left;
        }

        .step-card {
            background: var(--white);
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
            position: relative; /* Necesario para posicionar el número */
            overflow: hidden; /* Oculta partes del número que se salgan */
            border-top: 4px solid var(--primary-blue);
        }

        .step-number {
            position: absolute;
            top: 10px;
            right: 20px;
            font-size: 4rem;
            font-weight: 700;
            color: rgba(0, 46, 109, 0.1); /* Azul muy transparente */
            line-height: 1;
            z-index: 1;
        }

        .step-card h3 {
            position: relative;
            z-index: 2; /* Asegura que el título esté sobre el número */
        }
        
        .step-card p {
            position: relative;
            z-index: 2; /* Asegura que el párrafo esté sobre el número */
        }


/* 
        ========================================
        TRUST BAR
        ========================================
        */
        .trust-bar {
            background-color: var(--light-gray);
            padding: 1.5rem 0;
        }

        .trust-bar .container {
            display: flex;
            justify-content: space-around;
            align-items: center;
            text-align: center;
        }

        .trust-element {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        .trust-element .icon {
            font-size: 1.5rem;
            color: var(--primary-blue);
        }

        .trust-element p {
            margin: 0;
            line-height: 1.3;
        }
        
        /* 
        ========================================
        SERVICES SECTION
        ========================================
        */
        .services-section {
            padding: 80px 0;
            text-align: center;
        }
        
        .section-subtitle {
            max-width: 600px;
            margin: 0 auto 40px auto;
            color: #666;
        }

        .services-grid {
            display: flex;
            gap: 30px; /* Espacio entre las tarjetas */
            justify-content: center;
            flex-wrap: wrap; /* Para que se adapte en móviles */
        }

        .service-card {
            background: var(--white);
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            padding: 30px;
            max-width: 320px;
            flex-basis: 300px; /* Ancho base de la tarjeta */
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
        }

        .service-icon {
            font-size: 3rem;
            margin-bottom: 1rem;
        }

        .service-card h3 {
            margin-bottom: 1rem;
        }

        .service-link {
            display: inline-block;
            margin-top: 1rem;
            color: var(--primary-blue);
            text-decoration: none;
            font-weight: 600;
            transition: transform 0.3s ease;
        }

        .service-link:hover {
            transform: translateX(5px);
        } 
 
        /* 
        ========================================
        VARIABLES Y ESTILOS BASE
        ========================================
        */
        :root {
            --primary-blue: #002E6D;
            --accent-yellow: #FFDE00;
            --dark-gray: #212529;
            --light-gray: #F8F9FA;
            --white: #FFFFFF;
            --text-color: #333;
        }

        /* Reseteo básico para consistencia entre navegadores */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Poppins', sans-serif;
            color: var(--text-color);
            line-height: 1.6;
            background-color: var(--white);
        }
        
        /* 
        ========================================
        CLASES DE UTILIDAD (Las usaremos a lo largo del sitio)
        ========================================
        */
        .container {
            max-width: 1100px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .btn {
            display: inline-block;
            padding: 12px 28px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 600;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        
        .btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }

        .btn-primary {
            background-color: var(--accent-yellow);
            color: var(--dark-gray);
        }
        
        .btn-secondary {
            background-color: transparent;
            color: var(--white);
            border: 2px solid var(--accent-yellow);
        }

        h1, h2, h3 {
            color: var(--primary-blue);
            margin-bottom: 1rem;
        }

        h1 { font-size: 3rem; line-height: 1.2; }
        h2 { font-size: 2.5rem; }
        p { margin-bottom: 1rem; }

        /* 
        ========================================
        HEADER / NAVEGACIÓN
        ========================================
        */
        header {
            background-color: var(--primary-blue);
            padding: 1rem 0;
            position: sticky;
            top: 0;
            z-index: 1000;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }

        nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            max-width: 1100px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .logo {
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--white);
            text-decoration: none;
        }

        .nav-menu {
            list-style: none;
            display: flex;
            align-items: center;
        }

        .nav-menu li {
            margin-left: 30px;
        }

        .nav-menu a {
            color: var(--white);
            text-decoration: none;
            font-weight: 600;
            padding-bottom: 5px;
            transition: color 0.3s ease, border-bottom-color 0.3s ease;
            border-bottom: 2px solid transparent;
        }

        .nav-menu a:hover {
            color: var(--accent-yellow);
            border-bottom-color: var(--accent-yellow);
        }
   /* 
        ========================================
        HERO SECTION
        ========================================
        */
        .hero-section {
            /* Imagen de fondo de Pexels (libre de uso) */
            background-image: linear-gradient(rgba(0, 46, 109, 0.7), rgba(0, 46, 109, 0.7)), url('https://images.pexels.com/photos/186077/pexels-photo-186077.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1');
            background-size: cover;
            background-position: center;
            padding: 120px 0; /* Espaciado vertical amplio */
            color: var(--white);
            text-align: left;
        }

        .hero-content {
            max-width: 650px; /* Limita el ancho del texto para mejor legibilidad */
        }
        
        /* Sobrescribimos el color de los títulos solo para esta sección */
        .hero-section h1 {
            color: var(--white);
            font-size: 3.5rem; /* Hacemos el título más grande e impactante */
        }

        .hero-section p {
            font-size: 1.2rem;
            margin-bottom: 2rem; /* Más espacio antes de los botones */
            max-width: 550px;
        }
        
        .hero-buttons {
            display: flex;
            gap: 15px; /* Espacio entre los botones */
            align-items: center;
        } 
        
        /* 
        ========================================
        DISEÑO RESPONSIVO (MEDIA QUERIES)
        ========================================
        */
        
        /* Aplicamos estos estilos en pantallas de 768px de ancho o menos (tablets y móviles) */
        @media (max-width: 768px) {

            /* --- Ajustes Generales --- */
            h1 { font-size: 2.5rem; }
            h2 { font-size: 2rem; }
            section { padding: 60px 0; }

            /* --- Header / Navegación --- */
/* codigo original             nav {
                flex-direction: column; 
                gap: 20px;
            }
*/ 
           nav {
                flex-direction: row; /* Asegura que logo y botón estén en fila */
                justify-content: space-between; /* Espacio entre ellos */
                align-items: center; /* Centrados verticalmente */
            }
            
            .cta-desktop {
                display: none; /* Oculta el botón "Solicitar Cotización" del header */
            }
            
            .menu-toggle {
                display: block; /* MUESTRA el botón hamburguesa */
            }


            .nav-menu {
                /* ESTILOS DEL MENÚ DESPLEGABLE */
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100vh; /* Ocupa el 100% de la altura de la ventana */
                background-color: rgba(0, 46, 109, 0.98); /* Fondo azul con ligera transparencia */
                backdrop-filter: blur(5px); /* Efecto de desenfoque del fondo (opcional) */
                
                /* Lógica de ocultar/mostrar */
                transform: translateX(100%); /* Oculto fuera de la pantalla a la derecha */
                transition: transform 0.4s ease-in-out;
                
                /* Contenido del menú */
                display: flex; /* Para centrar los enlaces */
                flex-direction: column;
                justify-content: center;
                align-items: center;
                gap: 30px;
                padding: 0;
            }


    .nav-menu.active {
        transform: translateX(0); /* MOSTRAR: Vuelve a su posición (pantalla completa) */
    }
    
    .nav-menu li {
        margin-left: 0;
        font-size: 1.5rem; /* Hacemos las letras grandes para los dedos */
    }
    
    /* Estilos de las barras al hacer click (para que se vea una X) */
    .menu-toggle.active .bar:nth-child(2) {
        opacity: 0;
    }
    .menu-toggle.active .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }
    .menu-toggle.active .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }    
    
    
    

            .nav-menu {
                flex-direction: column; /* Apila los enlaces del menú */
                gap: 15px;
            }
            .nav-menu li {
                margin-left: 0; /* Reseteamos el margen izquierdo */
            }

            /* --- Sección Hero --- */
            .hero-section {
                padding: 80px 0;
                text-align: center;
            }
            .hero-content {
                max-width: 100%;
            }
            .hero-buttons {
                flex-direction: column;
                align-items: center;
            }
            .btn {
                width: 100%;
                text-align: center;
                max-width: 300px;
            }

            /* --- Barra de Confianza --- */
            .trust-bar .container {
                flex-direction: column;
                gap: 15px;
            }
            .trust-element {
                justify-content: center;
            }
            /* --- Barra de Confianza --- */
            .trust-bar .container {
                flex-direction: column;
                gap: 15px;
            }
            .trust-element {
                justify-content: center;
            }
            
            /* --- Servicios, Pasos, Testimonios y Footer (columnas) --- */
            .services-grid, 
            .testimonials-grid, 
            .footer-content {
                flex-direction: column; /* Apilamos todas las tarjetas/columnas */
                align-items: center;
            }

            /* --- Formulario CTA --- */
            .form-group {
                flex-direction: column;
            }
        }
            
    </style>