.nosotros-banner{
    position:relative;

    width:100%;
    min-height:650px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:165px 0 80px;

    overflow:hidden;

    color:#FFFFFF;

    background:
        radial-gradient(
            circle at 50% 42%,
            rgba(107,88,221,.30) 0%,
            rgba(107,88,221,.10) 30%,
            transparent 58%
        ),
        linear-gradient(
            120deg,
            #21195F 0%,
            #312782 50%,
            #5044B2 100%
        );
}

.nosotros-banner-content{
    position:relative;

    z-index:5;

    width:100%;
    max-width:1050px;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    text-align:center;
}

.nosotros-banner-tag{
    display:flex;

    align-items:center;
    justify-content:center;

    gap:14px;

    margin-bottom:27px;

    color:rgba(255,255,255,.72);

    font-size:.72rem;
    font-weight:700;

    letter-spacing:2.3px;

    text-transform:uppercase;
}


.nosotros-banner-tag span{
    display:block;

    width:35px;
    height:1px;

    background:rgba(255,255,255,.65);
}

.nosotros-banner h1{
    max-width:900px;

    margin:0 auto 24px;

    color:#FFFFFF;

    font-size:4.6rem;
    font-weight:400;

    line-height:1.04;

    letter-spacing:-3px;
}


.nosotros-banner h1 strong{
    display:block;

    color:#FFFFFF;

    font-weight:800;
}

.nosotros-banner-description{
    width:100%;
    max-width:680px;

    margin:0 auto;

    color:rgba(255,255,255,.72);

    font-size:1rem;
    line-height:1.75;
}

.nosotros-banner-features{
    width:100%;
    max-width:850px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    margin-top:52px;
}

.banner-feature{
    position:relative;

    min-height:72px;

    display:flex;
    align-items:center;

    gap:15px;

    padding:7px 28px;

    text-align:left;

    cursor:default;

    transition:
        transform .35s ease;
}


.banner-feature:first-child{
    padding-left:15px;
}


.banner-feature:last-child{
    padding-right:15px;
}

.banner-feature:not(:last-child)::after{
    content:"";

    position:absolute;

    right:0;
    top:50%;

    width:1px;
    height:48px;

    transform:translateY(-50%);

    background:rgba(255,255,255,.15);
}

.banner-feature-icon{
    width:54px;
    height:54px;

    flex-shrink:0;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:15px;

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.10);

    color:#FFFFFF;

    font-size:1.15rem;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08);

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease,
        box-shadow .35s ease;
}

.banner-feature-text{
    display:flex;

    flex-direction:column;

    gap:4px;
}


.banner-feature-text strong{
    color:#FFFFFF;

    font-size:.9rem;
    font-weight:700;
}


.banner-feature-text span{
    color:rgba(255,255,255,.60);

    font-size:.77rem;

    white-space:nowrap;

    transition:color .35s ease;
}

.banner-feature:hover{
    transform:translateY(-4px);
}


.banner-feature:hover .banner-feature-icon{
    transform:translateY(-2px);

    background:#FFFFFF;

    color:#312782;

    box-shadow:
        0 10px 25px rgba(20,14,70,.15);
}


.banner-feature:hover .banner-feature-text span{
    color:rgba(255,255,255,.90);
}

.nosotros-banner-bg{
    position:absolute;

    inset:0;

    z-index:1;

    overflow:hidden;

    pointer-events:none;
}

.banner-shape{
    position:absolute;

    display:block;

    border-radius:50%;
}

.shape-left{
    width:520px;
    height:520px;

    left:-360px;
    bottom:-210px;

    background:
        rgba(255,255,255,.045);

    transform:rotate(20deg);
}

.shape-right{
    width:650px;
    height:650px;

    right:-430px;
    top:-350px;

    background:
        rgba(255,255,255,.035);
}

.banner-arc{
    position:absolute;

    display:block;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.075);
}

.arc-left{
    width:650px;
    height:650px;

    left:-470px;
    bottom:-350px;

    box-shadow:
        0 0 0 65px rgba(255,255,255,.014);
}

.arc-right{
    width:780px;
    height:780px;

    right:-570px;
    top:-490px;

    box-shadow:
        0 0 0 80px rgba(255,255,255,.012);
}
.nosotros-banner-content::before{
    content:"";

    position:absolute;

    z-index:-1;

    width:800px;
    height:350px;

    left:50%;
    top:48%;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:
        radial-gradient(
            ellipse,
            rgba(119,101,230,.18),
            transparent 68%
        );

    filter:blur(15px);

    pointer-events:none;
}

.historia{
    position:relative;

    padding:125px 0;

    overflow:hidden;

    background:#FFFFFF;
}

.historia-grid{
    display:grid;

    grid-template-columns:
        minmax(0,.88fr)
        minmax(0,1.12fr);

    align-items:center;

    gap:95px;
}

.historia-info{
    position:relative;

    max-width:580px;
}

.historia-info .section-tag{
    display:flex;
    align-items:center;

    gap:12px;

    margin-bottom:22px;

    color:#312782;

    font-size:.74rem;
    font-weight:700;

    letter-spacing:1.8px;

    text-transform:uppercase;
}

.historia-info .section-tag::before{
    content:"";

    width:30px;
    height:2px;

    flex-shrink:0;

    border-radius:20px;

    background:#312782;
}

.historia-info h2{
    max-width:550px;

    margin:0 0 28px;

    color:#222126;

    font-size:3rem;
    line-height:1.15;

    letter-spacing:-1.2px;
}

.historia-info p{
    max-width:570px;

    margin:0 0 18px;

    color:#706E76;

    font-size:.96rem;
    line-height:1.9;
}

.historia-info::after{
    content:"";

    display:block;

    width:55px;
    height:3px;

    margin-top:30px;

    border-radius:20px;

    background:#312782;
}

.historia-imagen{
    position:relative;

    width:100%;

    display:flex;
    justify-content:flex-end;
}

