/*======================================================
HOJA DE RUTA
======================================================*/

.roadmap-section{
    padding:55px 0 45px;
    background:#07051d;
}

.roadmap-section .section-head{
    margin-bottom:35px;
}

.roadmap-section .section-head h2{
    font-size:clamp(1.7rem,2.8vw,2.35rem);
    color:#4f8cff;
    margin-bottom:10px;
    line-height:1.2;
}

.roadmap-section .section-head p{
    max-width:650px;
    margin:auto;
    color:#b9c7ea;
    line-height:1.6;
    font-size:.95rem;
}

.roadmap-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    align-items:start;

}

.road-card{

    position:relative;
    display:flex;
    flex-direction:column;

}

.road-number{

    position:absolute;
    left:16px;
    top:-12px;

    width:56px;
    height:56px;

    border-radius:14px;

    background:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:1.45rem;
    font-weight:800;

    color:#e10000;

    z-index:5;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

}

.road-image{

    height:170px;
    overflow:hidden;
    border-radius:18px;

}

.road-image img{

    width:100%;
    height:100%;
    object-fit:cover;
    display:block;

    transition:.45s;

}

.road-card:hover img{

    transform:scale(1.05);

}

.road-content{

    padding-top:15px;

}

.road-content h3{

    color:#4f8cff;

    font-size:1.35rem;

    margin-bottom:10px;

    line-height:1.3;

}

.road-content p{

    color:#eef3ff;

    line-height:1.55;

    font-size:.90rem;

    margin:0;

}

@media(max-width:1100px){

    .roadmap-section{
        padding:50px 0;
    }

    .roadmap-grid{

        grid-template-columns:1fr;
        gap:45px;

    }

    .road-image{

        height:220px;

    }

}

/*==========================================*/
/*==========================================*/
/*==========================================*/
/*==========================================*/

/*==========================================
CONTACTO PREMIUM
==========================================*/

.contact-section{

    position:relative;
    overflow:hidden;
    padding:120px 0;
    background:#f8f9fc;

}

.contact-bg{

    position:absolute;
    top:0;
    right:0;

    width:36%;
    height:100%;

    background:#07122e;

}

.contact-container{

    position:relative;
    z-index:5;

    width:min(1250px,92%);
    margin:auto;

    display:grid;
    grid-template-columns:1fr 560px;
    gap:90px;

    align-items:center;

}

/*========================*/

.contact-tag{

    display:inline-block;

    padding:10px 22px;

    border-radius:40px;

    background:#edf3ff;

    color:#2d6bff;

    font-size:.85rem;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:28px;

}

.contact-info h2{

    font-size:3rem;

    line-height:1.15;

    color:#081b49;

    margin-bottom:30px;

    font-weight:800;

}

.contact-info p{

    font-size:1.08rem;

    line-height:1.9;

    color:#666;

    max-width:560px;

    margin-bottom:45px;

}

/*========================*/

.contact-card{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:22px;

}

.contact-card i{

    width:58px;
    height:58px;

    border-radius:50%;

    background:#2d6bff;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:22px;

    flex-shrink:0;

}

.contact-card small{

    display:block;

    color:#8c8c8c;

    margin-bottom:4px;

    font-size:.82rem;

}

.contact-card span{

    font-size:1.05rem;

    color:#081b49;

    font-weight:700;

}

/*========================*/

.contact-form{

    position:relative;

    background:#fff;

    border-radius:28px;

    padding:50px;

    box-shadow:
    0 25px 70px rgba(0,0,0,.10);

}

.contact-form::before{

    content:"";

    position:absolute;

    inset:-18px;

    border-radius:35px;

    border:1px solid rgba(255,255,255,.18);

    pointer-events:none;

}

.contact-form h3{

    font-size:2rem;

    color:#081b49;

    margin-bottom:35px;

}

/*========================*/

.grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:22px;

    margin-bottom:22px;

}

.field{

    display:flex;

    flex-direction:column;

}

.field label{

    font-size:.90rem;

    color:#555;

    margin-bottom:10px;

    font-weight:600;

}

.field input,
.field textarea{

    width:100%;

    border:1px solid #e5e8f2;

    background:#fafbff;

    border-radius:14px;

    padding:18px;

    font-size:15px;

    transition:.30s;

}

