*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins', sans-serif;
}

body{
    background:#f5f7fb;
    color:#2c2c2c;
    overflow-x: hidden; /* Evita que la pgina se mueva hacia los lados en celular */
}

/* TOPBAR */
.topbar{
    background:#0b3a75;
    color:white;
    padding:8px 40px;
    display:flex;
    justify-content:space-between;
    font-size:14px;
}

.redes a{
    color:white;
    margin-left:15px;
    font-size:18px;
}

/* HEADER */
header{
    background:#eef3f9;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 60px;
    box-shadow:0 2px 8px rgba(0,0,0,0.08);
}

.logo{
    display:flex;
    align-items:center;
    gap:10px;
}

.logo img{
    height:55px;
    width:auto;
}

.logo h2{
    font-weight:600;
    color:#0b3a75;
}

nav a{
    margin:0 18px;
    text-decoration:none;
    color:#0b3a75;
    font-weight:500;
    transition:.3s;
}

nav a:hover{
    color:#2a6edc;
}

/* HERO */
.hero{
    height:420px;
    background: linear-gradient(rgba(7,33,70,0.55),rgba(7,33,70,0.55)), url("hero.jpg") center/cover;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.hero h1{
    font-size:42px; /* Baj un poco el tamao para evitar cortes */
    color:#eef3f9;
    font-weight:600;
    letter-spacing:1px;
    padding: 0 10%;
}

/* SECCIONES */
section{
    padding:80px 10%;
}

.titulo{
    font-size:34px;
    color:#0b3a75;
    margin-bottom:35px;
    font-weight:600;
}

/* QUIENES */
.quienes{
    display:flex;
    gap:40px;
    align-items:center;
    background:white;
    padding:35px;
    border-radius:12px;
    box-shadow:0 4px 15px rgba(0,0,0,0.08);
}

.quienes img{
    width:420px;
    max-width: 100%;
    border-radius:10px;
}

.quienes p{
    line-height:1.7;
    margin-bottom: 10px;
}

/* PRODUCTOS */
.productos-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
}

.producto{
    background:white;
    padding:20px;
    border-radius:12px;
    box-shadow:0 4px 15px rgba(0,0,0,0.08);
    text-align:center;
    transition:.35s;
    text-decoration:none;
    color:#333;
}

.producto:hover{
    transform:translateY(-6px);
}

.producto img{
    width:100%;
    border-radius:8px;
    margin-bottom:10px;
}

/* FOOTER */
footer{
    background:#061f42;
    color:#eef3f9;
    padding:70px 10%;
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:50px;
}

/* --- RESPONSIVE (MVIL) --- */
@media (max-width: 768px) {
    .topbar {
        padding: 10px;
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }

    header {
        flex-direction: column;
        padding: 20px;
        text-align: center;
    }

    nav {
        margin-top: 15px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    nav a {
        margin: 5px 10px;
        font-size: 14px;
    }

    .hero {
        height: 300px;
    }

    .hero h1 {
        font-size: 24px;
    }

    section {
        padding: 40px 5%;
    }

    .quienes {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }

    .productos-grid {
        grid-template-columns: 1fr; /* Una sola columna en celular */
        gap: 20px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
}