/*=========================================================
RESET
=========================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;

    background:#f5f8fc;

    color:#1b2b44;

    overflow-x:hidden;

    line-height:1.7;

}

/*=========================================================
VARIABLES
=========================================================*/

:root{

    --azul:#0b4ea2;

    --azul-oscuro:#072a58;

    --azul-claro:#2b7fff;

    --celeste:#eaf4ff;

    --blanco:#ffffff;

    --gris:#6d7a8b;

    --gris-claro:#eef3f8;

    --borde:#d9e4ef;

    --verde:#1db954;

    --rojo:#e53935;

    --amarillo:#ffc107;

    --sombra:

        0 12px 35px

        rgba(0,0,0,.08);

    --radio:18px;

    --transicion:.35s;

}

/*=========================================================
CONTENEDOR
=========================================================*/

.contenedor{

    width:min(92%,1280px);

    margin:auto;

}

/*=========================================================
TIPOGRAFÍA
=========================================================*/

h1,
h2,
h3,
h4{

    color:var(--azul-oscuro);

    line-height:1.2;

    font-weight:700;

}

h1{

    font-size:clamp(2.3rem,5vw,4rem);

}

h2{

    font-size:clamp(2rem,4vw,3rem);

}

h3{

    font-size:1.35rem;

}

p{

    color:var(--gris);

    font-size:1rem;

}

/*=========================================================
ENLACES
=========================================================*/

a{

    text-decoration:none;

    color:inherit;

}

/*=========================================================
IMÁGENES
=========================================================*/

img{

    display:block;

    width:100%;

    height:auto;

}

/*=========================================================
LISTAS
=========================================================*/

ul{

    list-style:none;

}

/*=========================================================
BOTONES
=========================================================*/

button{

    font-family:'Poppins',sans-serif;

    border:none;

    outline:none;

    cursor:pointer;

}

/*=========================================================
INPUTS
=========================================================*/

input,
textarea,
select{

    font-family:'Poppins',sans-serif;

    outline:none;

}

/*=========================================================
SECCIONES
=========================================================*/

section{

    padding:100px 0;

}

/*=========================================================
TÍTULOS DE SECCIÓN
=========================================================*/

.titulo-seccion{

    text-align:center;

    max-width:820px;

    margin:0 auto 70px;

}

.titulo-seccion span:first-child{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:var(--celeste);

    color:var(--azul);

    font-weight:600;

    font-size:.88rem;

    letter-spacing:1px;

    margin-bottom:20px;

}

.titulo-seccion h2{

    margin-bottom:18px;

}

.titulo-seccion h2 span{

    color:var(--azul);

}

.titulo-seccion p{

    max-width:760px;

    margin:auto;

    font-size:1.05rem;

}

/*=========================================================
SELECCIÓN
=========================================================*/

::selection{

    background:var(--azul);

    color:#fff;

}
/*=========================================================
HEADER
=========================================================*/

.navbar{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:1000;

    background:rgba(7,42,88,.97);

    backdrop-filter:blur(14px);

    -webkit-backdrop-filter:blur(14px);

    box-shadow:0 8px 25px rgba(0,0,0,.12);

}

.navbar .contenedor{

    height:90px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

}

/*=========================================================
LOGO
=========================================================*/

.logo{

    display:flex;

    align-items:center;

    flex-shrink:0;

}

.logo img{

    width:auto;

    height:62px;

    object-fit:contain;

    transition:.35s;

}

.logo:hover img{

    transform:scale(1.05);

}

/*=========================================================
MENÚ
=========================================================*/

.navbar nav{

    display:flex;

    align-items:center;

    justify-content:flex-end;

    gap:8px;

    flex-wrap:wrap;

}

.navbar nav a{

    color:#fff;

    font-size:.95rem;

    font-weight:500;

    padding:12px 18px;

    border-radius:50px;

    transition:.30s;

    white-space:nowrap;

}

.navbar nav a:hover{

    background:rgba(255,255,255,.12);

}

