/* =========================================================
   VIREXIS — SINGLE TEAM PROFILE V1
   ========================================================= */

.vx-profile{
    --vx-navy:#071b3a;
    --vx-navy-2:#0a2851;
    --vx-blue:#0874c9;
    --vx-cyan:#35a9e8;
    --vx-ice:#eef8fd;
    --vx-line:rgba(10,43,82,.12);
    --vx-text:#12233c;
    --vx-muted:#617083;

    background:#fff;
    color:var(--vx-text);
}

.vx-profile-shell{
    width:min(1380px,calc(100% - 64px));
    margin-inline:auto;
}


/* HERO */

.vx-profile-hero{
    position:relative;
    overflow:hidden;
    min-height:720px;
    background:
        radial-gradient(circle at 80% 25%,rgba(30,137,206,.18),transparent 35%),
        linear-gradient(118deg,#061831 0%,#08244a 52%,#0a315d 100%);
}

.vx-profile-hero::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.14;
    background-image:
        linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
    background-size:76px 76px;
    mask-image:linear-gradient(to right,#000,transparent 75%);
}

.vx-profile-hero__grid{
    position:relative;
    z-index:2;
    min-height:720px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,560px);
    align-items:end;
    gap:80px;
}

.vx-profile-hero__content{
    padding:130px 0 105px;
    align-self:center;
}

.vx-profile-back{
    display:inline-flex;
    gap:10px;
    align-items:center;
    margin-bottom:64px;
    color:rgba(255,255,255,.68);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:11px;
    font-weight:700;
}

.vx-profile-back:hover{
    color:#fff;
}

.vx-profile-kicker{
    color:#61bff0;
    font-size:12px;
    font-weight:800;
    letter-spacing:.2em;
    text-transform:uppercase;
    margin-bottom:20px;
}

.vx-profile-hero h1{
    color:#fff;
    font-size:clamp(48px,5vw,78px);
    line-height:.98;
    letter-spacing:-.045em;
    margin:0 0 24px;
    max-width:760px;
}

.vx-profile-position{
    color:#fff;
    font-size:20px;
    font-weight:600;
    margin-bottom:12px;
}

.vx-profile-descriptor{
    color:rgba(255,255,255,.66);
    font-size:17px;
    line-height:1.65;
    max-width:650px;
    margin:0;
}

.vx-profile-hero__actions{
    margin-top:38px;
}

.vx-profile-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:24px;
    min-height:54px;
    padding:0 26px;
    border-radius:4px;
    background:#fff;
    color:#09264b;
    font-size:12px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
    text-decoration:none;
    transition:.25s ease;
}

.vx-profile-button:hover{
    transform:translateY(-2px);
}

.vx-profile-button span{
    font-size:18px;
}


/* PHOTO */