.historia-imagen::before{
    content:"";

    position:absolute;

    width:88%;
    height:88%;

    right:-16px;
    bottom:-16px;

    border-radius:24px;

    border:
        1px solid rgba(49,39,130,.13);

    z-index:0;

    transition:
        right .45s ease,
        bottom .45s ease;
}


.img-historia{
    position:relative;

    z-index:2;

    display:block;

    width:100%;
    max-width:620px;

    aspect-ratio:16 / 11;

    object-fit:cover;

    border-radius:24px;

    box-shadow:
        0 24px 60px rgba(32,27,71,.13);

    transition:
        transform .45s ease,
        box-shadow .45s ease;
}
.historia-imagen:hover .img-historia{
    transform:translate(-4px,-4px);

    box-shadow:
        0 30px 70px rgba(32,27,71,.17);
}


.historia-imagen:hover::before{
    right:-21px;
    bottom:-21px;
}
.historia::before{
    content:"";

    position:absolute;

    width:420px;
    height:420px;

    left:-300px;
    top:50%;

    transform:translateY(-50%);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(49,39,130,.045),
            transparent 68%
        );

    pointer-events:none;
}

.mision-vision{
    position:relative;
    padding:110px 0;
    background:#F7F8FC;
    overflow:hidden;
}


.mision-vision-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);

    gap:28px;

    max-width:1180px;
    margin:auto;
}

.info-card{
    position:relative;

    min-height:350px;

    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;

    padding:50px;

    overflow:hidden;

    background:#FFFFFF;

    border:1px solid rgba(49,39,130,.08);
    border-radius:24px;

    box-shadow:
        0 16px 45px rgba(32,27,71,.055);

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}

.info-card::before,
.info-card::after{
    display:none !important;
}

.card-icon{
    width:62px;
    height:62px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:27px;

    border-radius:18px;

    background:#EEEAFE;

    color:#312782;

    font-size:1.5rem;

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease;
}

.info-card:hover{
    transform:translateY(-7px);

    border-color:rgba(49,39,130,.15);

    box-shadow:
        0 25px 58px rgba(49,39,130,.10);
}


.info-card:hover .card-icon{
    transform:translateY(-3px);

    background:#312782;
    color:#FFFFFF;
}


.info-card:hover h3::after{
    width:58px;
}
.info-card{
    isolation:isolate;
}


.info-card > *{
    position:relative;
    z-index:2;
}


.info-card:nth-child(1){
    background:
        linear-gradient(
            135deg,
            rgba(49,39,130,.025),
            #FFFFFF 42%
        );
}


.info-card:nth-child(2){
    background:
        linear-gradient(
            225deg,
            rgba(49,39,130,.025),
            #FFFFFF 42%
        );
}

.info-card h3{
    position:relative;

    margin:0 0 20px;

    color:#222126;

    font-size:1.7rem;
    font-weight:700;
}


.info-card h3::after{
    content:"";

    display:block;

    width:38px;
    height:3px;

    margin-top:13px;

    border-radius:20px;

    background:#312782;

    transition:width .4s ease;
}

.info-card p{
    max-width:460px;

    margin:0;

    color:#706E76;

    font-size:.95rem;

    line-height:1.9;
}

.info-card:hover{
    background:
        linear-gradient(
            145deg,
            rgba(49,39,130,.018),
            rgba(49,39,130,.045)
        );
}


.info-card:hover .card-icon{
    transform:translateY(-4px);

    background:#312782;

    color:#FFFFFF;
}


.info-card:hover h3::after{
    width:60px;
}


.info-card:hover::after{
    color:rgba(49,39,130,.085);

    transform:translateY(-3px);
}
.mision-vision-grid::after{
    content:"";

    position:absolute;

    width:9px;
    height:9px;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:#312782;

    box-shadow:
        0 0 0 7px #F1EFFF;

    z-index:3;
}

.proceso{
    position:relative;

    padding:120px 0;

    overflow:hidden;

    background:#FFFFFF;
}


.proceso .contenedor{
    width:90%;
    max-width:1400px;

    margin:auto;
}

.titulo-seccion{
    max-width:760px;

    margin:0 auto 58px;

    text-align:center;
}


.titulo-seccion span{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    margin-bottom:18px;

    color:#312782;

    font-size:.74rem;
    font-weight:700;

    letter-spacing:1.8px;

    text-transform:uppercase;
}


.titulo-seccion span::before,
.titulo-seccion span::after{
    content:"";

    width:28px;
    height:1px;

    margin:0 11px;

    background:rgba(49,39,130,.40);
}


.titulo-seccion h2{
    max-width:700px;

    margin:0 auto 18px;

    color:#222126;

    font-size:2.8rem;
    line-height:1.18;

    letter-spacing:-1px;
}


.titulo-seccion p{
    max-width:650px;

    margin:auto;

    color:#706E76;

    font-size:.95rem;
    line-height:1.8;
}

.slider-proceso{
    position:relative;

    width:100%;

    padding:25px 0 35px;

    overflow:hidden;
}


.slide-track{
    display:flex;

    width:max-content;

    gap:24px;

    animation:
        scrollProceso 35s linear infinite;
}


.slider-proceso:hover .slide-track{
    animation-play-state:paused;
}


@keyframes scrollProceso{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}

.card-proceso{
    position:relative;

    width:320px;
    height:410px;

    flex-shrink:0;

    overflow:hidden;

    border-radius:22px;

    background:#312782;

    box-shadow:
        0 16px 38px rgba(32,27,71,.12);

    cursor:pointer;

    transition:
        transform .4s ease,
        box-shadow .4s ease;
}


.card-proceso:hover{
    transform:translateY(-7px);

    box-shadow:
        0 25px 55px rgba(49,39,130,.18);
}

.card-proceso img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .65s ease,
        filter .65s ease;
}