.navbar nav a.activo{

    background:#fff;

    color:var(--azul-oscuro);

    font-weight:600;

}

/*=========================================================
ESPACIO POR HEADER FIJO
=========================================================*/

body{

    padding-top:90px;

}
/*=========================================================
BOTONES GENERALES
=========================================================*/

.btn-principal,
.btn-secundario,
.servicio-card button,
.form-whatsapp button,
.form-pqrs button,
.form-resena button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    min-width:220px;

    min-height:56px;

    padding:16px 30px;

    border-radius:60px;

    font-size:1rem;

    font-weight:600;

    text-decoration:none;

    cursor:pointer;

    transition:.35s;

}

/*=========================================================
BOTÓN PRINCIPAL
=========================================================*/

.btn-principal,
.servicio-card button,
.form-whatsapp button,
.form-pqrs button,
.form-resena button{

    background:linear-gradient(
        135deg,
        var(--azul),
        var(--azul-claro)
    );

    color:#fff;

    border:none;

    box-shadow:

        0 15px 35px

        rgba(11,78,162,.25);

}

.btn-principal:hover,
.servicio-card button:hover,
.form-whatsapp button:hover,
.form-pqrs button:hover,
.form-resena button:hover{

    transform:translateY(-4px);

    box-shadow:

        0 25px 45px

        rgba(11,78,162,.35);

}

/*=========================================================
BOTÓN SECUNDARIO
=========================================================*/

.btn-secundario{

    background:#fff;

    color:var(--azul);

    border:2px solid var(--azul);

}

.btn-secundario:hover{

    background:var(--azul);

    color:#fff;

    transform:translateY(-4px);

}

/*=========================================================
BOTONES HERO
=========================================================*/

.hero-botones{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-top:40px;

}

/*=========================================================
BOTONES TARJETAS
=========================================================*/

.servicio-card button{

    width:100%;

    margin-top:auto;

}

/*=========================================================
ICONOS BOTONES
=========================================================*/

.btn-principal i,
.btn-secundario i{

    font-size:1rem;

}

/*=========================================================
BOTÓN DESHABILITADO
=========================================================*/

button:disabled{

    opacity:.6;

    cursor:not-allowed;

    transform:none;

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:768px){

    .hero-botones{

        flex-direction:column;

    }

    .btn-principal,
    .btn-secundario,
    .servicio-card button{

        width:100%;

    }

}
/*=========================================================
HERO
=========================================================*/

.hero-servicios{

    position:relative;

    background:linear-gradient(
        135deg,
        #f8fbff 0%,
        #eef6ff 100%
    );

    overflow:hidden;

}

.hero-servicios::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    background:rgba(43,127,255,.08);

    border-radius:50%;

    top:-250px;

    right:-220px;

}

.hero-grid{

    position:relative;

    display:grid;

    grid-template-columns:1.1fr .9fr;

    align-items:center;

    gap:70px;

}

/*=========================================================
CONTENIDO
=========================================================*/

.hero-contenido{

    position:relative;

    z-index:2;

}

.hero-etiqueta{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 20px;

    border-radius:40px;

    background:var(--celeste);

    color:var(--azul);

    font-size:.9rem;

    font-weight:600;

    margin-bottom:25px;

}

.hero-contenido h1{

    margin-bottom:25px;

}

.hero-contenido h1 span{

    color:var(--azul);

}

.hero-contenido p{

    max-width:620px;

    font-size:1.05rem;

    margin-bottom:15px;

}

/*=========================================================
INDICADORES
=========================================================*/

.hero-indicadores{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-top:45px;

}

.indicador{

    display:flex;

    align-items:center;

    gap:12px;

    padding:14px 20px;

    border-radius:15px;

    background:#fff;

    box-shadow:var(--sombra);

}

.indicador i{

    width:45px;

    height:45px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--azul);

    color:#fff;

    font-size:1rem;

}

.indicador span{

    color:var(--azul-oscuro);

    font-weight:600;

    font-size:.95rem;

}

