/*======================================
    RESET
======================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
    background:#f5f7fa;
    color:#333;
    line-height:1.7;
}

.header{
    background:#ffffff;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
}

.contenedor-header{
    max-width:1400px;
    width:95%;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:60px;
    padding:18px 0;
}

.logos{
    display:flex;
    align-items:center;
    gap:20px;
    flex-shrink:0;
}

.logos a{
    display:flex;
    align-items:center;
}

.logo-uqroo{
    height:75px;
    width:auto;
}

.logo-dw{
    height:90px;    padding-left: 20px;
    width:auto;
}
/*======================================
    MENÚ PRINCIPAL
======================================*/

.menu{

    display:flex;

    justify-content:flex-end;

    align-items:center;

    list-style:none;

    gap:40px;

    margin:0;

    padding:0;

}

.menu li{

    position:relative;

}

.menu a{

    display:block;

    padding:12px 0;

    text-decoration:none;

    color:#006341;

    font-size:1.05rem;

    font-weight:600;

    transition:all .3s ease;

}

.menu a:hover{

    color:#C9A227;

}

/*======================================
    SUBMENÚ
======================================*/

.submenu{

    display:none;

    position:absolute;

    top:100%;

    left:0;

    margin-top:10px;

    background:#ffffff;

    min-width:210px;

    border-radius:12px;

    box-shadow:0 10px 25px rgba(0,0,0,.12);

    list-style:none;

    padding:8px 0;

    z-index:1000;

}

.submenu li{

    width:100%;

}

.submenu a{

    padding:12px 18px;

    font-size:.95rem;

}

.submenu a:hover{

    background:#F3F5F7;

    color:#006341;

}

.menu li:hover>.submenu{

    display:block;

}

/*======================================
    HERO
======================================*/

