:root{--rojo:#d62839;--azul:#0d3b8c}
body{font-family:'Montserrat',sans-serif;margin:0;padding-top:0px;
    overflow-x:hidden;}
#mainNav{position:fixed;top:0;left:0;width:100%;z-index:9999;padding:25px 0;
    background:transparent !important;transition:all .35s ease;}
#mainNav.scrolled{position:fixed;background:rgba(255,255,255,.20);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);box-shadow:0 8px 8px rgba(0,0,0,.08);border-bottom:1px solid rgba(255,255,255,.15);padding:12px 0;}
#mainNav .nav-link{color:#d62839 !important;font-weight:600;margin-left:28px;}
#mainNav.scrolled .nav-link{color:#222 !important;}
#mainNav .navbar-toggler{border-color:#fff;}
#mainNav.scrolled .navbar-toggler{border-color:#222;}
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;background-image: url("../img/hero-fondo.jpg"); background-size:cover;background-position:center;background-repeat:no-repeat;}
.hero .container{position:relative;z-index:5;}
.hero h1{font-size:4rem;font-weight:900}
.hero h4{font-weight:600;margin:20px 0}
.hero p{font-size:1.5rem;margin:35px 0;font-weight:600;line-height:1.35;
    color:#222;max-width:520px;}
.hero-bg{animation:kenburns 40s ease-in-out infinite alternate;
    will-change:transform;}
.hero .hero-text{padding-top:20px;}


@keyframes kenburns{
    from{
        transform:scale(1);
    }
    to{
        transform:scale(1.05) translate(-0.8%,-0.8%);
    }
}
.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,.60);}
.perfil{display:block;max-height:760px;margin:0 auto -100px auto;filter:drop-shadow(0 25px 40px rgba(0,0,0,.35));}

.foto-redonda{

    border-radius:22px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.btn{border-radius:50px;padding:15px 38px;font-weight:600;}
.placeholder-img{height:320px;background:#ddd;display:flex;align-items:center;justify-content:center;border-radius:12px;color:#666;font-size:2rem}

.franja-destacada{

    position:relative;

    margin-top:-25px;

    margin-bottom:80px;

    z-index:20;

}

.franja-destacada .container{

    background:#fcfcfc;

    border-radius:22px;

    padding:40px 35px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.franja-destacada i{

    margin-bottom:18px;

}

.franja-destacada .col-md-3{

    transition:.3s ease;

}

.franja-destacada .col-md-3:hover{

    transform:translateY(-6px);

}

#historia{

    padding:110px 0;

}

#historia h2{

    font-size:2rem;

    font-weight:700;

    line-height:1.2;

    margin:18px 0 30px;
    
    margin-top:18px;

}

}

#historia p{

    font-size:1.12rem;

    line-height:1.9;

    color:#444;

    margin-bottom:24px;

}

#historia .btn{

    margin-top:12px;

}


