/* --- Variables y Estilos Globales --- */
        :root {
            --primary-color: #FFA500; /* Naranja industrial */
            --dark-bg: #1a1a1a;
            --light-bg: #2b2b2b;
            --text-color: #f0f0f0;
            --font-title: 'Roboto Condensed', sans-serif;
            --font-body: 'Montserrat', sans-serif;
            --header-height-desktop: 70px; /* (AÑADIDO) Altura fija para el header */
        }

        /* (AÑADIDO) Reseteo de box-sizing */
        html {
            box-sizing: border-box;
            scroll-behavior: smooth;
        }

        *, *:before, *:after {
            box-sizing: inherit;
        }

        body {
            background-color: var(--dark-bg);
            color: var(--text-color);
            font-family: var(--font-body);
            margin: 0;
            line-height: 1.6;
            /* (CORREGIDO) Añade padding para el header fijo */
            padding-top: var(--header-height-desktop);
        }

        .container {
            width: 90%;
            max-width: 1200px;
            margin: auto;
            /* Se quita el padding vertical de aquí para que lo controlen las secciones */
        }

        h1, h2, h3, h4 {
            font-family: var(--font-title);
            color: #fff;
            text-transform: uppercase;
            letter-spacing: 1.5px;
        }

        .highlight {
            color: var(--primary-color);
        }

        /* --- Encabezado y Navegación --- */
        .header {
            background-color: rgba(26, 26, 26, 0.95);
            /* (CORREGIDO) Se quita padding y se usa height */
            height: var(--header-height-desktop);
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 1000;
            border-bottom: 2px solid var(--primary-color);
            /* (AÑADIDO) Centra el contenido verticalmente */
            display: flex;
            align-items: center;
        }

        .header .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            font-size: 2em;
            font-weight: 700;
            /* (AÑADIDO) Asegura que la imagen del logo se escale */
        }
        .logo img {
             max-height: 50px; /* Ajusta esto a la altura de tu logo */
             width: auto;
        }

        .nav ul {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
        }

        .nav ul li a {
            color: var(--text-color);
            text-decoration: none;
            padding: 10px 20px;
            font-weight: 600;
            transition: color 0.3s;
        }

        .nav ul li a:hover {
            color: var(--primary-color);
        }

        /* --- Sección Principal (Hero) --- */
        .hero {
            /* (CORREGIDO) Se resta la altura del header */
            min-height: calc(100vh - var(--header-height-desktop));
            background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('images/hero-background.png') no-repeat center center/cover;
            background-attachment: fixed; /* Efecto Parallax */
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
            color: #fff;
            padding: 2rem 5%;
        }

        .hero-content h2 {
            font-size: 3.5em;
            margin-bottom: 20px;
        }

        .hero-content p {
            font-size: 1.2em;
            margin-bottom: 30px;
        }

        .cta-button {
            background-color: var(--primary-color);
            color: var(--dark-bg);
            padding: 15px 30px;
            text-decoration: none;
            font-weight: bold;
            border-radius: 5px;
            transition: background-color 0.3s, transform 0.2s;
        }

        .cta-button:hover {
            background-color: #ff8c00;
            transform: translateY(-3px);
        }

        /* --- Estilos de Secciones --- */
        .about-section, .services-section, .projects-section {
            padding: 80px 0;
            text-align: center;
        }

        .services-section {
            background-color: var(--light-bg);
        }

        h3 {
            font-size: 2.5em;
            margin-bottom: 50px;
            position: relative;
            display: inline-block;
        }

        h3::after {
            content: '';
            display: block;
            width: 60px;
            height: 4px;
            background: var(--primary-color);
            margin: 10px auto 0;
        }

        /* --- Grid de Servicios --- */
        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 30px;
            text-align: left;
        }

        .service-card {
            background: var(--dark-bg);
            padding: 30px;
            border: 1px solid #444;
            border-radius: 5px;
            transition: transform 0.3s, box-shadow 0.3s;
        }

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

        .service-card h4 {
            font-size: 1.5em;
            color: var(--primary-color);
            margin-top: 0;
        }

        /* --- Grid de Proyectos --- */
        .projects-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px;
        }

        .project-item img {
            width: 100%;
            height: auto;
            display: block;
            border-radius: 5px;
            opacity: 0.8;
            transition: opacity 0.3s, transform 0.3s;
        }

        .project-item img:hover {
            opacity: 1;
            transform: scale(1.05);
        }

        /* --- Pie de Página --- */
        .footer {
            background-color: var(--dark-bg);
            text-align: center;
            padding: 50px 0;
            border-top: 2px solid #333;
        }

        .footer h3 {
            margin-bottom: 20px;
        }

        .copyright {
            margin-top: 30px;
            color: #888;
            font-size: 0.9em;
        }

        /* --- Diseño Responsivo --- */
        @media (max-width: 768px) {
            /* (CORREGIDO) Ajusta el header y el padding del body para móvil */
            .header {
                height: auto; /* Permite que el header crezca */
                padding: 10px 0;
            }
            .header .container {
                flex-direction: column;
            }
            .nav ul {
                margin-top: 10px;
                flex-wrap: wrap; /* Permite que los links se ajusten */
                justify-content: center;
            }
            
            /* (CORREGIDO) Aumenta el padding para el header más alto en móvil */
            body {
                /* Este valor (130px) es un estimado, ajústalo
                   a la altura real de tu header apilado en móvil */
                padding-top: 130px; 
            }
            
            .hero-content h2 {
                font-size: 2.5em;
            }

            .projects-grid {
                grid-template-columns: 1fr;
            }
        }