.hero{

    margin-top:80px;

    background:linear-gradient(135deg,#006341,#008C5A);

    color:#fff;

    text-align:center;

    padding:80px 20px;

}

.hero h1{

    font-size:3.2rem;

    margin-bottom:10px;

}

.hero h2{

    font-size:2rem;

    font-weight:400;

    margin-bottom:20px;

}

.hero p{

    color:#F4D35E;

    font-size:1.1rem;

}

.etiqueta{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:#ffffff20;

    margin-bottom:20px;

    letter-spacing:1px;

}

/*======================================
    CONTENEDOR
======================================*/

.contenedor{

    width:min(1100px,92%);

    margin:50px auto;

}

/*======================================
    TARJETAS
======================================*/

.intro,
.paso,
.check{

    background:#fff;

    border-radius:18px;

    padding:35px;

    margin-bottom:30px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.intro h2,
.paso h3,
.check h3{

    color:#006341;

    margin-bottom:20px;

}

.intro p{

    text-align:justify;

}

.paso{

    display:flex;

    gap:25px;

}

.numero{

    width:70px;

    height:70px;

    min-width:70px;

    border-radius:50%;

    background:#006341;

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:2rem;

    font-weight:bold;

}

.contenido{

    flex:1;

}

.contenido ol{

    padding-left:20px;

}

.contenido li{

    margin-bottom:10px;

}

.contenido ul{

    margin-top:10px;

    margin-left:20px;

}

.check{

    border-left:8px solid #C9A227;

}

.check ul{

    padding-left:20px;

}

.check li{

    margin-bottom:10px;

}

/*======================================
    FOOTER
======================================*/

footer{

    background:#006341;

    color:white;

    padding:40px 20px;

    text-align:center;

}

.footer-contenido{

    width:min(1200px,92%);

    margin:auto;

}

.footer-contenido img{

    height:55px;

    margin-bottom:15px;

}

footer small{

    display:block;

    margin-top:12px;

    color:#d9d9d9;

}

/*======================================
    RESPONSIVE
======================================*/

@media(max-width:768px){

    .contenedor-header{

        flex-direction:column;

        justify-content:center;

        gap:15px;

        height:auto;

        padding:15px 0;

    }

    .header{

        height:auto;

    }

    .menu{

        flex-wrap:wrap;

        justify-content:center;

        gap:18px;

    }

    .hero{

        margin-top:150px;

    }

    .paso{

        flex-direction:column;

    }

    .numero{

        margin:auto;

    }
}

@media (max-width:992px){

    .contenedor-header{

        flex-direction:column;

        padding:15px 0;

    }

    .logos{

        justify-content:center;

    }

    .menu{

        justify-content:center;

        flex-wrap:wrap;

        gap:20px;

    }

}

/*======================================
    RESPONSIVE HEADER
======================================*/

@media (max-width:900px){

    .contenedor-header{

        flex-direction:column;

        gap:20px;

        padding:20px 0;

    }

    .menu{

        justify-content:center;

        flex-wrap:wrap;

        gap:25px;

    }

    .logo-uqroo{

        height:60px;

    }

    .logo-dw{

        height:75px;

    }

}

/*======================================
    PROYECTOS
======================================*/

.titulo-seccion{

    text-align:center;

    color:#006341;

    font-size:2.3rem;

    margin:50px 0;

}

.grid-proyectos{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

    margin-bottom:60px;

}

.card-proyecto{

    background:#ffffff;

    border-radius:18px;

    padding:30px;

    text-align:center;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.35s;

    border-top:6px solid #006341;

}

.card-proyecto:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 35px rgba(0,0,0,.18);

}

.card-proyecto h3{

    color:#006341;

    font-size:1.6rem;

    margin-bottom:15px;

}

.card-proyecto p{

    color:#666;

    font-size:1.05rem;

    margin-bottom:25px;

}

/* BOTÓN */

.card-proyecto .btn{

    display:inline-block;

    background:#006341;

    color:#ffffff;

    padding:12px 28px;

    border-radius:40px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.card-proyecto .btn:hover{

    background:#009966;

}
.contacto-info{
    margin-top: 30px;
}

.contacto-info dt{
    font-weight: 700;
    color: #000000;
    margin-top: 20px;
}

.contacto-info dd{
    margin: 8px 0 0 20px;
    line-height: 1.8;
}

.contacto-info a{
    color: #006341;
    text-decoration: none;
    font-weight: 600;
}

.contacto-info a:hover{
    text-decoration: underline;
}

.docente-imagen img{
    width:280px;
    height:360px;
    object-fit:cover;
    object-position:center;
    border-radius:12px;
    box-shadow:0 8px 20px rgba(0,0,0,.15);
}

/*=========================================
=            Página Próximamente          =
=========================================*/

.card-proximamente{
    max-width:700px;
    margin:60px auto;
    padding:45px;
    background:#fff;
    border-radius:15px;
    box-shadow:0 8px 20px rgba(0,0,0,.10);
    text-align:center;
}

.icono-proximamente{
    font-size:4.5rem;
    color:#006B3F;
    margin-bottom:20px;
}

.card-proximamente h1{
    color:#0B2242;
    margin-bottom:15px;
}

.card-proximamente .descripcion{
    color:#555;
    font-size:1.1rem;
    line-height:1.7;
    margin-bottom:25px;
}

.card-proximamente hr{
    border:none;
    border-top:1px solid #e6e6e6;
    margin:25px 0;
}

.card-proximamente h3{
    color:#006B3F;
    margin-bottom:20px;
}

.lista-proximamente{
    list-style:none;
    padding:0;
    margin:0 auto 30px;
    display:inline-block;
    text-align:left;
}

.lista-proximamente li{
    margin-bottom:14px;
    font-size:1rem;
    color:#444;
}

.lista-proximamente i{
    color:#006B3F;
    margin-right:10px;
}

.mensaje-final{
    margin-top:15px;
    font-weight:bold;
    color:#0B2242;
    font-size:1.1rem;
}

/*======================================
        DOCENTE
======================================*/

/* Tarjeta principal */

.docente{
    display:flex;
    gap:35px;
    align-items:flex-start;
    background:#ffffff;
    border-radius:18px;
    padding:35px;
    margin-bottom:35px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.docente-imagen{
    flex:0 0 280px;
}

.docente-imagen img{
    width:100%;
    height:360px;
    object-fit:cover;
    object-position:center;
    border-radius:15px;
    box-shadow:0 8px 20px rgba(0,0,0,.15);
}

.docente-info{
    flex:1;
}

.docente-info h2{
    color:#0B2242;
    margin-bottom:20px;
    font-size:2rem;
}

.docente-info p{
    text-align:justify;
    margin-bottom:18px;
    line-height:1.8;
}


/*======================================
        TARJETAS
======================================*/

.grid-docente{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:30px;
    margin-bottom:35px;
}

.card-docente{

    background:#ffffff;

    border-radius:18px;

    padding:30px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:.30s;

    display:flex;

    flex-direction:column;

}

.card-docente:hover{

    transform:translateY(-5px);

    box-shadow:0 15px 30px rgba(0,0,0,.15);

}

.card-docente h3{

    color:#006341;

    margin-bottom:20px;

    display:flex;

    align-items:center;

    gap:10px;

    font-size:1.4rem;

}

.card-docente h4{

    color:#0B2242;

    margin-bottom:15px;

}

.card-docente p{

    text-align:justify;

    line-height:1.7;

    margin-bottom:18px;

}

.card-docente ul{

    padding-left:22px;

}

.card-docente li{

    margin-bottom:10px;

}

.card-docente i{

    color:#006341;

}

.card-docente .btn{

    margin-top:auto;

    align-self:flex-start;

}


/*======================================
        CONTACTO
======================================*/

.card-contacto{

    background:#ffffff;

    border-radius:18px;

    padding:35px;

    margin-bottom:40px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.card-contacto h2{

    color:#006341;

    margin-bottom:30px;

}

.contacto-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

}

.contacto-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

}

.contacto-item i{

    font-size:1.7rem;

    color:#006341;

    margin-top:4px;

    width:30px;

    text-align:center;

}

.contacto-item h4{

    color:#0B2242;

    margin-bottom:8px;

}

.contacto-item p{

    margin:0;

    line-height:1.7;

}

.contacto-item a{

    color:#006341;

    text-decoration:none;

    font-weight:600;

}

.contacto-item a:hover{

    text-decoration:underline;

}


/*======================================
        RESPONSIVE
======================================*/

@media(max-width:900px){

.docente{

    flex-direction:column;

}

.docente-imagen{

    width:100%;

    text-align:center;

}

.docente-imagen img{

    width:260px;

    height:330px;

}

.docente-info h2{

    text-align:center;

}

}

/*======================================
            CITA
======================================*/

.cita-docente{
    max-width:900px;
    margin:60px auto 30px;
    padding:20px;
    text-align:center;
}

.cita-docente blockquote{
    font-size:1.25rem;
    font-style:italic;
    line-height:1.8;
    color:#444;
    margin-bottom:15px;
}

.cita-docente p{
    color:#006341;
    font-weight:600;
    line-height:1.6;
}

.cita-docente span{
    display:block;
    color:#777;
    font-weight:400;
    font-style:italic;
    font-size:.95rem;
}


/* Separador */

.separador-docente{

    margin:30px 0;

    border:none;

    border-top:1px solid #e3e3e3;

}