/*=========================================================
IMAGEN
=========================================================*/

.hero-imagen{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-imagen img{

    width:100%;

    max-width:560px;

    border-radius:25px;

    box-shadow:

        0 35px 60px

        rgba(0,0,0,.15);

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px){

    .hero-grid{

        grid-template-columns:1fr;

        text-align:center;

    }

    .hero-contenido p{

        margin:auto auto 15px;

    }

    .hero-botones{

        justify-content:center;

    }

    .hero-indicadores{

        justify-content:center;

    }

    .hero-imagen{

        margin-top:40px;

    }

}

@media(max-width:576px){

    .hero-indicadores{

        flex-direction:column;

    }

    .indicador{

        width:100%;

        justify-content:flex-start;

    }

}
/*=========================================================
SECCIÓN INVERSIÓN
=========================================================*/

.invertir{

    background:#ffffff;

    position:relative;

}

.invertir-grid{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:60px;

    align-items:center;

}

/*=========================================================
INFORMACIÓN
=========================================================*/

.invertir-info .titulo-pequeno{

    display:inline-block;

    padding:10px 20px;

    background:var(--celeste);

    color:var(--azul);

    border-radius:50px;

    font-size:.9rem;

    font-weight:600;

    margin-bottom:25px;

}

.invertir-info h2{

    margin-bottom:25px;

}

.invertir-info h2 span{

    color:var(--azul);

}

.invertir-info p{

    margin-bottom:18px;

    font-size:1rem;

    color:var(--gris);

}

/*=========================================================
BENEFICIOS
=========================================================*/

.invertir-beneficios{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

    margin-top:35px;

}

.invertir-beneficios div{

    display:flex;

    align-items:center;

    gap:15px;

    padding:18px;

    border-radius:16px;

    background:#f8fbff;

    border:1px solid var(--borde);

    transition:.30s;

}

.invertir-beneficios div:hover{

    transform:translateY(-4px);

    box-shadow:var(--sombra);

}

.invertir-beneficios i{

    width:50px;

    height:50px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--azul);

    color:#fff;

    font-size:1.15rem;

}

.invertir-beneficios span{

    color:var(--azul-oscuro);

    font-weight:600;

}

/*=========================================================
FORMULARIO
=========================================================*/

.formulario-inversion{

    background:#fff;

    border-radius:24px;

    padding:40px;

    box-shadow:

        0 20px 45px

        rgba(0,0,0,.08);

    border:1px solid var(--borde);

}

.formulario-inversion h3{

    margin-bottom:12px;

    text-align:center;

}

.formulario-inversion p{

    text-align:center;

    margin-bottom:30px;

}

/*=========================================================
CAMPOS
=========================================================*/

.campo{

    display:flex;

    flex-direction:column;

    margin-bottom:20px;

}

.campo label{

    margin-bottom:8px;

    color:var(--azul-oscuro);

    font-weight:600;

    font-size:.95rem;

}

.campo input,
.campo textarea,
.campo select{

    width:100%;

    padding:15px 18px;

    border:1px solid var(--borde);

    border-radius:14px;

    background:#fff;

    transition:.30s;

    font-size:.95rem;

}

.campo textarea{

    resize:vertical;

    min-height:120px;

}

.campo input:focus,
.campo textarea:focus,
.campo select:focus{

    border-color:var(--azul);

    box-shadow:

        0 0 0 4px

        rgba(43,127,255,.12);

}

/*=========================================================
BOTÓN
=========================================================*/

.formulario-inversion button{

    width:100%;

    margin-top:10px;

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px){

    .invertir-grid{

        grid-template-columns:1fr;

    }

    .formulario-inversion{

        margin-top:20px;

    }

}

@media(max-width:768px){

    .invertir-beneficios{

        grid-template-columns:1fr;

    }

    .formulario-inversion{

        padding:30px;

    }

}
/*=========================================================
SERVICIOS
=========================================================*/