.card-proceso:hover img{
    transform:scale(1.055);

    filter:brightness(.72);
}

.numero-proceso{
    position:absolute;

    top:20px;
    left:20px;

    z-index:4;

    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:13px;

    background:rgba(255,255,255,.92);

    color:#312782;

    font-size:.82rem;
    font-weight:800;

    box-shadow:
        0 8px 20px rgba(20,15,65,.13);

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease;
}


.card-proceso:hover .numero-proceso{
    transform:translateY(-3px);

    background:#312782;

    color:#FFFFFF;
}

.overlay-proceso{
    position:absolute;

    left:0;
    right:0;
    bottom:0;

    z-index:3;

    min-height:110px;

    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;

    padding:26px;

    background:
        linear-gradient(
            to top,
            rgba(26,20,82,.96) 0%,
            rgba(36,29,102,.78) 55%,
            transparent 100%
        );

    transition:
        min-height .45s ease,
        background .45s ease;
}


.overlay-proceso h3{
    margin:0;

    color:#FFFFFF;

    font-size:1.3rem;
    font-weight:700;

    transition:
        transform .4s ease;
}


.overlay-proceso h3::after{
    content:"";

    display:block;

    width:32px;
    height:3px;

    margin-top:10px;

    border-radius:20px;

    background:rgba(255,255,255,.72);

    transition:width .4s ease;
}


.overlay-proceso p{
    max-height:0;

    margin:0;

    overflow:hidden;

    color:rgba(255,255,255,.80);

    font-size:.85rem;
    line-height:1.65;

    opacity:0;

    transform:translateY(10px);

    transition:
        max-height .45s ease,
        margin .45s ease,
        opacity .4s ease,
        transform .4s ease;
}
.card-proceso:hover .overlay-proceso{
    min-height:225px;

    background:
        linear-gradient(
            to top,
            rgba(29,22,88,.99) 0%,
            rgba(49,39,130,.90) 72%,
            rgba(49,39,130,.40) 100%
        );
}


.card-proceso:hover .overlay-proceso p{
    max-height:120px;

    margin-top:16px;

    opacity:1;

    transform:translateY(0);
}


.card-proceso:hover .overlay-proceso h3::after{
    width:52px;
}
.fade-slider::before,
.fade-slider::after{
    content:"";

    position:absolute;

    top:0;

    width:70px;
    height:100%;

    z-index:8;

    pointer-events:none;
}


.fade-slider::before{
    left:0;

    background:
        linear-gradient(
            to right,
            #FFFFFF 0%,
            rgba(255,255,255,.75) 30%,
            transparent 100%
        );
}


.fade-slider::after{
    right:0;

    background:
        linear-gradient(
            to left,
            #FFFFFF 0%,
            rgba(255,255,255,.75) 30%,
            transparent 100%
        );
}

.video-corformas{
    position:relative;

    padding:120px 0;

    overflow:hidden;

    background:#F7F8FC;
}


.video-corformas .contenedor{
    width:90%;
    max-width:1350px;

    margin:auto;
}

.contenido-video{
    display:grid;

    grid-template-columns:
        minmax(0,.82fr)
        minmax(0,1.18fr);

    align-items:center;

    gap:85px;
}

.texto-video{
    position:relative;

    max-width:520px;
}


.texto-video span{
    display:flex;
    align-items:center;

    gap:12px;

    width:max-content;

    margin-bottom:22px;

    color:#312782;

    font-size:.74rem;
    font-weight:700;

    letter-spacing:1.8px;

    text-transform:uppercase;
}

.texto-video span::before{
    content:"";

    width:30px;
    height:2px;

    border-radius:20px;

    background:#312782;
}


.texto-video h2{
    max-width:520px;

    margin:0 0 25px;

    color:#222126;

    font-size:2.9rem;
    line-height:1.17;

    letter-spacing:-1px;
}


.texto-video p{
    max-width:510px;

    margin:0 0 32px;

    color:#706E76;

    font-size:.96rem;
    line-height:1.9;
}

.btn-video{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:10px;

    padding:14px 27px;

    border-radius:13px;

    background:#312782;

    color:#FFFFFF;

    font-size:.9rem;
    font-weight:700;

    text-decoration:none;

    box-shadow:
        0 11px 25px rgba(49,39,130,.18);

    transition:
        transform .35s ease,
        background .35s ease,
        box-shadow .35s ease;
}


.btn-video:hover{
    transform:translateY(-3px);

    background:#241D66;

    box-shadow:
        0 17px 34px rgba(49,39,130,.25);
}

.iframe-video{
    position:relative;

    width:100%;

    padding:9px;

    border-radius:25px;

    background:#FFFFFF;

    border:
        1px solid rgba(49,39,130,.08);

    box-shadow:
        0 24px 60px rgba(32,27,71,.13);

    transition:
        transform .45s ease,
        box-shadow .45s ease;
}


.iframe-video:hover{
    transform:translateY(-5px);

    box-shadow:
        0 31px 70px rgba(32,27,71,.17);
}


.iframe-video video{
    display:block;

    width:100%;

    aspect-ratio:16 / 9;

    object-fit:cover;

    border-radius:18px;

    background:#111;
}
.iframe-video::before{
    content:"";

    position:absolute;

    width:70%;
    height:70%;

    right:-24px;
    bottom:-24px;

    z-index:-1;

    border-radius:24px;

    border:
        1px solid rgba(49,39,130,.11);

    transition:
        right .45s ease,
        bottom .45s ease;
}


.iframe-video:hover::before{
    right:-29px;
    bottom:-29px;
}
.video-corformas::before{
    content:"";

    position:absolute;

    width:500px;
    height:500px;

    right:-350px;
    top:50%;

    transform:translateY(-50%);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(49,39,130,.045),
            transparent 68%
        );

    pointer-events:none;
}

.valores{
    position:relative;

    padding:120px 0;

    overflow:hidden;

    background:#FFFFFF;
}

