/* =====================================================
   GOOGLE FONTS
====================================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');


/* =====================================================
   RESET
====================================================== */

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    width:100%;

    overflow-x:hidden;

    font-family:'Poppins',sans-serif;

    background:#fff;

    color:#111;

}


/* =====================================================
   BANNER
====================================================== */

.history-banner{

    width:100%;

    height:360px;

    background:url("../assets/img/his.png") center center/cover no-repeat;

    position:relative;

    overflow:hidden;

}

.history-banner-overlay{

    width:100%;

    height:100%;

    background:rgba(9,21,57,.50);

    display:flex;

    align-items:center;

}

.history-banner-container{

    width:calc(100% - 90px);

    max-width:1700px;

    margin:auto;

}

.history-banner h1{

    color:#fff;

    font-size:105px;

    font-weight:800;

    line-height:1;

    margin-left:50px;

}


/* =====================================================
   TABLET
====================================================== */

@media (max-width:992px){


    .history-banner{

        height:260px;
        background-position:center;

    }

    .history-banner-container{

        width:calc(100% - 40px);

    }

    .history-banner h1{

        font-size:105px;
        line-height:1.05;
        margin-left:0;

    }


}


/* =====================================================
   CELULAR
====================================================== */

@media (max-width:768px){

    .history-banner{

        height:230px;
        background-position:center;

    }

    .history-banner-container{

        width:calc(100% - 30px);

    }

    .history-banner h1{

        font-size:52px;
        line-height:1.1;
        margin-left:0;

    }

}


/* =====================================================
   CELULARES PEQUEÑOS
====================================================== */

@media (max-width:480px){

    .history-banner{

        height:220px;
        background-position:center;

    }

    .history-banner-overlay{

        justify-content:flex-start;

    }

    .history-banner-container{

        width:calc(100% - 28px);

    }

    .history-banner h1{

        font-size:38px;
        line-height:1.1;
        margin-left:0;
        max-width:260px;

    }

}
/* =====================================================
   TIMELINE
====================================================== */

.timeline-section{

    width:100%;

    padding:95px 0 120px;

    background:#fff;

}

.timeline-container{

    width:calc(100% - 90px);

    max-width:1600px;

    margin:auto;

}


/* =====================================================
   CABECERA
====================================================== */

.timeline-subtitle{

    display:block;

    color:#F4A51C;

    font-size:18px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.6px;

    margin-bottom:12px;

}

.timeline-container h2{

    color:#123E87;

    font-size:56px;

    font-weight:700;

    line-height:1.1;

    margin-bottom:28px;

}

.timeline-container > p{

    max-width:980px;

    font-size:20px;

    line-height:1.8;

    color:#222;

    margin-bottom:90px;

}


/* =====================================================
   CONTENEDOR TIMELINE
====================================================== */

.timeline-content{

    position:relative;

    width:100%;

    padding:20px 0 40px;

}


/* =====================================================
   LINEA CENTRAL
====================================================== */
.timeline-line{

    position:absolute;

    left:50%;

    top:210px;

    bottom:190px;   /* Ajusta este valor */

    transform:translateX(-50%);

    width:3px;

    background:#F4A51C;

}


/* =====================================================
   RESPONSIVE TITULOS
====================================================== */

@media (max-width:992px){

.timeline-container{

    width:calc(100% - 40px);

}

.timeline-container h2{

    font-size:42px;

}

.timeline-container > p{

    font-size:18px;

}

}

@media (max-width:768px){

.timeline-section{

    padding:70px 0;

}

.timeline-container{

    width:calc(100% - 30px);

}

.timeline-subtitle{

    font-size:14px;

}

.timeline-container h2{

    font-size:34px;

}

.timeline-container > p{

    font-size:16px;

    line-height:1.7;

    margin-bottom:55px;

}

}
/* =====================================================
   ITEM
====================================================== */

.timeline-item{

    position:relative;

    display:grid;

    grid-template-columns:420px 80px 420px;

    justify-content:center;

    align-items:center;

    gap:55px;

    margin-bottom:110px;

}