.servicios{

    background:#f7faff;

    position:relative;

}

.servicios-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

    align-items:stretch;

}

/*=========================================================
TARJETA
=========================================================*/

.servicio-card{

    background:#fff;

    border-radius:22px;

    padding:40px 30px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    border:1px solid var(--borde);

    display:flex;

    flex-direction:column;

    min-height:360px;

    transition:.35s;

    cursor:pointer;

    position:relative;

    overflow:hidden;

}

.servicio-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:linear-gradient(
        90deg,
        var(--azul),
        var(--azul-claro)
    );

    transform:scaleX(0);

    transition:.35s;

    transform-origin:left;

}

.servicio-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 50px rgba(0,0,0,.12);

}

.servicio-card:hover::before{

    transform:scaleX(1);

}

/*=========================================================
ICONO
=========================================================*/

.servicio-icono{

    width:85px;

    height:85px;

    margin:0 auto 30px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--azul),
        var(--azul-claro)
    );

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:2rem;

    transition:.35s;

}

.servicio-card:hover .servicio-icono{

    transform:rotate(8deg) scale(1.08);

}

/*=========================================================
TEXTO
=========================================================*/

.servicio-card h3{

    text-align:center;

    margin-bottom:18px;

    color:var(--azul-oscuro);

}

.servicio-card p{

    text-align:center;

    color:var(--gris);

    margin-bottom:35px;

    flex-grow:1;

}

/*=========================================================
BOTÓN
=========================================================*/

.servicio-card button{

    width:100%;

    margin-top:auto;

    border:none;

    border-radius:50px;

    padding:16px;

    background:linear-gradient(
        135deg,
        var(--azul),
        var(--azul-claro)
    );

    color:#fff;

    font-size:1rem;

    font-weight:600;

    transition:.30s;

}

.servicio-card button:hover{

    transform:scale(1.03);

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px){

    .servicios-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .servicios-grid{

        grid-template-columns:1fr;

    }

    .servicio-card{

        min-height:auto;

    }

}
/*=========================================================
ALIADOS EMPRESARIALES
=========================================================*/

.aliados{

    background:#ffffff;

}

.aliados-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.aliados-info span{

    display:inline-block;

    padding:10px 20px;

    background:var(--celeste);

    color:var(--azul);

    border-radius:40px;

    font-weight:600;

    margin-bottom:25px;

}

.aliados-info h2{

    margin-bottom:25px;

}

.aliados-info h2 span{

    color:var(--azul);

}

.aliados-info p{

    margin-bottom:20px;

}

.aliados-lista{

    margin:35px 0;

    display:flex;

    flex-direction:column;

    gap:18px;

}

.aliados-lista div{

    display:flex;

    align-items:center;

    gap:14px;

    font-weight:500;

    color:var(--azul-oscuro);

}

.aliados-lista i{

    color:#22c55e;

    font-size:1.15rem;

}

.aliados-imagen{

    display:flex;

    justify-content:center;

    align-items:center;

}

.aliados-imagen img{

    width:100%;

    max-width:560px;

    border-radius:22px;

    box-shadow:var(--sombra);

}

/*=========================================================
CARRUSEL DE LOGOS
=========================================================*/

.logos-aliados{

    background:#f8fbff;

    overflow:hidden;

}

.slider-logos{

    width:100%;

    overflow:hidden;

    position:relative;

    padding:25px 0;

}

.slide-track{

    display:flex;

    align-items:center;

    gap:35px;

    width:max-content;

    animation:sliderLogos 35s linear infinite;

}

.slider-logos:hover .slide-track{

    animation-play-state:paused;

}

.logo-item{

    flex:0 0 auto;

    width:180px;

    height:110px;

    background:#ffffff;

    border-radius:18px;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:20px;

    border:1px solid var(--borde);

    box-shadow:0 8px 20px rgba(0,0,0,.05);

    transition:.30s;

}

.logo-item:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 35px rgba(0,0,0,.12);

}