.valores-grid{
    position:relative;

    display:grid;
    grid-template-columns:repeat(4,1fr);

    max-width:1250px;

    margin:0 auto;

    border-top:
        1px solid rgba(49,39,130,.10);

    border-bottom:
        1px solid rgba(49,39,130,.10);
}

.valor{
    position:relative;

    min-height:310px;

    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;

    padding:42px 36px;

    background:transparent;

    border:0;
    border-radius:0;

    box-shadow:none;

    text-align:left;

    overflow:hidden;

    transition:
        background .4s ease,
        transform .4s ease;
}

.valor:not(:last-child){
    border-right:
        1px solid rgba(49,39,130,.10);
}

.valor i{
    width:58px;
    height:58px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0 0 28px;

    border-radius:16px;

    background:#EEEAFE;

    color:#312782;

    font-size:1.4rem;

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease,
        box-shadow .4s ease;
}

.valor h3{
    margin:0 0 17px;

    color:#222126;

    font-size:1.3rem;
    font-weight:700;
}


.valor h3::after{
    content:"";

    display:block;

    width:34px;
    height:3px;

    margin-top:12px;

    border-radius:20px;

    background:#312782;

    transition:width .4s ease;
}

.valor p{
    max-width:240px;

    margin:0;

    color:#706E76;

    font-size:.9rem;
    line-height:1.8;
}

.valor:hover{
    transform:translateY(-5px);

    background:
        linear-gradient(
            180deg,
            rgba(49,39,130,.018),
            rgba(49,39,130,.055)
        );
}


.valor:hover i{
    transform:translateY(-4px);

    background:#312782;

    color:#FFFFFF;

    box-shadow:
        0 12px 26px rgba(49,39,130,.18);
}


.valor:hover h3::after{
    width:55px;
}
.valores::before{
    content:"";

    position:absolute;

    width:500px;
    height:500px;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(49,39,130,.035),
            transparent 68%
        );

    pointer-events:none;
}

.elegirnos{
    position:relative;

    padding:105px 0 90px;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #F7F8FC 0%,
            #FFFFFF 100%
        );
}

.elegirnos-grid{
    position:relative;

    display:grid;

    grid-template-columns:
        minmax(0,1.02fr)
        minmax(430px,.98fr);

    align-items:center;

    gap:55px;

    min-height:590px;
}

.elegirnos-info{
    position:relative;

    z-index:3;

    max-width:650px;

    padding:0;
}

.elegirnos-info .section-tag{
    display:flex;
    align-items:center;

    gap:12px;

    width:max-content;

    margin:0 0 22px;

    color:#312782;

    font-size:.74rem;
    font-weight:700;

    letter-spacing:1.8px;

    text-transform:uppercase;
}


.elegirnos-info .section-tag::before{
    content:"";

    width:30px;
    height:2px;

    flex-shrink:0;

    border-radius:20px;

    background:#312782;
}

.elegirnos-info h2{
    max-width:620px;

    margin:0 0 25px;

    color:#222126;

    font-size:2.9rem;
    font-weight:700;

    line-height:1.15;

    letter-spacing:-1.2px;
}

.elegirnos-info > p{
    max-width:590px;

    margin:0 0 35px;

    color:#706E76;

    font-size:.96rem;

    line-height:1.9;
}

.lista-beneficios{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:12px;

    width:100%;
    max-width:620px;

    margin:0;
    padding:0;
}


.lista-beneficios li{
    display:flex;

    align-items:center;

    gap:12px;

    min-height:58px;

    padding:12px 15px;

    list-style:none;

    border:
        1px solid rgba(49,39,130,.08);

    border-radius:13px;

    background:
        rgba(255,255,255,.82);

    color:#35333B;

    font-size:.88rem;
    font-weight:600;

    box-shadow:
        0 5px 18px rgba(32,27,71,.025);

    transition:
        transform .3s ease,
        background .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.lista-beneficios i{
    width:30px;
    height:30px;

    flex-shrink:0;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:9px;

    background:#EEEAFE;

    color:#312782;

    font-size:.82rem;

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease;
}

.lista-beneficios li:hover{
    transform:translateY(-3px);

    background:#FFFFFF;

    border-color:
        rgba(49,39,130,.16);

    box-shadow:
        0 12px 26px rgba(32,27,71,.065);
}


.lista-beneficios li:hover i{
    transform:scale(1.06);

    background:#312782;

    color:#FFFFFF;
}

.elegirnos-img{
    position:relative;

    align-self:center;

    width:100%;
    height:590px;

    display:flex;

    align-items:center;
    justify-content:center;

    overflow:visible;

    transform:translateY(-25px);
}

.elegirnos-img::before,
.elegirnos-img::after{
    display:none !important;
}

.img-asesora{
    position:relative;

    z-index:2;

    display:block;

    width:auto;
    height:auto;

    max-width:640px;
    max-height:555px;

    margin:0 auto;

    object-fit:contain;

    object-position:center;

    filter:
        drop-shadow(
            0 18px 24px rgba(32,27,71,.10)
        );

    transition:
        transform .4s ease,
        filter .4s ease;
}

.elegirnos-img:hover .img-asesora{
    transform:translateY(-5px);

    filter:
        drop-shadow(
            0 24px 29px rgba(32,27,71,.14)
        );
}

.elegirnos::before{
    content:"";

    position:absolute;

    width:480px;
    height:480px;

    right:-330px;
    top:50%;

    transform:translateY(-50%);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(49,39,130,.035),
            transparent 68%
        );

    pointer-events:none;
}

.cta-home{
    position:relative;

    padding:105px 0;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(116,99,220,.22),
            transparent 45%
        ),
        linear-gradient(
            120deg,
            #21195F 0%,
            #312782 52%,
            #5044B2 100%
        );

    color:#FFFFFF;
}

