* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Arial', sans-serif;
}

body {
    line-height: 1.6;
}

.header {
    background-color: #1a365d;
    color: white;
    padding: 1rem;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-size: 1.5rem;
    font-weight: bold;
}

.nav-links {
    display: flex;
    gap: 2rem;
}   

.nav-links a {
    color: white;
    text-decoration: none;
    transition: color 0.3s;
}

.nav-links a:hover {
    color: #4ade80;
}

.hero {
    height: 100vh;
    background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),
                url('fotos/fondo.jpeg') center/cover;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    margin-top: 60px;
}

.hero-content h1 {
    font-size: 3.5rem;
    margin-bottom: 1rem;
}

.cta-button {
    background-color: #4ade80;
    color: white;
    padding: 1rem 2rem;
    border: none;
    border-radius: 5px;
    font-size: 1.1rem;
    cursor: pointer;
    transition: transform 0.3s;
}

.cta-button:hover {
    transform: scale(1.05);
}

.services {
    padding: 5rem 2rem;
    background-color: #f3f4f6;
}

.services-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columnas */
    gap: 1rem; /* Espacio más pequeño entre tarjetas */
    justify-items: center; /* Centra las tarjetas horizontalmente */
}

.service-card {
    background: white;
    padding: 1rem; /* Padding más pequeño */
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: transform 0.3s, box-shadow 0.3s, background 0.3s;
    width: 80%; /* Ancho más pequeño */
    text-align: center; /* Centra el texto */
}

/* Tarjeta centrada debajo de la tercera fila */
.centered-card {
    grid-column: 2 / 3; /* Coloca la tarjeta en la columna central */
    margin-top: 1rem; /* Espacio adicional arriba */
}

/* Efectos hover más sutiles */
.service-card-1:hover {
    transform: translateY(-5px); /* Desplazamiento más pequeño */
    box-shadow: 0 5px 10px rgba(0,0,0,0.2);
    background: #f0f8ff; /* Azul claro */
}

.service-card-2:hover {
    transform: rotate(3deg); /* Rotación más pequeña */
    background: #f0fff0; /* Verde claro */
}

.service-card-3:hover {
    transform: scale(1.03); /* Escala más pequeña */
    background: #fff0f5; /* Rosa claro */
}

.service-card-4:hover {
    transform: skewX(-5deg); /* Inclinación más pequeña */
    background: #e6e6fa; /* Lavanda */
}

.service-card-5:hover {
    transform: translateX(5px); /* Desplazamiento más pequeño */
    background: #f5f5dc; /* Beige */
}

.service-card-6:hover {
    transform: translateY(-5px) rotate(3deg); /* Combinación más pequeña */
    background: #fafad2; /* Amarillo claro */
}

.service-card-7:hover {
    transform: scale(1.05); /* Escala más pequeña */
    background: #e0ffff; /* Cian claro */
}

.service-card-8:hover {
    transform: skewY(-5deg); /* Inclinación más pequeña */
    background: #ffe4e1; /* Rosa suave */
}

.service-card-9:hover {
    transform: translateX(-5px); /* Desplazamiento más pequeño */
    background: #f0e68c; /* Amarillo dorado */
}

.service-card-10:hover {
    transform: rotate(-3deg) scale(1.03); /* Combinación más pequeña */
    background: #d3d3d3; /* Gris claro */
}

.service-card:hover {
    transform: translateY(-5px);
}

.about {
    padding: 5rem 2rem;
    background-color: white;
}

.about-content {
    max-width: 1200px;
    margin: 0 auto;
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center;
}

.projects {
    padding: 5rem 2rem;
    background-color: #f3f4f6;
}

.projects-container {
    display: flex; /* Coloca los carruseles uno al lado del otro */
    gap: 2rem; /* Espacio entre los carruseles */
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.carousel {
    flex: 1; /* Cada carrusel ocupa el mismo espacio */
    position: relative;
    overflow: hidden;
}

.carousel-inner {
    display: flex;
    transition: transform 0.5s ease;
}

.carousel-item {
    min-width: 100%;
    padding: 0 1rem;
    box-sizing: border-box;
    transition: transform 1s ease; /* Aumenta la duración de la transición a 1 segundo */
}

.project-card {
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 1s ease, box-shadow 1s ease; /* Aumenta la duración de la transición a 1 segundo */
}

.project-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.project-info {
    padding: 2rem;
}

.carousel-controls {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
}

.carousel-control {
    background: rgba(26, 54, 93, 0.8);
    color: white;
    border: none;
    padding: 1rem;
    cursor: pointer;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s;
}

.carousel-control:hover {
    background: #1a365d;
}

/* Contacto */
.contact {
    padding: 5rem 2rem;
    background-color: #1a365d;
    color: white;
    text-align: center;
}

.contact h2 {
    margin-bottom: 2rem;
    font-size: 2.5rem;
}

.contact-info {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Dos columnas */
    gap: 2rem; /* Espacio entre los elementos */
}

.contact-item {
    background: rgba(255, 255, 255, 0.1);
    padding: 2rem;
    border-radius: 10px;
    transition: transform 0.3s, background 0.3s;
    text-align: center; /* Centra el texto */
}

.contact-item:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-5px);
}

.contact-item h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #4ade80;
}

.contact-item p {
    font-size: 1.1rem;
    margin: 0.5rem 0;
    word-break: break-all; /* Ajusta el texto largo */
    overflow-wrap: break-word; /* Evita desbordamiento */
}

.contact-item a {
    color: inherit; /* Mantiene el color del texto */
    text-decoration: none; /* Elimina el subrayado */
    cursor: pointer; /* Cambia el cursor a un puntero */
}

.contact-item a:hover {
    text-decoration: underline; /* Añade subrayado al pasar el mouse */
}

/* Opcional: Mejora el comportamiento en pantallas pequeñas */
@media (max-width: 768px) {
    .contact-info {
        justify-items: center;
    }
    .contact-item {
        max-width: 400px;
    }
}

footer {
    background-color: #0f1a2f;
    color: white;
    text-align: center;
    padding: 2rem;
}

@media (max-width: 768px) {
    .nav-links {
        display: none;
    }
    
    .hero-content h1 {
        font-size: 2.5rem;
    }

    .about-grid {
        grid-template-columns: 1fr;
    }
}

.project-image {
    width: 100%;
    height: 300px;
    object-fit: cover; /* Ajusta la imagen al contenedor */
}

/* Estilos específicos para el logo */
.project-logo {
    height: auto; /* Altura automática para mantener la proporción */
    max-width: 200px; /* Ancho máximo del logo */
    object-fit: contain; /* Ajusta el logo sin distorsionarlo */
    margin: 0 auto; /* Centra el logo horizontalmente */
    display: block; /* Asegura que el margen auto funcione */
}

.logo-image {
    height: 40px;
    margin-right: 10px;
    vertical-align: middle;
}