.vx-profile-photo{
    position:relative;
    height:650px;
    align-self:end;
    overflow:hidden;
    border-radius:220px 220px 0 0;
    background:
        radial-gradient(circle at 50% 25%,#fff 0,#edf8fe 34%,#cce8f7 72%,#acd7ef 100%);
    box-shadow:0 -20px 80px rgba(16,122,187,.12);
}

.vx-profile-photo__halo{
    position:absolute;
    width:70%;
    aspect-ratio:1;
    left:15%;
    top:8%;
    border-radius:50%;
    background:rgba(255,255,255,.45);
    filter:blur(40px);
}

.vx-profile-photo img{
    position:relative;
    z-index:2;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.vx-profile-photo__signature{
    position:absolute;
    z-index:4;
    left:32px;
    bottom:26px;
    display:flex;
    flex-direction:column;
    color:#fff;
    text-shadow:0 2px 12px rgba(0,0,0,.3);
}

.vx-profile-photo__signature span{
    font-size:13px;
    letter-spacing:.18em;
    font-weight:800;
}

.vx-profile-photo__signature small{
    font-size:10px;
    opacity:.72;
}


/* GENERAL */

.vx-profile-intro,
.vx-profile-experience,
.vx-profile-credentials,
.vx-profile-connections{
    padding:110px 0;
}

.vx-profile-section-label{
    display:flex;
    gap:20px;
    align-items:center;
    color:#62738a;
    font-size:11px;
    font-weight:800;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.vx-profile-section-label span,
.vx-profile-section-head > div span,
.vx-profile-credentials__title > span{
    color:var(--vx-blue);
}

.vx-profile-intro__grid{
    display:grid;
    grid-template-columns:280px minmax(0,850px);
    gap:100px;
}

.vx-profile-intro__text{
    font-size:25px;
    line-height:1.6;
    letter-spacing:-.018em;
    color:#233750;
}

.vx-profile-intro__text p{
    margin:0;
}


/* EXPERIENCE */

.vx-profile-experience{
    background:#f5f9fc;
}

.vx-profile-section-head{
    display:grid;
    grid-template-columns:280px minmax(0,700px);
    gap:100px;
    margin-bottom:65px;
}

.vx-profile-section-head > div{
    color:#68788b;
    font-size:11px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.vx-profile-section-head > div span{
    display:block;
    margin-bottom:12px;
}

.vx-profile-section-head h2{
    margin:0;
    font-size:42px;
    line-height:1.08;
    letter-spacing:-.035em;
    color:#0b2548;
}

.vx-profile-tags{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    padding-left:380px;
}

.vx-profile-tags span{
    padding:13px 18px;
    border:1px solid rgba(7,76,128,.13);
    background:#fff;
    border-radius:100px;
    color:#27425e;
    font-size:13px;
}


/* CREDENTIALS */

.vx-profile-credentials__grid{
    display:grid;
    grid-template-columns:360px minmax(0,780px);
    gap:120px;
}

.vx-profile-credentials__title > span{
    display:block;
    font-size:12px;
    font-weight:800;
    margin-bottom:18px;
}

.vx-profile-credentials__title h2{
    margin:0;
    color:#0a274d;
    font-size:48px;
    line-height:1.03;
    letter-spacing:-.04em;
}

.vx-profile-richtext{
    padding-bottom:45px;
    margin-bottom:45px;
    border-bottom:1px solid var(--vx-line);
}

.vx-profile-richtext:last-child{
    border-bottom:0;
}

.vx-profile-richtext h3{
    color:#0a5c9c;
    font-size:15px;
    margin:0 0 22px;
}

.vx-profile-richtext ul{
    margin:0;
    padding:0;
    list-style:none;
}

.vx-profile-richtext li{
    position:relative;
    padding:15px 0 15px 26px;
    border-bottom:1px solid rgba(13,51,87,.08);
    line-height:1.55;
}

.vx-profile-richtext li::before{
    content:"";
    position:absolute;
    left:0;
    top:24px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#1686c9;
}


/* ROLE */

.vx-profile-role{
    padding:120px 0;
    background:
        radial-gradient(circle at 90% 20%,rgba(22,120,186,.2),transparent 30%),
        linear-gradient(120deg,#06172f,#09264b);
}

.vx-profile-role__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:130px;
}

.vx-profile-section-label--light{
    color:rgba(255,255,255,.55);
}

.vx-profile-role h2{
    margin:38px 0 0;
    color:#fff;
    font-size:52px;
    line-height:1.02;
    letter-spacing:-.04em;
}

.vx-profile-role__text{
    align-self:center;
    color:rgba(255,255,255,.75);
    font-size:18px;
    line-height:1.8;
}


/* CONNECTIONS */

.vx-profile-connections__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    padding-left:380px;
}

.vx-profile-connection{
    padding:38px;
    min-height:220px;
    background:#f5f9fc;
    border:1px solid rgba(7,65,110,.08);
}

.vx-profile-connection small{
    display:block;
    margin-bottom:28px;
    color:#0b70b6;
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
}

.vx-profile-connection div{
    padding:11px 0;
    border-bottom:1px solid rgba(11,53,91,.08);
    font-size:16px;
}


/* FINAL */

.vx-profile-final{
    padding:75px 0;
    background:#eaf6fc;
}

.vx-profile-final__inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:50px;
}

.vx-profile-final span{
    color:#0870b6;
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
}

.vx-profile-final h2{
    margin:12px 0 0;
    color:#09264b;
    font-size:34px;
    letter-spacing:-.03em;
}

.vx-profile-button--light{
    background:#09264b;
    color:#fff;
}


/* RESPONSIVE */

@media(max-width:900px){

    .vx-profile-shell{
        width:min(100% - 36px,1380px);
    }

    .vx-profile-hero__grid{
        grid-template-columns:1fr;
        gap:0;
    }

    .vx-profile-hero__content{
        padding:100px 0 55px;
    }

    .vx-profile-back{
        margin-bottom:45px;
    }

    .vx-profile-photo{
        width:min(100%,560px);
        height:580px;
        justify-self:center;
    }

    .vx-profile-intro__grid,
    .vx-profile-section-head,
    .vx-profile-credentials__grid,
    .vx-profile-role__grid{
        grid-template-columns:1fr;
        gap:45px;
    }

    .vx-profile-tags,
    .vx-profile-connections__grid{
        padding-left:0;
    }

}

@media(max-width:620px){

    .vx-profile-intro,
    .vx-profile-experience,
    .vx-profile-credentials,
    .vx-profile-connections{
        padding:75px 0;
    }

    .vx-profile-hero h1{
        font-size:46px;
    }

    .vx-profile-photo{
        height:500px;
        border-radius:150px 150px 0 0;
    }

    .vx-profile-intro__text{
        font-size:20px;
    }

    .vx-profile-section-head h2,
    .vx-profile-credentials__title h2,
    .vx-profile-role h2{
        font-size:36px;
    }

    .vx-profile-connections__grid{
        grid-template-columns:1fr;
    }

    .vx-profile-final__inner{
        align-items:flex-start;
        flex-direction:column;
    }

}


/* =========================================================
   VIREXIS — TEAM PROFILE V2 PREMIUM REFINEMENT
   ========================================================= */


/* PERFIL PROFESIONAL */

.vx-profile-intro__grid{
    grid-template-columns:220px minmax(0,930px);
    gap:72px;
}

.vx-profile-intro__content{
    max-width:930px;
}

.vx-profile-intro__content h2{
    max-width:800px;
    margin:0 0 42px;
    color:#09264b;
    font-size:clamp(34px,3vw,50px);
    line-height:1.06;
    letter-spacing:-.04em;
    font-weight:700;
}

.vx-profile-intro__text{
    max-width:790px;
    padding-left:105px;
    position:relative;
    font-size:18px;
    line-height:1.85;
    letter-spacing:-.01em;
    color:#4d6075;
}

.vx-profile-intro__text::before{
    content:"";
    position:absolute;
    top:12px;
    left:0;
    width:65px;
    height:1px;
    background:#1d91d0;
}


/* ÁREAS DE EXPERIENCIA */

.vx-profile-experience{
    position:relative;
    overflow:hidden;
}

.vx-profile-experience::after{
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    border:1px solid rgba(20,116,177,.07);
    border-radius:50%;
    right:-170px;
    top:-210px;
}

.vx-profile-tags{
    padding-left:380px;
    gap:14px;
    max-width:1180px;
}

.vx-profile-tags span{
    position:relative;
    padding:15px 20px 15px 38px;
    border:1px solid rgba(8,76,128,.11);
    border-radius:3px;
    box-shadow:0 8px 24px rgba(17,61,94,.035);
    font-size:13px;
    font-weight:600;
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.vx-profile-tags span::before{
    content:"";
    position:absolute;
    left:19px;
    top:50%;
    width:6px;
    height:6px;
    margin-top:-3px;
    border-radius:50%;
    background:#27a1df;
}

.vx-profile-tags span:hover{
    transform:translateY(-2px);
    border-color:rgba(8,116,190,.3);
    box-shadow:0 12px 30px rgba(17,61,94,.07);
}


/* FORMACIÓN */

.vx-profile-credentials{
    padding-top:125px;
    padding-bottom:135px;
}

.vx-profile-credentials__grid{
    grid-template-columns:330px minmax(0,820px);
    gap:105px;
}

.vx-profile-credentials__title{
    position:sticky;
    top:150px;
    align-self:start;
}

.vx-profile-richtext{
    position:relative;
    margin:0;
    padding:0 0 65px 42px;
    border:0;
}

.vx-profile-richtext + .vx-profile-richtext{
    padding-top:12px;
}

.vx-profile-richtext::before{
    content:"";
    position:absolute;
    top:7px;
    bottom:0;
    left:4px;
    width:1px;
    background:linear-gradient(
        to bottom,
        rgba(19,137,203,.55),
        rgba(19,137,203,.08)
    );
}

.vx-profile-richtext h3{
    position:relative;
    margin:0 0 28px;
    color:#0b70b6;
    font-size:12px;
    line-height:1.4;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.vx-profile-richtext h3::before{
    content:"";
    position:absolute;
    width:9px;
    height:9px;
    left:-42px;
    top:4px;
    border-radius:50%;
    background:#168bd0;
    box-shadow:0 0 0 6px #edf7fc;
}

.vx-profile-richtext p{
    color:#526477;
    line-height:1.75;
}

.vx-profile-richtext ul{
    display:block;
}

.vx-profile-richtext li{
    position:relative;
    padding:18px 0;
    border-bottom:1px solid rgba(13,51,87,.08);
    color:#30465e;
    font-size:14px;
    line-height:1.65;
}

.vx-profile-richtext li:first-child{
    border-top:1px solid rgba(13,51,87,.08);
}

.vx-profile-richtext li::before{
    content:"";
    left:-42px;
    top:26px;
    width:9px;
    height:9px;
    border:2px solid #299bd7;
    background:#fff;
}


/* EN VIREXIS */

.vx-profile-role{
    position:relative;
    overflow:hidden;
}

.vx-profile-role::after{
    content:"V";
    position:absolute;
    right:-20px;
    bottom:-145px;
    color:rgba(255,255,255,.025);
    font-size:520px;
    line-height:1;
    font-weight:800;
    pointer-events:none;
}

.vx-profile-role__grid{
    position:relative;
    z-index:2;
}


/* UNIDADES + TECNOLOGÍAS */

.vx-profile-connections{
    padding-top:120px;
    padding-bottom:130px;
}

.vx-profile-connections .vx-profile-section-head{
    margin-bottom:75px;
}

.vx-profile-connections__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    padding-left:380px;
}

.vx-profile-connection-group{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.vx-profile-connection-eyebrow{
    margin-bottom:10px;
    color:#708195;
    font-size:10px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.vx-profile-link-card{
    min-height:105px;
    padding:24px 26px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    background:#f5f9fc;
    border:1px solid rgba(9,66,108,.09);
    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.vx-profile-link-card:hover{
    transform:translateY(-3px);
    background:#fff;
    border-color:rgba(11,116,184,.24);
    box-shadow:0 18px 45px rgba(11,49,82,.07);
}

.vx-profile-link-card small{
    display:block;
    margin-bottom:9px;
    color:#1487c8;
    font-size:8px;
    font-weight:800;
    letter-spacing:.17em;
}

.vx-profile-link-card strong{
    display:block;
    color:#15324f;
    font-size:15px;
    line-height:1.3;
    font-weight:650;
}

.vx-profile-link-card > span{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border:1px solid rgba(14,112,176,.16);
    border-radius:50%;
    color:#0b79bb;
    font-size:16px;
}

.vx-profile-link-card--technology{
    background:#edf7fc;
}


/* Ya existe CTA global inmediatamente después */

.vx-profile-final{
    display:none !important;
}


/* RESPONSIVE V2 */

@media(max-width:900px){

    .vx-profile-intro__grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .vx-profile-intro__text{
        padding-left:0;
    }

    .vx-profile-intro__text::before{
        display:none;
    }

    .vx-profile-tags{
        padding-left:0;
    }

    .vx-profile-credentials__grid{
        grid-template-columns:1fr;
        gap:55px;
    }

    .vx-profile-credentials__title{
        position:static;
    }

    .vx-profile-connections__grid{
        padding-left:0;
    }

}

@media(max-width:620px){

    .vx-profile-intro__content h2{
        font-size:34px;
    }

    .vx-profile-tags{
        display:grid;
        grid-template-columns:1fr;
    }

    .vx-profile-tags span{
        width:100%;
    }

    .vx-profile-richtext{
        padding-left:30px;
    }

    .vx-profile-richtext h3::before,
    .vx-profile-richtext li::before{
        left:-30px;
    }

    .vx-profile-connections__grid{
        grid-template-columns:1fr;
        gap:45px;
    }

}


/* =========================================================
   VIREXIS — PROFILE HERO V3
   Editorial / architectural
   ========================================================= */

.vx-profile-hero--v3{
    position:relative;
    min-height:760px;
    overflow:hidden;
    isolation:isolate;
    background:
        radial-gradient(
            circle at 75% 38%,
            rgba(27,130,196,.20),
            transparent 33%
        ),
        linear-gradient(
            112deg,
            #05172f 0%,
            #071f40 46%,
            #0b3764 100%
        );
}


/* neutralizar elementos visuales del hero anterior */

.vx-profile-hero--v3::before{
    opacity:.055;
    background-size:96px 96px;
}

.vx-profile-hero--v3 .vx-profile-hero__glow{
    display:none;
}


/* V arquitectónica de fondo */

.vx-profile-hero-v3__architecture{
    position:absolute;
    z-index:0;
    right:-3vw;
    top:-100px;
    width:58vw;
    height:900px;
    overflow:hidden;
    pointer-events:none;
}

.vx-profile-hero-v3__architecture span{
    position:absolute;
    right:-20px;
    top:-75px;

    color:transparent;

    font-size:760px;
    font-weight:800;
    line-height:1;

    -webkit-text-stroke:
        1px rgba(102,191,236,.11);

    opacity:.7;
}


/* layout */

.vx-profile-hero-v3__shell{
    position:relative;
    z-index:2;

    min-height:720px;

    display:grid;
    grid-template-columns:
        minmax(440px,.88fr)
        minmax(520px,1.12fr);

    gap:72px;
    align-items:stretch;
}


/* texto */

.vx-profile-hero-v3__content{
    position:relative;
    z-index:4;

    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:
        110px
        0
        70px;
}

.vx-profile-hero--v3 .vx-profile-back{
    position:absolute;
    top:55px;
    left:0;

    margin:0;

    font-size:9px;
    letter-spacing:.19em;
    opacity:.8;
}


.vx-profile-hero-v3__meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;

    max-width:650px;

    margin-bottom:30px;

    color:#5eb8e8;

    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.19em;
    text-transform:uppercase;
}

.vx-profile-hero-v3__index{
    color:rgba(255,255,255,.32);
    white-space:nowrap;
}


.vx-profile-hero--v3 h1{
    max-width:650px;

    margin:0 0 28px;

    color:#fff;

    font-size:clamp(60px,5.2vw,86px);
    line-height:.91;
    letter-spacing:-.055em;
    font-weight:700;
}


.vx-profile-hero--v3 .vx-profile-position{
    position:relative;

    margin:0 0 31px;
    padding-left:54px;

    color:#fff;

    font-size:16px;
    line-height:1.4;
    font-weight:600;
}

.vx-profile-hero--v3 .vx-profile-position::before{
    content:"";

    position:absolute;
    left:0;
    top:50%;

    width:35px;
    height:1px;

    background:#36a6df;
}


.vx-profile-hero-v3__specialties{
    display:flex;
    flex-direction:column;

    max-width:510px;

    margin-bottom:45px;
}

.vx-profile-hero-v3__specialties span{
    position:relative;

    padding:8px 0;

    color:rgba(255,255,255,.64);

    font-size:13px;
    line-height:1.25;
    letter-spacing:.01em;

    border-bottom:
        1px solid rgba(255,255,255,.075);
}

.vx-profile-hero-v3__specialties span:last-child{
    border-bottom:0;
}


/* bottom */

.vx-profile-hero-v3__bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;

    max-width:650px;

    padding-top:28px;

    border-top:
        1px solid rgba(255,255,255,.12);
}

.vx-profile-hero-v3__brand{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.vx-profile-hero-v3__brand span{
    color:rgba(255,255,255,.82);

    font-size:11px;
    font-weight:800;
    letter-spacing:.2em;
}

.vx-profile-hero-v3__brand small{
    color:rgba(255,255,255,.35);

    font-size:7px;
    font-weight:700;
    letter-spacing:.2em;
}


/* botón */

.vx-profile-hero--v3 .vx-profile-button{
    min-height:50px;

    padding:0 23px;

    background:#fff;
    color:#08264b;

    border-radius:2px;

    box-shadow:
        0 12px 35px rgba(0,0,0,.12);
}


/* portrait */

.vx-profile-hero-v3__portrait{
    position:relative;
    z-index:3;

    align-self:end;

    height:690px;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            rgba(234,248,255,.98),
            rgba(156,211,240,.9)
        );
}


/*
 * El retrato ocupa el panel completo.
 * Cuando instalemos la fotografía con fondo azul hielo,
 * esta composición no requerirá marco.
 */

.vx-profile-hero-v3__portrait::before{
    content:"";

    position:absolute;
    z-index:1;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(6,31,61,.24) 0%,
            transparent 18%,
            transparent 82%,
            rgba(6,35,67,.05) 100%
        );

    pointer-events:none;
}

.vx-profile-hero-v3__portrait img{
    position:relative;
    z-index:0;

    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center top;

    transform:scale(1.015);
}


.vx-profile-hero-v3__portrait-number{
    position:absolute;
    z-index:3;

    top:32px;
    right:34px;

    color:rgba(255,255,255,.44);

    font-size:10px;
    font-weight:800;
    letter-spacing:.2em;
}


.vx-profile-hero-v3__portrait-line{
    position:absolute;
    z-index:3;

    right:34px;
    bottom:34px;

    width:80px;
    height:1px;

    background:
        rgba(255,255,255,.52);
}


/* transición inferior */

.vx-profile-hero-v3__footer{
    position:relative;
    z-index:5;

    height:40px;

    border-top:
        1px solid rgba(255,255,255,.07);

    background:
        rgba(3,20,41,.35);
}

.vx-profile-hero-v3__footer .vx-profile-shell{
    height:100%;

    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:13px;

    color:rgba(255,255,255,.33);

    font-size:7px;
    font-weight:800;
    letter-spacing:.18em;
}

.vx-profile-hero-v3__footer i{
    display:block;

    width:3px;
    height:3px;

    border-radius:50%;

    background:#269bd5;
}


/* eliminar definitivamente tratamiento antiguo */

.vx-profile-hero--v3 .vx-profile-photo,
.vx-profile-hero--v3 .vx-profile-photo__halo,
.vx-profile-hero--v3 .vx-profile-photo__signature{
    display:none !important;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media(max-width:1050px){

    .vx-profile-hero-v3__shell{
        grid-template-columns:
            minmax(360px,.9fr)
            minmax(420px,1.1fr);

        gap:45px;
    }

    .vx-profile-hero--v3 h1{
        font-size:58px;
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:780px){

    .vx-profile-hero--v3{
        min-height:auto;
    }

    .vx-profile-hero-v3__architecture{
        display:none;
    }

    .vx-profile-hero-v3__shell{
        width:100%;

        min-height:0;

        display:flex;
        flex-direction:column;

        gap:0;
    }

    .vx-profile-hero-v3__content{
        width:min(100% - 38px,620px);
        margin-inline:auto;

        padding:
            90px
            0
            52px;
    }

    .vx-profile-hero--v3 .vx-profile-back{
        top:32px;
    }

    .vx-profile-hero-v3__meta{
        margin-bottom:24px;
    }

    .vx-profile-hero-v3__index{
        display:none;
    }

    .vx-profile-hero--v3 h1{
        max-width:500px;

        font-size:
            clamp(47px,14vw,68px);
    }

    .vx-profile-hero-v3__specialties{
        margin-bottom:34px;
    }

    .vx-profile-hero-v3__bottom{
        align-items:flex-start;
        flex-direction:column;

        gap:25px;
    }

    .vx-profile-hero-v3__portrait{
        width:100%;
        height:min(126vw,650px);
    }

    .vx-profile-hero-v3__portrait img{
        transform:none;
    }

    .vx-profile-hero-v3__footer{
        height:36px;
    }

    .vx-profile-hero-v3__footer .vx-profile-shell{
        justify-content:center;
    }

}


/* ---------------------------------------------------------
   SMALL MOBILE
   --------------------------------------------------------- */

@media(max-width:480px){

    .vx-profile-hero-v3__content{
        padding-bottom:44px;
    }

    .vx-profile-hero--v3 h1{
        font-size:48px;
    }

    .vx-profile-hero--v3 .vx-profile-position{
        padding-left:42px;
        font-size:14px;
    }

    .vx-profile-hero--v3 .vx-profile-position::before{
        width:27px;
    }

    .vx-profile-hero-v3__specialties span{
        font-size:12px;
    }

    .vx-profile-hero--v3 .vx-profile-button{
        width:100%;
    }

}


/* =========================================================
   VIREXIS — PROFILE HERO V4
   Premium editorial
   ========================================================= */

.vx-profile-hero--v4{
    position:relative;
    min-height:760px;
    overflow:hidden;
    isolation:isolate;

    background:
        radial-gradient(
            circle at 67% 38%,
            rgba(80,170,222,.24),
            transparent 31%
        ),
        linear-gradient(
            108deg,
            #04172f 0%,
            #06203f 44%,
            #0b3b69 74%,
            #0a3159 100%
        );
}


/* subtle architectural lines */

.vx-profile-hero--v4::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;

    opacity:.09;

    background-image:
        linear-gradient(
            72deg,
            transparent 74%,
            rgba(112,195,237,.65) 74.1%,
            transparent 74.25%
        ),
        linear-gradient(
            108deg,
            transparent 82%,
            rgba(112,195,237,.45) 82.1%,
            transparent 82.25%
        );

    pointer-events:none;
}


/* REAL VIREXIS SYMBOL */

.vx-profile-v4__symbol{
    position:absolute;
    z-index:1;

    left:39%;
    top:5%;

    width:min(36vw,600px);
    height:min(36vw,600px);

    display:flex;
    align-items:center;
    justify-content:center;

    pointer-events:none;

    opacity:.115;
}

.vx-profile-v4__symbol::after{
    content:"";

    position:absolute;
    inset:10%;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(77,181,231,.25),
            transparent 68%
        );

    filter:blur(30px);
}

.vx-profile-v4__symbol img{
    position:relative;
    z-index:2;

    width:100%;
    height:100%;

    object-fit:contain;

    filter:
        brightness(2.3)
        saturate(.65);

    opacity:.78;
}


/* MAIN GRID */

.vx-profile-v4__shell{
    position:relative;
    z-index:3;

    min-height:720px;

    display:grid;

    grid-template-columns:
        minmax(470px,.94fr)
        minmax(520px,1.1fr)
        150px;

    gap:0;
}


/* LEFT CONTENT */

.vx-profile-v4__content{
    position:relative;
    z-index:5;

    padding:
        102px
        42px
        56px
        0;

    display:flex;
    flex-direction:column;
    justify-content:center;
}


.vx-profile-v4__back{
    position:absolute;
    top:42px;
    left:0;

    display:flex;
    align-items:center;
    gap:14px;

    color:rgba(255,255,255,.58);

    font-size:9px;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
    text-decoration:none;
}

.vx-profile-v4__back:hover{
    color:#fff;
}


.vx-profile-v4__area{
    margin-bottom:27px;

    color:#51b9ee;

    font-size:11px;
    font-weight:800;
    letter-spacing:.24em;
    text-transform:uppercase;
}


/* Editorial serif name */

.vx-profile-hero--v4 h1{
    max-width:690px;

    margin:0 0 27px;

    color:#fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:clamp(62px,5.2vw,91px);
    line-height:.91;

    font-weight:400;
    letter-spacing:-.055em;
}


.vx-profile-v4__position{
    display:flex;
    align-items:center;
    gap:20px;

    margin-bottom:28px;

    color:#fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:20px;
    line-height:1.3;
}

.vx-profile-v4__position > span{
    width:42px;
    height:1px;
    flex:0 0 42px;

    background:#43b9f2;
}


/* specialties */

.vx-profile-v4__specialties{
    width:min(100%,590px);

    margin-bottom:28px;
}

.vx-profile-v4__specialty{
    min-height:45px;

    display:flex;
    align-items:center;
    gap:16px;

    border-bottom:
        1px solid rgba(255,255,255,.09);

    color:rgba(255,255,255,.68);

    font-size:14px;
    line-height:1.3;
}

.vx-profile-v4__specialty-icon{
    width:27px;
    height:27px;

    flex:0 0 27px;

    display:grid;
    place-items:center;

    color:#46b9ef;
}

.vx-profile-v4__specialty-icon svg{
    width:24px;
    height:24px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.15;
    stroke-linecap:round;
    stroke-linejoin:round;
}


/* actions */

.vx-profile-v4__actions{
    width:min(100%,590px);

    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;

    padding-top:24px;
}

.vx-profile-v4__signature{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.vx-profile-v4__signature strong{
    color:#fff;

    font-size:11px;
    letter-spacing:.22em;
}

.vx-profile-v4__signature span{
    color:rgba(255,255,255,.38);

    font-size:7px;
    letter-spacing:.22em;
}


.vx-profile-v4__button{
    min-width:260px;
    min-height:58px;

    padding:0 28px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;

    background:#fff;
    color:#08274c;

    border:1px solid rgba(255,255,255,.8);
    border-radius:2px;

    box-shadow:
        0 18px 45px rgba(0,0,0,.13);

    font-size:11px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
    text-decoration:none;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.vx-profile-v4__button:hover{
    transform:translateY(-2px);

    box-shadow:
        0 22px 55px rgba(0,0,0,.18);
}

.vx-profile-v4__button span{
    font-size:22px;
}


/* PORTRAIT */

.vx-profile-v4__portrait{
    position:relative;
    z-index:4;

    height:720px;

    align-self:end;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 52% 35%,
            #f8fdff 0%,
            #dceffc 34%,
            #a7d4ee 68%,
            #4d9ccc 100%
        );
}


.vx-profile-v4__portrait::before{
    content:"";

    position:absolute;
    z-index:2;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(4,29,58,.30) 0%,
            rgba(4,29,58,.06) 17%,
            transparent 38%,
            transparent 100%
        );

    pointer-events:none;
}


.vx-profile-v4__portrait-glow{
    position:absolute;
    z-index:1;

    width:70%;
    aspect-ratio:1;

    left:14%;
    top:3%;

    border-radius:50%;

    background:
        rgba(255,255,255,.38);

    filter:blur(65px);
}


.vx-profile-v4__portrait img{
    position:relative;
    z-index:1;

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
    object-position:center top;

    transform:scale(1.015);
}


/* RIGHT ASIDE */

.vx-profile-v4__aside{
    position:relative;
    z-index:6;

    padding:
        48px
        0
        55px
        35px;

    border-left:
        1px solid rgba(141,209,243,.18);

    background:
        linear-gradient(
            180deg,
            rgba(10,55,95,.18),
            rgba(3,28,55,.12)
        );
}


.vx-profile-v4__number{
    color:rgba(206,237,252,.82);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:47px;
    line-height:1;
}


.vx-profile-v4__aside-title{
    margin-top:17px;

    color:rgba(255,255,255,.72);

    font-size:9px;
    font-weight:800;
    line-height:1.8;
    letter-spacing:.22em;
}


.vx-profile-v4__aside-line{
    width:1px;
    height:175px;

    margin:
        27px
        0
        32px
        7px;

    background:
        linear-gradient(
            to bottom,
            #57bce9,
            rgba(87,188,233,.08)
        );
}


.vx-profile-v4__aside-values{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.vx-profile-v4__aside-values span{
    color:rgba(255,255,255,.38);

    font-size:8px;
    font-weight:800;
    letter-spacing:.2em;
}


/* BOTTOM STRIP */

.vx-profile-v4__footer{
    position:relative;
    z-index:8;

    height:40px;

    border-top:
        1px solid rgba(76,181,231,.5);

    background:
        rgba(2,20,40,.72);
}

.vx-profile-v4__footer .vx-profile-shell{
    height:100%;

    display:flex;
    align-items:center;
    gap:30px;

    color:rgba(255,255,255,.35);

    font-size:7px;
    font-weight:800;
    letter-spacing:.28em;
}

.vx-profile-v4__footer i{
    display:block;

    width:35px;
    height:1px;

    background:
        rgba(255,255,255,.24);
}

.vx-profile-v4__footer small{
    margin-left:auto;

    color:rgba(255,255,255,.23);

    font-size:7px;
    letter-spacing:.32em;
}


/* Hide old hero structures */

.vx-profile-hero--v4
.vx-profile-hero-v3__architecture,

.vx-profile-hero--v4
.vx-profile-hero-v3__footer,

.vx-profile-hero--v4
.vx-profile-photo{
    display:none !important;
}


/* =========================================================
   V4 TABLET
   ========================================================= */

@media(max-width:1180px){

    .vx-profile-v4__shell{
        grid-template-columns:
            minmax(400px,.95fr)
            minmax(440px,1.05fr);

        gap:0;
    }

    .vx-profile-v4__aside{
        display:none;
    }

    .vx-profile-v4__content{
        padding-right:35px;
    }

    .vx-profile-hero--v4 h1{
        font-size:64px;
    }

}


/* =========================================================
   V4 MOBILE
   ========================================================= */

@media(max-width:780px){

    .vx-profile-hero--v4{
        min-height:auto;
    }

    .vx-profile-v4__symbol{
        width:480px;
        height:480px;

        left:auto;
        right:-250px;
        top:70px;

        opacity:.08;
    }

    .vx-profile-v4__shell{
        width:100%;

        min-height:0;

        display:flex;
        flex-direction:column;
    }

    .vx-profile-v4__content{
        width:min(100% - 38px,620px);

        margin-inline:auto;

        padding:
            88px
            0
            48px;
    }

    .vx-profile-v4__back{
        top:29px;
    }

    .vx-profile-v4__area{
        margin-bottom:20px;
    }

    .vx-profile-hero--v4 h1{
        max-width:520px;

        font-size:
            clamp(52px,15vw,72px);
    }

    .vx-profile-v4__position{
        font-size:17px;
    }

    .vx-profile-v4__specialties{
        width:100%;
    }

    .vx-profile-v4__actions{
        width:100%;

        flex-direction:column;
        align-items:flex-start;

        gap:25px;
    }

    .vx-profile-v4__button{
        width:100%;
    }

    .vx-profile-v4__portrait{
        width:100%;
        height:min(128vw,680px);
    }

    .vx-profile-v4__portrait img{
        transform:none;
    }

    .vx-profile-v4__footer{
        height:38px;
    }

    .vx-profile-v4__footer .vx-profile-shell{
        justify-content:center;
        gap:12px;
    }

    .vx-profile-v4__footer small{
        display:none;
    }

    .vx-profile-v4__footer i{
        width:15px;
    }

}


/* =========================================================
   V4 SMALL MOBILE
   ========================================================= */

@media(max-width:480px){

    .vx-profile-v4__content{
        padding-bottom:42px;
    }

    .vx-profile-hero--v4 h1{
        font-size:51px;
    }

    .vx-profile-v4__specialty{
        font-size:12px;
    }

    .vx-profile-v4__signature{
        display:none;
    }

    .vx-profile-v4__footer .vx-profile-shell{
        font-size:6px;
        letter-spacing:.18em;
    }

}


/* =========================================================
   VIREXIS — PROFILE HERO V4.1
   Floating transparent portrait
   ========================================================= */


/*
 * El retrato deja de ser un panel.
 * Se convierte en una capa transparente dentro del hero.
 */

.vx-profile-hero--v4{
    background:
        radial-gradient(
            ellipse at 65% 38%,
            rgba(76,180,235,.30) 0%,
            rgba(25,102,159,.18) 25%,
            transparent 52%
        ),
        linear-gradient(
            105deg,
            #03162d 0%,
            #052344 43%,
            #0a4678 73%,
            #082f56 100%
        );
}


/* V arquitectónica detrás del médico */

.vx-profile-v4__symbol{
    z-index:1;

    left:39%;
    top:4%;

    width:min(38vw,650px);
    height:min(38vw,650px);

    opacity:.17;
}

.vx-profile-v4__symbol img{
    filter:
        brightness(2.7)
        saturate(.7)
        drop-shadow(
            0 0 30px rgba(80,190,240,.18)
        );

    opacity:.76;
}


/* RETRATO: sin caja, sin fondo */

.vx-profile-v4__portrait{
    position:relative;
    z-index:4;

    height:720px;

    align-self:end;

    overflow:visible;

    background:none !important;
}


/* eliminamos overlay rectangular anterior */

.vx-profile-v4__portrait::before{
    display:none !important;
}


/* glow detrás de la silueta */

.vx-profile-v4__portrait-glow{
    position:absolute;

    z-index:0;

    width:92%;
    height:78%;

    left:4%;
    top:9%;

    border-radius:50%;

    background:
        radial-gradient(
            ellipse,
            rgba(116,211,255,.30) 0%,
            rgba(59,156,211,.14) 42%,
            transparent 72%
        );

    filter:blur(38px);
}


/*
 * Retrato flotante.
 * contain conserva toda la silueta transparente.
 */

.vx-profile-v4__portrait img{
    position:absolute;

    z-index:3;

    left:50%;
    bottom:0;

    width:auto;
    height:96%;

    max-width:none;

    object-fit:contain;
    object-position:center bottom;

    transform:
        translateX(-50%)
        scale(1.06);

    transform-origin:center bottom;

    filter:
        drop-shadow(
            0 22px 30px rgba(0,17,35,.18)
        );
}


/*
 * Suave iluminación detrás del retrato.
 * No es un rectángulo.
 */

.vx-profile-v4__portrait::after{
    content:"";

    position:absolute;

    z-index:0;

    left:-8%;
    right:-12%;
    bottom:-12%;

    height:88%;

    background:
        radial-gradient(
            ellipse at center bottom,
            rgba(70,173,226,.22),
            rgba(29,106,161,.08) 47%,
            transparent 72%
        );

    pointer-events:none;
}


/* contenido izquierdo siempre por encima */

.vx-profile-v4__content{
    z-index:7;
}


/* panel 01 por encima */

.vx-profile-v4__aside{
    z-index:8;
}


/*
 * Degradado de transición muy leve entre texto
 * y retrato. Evita una división vertical dura.
 */

.vx-profile-v4__content::after{
    content:"";

    position:absolute;

    z-index:-1;

    top:0;
    right:-120px;
    bottom:0;

    width:180px;

    background:
        linear-gradient(
            90deg,
            rgba(4,27,54,.20),
            transparent
        );

    pointer-events:none;
}


/* =========================================================
   V4.1 TABLET
   ========================================================= */

@media(max-width:1180px){

    .vx-profile-v4__portrait{
        overflow:hidden;
    }

    .vx-profile-v4__portrait img{
        height:92%;

        transform:
            translateX(-50%)
            scale(1.03);
    }

}


/* =========================================================
   V4.1 MOBILE
   ========================================================= */

@media(max-width:780px){

    .vx-profile-v4__portrait{
        position:relative;

        height:min(120vw,650px);

        overflow:hidden;

        background:
            radial-gradient(
                ellipse at center 45%,
                rgba(70,173,226,.20),
                transparent 67%
            ) !important;
    }

    .vx-profile-v4__portrait img{
        left:50%;
        bottom:0;

        width:auto;
        height:96%;

        transform:
            translateX(-50%)
            scale(1.02);
    }

    .vx-profile-v4__content::after{
        display:none;
    }

}


/* =========================================================
   V4.1 SMALL MOBILE
   ========================================================= */

@media(max-width:480px){

    .vx-profile-v4__portrait{
        height:125vw;
        max-height:590px;
    }

    .vx-profile-v4__portrait img{
        height:94%;
    }

}



/* =========================================================
   VIREXIS — PROFILE HERO V4.2
   Fondo continuo + apellido editorial
   Elaborado por Miguel Minier | MDesign
   ========================================================= */


/* ---------------------------------------------------------
   1. FONDO ÚNICO
   Elimina la sensación de dos paneles azules independientes.
   --------------------------------------------------------- */

.vx-profile-hero--v4{
    background:
        radial-gradient(
            ellipse 58% 88% at 67% 44%,
            rgba(45,157,222,.34) 0%,
            rgba(24,111,174,.20) 36%,
            rgba(8,55,98,.08) 61%,
            transparent 76%
        ),
        linear-gradient(
            105deg,
            #031a34 0%,
            #05284b 36%,
            #073d6c 67%,
            #083c69 100%
        ) !important;
}


/* Quitar cualquier bloque visual que oscurezca
   artificialmente la columna izquierda */

.vx-profile-v4__content{
    background:transparent !important;
}

.vx-profile-v4__content::before,
.vx-profile-v4__content::after{
    background:none !important;
}


/* La zona de la fotografía forma parte del mismo fondo */

.vx-profile-v4__portrait{
    background:transparent !important;
}


/* Luz ambiental detrás del médico:
   transición, no panel rectangular */

.vx-profile-v4__portrait-glow{
    width:110%;
    height:92%;
    left:-5%;
    top:3%;

    background:
        radial-gradient(
            ellipse at 50% 42%,
            rgba(82,190,244,.24) 0%,
            rgba(43,139,202,.13) 40%,
            transparent 72%
        );

    filter:blur(42px);
}


/* ---------------------------------------------------------
   2. NOMBRE EDITORIAL
   --------------------------------------------------------- */

.vx-profile-v4__content h1 .vx-name-line{
    display:block;
}

.vx-profile-v4__content h1 .vx-name-accent{
    color:#45BFF3;
}


/* Ligero glow óptico, muy contenido */

.vx-profile-v4__content h1 .vx-name-accent{
    text-shadow:
        0 0 22px rgba(69,191,243,.08);
}


/* ---------------------------------------------------------
   3. ISOTIPO
   Integrarlo en el mismo campo de profundidad.
   --------------------------------------------------------- */

.vx-profile-v4__symbol{
    opacity:.15;
    mix-blend-mode:screen;
}

.vx-profile-v4__symbol img{
    opacity:.72;
}


/* ---------------------------------------------------------
   4. PANEL DERECHO
   Conserva jerarquía pero sin parecer otro fondo.
   --------------------------------------------------------- */

.vx-profile-v4__aside{
    background:
        linear-gradient(
            90deg,
            rgba(3,28,53,.04),
            rgba(3,28,53,.12)
        ) !important;

    border-left:
        1px solid rgba(120,205,247,.13);
}


/* ---------------------------------------------------------
   5. MOBILE
   --------------------------------------------------------- */

@media (max-width:1050px){

    .vx-profile-hero--v4{
        background:
            radial-gradient(
                ellipse 85% 55% at 50% 60%,
                rgba(43,150,214,.22),
                transparent 70%
            ),
            linear-gradient(
                145deg,
                #031a34 0%,
                #052b50 55%,
                #073d6b 100%
            ) !important;
    }

}


@media (max-width:640px){

    .vx-profile-v4__content h1 .vx-name-line{
        display:block;
    }

    .vx-profile-v4__content h1 .vx-name-accent{
        color:#45BFF3;
    }

}



/* =========================================================
   VIREXIS — PROFILE CONTENT V3
   Áreas + Trayectoria profesional
   Elaborado por Miguel Minier | MDesign
   ========================================================= */


/* ---------------------------------------------------------
   CONTENEDOR EXPERIENCE
   --------------------------------------------------------- */

.vx-profile-experience{
    position:relative;
    overflow:hidden;
    padding:125px 0 130px;
    background:
        linear-gradient(
            180deg,
            #f7fafc 0%,
            #f3f8fb 100%
        );
}


/* Decoración arquitectónica muy sutil */

.vx-profile-experience::after{
    content:"";
    position:absolute;
    z-index:0;

    width:520px;
    height:520px;

    right:-230px;
    top:-250px;

    border:
        1px solid
        rgba(16,112,178,.065);

    border-radius:50%;

    pointer-events:none;
}


/* El contenido siempre sobre la decoración */

.vx-profile-experience > *{
    position:relative;
    z-index:1;
}


/* ---------------------------------------------------------
   EYEBROW / NÚMERO
   --------------------------------------------------------- */

.vx-profile-section__eyebrow{
    width:min(
        100% - 64px,
        1380px
    );

    margin:
        0 auto
        24px;

    display:flex;
    align-items:center;
    gap:18px;

    color:#64768a;

    font-size:11px;
    font-weight:800;
    line-height:1.2;

    letter-spacing:.17em;
    text-transform:uppercase;
}


.vx-profile-section__eyebrow span{
    color:#1387c8;
    font-weight:800;
}


/* Línea editorial */

.vx-profile-section__eyebrow::after{
    content:"";

    width:44px;
    height:1px;

    margin-left:4px;

    background:
        rgba(13,112,174,.22);
}


/* ---------------------------------------------------------
   HEADING ÁREAS
   --------------------------------------------------------- */

.vx-profile-experience > h2{
    width:min(
        100% - 64px,
        1000px
    );

    margin:
        0 auto
        52px;

    color:#08294e;

    font-size:
        clamp(36px,3.4vw,52px);

    line-height:1.08;
    letter-spacing:-.038em;

    font-weight:700;
}


/* ---------------------------------------------------------
   ÁREAS DE EXPERIENCIA
   --------------------------------------------------------- */

.vx-profile-tags{
    width:min(
        100% - 64px,
        1000px
    );

    margin:
        0 auto;

    padding-left:0 !important;

    display:grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );

    gap:12px;
}


.vx-profile-tags span{
    position:relative;

    display:flex;
    align-items:center;

    min-height:58px;

    width:100%;

    padding:
        14px
        20px
        14px
        43px;

    border:
        1px solid
        rgba(8,76,128,.105);

    border-radius:5px;

    background:
        rgba(255,255,255,.82);

    box-shadow:
        0 8px 25px
        rgba(17,61,94,.028);

    color:#27425e;

    font-size:13px;
    font-weight:600;
    line-height:1.45;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


.vx-profile-tags span::before{
    content:"";

    position:absolute;

    left:21px;
    top:50%;

    width:6px;
    height:6px;

    transform:
        translateY(-50%);

    border-radius:50%;

    background:#28a9e2;

    box-shadow:
        0 0 0 4px
        rgba(40,169,226,.08);
}


.vx-profile-tags span:hover{
    transform:
        translateY(-2px);

    border-color:
        rgba(8,116,190,.24);

    background:#fff;

    box-shadow:
        0 14px 34px
        rgba(17,61,94,.065);
}


/* ---------------------------------------------------------
   TRAYECTORIA PROFESIONAL
   --------------------------------------------------------- */

.vx-profile-trajectory{
    width:min(
        100% - 64px,
        1000px
    );

    margin:
        90px auto
        0;

    padding-top:70px;

    border-top:
        1px solid
        rgba(12,67,109,.11);
}


/*
 * El eyebrow de trayectoria ya vive dentro
 * de un contenedor de 1000px, por eso
 * anulamos el ancho global.
 */

.vx-profile-trajectory
.vx-profile-section__eyebrow{

    width:100%;

    margin:
        0 0
        34px;
}


/* Contenido editorial */

.vx-profile-trajectory__content{
    position:relative;

    max-width:820px;

    margin-left:auto;

    padding-left:42px;
}


/* Línea vertical editorial */

.vx-profile-trajectory__content::before{
    content:"";

    position:absolute;

    left:0;
    top:5px;
    bottom:7px;

    width:1px;

    background:
        linear-gradient(
            180deg,
            rgba(25,143,202,.55),
            rgba(25,143,202,.08)
        );
}


/* Punto superior */

.vx-profile-trajectory__content::after{
    content:"";

    position:absolute;

    left:-3px;
    top:5px;

    width:7px;
    height:7px;

    border-radius:50%;

    background:#1695d2;

    box-shadow:
        0 0 0 5px
        rgba(22,149,210,.08);
}


.vx-profile-trajectory__content p{
    margin:
        0 0
        24px;

    color:#344b62;

    font-size:17px;
    line-height:1.82;

    letter-spacing:-.008em;
}


.vx-profile-trajectory__content p:last-child{
    margin-bottom:0;
}


/* ---------------------------------------------------------
   CUANDO SOLO EXISTE TRAYECTORIA
   Ronald / perfiles sin áreas explícitas
   --------------------------------------------------------- */

.vx-profile-experience
.vx-profile-trajectory:first-child{

    margin-top:0;
    padding-top:0;
    border-top:0;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media(max-width:900px){

    .vx-profile-experience{
        padding:
            95px 0
            105px;
    }


    .vx-profile-section__eyebrow,
    .vx-profile-experience > h2,
    .vx-profile-tags,
    .vx-profile-trajectory{

        width:min(
            100% - 40px,
            1000px
        );
    }


    .vx-profile-tags{
        grid-template-columns:1fr 1fr;
    }


    .vx-profile-trajectory{
        margin-top:70px;
        padding-top:55px;
    }


    .vx-profile-trajectory__content{
        max-width:100%;
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:620px){

    .vx-profile-experience{
        padding:
            76px 0
            82px;
    }


    .vx-profile-section__eyebrow,
    .vx-profile-experience > h2,
    .vx-profile-tags,
    .vx-profile-trajectory{

        width:
            calc(100% - 36px);
    }


    .vx-profile-section__eyebrow{
        margin-bottom:20px;

        font-size:10px;
        letter-spacing:.14em;
    }


    .vx-profile-section__eyebrow::after{
        width:28px;
    }


    .vx-profile-experience > h2{
        margin-bottom:38px;

        font-size:34px;
        line-height:1.1;
    }


    .vx-profile-tags{
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
    }


    .vx-profile-tags span{
        min-height:56px;

        padding:
            13px
            17px
            13px
            39px;

        font-size:13px;
    }


    .vx-profile-tags span::before{
        left:18px;
    }


    .vx-profile-trajectory{
        margin-top:58px;
        padding-top:48px;
    }


    .vx-profile-trajectory
    .vx-profile-section__eyebrow{

        width:100%;
        margin-bottom:28px;
    }


    .vx-profile-trajectory__content{
        padding-left:27px;
    }


    .vx-profile-trajectory__content p{
        font-size:16px;
        line-height:1.75;
    }

}


/* ---------------------------------------------------------
   SMALL MOBILE
   --------------------------------------------------------- */

@media(max-width:420px){

    .vx-profile-experience > h2{
        font-size:31px;
    }


    .vx-profile-trajectory__content{
        padding-left:24px;
    }

}


/* =========================================================
   END PROFILE CONTENT V3
   ========================================================= */









/* =========================================================
   VIREXIS — HERO V4.3
   Panel lateral integrado al fondo general
   Global para todos los perfiles
   Elaborado por Miguel Minier | MDesign
   ========================================================= */

/*
 * El aside deja de aplicar su propia capa azul.
 * De esta forma se ve directamente el mismo fondo
 * continuo del hero.
 */

.vx-profile-hero--v4 .vx-profile-v4__aside{
    background:transparent !important;

    border-left:
        1px solid rgba(120,205,247,.13) !important;
}


/*
 * Neutralizar cualquier pseudo-elemento del aside
 * que pudiera generar una segunda superficie.
 */

.vx-profile-hero--v4 .vx-profile-v4__aside::before,
.vx-profile-hero--v4 .vx-profile-v4__aside::after{
    background:transparent !important;
}


/* =========================================================
   END VIREXIS HERO V4.3
   ========================================================= */







/* =========================================================
   VIREXIS — TRAJECTORY EDITORIAL V2
   Sistema visual homologado con perfil Miguel
   ========================================================= */

.vx-profile-trajectory--editorial{
    margin:0;
    padding:125px 0 135px;
    background:#ffffff;
}

.vx-profile-trajectory--editorial .vx-profile-trajectory__grid{
    display:grid;
    grid-template-columns:minmax(260px,330px) minmax(0,820px);
    gap:110px;
    align-items:start;
}

.vx-profile-trajectory--editorial .vx-profile-trajectory__title > span{
    display:block;
    margin-bottom:24px;

    color:#139bd7;

    font-size:11px;
    font-weight:800;
    line-height:1;

    letter-spacing:.16em;
}

.vx-profile-trajectory--editorial .vx-profile-trajectory__title h2{
    margin:0;

    color:#09264b;

    font-size:clamp(40px,4vw,58px);
    font-weight:700;
    line-height:1.02;

    letter-spacing:-.045em;
}

.vx-profile-trajectory--editorial .vx-profile-trajectory__content{
    position:relative;

    max-width:820px;

    padding:
        4px
        0
        4px
        48px;
}

.vx-profile-trajectory--editorial .vx-profile-trajectory__content::before{
    content:"";

    position:absolute;

    left:0;
    top:8px;
    bottom:8px;

    width:1px;

    background:
        linear-gradient(
            180deg,
            rgba(18,153,216,.72),
            rgba(18,153,216,.10)
        );
}

.vx-profile-trajectory--editorial .vx-profile-trajectory__content::after{
    content:"";

    position:absolute;

    left:-3px;
    top:8px;

    width:7px;
    height:7px;

    border-radius:50%;

    background:#1ba9e5;

    box-shadow:
        0 0 0 6px
        rgba(27,169,229,.08);
}

.vx-profile-trajectory--editorial .vx-profile-trajectory__content p{
    margin:0 0 30px;

    color:#425a70;

    font-size:16px;
    font-weight:400;
    line-height:1.82;

    letter-spacing:-.006em;
}

.vx-profile-trajectory--editorial .vx-profile-trajectory__content p:last-child{
    margin-bottom:0;
}


/*
 * Puente técnico.
 * No produce contenido ni superficie visual.
 */

.vx-profile-experience--bridge{
    display:none !important;
}


@media(max-width:900px){

    .vx-profile-trajectory--editorial{
        padding:95px 0 105px;
    }

    .vx-profile-trajectory--editorial .vx-profile-trajectory__grid{
        grid-template-columns:1fr;
        gap:50px;
    }

}


@media(max-width:620px){

    .vx-profile-trajectory--editorial{
        padding:78px 0 86px;
    }

    .vx-profile-trajectory--editorial .vx-profile-trajectory__title h2{
        font-size:38px;
    }

    .vx-profile-trajectory--editorial .vx-profile-trajectory__content{
        padding-left:28px;
    }

    .vx-profile-trajectory--editorial .vx-profile-trajectory__content p{
        font-size:15px;
        line-height:1.75;
    }

}

/* END VIREXIS — TRAJECTORY EDITORIAL V2 */



/* =========================================================
   VIREXIS — FORMATION LIST V1
   Formación académica / credenciales
   ========================================================= */

.vx-profile-credentials .vx-formation-list{
    list-style:none;

    margin:
        36px
        0
        42px;

    padding:0;
}

.vx-profile-credentials .vx-formation-list li{
    position:relative;

    margin:0;
    padding:
        0
        0
        25px
        35px;

    color:#526980;

    font-size:16px;
    line-height:1.65;
}


/* Línea vertical que conecta los puntos */

.vx-profile-credentials .vx-formation-list li::before{
    content:"";

    position:absolute;

    left:5px;
    top:10px;
    bottom:-10px;

    width:1px;

    background:
        rgba(33,164,224,.28);
}


/* Punto azul + halo */

.vx-profile-credentials .vx-formation-list li::after{
    content:"";

    position:absolute;

    left:0;
    top:7px;

    width:11px;
    height:11px;

    border-radius:50%;

    background:#249ed7;

    border:
        4px solid
        rgba(36,158,215,.13);

    box-sizing:content-box;

    transform:
        translate(-4px,-4px);
}


/* No prolongar la línea después del último */

.vx-profile-credentials .vx-formation-list li:last-child::before{
    display:none;
}


.vx-profile-credentials .vx-formation-list li strong{
    display:block;

    margin-bottom:3px;

    color:#123b61;

    font-weight:700;
}


.vx-profile-credentials .vx-formation-list li span{
    display:block;

    color:#61758a;

    font-weight:400;
}


/* Negritas editoriales dentro de los párrafos */

.vx-profile-credentials .vx-profile-richtext p strong{
    color:#193f62;

    font-weight:700;
}


/*
 * Separación editorial:
 * introducción → formación → cierre
 */

.vx-profile-credentials .vx-profile-richtext > p{
    margin-bottom:28px;
}

.vx-profile-credentials .vx-profile-richtext > p:last-child{
    margin-bottom:0;
}


@media(max-width:620px){

    .vx-profile-credentials .vx-formation-list{
        margin:
            30px
            0
            36px;
    }

    .vx-profile-credentials .vx-formation-list li{
        padding-left:31px;
        padding-bottom:22px;

        font-size:15px;
    }

}

/* END VIREXIS — FORMATION LIST V1 */



/* =========================================================
   VIREXIS — TANIA EXECUTIVE INTRO WIDE V1
   Composición horizontal / editorial
   ========================================================= */


/*
 * El perfil ejecutivo de Tania dispone de mayor superficie
 * horizontal para el titular principal.
 */

.vx-profile--tania .vx-profile-intro__grid{
    grid-template-columns:
        minmax(185px, .42fr)
        minmax(0, 1.58fr) !important;

    column-gap:72px !important;
}


/*
 * Permitimos que el contenido aproveche toda
 * la columna derecha.
 */

.vx-profile--tania .vx-profile-intro__content{
    width:100% !important;
    max-width:none !important;
}


/*
 * Titular ejecutivo:
 * más horizontal y con menos saltos de línea.
 */

.vx-profile--tania .vx-profile-intro__content h1,
.vx-profile--tania .vx-profile-intro__content h2{
    width:100% !important;
    max-width:1000px !important;

    font-size:
        clamp(42px, 3.55vw, 64px) !important;

    line-height:.99 !important;
    letter-spacing:-.052em !important;
}


/*
 * Descriptor inferior.
 */

.vx-profile--tania .vx-profile-intro__text{
    width:100% !important;
    max-width:880px !important;
}


/*
 * Conservamos una longitud de lectura elegante.
 */

.vx-profile--tania .vx-profile-intro__text p{
    max-width:850px !important;
}


/* TABLET */

@media(max-width:1000px){

    .vx-profile--tania .vx-profile-intro__grid{
        grid-template-columns:
            minmax(150px,.35fr)
            minmax(0,1.65fr) !important;

        column-gap:50px !important;
    }

}


/* MOBILE */

@media(max-width:760px){

    .vx-profile--tania .vx-profile-intro__grid{
        grid-template-columns:1fr !important;
        row-gap:38px !important;
    }

    .vx-profile--tania .vx-profile-intro__content h1,
    .vx-profile--tania .vx-profile-intro__content h2{
        max-width:100% !important;

        font-size:
            clamp(38px,10vw,52px) !important;

        line-height:1.02 !important;
    }

}

/* END VIREXIS — TANIA EXECUTIVE INTRO WIDE V1 */



/* =========================================================
   VIREXIS — RONALD EXECUTIVE INTRO WIDE V1
   Mismas proporciones aprobadas para Tania
   ========================================================= */

.vx-profile--ronald .vx-profile-intro__grid{
    grid-template-columns:
        minmax(185px, .42fr)
        minmax(0, 1.58fr) !important;

    column-gap:72px !important;
}

.vx-profile--ronald .vx-profile-intro__content{
    width:100% !important;
    max-width:none !important;
}

.vx-profile--ronald .vx-profile-intro__content h1,
.vx-profile--ronald .vx-profile-intro__content h2{
    width:100% !important;
    max-width:1000px !important;

    font-size:clamp(42px, 3.55vw, 64px) !important;

    line-height:.99 !important;
    letter-spacing:-.052em !important;
}

.vx-profile--ronald .vx-profile-intro__text{
    width:100% !important;
    max-width:880px !important;
}

.vx-profile--ronald .vx-profile-intro__text p{
    max-width:850px !important;
}


@media(max-width:1000px){

    .vx-profile--ronald .vx-profile-intro__grid{
        grid-template-columns:
            minmax(150px,.35fr)
            minmax(0,1.65fr) !important;

        column-gap:50px !important;
    }

}


@media(max-width:760px){

    .vx-profile--ronald .vx-profile-intro__grid{
        grid-template-columns:1fr !important;
        row-gap:38px !important;
    }

    .vx-profile--ronald .vx-profile-intro__content h1,
    .vx-profile--ronald .vx-profile-intro__content h2{
        max-width:100% !important;

        font-size:clamp(38px,10vw,52px) !important;
        line-height:1.02 !important;
    }

}

/* END VIREXIS — RONALD EXECUTIVE INTRO WIDE V1 */



/* =========================================================
   VIREXIS — RONALD HERO NAME V1
   ========================================================= */


/*
 * Nombres arriba / apellidos debajo.
 */

.vx-profile--ronald .vx-ronald-name{
    display:block;
    width:100%;
}

.vx-profile--ronald .vx-ronald-name__given,
.vx-profile--ronald .vx-ronald-name__surname{
    display:block;
}


/* Nombres */

.vx-profile--ronald .vx-ronald-name__given{
    color:#ffffff;
}


/*
 * Apellidos:
 * mismo sistema de acento utilizado por el nombre
 * destacado de los perfiles.
 */

.vx-profile--ronald .vx-ronald-name__surname{
    color:#20B8F2;
}


/*
 * Ronald es perfil directivo.
 * No mostrar CTA asistencial.
 */

.vx-profile--ronald .vx-profile-v4__cta,
.vx-profile--ronald a[href*="agendar"],
.vx-profile--ronald a[href*="cita"]{
    display:none !important;
}


/*
 * Evitar cortes internos en cada línea.
 */

.vx-profile--ronald .vx-ronald-name__given,
.vx-profile--ronald .vx-ronald-name__surname{
    white-space:nowrap;
}


/* Responsive */

@media(max-width:760px){

    .vx-profile--ronald .vx-ronald-name__given,
    .vx-profile--ronald .vx-ronald-name__surname{
        white-space:normal;
    }

}

/* END VIREXIS — RONALD HERO NAME V1 */



/* =========================================================
   VIREXIS — RONALD HERO CTA OFF V1
   Ronald es perfil directivo, no asistencial.
   Oculta únicamente el CTA interno del hero.
   ========================================================= */

.vx-profile--ronald .vx-profile-v4__button{
    display:none !important;
}

/* END VIREXIS — RONALD HERO CTA OFF V1 */


/* =========================================================
   VIREXIS — RONALD PROFESSIONAL TIMELINE V2
   ========================================================= */

.vx-profile--ronald .vx-ronald-timeline{
    position:relative;
    width:100%;
    max-width:900px;
}

.vx-profile--ronald .vx-ronald-timeline__item{
    position:relative;
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    column-gap:24px;
    margin:0;
    padding:0 0 38px;
}

/* Línea vertical */
.vx-profile--ronald .vx-ronald-timeline__item::before{
    content:"";
    position:absolute;
    left:5px;
    top:13px;
    bottom:-2px;
    width:1px;
    background:rgba(32,184,242,.28);
}

.vx-profile--ronald .vx-ronald-timeline__item:last-child{
    padding-bottom:0;
}

.vx-profile--ronald .vx-ronald-timeline__item:last-child::before{
    display:none;
}

/* Punto azul con halo */
.vx-profile--ronald .vx-ronald-timeline__dot{
    position:relative;
    z-index:2;
    display:block;
    width:11px;
    height:11px;
    margin-top:6px;
    border-radius:50%;
    background:#20B8F2;
    box-shadow:
        0 0 0 6px rgba(32,184,242,.10),
        0 0 0 11px rgba(32,184,242,.035);
}

/* Institución */
.vx-profile--ronald .vx-ronald-timeline__item h3{
    margin:0 0 9px;
    color:#123b61;
    font-size:17px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:.015em;
}

/* Texto */
.vx-profile--ronald .vx-ronald-timeline__item p{
    margin:0 !important;
    max-width:850px;
    color:#526980;
    font-size:16px;
    line-height:1.78;
    font-weight:400;
}

/* Destacados */
.vx-profile--ronald .vx-ronald-timeline__item strong{
    color:#193f62;
    font-weight:700;
}

/* Ronald usa ahora su propia línea editorial */
.vx-profile--ronald .vx-profile-trajectory__content{
    border-left:0 !important;
}

.vx-profile--ronald .vx-profile-trajectory__content::before,
.vx-profile--ronald .vx-profile-trajectory__content::after{
    display:none !important;
}

/* Mobile */
@media(max-width:620px){

    .vx-profile--ronald .vx-ronald-timeline__item{
        grid-template-columns:20px minmax(0,1fr);
        column-gap:18px;
        padding-bottom:30px;
    }

    .vx-profile--ronald .vx-ronald-timeline__item h3{
        margin-bottom:7px;
        font-size:16px;
    }

    .vx-profile--ronald .vx-ronald-timeline__item p{
        font-size:15px;
        line-height:1.72;
    }

}

/* END VIREXIS — RONALD PROFESSIONAL TIMELINE V2 */


/* ==========================================================
   VIREXIS — EN VIREXIS / LIGHT EDITORIAL V1
   Cierre editorial de todos los perfiles
   ========================================================== */

.vx-profile-role{
    position:relative;
    overflow:hidden;

    padding:118px 0 126px;

    background:
        radial-gradient(
            circle at 92% 20%,
            rgba(32,184,242,.075) 0%,
            rgba(32,184,242,.025) 24%,
            transparent 48%
        ),
        linear-gradient(
            135deg,
            #F8FBFD 0%,
            #F3F8FB 52%,
            #EDF5F9 100%
        ) !important;

    border-top:1px solid rgba(7,62,104,.07);
    border-bottom:1px solid rgba(7,62,104,.08);
}


/* V decorativa */
.vx-profile-role::after{
    content:"V";
    position:absolute;

    right:-22px;
    bottom:-150px;

    color:rgba(7,62,104,.026) !important;

    font-size:520px;
    line-height:1;
    font-weight:800;

    pointer-events:none;
}


/* Grid */
.vx-profile-role__grid{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);

    gap:120px;
    align-items:center;
}


/* 04 / 05 · EN VIREXIS */
.vx-profile-role .vx-profile-section-label--light{
    color:#657A8D !important;
}

.vx-profile-role .vx-profile-section-label--light span{
    color:#0A91D5 !important;
}


/* Titular */
.vx-profile-role h2{
    margin:38px 0 0;

    color:#09264B !important;

    font-size:52px;
    line-height:1.02;
    letter-spacing:-.045em;
}


/* Pequeño detalle editorial debajo del titular */
.vx-profile-role h2::after{
    content:"";
    display:block;

    width:42px;
    height:2px;

    margin-top:32px;

    background:#20B8F2;

    border-radius:999px;
}


/* Texto */
.vx-profile-role__text{
    position:relative;
    align-self:center;

    max-width:650px;

    padding-left:34px;

    color:#40566B !important;

    font-size:18px;
    line-height:1.82;

    border-left:1px solid rgba(7,62,104,.13);
}


/* Punto editorial en la línea */
.vx-profile-role__text::before{
    content:"";

    position:absolute;

    left:-5px;
    top:9px;

    width:9px;
    height:9px;

    border-radius:50%;

    background:#20B8F2;

    box-shadow:
        0 0 0 7px rgba(32,184,242,.10);
}


.vx-profile-role__text p{
    margin-top:0;
    margin-bottom:20px;
}

.vx-profile-role__text p:last-child{
    margin-bottom:0;
}


/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media (max-width:1000px){

    .vx-profile-role{
        padding:96px 0 104px;
    }

    .vx-profile-role__grid{
        grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);
        gap:70px;
    }

    .vx-profile-role h2{
        font-size:46px;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width:760px){

    .vx-profile-role{
        padding:76px 0 84px;
    }

    .vx-profile-role__grid{
        grid-template-columns:1fr;
        gap:46px;
    }

    .vx-profile-role h2{
        margin-top:26px;
        font-size:38px;
        line-height:1.04;
    }

    .vx-profile-role h2::after{
        margin-top:25px;
    }

    .vx-profile-role__text{
        max-width:none;

        padding-left:24px;

        font-size:16px;
        line-height:1.75;
    }

    .vx-profile-role::after{
        right:-45px;
        bottom:-70px;

        font-size:280px;

        color:rgba(7,62,104,.022) !important;
    }
}

/* END — VIREXIS EN VIREXIS / LIGHT EDITORIAL V1 */