.cta-content{
    position:relative;

    z-index:3;

    width:90%;
    max-width:780px;

    margin:0 auto;

    display:flex;
    flex-direction:column;

    align-items:center;

    text-align:center;
}

.cta-content > span{
    display:flex;

    align-items:center;
    justify-content:center;

    gap:11px;

    margin-bottom:21px;

    color:rgba(255,255,255,.72);

    font-size:.7rem;
    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;
}


.cta-content > span::before,
.cta-content > span::after{
    content:"";

    width:26px;
    height:1px;

    background:
        rgba(255,255,255,.50);
}

.cta-content h2{
    max-width:700px;

    margin:0 auto 20px;

    color:#FFFFFF;

    font-size:2.9rem;
    line-height:1.15;

    letter-spacing:-1px;
}

.cta-content p{
    max-width:620px;

    margin:0 auto 32px;

    color:rgba(255,255,255,.72);

    font-size:.96rem;
    line-height:1.8;
}

.cta-home .btn-primary{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-height:50px;

    padding:14px 28px;

    border:1px solid rgba(255,255,255,.16);

    border-radius:13px;

    background:#FFFFFF;

    color:#312782;

    font-size:.88rem;
    font-weight:700;

    box-shadow:
        0 13px 30px rgba(19,13,65,.18);

    transition:
        transform .35s ease,
        background .35s ease,
        box-shadow .35s ease;
}


.cta-home .btn-primary:hover{
    transform:translateY(-3px);

    background:#F4F2FF;

    box-shadow:
        0 19px 38px rgba(19,13,65,.25);
}

.cta-home::before{
    content:"";

    position:absolute;

    width:600px;
    height:600px;

    left:-430px;
    bottom:-460px;

    border-radius:50%;

    border:
        1px solid rgba(255,255,255,.07);

    box-shadow:
        0 0 0 65px rgba(255,255,255,.014);

    pointer-events:none;
}


.cta-home::after{
    content:"";

    position:absolute;

    width:650px;
    height:650px;

    right:-480px;
    top:-500px;

    border-radius:50%;

    border:
        1px solid rgba(255,255,255,.065);

    box-shadow:
        0 0 0 75px rgba(255,255,255,.012);

    pointer-events:none;
}

@media(max-width:992px){

    .nosotros-banner{
        min-height:620px;

        padding:150px 0 75px;
    }


    .nosotros-banner-content{
        max-width:850px;
    }


    .nosotros-banner h1{
        max-width:760px;

        font-size:3.8rem;

        letter-spacing:-2px;
    }


    .nosotros-banner-description{
        max-width:620px;
    }


    .nosotros-banner-features{
        max-width:760px;

        margin-top:45px;
    }


    .banner-feature{
        padding:7px 18px;
    }


    .banner-feature-icon{
        width:49px;
        height:49px;
    }

}

@media(max-width:576px){

    .nosotros-banner{
        min-height:auto;

        padding:125px 0 55px;
    }


    .nosotros-banner-content{
        width:90%;
    }


    .nosotros-banner-tag{
        gap:9px;

        margin-bottom:20px;

        font-size:.62rem;

        letter-spacing:1.25px;
    }

    .nosotros-banner-tag span{
        width:20px;
    }


    .nosotros-banner h1{
        width:100%;

        margin-bottom:20px;

        font-size:2.65rem;

        line-height:1.07;

        letter-spacing:-1.3px;
    }


    .nosotros-banner-description{
        width:95%;

        font-size:.88rem;

        line-height:1.7;
    }

    .nosotros-banner-features{
        width:100%;

        grid-template-columns:1fr;

        margin-top:38px;
    }


    .banner-feature,
    .banner-feature:first-child,
    .banner-feature:last-child{
        min-height:62px;

        padding:11px 6px;
    }


    .banner-feature:not(:last-child){
        border-bottom:
            1px solid rgba(255,255,255,.10);
    }


    .banner-feature:not(:last-child)::after{
        display:none;
    }


    .banner-feature-icon{
        width:44px;
        height:44px;

        border-radius:12px;

        font-size:1rem;
    }


    .banner-feature-text strong{
        font-size:.84rem;
    }


    .banner-feature-text span{
        font-size:.72rem;

        white-space:normal;
    }

    .banner-feature:hover{
        transform:none;
    }


    .shape-left{
        width:300px;
        height:300px;

        left:-220px;
        bottom:-80px;
    }


    .shape-right{
        width:330px;
        height:330px;

        right:-230px;
        top:-160px;
    }


    .arc-left{
        display:none;
    }


    .arc-right{
        width:420px;
        height:420px;

        right:-320px;
        top:-230px;
    }

}
@media(max-width:430px){

    .nosotros-banner{
        padding-top:115px;
    }


    .nosotros-banner h1{
        font-size:2.3rem;
    }


    .nosotros-banner-description{
        font-size:.85rem;
    }

}

@media(max-width:992px){

    .historia{
        padding:95px 0;
    }


    .historia-grid{
        grid-template-columns:1fr;

        gap:55px;

        max-width:760px;
    }


    .historia-info{
        max-width:680px;

        margin:auto;

        text-align:center;
    }


    .historia-info .section-tag{
        justify-content:center;
    }


    .historia-info h2,
    .historia-info p{
        margin-left:auto;
        margin-right:auto;
    }


    .historia-info::after{
        margin-left:auto;
        margin-right:auto;
    }


    .historia-imagen{
        max-width:650px;

        margin:auto;

        justify-content:center;
    }


    .img-historia{
        max-width:620px;
    }

}

