/*==================================================
HERO EQUIPO
==================================================*/

.page-hero.equipo{

    position:relative;

    min-height:400px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:url("../img/hero/hero-home.jpg") center center;
    background-size:cover;

    overflow:hidden;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        rgba(8,22,45,.72),
        rgba(8,22,45,.72)
    );

}

.hero-content{

    position:relative;

    z-index:2;

    width:100%;
    max-width:850px;

    text-align:center;

    margin:0 auto;

    padding:0 20px;

    box-sizing:border-box;

}

.section-tag{

    color:#7ea4dc;

    font-size:14px;

    font-weight:700;

    letter-spacing:5px;

    display:block;

    margin-bottom:18px;

}

.hero-content h1{

    color:#fff;

    font-size:clamp(38px,6vw,60px);

    line-height:1.15;

    margin-bottom:22px;

}

.hero-content p{

    color:#fff;

    font-size:clamp(18px,2vw,21px);

    line-height:1.8;

}

/*==================================================
SECCIONES
==================================================*/

.team-section{

    padding:100px 0;

}

.team-section:first-of-type{

    padding-top:80px;

}

.team-section + .team-section{

    margin-top:30px;

    border-top:1px solid #ececec;

}

.team-section .container{

    max-width:1320px;

}

.team-section h2{

    position:relative;

    display:inline-block;

    font-size:42px;

    color:#0b2340;

    margin-bottom:60px;

    padding-bottom:18px;

    font-weight:700;

}

.team-section h2::after{

    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:80px;

    height:3px;

    background:#b39159;

}

/*==================================================
GRID
==================================================*/

.team-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:35px;

    width:100%;

    align-items:stretch;

}

/*==================================================
TARJETAS
==================================================*/

.team-card{

    position:relative;

    display:block;

    overflow:hidden;

    border-radius:16px;

    height:460px;

    background:#f5f5f5;

    box-shadow:0 15px 35px rgba(0,0,0,.12);

    transition:.35s ease;

}

.team-card:hover{

    transform:translateY(-8px);

    box-shadow:0 22px 42px rgba(0,0,0,.18);

}

.team-card img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    object-position:center top;

    transition:transform .45s ease;

}

.team-card:hover img{

    transform:scale(1.05);

}

/*==================================================
OVERLAY
==================================================*/

.overlay{

    position:absolute;

    inset:0;

    display:flex;

    align-items:flex-end;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.82),
        rgba(0,0,0,.05)
    );

    transition:.35s;

}

.team-card:hover .overlay{

    background:rgba(8,22,45,.55);

}

.overlay > div{

    width:100%;

    min-height:110px;

    padding:22px 26px;

    background:rgba(45,45,45,.72);

    backdrop-filter:blur(3px);

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

}

/*==================================================
TEXTOS
==================================================*/

.overlay h3{

    color:#fff;

    font-size:20px;

    font-weight:700;

    line-height:1.3;

    margin-bottom:10px;

}

.overlay p{

    color:#dcdcdc;

    font-size:13px;

    letter-spacing:2px;

    text-transform:uppercase;

    margin:0;

}

/*==================================================
TABLET GRANDE
==================================================*/

@media (max-width:1200px){

    .page-hero.equipo{

        min-height:360px;

    }

    .team-grid{

        grid-template-columns:repeat(3,minmax(0,1fr));

        gap:30px;

    }

}

/*==================================================
TABLET
==================================================*/

@media (max-width:992px){

    .page-hero.equipo{

        min-height:340px;

    }

    .team-section{

        padding:80px 0;

    }

    .team-section h2{

        font-size:36px;

        margin-bottom:45px;

    }

    .team-grid{

        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:26px;

    }

    .team-card{

        height:430px;

    }

}

/*==================================================
MÓVIL
==================================================*/

@media (max-width:576px){

    .page-hero.equipo{

        min-height:320px;

    }

    .hero-content{

        padding:0 22px;

    }

    .section-tag{

        font-size:12px;

        letter-spacing:4px;

    }

    .hero-content p{

        line-height:1.7;

    }

    .team-section{

        padding:60px 0;

    }

    .team-section h2{

        font-size:28px;

        margin-bottom:35px;

    }

    .team-section h2::after{

        width:70px;

    }

    .team-grid{

        grid-template-columns:1fr;

        gap:24px;

    }

    .team-card{

        width:100%;

        height:430px;

    }

    .overlay > div{

        min-height:95px;

        padding:18px 20px;

    }

    .overlay h3{

        font-size:19px;

    }

    .overlay p{

        font-size:12px;

        letter-spacing:1.5px;

    }

}