.logo-item img{

    width:100%;

    max-width:130px;

    max-height:70px;

    object-fit:contain;

    display:block;

}

/*=========================================================
ANIMACIÓN
=========================================================*/

@keyframes sliderLogos{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(calc(-50% - 17px));

    }

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px){

    .aliados-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .logo-item{

        width:140px;

        height:90px;

    }

    .logo-item img{

        max-width:100px;

        max-height:55px;

    }

}
/*=========================================================
RESEÑAS
=========================================================*/

.resenas{

    background:#ffffff;

}

.resenas-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));

    gap:30px;

}

.resena-card{

    background:#fff;

    border-radius:22px;

    padding:30px;

    border:1px solid var(--borde);

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    display:flex;

    flex-direction:column;

    transition:.35s;

}

.resena-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.12);

}

/*=========================================================
ESTRELLAS
=========================================================*/

.estrellas{

    display:flex;

    gap:6px;

    margin-bottom:20px;

    color:#ffc107;

    font-size:1.1rem;

}

/*=========================================================
COMENTARIO
=========================================================*/

.comentario{

    flex:1;

    font-size:.98rem;

    color:var(--gris);

    line-height:1.8;

    margin-bottom:25px;

    font-style:italic;

}

/*=========================================================
CLIENTE
=========================================================*/

.cliente{

    display:flex;

    align-items:center;

    gap:15px;

}

.avatar{

    width:55px;

    height:55px;

    border-radius:50%;

    background:linear-gradient(

        135deg,

        var(--azul),

        var(--azul-claro)

    );

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1.2rem;

    font-weight:700;

}

.cliente h4{

    font-size:1rem;

    margin-bottom:4px;

}

.cliente small{

    color:var(--gris);

}

/*=========================================================
SIN RESEÑAS
=========================================================*/

.sin-resenas{

    grid-column:1/-1;

    background:#fff;

    border-radius:22px;

    padding:60px 30px;

    text-align:center;

    border:2px dashed var(--borde);

}

.sin-resenas i{

    font-size:3rem;

    color:var(--azul);

    margin-bottom:20px;

}

.sin-resenas h3{

    margin-bottom:10px;

}

/*=========================================================
PUBLICAR RESEÑA
=========================================================*/

.publicar-resena{

    background:#f8fbff;

}

.form-resena{

    max-width:900px;

    margin:auto;

    background:#fff;

    padding:45px;

    border-radius:25px;

    box-shadow:var(--sombra);

    border:1px solid var(--borde);

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

}

.campo-completo{

    grid-column:1/-1;

}

.form-resena textarea{

    min-height:180px;

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:768px){

    .resenas-grid{

        grid-template-columns:1fr;

    }

    .form-resena{

        grid-template-columns:1fr;

        padding:30px;

    }

    .campo-completo{

        grid-column:auto;

    }

}
/*=========================================================
MODALES
=========================================================*/

.modal{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.65);

    display:flex;

    justify-content:center;

    align-items:center;

    padding:30px;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:9999;

}

.modal.mostrar{

    opacity:1;

    visibility:visible;

}

/*=========================================================
CONTENIDO
=========================================================*/

.modal-contenido{

    position:relative;

    width:100%;

    max-width:820px;

    max-height:90vh;

    overflow-y:auto;

    background:#fff;

    border-radius:24px;

    padding:45px;

    box-shadow:

        0 25px 60px

        rgba(0,0,0,.25);

    animation:modalEntrada .35s ease;

}

/*=========================================================
PQRS MÁS ANCHO
=========================================================*/

.modal-pqrs{

    max-width:980px;

}

/*=========================================================
SCROLL
=========================================================*/

.modal-contenido::-webkit-scrollbar{

    width:8px;

}

.modal-contenido::-webkit-scrollbar-thumb{

    background:var(--azul);

    border-radius:50px;

}

.modal-contenido::-webkit-scrollbar-track{

    background:#eef3f8;

}

/*=========================================================
BOTÓN CERRAR
=========================================================*/