@media(max-width:576px){

    .historia{
        padding:70px 0;
    }


    .historia-grid{
        width:90%;

        gap:40px;
    }


    .historia-info .section-tag{
        margin-bottom:18px;

        font-size:.65rem;

        letter-spacing:1.3px;
    }


    .historia-info .section-tag::before{
        width:22px;
    }


    .historia-info h2{
        margin-bottom:22px;

        font-size:2rem;

        line-height:1.2;

        letter-spacing:-.5px;
    }


    .historia-info p{
        font-size:.9rem;

        line-height:1.8;
    }


    .historia-info::after{
        width:45px;

        margin-top:25px;
    }


    .historia-imagen{
        width:96%;
    }


    .img-historia{
        width:100%;

        aspect-ratio:4 / 3;

        border-radius:18px;
    }


    .historia-imagen::before{
        width:92%;
        height:92%;

        right:-10px;
        bottom:-10px;

        border-radius:18px;
    }

    .historia-imagen:hover .img-historia{
        transform:none;
    }


    .historia-imagen:hover::before{
        right:-10px;
        bottom:-10px;
    }

}
@media(max-width:430px){

    .historia{
        padding:60px 0;
    }


    .historia-info h2{
        font-size:1.8rem;
    }


    .historia-grid{
        gap:34px;
    }

}
@media(max-width:992px){

    .mision-vision{
        padding:90px 0;
    }

    .mision-vision-grid{
        max-width:720px;

        grid-template-columns:1fr;

        gap:22px;
    }

    .info-card{
        min-height:auto;

        padding:45px;
    }

}
@media(max-width:576px){

    .mision-vision{
        padding:70px 0;
    }

    .mision-vision-grid{
        width:90%;

        gap:16px;
    }

    .info-card{
        padding:34px 27px;

        border-radius:19px;
    }

    .card-icon{
        width:54px;
        height:54px;

        margin-bottom:22px;

        border-radius:15px;

        font-size:1.3rem;
    }

    .info-card h3{
        font-size:1.4rem;
    }

    .info-card p{
        font-size:.89rem;
        line-height:1.8;
    }

    .info-card:hover{
        transform:none;
    }

}
@media(max-width:992px){

    .proceso{
        padding:95px 0;
    }


    .titulo-seccion{
        margin-bottom:45px;
    }


    .titulo-seccion h2{
        font-size:2.35rem;
    }


    .card-proceso{
        width:290px;
        height:380px;
    }

}
@media(max-width:576px){

    .proceso{
        padding:70px 0;
    }


    .proceso .contenedor{
        width:92%;
    }


    .titulo-seccion{
        margin-bottom:35px;
    }


    .titulo-seccion span{
        font-size:.64rem;

        letter-spacing:1.2px;
    }


    .titulo-seccion h2{
        font-size:1.95rem;

        line-height:1.2;
    }


    .titulo-seccion p{
        width:95%;

        font-size:.88rem;
    }


    .slider-proceso{
        padding:15px 0 25px;
    }


    .slide-track{
        gap:16px;
    }


    .card-proceso{
        width:255px;
        height:340px;

        border-radius:18px;
    }


    .numero-proceso{
        width:41px;
        height:41px;

        top:15px;
        left:15px;

        border-radius:11px;
    }


    .overlay-proceso{
        min-height:95px;

        padding:20px;
    }


    .overlay-proceso h3{
        font-size:1.15rem;
    }

    .card-proceso.active .overlay-proceso{
        min-height:215px;

        background:
            linear-gradient(
                to top,
                rgba(29,22,88,.99),
                rgba(49,39,130,.88),
                rgba(49,39,130,.35)
            );
    }


    .card-proceso.active .overlay-proceso p{
        max-height:120px;

        margin-top:14px;

        opacity:1;

        transform:none;
    }

    .fade-slider::before,
    .fade-slider::after{
        width:30px;
    }

}
@media(max-width:430px){

    .proceso{
        padding:60px 0;
    }


    .card-proceso{
        width:235px;
        height:320px;
    }


    .titulo-seccion h2{
        font-size:1.8rem;
    }

}

@media(max-width:992px){

    .video-corformas{
        padding:95px 0;
    }


    .contenido-video{
        grid-template-columns:1fr;

        gap:55px;

        max-width:760px;

        margin:auto;
    }


    .texto-video{
        max-width:650px;

        margin:auto;

        text-align:center;
    }


    .texto-video span{
        margin-left:auto;
        margin-right:auto;
    }


    .texto-video h2,
    .texto-video p{
        margin-left:auto;
        margin-right:auto;
    }


    .iframe-video{
        max-width:700px;

        margin:auto;
    }

}

@media(max-width:576px){

    .video-corformas{
        padding:70px 0;
    }


    .video-corformas .contenedor{
        width:90%;
    }


    .contenido-video{
        gap:40px;
    }


    .texto-video span{
        margin-bottom:18px;

        font-size:.64rem;

        letter-spacing:1.25px;
    }


    .texto-video span::before{
        width:22px;
    }


    .texto-video h2{
        margin-bottom:21px;

        font-size:2rem;

        line-height:1.2;
    }


    .texto-video p{
        margin-bottom:27px;

        font-size:.9rem;

        line-height:1.8;
    }


    .btn-video{
        padding:13px 23px;

        font-size:.85rem;
    }


    .iframe-video{
        padding:6px;

        border-radius:19px;
    }


    .iframe-video video{
        border-radius:14px;
    }


    .iframe-video::before{
        right:-10px;
        bottom:-10px;

        border-radius:18px;
    }


    .iframe-video:hover{
        transform:none;
    }


    .iframe-video:hover::before{
        right:-10px;
        bottom:-10px;
    }

}
@media(max-width:430px){

    .video-corformas{
        padding:60px 0;
    }


    .texto-video h2{
        font-size:1.8rem;
    }

}

@media(max-width:992px){

    .valores{
        padding:95px 0;
    }


    .valores-grid{
        grid-template-columns:repeat(2,1fr);

        max-width:760px;
    }


    .valor{
        min-height:280px;
    }

    .valor:nth-child(1),
    .valor:nth-child(2){
        border-bottom:
            1px solid rgba(49,39,130,.10);
    }

    .valor:nth-child(2){
        border-right:0;
    }

}