.section-title{

    display:inline-block;

    color:var(--rojo);

    font-size:.85rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.btn-rojo{

    background:var(--rojo);

    color:#fff;

    border:none;

    border-radius:50px;

    padding:14px 36px;

    font-weight:600;

    transition:.3s;

}

.btn-rojo:hover{

    background:#b71f2d;

    color:#fff;

    transform:translateY(-2px);

}

.trayectoria{background:#fff;}

.timeline{

    display:flex;

    justify-content:space-between;

    position:relative;

    gap:25px;

    margin-top:50px;

}

.timeline::before{

    content:"";

    position:absolute;

    top:32px;

    left:8%;

    right:8%;

    height:2px;

    background:#d8d8d8;

}

.timeline-item{

    position:relative;

    flex:1;

    text-align:center;

    z-index:2;

}

.timeline-icon{

    width:65px;

    height:65px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    color:#fff;

    font-size:26px;

    border:5px solid #fff;

    box-shadow:0 10px 25px rgba(0,0,0,.12);

}

.rojo{

    background:#d62839;

}

.azul{

    background:#0d3b8c;

}

.icono-rojo{
    color:var(--rojo);
}

.icono-azul{
    color:var(--azul);
}

.timeline h5{

    margin-top:20px;

    font-size:18px;

    font-weight:700;

}

.timeline p{

    color:#777;

    margin-top:8px;

}
.timeline::before{
    background:#e8e8e8;
height:2px;
    border-radius:10px;

}
.timeline-item:last-child .timeline-icon{

    transform:scale(1.15);

    box-shadow:0 15px 40px rgba(211,32,39,.35);

}
.timeline-item:last-child h5{

    color:#d62839;

}

.prefooter{

    padding:90px 0;

    background:#0f172a;

    color:white;

}

.section-tag{

    color:#d62839;

    font-weight:700;

    letter-spacing:2px;

    font-size:.9rem;

}

.prefooter h2{

    font-size:3rem;

    font-weight:800;

    margin:20px 0;

}

.prefooter p{

    color:#d0d0d0;

    line-height:1.8;

    max-width:500px;

}

.contact-list{

    margin-top:20px;

}

.contact-item{

    display:flex;

    align-items:center;

    margin-bottom:25px;

    font-size:1.1rem;

}

.contact-item i{

    width:50px;

    height:50px;

    border-radius:50%;

    background:#d62839;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-right:18px;

}

.social{

    margin-top:40px;

}

.social a{width:48px;height:48px;display:inline-flex;justify-content:center;
    align-items:center;text-decoration:none;border-radius:50%;background:rgba(255,255,255,.08);
    color:white;margin-right:12px;transition:.3s;}

.social a:hover{background:#d62839;transform:translateY(-5px);}

.contact-item a{color:#fff;text-decoration:none;transition:.3s;}

.contact-item a:hover{color:#25D366;}

.social-item a{

    color:#fff;

    text-decoration:none;

    transition:.3s;

}

.contact-item a:hover{

    color:#0f172a;

}
.footer{

    background:#09111f;

    color:#9ca3af;

    padding:22px 0;

    font-size:.9rem;

}

.navbar{
    background: transparent !important;
}

.navbar.scrolled{
    background: white !important;
    
}

@media (max-width:768px){

    .hero-text{
        text-align:center;
    }

    .hero-text img{
        display:block;
        margin:0 auto 30px;
        max-width:80%;
    }

    .hero-text p{
        text-align:center;
        margin:0 auto;
        max-width:320px;
        font-size:1.5rem;
        font-weight:600;
        line-height:1.35;
    }

    .hero .btn{
        display:block;
        width:100%;
        max-width:320px;
        margin:18px auto 0;
    }

    #historia{
        padding-left:24px;
        padding-right:24px;
    }

    #historia h2{
        font-size:1.5rem;
        line-height:1.15;
        margin-top:18px;
    }

    #historia p{
        font-size:1.2rem;
        line-height:1.8;
    }

}


@media (max-width:768px){
    .hero-bg{
        animation:kenburnsMobile 40s ease-in-out infinite alternate;
    }
}
@keyframes kenburnsMobile{
    from{
        transform:scale(1);
    }
    to{
        transform:scale(1.03);
    }
}
@media(max-width:992px){

.timeline{

    flex-direction:column;

}

.timeline::before{

    display:none;

}

.timeline-item{

    margin-bottom:40px;

}

}
@media (max-width:768px){

    .franja-destacada{

        margin-top:0;

        margin-bottom:50px;

    }

    .franja-destacada .container{

        border-radius:16px;

        padding:30px 20px;

    }

}

/*=========================================
=            internas
=========================================*/

.hero-interno{

    position:relative;

    height:340px;

    display:flex;

    align-items:center;

    background:url("../img/hero-fondo.jpg") center center;

    background-size:cover;

    overflow:hidden;

}

.hero-interno .overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

}

.hero-interno .container{

    position:relative;

    z-index:2;

}

.hero-interno h1{

    color:#fff;

    font-size:3rem;

    font-weight:800;

    margin-bottom:20px;

}

.hero-interno p{

    color:#fff;

    font-size:1.2rem;

    max-width:650px;

    line-height:1.7;

}

.subtitulo{

    display:inline-block;

    color:#fff;

    font-size:.9rem;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:15px;

    opacity:.85;

}

@media(max-width:768px){

.hero-interno{

    height:260px;

    text-align:center;

}

.hero-interno h1{

    font-size:2.2rem;

}

.hero-interno p{

    font-size:1rem;

}

}