.cerrar-modal{

    position:absolute;

    top:18px;

    right:20px;

    width:45px;

    height:45px;

    border:none;

    border-radius:50%;

    background:#f1f5fb;

    color:var(--azul);

    font-size:1.7rem;

    cursor:pointer;

    transition:.30s;

}

.cerrar-modal:hover{

    background:var(--azul);

    color:#fff;

    transform:rotate(90deg);

}

/*=========================================================
TÍTULOS
=========================================================*/

.modal-contenido h2{

    text-align:center;

    margin-bottom:15px;

    color:var(--azul-oscuro);

}

.modal-contenido p{

    text-align:center;

    margin-bottom:35px;

}

/*=========================================================
FORMULARIOS
=========================================================*/

.form-whatsapp,
.form-pqrs{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

}

/*=========================================================
CAMPOS
=========================================================*/

.form-whatsapp .campo,
.form-pqrs .campo{

    display:flex;

    flex-direction:column;

}

.form-whatsapp .campo-completo,
.form-pqrs .campo-completo{

    grid-column:1/-1;

}

.form-whatsapp label,
.form-pqrs label{

    margin-bottom:8px;

    font-weight:600;

    color:var(--azul-oscuro);

}

.form-whatsapp input,
.form-whatsapp textarea,
.form-whatsapp select,
.form-pqrs input,
.form-pqrs textarea,
.form-pqrs select{

    width:100%;

    padding:15px 18px;

    border:1px solid var(--borde);

    border-radius:14px;

    background:#fff;

    transition:.30s;

}

.form-whatsapp textarea,
.form-pqrs textarea{

    min-height:150px;

    resize:vertical;

}

.form-whatsapp input:focus,
.form-whatsapp textarea:focus,
.form-whatsapp select:focus,
.form-pqrs input:focus,
.form-pqrs textarea:focus,
.form-pqrs select:focus{

    border-color:var(--azul);

    box-shadow:

        0 0 0 4px

        rgba(43,127,255,.12);

}

/*=========================================================
CHECKBOX PQRS
=========================================================*/

.form-pqrs label input[type="checkbox"]{

    width:auto;

    margin-right:10px;

}

/*=========================================================
BOTONES
=========================================================*/

.form-whatsapp button,
.form-pqrs button{

    grid-column:1/-1;

    width:100%;

    margin-top:10px;

}

/*=========================================================
ANIMACIÓN
=========================================================*/

@keyframes modalEntrada{

    from{

        opacity:0;

        transform:translateY(35px) scale(.96);

    }

    to{

        opacity:1;

        transform:translateY(0) scale(1);

    }

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:768px){

    .modal{

        padding:15px;

    }

    .modal-contenido{

        padding:30px 22px;

        max-height:92vh;

    }

    .form-whatsapp,
    .form-pqrs{

        grid-template-columns:1fr;

    }

    .form-whatsapp .campo-completo,
    .form-pqrs .campo-completo{

        grid-column:auto;

    }

}
/*=========================================================
FOOTER
=========================================================*/

.footer{

    background:linear-gradient(
        135deg,
        var(--azul-oscuro),
        #041d3d
    );

    color:#ffffff;

    padding:80px 0 0;

}

/*=========================================================
GRID
=========================================================*/

.footer-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:45px;

    align-items:flex-start;

}

/*=========================================================
COLUMNAS
=========================================================*/

.footer-col{

    display:flex;

    flex-direction:column;

}

.footer-col h3{

    color:#ffffff;

    margin-bottom:22px;

    font-size:1.2rem;

}

.footer-col p{

    color:rgba(255,255,255,.78);

    margin-bottom:14px;

    line-height:1.8;

}

.footer-col ul{

    display:flex;

    flex-direction:column;

    gap:12px;

}

.footer-col ul li{

    color:rgba(255,255,255,.78);

}

.footer-col ul li a{

    color:rgba(255,255,255,.78);

    transition:.30s;

}

