body{
    margin:0;
    font-family:Arial,sans-serif;
    background:#f7f5ef;
    color:#173554;
}

h1{
    font-size:36px;
    color:#163a5a;
}

h3{
    font-size:18px;
    margin-bottom:20px;
    text-align:center;
}

h4{
    font-size:18px;
    margin-bottom:20px;
}

li{
    margin-bottom:8px;
}

p{
    text-align:left;
}

ul{
    margin:0 0 35px 5px;
}


.hero{
    max-width:1150px;

    margin-top:0;
    margin-bottom:0;
    margin-left:auto;
    margin-right:auto;

    display:grid;
    grid-template-columns:1fr 1fr;

    align-items:stretch;
}

.hero-texto{
    padding:50px 50px 50px 0;
}


.logo{
    max-width:280px;
}

.hero h1{
    font-size:36px;
    color:#163a5a;
}

.hero h2{
    color:#5f8c57;
    font-size:26px;
}

.hero-imagen{
    height:100%;

    display:flex;
}

.hero-imagen img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}




/* =========================
   MENÚ SUPERIOR
========================= */

.top-menu{
    max-width:1200px;

    margin:0 auto;

    background:#013f4e;

    border:none;

    border-radius:14px;

    overflow:hidden;
}

/* LISTA */
.top-menu ul{
    list-style:none;

    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;

    gap:40px;

    padding:18px 20px;

    margin:0;
}

/* ITEMS */
.top-menu li{
    border-right:1px solid #ffffff;

    padding-right:20px;
    margin-right:20px;
}

/* QUITAR BORDE AL ÚLTIMO */
.top-menu li:last-child{
    border-right:none;

    padding-right:0;
    margin-right:0;
}

/* LINKS */
.top-menu a{
    text-decoration:none;

    color:#ffffff;

    font-size:16px;
    font-weight:600;

    padding:8px 12px;

    transition:0.3s;
}

/* HOVER */
.top-menu a:hover{
    opacity:0.8;
}


.layout{
    max-width:1200px;
    margin:30px auto;

    display:flex;
    align-items:flex-start;
    gap:30px;
}

/* MENÚ LATERAL */

.sidebar{
    width:250px;

    background:#ffffff;

    border-radius:15px;

    padding:20px;

    box-shadow:0 2px 10px rgba(0,0,0,.08);

    flex-shrink:0;
}

/* CONTENIDO */

.contenido-principal{
    max-width:100%;
}


.sidebar ul{
    list-style:none;
    margin:0;
    padding:0;
}

.sidebar li{
    border-bottom:1px solid #dcdcdc;
}

.sidebar li:last-child{
    border-bottom:none;
}

.sidebar a{
    display:block;

    padding:14px 10px;

    text-decoration:none;

    color:#013f4e;

    font-weight:600;

    transition:.3s;
}

.sidebar a:hover{
    background:#f5f5f5;
}


@media (max-width:1200px){

    .layout{
        flex-direction:column;
    }

    .sidebar{
        width:100%;

        position:relative;
        top:auto;
    }

    .contenido-principal{
        width:100%;
    }

}

.beneficios{
    max-width:100%;
    margin:auto;
    padding:0px;
}

.beneficios h2{
    text-align:center;
    margin-bottom:50px;
}

.beneficios li{
    margin-bottom:15px;
    line-height:1;
}


.beneficiosblanco{
    max-width:100%;

    padding:0;

    background:#ffffff;

    border-radius:30px;
}

.beneficiosblanco h2{

    text-align:center;
    padding-right:20px;
}

.beneficiosblanco li{
    line-height:1;
}

.beneficiosblanco img{
    display:block;

    width:100%;

    margin:0;
    padding:0;

    border-radius:20px;
}

.cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.card{
    text-align:center;
}

.card img{
    width:120px;
}




.bloques{
    max-width:50%;
    margin:auto;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;

    padding:40px 20px;
}

.bloque{
    background:#f1eee8;
    border-radius:20px;
    padding:40px;
}



.contenedor-cajas{
    display:flex;
    gap:30px;
    margin-top:30px;
}

.caja{
    flex:1;

    padding:30px;

    border-radius:20px;

    background:#f1eee8;
}

.caja h2{
    text-align:center;
}

.caja li::marker{
    color:#6fa24c;
}





@media (max-width:768px){

    .contenedor-cajas{
        flex-direction:column;
    }

    .caja{
        width:100%;
    }

}

.frase-final{
    max-width:50%;
    margin:auto;

    display:grid;
    grid-template-columns:1fr 1fr;

    gap:30px;

    padding:40px 20px;
}



.servicios{
    width:100%;
    margin-top:50px;
}

.servicio-item{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:center;

    margin-bottom:50px;
}

.servicio-texto li::marker{
    color:#6fa24c;
}

.servicio-imagen{
    position:relative;
}

.servicio-imagen img{
    width:100%;

    display:block;

    border-radius:25px;
}

.badge{
    position:absolute;

    top:15px;
    right:15px;

    background:#ffffff;

    color:#24345c;

    padding:10px 20px;

    border-radius:30px;

    font-size:14px;
    font-weight:700;

    z-index:2;
}

.btn-servicio{
    display:inline-block;

    padding:16px 35px;

    border:2px solid #ef3b45;

    border-radius:40px;

    color:#ef3b45;

    text-decoration:none;

    font-weight:600;

    transition:.3s;
}

.btn-servicio:hover{
    background:#ef3b45;
    color:#ffffff;
}

.reverse{
    margin-top:50px;
}


/* =========================
   BARRA INFERIOR
========================= */

.barra-inf{
    background:#013f4e;

    max-width:1200px;

    margin:40px auto 0;

    border-radius:20px;

    padding:20px;
}

.barra-inf nav{
    display:flex;

    justify-content:center;
    align-items:center;

    flex-wrap:wrap;
}

.barra-inf a{
    display:flex;
    align-items:center;
    gap:10px;

    color:#ffffff;

    text-decoration:none;

    padding:0 25px;

    font-size:18px;
}

.barra-inf a img{
    width:22px;
    height:22px;

    object-fit:contain;
}

/* Línea vertical */
.barra-inf a:not(:last-child){
    border-right:1px solid #ffffff;
}

@media (max-width:768px){

    .barra-inf nav{
        flex-direction:column;
        gap:15px;
    }

    .barra-inf a{
        border-right:none !important;
    }
}

.frase-motivacional{
    width:100%;

    margin:40px 0;

    background:#dee0c0;

    border-radius:20px;

    padding:25px 40px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;
}

.frase-col{
    flex:1;

    display:flex;

    align-items:center;
    justify-content:center;

    gap:20px;

    text-align:center;
}

.icono,
.icono-hoja{
    display:flex;
    align-items:center;
    justify-content:center;
}

.icono img{
    width:70px;
    height:70px;

    display:block;
}

.icono-hoja img{
    width:60px;
    height:auto;

    display:block;
}

.texto{
    color:#1c3455;
    font-size:18px;
    line-height:1.5;
}

.texto strong{
    font-size:20px;
}

.texto span{
    color:#6fa24c;
    font-weight:600;
}

.separador{
    width:1px;
    align-self:stretch;
    background:#7aa060;
}

/* =========================
   COPYRIGHT
========================= */

.copyright{
    text-align:center;
    padding:20px;
    color:#666;
    font-size:14px;
}