@media(max-width:576px){

    .valores{
        padding:70px 0;
    }


    .valores-grid{
        width:90%;

        grid-template-columns:1fr;

        border-top:
            1px solid rgba(49,39,130,.10);
    }


    .valor{
        min-height:auto;

        padding:30px 10px;

        border-right:0 !important;

        border-bottom:
            1px solid rgba(49,39,130,.10);
    }


    .valor:last-child{
        border-bottom:0;
    }


    .valor i{
        width:52px;
        height:52px;

        margin-bottom:22px;

        border-radius:14px;

        font-size:1.25rem;
    }


    .valor h3{
        font-size:1.2rem;
    }


    .valor p{
        max-width:100%;

        font-size:.88rem;
        line-height:1.75;
    }


    .valor:hover{
        transform:none;
    }

}
@media(max-width:430px){

    .valores{
        padding:60px 0;
    }


    .valor{
        padding:27px 5px;
    }

}

@media(max-width:992px){

    .elegirnos{
        padding:90px 0 70px;
    }


    .elegirnos-grid{
        grid-template-columns:1fr;

        min-height:auto;

        gap:45px;
    }


    .elegirnos-info{
        max-width:700px;

        margin:0 auto;

        text-align:center;
    }


    .elegirnos-info .section-tag{
        justify-content:center;

        margin-left:auto;
        margin-right:auto;
    }


    .elegirnos-info h2,
    .elegirnos-info > p{
        margin-left:auto;
        margin-right:auto;
    }


    .lista-beneficios{
        max-width:650px;

        margin-left:auto;
        margin-right:auto;

        text-align:left;
    }

    .elegirnos-img{
        width:100%;
        height:auto;

        min-height:480px;

        transform:translateY(-10px);
    }


    .img-asesora{
        width:auto;

        max-width:540px;
        max-height:500px;
    }

}

@media(max-width:576px){

    .elegirnos{
        padding:70px 0 50px;
    }


    .elegirnos-grid{
        width:90%;

        gap:30px;
    }


    .elegirnos-info .section-tag{
        margin-bottom:18px;

        font-size:.64rem;

        letter-spacing:1.25px;
    }


    .elegirnos-info .section-tag::before{
        width:22px;
    }


    .elegirnos-info h2{
        margin-bottom:21px;

        font-size:2rem;

        line-height:1.2;

        letter-spacing:-.5px;
    }


    .elegirnos-info > p{
        margin-bottom:28px;

        font-size:.89rem;

        line-height:1.8;
    }

    .lista-beneficios{
        grid-template-columns:1fr;

        gap:9px;
    }


    .lista-beneficios li{
        min-height:53px;

        padding:10px 13px;

        font-size:.84rem;
    }


    .lista-beneficios i{
        width:28px;
        height:28px;

        border-radius:8px;
    }


    .lista-beneficios li:hover{
        transform:none;
    }

    .elegirnos-img{
        width:100%;

        min-height:0;
        height:auto;

        padding-top:5px;

        transform:translateY(0);
    }


    .img-asesora{
        width:auto;
        height:auto;

        max-width:100%;
        max-height:390px;
    }


    .elegirnos-img:hover .img-asesora{
        transform:none;
    }

}

@media(max-width:430px){

    .elegirnos{
        padding:60px 0 45px;
    }


    .elegirnos-info h2{
        font-size:1.8rem;
    }


    .elegirnos-grid{
        gap:25px;
    }


    .img-asesora{
        max-height:340px;
    }

}

@media(max-width:992px){

    .cta-home{
        padding:90px 0;
    }


    .cta-content h2{
        font-size:2.5rem;
    }

}

@media(max-width:576px){

    .cta-home{
        padding:75px 0;
    }


    .cta-content{
        width:90%;
    }


    .cta-content > span{
        margin-bottom:18px;

        font-size:.62rem;

        letter-spacing:1.25px;
    }


    .cta-content > span::before,
    .cta-content > span::after{
        width:18px;
    }


    .cta-content h2{
        margin-bottom:18px;

        font-size:2rem;

        line-height:1.2;
    }


    .cta-content p{
        margin-bottom:27px;

        font-size:.88rem;

        line-height:1.75;
    }


    .cta-home .btn-primary{
        min-height:47px;

        padding:13px 24px;

        font-size:.84rem;
    }


    .cta-home::before{
        width:330px;
        height:330px;

        left:-260px;
        bottom:-260px;
    }


    .cta-home::after{
        width:350px;
        height:350px;

        right:-280px;
        top:-280px;
    }

}
@media(max-width:430px){

    .cta-home{
        padding:65px 0;
    }


    .cta-content h2{
        font-size:1.8rem;
    }

}

.historia-imagen {
    position: relative;
    isolation: isolate;

    width: 100%;
    min-height: 480px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px 12px 45px;
    overflow: visible;
}

.historia-imagen::before {
    content: "";
    display: block !important;

    position: absolute;
    z-index: 0;

    width: 78%;
    height: 65%;

    top: 18%;
    left: 11%;

    border: none;
    border-radius: 0;

    background: rgba(88, 70, 190, 0.12);
    filter: blur(55px);

    transform: none;
    animation: none;

    pointer-events: none;
}
.historia-imagen::after {
    content: "";
    display: block !important;

    position: absolute;
    z-index: 0;

    width: 60%;
    height: 32px;

    left: 20%;
    bottom: 12px;

    background: rgba(31, 24, 82, 0.25);

    border-radius: 50%;
    filter: blur(22px);

    animation: sombraHistoria 6s ease-in-out infinite;

    pointer-events: none;
}

.historia-imagen .img-historia {
    position: relative;
    z-index: 2;

    display: block;

    width: 100%;
    max-width: 640px;
    height: auto;

    aspect-ratio: 16 / 11;
    object-fit: cover;
    object-position: center;

    border: none;
    border-radius: 20px;
    clip-path: none;

    box-shadow:
        0 18px 35px rgba(31, 24, 82, 0.14),
        0 35px 70px rgba(31, 24, 82, 0.08);

    animation: flotarHistoria 6s ease-in-out infinite;

    transition: none;
}