.footer-col ul li a:hover{

    color:#ffffff;

    padding-left:8px;

}

/*=========================================================
LOGO
=========================================================*/

.footer-logo{

    width:180px;

    margin-bottom:25px;

}

/*=========================================================
ICONOS CONTACTO
=========================================================*/

.footer-col p i{

    width:24px;

    color:#4ea3ff;

    margin-right:10px;

}

/*=========================================================
REDES
=========================================================*/

.redes{

    display:flex;

    gap:15px;

    margin-top:15px;

}

.redes a{

    width:46px;

    height:46px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(255,255,255,.10);

    color:#ffffff;

    font-size:1.1rem;

    transition:.30s;

}

.redes a:hover{

    background:#ffffff;

    color:var(--azul);

    transform:translateY(-5px);

}

/*=========================================================
COPYRIGHT
=========================================================*/

.footer-copy{

    margin-top:60px;

    padding:22px;

    text-align:center;

    border-top:1px solid rgba(255,255,255,.12);

    color:rgba(255,255,255,.65);

    font-size:.95rem;

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:1100px){

    .footer-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .footer-grid{

        grid-template-columns:1fr;

        text-align:center;

    }

    .footer-logo{

        margin:auto auto 25px;

    }

    .redes{

        justify-content:center;

    }

}
/*=========================================================
ANIMACIONES
=========================================================*/

.servicio-card,
.resena-card,
.aliados-info,
.aliados-imagen,
.titulo-seccion,
.invertir-info,
.formulario-inversion{

    opacity:0;

    transform:translateY(40px);

    transition:

        opacity .8s ease,

        transform .8s ease;

}

.visible{

    opacity:1 !important;

    transform:translateY(0) !important;

}

/*=========================================================
EFECTOS GENERALES
=========================================================*/

.servicio-card,
.resena-card,
.formulario-inversion,
.modal-contenido,
.logo-item{

    will-change:transform;

}

/*=========================================================
HOVER IMÁGENES
=========================================================*/

.hero-imagen img,
.aliados-imagen img{

    transition:.45s;

}

.hero-imagen img:hover,
.aliados-imagen img:hover{

    transform:scale(1.02);

}

/*=========================================================
FOCUS ACCESIBILIDAD
=========================================================*/

a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus{

    outline:none;

}

/*=========================================================
PLACEHOLDERS
=========================================================*/

::placeholder{

    color:#9ca8b5;

}

/*=========================================================
SCROLLBAR
=========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#edf2f7;

}

::-webkit-scrollbar-thumb{

    background:var(--azul);

    border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--azul-oscuro);

}

/*=========================================================
SEPARACIÓN ENTRE SECCIONES
=========================================================*/

.hero-servicios,
.invertir,
.servicios,
.aliados,
.logos-aliados,
.resenas,
.publicar-resena{

    position:relative;

}

/*=========================================================
RESPONSIVE GENERAL
=========================================================*/

@media(max-width:1200px){

    section{

        padding:90px 0;

    }

}

@media(max-width:992px){

    h1{

        font-size:2.8rem;

    }

    h2{

        font-size:2.2rem;

    }

    .contenedor{

        width:min(94%,1200px);

    }

}

@media(max-width:768px){

    section{

        padding:75px 0;

    }

    h1{

        font-size:2.3rem;

    }

    h2{

        font-size:1.9rem;

    }

    p{

        font-size:.97rem;

    }

    .titulo-seccion{

        margin-bottom:45px;

    }

}

@media(max-width:576px){

    body{

        font-size:15px;

    }

    section{

        padding:60px 0;

    }

    .contenedor{

        width:92%;

    }

    .hero-etiqueta,
    .titulo-pequeno,
    .titulo-seccion span:first-child{

        font-size:.8rem;

    }

}

/*=========================================================
IMPEDIR DESBORDES
=========================================================*/

img,
iframe,
video{

    max-width:100%;

}

textarea{

    resize:vertical;

}

/*=========================================================
FIN DEL CSS
=========================================================*/