.field textarea{

    min-height:170px;

    resize:none;

}

.field input:focus,
.field textarea:focus{

    outline:none;

    border-color:#2d6bff;

    background:#fff;

    box-shadow:0 0 0 4px rgba(45,107,255,.12);

}

/*========================*/

.contact-form button{

    width:100%;

    height:60px;

    border:none;

    border-radius:14px;

    background:#2d6bff;

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.35s;

}

.contact-form button:hover{

    background:#081b49;

    transform:translateY(-2px);

}

/*========================*/

@media(max-width:1100px){

.contact-bg{

display:none;

}

.contact-container{

grid-template-columns:1fr;

gap:60px;

}

.contact-info{

text-align:center;

}

.contact-info p{

margin:auto auto 45px;

}

.contact-card{

justify-content:center;

}

.contact-form{

padding:35px;

}

}

@media(max-width:768px){

.grid{

grid-template-columns:1fr;

}

.contact-info h2{

font-size:2.2rem;

}

.contact-form h3{

font-size:1.6rem;

}

}


/*=======================================*/
/*============PORQUE LO HACEMOS==========*/
/*=======================================*/
/*=========================================
        ¿POR QUÉ LO HACEMOS?
=========================================*/
/*==================================================
                ABOUT COMPANY
==================================================*/

.about-company{
    width:100%;
    padding:55px 0;
    background:linear-gradient(180deg,#071C35 0%, #0A2648 100%);
    position:relative;
    overflow:hidden;
}

.about-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:45px;
    flex-wrap:wrap;
}

/*==========================
        TEXTO
==========================*/

.about-content{
    flex:1;
    min-width:320px;
    max-width:720px;
}

.about-subtitle{
    display:inline-block;
    color:#33C7FF;
    font-size:13px;
    letter-spacing:3px;
    font-weight:700;
    margin-bottom:12px;
    text-transform:uppercase;
}

.about-title{
    font-size:34px;
    line-height:1.2;
    color:#ffffff;
    margin-bottom:18px;
    font-weight:700;
}

.about-text{
    color:#DCE7F5;
    font-size:16px;
    line-height:1.65;
    text-align:justify;
    margin-bottom:15px;
}

.about-text strong{
    color:#ffffff;
}

.about-highlight{
    margin-top:20px;
    padding-left:18px;
    border-left:4px solid #00C2FF;

    color:#ffffff;
    font-size:18px;
    font-weight:600;
    line-height:1.5;
}

.about-highlight strong{
    color:#33C7FF;
}

/*==========================
        LOGO
==========================*/

.about-image{
    flex:0 0 330px;
    display:flex;
    justify-content:flex-end;
    align-items:center;
}

.about-image img{
    width:100%;
    max-width:280px;
    height:auto;
    transition:.35s ease;
    filter:drop-shadow(0 0 18px rgba(0,194,255,.30));
}

.about-image img:hover{
    transform:scale(1.04);
}

/*==========================
        DIVISOR
==========================*/

.about-divider{
    width:100%;
    height:1px;

    margin-top:40px;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.20),
        transparent
    );
}

/*==========================
      RESPONSIVE TABLET
==========================*/

@media(max-width:992px){

.about-company{
    padding:50px 0;
}

.about-container{
    flex-direction:column-reverse;
    text-align:center;
    gap:30px;
}

.about-content{
    max-width:100%;
}

.about-subtitle{
    letter-spacing:2px;
}

.about-title{
    font-size:30px;
}

.about-text{
    text-align:center;
    font-size:15px;
}

.about-highlight{
    border-left:none;
    border-top:4px solid #00C2FF;
    padding:18px 0 0;
    margin-top:18px;
    text-align:center;
}

.about-image{
    flex:auto;
    justify-content:center;
}

.about-image img{
    max-width:230px;
}

.about-divider{
    margin-top:30px;
}

}

/*==========================
      RESPONSIVE MOBILE
==========================*/

@media(max-width:576px){

.about-company{
    padding:40px 0;
}

.about-title{
    font-size:26px;
}

.about-subtitle{
    font-size:12px;
    letter-spacing:1.5px;
}

.about-text{
    font-size:15px;
    line-height:1.6;
}

.about-highlight{
    font-size:17px;
}

.about-image img{
    max-width:180px;
}

}