@keyframes flotarHistoria {
    0%, 100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(0, -10px, 0);
    }
}

@keyframes sombraHistoria {
    0%, 100% {
        transform: scale(1);
        opacity: 0.65;
    }

    50% {
        transform: scale(0.82);
        opacity: 0.35;
    }
}

.historia-imagen:hover .img-historia {
    animation-play-state: running;
    box-shadow:
        0 18px 35px rgba(31, 24, 82, 0.14),
        0 35px 70px rgba(31, 24, 82, 0.08);
}

@media (max-width: 992px) {
    .historia-imagen {
        max-width: 650px;
        min-height: 0;
        margin: 0 auto;
    }
}

@media (max-width: 576px) {
    .historia-imagen {
        width: 96%;
        min-height: 0;
        padding: 20px 5px 42px;
    }

    .historia-imagen .img-historia {
        width: 100%;
        aspect-ratio: 4 / 3;
        border-radius: 16px;
    }

    .historia-imagen::after {
        bottom: 8px;
        height: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .historia-imagen .img-historia,
    .historia-imagen::after {
        animation: none;
    }
}

@media (max-width: 768px) {

    .slider-proceso {
        width: 100%;
        overflow-x: auto !important;
        overflow-y: hidden;
        padding: 20px 16px 30px;

        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }

    .slider-proceso::-webkit-scrollbar {
        display: none;
    }
    .slider-proceso .slide-track {
        display: flex;
        width: max-content;
        gap: 16px;

        animation: none !important;
        transform: none !important;
        transition: none !important;
    }
    .slider-proceso .card-proceso {
        flex: 0 0 auto;
        width: min(78vw, 300px);
        height: 370px;
        border-radius: 20px;

        scroll-snap-align: center;
        scroll-snap-stop: normal;

        transform: none !important;
        rotate: none !important;
        transition: none !important;
    }

    .slider-proceso .card-proceso:hover {
        transform: none !important;
        rotate: none !important;
    }

    .slider-proceso .card-proceso img,
    .slider-proceso .card-proceso:hover img {
        transform: none !important;
        filter: none;
    }
.slider-proceso .overlay-proceso {
    height: auto !important;
    min-height: 90px !important;
    padding: 18px 22px !important;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    overflow: hidden;

    background: linear-gradient(
        to top,
        rgba(27, 20, 83, .95) 0%,
        rgba(49, 39, 130, .65) 55%,
        rgba(49, 39, 130, 0) 100%
    );

    }

.slider-proceso .overlay-proceso h3,
    .slider-proceso .overlay-proceso p {
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
    }

    .slider-proceso .overlay-proceso h3 {
        font-size: 1.3rem;
        margin-bottom: 10px;
    }

    .slider-proceso .overlay-proceso p {
        font-size: .88rem;
        line-height: 1.55;
        text-align: left;
        color: #fff;
    }

    .fade-slider::before,
    .fade-slider::after {
        display: none !important;
    }
    .slider-proceso .overlay-proceso h3 {
    font-size: 1.3rem;
    margin-bottom: 6px;
    color: #fff;
}

.slider-proceso .overlay-proceso h3::after {
    margin-top: 7px;
}


}
/* =========================================
   PROCESOS MOVIL - ABRIR Y CERRAR
   ========================================= */

@media (max-width: 768px) {

    /* ESTADO CERRADO */
    .slider-proceso .card-proceso .overlay-proceso {
        height: 90px !important;
        min-height: 90px !important;
        max-height: 90px !important;

        padding: 16px 22px !important;

        justify-content: flex-end;
        overflow: hidden !important;

        background: linear-gradient(
            to top,
            rgba(27, 20, 83, .95) 0%,
            rgba(49, 39, 130, .55) 60%,
            transparent 100%
        ) !important;

        transition:
            height .35s ease,
            min-height .35s ease,
            max-height .35s ease,
            background .35s ease;
    }

    /* DESCRIPCION OCULTA */
    .slider-proceso .card-proceso .overlay-proceso p {
        display: block !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        overflow: hidden !important;
        transform: none !important;
    }

    /* ESTADO ABIERTO */
    .slider-proceso .card-proceso.activa .overlay-proceso {
        height: 220px !important;
        min-height: 220px !important;
        max-height: 220px !important;

        background: linear-gradient(
            to top,
            rgba(27, 20, 83, .98) 0%,
            rgba(49, 39, 130, .86) 65%,
            transparent 100%
        ) !important;
    }

    /* DESCRIPCION VISIBLE */
    .slider-proceso .card-proceso.activa .overlay-proceso p {
        max-height: 160px !important;
        margin-top: 12px !important;
        opacity: 1 !important;
        line-height: 1.55;
    }

    /* TITULO SIEMPRE VISIBLE */
    .slider-proceso .card-proceso .overlay-proceso h3 {
        opacity: 1 !important;
        transform: none !important;
        margin: 0 !important;
        flex-shrink: 0;
    }

    .slider-proceso .card-proceso {
        transform: none !important;
    }
}
/* =========================================
   RESTAURAR CARRUSEL AUTOMÁTICO EN PC
   SIN MODIFICAR LA VERSIÓN MÓVIL
   ========================================= */

@media (min-width: 769px) {

    .slider-proceso {
        overflow: hidden !important;
        position: relative;
    }

    .slider-proceso .slide-track {
        display: flex !important;
        width: max-content !important;
        gap: 24px;

        animation: scrollProceso 35s linear infinite !important;
        animation-play-state: running;
        transition: none;
    }

    .slider-proceso:hover .slide-track {
        animation-play-state: paused;
    }

    .slider-proceso .card-proceso {
        flex-shrink: 0;
    }
}