/* =====================================================
   PUNTO
====================================================== */

.timeline-dot{

    width:24px;

    height:24px;

    border-radius:50%;

    background:#F4A51C;

    justify-self:center;

    z-index:2;

}


/* =====================================================
   IMAGEN
====================================================== */

.timeline-image{

    width:420px;

}

.timeline-image img{

    width:100%;

    height:290px;

    object-fit:cover;

    display:block;

    border-radius:18px;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

}


/* =====================================================
   TARJETA
====================================================== */

.timeline-card{

    width:420px;

    background:#ffffff;

    border-radius:18px;

    padding:36px;

    border:1px solid rgba(18,62,135,.05);

    box-shadow:
        0 14px 38px rgba(18,62,135,.08);

}


/* =====================================================
   AÑO
====================================================== */

.timeline-year{

    display:block;

    font-family:'Poppins',sans-serif;

    font-size:18px;

    font-weight:700;

    color:#F4A51C;

    margin-bottom:12px;

}


/* =====================================================
   TITULO
====================================================== */

.timeline-card h3{

    font-family:'Poppins',sans-serif;

    font-size:20px;

    font-weight:700;

    line-height:1.35;

    color:#111;

    margin-bottom:18px;

}


/* =====================================================
   TEXTO
====================================================== */

.timeline-card p{

    font-family:'Poppins',sans-serif;

    font-size:15px;

    font-weight:400;

    line-height:1.75;

    color:#2C2C2C;

    margin:0;

}


/* =====================================================
   IZQUIERDA
====================================================== */

.timeline-item.left .timeline-image{

    justify-self:end;

}

.timeline-item.left .timeline-card{

    justify-self:start;

}


/* =====================================================
   DERECHA
====================================================== */

.timeline-item.right .timeline-card{

    justify-self:end;

}

.timeline-item.right .timeline-image{

    justify-self:start;

}


/* =====================================================
   EFECTO VISUAL
====================================================== */

.timeline-item.left .timeline-image{

    transform:translateY(-8px);

}

.timeline-item.left .timeline-card{

    transform:translateY(8px);

}

.timeline-item.right .timeline-card{

    transform:translateY(-8px);

}

.timeline-item.right .timeline-image{

    transform:translateY(8px);

}


/* =====================================================
   ESPACIADO ENTRE TARJETAS
====================================================== */

.timeline-item:last-child{

    margin-bottom:0;

}
/* =====================================================
   RESPONSIVE TABLET
====================================================== */

@media (max-width:1200px){

.timeline-container{

    width:calc(100% - 60px);

}

.timeline-item{

    grid-template-columns:340px 70px 340px;

    gap:40px;

    margin-bottom:90px;

}

.timeline-image{

    width:340px;

}

.timeline-image img{

    height:240px;

}

.timeline-card{

    width:340px;

    padding:30px;

}

.timeline-year{

    font-size:17px;

}

.timeline-card h3{

    font-size:18px;

}

.timeline-card p{

    font-size:14px;

    line-height:1.7;

}

}


/* =====================================================
   RESPONSIVE TABLET PEQUEÑA
====================================================== */

@media (max-width:992px){

.timeline-container{

    width:calc(100% - 40px);

}

.timeline-subtitle{

    font-size:16px;

}

.timeline-container h2{

    font-size:42px;

}

.timeline-container > p{

    font-size:18px;

    line-height:1.7;

    margin-bottom:70px;

}

.timeline-item{

    grid-template-columns:300px 60px 300px;

    gap:30px;

    margin-bottom:80px;

}

.timeline-line{

    width:3px;

}

.timeline-dot{

    width:20px;

    height:20px;

}

.timeline-image{

    width:300px;

}

.timeline-image img{

    height:210px;

    border-radius:16px;

}

.timeline-card{

    width:300px;

    padding:26px;

    border-radius:16px;

}

.timeline-year{

    font-size:16px;

}

.timeline-card h3{

    font-size:17px;

    margin-bottom:14px;

}

.timeline-card p{

    font-size:14px;

    line-height:1.6;

}

}
/* =====================================================
   RESPONSIVE CELULAR
====================================================== */