/* ---
   ESTILOS DE SECCIÓN DE PROYECTOS (CATÁLOGO)
   (Reemplaza tus reglas antiguas de .projects-grid y .project-item)
--- */

/* * Contenedor principal para el catálogo.
 * Usamos flexbox para centrar todo perfectamente.
*/
.catalog-container {
    display: flex;
    flex-direction: column; /* Apila los elementos (imagen arriba, botón abajo) */
    align-items: center; /* Centra todo horizontalmente */
    max-width: 300px; /* Ancho máximo para la portada */
    margin: 0 auto; /* Centra el contenedor en la página */
}

/* * Estilo para la imagen de portada
*/
.catalog-container img {
    width: 100%; /* La imagen es responsive */
    height: auto;
    border-radius: 5px;
    opacity: 0.9;
    transition: opacity 0.3s, transform 0.3s;
    margin-bottom: 2rem; /* Espacio entre la imagen y el botón */
}

/* * Efecto hover para la imagen
*/
.catalog-container img:hover {
    opacity: 1;
    transform: scale(1.03); /* Un zoom sutil */
}

/* * El botón .cta-button ya tiene estilos de tu sección Hero,
 * así que los reutilizará automáticamente.
 * Solo ajustamos su tamaño de fuente si es necesario.
*/
.catalog-container .cta-button {
    font-size: 1.2em; /* Hacemos el botón un poco más grande */
}
/* --- Estilos para el Logo en la Sección Hero --- */
.hero-logo {
    max-width: 350px; /* <--- CAMBIO IMPORTANTE: Tamaño más pequeño para escritorio */
    height: auto;
    margin-bottom: 1.5rem; /* Espacio entre el logo y el título */
    opacity: 0.9; 
}

/* --- Responsividad para el Logo Hero --- */
@media (max-width: 768px) {
    .hero-logo {
        max-width: 100px; /* <--- CAMBIO IMPORTANTE: Aún más pequeño en móviles */
        margin-bottom: 1rem;
    }
    .hero h2 {
        font-size: 2.2em; /* Mantenemos este ajuste para el título */
    }
    .hero p {
        font-size: 1.1em; /* Ajustamos también el párrafo para mejor lectura */
    }
}