@media (max-width:768px){

/* ---------- CONTENEDOR ---------- */

.timeline-section{

    padding:70px 0;

}

.timeline-container{

    width:calc(100% - 30px);

}

/* ---------- TITULOS ---------- */

.timeline-subtitle{

    font-size:14px;

    margin-bottom:8px;

}

.timeline-container h2{

    font-size:34px;

    line-height:1.2;

    margin-bottom:18px;

}

.timeline-container > p{

    font-size:16px;

    line-height:1.7;

    margin-bottom:55px;

}


/* ---------- LINEA ---------- */

.timeline-line{

    left:13px;
    top:50px;
    bottom:35px;
    transform:none;

}


/* ---------- ITEM ---------- */

.timeline-item{

    display:grid;

    grid-template-columns:36px 1fr;

    gap:20px;

    margin-bottom:60px;

}


/* ---------- PUNTO ---------- */

.timeline-dot{

    grid-column:1;

    grid-row:1;

    width:18px;

    height:18px;

    justify-self:center;

    align-self:start;

    margin-top:18px;

}


/* ---------- IMAGEN ---------- */

.timeline-image{

    width:100%;

    max-width:100%;

    grid-column:2;

    transform:none !important;

}

.timeline-image img{

    width:100%;

    height:220px;

    border-radius:16px;

}


/* ---------- TARJETA ---------- */

.timeline-card{

    width:100%;

    max-width:100%;

    grid-column:2;

    padding:24px;

    margin:20px 0 0 0;

    transform:none !important;

    border-radius:16px;

}

.timeline-year{

    font-size:16px;

    margin-bottom:10px;

}

.timeline-card h3{

    font-size:20px;

    margin-bottom:14px;

}

.timeline-card p{

    font-size:15px;

    line-height:1.7;

}


/* ---------- ORDEN ---------- */

.timeline-item.left .timeline-image,
.timeline-item.right .timeline-image{

    order:1;

}

.timeline-item.left .timeline-card,
.timeline-item.right .timeline-card{

    order:2;

}

}


/* =====================================================
   CELULARES PEQUEÑOS
====================================================== */

@media (max-width:480px){

.timeline-container{

    width:calc(100% - 20px);

}

.timeline-line{

    left:13px;
    top:50px;
    bottom:20px;

}

.timeline-item{

    grid-template-columns:30px 1fr;

    gap:16px;

}

.timeline-dot{

    width:16px;

    height:16px;

}

.timeline-image img{

    height:190px;

}

.timeline-card{

    padding:20px;

}

.timeline-year{

    font-size:15px;

}

.timeline-card h3{

    font-size:18px;

}

.timeline-card p{

    font-size:14px;

    line-height:1.6;

}

}
/* =====================================================
   ÚNETE A AHORA
====================================================== */

.join-section{

    width:100%;

    padding:95px 20px;

    background:linear-gradient(
        180deg,
        #2F69C9 0%,
        #0B1A36 100%
    );

}

.join-container{

    max-width:980px;

    margin:0 auto;

    text-align:center;

}

.join-subtitle{

    display:block;

    font-family:'Poppins',sans-serif;

    font-size:17px;

    font-weight:700;

    color:#FDB321;

    text-transform:uppercase;

    margin-bottom:18px;

}

.join-container h2{

    font-family:'Poppins',sans-serif;

    font-size:60px;

    font-weight:800;

    color:#ffffff;

    line-height:1.15;

    margin-bottom:24px;

}

.join-container p{

    max-width:860px;

    margin:0 auto 45px;

    font-family:'Poppins',sans-serif;

    font-size:24px;

    font-weight:500;

    line-height:1.7;

    color:#ffffff;

}

.join-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:210px;

    height:62px;

    background:#FDB321;

    border-radius:8px;

    color:#ffffff;

    font-family:'Poppins',sans-serif;

    font-size:31px;

    font-weight:800;

    text-decoration:none;

    transition:.30s;

}

.join-btn:hover{

    background:#e39c0c;

    transform:translateY(-3px);

}
