/*
 * VIREXIS Health Center
 * Main Design System
 */

:root {
    --virexis-navy: #071b33;
    --virexis-blue: #0b63ce;
    --virexis-cyan: #38bdf8;
    --virexis-ice: #eef7fb;
    --virexis-white: #ffffff;
    --virexis-text: #15263b;
    --virexis-muted: #65758b;

    --virexis-radius: 18px;

    --virexis-container: 1280px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--virexis-text);
    background: var(--virexis-white);
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    -webkit-font-smoothing: antialiased;
}

.virexis-container {
    width: min(92%, var(--virexis-container));
    margin-inline: auto;
}

.virexis-header {
    width: 100%;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid rgba(7,27,51,.08);
}

.virexis-header .virexis-container {
    min-height: 88px;
    display: flex;
    align-items: center;
    gap: 42px;
}

.virexis-brand {
    margin-right: auto;
}

.virexis-brand a {
    color: var(--virexis-navy);
    text-decoration: none;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: .08em;
}

.virexis-brand span {
    display: block;
    margin-top: -3px;
    color: var(--virexis-blue);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .23em;
    text-transform: uppercase;
}

.virexis-navigation ul {
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.virexis-navigation a {
    color: var(--virexis-text);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

.virexis-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 24px;
    border-radius: 999px;
    background: var(--virexis-blue);
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.virexis-footer {
    padding: 70px 0;
    background: var(--virexis-navy);
    color: #fff;
}

.virexis-footer strong {
    font-size: 24px;
    letter-spacing: .08em;
}

.virexis-footer span {
    display: block;
    color: var(--virexis-cyan);
}

.virexis-footer p {
    color: rgba(255,255,255,.7);
}

.virexis-footer small {
    color: rgba(255,255,255,.5);
}


/* =========================================================
   VIREXIS PREMIUM HOME
   ========================================================= */

.vx-home {
    overflow: hidden;
}

.vx-eyebrow,
.vx-section-heading > span,
.vx-tech-intro > span,
.vx-final-card > div > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--virexis-blue);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.vx-hero {
    position: relative;
    min-height: 720px;
    padding: 90px 0 80px;
    background:
        radial-gradient(circle at 75% 25%, rgba(56,189,248,.15), transparent 28%),
        linear-gradient(135deg, #f8fcff 0%, #eef7fb 100%);
}

.vx-hero-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 70px;
    align-items: center;
}

.vx-hero h1 {
    max-width: 760px;
    margin: 0;
    color: var(--virexis-navy);
    font-size: clamp(48px, 5.4vw, 78px);
    line-height: .98;
    letter-spacing: -.055em;
}

.vx-hero h1 span {
    color: var(--virexis-blue);
}

.vx-hero-lead {
    max-width: 650px;
    margin: 30px 0 0;
    color: var(--virexis-muted);
    font-size: 19px;
    line-height: 1.65;
}

.vx-hero-actions {
    display: flex;
    gap: 14px;
    margin-top: 36px;
}

.vx-btn {
    display: inline-flex;
    min-height: 54px;
    padding: 0 28px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    transition: .25s ease;
}

.vx-btn-primary {
    background: var(--virexis-blue);
    color: #fff;
    box-shadow: 0 14px 35px rgba(11,99,206,.2);
}

.vx-btn-secondary {
    border: 1px solid rgba(7,27,51,.14);
    background: rgba(255,255,255,.7);
    color: var(--virexis-navy);
}

.vx-hero-trust {
    display: flex;
    gap: 38px;
    margin-top: 55px;
    padding-top: 28px;
    border-top: 1px solid rgba(7,27,51,.1);
}

.vx-hero-trust strong,
.vx-hero-trust span {
    display: block;
}

.vx-hero-trust strong {
    color: var(--virexis-navy);
    font-size: 14px;
}

.vx-hero-trust span {
    margin-top: 4px;
    color: var(--virexis-muted);
    font-size: 12px;
}

.vx-hero-visual {
    position: relative;
}

.vx-hero-image {
    min-height: 560px;
    padding: 16px;
    border-radius: 34px;
    background: rgba(255,255,255,.7);
    box-shadow: 0 40px 90px rgba(7,27,51,.12);
}

.vx-image-placeholder {
    min-height: 528px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 25px;
    background:
        radial-gradient(circle at 70% 20%, rgba(56,189,248,.5), transparent 35%),
        linear-gradient(145deg, #0b63ce, #071b33);
    color: white;
}

.vx-image-placeholder span {
    font-size: 34px;
    font-weight: 800;
    letter-spacing: .15em;
}

.vx-image-placeholder small {
    margin-top: 10px;
    color: rgba(255,255,255,.7);
}

.vx-floating-card {
    position: absolute;
    left: -38px;
    bottom: 38px;
    width: 290px;
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 20px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 60px rgba(7,27,51,.18);
}

.vx-status {
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
    border-radius: 50%;
    background: #20c997;
    box-shadow: 0 0 0 6px rgba(32,201,151,.12);
}

.vx-floating-card small,
.vx-floating-card strong {
    display: block;
}

.vx-floating-card small {
    color: var(--virexis-muted);
}

.vx-floating-card strong {
    margin-top: 3px;
    color: var(--virexis-navy);
    font-size: 13px;
}


/* Sections */

.vx-journey,
.vx-pain,
.vx-technology,
.vx-team,
.vx-final-cta {
    padding: 110px 0;
}

.vx-section-heading {
    max-width: 720px;
    margin-bottom: 50px;
}

.vx-heading-center {
    margin-inline: auto;
    text-align: center;
}

.vx-section-heading h2,
.vx-tech-intro h2 {
    margin: 0;
    color: var(--virexis-navy);
    font-size: clamp(36px, 4vw, 54px);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.vx-section-heading p,
.vx-tech-intro p {
    color: var(--virexis-muted);
    font-size: 17px;
    line-height: 1.7;
}


/* Journey */

.vx-journey {
    background: #fff;
}

.vx-journey-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid rgba(7,27,51,.09);
    border-radius: 26px;
    overflow: hidden;
}

.vx-journey-card {
    position: relative;
    min-height: 320px;
    padding: 36px;
    border-right: 1px solid rgba(7,27,51,.09);
}

.vx-journey-card:last-child {
    border-right: 0;
}

.vx-number {
    color: #a9b8c8;
    font-size: 11px;
    letter-spacing: .15em;
}

.vx-icon {
    width: 52px;
    height: 52px;
    margin-top: 50px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: var(--virexis-ice);
    color: var(--virexis-blue);
    font-size: 22px;
}

.vx-journey-card h3 {
    margin: 22px 0 10px;
    color: var(--virexis-navy);
    font-size: 20px;
}

.vx-journey-card p {
    margin: 0;
    color: var(--virexis-muted);
    font-size: 14px;
    line-height: 1.65;
}


/* Pain */

.vx-pain {
    background: #f5f9fc;
}

.vx-pain-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.vx-pain-card {
    position: relative;
    min-height: 210px;
    padding: 28px;
    border: 1px solid rgba(7,27,51,.07);
    border-radius: 20px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease;
}

.vx-pain-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(7,27,51,.09);
}

.vx-pain-card span {
    color: #a5b5c5;
    font-size: 11px;
}

.vx-pain-card h3 {
    margin: 42px 0 7px;
    color: var(--virexis-navy);
    font-size: 22px;
}

.vx-pain-card p {
    margin: 0;
    color: var(--virexis-muted);
    font-size: 13px;
}

.vx-pain-card b {
    position: absolute;
    right: 25px;
    bottom: 24px;
    color: var(--virexis-blue);
}

.vx-pain-card-dark {
    background: var(--virexis-navy);
}

.vx-pain-card-dark h3,
.vx-pain-card-dark b {
    color: #fff;
}

.vx-pain-card-dark p {
    color: rgba(255,255,255,.65);
}


/* Technology */

.vx-technology {
    display: block;
    background: #fff;
}

.vx-tech-intro {
    max-width: 760px;
    margin-bottom: 55px;
}

.vx-text-link {
    display: inline-block;
    margin-top: 12px;
    color: var(--virexis-blue);
    text-decoration: none;
    font-weight: 700;
}

.vx-tech-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 18px;
}

.vx-tech-card {
    overflow: hidden;
    border: 1px solid rgba(7,27,51,.08);
    border-radius: 24px;
    background: #fff;
}

.vx-tech-image {
    height: 260px;
    display: flex;
    align-items: flex-end;
    padding: 24px;
    background:
        radial-gradient(circle at 70% 20%, rgba(56,189,248,.4), transparent 30%),
        linear-gradient(135deg, #dcecf6, #91b8d2);
}

.vx-tech-featured .vx-tech-image {
    height: 330px;
}

.vx-tech-image span {
    color: rgba(255,255,255,.8);
    font-size: 12px;
}

.vx-tech-content {
    padding: 28px;
}

.vx-tech-content small {
    color: var(--virexis-blue);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
}

.vx-tech-content h3 {
    margin: 10px 0;
    color: var(--virexis-navy);
    font-size: 23px;
}

.vx-tech-content p {
    margin: 0;
    color: var(--virexis-muted);
    font-size: 14px;
    line-height: 1.6;
}


/* Brand */

.vx-brand {
    padding: 125px 0;
    background:
        radial-gradient(circle at 80% 20%, rgba(11,99,206,.3), transparent 30%),
        var(--virexis-navy);
    color: #fff;
}

.vx-brand-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
}

.vx-eyebrow-light {
    color: var(--virexis-cyan);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
}

.vx-brand h2 {
    margin: 25px 0 0;
    font-size: clamp(50px, 6vw, 80px);
    line-height: .98;
    letter-spacing: -.05em;
}

.vx-brand h2 em {
    color: var(--virexis-cyan);
    font-style: normal;
}

.vx-brand-copy > p {
    margin: 35px 0 55px;
    color: rgba(255,255,255,.72);
    font-size: 19px;
    line-height: 1.7;
}

.vx-brand-stats {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px;
}

.vx-brand-stats strong,
.vx-brand-stats span {
    display: block;
}

.vx-brand-stats strong {
    color: var(--virexis-cyan);
    font-size: 12px;
}

.vx-brand-stats span {
    margin-top: 10px;
    color: rgba(255,255,255,.8);
    font-size: 13px;
}


/* Team */

.vx-team {
    background: #f6f9fc;
}

.vx-team-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
}

.vx-doctor {
    overflow: hidden;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 15px 50px rgba(7,27,51,.06);
}

.vx-doctor-photo {
    height: 360px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg,#dbeaf3,#aac6d8);
    color: rgba(7,27,51,.3);
    font-size: 60px;
    font-weight: 800;
}

.vx-doctor > div:last-child {
    padding: 25px;
}

.vx-doctor h3 {
    margin: 0;
    color: var(--virexis-navy);
}

.vx-doctor p {
    margin: 7px 0 0;
    color: var(--virexis-muted);
}


/* Final CTA */

.vx-final-cta {
    background: #fff;
}

.vx-final-card {
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding: 65px;
    border-radius: 32px;
    background:
        radial-gradient(circle at 85% 30%, rgba(56,189,248,.25), transparent 30%),
        linear-gradient(135deg,#0b63ce,#071b33);
    color: #fff;
}

.vx-final-card > div > span {
    color: #9bdcff;
}

.vx-final-card h2 {
    max-width: 700px;
    margin: 0;
    font-size: clamp(38px,5vw,62px);
    line-height: 1;
    letter-spacing: -.045em;
}

.vx-final-card p {
    color: rgba(255,255,255,.7);
    font-size: 17px;
}

.vx-btn-white {
    flex: 0 0 auto;
    background: #fff;
    color: var(--virexis-navy);
}


/* Responsive */

@media (max-width: 980px) {

    .virexis-navigation {
        display: none;
    }

    .vx-hero-grid,
    .vx-brand-grid {
        grid-template-columns: 1fr;
    }

    .vx-hero {
        padding-top: 65px;
    }

    .vx-hero-visual {
        margin-top: 10px;
    }

    .vx-journey-grid,
    .vx-pain-grid {
        grid-template-columns: repeat(2,1fr);
    }

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

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

    .vx-final-card {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 600px) {

    .virexis-header .virexis-container {
        min-height: 72px;
    }

    .virexis-header-cta {
        padding: 0 17px;
        min-height: 42px;
    }

    .vx-hero {
        min-height: auto;
        padding: 60px 0;
    }

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

    .vx-hero-actions,
    .vx-hero-trust {
        flex-direction: column;
    }

    .vx-hero-image {
        min-height: 430px;
    }

    .vx-image-placeholder {
        min-height: 398px;
    }

    .vx-floating-card {
        left: 18px;
        right: 18px;
        width: auto;
    }

    .vx-journey,
    .vx-pain,
    .vx-technology,
    .vx-team,
    .vx-final-cta {
        padding: 75px 0;
    }

    .vx-journey-grid,
    .vx-pain-grid,
    .vx-brand-stats {
        grid-template-columns: 1fr;
    }

    .vx-journey-card {
        border-right: 0;
        border-bottom: 1px solid rgba(7,27,51,.09);
    }

    .vx-final-card {
        padding: 38px 28px;
    }
}


/* =========================================================
   REAL VIREXIS ASSETS
   ========================================================= */

.virexis-brand a {
    display: flex;
    align-items: center;
}

.virexis-logo {
    display: block;
    width: 155px;
    height: auto;
    max-height: 58px;
    object-fit: contain;
}

.vx-hero-image {
    position: relative;
    overflow: hidden;
    padding: 0;
    background: #dcebf4;
}

.vx-hero-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.vx-hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(7,27,51,.14) 100%
        );
}

.vx-floating-card {
    z-index: 3;
}

.vx-tech-image {
    position: relative;
    overflow: hidden;
    padding: 0;
    background: #e9f1f6;
}

.vx-tech-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2,.7,.2,1);
}

.vx-tech-card:hover .vx-tech-photo {
    transform: scale(1.035);
}

.vx-tech-image > span {
    position: absolute;
    left: 20px;
    bottom: 20px;
    z-index: 2;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(7,27,51,.82);
    backdrop-filter: blur(10px);
    color: #fff;
}

.vx-team-grid {
    grid-template-columns: repeat(4,1fr);
}

.vx-doctor {
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.vx-doctor:hover {
    transform: translateY(-6px);
    box-shadow: 0 25px 60px rgba(7,27,51,.12);
}

.vx-doctor-photo {
    position: relative;
    height: 410px;
    overflow: hidden;
    background: #dce8ef;
}

.vx-doctor-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform .5s ease;
}

.vx-doctor:hover .vx-doctor-img {
    transform: scale(1.025);
}

.vx-doctor-info {
    padding: 25px !important;
}

.vx-doctor-info span {
    display: block;
    margin-bottom: 9px;
    color: var(--virexis-blue);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.vx-doctor-info h3 {
    font-size: 19px;
}

@media (max-width: 1100px) {
    .vx-team-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width: 600px) {

    .virexis-logo {
        width: 125px;
    }

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

    .vx-doctor-photo {
        height: 470px;
    }
}


/* =========================================================
   VIREXIS PREMIUM HEADER V2
   ========================================================= */

.vx-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    background: rgba(255,255,255,.92);
    border-bottom: 1px solid rgba(7,27,51,.06);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition:
        box-shadow .3s ease,
        background .3s ease;
}

.vx-site-header.is-scrolled {
    background: rgba(255,255,255,.97);
    box-shadow: 0 10px 35px rgba(7,27,51,.07);
}

.vx-header-inner {
    width: min(1380px, calc(100% - 56px));
    height: 82px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 200px 1fr auto;
    align-items: center;
    gap: 32px;
}

.virexis-brand {
    display: flex;
    align-items: center;
}

.virexis-brand a {
    display: inline-flex;
    align-items: center;
}

.virexis-logo {
    width: 165px;
    height: auto;
    max-height: 58px;
    object-fit: contain;
}

.vx-main-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(22px,2.4vw,42px);
}

.vx-main-nav a,
.vx-header-contact {
    position: relative;
    color: #26384d;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease;
}

.vx-main-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -9px;
    height: 2px;
    border-radius: 2px;
    background: var(--virexis-blue);
    transition: right .25s ease;
}

.vx-main-nav a:hover {
    color: var(--virexis-blue);
}

.vx-main-nav a:hover::after {
    right: 0;
}

.vx-header-actions {
    display: flex;
    align-items: center;
    gap: 22px;
}

.vx-header-contact:hover {
    color: var(--virexis-blue);
}

.vx-header-cta {
    min-height: 46px;
    padding: 0 19px 0 21px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg,#1767df,#0b4fae);
    box-shadow: 0 8px 20px rgba(11,99,206,.18);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.vx-header-cta svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vx-header-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(11,99,206,.24);
}

.vx-menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #edf5fa;
    cursor: pointer;
}

.vx-menu-toggle span {
    display: block;
    width: 17px;
    height: 1.5px;
    margin: 5px auto;
    background: var(--virexis-navy);
    transition: transform .25s ease;
}


/* TABLET / MOBILE */

@media (max-width: 1050px) {

    .vx-header-inner {
        width: min(100% - 36px, 1380px);
        height: 74px;
        grid-template-columns: 1fr auto;
    }

    .virexis-logo {
        width: 145px;
    }

    .vx-main-nav {
        position: fixed;
        top: 74px;
        left: 18px;
        right: 18px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 16px;
        border: 1px solid rgba(7,27,51,.08);
        border-radius: 20px;
        background: rgba(255,255,255,.98);
        box-shadow: 0 25px 60px rgba(7,27,51,.14);

        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);

        transition:
            opacity .25s ease,
            visibility .25s ease,
            transform .25s ease;
    }

    .vx-main-nav.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .vx-main-nav a {
        padding: 14px 12px;
        border-bottom: 1px solid #edf2f5;
        font-size: 14px;
    }

    .vx-main-nav a:last-child {
        border-bottom: 0;
    }

    .vx-main-nav a::after {
        display: none;
    }

    .vx-header-contact {
        display: none;
    }

    .vx-menu-toggle {
        display: block;
    }

}

@media (max-width: 600px) {

    .vx-header-inner {
        width: calc(100% - 28px);
    }

    .virexis-logo {
        width: 128px;
    }

    .vx-header-actions {
        gap: 9px;
    }

    .vx-header-cta {
        min-height: 40px;
        padding: 0 14px;
    }

    .vx-header-cta svg {
        display: none;
    }

}


/* =========================================================
   VIREXIS — HERO / HEADER REFINEMENT V2
   ========================================================= */

html {
    scroll-behavior: smooth;
}

/* Compensación del header sticky al navegar por anclas */
#modelo,
#dolor,
#tecnologia,
#equipo,
#contacto,
#agendar {
    scroll-margin-top: 105px;
}


/* HEADER — ajuste fino */

@media (min-width: 1051px) {

    .vx-header-inner {
        height: 86px;
    }

    .virexis-logo {
        width: 176px;
        max-height: 62px;
    }

    .vx-main-nav a,
    .vx-header-contact {
        letter-spacing: -.01em;
    }

}


/* HERO — composición premium */

.vx-hero {
    position: relative;
    overflow: hidden;
}

.vx-hero::before {
    content: "";
    position: absolute;
    width: 620px;
    height: 620px;
    right: -180px;
    top: -260px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(67,175,235,.10) 0%,
            rgba(67,175,235,0) 70%
        );
    pointer-events: none;
}

.vx-hero-inner {
    position: relative;
    z-index: 2;
}


/* TITULAR */

.vx-hero h1 {
    letter-spacing: -.055em;
    line-height: .99;
}

.vx-hero-copy > p {
    max-width: 610px;
    line-height: 1.7;
}


/* BOTONES */

.vx-hero-actions a {
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.vx-hero-actions a:hover {
    transform: translateY(-2px);
}


/* IMAGEN PRINCIPAL */

.vx-hero-media {
    position: relative;
}

.vx-hero-image {
    overflow: hidden;
    border-radius: 30px;
    box-shadow:
        0 35px 70px rgba(8,35,65,.13),
        0 8px 22px rgba(8,35,65,.06);
}

.vx-hero-image img {
    transition: transform 1.1s cubic-bezier(.2,.8,.2,1);
}

.vx-hero-image:hover img {
    transform: scale(1.018);
}


/* TARJETA FLOTANTE */

.vx-hero-floating {
    box-shadow:
        0 18px 45px rgba(7,30,58,.12);
    border:
        1px solid rgba(255,255,255,.85);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}


/* TRUST ITEMS */

.vx-hero-trust {
    border-top-color: rgba(10,43,77,.11);
}

.vx-hero-trust strong {
    letter-spacing: -.015em;
}


/* MOBILE */

@media (max-width: 800px) {

    #modelo,
    #dolor,
    #tecnologia,
    #equipo,
    #contacto,
    #agendar {
        scroll-margin-top: 88px;
    }

    .vx-hero h1 {
        letter-spacing: -.045em;
    }

    .vx-hero-image {
        border-radius: 22px;
    }

}


/* =========================================================
   VIREXIS — MEDICAL TEAM PREMIUM V2
   ========================================================= */

.vx-team {
    position: relative;
    overflow: hidden;
    padding-top: clamp(90px, 9vw, 145px);
    padding-bottom: clamp(100px, 10vw, 155px);
}

.vx-team::before {
    content: "";
    position: absolute;
    width: 650px;
    height: 650px;
    left: -330px;
    top: 80px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(39, 126, 225, .08) 0%,
        rgba(39, 126, 225, 0) 70%
    );
    pointer-events: none;
}

.vx-team .vx-container {
    position: relative;
    z-index: 2;
}


/* CABECERA */

.vx-team .vx-section-head {
    max-width: 760px;
    margin-bottom: 54px;
}

.vx-team .vx-eyebrow {
    margin-bottom: 16px;
}

.vx-team .vx-section-head h2 {
    max-width: 680px;
    letter-spacing: -.045em;
    line-height: 1.04;
}

.vx-team .vx-section-head p {
    max-width: 650px;
    margin-top: 18px;
    line-height: 1.7;
}


/* GRID */

.vx-team-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}


/* TARJETA */

.vx-doctor-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(9, 40, 73, .07);
    box-shadow:
        0 18px 50px rgba(8, 34, 62, .055);
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease;
}

.vx-doctor-card:hover {
    transform: translateY(-7px);
    box-shadow:
        0 30px 65px rgba(8, 34, 62, .12);
}


/* FOTOGRAFÍA */

.vx-doctor-photo {
    position: relative;
    height: 430px;
    overflow: hidden;
    background:
        linear-gradient(145deg, #edf5fa, #dceaf4);
}

.vx-doctor-photo::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 32%;
    background: linear-gradient(
        to top,
        rgba(5, 26, 49, .15),
        rgba(5, 26, 49, 0)
    );
    pointer-events: none;
}

.vx-doctor-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition:
        transform .7s cubic-bezier(.2,.8,.2,1);
}

.vx-doctor-card:hover .vx-doctor-img {
    transform: scale(1.025);
}


/* INFORMACIÓN */

.vx-doctor-info {
    position: relative;
    padding: 25px 25px 27px;
}

.vx-doctor-info::before {
    content: "";
    position: absolute;
    top: 0;
    left: 25px;
    width: 32px;
    height: 3px;
    border-radius: 3px;
    background: var(--virexis-blue);
}

.vx-doctor-info h3 {
    margin: 0 0 7px;
    color: var(--virexis-navy);
    font-size: clamp(18px, 1.45vw, 22px);
    line-height: 1.18;
    letter-spacing: -.025em;
}

.vx-doctor-info p {
    margin: 0;
    color: #718197;
    font-size: 13px;
    line-height: 1.5;
}


/* PRIMER MÉDICO — DISTINCIÓN SUTIL */

@media (min-width: 1101px) {

    .vx-doctor-card:first-child {
        transform: translateY(-14px);
    }

    .vx-doctor-card:first-child:hover {
        transform: translateY(-21px);
    }

}


/* TABLET */

@media (max-width: 1100px) {

    .vx-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .vx-doctor-photo {
        height: 500px;
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .vx-team {
        padding-top: 80px;
        padding-bottom: 90px;
    }

    .vx-team .vx-section-head {
        margin-bottom: 35px;
    }

    .vx-team-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .vx-doctor-photo {
        height: min(118vw, 520px);
    }

    .vx-doctor-info {
        padding: 23px 22px 25px;
    }

    .vx-doctor-info::before {
        left: 22px;
    }

}


/* =========================================================
   VIREXIS — TEAM V2 MARKUP COMPATIBILITY
   ========================================================= */

/* Contenedor real */
.vx-team .virexis-container {
    position: relative;
    z-index: 2;
}


/* Encabezado real */
.vx-team .vx-section-heading {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 58px;
}

.vx-team .vx-section-heading > span {
    display: inline-block;
    margin-bottom: 16px;
}

.vx-team .vx-section-heading h2 {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: -.045em;
    line-height: 1.04;
}

.vx-team .vx-section-heading p {
    max-width: 650px;
    margin: 18px auto 0;
    line-height: 1.7;
}


/* Tarjeta real */
.vx-doctor {
    position: relative;
    overflow: hidden;
    min-width: 0;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(9,40,73,.07);
    box-shadow:
        0 18px 50px rgba(8,34,62,.055);
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease;
}

.vx-doctor:hover {
    transform: translateY(-7px);
    box-shadow:
        0 30px 65px rgba(8,34,62,.12);
}


/* Imagen */
.vx-doctor:hover .vx-doctor-img {
    transform: scale(1.025);
}


/* Categoría profesional */
.vx-doctor-info > span {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--virexis-blue);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .11em;
    text-transform: uppercase;
}


/* Primer perfil: variación editorial */
@media (min-width: 1101px) {

    .vx-doctor:first-child {
        transform: translateY(-14px);
    }

    .vx-doctor:first-child:hover {
        transform: translateY(-21px);
    }

}


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

    .vx-team .vx-section-heading {
        margin-bottom: 38px;
    }

}


/* =========================================================
   VIREXIS — SERVICES PREMIUM V1
   ========================================================= */

.vx-services {
    position: relative;
    overflow: hidden;
    padding: 112px 0 122px;
    background:
        radial-gradient(
            circle at 85% 10%,
            rgba(30, 128, 214, .07),
            transparent 28%
        ),
        #f7fafc;
}

.vx-services .vx-section-heading {
    max-width: 780px;
    margin: 0 auto 58px;
    text-align: center;
}

.vx-services .vx-section-heading > span {
    display: inline-block;
    margin-bottom: 16px;
    color: var(--virexis-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.vx-services .vx-section-heading h2 {
    max-width: 720px;
    margin: 0 auto;
    letter-spacing: -.045em;
    line-height: 1.04;
}

.vx-services .vx-section-heading p {
    max-width: 610px;
    margin: 19px auto 0;
    line-height: 1.7;
}


/* GRID */

.vx-services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}


/* CARD */

.vx-service-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    background: #fff;
    border: 1px solid rgba(9, 40, 73, .07);
    border-radius: 25px;
    box-shadow:
        0 16px 45px rgba(8, 34, 62, .055);
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease,
        border-color .35s ease;
}

.vx-service-card:hover {
    transform: translateY(-7px);
    border-color: rgba(21, 111, 190, .16);
    box-shadow:
        0 28px 65px rgba(8, 34, 62, .11);
}


/* IMAGE */

.vx-service-image-link {
    display: block;
    text-decoration: none;
}

.vx-service-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #eaf1f7;
}

.vx-service-image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            transparent 60%,
            rgba(6, 28, 50, .08)
        );
}

.vx-service-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s cubic-bezier(.2,.8,.2,1);
}

.vx-service-card:hover .vx-service-img {
    transform: scale(1.045);
}


/* CONTENT */

.vx-service-content {
    display: flex;
    flex-direction: column;
    min-height: 240px;
    padding: 26px 25px 25px;
}

.vx-service-content h3 {
    margin: 0;
    font-size: 20px;
    line-height: 1.18;
    letter-spacing: -.025em;
}

.vx-service-content h3 a {
    color: var(--virexis-navy);
    text-decoration: none;
}

.vx-service-content p {
    margin: 15px 0 22px;
    color: #627385;
    font-size: 14px;
    line-height: 1.65;
}


/* LINK */

.vx-service-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    margin-top: auto;
    color: var(--virexis-blue);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.vx-service-arrow {
    display: inline-block;
    transition: transform .25s ease;
}

.vx-service-link:hover .vx-service-arrow {
    transform: translateX(5px);
}


/* TABLET */

@media (max-width: 1100px) {

    .vx-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .vx-services {
        padding: 82px 0 90px;
    }

    .vx-services .vx-section-heading {
        margin-bottom: 38px;
    }

    .vx-services-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .vx-service-content {
        min-height: auto;
        padding: 23px 22px 24px;
    }

    .vx-service-content h3 {
        font-size: 19px;
    }

}



/* =========================================================
   VIREXIS — SERVICES PREMIUM V2
   ========================================================= */

.vx-services-v2 {
    padding: 118px 0 125px;
    background:
        radial-gradient(
            circle at 88% 5%,
            rgba(27, 125, 211, .075),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #f8fbfd 0%,
            #f5f9fc 100%
        );
}


/* FEATURED SERVICES */

.vx-services-featured {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 58px;
}

.vx-service-featured {
    position: relative;
    display: grid;
    grid-template-columns: 46% 54%;
    min-height: 310px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(9, 40, 73, .07);
    border-radius: 28px;
    box-shadow:
        0 18px 50px rgba(8, 34, 62, .055);
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease,
        border-color .35s ease;
}

.vx-service-featured:hover {
    transform: translateY(-6px);
    border-color: rgba(25, 112, 190, .16);
    box-shadow:
        0 30px 70px rgba(8, 34, 62, .11);
}


/* FEATURED IMAGE */

.vx-service-featured-media {
    position: relative;
    display: block;
    min-height: 100%;
    overflow: hidden;
    background: #e9f0f5;
}

.vx-service-featured-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .65s cubic-bezier(.2,.8,.2,1);
}

.vx-service-featured:hover
.vx-service-featured-img {
    transform: scale(1.045);
}

.vx-service-featured-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            transparent 65%,
            rgba(255,255,255,.08)
        );
}


/* FEATURED CONTENT */

.vx-service-featured-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px 34px 32px;
}

.vx-service-eyebrow {
    display: block;
    margin-bottom: 13px;
    color: var(--virexis-blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.vx-service-featured-body h3 {
    margin: 0;
    font-size: clamp(21px, 1.55vw, 27px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.vx-service-featured-body h3 a {
    color: var(--virexis-navy);
    text-decoration: none;
}

.vx-service-featured-body p {
    margin: 17px 0 25px;
    color: #637587;
    font-size: 14px;
    line-height: 1.68;
}

.vx-service-featured-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    margin-top: auto;
    color: var(--virexis-blue);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.vx-service-featured-link span {
    transition: transform .25s ease;
}

.vx-service-featured-link:hover span {
    transform: translateX(5px);
}


/* SECONDARY HEADER */

.vx-services-secondary-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-top: 72px;
    margin-bottom: 25px;
}

.vx-services-secondary-head span {
    display: block;
    margin-bottom: 8px;
    color: var(--virexis-blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.vx-services-secondary-head h3 {
    max-width: 650px;
    margin: 0;
    color: var(--virexis-navy);
    font-size: 25px;
    line-height: 1.18;
    letter-spacing: -.035em;
}


/* SECONDARY SERVICES */

.vx-services-secondary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.vx-service-secondary {
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(9, 40, 73, .07);
    border-radius: 20px;
    color: inherit;
    text-decoration: none;
    box-shadow:
        0 12px 35px rgba(8, 34, 62, .045);
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.vx-service-secondary:hover {
    transform: translateY(-5px);
    box-shadow:
        0 22px 48px rgba(8, 34, 62, .09);
}

.vx-service-secondary-media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 8.7;
    background: #eaf1f6;
}

.vx-service-secondary-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.vx-service-secondary:hover
.vx-service-secondary-img {
    transform: scale(1.04);
}

.vx-service-secondary-body {
    padding: 20px 20px 21px;
}

.vx-service-secondary-body h3 {
    min-height: 46px;
    margin: 0 0 15px;
    color: var(--virexis-navy);
    font-size: 17px;
    line-height: 1.28;
    letter-spacing: -.02em;
}

.vx-service-secondary-body > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--virexis-blue);
    font-size: 12px;
    font-weight: 800;
}

.vx-service-secondary-body b {
    font-size: 15px;
    font-weight: 500;
    transition: transform .25s ease;
}

.vx-service-secondary:hover
.vx-service-secondary-body b {
    transform: translateX(4px);
}


/* RESPONSIVE */

@media (max-width: 1180px) {

    .vx-service-featured {
        grid-template-columns: 42% 58%;
    }

    .vx-service-featured-body {
        padding: 29px 27px;
    }

}


@media (max-width: 980px) {

    .vx-services-featured {
        grid-template-columns: 1fr;
    }

    .vx-service-featured {
        grid-template-columns: 42% 58%;
        min-height: 290px;
    }

    .vx-services-secondary {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 650px) {

    .vx-services-v2 {
        padding: 84px 0 92px;
    }

    .vx-services-featured {
        margin-top: 38px;
        gap: 18px;
    }

    .vx-service-featured {
        display: block;
        min-height: 0;
        border-radius: 23px;
    }

    .vx-service-featured-media {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .vx-service-featured-img {
        position: absolute;
    }

    .vx-service-featured-body {
        padding: 25px 23px 26px;
    }

    .vx-service-featured-body h3 {
        font-size: 22px;
    }

    .vx-services-secondary-head {
        margin-top: 54px;
    }

    .vx-services-secondary-head h3 {
        font-size: 22px;
    }

    .vx-services-secondary {
        grid-template-columns: 1fr;
    }

    .vx-service-secondary {
        display: grid;
        grid-template-columns: 38% 62%;
    }

    .vx-service-secondary-media {
        height: 100%;
        aspect-ratio: auto;
    }

    .vx-service-secondary-body h3 {
        min-height: 0;
    }

}




/* =========================================================
   VIREXIS — AREAS DE ATENCION V1
   ========================================================= */

.vx-areas {
    padding: 118px 0 125px;
    background:
        radial-gradient(
            circle at 90% 8%,
            rgba(37, 126, 207, .07),
            transparent 25%
        ),
        #f7fafc;
}

.vx-areas-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 56px;
}

.vx-area-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(12, 45, 78, .07);
    border-radius: 25px;
    box-shadow:
        0 16px 45px rgba(8, 35, 65, .055);
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease;
}

.vx-area-card:hover {
    transform: translateY(-7px);
    box-shadow:
        0 28px 65px rgba(8, 35, 65, .11);
}

.vx-area-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #eaf0f5;
}

.vx-area-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s cubic-bezier(.2,.8,.2,1);
}

.vx-area-card:hover .vx-area-img {
    transform: scale(1.045);
}

.vx-area-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(5, 25, 48, .12)
        );
}

.vx-area-content {
    padding: 27px 27px 29px;
}

.vx-area-label {
    display: block;
    margin-bottom: 11px;
    color: var(--virexis-blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.vx-area-content h3 {
    margin: 0;
    font-size: 22px;
    line-height: 1.14;
    letter-spacing: -.03em;
}

.vx-area-content h3 a {
    color: var(--virexis-navy);
    text-decoration: none;
}

.vx-area-content p {
    min-height: 70px;
    margin: 15px 0 22px;
    color: #657687;
    font-size: 14px;
    line-height: 1.67;
}

.vx-area-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--virexis-blue);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.vx-area-link span {
    transition: transform .25s ease;
}

.vx-area-card:hover .vx-area-link span {
    transform: translateX(5px);
}


/* =========================================================
   VIREXIS — DIAGNOSTICO AVANZADO V1
   ========================================================= */

.vx-diagnostic {
    position: relative;
    overflow: hidden;
    padding: 120px 0 128px;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(39, 130, 220, .18),
            transparent 29%
        ),
        linear-gradient(
            135deg,
            #061b32 0%,
            #082848 52%,
            #0a345c 100%
        );
}

.vx-diagnostic::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    top: -280px;
    left: -220px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
}

.vx-diagnostic-intro {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.15fr .65fr;
    gap: 80px;
    align-items: end;
}

.vx-diagnostic-kicker {
    display: block;
    margin-bottom: 17px;
    color: #7bc5ff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
}

.vx-diagnostic-intro h2 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(37px, 4vw, 61px);
    line-height: .99;
    letter-spacing: -.048em;
}

.vx-diagnostic-intro > p {
    margin: 0 0 5px;
    color: rgba(255,255,255,.67);
    font-size: 15px;
    line-height: 1.75;
}

.vx-diagnostic-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px;
    margin-top: 58px;
}

.vx-diagnostic-card {
    overflow: hidden;
    background: rgba(255,255,255,.97);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 23px;
    color: inherit;
    text-decoration: none;
    box-shadow:
        0 20px 50px rgba(0,0,0,.13);
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease;
}

.vx-diagnostic-card:hover {
    transform: translateY(-7px);
    box-shadow:
        0 30px 65px rgba(0,0,0,.22);
}

.vx-diagnostic-media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3.1;
    background: #dce7ef;
}

.vx-diagnostic-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s cubic-bezier(.2,.8,.2,1);
}

.vx-diagnostic-card:hover
.vx-diagnostic-img {
    transform: scale(1.05);
}

.vx-diagnostic-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(5,24,44,0) 48%,
            rgba(5,24,44,.28) 100%
        );
}

.vx-diagnostic-number {
    position: absolute;
    top: 17px;
    left: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 37px;
    height: 37px;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 50%;
    background: rgba(5,28,52,.38);
    backdrop-filter: blur(10px);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

.vx-diagnostic-content {
    padding: 23px 22px 24px;
}

.vx-diagnostic-content h3 {
    min-height: 52px;
    margin: 0 0 16px;
    color: var(--virexis-navy);
    font-size: 19px;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.vx-diagnostic-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--virexis-blue);
    font-size: 12px;
    font-weight: 800;
}

.vx-diagnostic-link b {
    font-size: 15px;
    font-weight: 500;
    transition: transform .25s ease;
}

.vx-diagnostic-card:hover
.vx-diagnostic-link b {
    transform: translateX(4px);
}


/* =========================================================
   RESPONSIVE — AREAS + DIAGNOSTICO
   ========================================================= */

@media (max-width: 1050px) {

    .vx-areas-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .vx-diagnostic-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 760px) {

    .vx-areas,
    .vx-diagnostic {
        padding-top: 85px;
        padding-bottom: 90px;
    }

    .vx-diagnostic-intro {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .vx-diagnostic-intro h2 {
        font-size: 39px;
    }

}


@media (max-width: 620px) {

    .vx-areas-grid,
    .vx-diagnostic-grid {
        grid-template-columns: 1fr;
    }

    .vx-areas-grid {
        margin-top: 38px;
    }

    .vx-area-content p {
        min-height: 0;
    }

    .vx-diagnostic-grid {
        margin-top: 40px;
    }

    .vx-diagnostic-media {
        aspect-ratio: 16 / 10;
    }

    .vx-diagnostic-content h3 {
        min-height: 0;
    }

}




/* =========================================================
   VIREXIS — TECHNOLOGY PREMIUM V2
   ========================================================= */

.vx-tech-v2 {
    position: relative;
    overflow: hidden;
    padding: 125px 0 128px;
    background: #fff;
}

.vx-tech-v2::before {
    content: "";
    position: absolute;
    width: 650px;
    height: 650px;
    right: -320px;
    top: -310px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(29, 128, 216, .075),
            transparent 67%
        );
    pointer-events: none;
}


/* INTRO */

.vx-tech-intro {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.15fr .65fr;
    gap: 90px;
    align-items: end;
}

.vx-tech-kicker {
    display: block;
    margin-bottom: 17px;
    color: var(--virexis-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
}

.vx-tech-intro h2 {
    max-width: 750px;
    margin: 0;
    color: var(--virexis-navy);
    font-size: clamp(39px, 4.25vw, 64px);
    line-height: .99;
    letter-spacing: -.05em;
}

.vx-tech-intro-text p {
    margin: 0;
    color: #637587;
    font-size: 15px;
    line-height: 1.75;
}

.vx-tech-intro-text > span {
    display: block;
    margin-top: 18px;
    padding-top: 17px;
    border-top: 1px solid #e3eaf0;
    color: var(--virexis-navy);
    font-size: 12px;
    font-weight: 800;
}


/* FEATURED */

.vx-tech-featured-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 23px;
    margin-top: 60px;
}

.vx-tech-featured-card {
    display: grid;
    grid-template-columns: 48% 52%;
    min-height: 340px;
    overflow: hidden;
    border: 1px solid rgba(8, 40, 72, .075);
    border-radius: 27px;
    background: #f9fbfd;
    box-shadow:
        0 16px 45px rgba(7, 34, 61, .055);
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease;
}

.vx-tech-featured-card:hover {
    transform: translateY(-6px);
    box-shadow:
        0 28px 65px rgba(7, 34, 61, .105);
}

.vx-tech-featured-media {
    position: relative;
    display: block;
    min-height: 100%;
    overflow: hidden;
    background: #e7eef4;
}

.vx-tech-featured-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s cubic-bezier(.2,.8,.2,1);
}

.vx-tech-featured-card:hover
.vx-tech-featured-img {
    transform: scale(1.045);
}

.vx-tech-image-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(5, 28, 52, 0) 55%,
            rgba(5, 28, 52, .18)
        );
}

.vx-tech-index {
    position: absolute;
    top: 18px;
    left: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    border: 1px solid rgba(255,255,255,.52);
    border-radius: 50%;
    background: rgba(6, 31, 57, .35);
    backdrop-filter: blur(10px);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

.vx-tech-featured-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 35px 34px;
}

.vx-tech-type {
    display: block;
    margin-bottom: 13px;
    color: var(--virexis-blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.vx-tech-featured-content h3 {
    margin: 0;
    font-size: 25px;
    line-height: 1.09;
    letter-spacing: -.035em;
}

.vx-tech-featured-content h3 a {
    color: var(--virexis-navy);
    text-decoration: none;
}

.vx-tech-featured-content p {
    margin: 17px 0 25px;
    color: #657687;
    font-size: 13.5px;
    line-height: 1.68;
}

.vx-tech-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: auto;
    color: var(--virexis-blue);
    font-size: 12.5px;
    font-weight: 800;
    text-decoration: none;
}

.vx-tech-more span {
    transition: transform .25s ease;
}

.vx-tech-featured-card:hover
.vx-tech-more span {
    transform: translateX(5px);
}


/* MORE TECHNOLOGY */

.vx-tech-more-heading {
    margin-top: 74px;
    margin-bottom: 26px;
}

.vx-tech-more-heading > span {
    display: block;
    margin-bottom: 9px;
    color: var(--virexis-blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
}

.vx-tech-more-heading h3 {
    max-width: 650px;
    margin: 0;
    color: var(--virexis-navy);
    font-size: 25px;
    line-height: 1.2;
    letter-spacing: -.035em;
}

.vx-tech-secondary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px;
}

.vx-tech-secondary-card {
    overflow: hidden;
    border: 1px solid rgba(8, 40, 72, .07);
    border-radius: 20px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow:
        0 11px 32px rgba(7, 34, 61, .045);
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.vx-tech-secondary-card:hover {
    transform: translateY(-5px);
    box-shadow:
        0 21px 48px rgba(7, 34, 61, .09);
}

.vx-tech-secondary-media {
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #e8eef3;
}

.vx-tech-secondary-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.vx-tech-secondary-card:hover
.vx-tech-secondary-img {
    transform: scale(1.045);
}

.vx-tech-secondary-content {
    padding: 19px 20px 21px;
}

.vx-tech-secondary-content h4 {
    min-height: 43px;
    margin: 0 0 14px;
    color: var(--virexis-navy);
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: -.02em;
}

.vx-tech-secondary-content span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--virexis-blue);
    font-size: 12px;
    font-weight: 800;
}

.vx-tech-secondary-content b {
    font-size: 14px;
    font-weight: 500;
    transition: transform .25s ease;
}

.vx-tech-secondary-card:hover
.vx-tech-secondary-content b {
    transform: translateX(4px);
}


/* FOOTER NOTE */

.vx-tech-footer {
    margin-top: 48px;
    padding-top: 29px;
    border-top: 1px solid #e2e9ef;
}

.vx-tech-footer > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.vx-tech-footer strong {
    color: var(--virexis-navy);
    font-size: 15px;
}

.vx-tech-footer span {
    max-width: 540px;
    color: #748493;
    font-size: 13px;
    line-height: 1.6;
}


/* RESPONSIVE */

@media (max-width: 1080px) {

    .vx-tech-featured-card {
        grid-template-columns: 43% 57%;
    }

    .vx-tech-featured-content {
        padding: 30px 27px;
    }

}


@media (max-width: 960px) {

    .vx-tech-intro {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .vx-tech-intro-text {
        max-width: 650px;
    }

    .vx-tech-featured-grid {
        grid-template-columns: 1fr;
    }

    .vx-tech-secondary-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 620px) {

    .vx-tech-v2 {
        padding: 88px 0 92px;
    }

    .vx-tech-intro h2 {
        font-size: 39px;
    }

    .vx-tech-featured-grid {
        margin-top: 40px;
    }

    .vx-tech-featured-card {
        display: block;
        min-height: 0;
    }

    .vx-tech-featured-media {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .vx-tech-featured-content {
        padding: 25px 23px 27px;
    }

    .vx-tech-featured-content h3 {
        font-size: 22px;
    }

    .vx-tech-secondary-grid {
        grid-template-columns: 1fr;
    }

    .vx-tech-secondary-card {
        display: grid;
        grid-template-columns: 38% 62%;
    }

    .vx-tech-secondary-media {
        height: 100%;
        aspect-ratio: auto;
    }

    .vx-tech-secondary-content h4 {
        min-height: 0;
    }

    .vx-tech-footer > div {
        display: block;
    }

    .vx-tech-footer span {
        display: block;
        margin-top: 8px;
    }

}




/* =========================================================
   VIREXIS — HEADER PREMIUM V3
   ========================================================= */

html {
    scroll-behavior: smooth;
}

#areas,
#diagnostico,
#tecnologia,
#equipo,
#contacto {
    scroll-margin-top: 105px;
}


/* HEADER */

.vx-header {
    position: sticky;
    top: 0;
    z-index: 999;
    width: 100%;
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid rgba(8, 39, 69, .06);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition:
        background .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.vx-header.is-scrolled {
    background: rgba(255, 255, 255, .985);
    border-color: rgba(8, 39, 69, .08);
    box-shadow:
        0 8px 35px rgba(6, 33, 60, .075);
}


.vx-header-inner {
    display: flex;
    align-items: center;
    width: min(1380px, calc(100% - 64px));
    height: 88px;
    margin: 0 auto;
}


/* LOGO */

.vx-brand {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    text-decoration: none;
}

.vx-brand-logo {
    display: block;
    width: 174px;
    height: auto;
}


/* NAVIGATION */

.vx-main-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(22px, 2.1vw, 37px);
    margin-left: auto;
    margin-right: clamp(24px, 2.4vw, 42px);
}

.vx-main-nav > a {
    position: relative;
    padding: 34px 0 32px;
    color: #25394c;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: color .25s ease;
}

.vx-main-nav > a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 23px;
    left: 0;
    height: 2px;
    background: var(--virexis-blue);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
}

.vx-main-nav > a:hover,
.vx-main-nav > a:focus {
    color: var(--virexis-blue);
}

.vx-main-nav > a:hover::after,
.vx-main-nav > a:focus::after {
    transform: scaleX(1);
}


/* ACTIONS */

.vx-header-actions {
    display: flex;
    align-items: center;
    gap: 13px;
    flex: 0 0 auto;
}

.vx-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 47px;
    padding: 0 21px;
    border-radius: 999px;
    background:
        linear-gradient(
            135deg,
            #0c6fbd 0%,
            #168edc 100%
        );
    box-shadow:
        0 8px 22px rgba(18, 121, 198, .18);
    color: #fff;
    font-size: 12.5px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.vx-header-cta svg {
    width: 17px;
    height: 17px;
    transition: transform .25s ease;
}

.vx-header-cta:hover {
    transform: translateY(-2px);
    box-shadow:
        0 13px 29px rgba(18, 121, 198, .27);
    color: #fff;
}

.vx-header-cta:hover svg {
    transform: translateX(3px);
}


/* MOBILE BUTTON */

.vx-menu-toggle {
    display: none;
    width: 45px;
    height: 45px;
    padding: 0;
    border: 1px solid rgba(7, 39, 70, .10);
    border-radius: 50%;
    background: #f6f9fb;
    cursor: pointer;
}

.vx-menu-toggle span {
    display: block;
    width: 17px;
    height: 2px;
    margin: 4px auto;
    border-radius: 3px;
    background: var(--virexis-navy);
    transition:
        transform .25s ease,
        opacity .25s ease;
}


/* =========================================================
   HEADER RESPONSIVE
   ========================================================= */

@media (max-width: 1180px) {

    .vx-main-nav {
        gap: 21px;
        margin-right: 23px;
    }

    .vx-main-nav > a {
        font-size: 12px;
    }

    .vx-brand-logo {
        width: 158px;
    }

}


@media (max-width: 1050px) {

    .vx-header-inner {
        position: relative;
        width: min(100% - 38px, 1380px);
        height: 78px;
    }

    .vx-brand-logo {
        width: 158px;
    }

    .vx-menu-toggle {
        display: block;
    }

    .vx-header-cta {
        min-height: 44px;
        padding: 0 18px;
    }

    .vx-main-nav {
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        left: 0;
        display: block;
        visibility: hidden;
        margin: 0;
        padding: 13px;
        border: 1px solid rgba(7, 39, 70, .08);
        border-radius: 20px;
        background: rgba(255,255,255,.985);
        box-shadow:
            0 25px 60px rgba(5, 30, 55, .13);
        opacity: 0;
        transform: translateY(-8px);
        pointer-events: none;
        transition:
            opacity .25s ease,
            transform .25s ease,
            visibility .25s ease;
    }

    .vx-header.menu-open .vx-main-nav {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .vx-main-nav > a {
        display: flex;
        align-items: center;
        min-height: 49px;
        padding: 0 17px;
        border-radius: 12px;
        color: var(--virexis-navy);
        font-size: 14px;
    }

    .vx-main-nav > a::after {
        display: none;
    }

    .vx-main-nav > a:hover {
        background: #f2f7fb;
    }

    .vx-menu-toggle span {
        transition:
            transform .25s ease,
            opacity .25s ease;
    }

    .vx-header.menu-open
    .vx-menu-toggle span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .vx-header.menu-open
    .vx-menu-toggle span:nth-child(2) {
        opacity: 0;
    }

    .vx-header.menu-open
    .vx-menu-toggle span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

}


@media (max-width: 600px) {

    .vx-header-inner {
        width: calc(100% - 28px);
        height: 72px;
    }

    .vx-brand-logo {
        width: 140px;
    }

    .vx-header-cta {
        display: none;
    }

    .vx-menu-toggle {
        width: 43px;
        height: 43px;
    }

    #areas,
    #diagnostico,
    #tecnologia,
    #equipo,
    #contacto {
        scroll-margin-top: 85px;
    }

}




/* =========================================================
   VIREXIS — HEADER LOGO FIX
   ========================================================= */

.vx-brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 180px;
    height: 64px;
    overflow: hidden;
}

.vx-brand-logo {
    display: block !important;
    width: 170px !important;
    height: 58px !important;
    max-width: 170px !important;
    max-height: 58px !important;
    object-fit: contain !important;
    object-position: left center;
}


/* Tablet */

@media (max-width: 1180px) {

    .vx-brand {
        width: 165px;
        height: 58px;
    }

    .vx-brand-logo {
        width: 155px !important;
        height: 54px !important;
        max-width: 155px !important;
        max-height: 54px !important;
    }

}


/* Mobile */

@media (max-width: 600px) {

    .vx-brand {
        width: 148px;
        height: 52px;
    }

    .vx-brand-logo {
        width: 140px !important;
        height: 48px !important;
        max-width: 140px !important;
        max-height: 48px !important;
    }

}




/* =========================================================
   VIREXIS — LOGO HEADER FINAL
   ========================================================= */

.vx-header .vx-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 190px !important;
    height: 88px !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;

    overflow: visible !important;
}


.vx-header .vx-brand-logo {
    display: block !important;

    width: 174px !important;
    height: auto !important;

    max-width: 174px !important;
    max-height: 66px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: left center !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}


/* Elimina posibles fondos heredados */

.vx-header .vx-brand,
.vx-header .vx-brand img,
.vx-header .vx-brand picture {
    background-color: transparent !important;
    background-image: none !important;
}


/* TABLET */

@media (max-width: 1180px) {

    .vx-header .vx-brand {
        width: 170px !important;
        height: 78px !important;
    }

    .vx-header .vx-brand-logo {
        width: 158px !important;
        max-width: 158px !important;
        max-height: 58px !important;
    }

}


/* MOBILE */

@media (max-width: 600px) {

    .vx-header .vx-brand {
        width: 150px !important;
        height: 72px !important;
    }

    .vx-header .vx-brand-logo {
        width: 142px !important;
        max-width: 142px !important;
        max-height: 53px !important;
    }

}




/* =========================================================
   VIREXIS — DOLOR PREMIUM V2
   ========================================================= */

.vx-pain-v2 {
    position: relative;
    overflow: hidden;
}

.vx-pain-v2::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -260px;
    top: 80px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(40, 134, 214, .09) 0%,
        rgba(40, 134, 214, 0) 70%
    );
    pointer-events: none;
}

.vx-pain-heading {
    max-width: 720px;
}

.vx-pain-selector {
    margin-top: 46px;
}

.vx-pain-tabs {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
    position: relative;
    z-index: 2;
}

.vx-pain-tab {
    appearance: none;
    border: 1px solid rgba(12, 50, 82, .10);
    background: #fff;
    border-radius: 18px;
    min-height: 142px;
    padding: 20px 16px;
    text-align: left;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease,
        background .25s ease;
    color: #12324b;
    font: inherit;
}

.vx-pain-tab:hover {
    transform: translateY(-4px);
    border-color: rgba(31, 120, 190, .25);
    box-shadow: 0 18px 42px rgba(10, 45, 74, .08);
}

.vx-pain-tab.is-active {
    background: #0c3150;
    border-color: #0c3150;
    color: #fff;
    box-shadow: 0 18px 45px rgba(8, 43, 71, .16);
}

.vx-pain-number {
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    color: #65a8dc;
}

.vx-pain-tab strong {
    display: block;
    font-size: 16px;
    line-height: 1.15;
    font-weight: 700;
    margin-top: 22px;
}

.vx-pain-tab small {
    display: block;
    margin-top: 7px;
    color: #718596;
    font-size: 12px;
    line-height: 1.3;
}

.vx-pain-tab.is-active small {
    color: rgba(255,255,255,.66);
}


/* PANEL */

.vx-pain-result {
    position: relative;
    margin-top: 18px;
    border-radius: 26px;
    background:
        linear-gradient(
            135deg,
            #f7fbfe 0%,
            #eef6fb 100%
        );
    border: 1px solid rgba(16, 68, 108, .08);
    padding: 38px 42px 24px;
    overflow: hidden;
}

.vx-pain-result::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    right: -100px;
    bottom: -150px;
    background: rgba(65, 157, 224, .08);
}

.vx-pain-result-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 1;
}

.vx-pain-eyebrow {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
    color: #408ac1;
}

.vx-pain-result-number {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    color: #7291a8;
}

.vx-pain-result-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(230px, .65fr);
    gap: 70px;
    align-items: end;
    padding: 20px 0 28px;
}

.vx-pain-result-copy {
    max-width: 700px;
}

.vx-pain-result-copy h3 {
    margin: 0 0 13px;
    color: #0b3150;
    font-size: clamp(27px, 3vw, 39px);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.vx-pain-result-copy > p {
    margin: 0;
    max-width: 670px;
    color: #536b7d;
    font-size: 15px;
    line-height: 1.75;
}

.vx-pain-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.vx-pain-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.8);
    border: 1px solid rgba(14, 72, 113, .08);
    color: #315b78;
    font-size: 12px;
    font-weight: 600;
}

.vx-pain-result-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.vx-pain-secondary-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #174f77;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.vx-pain-secondary-link span {
    transition: transform .2s ease;
}

.vx-pain-secondary-link:hover span {
    transform: translateX(4px);
}

.vx-pain-disclaimer {
    position: relative;
    z-index: 1;
    padding-top: 18px;
    border-top: 1px solid rgba(15, 65, 102, .08);
    color: #8293a0;
    font-size: 11px;
}


/* TABLET */

@media (max-width: 1100px) {

    .vx-pain-tabs {
        grid-template-columns: repeat(4, 1fr);
    }

    .vx-pain-result-content {
        gap: 40px;
    }

}


/* MOBILE */

@media (max-width: 700px) {

    .vx-pain-selector {
        margin-top: 30px;
    }

    .vx-pain-tabs {
        display: flex;
        overflow-x: auto;
        gap: 9px;
        padding: 2px 2px 12px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .vx-pain-tabs::-webkit-scrollbar {
        display: none;
    }

    .vx-pain-tab {
        flex: 0 0 135px;
        min-height: 120px;
        padding: 16px;
        border-radius: 16px;
        scroll-snap-align: start;
    }

    .vx-pain-tab strong {
        margin-top: 17px;
        font-size: 15px;
    }

    .vx-pain-result {
        margin-top: 8px;
        padding: 27px 22px 20px;
        border-radius: 21px;
    }

    .vx-pain-result-content {
        display: block;
        padding: 18px 0 24px;
    }

    .vx-pain-result-copy h3 {
        font-size: 29px;
    }

    .vx-pain-result-actions {
        margin-top: 28px;
    }

    .vx-pain-result-actions .vx-btn {
        width: 100%;
        justify-content: center;
    }

}




/* =========================================================
   VIREXIS — SINGLE SERVICES PREMIUM V1
   ========================================================= */

.vx-service-single {
    background: #fff;
    color: #17384f;
}


/* HERO */

.vx-service-hero {
    position: relative;
    padding: 54px 0 92px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(74, 158, 218, .10),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #f8fbfd 0%,
            #ffffff 100%
        );
}

.vx-service-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 52px;
    color: #8496a4;
    font-size: 12px;
}

.vx-service-breadcrumb a {
    color: #557389;
    text-decoration: none;
}

.vx-service-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(420px, 1fr);
    gap: clamp(55px, 7vw, 105px);
    align-items: center;
}

.vx-service-hero-copy {
    max-width: 650px;
}

.vx-service-eyebrow {
    display: block;
    margin-bottom: 22px;
    color: #3188c7;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
}

.vx-service-hero h1 {
    margin: 0;
    max-width: 680px;
    color: #092f4d;
    font-size: clamp(43px, 5.1vw, 72px);
    line-height: .99;
    letter-spacing: -.045em;
}

.vx-service-lead {
    max-width: 620px;
    margin: 27px 0 0;
    color: #5c7384;
    font-size: 17px;
    line-height: 1.75;
}

.vx-service-hero-actions {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 36px;
}

.vx-service-text-link {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    color: #164f77;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.vx-service-hero-media {
    position: relative;
}

.vx-service-hero-image {
    display: block;
    width: 100%;
    height: 530px;
    object-fit: cover;
    border-radius: 28px;
    box-shadow: 0 32px 70px rgba(14, 49, 76, .13);
}

.vx-service-media-card {
    position: absolute;
    left: -30px;
    bottom: 32px;
    width: 225px;
    padding: 19px 22px;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 17px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(12px);
    box-shadow: 0 18px 45px rgba(9, 45, 72, .13);
}

.vx-service-media-card span {
    display: block;
    margin-bottom: 5px;
    color: #4696cc;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .2em;
}

.vx-service-media-card strong {
    color: #153e5b;
    font-size: 13px;
}


/* SHARED SECTION INTRO */

.vx-service-section-intro {
    display: flex;
    gap: 25px;
    align-items: flex-start;
}

.vx-service-section-intro > span {
    padding-top: 5px;
    color: #5ca3d5;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.vx-service-section-intro small {
    display: block;
    margin-bottom: 9px;
    color: #6b8ca3;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
}

.vx-service-section-intro h2 {
    margin: 0;
    color: #0b3150;
    font-size: clamp(30px, 3.4vw, 47px);
    line-height: 1.05;
    letter-spacing: -.035em;
}


/* FOCUS */

.vx-service-focus {
    padding: 96px 0;
    background: #fff;
}

.vx-service-focus-grid {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: 85px;
}

.vx-service-condition-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid #dce7ee;
}

.vx-service-condition {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 72px;
    padding: 17px 18px 17px 0;
    border-bottom: 1px solid #dce7ee;
    color: #36566d;
    font-size: 14px;
    font-weight: 600;
}

.vx-service-condition:nth-child(odd) {
    border-right: 1px solid #dce7ee;
}

.vx-service-condition:nth-child(even) {
    padding-left: 26px;
}

.vx-service-condition > span {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #4a9ed6;
}


/* INFORMATION */

.vx-service-information {
    padding: 100px 0;
    background: #f5f9fc;
}

.vx-service-information-grid {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: 85px;
}

.vx-service-original-content {
    max-width: 760px;
    color: #526d80;
    font-size: 16px;
    line-height: 1.85;
}

.vx-service-original-content > *:first-child {
    margin-top: 0;
}

.vx-service-original-content h2,
.vx-service-original-content h3,
.vx-service-original-content h4 {
    color: #113b59;
}

.vx-service-original-content img {
    max-width: 100%;
    height: auto;
}


/* PROCESS */

.vx-service-process {
    padding: 105px 0;
    background: #0a2e4a;
    color: #fff;
}

.vx-service-process-head {
    max-width: 680px;
}

.vx-service-process-head > span {
    display: block;
    margin-bottom: 18px;
    color: #77b8e2;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.vx-service-process-head h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(36px, 4.5vw, 60px);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.vx-service-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 65px;
    border-top: 1px solid rgba(255,255,255,.16);
}

.vx-service-step {
    min-height: 225px;
    padding: 30px 28px 10px 0;
    border-right: 1px solid rgba(255,255,255,.14);
}

.vx-service-step:not(:first-child) {
    padding-left: 28px;
}

.vx-service-step:last-child {
    border-right: 0;
}

.vx-service-step > span {
    color: #67addd;
    font-size: 10px;
    font-weight: 800;
}

.vx-service-step h3 {
    margin: 42px 0 10px;
    color: #fff;
    font-size: 20px;
}

.vx-service-step p {
    margin: 0;
    color: rgba(255,255,255,.62);
    font-size: 13px;
    line-height: 1.7;
}


/* CTA */

.vx-service-cta {
    padding: 95px 0;
    background: #fff;
}

.vx-service-cta-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 60px;
    padding: 55px 60px;
    border-radius: 28px;
    background:
        linear-gradient(
            135deg,
            #edf7fc 0%,
            #f7fbfd 100%
        );
}

.vx-service-cta-inner > div {
    max-width: 690px;
}

.vx-service-cta-inner > div > span {
    display: block;
    margin-bottom: 15px;
    color: #4594ca;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.vx-service-cta h2 {
    margin: 0;
    color: #0b3150;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.vx-service-cta p {
    max-width: 600px;
    margin: 17px 0 0;
    color: #637b8c;
    line-height: 1.7;
}

.vx-service-cta-button {
    display: flex;
    flex: 0 0 235px;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding: 0 22px;
    border-radius: 13px;
    background: #0b3150;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease;
}

.vx-service-cta-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 35px rgba(10, 49, 80, .18);
}

.vx-service-cta-button b {
    font-size: 18px;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

    .vx-service-hero-grid {
        grid-template-columns: 1fr;
    }

    .vx-service-hero-copy {
        max-width: 760px;
    }

    .vx-service-hero-media {
        max-width: 780px;
    }

    .vx-service-focus-grid,
    .vx-service-information-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .vx-service-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .vx-service-step:nth-child(2) {
        border-right: 0;
    }

    .vx-service-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .vx-service-cta-button {
        flex-basis: auto;
        width: 235px;
    }

}


@media (max-width: 650px) {

    .vx-service-hero {
        padding: 28px 0 65px;
    }

    .vx-service-breadcrumb {
        margin-bottom: 35px;
    }

    .vx-service-hero-grid {
        gap: 45px;
    }

    .vx-service-hero h1 {
        font-size: 43px;
    }

    .vx-service-lead {
        font-size: 15px;
    }

    .vx-service-hero-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .vx-service-hero-image {
        height: 390px;
        border-radius: 21px;
    }

    .vx-service-media-card {
        left: 15px;
        bottom: 15px;
    }

    .vx-service-focus,
    .vx-service-information,
    .vx-service-process,
    .vx-service-cta {
        padding: 70px 0;
    }

    .vx-service-condition-grid {
        grid-template-columns: 1fr;
    }

    .vx-service-condition:nth-child(odd) {
        border-right: 0;
    }

    .vx-service-condition:nth-child(even) {
        padding-left: 0;
    }

    .vx-service-process-grid {
        grid-template-columns: 1fr;
        margin-top: 45px;
    }

    .vx-service-step,
    .vx-service-step:not(:first-child) {
        min-height: auto;
        padding: 25px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .vx-service-step h3 {
        margin-top: 20px;
    }

    .vx-service-cta-inner {
        padding: 35px 25px;
        border-radius: 22px;
    }

    .vx-service-cta-button {
        width: 100%;
    }

}




/* =========================================================
   VIREXIS — DIAGNOSTIC PREMIUM V1
   ========================================================= */

.vx-dx-single {
    background: #fff;
}

.vx-dx-hero {
    position: relative;
    overflow: hidden;
    padding: 52px 0 105px;
    background:
        radial-gradient(circle at 78% 35%,
            rgba(56,153,218,.12),
            transparent 30%),
        linear-gradient(180deg,#f7fbfd,#fff);
}

.vx-dx-breadcrumb {
    display: flex;
    gap: 10px;
    margin-bottom: 60px;
    color: #8295a4;
    font-size: 12px;
}

.vx-dx-breadcrumb a {
    color: #56768c;
    text-decoration: none;
}

.vx-dx-hero-grid {
    display: grid;
    grid-template-columns: 1fr .78fr;
    gap: 100px;
    align-items: center;
}

.vx-dx-copy {
    max-width: 730px;
}

.vx-dx-eyebrow {
    display: block;
    margin-bottom: 22px;
    color: #378dca;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
}

.vx-dx-copy h1 {
    margin: 0;
    color: #082f4e;
    font-size: clamp(48px,5.6vw,78px);
    line-height: .98;
    letter-spacing: -.05em;
}

.vx-dx-copy > p {
    max-width: 650px;
    margin: 28px 0 0;
    color: #5b7486;
    font-size: 17px;
    line-height: 1.75;
}

.vx-dx-actions {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 38px;
}

.vx-dx-more {
    color: #1a557e;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}


/* ABSTRACT DIAGNOSTIC VISUAL */

.vx-dx-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    max-width: 510px;
    margin-left: auto;
    overflow: hidden;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%,
            #164e73 0%,
            #0c3656 43%,
            #082a45 72%);
    box-shadow: 0 40px 90px rgba(8,48,78,.18);
}

.vx-dx-visual::before {
    content: "";
    position: absolute;
    inset: 11%;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}

.vx-dx-visual-number {
    position: absolute;
    top: 12%;
    right: 18%;
    color: rgba(255,255,255,.25);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
}

.vx-dx-visual-center {
    position: relative;
    z-index: 3;
    text-align: center;
}

.vx-dx-visual-center span {
    display: block;
    margin-bottom: 10px;
    color: #6db4e4;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .28em;
}

.vx-dx-visual-center strong {
    display: block;
    color: #fff;
    font-size: clamp(25px,3vw,40px);
    letter-spacing: -.025em;
}

.vx-dx-visual-center small {
    display: block;
    margin-top: 10px;
    color: rgba(255,255,255,.52);
    font-size: 12px;
}

.vx-dx-orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(111,190,235,.20);
}

.vx-dx-orbit-one {
    width: 74%;
    height: 74%;
}

.vx-dx-orbit-two {
    width: 50%;
    height: 50%;
}


/* FEATURES */

.vx-dx-features {
    padding: 0 0 95px;
}

.vx-dx-feature-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid #dce7ed;
    border-bottom: 1px solid #dce7ed;
}

.vx-dx-feature {
    min-height: 112px;
    padding: 24px 26px;
    border-right: 1px solid #dce7ed;
}

.vx-dx-feature:last-child {
    border-right: 0;
}

.vx-dx-feature span {
    display: block;
    margin-bottom: 20px;
    color: #58a2d4;
    font-size: 10px;
    font-weight: 800;
}

.vx-dx-feature strong {
    color: #294e67;
    font-size: 13px;
}


/* CONTENT */

.vx-dx-content {
    padding: 105px 0;
    background: #f4f8fb;
}

.vx-dx-content-grid {
    display: grid;
    grid-template-columns: .62fr 1.38fr;
    gap: 100px;
    align-items: start;
}

.vx-dx-content-aside {
    position: sticky;
    top: 130px;
}

.vx-dx-content-aside > span {
    display: block;
    color: #4e99cd;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .17em;
}

.vx-dx-content-aside h2 {
    max-width: 360px;
    margin: 15px 0 22px;
    color: #0b3150;
    font-size: clamp(34px,4vw,50px);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.vx-dx-aside-line {
    width: 45px;
    height: 2px;
    margin: 25px 0;
    background: #58a4d7;
}

.vx-dx-content-aside p {
    max-width: 330px;
    color: #718797;
    font-size: 13px;
    line-height: 1.7;
}

.vx-dx-original {
    max-width: 800px;
    color: #526d80;
    font-size: 15px;
    line-height: 1.85;
}

.vx-dx-original > *:first-child {
    margin-top: 0;
}

.vx-dx-original h1 {
    display: none;
}

.vx-dx-original h2,
.vx-dx-original h3,
.vx-dx-original h4 {
    margin-top: 42px;
    color: #113b59;
    line-height: 1.2;
}

.vx-dx-original img {
    max-width: 100%;
    height: auto;
    border-radius: 18px;
}


/* PATH */

.vx-dx-path {
    padding: 105px 0;
    background: #092e4b;
}

.vx-dx-path-head {
    max-width: 730px;
}

.vx-dx-path-head > span {
    color: #6db3df;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.vx-dx-path-head h2 {
    margin: 18px 0 0;
    color: #fff;
    font-size: clamp(37px,4.7vw,62px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.vx-dx-path-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    margin-top: 68px;
    border-top: 1px solid rgba(255,255,255,.15);
}

.vx-dx-path-grid > div {
    min-height: 225px;
    padding: 28px;
    border-right: 1px solid rgba(255,255,255,.13);
}

.vx-dx-path-grid > div:first-child {
    padding-left: 0;
}

.vx-dx-path-grid > div:last-child {
    border-right: 0;
}

.vx-dx-path-grid span {
    color: #67acd9;
    font-size: 10px;
    font-weight: 800;
}

.vx-dx-path-grid h3 {
    margin: 43px 0 11px;
    color: #fff;
    font-size: 20px;
}

.vx-dx-path-grid p {
    margin: 0;
    color: rgba(255,255,255,.6);
    font-size: 13px;
    line-height: 1.7;
}


/* CTA */

.vx-dx-cta {
    padding: 95px 0;
}

.vx-dx-cta-inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 60px;
    padding: 55px 60px;
    border-radius: 28px;
    background: linear-gradient(135deg,#eaf6fc,#f8fbfd);
}

.vx-dx-cta-inner > div {
    max-width: 700px;
}

.vx-dx-cta-inner > div > span {
    color: #4596cc;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.vx-dx-cta h2 {
    margin: 15px 0 0;
    color: #0b3150;
    font-size: clamp(35px,4vw,52px);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.vx-dx-cta p {
    max-width: 600px;
    color: #647d8e;
    line-height: 1.7;
}

.vx-dx-cta-inner > a {
    display: flex;
    flex: 0 0 240px;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding: 0 22px;
    border-radius: 13px;
    background: #0b3150;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}


/* RESPONSIVE */

@media (max-width: 950px) {

    .vx-dx-hero-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .vx-dx-visual {
        width: min(500px,100%);
        margin: 0;
    }

    .vx-dx-content-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .vx-dx-content-aside {
        position: static;
    }

    .vx-dx-path-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .vx-dx-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .vx-dx-cta-inner > a {
        flex-basis: auto;
    }
}


@media (max-width: 650px) {

    .vx-dx-hero {
        padding: 28px 0 70px;
    }

    .vx-dx-breadcrumb {
        margin-bottom: 38px;
    }

    .vx-dx-copy h1 {
        font-size: 43px;
    }

    .vx-dx-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .vx-dx-feature-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .vx-dx-feature:nth-child(2) {
        border-right: 0;
    }

    .vx-dx-feature:nth-child(-n+2) {
        border-bottom: 1px solid #dce7ed;
    }

    .vx-dx-content,
    .vx-dx-path,
    .vx-dx-cta {
        padding: 70px 0;
    }

    .vx-dx-path-grid {
        grid-template-columns: 1fr;
    }

    .vx-dx-path-grid > div,
    .vx-dx-path-grid > div:first-child {
        min-height: auto;
        padding: 25px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.13);
    }

    .vx-dx-path-grid h3 {
        margin-top: 20px;
    }

    .vx-dx-cta-inner {
        padding: 35px 25px;
    }

    .vx-dx-cta-inner > a {
        width: 100%;
    }
}




/* =========================================================
   VIREXIS — RESONANCIA PREMIUM V2
   ========================================================= */

.vx-mri {
    background: #fff;
    color: #173a53;
}


/* HERO */

.vx-mri-hero {
    position: relative;
    overflow: hidden;
    padding: 52px 0 88px;
    background:
        radial-gradient(circle at 80% 20%,
            rgba(73,163,220,.12),
            transparent 30%),
        linear-gradient(180deg,#f6fbfe 0%,#fff 100%);
}

.vx-mri-breadcrumb {
    display: flex;
    gap: 10px;
    margin-bottom: 50px;
    color: #8195a4;
    font-size: 12px;
}

.vx-mri-breadcrumb a {
    color: #58778c;
    text-decoration: none;
}

.vx-mri-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,.85fr) minmax(500px,1.15fr);
    gap: clamp(55px,7vw,105px);
    align-items: center;
}

.vx-mri-hero-copy {
    max-width: 650px;
}

.vx-mri-eyebrow {
    display: block;
    margin-bottom: 20px;
    color: #358dca;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .19em;
}

.vx-mri-hero h1 {
    margin: 0;
    color: #082f4e;
    font-size: clamp(48px,5.3vw,76px);
    line-height: .96;
    letter-spacing: -.05em;
}

.vx-mri-lead {
    max-width: 570px;
    margin: 28px 0 0;
    color: #5b7486;
    font-size: 17px;
    line-height: 1.7;
}

.vx-mri-actions {
    display: flex;
    align-items: center;
    gap: 27px;
    margin-top: 37px;
}

.vx-mri-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #17547d;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}


/* HERO IMAGE */

.vx-mri-hero-media {
    position: relative;
}

.vx-mri-hero-media::before {
    content: "";
    position: absolute;
    width: 82%;
    height: 84%;
    right: -18px;
    top: -18px;
    border-radius: 30px;
    background: #dceff8;
    z-index: 0;
}

.vx-mri-hero-img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 510px;
    object-fit: cover;
    border-radius: 28px;
    box-shadow: 0 30px 70px rgba(11,52,80,.15);
}

.vx-mri-image-label {
    position: absolute;
    z-index: 2;
    left: -28px;
    bottom: 28px;
    width: 250px;
    padding: 19px 22px;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 17px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 45px rgba(9,45,72,.15);
    backdrop-filter: blur(14px);
}

.vx-mri-image-label span {
    display: block;
    margin-bottom: 5px;
    color: #4c9dd3;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .2em;
}

.vx-mri-image-label strong {
    display: block;
    color: #123d5a;
    font-size: 14px;
}

.vx-mri-image-label small {
    display: block;
    margin-top: 4px;
    color: #7a8f9e;
    font-size: 11px;
}


/* FACTS */

.vx-mri-facts {
    padding: 0 0 95px;
}

.vx-mri-facts-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid #dce7ed;
    border-bottom: 1px solid #dce7ed;
}

.vx-mri-facts-grid > div {
    min-height: 112px;
    padding: 25px 26px;
    border-right: 1px solid #dce7ed;
}

.vx-mri-facts-grid > div:last-child {
    border-right: 0;
}

.vx-mri-facts span {
    display: block;
    margin-bottom: 20px;
    color: #55a0d2;
    font-size: 10px;
    font-weight: 800;
}

.vx-mri-facts strong {
    color: #294e67;
    font-size: 13px;
}


/* SHARED INDEX */

.vx-mri-section-index {
    display: flex;
    gap: 22px;
    align-items: flex-start;
}

.vx-mri-section-index > span {
    color: #55a1d4;
    font-size: 11px;
    font-weight: 800;
}

.vx-mri-section-index small {
    color: #658398;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .17em;
}


/* ABOUT */

.vx-mri-about {
    padding: 105px 0;
    background: #f4f9fc;
}

.vx-mri-about-grid {
    display: grid;
    grid-template-columns: .45fr 1.55fr;
    gap: 70px;
}

.vx-mri-about-content {
    max-width: 880px;
}

.vx-mri-about h2 {
    max-width: 800px;
    margin: 0;
    color: #0b3150;
    font-size: clamp(40px,4.8vw,63px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.vx-mri-about-columns {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 48px;
    margin-top: 42px;
}

.vx-mri-about-columns p {
    margin: 0;
    color: #577185;
    font-size: 15px;
    line-height: 1.85;
}

.vx-mri-highlight {
    margin-top: 48px;
    padding: 28px 30px;
    border-left: 3px solid #4c9dd3;
    background: #fff;
}

.vx-mri-highlight span {
    color: #4b97ca;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .17em;
}

.vx-mri-highlight p {
    max-width: 720px;
    margin: 10px 0 0;
    color: #315873;
    font-size: 15px;
    line-height: 1.7;
}


/* STUDIES */

.vx-mri-studies {
    padding: 105px 0;
}

.vx-mri-studies-head {
    display: grid;
    grid-template-columns: .45fr 1.55fr;
    gap: 70px;
    align-items: start;
}

.vx-mri-studies-head h2 {
    max-width: 850px;
    margin: 0;
    color: #0b3150;
    font-size: clamp(38px,4.6vw,60px);
    line-height: 1.03;
    letter-spacing: -.045em;
}

.vx-mri-study-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    margin-top: 65px;
    border-top: 1px solid #dce7ed;
}

.vx-mri-study-grid article {
    min-height: 235px;
    padding: 30px 30px 25px 0;
    border-right: 1px solid #dce7ed;
    border-bottom: 1px solid #dce7ed;
}

.vx-mri-study-grid article:nth-child(3n+2),
.vx-mri-study-grid article:nth-child(3n+3) {
    padding-left: 30px;
}

.vx-mri-study-grid article:nth-child(3n) {
    border-right: 0;
}

.vx-mri-study-grid article > span {
    color: #54a0d2;
    font-size: 10px;
    font-weight: 800;
}

.vx-mri-study-grid h3 {
    margin: 48px 0 11px;
    color: #123c59;
    font-size: 21px;
}

.vx-mri-study-grid p {
    max-width: 320px;
    margin: 0;
    color: #718696;
    font-size: 13px;
    line-height: 1.7;
}


/* OPEN */

.vx-mri-open {
    padding: 110px 0;
    background: #eaf5fb;
}

.vx-mri-open-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 100px;
}

.vx-mri-open-copy h2 {
    margin: 0;
    color: #0a3150;
    font-size: clamp(44px,5vw,66px);
    line-height: .98;
    letter-spacing: -.05em;
}

.vx-mri-open-copy p {
    max-width: 520px;
    margin: 28px 0 0;
    color: #5a7486;
    font-size: 15px;
    line-height: 1.8;
}

.vx-mri-benefits {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    border-top: 1px solid rgba(27,81,116,.15);
}

.vx-mri-benefits > div {
    min-height: 110px;
    padding: 22px 20px 20px 0;
    border-bottom: 1px solid rgba(27,81,116,.15);
}

.vx-mri-benefits > div:nth-child(odd) {
    border-right: 1px solid rgba(27,81,116,.15);
}

.vx-mri-benefits > div:nth-child(even) {
    padding-left: 24px;
}

.vx-mri-benefits span {
    display: block;
    margin-bottom: 20px;
    color: #559dce;
    font-size: 9px;
    font-weight: 800;
}

.vx-mri-benefits strong {
    color: #31566f;
    font-size: 13px;
}


/* PROCESS */

.vx-mri-process {
    padding: 105px 0;
    background: #092e4b;
}

.vx-mri-process-head {
    max-width: 760px;
}

.vx-mri-process-head > span {
    color: #6db4e1;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.vx-mri-process-head h2 {
    margin: 18px 0 0;
    color: #fff;
    font-size: clamp(38px,4.7vw,62px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.vx-mri-process-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    margin-top: 65px;
    border-top: 1px solid rgba(255,255,255,.15);
}

.vx-mri-process-grid article {
    min-height: 220px;
    padding: 28px;
    border-right: 1px solid rgba(255,255,255,.13);
}

.vx-mri-process-grid article:first-child {
    padding-left: 0;
}

.vx-mri-process-grid article:last-child {
    border-right: 0;
}

.vx-mri-process-grid span {
    color: #67addb;
    font-size: 10px;
    font-weight: 800;
}

.vx-mri-process-grid h3 {
    margin: 42px 0 10px;
    color: #fff;
    font-size: 20px;
}

.vx-mri-process-grid p {
    margin: 0;
    color: rgba(255,255,255,.61);
    font-size: 13px;
    line-height: 1.7;
}


/* CTA */

.vx-mri-cta {
    padding: 95px 0;
}

.vx-mri-cta-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 60px;
    padding: 55px 60px;
    border-radius: 28px;
    background: linear-gradient(135deg,#eaf6fc,#f8fbfd);
}

.vx-mri-cta-inner > div {
    max-width: 730px;
}

.vx-mri-cta-inner > div > span {
    color: #4596cc;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.vx-mri-cta h2 {
    margin: 15px 0 0;
    color: #0b3150;
    font-size: clamp(35px,4vw,52px);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.vx-mri-cta p {
    max-width: 600px;
    color: #647d8e;
    line-height: 1.7;
}

.vx-mri-cta-inner > a {
    display: flex;
    flex: 0 0 245px;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding: 0 22px;
    border-radius: 13px;
    background: #0b3150;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

    .vx-mri-hero-grid {
        grid-template-columns: 1fr;
    }

    .vx-mri-hero-media {
        max-width: 800px;
    }

    .vx-mri-about-grid,
    .vx-mri-studies-head,
    .vx-mri-open-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .vx-mri-study-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .vx-mri-study-grid article,
    .vx-mri-study-grid article:nth-child(3n+2),
    .vx-mri-study-grid article:nth-child(3n+3) {
        padding: 28px;
    }

    .vx-mri-process-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .vx-mri-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .vx-mri-cta-inner > a {
        flex-basis: auto;
    }
}


@media (max-width: 650px) {

    .vx-mri-hero {
        padding: 28px 0 65px;
    }

    .vx-mri-breadcrumb {
        margin-bottom: 35px;
    }

    .vx-mri-hero h1 {
        font-size: 43px;
    }

    .vx-mri-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .vx-mri-hero-img {
        height: 360px;
        border-radius: 20px;
    }

    .vx-mri-image-label {
        left: 14px;
        bottom: 14px;
        width: calc(100% - 28px);
    }

    .vx-mri-facts-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .vx-mri-facts-grid > div:nth-child(2) {
        border-right: 0;
    }

    .vx-mri-about,
    .vx-mri-studies,
    .vx-mri-open,
    .vx-mri-process,
    .vx-mri-cta {
        padding: 70px 0;
    }

    .vx-mri-about-columns {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .vx-mri-study-grid {
        grid-template-columns: 1fr;
        margin-top: 45px;
    }

    .vx-mri-study-grid article,
    .vx-mri-study-grid article:nth-child(3n+2),
    .vx-mri-study-grid article:nth-child(3n+3) {
        min-height: auto;
        padding: 25px 0;
        border-right: 0;
    }

    .vx-mri-study-grid h3 {
        margin-top: 20px;
    }

    .vx-mri-benefits {
        grid-template-columns: 1fr;
    }

    .vx-mri-benefits > div:nth-child(odd) {
        border-right: 0;
    }

    .vx-mri-benefits > div:nth-child(even) {
        padding-left: 0;
    }

    .vx-mri-process-grid {
        grid-template-columns: 1fr;
    }

    .vx-mri-process-grid article,
    .vx-mri-process-grid article:first-child {
        min-height: auto;
        padding: 25px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.13);
    }

    .vx-mri-process-grid h3 {
        margin-top: 20px;
    }

    .vx-mri-cta-inner {
        padding: 35px 25px;
    }

    .vx-mri-cta-inner > a {
        width: 100%;
    }
}




/* =========================================================
   VIREXIS — DIAGNOSTIC PREMIUM V2
   ========================================================= */

.vx-dv2 {
    background: #fff;
    color: #173a53;
}


/* HERO */

.vx-dv2-hero {
    position: relative;
    overflow: hidden;
    padding: 52px 0 88px;
    background:
        radial-gradient(circle at 82% 20%,
            rgba(73,163,220,.12),
            transparent 31%),
        linear-gradient(180deg,#f6fbfe 0%,#fff 100%);
}

.vx-dv2-breadcrumb {
    display: flex;
    gap: 10px;
    margin-bottom: 50px;
    color: #8195a4;
    font-size: 12px;
}

.vx-dv2-breadcrumb a {
    color: #58778c;
    text-decoration: none;
}

.vx-dv2-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,.88fr) minmax(470px,1.12fr);
    gap: clamp(55px,7vw,105px);
    align-items: center;
}

.vx-dv2-copy {
    max-width: 680px;
}

.vx-dv2-eyebrow {
    display: block;
    margin-bottom: 20px;
    color: #358dca;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .19em;
}

.vx-dv2-copy h1 {
    margin: 0;
    color: #082f4e;
    font-size: clamp(46px,5.1vw,74px);
    line-height: .97;
    letter-spacing: -.05em;
}

.vx-dv2-copy > p {
    max-width: 590px;
    margin: 28px 0 0;
    color: #5b7486;
    font-size: 17px;
    line-height: 1.7;
}

.vx-dv2-actions {
    display: flex;
    align-items: center;
    gap: 27px;
    margin-top: 37px;
}

.vx-dv2-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #17547d;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}


/* MEDIA */

.vx-dv2-media {
    position: relative;
    min-width: 0;
}

.vx-dv2-media::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: -18px;
    right: -18px;
    width: 82%;
    height: 84%;
    border-radius: 30px;
    background: #dceff8;
}

.vx-dv2-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 510px;
    object-fit: cover;
    object-position: center;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 30px 70px rgba(11,52,80,.15);
}

.vx-dv2-sonography .vx-dv2-image {
    object-fit: contain;
    padding: 25px;
    background: #f7fafc;
}

.vx-dv2-media-label {
    position: absolute;
    z-index: 2;
    left: -28px;
    bottom: 28px;
    width: 250px;
    padding: 19px 22px;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 17px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 45px rgba(9,45,72,.15);
    backdrop-filter: blur(14px);
}

.vx-dv2-media-label span {
    display: block;
    margin-bottom: 5px;
    color: #4c9dd3;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .2em;
}

.vx-dv2-media-label strong {
    display: block;
    color: #123d5a;
    font-size: 14px;
}

.vx-dv2-media-label small {
    display: block;
    margin-top: 4px;
    color: #7a8f9e;
    font-size: 11px;
}


/* FACTS */

.vx-dv2-facts {
    padding: 0 0 95px;
}

.vx-dv2-facts-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid #dce7ed;
    border-bottom: 1px solid #dce7ed;
}

.vx-dv2-facts-grid > div {
    min-height: 112px;
    padding: 25px 26px;
    border-right: 1px solid #dce7ed;
}

.vx-dv2-facts-grid > div:last-child {
    border-right: 0;
}

.vx-dv2-facts span {
    display: block;
    margin-bottom: 20px;
    color: #55a0d2;
    font-size: 10px;
    font-weight: 800;
}

.vx-dv2-facts strong {
    color: #294e67;
    font-size: 13px;
}


/* INDEX */

.vx-dv2-index {
    display: flex;
    gap: 22px;
    align-items: flex-start;
}

.vx-dv2-index > span {
    color: #55a1d4;
    font-size: 11px;
    font-weight: 800;
}

.vx-dv2-index small {
    color: #658398;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .17em;
}


/* ABOUT */

.vx-dv2-about {
    padding: 105px 0;
    background: #f4f9fc;
}

.vx-dv2-about-grid {
    display: grid;
    grid-template-columns: .45fr 1.55fr;
    gap: 70px;
}

.vx-dv2-about-content {
    max-width: 880px;
}

.vx-dv2-about h2 {
    max-width: 820px;
    margin: 0;
    color: #0b3150;
    font-size: clamp(40px,4.8vw,63px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.vx-dv2-about-columns {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 48px;
    margin-top: 42px;
}

.vx-dv2-about-columns p {
    margin: 0;
    color: #577185;
    font-size: 15px;
    line-height: 1.85;
}

.vx-dv2-highlight {
    margin-top: 48px;
    padding: 28px 30px;
    border-left: 3px solid #4c9dd3;
    background: #fff;
}

.vx-dv2-highlight span {
    color: #4b97ca;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .17em;
}

.vx-dv2-highlight p {
    max-width: 720px;
    margin: 10px 0 0;
    color: #315873;
    font-size: 15px;
    line-height: 1.7;
}


/* STUDIES */

.vx-dv2-studies {
    padding: 105px 0;
}

.vx-dv2-studies-head {
    display: grid;
    grid-template-columns: .45fr 1.55fr;
    gap: 70px;
}

.vx-dv2-studies-head h2 {
    max-width: 850px;
    margin: 0;
    color: #0b3150;
    font-size: clamp(38px,4.6vw,60px);
    line-height: 1.03;
    letter-spacing: -.045em;
}

.vx-dv2-study-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    margin-top: 65px;
    border-top: 1px solid #dce7ed;
}

.vx-dv2-study-grid article {
    min-height: 235px;
    padding: 30px 30px 25px 0;
    border-right: 1px solid #dce7ed;
    border-bottom: 1px solid #dce7ed;
}

.vx-dv2-study-grid article:nth-child(3n+2),
.vx-dv2-study-grid article:nth-child(3n+3) {
    padding-left: 30px;
}

.vx-dv2-study-grid article:nth-child(3n) {
    border-right: 0;
}

.vx-dv2-study-grid article > span {
    color: #54a0d2;
    font-size: 10px;
    font-weight: 800;
}

.vx-dv2-study-grid h3 {
    margin: 48px 0 11px;
    color: #123c59;
    font-size: 21px;
}

.vx-dv2-study-grid p {
    max-width: 320px;
    margin: 0;
    color: #718696;
    font-size: 13px;
    line-height: 1.7;
}


/* FEATURE */

.vx-dv2-feature {
    padding: 110px 0;
    background: #eaf5fb;
}

.vx-dv2-feature-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 100px;
}

.vx-dv2-feature-copy h2 {
    margin: 0;
    color: #0a3150;
    font-size: clamp(42px,5vw,65px);
    line-height: .99;
    letter-spacing: -.05em;
}

.vx-dv2-feature-copy p {
    max-width: 520px;
    margin: 28px 0 0;
    color: #5a7486;
    font-size: 15px;
    line-height: 1.8;
}

.vx-dv2-benefits {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    border-top: 1px solid rgba(27,81,116,.15);
}

.vx-dv2-benefits > div {
    min-height: 110px;
    padding: 22px 20px 20px 0;
    border-bottom: 1px solid rgba(27,81,116,.15);
}

.vx-dv2-benefits > div:nth-child(odd) {
    border-right: 1px solid rgba(27,81,116,.15);
}

.vx-dv2-benefits > div:nth-child(even) {
    padding-left: 24px;
}

.vx-dv2-benefits span {
    display: block;
    margin-bottom: 20px;
    color: #559dce;
    font-size: 9px;
    font-weight: 800;
}

.vx-dv2-benefits strong {
    color: #31566f;
    font-size: 13px;
}


/* PROCESS */

.vx-dv2-process {
    padding: 105px 0;
    background: #092e4b;
}

.vx-dv2-process-head {
    max-width: 760px;
}

.vx-dv2-process-head > span {
    color: #6db4e1;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.vx-dv2-process-head h2 {
    margin: 18px 0 0;
    color: #fff;
    font-size: clamp(38px,4.7vw,62px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.vx-dv2-process-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    margin-top: 65px;
    border-top: 1px solid rgba(255,255,255,.15);
}

.vx-dv2-process-grid article {
    min-height: 220px;
    padding: 28px;
    border-right: 1px solid rgba(255,255,255,.13);
}

.vx-dv2-process-grid article:first-child {
    padding-left: 0;
}

.vx-dv2-process-grid article:last-child {
    border-right: 0;
}

.vx-dv2-process-grid span {
    color: #67addb;
    font-size: 10px;
    font-weight: 800;
}

.vx-dv2-process-grid h3 {
    margin: 42px 0 10px;
    color: #fff;
    font-size: 20px;
}

.vx-dv2-process-grid p {
    margin: 0;
    color: rgba(255,255,255,.61);
    font-size: 13px;
    line-height: 1.7;
}


/* CTA */

.vx-dv2-cta {
    padding: 95px 0;
}

.vx-dv2-cta-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 60px;
    padding: 55px 60px;
    border-radius: 28px;
    background: linear-gradient(135deg,#eaf6fc,#f8fbfd);
}

.vx-dv2-cta-inner > div {
    max-width: 730px;
}

.vx-dv2-cta-inner > div > span {
    color: #4596cc;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.vx-dv2-cta h2 {
    margin: 15px 0 0;
    color: #0b3150;
    font-size: clamp(35px,4vw,52px);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.vx-dv2-cta p {
    max-width: 600px;
    color: #647d8e;
    line-height: 1.7;
}

.vx-dv2-cta-inner > a {
    display: flex;
    flex: 0 0 245px;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding: 0 22px;
    border-radius: 13px;
    background: #0b3150;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}


/* PAGE-SPECIFIC */

.vx-dv2-postural .vx-dv2-feature {
    background: #edf7fa;
}

.vx-dv2-podometry .vx-dv2-feature {
    background: #e9f4fa;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

    .vx-dv2-hero-grid {
        grid-template-columns: 1fr;
    }

    .vx-dv2-media {
        max-width: 800px;
    }

    .vx-dv2-about-grid,
    .vx-dv2-studies-head,
    .vx-dv2-feature-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .vx-dv2-study-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .vx-dv2-study-grid article,
    .vx-dv2-study-grid article:nth-child(3n+2),
    .vx-dv2-study-grid article:nth-child(3n+3) {
        padding: 28px;
    }

    .vx-dv2-process-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .vx-dv2-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .vx-dv2-cta-inner > a {
        flex-basis: auto;
    }
}


@media (max-width: 650px) {

    .vx-dv2-hero {
        padding: 28px 0 65px;
    }

    .vx-dv2-breadcrumb {
        margin-bottom: 35px;
    }

    .vx-dv2-copy h1 {
        font-size: 42px;
    }

    .vx-dv2-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .vx-dv2-image {
        height: 360px;
        border-radius: 20px;
    }

    .vx-dv2-media-label {
        left: 14px;
        bottom: 14px;
        width: calc(100% - 28px);
    }

    .vx-dv2-facts-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .vx-dv2-facts-grid > div:nth-child(2) {
        border-right: 0;
    }

    .vx-dv2-about,
    .vx-dv2-studies,
    .vx-dv2-feature,
    .vx-dv2-process,
    .vx-dv2-cta {
        padding: 70px 0;
    }

    .vx-dv2-about-columns {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .vx-dv2-study-grid {
        grid-template-columns: 1fr;
        margin-top: 45px;
    }

    .vx-dv2-study-grid article,
    .vx-dv2-study-grid article:nth-child(3n+2),
    .vx-dv2-study-grid article:nth-child(3n+3) {
        min-height: auto;
        padding: 25px 0;
        border-right: 0;
    }

    .vx-dv2-study-grid h3 {
        margin-top: 20px;
    }

    .vx-dv2-benefits {
        grid-template-columns: 1fr;
    }

    .vx-dv2-benefits > div:nth-child(odd) {
        border-right: 0;
    }

    .vx-dv2-benefits > div:nth-child(even) {
        padding-left: 0;
    }

    .vx-dv2-process-grid {
        grid-template-columns: 1fr;
    }

    .vx-dv2-process-grid article,
    .vx-dv2-process-grid article:first-child {
        min-height: auto;
        padding: 25px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.13);
    }

    .vx-dv2-process-grid h3 {
        margin-top: 20px;
    }

    .vx-dv2-cta-inner {
        padding: 35px 25px;
    }

    .vx-dv2-cta-inner > a {
        width: 100%;
    }
}




/* ==========================================================
   VIREXIS — TECHNOLOGY PREMIUM V2
   ========================================================== */

.vx-tech2{
    --tech-navy:#071b31;
    --tech-blue:#0969da;
    --tech-ice:#eef7ff;
    --tech-line:#dce7f0;
    --tech-text:#17283a;
    --tech-muted:#66788a;

    background:#fff;
    color:var(--tech-text);
    overflow:hidden;
}

.vx-tech2 *,
.vx-tech2 *::before,
.vx-tech2 *::after{
    box-sizing:border-box;
}


/* ----------------------------------------------------------
   HERO
   ---------------------------------------------------------- */

.vx-tech2-hero{
    position:relative;
    padding:54px 0 78px;
    background:
        radial-gradient(circle at 88% 14%,
            rgba(42,150,255,.14),
            transparent 28%),
        linear-gradient(180deg,#f8fcff 0%,#fff 100%);
}

.vx-tech2-breadcrumb{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:44px;
    color:#718296;
    font-size:13px;
    font-weight:700;
}

.vx-tech2-breadcrumb a{
    color:inherit;
    text-decoration:none;
}

.vx-tech2-breadcrumb a:hover{
    color:var(--tech-blue);
}

.vx-tech2-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);
    align-items:center;
    gap:76px;
}

.vx-tech2-copy{
    max-width:690px;
}

.vx-tech2-eyebrow{
    display:block;
    margin-bottom:19px;
    color:var(--tech-blue);
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.17em;
}

.vx-tech2-copy h1{
    max-width:760px;
    margin:0;
    color:var(--tech-navy);
    font-size:clamp(48px,5vw,78px);
    line-height:.98;
    letter-spacing:-.055em;
    font-weight:750;
}

.vx-tech2-copy > p{
    max-width:650px;
    margin:30px 0 0;
    color:#53687b;
    font-size:18px;
    line-height:1.72;
}

.vx-tech2-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:28px;
    margin-top:36px;
}

.vx-tech2-discover{
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:var(--tech-navy);
    text-decoration:none;
    font-size:14px;
    font-weight:750;
}

.vx-tech2-discover span{
    display:grid;
    width:31px;
    height:31px;
    place-items:center;
    border:1px solid #cbd8e3;
    border-radius:50%;
    transition:.25s ease;
}

.vx-tech2-discover:hover span{
    transform:translateY(3px);
    border-color:var(--tech-blue);
    color:var(--tech-blue);
}


/* ----------------------------------------------------------
   HERO IMAGE
   ---------------------------------------------------------- */

.vx-tech2-media{
    position:relative;
    min-height:580px;
    border-radius:34px;
    background:#eaf3f9;
    box-shadow:0 35px 80px rgba(6,35,61,.13);
}

.vx-tech2-image{
    display:block;
    width:100%;
    height:580px;
    object-fit:cover;
    border-radius:34px;
}

.vx-tech2-media::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    border-radius:34px;
    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(5,25,45,.18) 100%
        );
}

.vx-tech2-media-card{
    position:absolute;
    z-index:2;
    right:-28px;
    bottom:32px;
    width:min(300px,78%);
    padding:24px 27px;
    border:1px solid rgba(255,255,255,.62);
    border-radius:19px;
    background:rgba(255,255,255,.91);
    box-shadow:0 22px 50px rgba(8,34,57,.16);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.vx-tech2-media-card span{
    display:block;
    margin-bottom:9px;
    color:var(--tech-blue);
    font-size:9px;
    font-weight:850;
    letter-spacing:.17em;
}

.vx-tech2-media-card strong{
    display:block;
    color:var(--tech-navy);
    font-size:20px;
    line-height:1.15;
}

.vx-tech2-media-card small{
    display:block;
    margin-top:7px;
    color:#6c7e8e;
    font-size:12px;
}

.vx-tech2-media-empty{
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        radial-gradient(circle at 65% 30%,
            rgba(57,165,255,.35),
            transparent 25%),
        linear-gradient(145deg,#0b2742,#07182a);
}

.vx-tech2-placeholder{
    padding:50px;
    text-align:center;
    color:#fff;
}

.vx-tech2-placeholder span{
    display:block;
    margin-bottom:15px;
    color:#79c2ff;
    font-size:11px;
    font-weight:800;
    letter-spacing:.22em;
}

.vx-tech2-placeholder strong{
    display:block;
    max-width:330px;
    font-size:32px;
    line-height:1.1;
}


/* Portrait equipment photographs */

.vx-tech2-davinci .vx-tech2-image,
.vx-tech2-mito .vx-tech2-image,
.vx-tech2-cryo .vx-tech2-image{
    object-position:center;
}


/* ----------------------------------------------------------
   FACTS
   ---------------------------------------------------------- */

.vx-tech2-facts{
    position:relative;
    z-index:3;
    margin-top:-24px;
}

.vx-tech2-facts-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    overflow:hidden;
    border:1px solid var(--tech-line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 18px 55px rgba(12,39,63,.08);
}

.vx-tech2-facts-grid > div{
    min-height:105px;
    padding:25px 27px;
    border-right:1px solid var(--tech-line);
}

.vx-tech2-facts-grid > div:last-child{
    border-right:0;
}

.vx-tech2-facts-grid span{
    display:block;
    margin-bottom:9px;
    color:#98a9b8;
    font-size:10px;
    font-weight:800;
}

.vx-tech2-facts-grid strong{
    color:var(--tech-navy);
    font-size:14px;
    line-height:1.35;
}


/* ----------------------------------------------------------
   GENERIC SECTION GRID
   ---------------------------------------------------------- */

.vx-tech2-section-grid{
    display:grid;
    grid-template-columns:145px minmax(0,1fr);
    gap:65px;
}

.vx-tech2-index span{
    display:block;
    color:var(--tech-blue);
    font-size:14px;
    font-weight:850;
}

.vx-tech2-index small{
    display:block;
    margin-top:8px;
    color:#8a9aa8;
    font-size:9px;
    line-height:1.4;
    font-weight:850;
    letter-spacing:.15em;
}


/* ----------------------------------------------------------
   ABOUT
   ---------------------------------------------------------- */

.vx-tech2-about{
    padding:125px 0 110px;
}

.vx-tech2-about-content h2{
    max-width:860px;
    margin:0;
    color:var(--tech-navy);
    font-size:clamp(38px,4vw,60px);
    line-height:1.06;
    letter-spacing:-.045em;
}

.vx-tech2-columns{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:55px;
    max-width:960px;
    margin-top:48px;
}

.vx-tech2-columns p{
    margin:0;
    color:#607386;
    font-size:16px;
    line-height:1.8;
}


/* ----------------------------------------------------------
   HOW
   ---------------------------------------------------------- */

.vx-tech2-how{
    padding:95px 0;
    background:var(--tech-ice);
}

.vx-tech2-how-grid{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(0,1fr);
    gap:100px;
    align-items:start;
}

.vx-tech2-how h2{
    max-width:630px;
    margin:0;
    color:var(--tech-navy);
    font-size:clamp(38px,4vw,57px);
    line-height:1.07;
    letter-spacing:-.04em;
}

.vx-tech2-how-copy > p{
    max-width:620px;
    margin:0;
    color:#526a7d;
    font-size:17px;
    line-height:1.8;
}

.vx-tech2-rule{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:40px;
    padding-top:25px;
    border-top:1px solid #caddea;
}

.vx-tech2-rule span{
    color:var(--tech-blue);
    font-size:10px;
    font-weight:850;
    letter-spacing:.17em;
}

.vx-tech2-rule strong{
    color:var(--tech-navy);
    font-size:18px;
}


/* ----------------------------------------------------------
   USES
   ---------------------------------------------------------- */

.vx-tech2-uses{
    padding:115px 0 125px;
}

.vx-tech2-section-title{
    max-width:760px;
    margin:0;
    color:var(--tech-navy);
    font-size:clamp(37px,4vw,57px);
    line-height:1.06;
    letter-spacing:-.04em;
}

.vx-tech2-use-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:70px;
}

.vx-tech2-use-grid article{
    position:relative;
    min-height:245px;
    padding:32px 31px;
    overflow:hidden;
    border:1px solid #e0e9f0;
    border-radius:19px;
    background:#fff;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.vx-tech2-use-grid article:hover{
    transform:translateY(-5px);
    border-color:#c5daea;
    box-shadow:0 20px 45px rgba(8,38,63,.09);
}

.vx-tech2-use-grid article > span{
    display:block;
    color:#9aabba;
    font-size:10px;
    font-weight:800;
}

.vx-tech2-use-grid h3{
    margin:44px 0 12px;
    color:var(--tech-navy);
    font-size:21px;
    letter-spacing:-.02em;
}

.vx-tech2-use-grid p{
    margin:0;
    color:#66798a;
    font-size:14px;
    line-height:1.7;
}


/* ----------------------------------------------------------
   FEATURE
   ---------------------------------------------------------- */

.vx-tech2-feature{
    padding:105px 0;
    color:#fff;
    background:
        radial-gradient(circle at 80% 15%,
            rgba(29,137,255,.24),
            transparent 27%),
        linear-gradient(135deg,#07192c,#0a2947);
}

.vx-tech2-feature-grid{
    display:grid;
    grid-template-columns:150px minmax(0,1fr) minmax(280px,.65fr);
    gap:55px;
    align-items:start;
}

.vx-tech2-feature-grid > span{
    color:#61b5ff;
    font-size:10px;
    font-weight:850;
    letter-spacing:.17em;
}

.vx-tech2-feature-grid h2{
    max-width:690px;
    margin:0;
    color:#fff;
    font-size:clamp(38px,4vw,58px);
    line-height:1.05;
    letter-spacing:-.045em;
}

.vx-tech2-feature-grid p{
    margin:0;
    color:#b8cada;
    font-size:15px;
    line-height:1.8;
}


/* ----------------------------------------------------------
   LASER PLATFORMS
   ---------------------------------------------------------- */

.vx-tech2-platforms{
    padding:110px 0 125px;
    background:#071b31;
}

.vx-tech2-platform-head{
    display:grid;
    grid-template-columns:150px minmax(0,1fr) minmax(280px,.6fr);
    gap:55px;
    align-items:start;
    margin-bottom:65px;
}

.vx-tech2-platform-head > span{
    color:#62b6ff;
    font-size:10px;
    font-weight:850;
    letter-spacing:.17em;
}

.vx-tech2-platform-head h2{
    max-width:700px;
    margin:0;
    color:#fff;
    font-size:clamp(38px,4vw,58px);
    line-height:1.05;
    letter-spacing:-.045em;
}

.vx-tech2-platform-head > p{
    margin:0;
    color:#aebfd0;
    font-size:15px;
    line-height:1.8;
}

.vx-tech2-platform-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.vx-tech2-platform-grid article{
    overflow:hidden;
    border:1px solid rgba(255,255,255,.1);
    border-radius:22px;
    background:#0b2945;
}

.vx-tech2-platform-image{
    height:300px;
    overflow:hidden;
    background:#fff;
}

.vx-tech2-platform-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    padding:18px;
}

.vx-tech2-platform-copy{
    padding:27px 28px 31px;
}

.vx-tech2-platform-copy span{
    color:#5db5ff;
    font-size:9px;
    font-weight:850;
    letter-spacing:.16em;
}

.vx-tech2-platform-copy h3{
    margin:11px 0 10px;
    color:#fff;
    font-size:25px;
}

.vx-tech2-platform-copy p{
    margin:0;
    color:#b3c5d5;
    font-size:14px;
    line-height:1.7;
}


/* ----------------------------------------------------------
   PROCESS
   ---------------------------------------------------------- */

.vx-tech2-process{
    padding:115px 0;
    color:#fff;
    background:#041321;
}

.vx-tech2-process-head{
    display:grid;
    grid-template-columns:150px minmax(0,850px);
    gap:55px;
    align-items:start;
}

.vx-tech2-process-head > span{
    color:#55b0ff;
    font-size:10px;
    font-weight:850;
    letter-spacing:.17em;
}

.vx-tech2-process-head h2{
    margin:0;
    color:#fff;
    font-size:clamp(38px,4vw,58px);
    line-height:1.05;
    letter-spacing:-.045em;
}

.vx-tech2-process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin-top:70px;
    border-top:1px solid rgba(255,255,255,.14);
}

.vx-tech2-process-grid article{
    min-height:230px;
    padding:31px 29px;
    border-right:1px solid rgba(255,255,255,.12);
}

.vx-tech2-process-grid article:last-child{
    border-right:0;
}

.vx-tech2-process-grid span{
    color:#58b2ff;
    font-size:10px;
    font-weight:850;
}

.vx-tech2-process-grid h3{
    margin:55px 0 12px;
    color:#fff;
    font-size:21px;
}

.vx-tech2-process-grid p{
    margin:0;
    color:#aebdca;
    font-size:13px;
    line-height:1.7;
}


/* ----------------------------------------------------------
   CTA
   ---------------------------------------------------------- */

.vx-tech2-cta{
    padding:75px 0 90px;
    background:#fff;
}

.vx-tech2-cta-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:65px;
    align-items:center;
    padding:55px 60px;
    overflow:hidden;
    border-radius:26px;
    background:
        radial-gradient(circle at 90% 20%,
            rgba(60,161,255,.23),
            transparent 30%),
        #eef7ff;
}

.vx-tech2-cta-inner > div > span{
    display:block;
    margin-bottom:14px;
    color:var(--tech-blue);
    font-size:10px;
    font-weight:850;
    letter-spacing:.17em;
}

.vx-tech2-cta h2{
    margin:0;
    color:var(--tech-navy);
    font-size:clamp(34px,3.5vw,51px);
    line-height:1.05;
    letter-spacing:-.04em;
}

.vx-tech2-cta p{
    max-width:650px;
    margin:18px 0 0;
    color:#62778a;
    font-size:15px;
    line-height:1.7;
}

.vx-tech2-cta-inner > a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    min-width:230px;
    padding:20px 22px 20px 25px;
    border-radius:13px;
    background:var(--tech-navy);
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:750;
    transition:.25s ease;
}

.vx-tech2-cta-inner > a:hover{
    transform:translateY(-3px);
    background:var(--tech-blue);
}

.vx-tech2-cta-inner > a b{
    font-size:20px;
    font-weight:400;
}


/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (max-width:1100px){

    .vx-tech2-hero-grid{
        grid-template-columns:1fr 420px;
        gap:45px;
    }

    .vx-tech2-media,
    .vx-tech2-image{
        height:520px;
        min-height:520px;
    }

    .vx-tech2-media-card{
        right:20px;
    }

    .vx-tech2-platform-head,
    .vx-tech2-feature-grid{
        grid-template-columns:120px 1fr;
    }

    .vx-tech2-platform-head > p,
    .vx-tech2-feature-grid > p{
        grid-column:2;
    }
}


@media (max-width:900px){

    .vx-tech2-hero{
        padding-top:35px;
    }

    .vx-tech2-breadcrumb{
        margin-bottom:30px;
    }

    .vx-tech2-hero-grid{
        grid-template-columns:1fr;
    }

    .vx-tech2-copy{
        max-width:760px;
    }

    .vx-tech2-media{
        max-width:680px;
    }

    .vx-tech2-facts{
        margin-top:30px;
    }

    .vx-tech2-facts-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .vx-tech2-facts-grid > div:nth-child(2){
        border-right:0;
    }

    .vx-tech2-facts-grid > div:nth-child(-n+2){
        border-bottom:1px solid var(--tech-line);
    }

    .vx-tech2-section-grid{
        grid-template-columns:90px 1fr;
        gap:30px;
    }

    .vx-tech2-columns{
        gap:30px;
    }

    .vx-tech2-how-grid{
        grid-template-columns:1fr;
        gap:45px;
    }

    .vx-tech2-use-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .vx-tech2-platform-grid{
        grid-template-columns:1fr;
    }

    .vx-tech2-platform-grid article{
        display:grid;
        grid-template-columns:42% 1fr;
    }

    .vx-tech2-platform-image{
        height:100%;
        min-height:300px;
    }

    .vx-tech2-process-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .vx-tech2-process-grid article:nth-child(2){
        border-right:0;
    }

    .vx-tech2-process-grid article:nth-child(-n+2){
        border-bottom:1px solid rgba(255,255,255,.12);
    }

    .vx-tech2-cta-inner{
        grid-template-columns:1fr;
    }

    .vx-tech2-cta-inner > a{
        width:max-content;
    }
}


@media (max-width:650px){

    .vx-tech2-hero{
        padding:24px 0 48px;
    }

    .vx-tech2-breadcrumb{
        margin-bottom:25px;
        font-size:11px;
    }

    .vx-tech2-copy h1{
        font-size:43px;
        line-height:1;
    }

    .vx-tech2-copy > p{
        margin-top:22px;
        font-size:16px;
    }

    .vx-tech2-actions{
        align-items:flex-start;
        flex-direction:column;
        gap:20px;
    }

    .vx-tech2-media,
    .vx-tech2-image{
        height:430px;
        min-height:430px;
        border-radius:23px;
    }

    .vx-tech2-media::after{
        border-radius:23px;
    }

    .vx-tech2-media-card{
        right:14px;
        bottom:14px;
        width:calc(100% - 28px);
        padding:19px 20px;
    }

    .vx-tech2-facts-grid{
        grid-template-columns:1fr;
    }

    .vx-tech2-facts-grid > div{
        min-height:auto;
        border-right:0 !important;
        border-bottom:1px solid var(--tech-line);
    }

    .vx-tech2-facts-grid > div:last-child{
        border-bottom:0;
    }

    .vx-tech2-about,
    .vx-tech2-uses{
        padding:80px 0;
    }

    .vx-tech2-section-grid{
        grid-template-columns:1fr;
    }

    .vx-tech2-index{
        display:flex;
        gap:12px;
        align-items:center;
    }

    .vx-tech2-index small{
        margin:0;
    }

    .vx-tech2-columns{
        grid-template-columns:1fr;
        margin-top:32px;
    }

    .vx-tech2-how{
        padding:75px 0;
    }

    .vx-tech2-use-grid{
        grid-template-columns:1fr;
        margin-top:45px;
    }

    .vx-tech2-use-grid article{
        min-height:210px;
    }

    .vx-tech2-feature,
    .vx-tech2-platforms,
    .vx-tech2-process{
        padding:80px 0;
    }

    .vx-tech2-feature-grid,
    .vx-tech2-platform-head,
    .vx-tech2-process-head{
        grid-template-columns:1fr;
        gap:25px;
    }

    .vx-tech2-feature-grid > p,
    .vx-tech2-platform-head > p{
        grid-column:auto;
    }

    .vx-tech2-platform-grid article{
        display:block;
    }

    .vx-tech2-platform-image{
        height:280px;
    }

    .vx-tech2-process-grid{
        grid-template-columns:1fr;
        margin-top:45px;
    }

    .vx-tech2-process-grid article{
        min-height:auto;
        padding:27px 0;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.12);
    }

    .vx-tech2-process-grid article:last-child{
        border-bottom:0;
    }

    .vx-tech2-process-grid h3{
        margin-top:30px;
    }

    .vx-tech2-cta{
        padding:55px 0 70px;
    }

    .vx-tech2-cta-inner{
        gap:35px;
        padding:38px 27px;
    }

    .vx-tech2-cta-inner > a{
        width:100%;
    }
}



/* ==========================================================
   VIREXIS — LASER EDITORIAL PREMIUM V3
   ========================================================== */

.vx-laser-mag{
    position:relative;
    overflow:hidden;
    background:#061725;
}


/* INTRO */

.vx-laser-mag-intro{
    position:relative;
    padding:105px 0 92px;
    color:#fff;
    background:
        radial-gradient(
            circle at 72% 5%,
            rgba(30,132,220,.24),
            transparent 30%
        ),
        linear-gradient(
            115deg,
            #04111d 0%,
            #071d30 56%,
            #092740 100%
        );
}

.vx-laser-mag-intro::before{
    content:"";
    position:absolute;
    top:0;
    left:51%;
    width:1px;
    height:100%;
    background:
        linear-gradient(
            transparent,
            rgba(255,255,255,.12),
            transparent
        );
}

.vx-laser-mag-intro-grid{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(330px,.65fr);
    gap:100px;
    align-items:end;
}

.vx-laser-mag-title > span{
    display:block;
    margin-bottom:25px;
    color:#68baff;
    font-size:10px;
    font-weight:850;
    letter-spacing:.25em;
}

.vx-laser-mag-title h2{
    max-width:900px;
    margin:0;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(52px,5.8vw,88px);
    font-weight:400;
    line-height:.96;
    letter-spacing:-.052em;
}

.vx-laser-mag-title h2 em{
    display:block;
    color:#dcecff;
    font-weight:400;
}

.vx-laser-mag-lead{
    padding-bottom:7px;
}

.vx-laser-mag-lead > p{
    margin:0;
    color:#c0cfdb;
    font-size:15px;
    line-height:1.85;
}

.vx-laser-mag-lead > div{
    margin-top:29px;
}

.vx-laser-mag-lead i{
    display:block;
    width:74px;
    height:1px;
    margin-bottom:17px;
    background:#42a7ff;
}

.vx-laser-mag-lead span{
    color:#79beff;
    font-size:9px;
    font-weight:850;
    letter-spacing:.23em;
}


/* PLATFORM GRID */

.vx-laser-mag-platforms{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:1800px;
    margin:0 auto;
    border-top:1px solid rgba(255,255,255,.09);
    border-bottom:1px solid rgba(255,255,255,.09);
}

.vx-laser-mag-card{
    position:relative;
    min-width:0;
    overflow:hidden;
    border-right:1px solid rgba(255,255,255,.1);
    background:
        linear-gradient(
            180deg,
            #071827 0%,
            #06131f 100%
        );
}

.vx-laser-mag-card:last-child{
    border-right:0;
}

.vx-laser-mag-card::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.6;
}

.vx-laser-theal::after{
    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(36,148,245,.16),
            transparent 35%
        );
}

.vx-laser-m8::after{
    background:
        radial-gradient(
            circle at 75% 20%,
            rgba(180,45,55,.13),
            transparent 35%
        );
}

.vx-laser-hiro::after{
    background:
        radial-gradient(
            circle at 70% 22%,
            rgba(229,52,59,.14),
            transparent 34%
        );
}


/* PRODUCT IMAGE */

.vx-laser-mag-photo{
    position:relative;
    z-index:1;
    height:450px;
    padding:35px 42px 0;
    overflow:hidden;
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.025),
            transparent
        );
}

.vx-laser-mag-device{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center bottom;
    filter:
        drop-shadow(
            0 28px 35px rgba(0,0,0,.42)
        );
    transition:transform .55s ease;
}

.vx-laser-mag-card:hover .vx-laser-mag-device{
    transform:scale(1.035);
}

.vx-laser-mag-number{
    position:absolute;
    top:30px;
    left:35px;
    color:rgba(255,255,255,.26);
    font-family:Georgia,"Times New Roman",serif;
    font-size:18px;
}


/* COPY */

.vx-laser-mag-content{
    position:relative;
    z-index:2;
    min-height:570px;
    padding:48px 50px 58px;
}

.vx-laser-mag-kicker{
    color:#67b8ff;
    font-size:9px;
    font-weight:850;
    letter-spacing:.23em;
}

.vx-laser-mag-content h3{
    margin:18px 0 0;
    color:#fff;
    font-size:clamp(35px,3vw,49px);
    line-height:1;
    letter-spacing:-.045em;
}

.vx-laser-mag-content h4{
    max-width:430px;
    margin:26px 0 0;
    color:#f2f7fb;
    font-family:Georgia,"Times New Roman",serif;
    font-size:26px;
    line-height:1.12;
    font-weight:400;
    letter-spacing:-.025em;
}

.vx-laser-mag-content > p{
    max-width:440px;
    margin:22px 0 0;
    color:#afc0cf;
    font-size:14px;
    line-height:1.8;
}

.vx-laser-mag-features{
    margin-top:36px;
    border-top:1px solid rgba(255,255,255,.12);
}

.vx-laser-mag-features > div{
    display:grid;
    grid-template-columns:22px 1fr;
    gap:14px;
    align-items:center;
    min-height:51px;
    border-bottom:1px solid rgba(255,255,255,.09);
}

.vx-laser-mag-features > div > span{
    position:relative;
    display:block;
    width:18px;
    height:18px;
    border:1px solid rgba(110,189,255,.55);
    border-radius:50%;
}

.vx-laser-mag-features > div > span::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#5eb7ff;
    transform:translate(-50%,-50%);
}

.vx-laser-mag-features strong{
    color:#d9e6ef;
    font-size:10px;
    line-height:1.4;
    font-weight:750;
    letter-spacing:.09em;
    text-transform:uppercase;
}


/* Give M8 + HIRO additional visual prominence */

.vx-laser-m8,
.vx-laser-hiro{
    background:
        linear-gradient(
            180deg,
            #091a29 0%,
            #07131f 100%
        );
}

.vx-laser-m8 .vx-laser-mag-content h3,
.vx-laser-hiro .vx-laser-mag-content h3{
    font-size:clamp(39px,3.25vw,54px);
}

.vx-laser-m8 .vx-laser-mag-photo,
.vx-laser-hiro .vx-laser-mag-photo{
    height:480px;
}


/* CLOSING */

.vx-laser-mag-closing{
    padding:86px 0 92px;
    background:#f7fafc;
}

.vx-laser-mag-closing-grid{
    display:grid;
    grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);
    gap:90px;
    align-items:center;
}

.vx-laser-mag-closing-title > span{
    display:block;
    margin-bottom:17px;
    color:#1682df;
    font-size:9px;
    font-weight:850;
    letter-spacing:.23em;
}

.vx-laser-mag-closing-title h2{
    max-width:550px;
    margin:0;
    color:#071b31;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(42px,4.2vw,65px);
    line-height:1;
    font-weight:400;
    letter-spacing:-.045em;
}

.vx-laser-mag-closing-title h2 em{
    display:block;
    color:#41657e;
    font-weight:400;
}

.vx-laser-mag-principles{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-left:1px solid #d6e1e9;
}

.vx-laser-mag-principles > div{
    min-height:160px;
    padding:15px 34px;
    border-right:1px solid #d6e1e9;
}

.vx-laser-mag-principles span{
    display:block;
    color:#1682df;
    font-size:10px;
    font-weight:850;
}

.vx-laser-mag-principles strong{
    display:block;
    margin-top:38px;
    color:#0a2339;
    font-size:16px;
}

.vx-laser-mag-principles small{
    display:block;
    margin-top:8px;
    color:#6b7f90;
    font-size:12px;
    line-height:1.5;
}


/* RESPONSIVE */

@media (max-width:1100px){

    .vx-laser-mag-intro-grid{
        gap:55px;
    }

    .vx-laser-mag-photo{
        height:380px;
        padding-left:25px;
        padding-right:25px;
    }

    .vx-laser-m8 .vx-laser-mag-photo,
    .vx-laser-hiro .vx-laser-mag-photo{
        height:410px;
    }

    .vx-laser-mag-content{
        padding-left:32px;
        padding-right:32px;
    }
}


@media (max-width:900px){

    .vx-laser-mag-intro-grid{
        grid-template-columns:1fr;
        gap:42px;
    }

    .vx-laser-mag-intro::before{
        display:none;
    }

    .vx-laser-mag-lead{
        max-width:650px;
    }

    .vx-laser-mag-platforms{
        grid-template-columns:1fr;
    }

    .vx-laser-mag-card{
        display:grid;
        grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.1);
    }

    .vx-laser-mag-photo,
    .vx-laser-m8 .vx-laser-mag-photo,
    .vx-laser-hiro .vx-laser-mag-photo{
        height:100%;
        min-height:520px;
    }

    .vx-laser-mag-content{
        min-height:520px;
    }

    .vx-laser-mag-closing-grid{
        grid-template-columns:1fr;
        gap:55px;
    }
}


@media (max-width:650px){

    .vx-laser-mag-intro{
        padding:75px 0 65px;
    }

    .vx-laser-mag-title h2{
        font-size:46px;
    }

    .vx-laser-mag-card{
        display:block;
    }

    .vx-laser-mag-photo,
    .vx-laser-m8 .vx-laser-mag-photo,
    .vx-laser-hiro .vx-laser-mag-photo{
        height:370px;
        min-height:0;
        padding:25px 20px 0;
    }

    .vx-laser-mag-content{
        min-height:0;
        padding:38px 27px 50px;
    }

    .vx-laser-mag-content h4{
        font-size:24px;
    }

    .vx-laser-mag-closing{
        padding:70px 0;
    }

    .vx-laser-mag-principles{
        grid-template-columns:1fr;
        border-top:1px solid #d6e1e9;
        border-left:0;
    }

    .vx-laser-mag-principles > div{
        min-height:auto;
        padding:25px 0;
        border-right:0;
        border-bottom:1px solid #d6e1e9;
    }

    .vx-laser-mag-principles strong{
        margin-top:20px;
    }
}



/* ==========================================================
   VIREXIS — LASER V4 / THREE TECHNOLOGIES FIRST VIEW
   ========================================================== */

.vx-laser4{
    position:relative;
    overflow:hidden;
    padding:42px 0 0;
    color:#fff;
    background:
        radial-gradient(
            circle at 76% 4%,
            rgba(24,127,211,.30),
            transparent 27%
        ),
        radial-gradient(
            circle at 12% 32%,
            rgba(20,99,160,.15),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #04111d 0%,
            #061827 52%,
            #08243b 100%
        );
}

.vx-laser4::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(
            120deg,
            transparent 0 45%,
            rgba(255,255,255,.018) 45% 46%,
            transparent 46% 100%
        );
}

.vx-laser4 .virexis-container{
    position:relative;
    z-index:1;
}


/* TOP */

.vx-laser4-top{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    gap:90px;
    align-items:end;
    padding-bottom:47px;
}

.vx-laser4-breadcrumb{
    display:flex;
    gap:10px;
    margin-bottom:36px;
    color:#829bb0;
    font-size:11px;
    font-weight:650;
}

.vx-laser4-breadcrumb a{
    color:inherit;
    text-decoration:none;
}

.vx-laser4-kicker{
    display:block;
    margin-bottom:15px;
    color:#60b7ff;
    font-size:9px;
    font-weight:850;
    letter-spacing:.25em;
}

.vx-laser4-heading h1{
    max-width:850px;
    margin:0;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(56px,6vw,91px);
    font-weight:400;
    line-height:.91;
    letter-spacing:-.055em;
}

.vx-laser4-heading h1 em{
    display:block;
    color:#eaf5ff;
    font-weight:400;
}

.vx-laser4-heading > p{
    max-width:700px;
    margin:24px 0 0;
    color:#c1d0dc;
    font-size:16px;
    line-height:1.72;
}

.vx-laser4-side{
    padding-bottom:8px;
}

.vx-laser4-side > span{
    display:block;
    color:#9ec9eb;
    font-size:10px;
    line-height:1.9;
    font-weight:750;
    letter-spacing:.25em;
}

.vx-laser4-side > a{
    display:flex;
    align-items:center;
    gap:17px;
    margin-top:30px;
    color:#fff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.15em;
    text-decoration:none;
    text-transform:uppercase;
}

.vx-laser4-side b{
    display:grid;
    width:47px;
    height:47px;
    place-items:center;
    border:1px solid rgba(255,255,255,.55);
    border-radius:50%;
    font-size:18px;
    font-weight:400;
}


/* THREE MACHINES */

.vx-laser4-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid rgba(113,190,255,.3);
    border-left:1px solid rgba(113,190,255,.22);
}

.vx-laser4-card{
    min-width:0;
    overflow:hidden;
    border-right:1px solid rgba(113,190,255,.22);
    border-bottom:1px solid rgba(113,190,255,.22);
    background:rgba(3,15,26,.54);
}

.vx-laser4-photo{
    position:relative;
    height:465px;
    overflow:hidden;
    background:
        radial-gradient(
            circle at 50% 40%,
            rgba(42,132,204,.17),
            transparent 42%
        );
}

.vx-laser4-m8 .vx-laser4-photo{
    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(184,43,52,.20),
            transparent 42%
        );
}

.vx-laser4-hiro .vx-laser4-photo{
    background:
        radial-gradient(
            circle at 52% 38%,
            rgba(213,45,55,.18),
            transparent 42%
        );
}

.vx-laser4-device{
    display:block;
    width:100%;
    height:100%;
    padding:30px 28px 0;
    object-fit:contain;
    object-position:center bottom;
    filter:drop-shadow(0 28px 34px rgba(0,0,0,.48));
    transition:transform .45s ease;
}

.vx-laser4-card:hover .vx-laser4-device{
    transform:scale(1.025);
}

.vx-laser4-number{
    position:absolute;
    z-index:2;
    top:25px;
    left:28px;
    color:#b5ddff;
    font-size:11px;
    font-weight:850;
    letter-spacing:.15em;
}


/* CONTENT */

.vx-laser4-content{
    padding:32px 34px 38px;
}

.vx-laser4-type{
    display:block;
    color:#60b8ff;
    font-size:8px;
    font-weight:850;
    letter-spacing:.22em;
}

.vx-laser4-m8 .vx-laser4-type,
.vx-laser4-m8 .vx-laser4-features i{
    color:#ff5865;
}

.vx-laser4-hiro .vx-laser4-type{
    color:#ff6470;
}

.vx-laser4-content h2{
    margin:12px 0 0;
    color:#fff;
    font-size:39px;
    line-height:1;
    letter-spacing:-.045em;
}

.vx-laser4-m8 h2,
.vx-laser4-hiro h2{
    font-size:43px;
}

.vx-laser4-content h3{
    max-width:390px;
    margin:20px 0 0;
    color:#f3f7fa;
    font-family:Georgia,"Times New Roman",serif;
    font-size:23px;
    line-height:1.12;
    font-weight:400;
}

.vx-laser4-content > p{
    min-height:108px;
    margin:18px 0 0;
    color:#aebfcd;
    font-size:13px;
    line-height:1.68;
}

.vx-laser4-features{
    margin-top:25px;
    border-top:1px solid rgba(255,255,255,.1);
}

.vx-laser4-features > div{
    display:grid;
    grid-template-columns:18px 1fr;
    gap:11px;
    align-items:center;
    min-height:39px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.vx-laser4-features i{
    position:relative;
    display:block;
    width:14px;
    height:14px;
    border:1px solid #4aaeff;
    border-radius:50%;
}

.vx-laser4-features i::after{
    content:"+";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#69bdff;
    font-size:9px;
    font-style:normal;
}

.vx-laser4-m8 .vx-laser4-features i,
.vx-laser4-hiro .vx-laser4-features i{
    border-color:#e84c58;
}

.vx-laser4-m8 .vx-laser4-features i::after,
.vx-laser4-hiro .vx-laser4-features i::after{
    color:#ff626e;
}

.vx-laser4-features span{
    color:#dbe6ee;
    font-size:8px;
    line-height:1.35;
    font-weight:750;
    letter-spacing:.09em;
    text-transform:uppercase;
}


/* BUTTON */

.vx-laser4-more{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:25px;
    padding:13px 17px;
    border:1px solid rgba(102,189,255,.65);
    border-radius:999px;
    color:#fff;
    text-decoration:none;
    font-size:11px;
    transition:.25s ease;
}

.vx-laser4-m8 .vx-laser4-more,
.vx-laser4-hiro .vx-laser4-more{
    border-color:rgba(255,82,94,.75);
}

.vx-laser4-more:hover{
    background:#fff;
    color:#071a2b;
}

.vx-laser4-more b{
    font-size:16px;
    font-weight:400;
}


/* BOTTOM PRINCIPLES */

.vx-laser4-bottom{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    margin-top:0;
    border-left:1px solid rgba(255,255,255,.1);
    background:rgba(8,39,64,.68);
}

.vx-laser4-bottom > div{
    min-height:115px;
    padding:25px 27px;
    border-right:1px solid rgba(255,255,255,.1);
}

.vx-laser4-bottom span{
    display:block;
    color:#5cb6ff;
    font-size:9px;
    font-weight:850;
}

.vx-laser4-bottom strong{
    display:block;
    margin-top:13px;
    color:#fff;
    font-size:13px;
}

.vx-laser4-bottom small{
    display:block;
    margin-top:5px;
    color:#9fb2c2;
    font-size:10px;
    line-height:1.45;
}

.vx-anchor-offset{
    position:absolute;
    margin-top:-120px;
}


/* LASER: soften transition into clinical content */

.vx-tech2-laser .vx-tech2-about{
    position:relative;
    padding-top:105px;
    background:#fff;
}


/* RESPONSIVE */

@media (max-width:1050px){

    .vx-laser4-top{
        gap:45px;
    }

    .vx-laser4-photo{
        height:390px;
    }

    .vx-laser4-content{
        padding-left:25px;
        padding-right:25px;
    }
}


@media (max-width:850px){

    .vx-laser4-top{
        grid-template-columns:1fr;
    }

    .vx-laser4-side{
        display:none;
    }

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

    .vx-laser4-card{
        display:grid;
        grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
    }

    .vx-laser4-photo{
        height:100%;
        min-height:540px;
    }

    .vx-laser4-content > p{
        min-height:0;
    }
}


@media (max-width:600px){

    .vx-laser4{
        padding-top:25px;
    }

    .vx-laser4-breadcrumb{
        margin-bottom:28px;
    }

    .vx-laser4-heading h1{
        font-size:49px;
    }

    .vx-laser4-heading > p{
        font-size:15px;
    }

    .vx-laser4-card{
        display:block;
    }

    .vx-laser4-photo{
        height:370px;
        min-height:0;
    }

    .vx-laser4-content{
        padding:30px 25px 35px;
    }

    .vx-laser4-content h2,
    .vx-laser4-m8 h2,
    .vx-laser4-hiro h2{
        font-size:38px;
    }

    .vx-laser4-content h3{
        font-size:22px;
    }

    .vx-laser4-bottom{
        grid-template-columns:repeat(2,1fr);
    }

    .vx-laser4-bottom > div{
        min-height:105px;
    }
}



/* ==========================================================
   VIREXIS — M8 MLS + HIRO TT FEATURE STORIES
   ========================================================== */

.vx-laser-stories{
    overflow:hidden;
    background:#fff;
}


/* ----------------------------------------------------------
   INTRO
   ---------------------------------------------------------- */

.vx-laser-stories-intro{
    padding:110px 0 90px;
    border-top:1px solid #e1eaf1;
}

.vx-laser-stories-kicker{
    display:block;
    margin-bottom:28px;
    color:#167fd6;
    font-size:9px;
    font-weight:850;
    letter-spacing:.24em;
}

.vx-laser-stories-intro-grid{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);
    gap:100px;
    align-items:end;
}

.vx-laser-stories-intro h2{
    max-width:830px;
    margin:0;
    color:#071b31;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(48px,5vw,75px);
    line-height:.98;
    font-weight:400;
    letter-spacing:-.05em;
}

.vx-laser-stories-intro h2 em{
    display:block;
    color:#4c6d85;
    font-weight:400;
}

.vx-laser-stories-intro p{
    margin:0;
    color:#60778a;
    font-size:15px;
    line-height:1.8;
}


/* ----------------------------------------------------------
   STORY
   ---------------------------------------------------------- */

.vx-laser-story{
    position:relative;
    padding:115px 0;
}

.vx-laser-story-m8{
    color:#fff;
    background:
        radial-gradient(
            circle at 16% 35%,
            rgba(189,38,51,.20),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #061522,
            #081a28 60%,
            #130f17
        );
}

.vx-laser-story-hiro{
    color:#fff;
    background:
        radial-gradient(
            circle at 83% 36%,
            rgba(225,49,58,.18),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #071827,
            #06131f
        );
}

.vx-laser-story-grid{
    display:grid;
    grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr);
    gap:95px;
    align-items:center;
}


/* ----------------------------------------------------------
   PRODUCT IMAGE
   ---------------------------------------------------------- */

.vx-laser-story-media{
    position:relative;
    height:720px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.11);
    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(255,255,255,.06),
            transparent 48%
        ),
        rgba(0,0,0,.13);
}

.vx-laser-story-m8 .vx-laser-story-media{
    box-shadow:
        0 45px 90px rgba(0,0,0,.30),
        inset 0 0 100px rgba(181,35,47,.08);
}

.vx-laser-story-hiro .vx-laser-story-media{
    box-shadow:
        0 45px 90px rgba(0,0,0,.30),
        inset 0 0 100px rgba(220,47,57,.06);
}

.vx-laser-story-image{
    display:block;
    width:100%;
    height:100%;
    padding:55px 40px 0;
    object-fit:contain;
    object-position:center bottom;
    filter:drop-shadow(0 38px 42px rgba(0,0,0,.48));
}

.vx-laser-story-number{
    position:absolute;
    z-index:2;
    top:30px;
    left:32px;
    color:rgba(255,255,255,.5);
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
}

.vx-laser-story-caption{
    position:absolute;
    z-index:2;
    right:25px;
    bottom:25px;
    left:25px;
    padding:21px 23px;
    border:1px solid rgba(255,255,255,.13);
    background:rgba(2,13,22,.77);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.vx-laser-story-caption span{
    display:block;
    color:#ff626d;
    font-size:8px;
    font-weight:850;
    letter-spacing:.2em;
}

.vx-laser-story-caption strong{
    display:block;
    margin-top:7px;
    color:#fff;
    font-size:19px;
}


/* ----------------------------------------------------------
   EDITORIAL COPY
   ---------------------------------------------------------- */

.vx-laser-story-copy{
    max-width:650px;
}

.vx-laser-story-label{
    display:block;
    margin-bottom:19px;
    color:#ff5966;
    font-size:9px;
    font-weight:850;
    letter-spacing:.25em;
}

.vx-laser-story-copy > h2{
    margin:0;
    color:#fff;
    font-size:clamp(60px,6vw,94px);
    line-height:.85;
    letter-spacing:-.065em;
}

.vx-laser-story-copy > h2 b{
    color:#ff4655;
    font-weight:inherit;
}

.vx-laser-story-copy > h3{
    max-width:600px;
    margin:31px 0 0;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(32px,3.3vw,49px);
    line-height:1.04;
    font-weight:400;
    letter-spacing:-.035em;
}

.vx-laser-story-copy > h3 em{
    display:block;
    color:#b8c8d4;
    font-weight:400;
}

.vx-laser-story-lead{
    max-width:600px;
    margin:30px 0 0;
    color:#b2c2cf;
    font-size:15px;
    line-height:1.82;
}


/* ----------------------------------------------------------
   TECH DETAILS
   ---------------------------------------------------------- */

.vx-laser-story-detail{
    margin-top:47px;
    border-top:1px solid rgba(255,255,255,.12);
}

.vx-laser-story-detail > div{
    display:grid;
    grid-template-columns:45px 1fr;
    gap:21px;
    padding:25px 0;
    border-bottom:1px solid rgba(255,255,255,.1);
}

.vx-laser-story-detail > div > span{
    padding-top:2px;
    color:#ff5966;
    font-size:9px;
    font-weight:850;
}

.vx-laser-story-detail section strong{
    display:block;
    color:#fff;
    font-size:14px;
}

.vx-laser-story-detail section p{
    max-width:520px;
    margin:8px 0 0;
    color:#9eb0be;
    font-size:12px;
    line-height:1.7;
}

.vx-laser-story-signature{
    margin-top:37px;
}

.vx-laser-story-signature span{
    display:block;
    color:#ff5966;
    font-size:8px;
    font-weight:850;
    letter-spacing:.22em;
}

.vx-laser-story-signature strong{
    display:block;
    margin-top:9px;
    color:#dbe5ec;
    font-family:Georgia,"Times New Roman",serif;
    font-size:18px;
    font-weight:400;
}


/* ----------------------------------------------------------
   HIRO REVERSED
   ---------------------------------------------------------- */

.vx-laser-story-hiro .vx-laser-story-copy{
    justify-self:start;
}

.vx-laser-story-hiro .vx-laser-story-label,
.vx-laser-story-hiro .vx-laser-story-detail > div > span,
.vx-laser-story-hiro .vx-laser-story-signature span{
    color:#ff4c59;
}


/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (max-width:1050px){

    .vx-laser-story-grid{
        gap:55px;
    }

    .vx-laser-story-media{
        height:620px;
    }

    .vx-laser-stories-intro-grid{
        gap:55px;
    }
}


@media (max-width:850px){

    .vx-laser-stories-intro-grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .vx-laser-story-grid{
        grid-template-columns:1fr;
    }

    .vx-laser-story-media{
        height:620px;
        max-width:620px;
    }

    .vx-laser-story-hiro .vx-laser-story-copy{
        order:2;
    }

    .vx-laser-story-hiro .vx-laser-story-media{
        order:1;
    }

    .vx-laser-story-copy{
        max-width:700px;
    }
}


@media (max-width:600px){

    .vx-laser-stories-intro{
        padding:80px 0 65px;
    }

    .vx-laser-stories-intro h2{
        font-size:45px;
    }

    .vx-laser-story{
        padding:70px 0 75px;
    }

    .vx-laser-story-media{
        height:460px;
    }

    .vx-laser-story-image{
        padding:35px 20px 0;
    }

    .vx-laser-story-copy > h2{
        font-size:62px;
    }

    .vx-laser-story-copy > h3{
        font-size:32px;
    }

    .vx-laser-story-detail{
        margin-top:35px;
    }
}



/* ==========================================================
   VIREXIS — LASER V5
   MLS → HIRO TT → THEAL
   ========================================================== */


/* MLS is the primary technology */

.vx-laser5 .vx-laser4-m8{
    position:relative;
    background:
        radial-gradient(
            circle at 55% 24%,
            rgba(209,45,57,.20),
            transparent 37%
        ),
        rgba(5,17,28,.78);
}

.vx-laser5 .vx-laser4-m8::before{
    content:"TECHNOLOGY 01";
    position:absolute;
    z-index:3;
    top:24px;
    right:24px;
    color:rgba(255,255,255,.28);
    font-size:7px;
    font-weight:800;
    letter-spacing:.22em;
}


/* Give MLS more visual weight */

.vx-laser5 .vx-laser4-m8 .vx-laser4-photo{
    background:
        radial-gradient(
            circle at 50% 48%,
            rgba(212,49,62,.24),
            transparent 45%
        );
}

.vx-laser5 .vx-laser4-m8 .vx-laser4-device{
    transform:scale(1.07);
}

.vx-laser5 .vx-laser4-m8:hover .vx-laser4-device{
    transform:scale(1.095);
}


/* HIRO TT */

.vx-laser5 .vx-laser4-hiro{
    background:
        radial-gradient(
            circle at 50% 25%,
            rgba(223,54,65,.15),
            transparent 37%
        ),
        rgba(5,17,28,.67);
}


/* THEAL uses a real treatment photograph */

.vx-laser5 .vx-laser4-theal .vx-laser4-photo{
    background:#071827;
}

.vx-laser5 .vx-laser4-theal .vx-laser4-device{
    width:100%;
    height:100%;
    padding:0;
    object-fit:cover;
    object-position:center;
    filter:none;
    opacity:.88;
}

.vx-laser5 .vx-laser4-theal .vx-laser4-photo::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(
            180deg,
            rgba(4,18,31,.04),
            rgba(4,18,31,.48)
        );
}


/* Feature Story THEAL */

.vx-laser-story-theal{
    color:#fff;
    background:
        radial-gradient(
            circle at 18% 35%,
            rgba(32,137,219,.18),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #071b2e,
            #061522
        );
}

.vx-laser-story-theal .vx-laser-story-label,
.vx-laser-story-theal .vx-laser-story-detail > div > span,
.vx-laser-story-theal .vx-laser-story-signature span,
.vx-laser-story-theal .vx-laser-story-caption span{
    color:#62b9ff;
}


/* Treatment images should behave like editorial photography */

.vx-laser-story-image-treatment{
    padding:0 !important;
    object-fit:cover !important;
    object-position:center !important;
    filter:none !important;
}


/* Editorial separation */

.vx-laser-story + .vx-laser-story{
    border-top:1px solid rgba(255,255,255,.08);
}


/* Improve hierarchy of three stories */

.vx-laser-story-m8 .vx-laser-story-copy > h2{
    position:relative;
}

.vx-laser-story-m8 .vx-laser-story-copy > h2::after{
    content:"MLS®";
    display:inline-block;
    margin-left:15px;
    vertical-align:top;
    color:#ff5966;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.16em;
}


/* Mobile */

@media (max-width:600px){

    .vx-laser5 .vx-laser4-m8 .vx-laser4-device{
        transform:scale(1.03);
    }

    .vx-laser5 .vx-laser4-m8:hover .vx-laser4-device{
        transform:scale(1.05);
    }

}



/* ==========================================================
   VIREXIS — HEADER PREMIUM V4
   ========================================================== */

.vx-header-v4{
    --vx-header-navy:#061a2c;
    --vx-header-navy-2:#08243b;
    --vx-header-blue:#248de2;
    --vx-header-ice:#a9d9ff;

    position:relative;
    z-index:9999;
    width:100%;
    font-family:inherit;
}


/* ==========================================================
   TOP SIGNATURE
   ========================================================== */

.vx-header-v4-top{
    height:31px;
    color:#a9bfd0;
    background:
        linear-gradient(
            90deg,
            #041421 0%,
            #071d30 50%,
            #08253d 100%
        );
    border-bottom:1px solid rgba(255,255,255,.065);
}

.vx-header-v4-top-inner{
    display:flex;
    height:31px;
    align-items:center;
    justify-content:space-between;
}

.vx-header-v4-signature{
    display:flex;
    align-items:center;
    gap:9px;
    white-space:nowrap;
    font-size:7px;
    font-weight:750;
    letter-spacing:.19em;
}

.vx-header-v4-signature i{
    color:#48677e;
    font-size:8px;
    font-style:normal;
}

.vx-header-v4-signature strong{
    color:#72bdf8;
    font-weight:850;
}

.vx-header-v4-pulse{
    position:relative;
    display:block;
    width:5px;
    height:5px;
    margin-right:2px;
    border-radius:50%;
    background:#4daeff;
    box-shadow:0 0 10px rgba(77,174,255,.8);
}

.vx-header-v4-meta{
    display:flex;
    align-items:center;
    gap:15px;
    font-size:8px;
    font-weight:650;
    letter-spacing:.08em;
}

.vx-header-v4-location{
    display:flex;
    align-items:center;
    gap:7px;
}

.vx-header-v4-location svg{
    width:11px;
    height:11px;
    fill:none;
    stroke:#6db8f2;
    stroke-width:1.6;
}

.vx-header-v4-divider{
    width:1px;
    height:11px;
    background:rgba(255,255,255,.16);
}

.vx-header-v4-language{
    color:#fff;
    font-weight:850;
}


/* ==========================================================
   MAIN HEADER
   ========================================================== */

.vx-header-v4-main{
    position:relative;
    background:
        linear-gradient(
            90deg,
            rgba(4,20,33,.985),
            rgba(6,29,48,.975) 48%,
            rgba(8,39,63,.97)
        );
    box-shadow:
        0 12px 38px rgba(2,18,31,.12);
    transition:
        background .3s ease,
        box-shadow .3s ease;
}

.vx-header-v4-main-inner{
    display:grid;
    grid-template-columns:minmax(275px,1fr) auto auto;
    gap:42px;
    min-height:91px;
    align-items:center;
}


/* ==========================================================
   BRAND
   ========================================================== */

.vx-header-v4-brand{
    display:flex;
    align-items:center;
    gap:21px;
    min-width:0;
    color:#fff;
    text-decoration:none;
}

.vx-header-v4-logo{
    position:relative;
    display:flex;
    width:145px;
    min-width:145px;
    height:58px;
    align-items:center;
    padding-right:20px;
    border-right:1px solid rgba(255,255,255,.14);
}

.vx-header-v4-logo-img{
    display:block !important;
    width:125px !important;
    max-width:125px !important;
    height:auto !important;
    max-height:54px !important;
    object-fit:contain !important;
    filter:
        brightness(0)
        invert(1)
        drop-shadow(0 5px 12px rgba(0,0,0,.12));
}

.vx-header-v4-brand-copy{
    display:block;
    max-width:175px;
}

.vx-header-v4-brand-copy strong{
    display:block;
    margin-bottom:5px;
    color:#fff;
    font-size:9px;
    font-weight:850;
    letter-spacing:.27em;
}

.vx-header-v4-brand-copy small{
    display:block;
    color:#91a9ba;
    font-family:Georgia,"Times New Roman",serif;
    font-size:11px;
    line-height:1.3;
}


/* ==========================================================
   NAVIGATION
   ========================================================== */

.vx-header-v4-nav{
    display:flex;
    height:91px;
    align-items:stretch;
}

.vx-header-v4-nav a{
    position:relative;
    display:flex;
    align-items:center;
    padding:0 17px;
    color:#c9d6df;
    font-size:11px;
    line-height:1;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
    transition:
        color .22s ease,
        background .22s ease;
}

.vx-header-v4-nav a::before{
    content:"";
    position:absolute;
    right:17px;
    bottom:20px;
    left:17px;
    height:1px;
    background:#54aff5;
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform .28s ease;
}

.vx-header-v4-nav a:hover{
    color:#fff;
}

.vx-header-v4-nav a:hover::before,
.vx-header-v4-nav a.is-active::before{
    transform:scaleX(1);
}

.vx-header-v4-nav a.is-active{
    color:#fff;
}


/* ==========================================================
   CTA
   ========================================================== */

.vx-header-v4-cta{
    position:relative;
    display:flex;
    min-height:46px;
    align-items:center;
    justify-content:center;
    gap:17px;
    padding:0 23px;
    overflow:hidden;
    border:1px solid rgba(114,196,255,.55);
    border-radius:999px;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            #147bd1,
            #2798ed
        );
    box-shadow:
        0 10px 25px rgba(23,133,218,.22),
        inset 0 1px 0 rgba(255,255,255,.22);
    font-size:10px;
    font-weight:800;
    letter-spacing:.025em;
    text-decoration:none;
    white-space:nowrap;
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.vx-header-v4-cta::before{
    content:"";
    position:absolute;
    top:-100%;
    left:-30%;
    width:35%;
    height:300%;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.22),
            transparent
        );
    transform:rotate(20deg);
    transition:left .55s ease;
}

.vx-header-v4-cta:hover{
    color:#fff;
    transform:translateY(-1px);
    box-shadow:
        0 14px 32px rgba(23,133,218,.32),
        inset 0 1px 0 rgba(255,255,255,.25);
}

.vx-header-v4-cta:hover::before{
    left:110%;
}

.vx-header-v4-cta b{
    position:relative;
    z-index:1;
    font-size:17px;
    font-weight:400;
}

.vx-header-v4-cta span{
    position:relative;
    z-index:1;
}


/* ==========================================================
   PROGRESS / ACCENT
   ========================================================== */

.vx-header-v4-line{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    height:1px;
    overflow:hidden;
    background:rgba(255,255,255,.07);
}

.vx-header-v4-line span{
    display:block;
    width:0;
    height:100%;
    background:
        linear-gradient(
            90deg,
            #2497ef,
            #8bd3ff
        );
    box-shadow:0 0 8px rgba(62,171,255,.5);
}


/* ==========================================================
   STICKY STATE
   ========================================================== */

.vx-header-v4.is-scrolled{
    position:fixed;
    top:0;
    right:0;
    left:0;
}

.vx-header-v4.is-scrolled .vx-header-v4-top{
    height:0;
    overflow:hidden;
    border:0;
    opacity:0;
}

.vx-header-v4.is-scrolled .vx-header-v4-main{
    background:rgba(4,20,33,.955);
    box-shadow:0 12px 38px rgba(0,0,0,.22);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.vx-header-v4.is-scrolled .vx-header-v4-main-inner{
    min-height:72px;
}

.vx-header-v4.is-scrolled .vx-header-v4-nav{
    height:72px;
}

.vx-header-v4.is-scrolled .vx-header-v4-logo{
    height:47px;
}

.vx-header-v4.is-scrolled .vx-header-v4-logo-img{
    max-height:43px !important;
}


/* ==========================================================
   MOBILE BUTTON
   ========================================================== */

.vx-header-v4-toggle{
    display:none;
    width:44px;
    height:44px;
    padding:10px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;
    background:rgba(255,255,255,.035);
    cursor:pointer;
}

.vx-header-v4-toggle span{
    display:block;
    width:18px;
    height:1px;
    margin:4px auto;
    background:#fff;
    transition:.25s ease;
}


/* ==========================================================
   MOBILE MENU
   ========================================================== */

.vx-header-v4-mobile{
    display:none;
    overflow:hidden;
    border-top:1px solid rgba(255,255,255,.08);
    background:#061827;
}

.vx-header-v4-mobile nav{
    padding:14px 0;
}

.vx-header-v4-mobile nav a{
    display:flex;
    min-height:58px;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid rgba(255,255,255,.08);
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:19px;
    text-decoration:none;
}

.vx-header-v4-mobile nav a span{
    color:#529fda;
    font-family:inherit;
    font-size:8px;
    font-weight:850;
}

.vx-header-v4-mobile-cta{
    display:flex;
    min-height:50px;
    align-items:center;
    justify-content:space-between;
    margin:10px 0 25px;
    padding:0 19px;
    border-radius:6px;
    color:#fff;
    background:#1688df;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width:1180px){

    .vx-header-v4-main-inner{
        grid-template-columns:minmax(230px,1fr) auto auto;
        gap:23px;
    }

    .vx-header-v4-brand-copy{
        display:none;
    }

    .vx-header-v4-logo{
        width:145px;
        border-right:0;
    }

    .vx-header-v4-nav a{
        padding-right:11px;
        padding-left:11px;
        font-size:10px;
    }

}


@media (max-width:950px){

    .vx-header-v4-top{
        display:none;
    }

    .vx-header-v4-main-inner{
        display:flex;
        min-height:74px;
        justify-content:space-between;
    }

    .vx-header-v4-logo{
        width:135px;
        min-width:135px;
        height:48px;
    }

    .vx-header-v4-logo-img{
        width:118px !important;
        max-width:118px !important;
    }

    .vx-header-v4-brand-copy,
    .vx-header-v4-nav,
    .vx-header-v4-cta{
        display:none;
    }

    .vx-header-v4-toggle{
        display:block;
    }

    .vx-header-v4-mobile.is-open{
        display:block;
    }

}


@media (max-width:600px){

    .vx-header-v4-main-inner{
        min-height:68px;
    }

    .vx-header-v4-logo{
        height:44px;
    }

    .vx-header-v4-logo-img{
        width:108px !important;
        max-width:108px !important;
    }

}


/* Prevent old header styles from painting over V4 */

.vx-header-v4 .vx-header-v4-logo,
.vx-header-v4 .vx-header-v4-brand,
.vx-header-v4 .vx-header-v4-logo-img{
    background:transparent !important;
}



/* ==========================================================
   VIREXIS — HEADER PREMIUM V4.1
   Visual refinement
   ========================================================== */


/* Main navigation slightly more compact */

.vx-header-v4-main-inner{
    min-height:82px;
    grid-template-columns:minmax(300px,1fr) auto auto;
    gap:34px;
}

.vx-header-v4-nav{
    height:82px;
}


/* ----------------------------------------------------------
   BRAND
   ---------------------------------------------------------- */

.vx-header-v4-brand{
    gap:18px;
}


/* Give the real Virexis logo more authority */

.vx-header-v4-logo{
    width:164px;
    min-width:164px;
    height:61px;
    padding-right:22px;
}

.vx-header-v4-logo-img{
    width:144px !important;
    max-width:144px !important;
    max-height:59px !important;
}


/* Remove redundant second VIREXIS word */

.vx-header-v4-brand-copy strong{
    display:none !important;
}


/* Descriptor becomes a subtle editorial signature */

.vx-header-v4-brand-copy{
    max-width:155px;
}

.vx-header-v4-brand-copy small{
    position:relative;
    display:block;
    padding-left:14px;
    color:#a7bac8;
    font-family:Georgia,"Times New Roman",serif;
    font-size:10px;
    line-height:1.45;
    letter-spacing:.005em;
}

.vx-header-v4-brand-copy small::before{
    content:"";
    position:absolute;
    top:2px;
    bottom:2px;
    left:0;
    width:1px;
    background:
        linear-gradient(
            180deg,
            #3da5f4,
            rgba(61,165,244,.15)
        );
}


/* ----------------------------------------------------------
   NAVIGATION
   ---------------------------------------------------------- */

.vx-header-v4-nav a{
    padding-right:15px;
    padding-left:15px;
    color:#becdd8;
    font-size:10px;
    font-weight:700;
    letter-spacing:.012em;
}

.vx-header-v4-nav a::before{
    right:15px;
    bottom:17px;
    left:15px;
}


/* ----------------------------------------------------------
   CTA — less "button", more premium control
   ---------------------------------------------------------- */

.vx-header-v4-cta{
    min-height:43px;
    gap:15px;
    padding:0 21px;

    border:
        1px solid
        rgba(104,190,255,.52);

    background:
        linear-gradient(
            135deg,
            #1479c9 0%,
            #238fe1 100%
        );

    box-shadow:
        0 8px 22px rgba(13,107,180,.20),
        inset 0 1px 0 rgba(255,255,255,.18);

    font-size:9px;
    letter-spacing:.055em;
}


/* ----------------------------------------------------------
   TOP BAR — slightly more discreet
   ---------------------------------------------------------- */

.vx-header-v4-top{
    height:27px;
}

.vx-header-v4-top-inner{
    height:27px;
}

.vx-header-v4-signature{
    font-size:6.5px;
    letter-spacing:.22em;
}

.vx-header-v4-meta{
    font-size:7px;
}


/* ----------------------------------------------------------
   STICKY
   ---------------------------------------------------------- */

.vx-header-v4.is-scrolled .vx-header-v4-main-inner{
    min-height:68px;
}

.vx-header-v4.is-scrolled .vx-header-v4-nav{
    height:68px;
}

.vx-header-v4.is-scrolled .vx-header-v4-logo{
    height:48px;
}

.vx-header-v4.is-scrolled .vx-header-v4-logo-img{
    width:128px !important;
    max-width:128px !important;
    max-height:47px !important;
}


/* ----------------------------------------------------------
   LARGE DESKTOP
   ---------------------------------------------------------- */

@media (min-width:1400px){

    .vx-header-v4-main-inner{
        grid-template-columns:minmax(330px,1fr) auto auto;
        gap:45px;
    }

    .vx-header-v4-logo{
        width:174px;
        min-width:174px;
    }

    .vx-header-v4-logo-img{
        width:152px !important;
        max-width:152px !important;
    }

}


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

@media (max-width:1180px){

    .vx-header-v4-main-inner{
        grid-template-columns:minmax(180px,1fr) auto auto;
        gap:20px;
    }

    .vx-header-v4-brand-copy{
        display:none;
    }

    .vx-header-v4-logo{
        width:150px;
        min-width:150px;
        padding-right:0;
        border-right:0;
    }

    .vx-header-v4-logo-img{
        width:137px !important;
        max-width:137px !important;
    }

}


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

@media (max-width:950px){

    .vx-header-v4-main-inner{
        min-height:70px;
    }

    .vx-header-v4-logo{
        width:138px;
        min-width:138px;
        height:48px;
    }

    .vx-header-v4-logo-img{
        width:125px !important;
        max-width:125px !important;
    }

}



/* ==========================================================
   VIREXIS — HEADER PREMIUM V5
   Approved visual direction
   ========================================================== */


/* ----------------------------------------------------------
   MAIN BAR
   ---------------------------------------------------------- */

.vx-header-v4-main{
    background:
        radial-gradient(
            circle at 58% -120%,
            rgba(38,145,225,.20),
            transparent 43%
        ),
        linear-gradient(
            100deg,
            #031522 0%,
            #062039 52%,
            #082d4c 100%
        );
}

.vx-header-v4-main-inner{
    grid-template-columns:minmax(350px,1fr) auto auto;
    gap:0;
    min-height:104px;
}


/* ----------------------------------------------------------
   BRAND
   ---------------------------------------------------------- */

.vx-header-v4-brand{
    gap:25px;
    min-height:104px;
    padding-right:30px;
}

.vx-header-v4-logo{
    width:180px;
    min-width:180px;
    height:66px;
    padding-right:27px;
    border-right:1px solid rgba(97,182,246,.30);
}

.vx-header-v4-logo-img{
    width:151px !important;
    max-width:151px !important;
    max-height:63px !important;
}

.vx-header-v4-brand-copy{
    display:block;
    max-width:185px;
}

.vx-header-v4-brand-copy strong{
    display:none !important;
}

.vx-header-v4-brand-copy small{
    padding-left:0;
    color:#d3e0e9;
    font-family:Georgia,"Times New Roman",serif;
    font-size:13px;
    line-height:1.35;
}

.vx-header-v4-brand-copy small::before{
    display:none;
}


/* ----------------------------------------------------------
   PREMIUM NAV
   ---------------------------------------------------------- */

.vx-header-v5-nav{
    display:flex;
    height:104px;
    align-items:stretch;
    border-left:1px solid rgba(76,167,235,.23);
}

.vx-header-v5-nav > a{
    position:relative;
    display:flex;
    width:145px;
    height:104px;
    padding:14px 12px 12px !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:9px;

    border-right:1px solid rgba(76,167,235,.23);

    color:#d7e3eb !important;
    text-align:center;
    text-decoration:none;

    transition:
        background .25s ease,
        color .25s ease;
}

.vx-header-v5-nav > a::after{
    content:"";
    position:absolute;
    top:15px;
    right:13px;
    left:13px;
    height:calc(100% - 30px);
    z-index:-1;
    border-radius:4px;
    background:
        linear-gradient(
            180deg,
            rgba(44,143,215,.11),
            rgba(44,143,215,.025)
        );
    opacity:0;
    transition:opacity .25s ease;
}


/* Override old underline geometry */

.vx-header-v5-nav > a::before{
    right:25px !important;
    bottom:9px !important;
    left:25px !important;
    height:2px !important;
    background:
        linear-gradient(
            90deg,
            #1f9bf0,
            #59c3ff
        ) !important;
    box-shadow:
        0 0 10px rgba(47,168,244,.38);
}


/* Icon */

.vx-nav-icon{
    display:grid;
    width:30px;
    height:30px;
    place-items:center;
    color:#58b9f8;
    transition:
        color .25s ease,
        transform .25s ease;
}

.vx-nav-icon svg{
    display:block;
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}


/* Text */

.vx-nav-label{
    display:block;
    font-size:12px;
    line-height:1.15;
    font-weight:720;
    letter-spacing:-.01em;
    white-space:nowrap;
}


/* Hover / active */

.vx-header-v5-nav > a:hover,
.vx-header-v5-nav > a.is-active{
    color:#fff !important;
}

.vx-header-v5-nav > a:hover::after,
.vx-header-v5-nav > a.is-active::after{
    opacity:1;
}

.vx-header-v5-nav > a:hover .vx-nav-icon,
.vx-header-v5-nav > a.is-active .vx-nav-icon{
    color:#6bc7ff;
    transform:translateY(-1px);
}


/* ----------------------------------------------------------
   CTA SEPARATION
   ---------------------------------------------------------- */

.vx-header-v4-cta{
    min-height:50px;
    margin-left:28px;
    padding:0 27px;

    border:
        1px solid
        rgba(111,204,255,.72);

    background:
        linear-gradient(
            135deg,
            #0b8eea,
            #2aa8ff
        );

    box-shadow:
        0 13px 31px rgba(4,127,214,.27),
        inset 0 1px 0 rgba(255,255,255,.25);

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

.vx-header-v4-cta::after{
    content:"";
    position:absolute;
    top:-18px;
    bottom:-18px;
    left:-29px;
    width:1px;
    background:rgba(73,168,237,.28);
}


/* ----------------------------------------------------------
   TOP UTILITY BAR
   ---------------------------------------------------------- */

.vx-header-v4-top{
    height:31px;
    background:
        linear-gradient(
            90deg,
            #03131f,
            #052039 56%,
            #062944
        );
    border-bottom:1px solid rgba(75,169,238,.26);
}

.vx-header-v4-top-inner{
    height:31px;
}

.vx-header-v4-signature{
    font-size:7px;
}

.vx-header-v4-meta{
    font-size:7.5px;
}


/* ----------------------------------------------------------
   STICKY
   ---------------------------------------------------------- */

.vx-header-v4.is-scrolled .vx-header-v4-main-inner{
    min-height:80px;
}

.vx-header-v4.is-scrolled .vx-header-v4-brand{
    min-height:80px;
}

.vx-header-v4.is-scrolled .vx-header-v5-nav{
    height:80px;
}

.vx-header-v4.is-scrolled .vx-header-v5-nav > a{
    height:80px;
    gap:5px;
}

.vx-header-v4.is-scrolled .vx-nav-icon{
    width:24px;
    height:24px;
}

.vx-header-v4.is-scrolled .vx-nav-icon svg{
    width:20px;
    height:20px;
}

.vx-header-v4.is-scrolled .vx-nav-label{
    font-size:10px;
}

.vx-header-v4.is-scrolled .vx-header-v4-logo{
    height:51px;
}

.vx-header-v4.is-scrolled .vx-header-v4-logo-img{
    width:132px !important;
    max-width:132px !important;
}


/* ----------------------------------------------------------
   DESKTOP FIT
   ---------------------------------------------------------- */

@media (max-width:1350px){

    .vx-header-v4-main-inner{
        grid-template-columns:minmax(245px,1fr) auto auto;
    }

    .vx-header-v4-brand-copy{
        display:none;
    }

    .vx-header-v4-logo{
        width:160px;
        min-width:160px;
        padding-right:20px;
    }

    .vx-header-v5-nav > a{
        width:125px;
    }

    .vx-nav-label{
        font-size:10.5px;
    }

    .vx-header-v4-cta{
        margin-left:18px;
        padding-right:21px;
        padding-left:21px;
        font-size:9px;
    }

}


/* ----------------------------------------------------------
   TABLET / MOBILE
   Existing mobile navigation remains intact
   ---------------------------------------------------------- */

@media (max-width:1050px){

    .vx-header-v4-main-inner{
        display:flex;
        min-height:78px;
        justify-content:space-between;
    }

    .vx-header-v4-brand{
        min-height:78px;
        padding-right:0;
    }

    .vx-header-v5-nav,
    .vx-header-v4-cta{
        display:none;
    }

    .vx-header-v4-toggle{
        display:block;
    }

    .vx-header-v4-logo{
        width:150px;
        min-width:150px;
        height:54px;
        padding-right:0;
        border-right:0;
    }

    .vx-header-v4-logo-img{
        width:138px !important;
        max-width:138px !important;
    }

}


@media (max-width:600px){

    .vx-header-v4-main-inner,
    .vx-header-v4-brand{
        min-height:70px;
    }

    .vx-header-v4-logo{
        width:132px;
        min-width:132px;
    }

    .vx-header-v4-logo-img{
        width:120px !important;
        max-width:120px !important;
    }

}



/* ==========================================================
   VIREXIS — CINEMATIC HERO V1
   ========================================================== */

.vx-cinema{
    position:relative;
    min-height:calc(100svh - 135px);
    overflow:hidden;
    isolation:isolate;
    color:#fff;
    background:#041421;
}


/* ==========================================================
   BACKGROUND
   ========================================================== */

.vx-cinema-media,
.vx-cinema-slide{
    position:absolute;
    inset:0;
}

.vx-cinema-media{
    z-index:-5;
    background:#041421;
}

.vx-cinema-slide{
    opacity:0;
    transform:scale(1.04);
    transition:opacity 1.8s ease;
    pointer-events:none;
}

.vx-cinema-slide.is-active{
    opacity:1;
    z-index:2;
}

.vx-cinema-image{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}


/* Different movement direction for each frame */

.vx-cinema-slide:nth-child(1).is-active .vx-cinema-image{
    animation:vxCinemaA 11s ease-out both;
}

.vx-cinema-slide:nth-child(2).is-active .vx-cinema-image{
    animation:vxCinemaB 11s ease-out both;
}

.vx-cinema-slide:nth-child(3).is-active .vx-cinema-image{
    animation:vxCinemaC 11s ease-out both;
}

@keyframes vxCinemaA{
    from{
        transform:scale(1.02) translate3d(0,0,0);
    }
    to{
        transform:scale(1.095) translate3d(-1.2%,-.5%,0);
    }
}

@keyframes vxCinemaB{
    from{
        transform:scale(1.08) translate3d(-1%,0,0);
    }
    to{
        transform:scale(1.02) translate3d(0,-.7%,0);
    }
}

@keyframes vxCinemaC{
    from{
        transform:scale(1.03) translate3d(0,0,0);
    }
    to{
        transform:scale(1.10) translate3d(1%,-.6%,0);
    }
}


/* ==========================================================
   CINEMATIC COLOR GRADING
   ========================================================== */

.vx-cinema-overlay{
    position:absolute;
    z-index:-4;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(2,15,26,.94) 0%,
            rgba(3,20,34,.84) 25%,
            rgba(3,21,35,.51) 51%,
            rgba(3,20,33,.18) 72%,
            rgba(2,14,24,.40) 100%
        );
}

.vx-cinema-vignette{
    position:absolute;
    z-index:-3;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(2,15,25,.20),
            transparent 24%,
            transparent 65%,
            rgba(2,13,22,.66)
        ),
        radial-gradient(
            ellipse at center,
            transparent 35%,
            rgba(0,8,14,.24) 100%
        );
}

.vx-cinema-light{
    position:absolute;
    z-index:-2;
    top:-30%;
    right:5%;
    width:50%;
    height:80%;
    pointer-events:none;
    background:
        radial-gradient(
            ellipse,
            rgba(56,173,255,.13),
            transparent 68%
        );
    filter:blur(30px);
}


/* ==========================================================
   LAYOUT
   ========================================================== */

.vx-cinema-container{
    position:relative;
    min-height:inherit;
}

.vx-cinema-layout{
    display:grid;
    grid-template-columns:70px minmax(0,720px) 1fr;
    min-height:inherit;
    align-items:center;
    padding:62px 0 75px;
}


/* ==========================================================
   SLIDE INDEX
   ========================================================== */

.vx-cinema-index{
    display:flex;
    align-self:center;
    flex-direction:column;
    gap:17px;
}

.vx-cinema-index button{
    position:relative;
    display:flex;
    width:45px;
    height:22px;
    align-items:center;
    padding:0;
    border:0;
    color:rgba(255,255,255,.48);
    background:transparent;
    cursor:pointer;
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
}

.vx-cinema-index button i{
    position:absolute;
    bottom:-3px;
    left:0;
    width:0;
    height:1px;
    background:#59c4ff;
    box-shadow:0 0 8px rgba(89,196,255,.7);
    transition:width .4s ease;
}

.vx-cinema-index button.is-active{
    color:#fff;
}

.vx-cinema-index button.is-active i{
    width:25px;
}


/* ==========================================================
   COPY
   ========================================================== */

.vx-cinema-copy{
    position:relative;
    z-index:4;
    max-width:700px;
}

.vx-cinema-eyebrow{
    display:block;
    margin-bottom:25px;
    color:#9edcff;
    font-size:10px;
    line-height:1;
    font-weight:850;
    letter-spacing:.28em;
}

.vx-cinema-copy h1{
    max-width:680px;
    margin:0;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(58px,5.3vw,88px);
    line-height:.94;
    font-weight:400;
    letter-spacing:-.05em;
    text-wrap:balance;
}

.vx-cinema-copy h1 em{
    display:block;
    margin-top:8px;
    color:#5bc1ff;
    font-weight:400;
}

.vx-cinema-rule{
    width:37px;
    height:1px;
    margin:27px 0 20px;
    background:rgba(255,255,255,.85);
}

.vx-cinema-lead{
    max-width:610px;
    margin:0;
    color:#e2eaf0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:16px;
    line-height:1.55;
    text-shadow:0 2px 16px rgba(0,0,0,.45);
}


/* ==========================================================
   ACTIONS
   ========================================================== */

.vx-cinema-actions{
    display:flex;
    align-items:center;
    gap:27px;
    margin-top:29px;
}

.vx-cinema-primary{
    display:flex;
    min-height:51px;
    align-items:center;
    gap:28px;
    padding:0 23px;
    border:1px solid rgba(111,207,255,.65);
    border-radius:999px;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            #087fd8,
            #1da4ff
        );
    box-shadow:
        0 15px 38px rgba(0,121,210,.27),
        inset 0 1px 0 rgba(255,255,255,.25);
    font-size:11px;
    font-weight:800;
    text-decoration:none;
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.vx-cinema-primary:hover{
    color:#fff;
    transform:translateY(-2px);
    box-shadow:
        0 20px 45px rgba(0,121,210,.36),
        inset 0 1px 0 rgba(255,255,255,.25);
}

.vx-cinema-primary b{
    font-size:18px;
    font-weight:400;
}

.vx-cinema-watch{
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    text-decoration:none;
}

.vx-cinema-play{
    display:grid;
    width:48px;
    height:48px;
    place-items:center;
    border:1px solid #51c0ff;
    border-radius:50%;
    color:#72cdff;
    background:rgba(2,22,36,.28);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    transition:.25s ease;
}

.vx-cinema-watch:hover .vx-cinema-play{
    color:#061827;
    background:#73ccff;
    transform:translateY(2px);
}

.vx-cinema-watch strong,
.vx-cinema-watch small{
    display:block;
}

.vx-cinema-watch strong{
    color:#fff;
    font-size:11px;
}

.vx-cinema-watch small{
    margin-top:3px;
    color:#b6c9d7;
    font-size:9px;
}


/* ==========================================================
   FEATURES
   ========================================================== */

.vx-cinema-features{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    max-width:650px;
    margin-top:43px;
    border-top:1px solid rgba(255,255,255,.19);
}

.vx-cinema-features a{
    position:relative;
    display:block;
    padding:19px 24px 0 0;
    color:#fff;
    text-decoration:none;
}

.vx-cinema-features a + a{
    padding-left:27px;
    border-left:1px solid rgba(255,255,255,.32);
}

.vx-cinema-features strong,
.vx-cinema-features span{
    display:block;
}

.vx-cinema-features strong{
    font-size:12px;
}

.vx-cinema-features span{
    margin-top:3px;
    color:#b8c9d5;
    font-size:9px;
}


/* ==========================================================
   RIGHT SIGNATURE
   ========================================================== */

.vx-cinema-signature{
    position:absolute;
    right:0;
    bottom:83px;
    text-align:right;
}

.vx-cinema-signature span{
    display:block;
    color:#b9cbd7;
    font-size:8px;
    letter-spacing:.23em;
}

.vx-cinema-signature strong{
    display:block;
    margin-top:6px;
    color:#fff;
    font-size:9px;
    line-height:1.5;
    letter-spacing:.22em;
}

.vx-cinema-signature i{
    display:block;
    width:1px;
    height:35px;
    margin:15px 0 0 auto;
    background:
        linear-gradient(
            #75cbff,
            transparent
        );
}


/* ==========================================================
   SCROLL
   ========================================================== */

.vx-cinema-scroll{
    position:absolute;
    bottom:31px;
    left:max(
        25px,
        calc((100vw - var(--container, 1200px))/2)
    );
    display:flex;
    flex-direction:column;
    gap:8px;
    color:#fff;
    text-decoration:none;
}

.vx-cinema-scroll span{
    font-size:7px;
    letter-spacing:.2em;
}

.vx-cinema-scroll i{
    width:1px;
    height:23px;
    margin-left:8px;
    background:#7acfff;
}

.vx-cinema-scroll b{
    margin-left:3px;
    font-size:14px;
    font-weight:400;
}


/* ==========================================================
   STATUS
   ========================================================== */

.vx-cinema-status{
    position:absolute;
    right:24px;
    top:23px;
    display:flex;
    align-items:center;
    gap:9px;
    color:rgba(255,255,255,.52);
    font-size:6px;
    font-weight:800;
    letter-spacing:.18em;
}

.vx-cinema-status-dot{
    width:5px;
    height:5px;
    border-radius:50%;
    background:#48c5ff;
    box-shadow:0 0 9px #48c5ff;
}

.vx-cinema-status i{
    width:15px;
    height:1px;
    background:rgba(255,255,255,.25);
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width:1050px){

    .vx-cinema{
        min-height:760px;
    }

    .vx-cinema-layout{
        grid-template-columns:50px minmax(0,650px) 1fr;
    }

    .vx-cinema-signature{
        display:none;
    }

}


@media (max-width:760px){

    .vx-cinema{
        min-height:calc(100svh - 70px);
    }

    .vx-cinema-overlay{
        background:
            linear-gradient(
                90deg,
                rgba(2,15,26,.93),
                rgba(2,15,26,.73)
            );
    }

    .vx-cinema-layout{
        display:block;
        padding:80px 0 105px;
    }

    .vx-cinema-index{
        position:absolute;
        top:37px;
        left:0;
        flex-direction:row;
        gap:13px;
    }

    .vx-cinema-index button{
        width:31px;
    }

    .vx-cinema-copy h1{
        font-size:clamp(48px,13vw,68px);
    }

    .vx-cinema-lead{
        max-width:520px;
        font-size:15px;
    }

    .vx-cinema-actions{
        align-items:flex-start;
        flex-direction:column;
        gap:17px;
    }

    .vx-cinema-features{
        grid-template-columns:1fr;
        max-width:430px;
        margin-top:35px;
    }

    .vx-cinema-features a{
        padding:13px 0;
        border-bottom:1px solid rgba(255,255,255,.14);
    }

    .vx-cinema-features a + a{
        padding-left:0;
        border-left:0;
    }

    .vx-cinema-scroll,
    .vx-cinema-status{
        display:none;
    }

}


@media (prefers-reduced-motion:reduce){

    .vx-cinema-image{
        animation:none !important;
    }

    .vx-cinema-slide{
        transition:none;
    }

}



/* ==========================================================
   VIREXIS — FOOTER PREMIUM V1
   ========================================================== */

.vx-footer-premium{
    position:relative;
    overflow:hidden;
    color:#fff;
    background:#031522;
}


/* CTA ---------------------------------------------------- */

.vx-footer-cta{
    position:relative;
    overflow:hidden;
    border-top:1px solid rgba(75,180,246,.22);
    border-bottom:1px solid rgba(75,180,246,.25);
    background:
        radial-gradient(
            circle at 80% -50%,
            rgba(22,137,218,.30),
            transparent 47%
        ),
        linear-gradient(
            110deg,
            #041725 0%,
            #05233b 62%,
            #073152 100%
        );
}

.vx-footer-cta::after{
    content:"";
    position:absolute;
    top:-190px;
    right:40px;
    width:280px;
    height:520px;
    border-right:55px solid rgba(44,160,232,.10);
    border-left:1px solid rgba(75,184,248,.17);
    transform:rotate(31deg);
    pointer-events:none;
}

.vx-footer-glow{
    position:absolute;
    top:-160px;
    left:27%;
    width:470px;
    height:350px;
    border-radius:50%;
    background:rgba(20,135,211,.12);
    filter:blur(70px);
}

.vx-footer-cta-inner{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.2fr 1fr;
    align-items:center;
    min-height:250px;
    gap:70px;
}

.vx-footer-kicker{
    display:block;
    margin-bottom:13px;
    color:#66c5ff;
    font-size:9px;
    font-weight:800;
    letter-spacing:.25em;
}

.vx-footer-cta h2{
    margin:0;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(43px,4vw,65px);
    line-height:.88;
    font-weight:400;
    letter-spacing:-.045em;
    text-transform:uppercase;
}

.vx-footer-cta h2 em{
    display:block;
    color:#20a9ff;
    font-style:normal;
}

.vx-footer-shortline{
    display:block;
    width:30px;
    height:1px;
    margin:17px 0 12px;
    background:#43baff;
}

.vx-footer-cta-copy p{
    margin:0;
    color:#b9cad6;
    font-size:13px;
}

.vx-footer-cta-action{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:42px;
    padding-left:42px;
    border-left:1px solid rgba(80,181,244,.28);
}

.vx-footer-next{
    display:flex;
    align-items:center;
    gap:20px;
}

.vx-footer-arrow-circle{
    display:grid;
    width:55px;
    height:55px;
    flex:0 0 55px;
    place-items:center;
    border:1px solid #26aefc;
    border-radius:50%;
    color:#fff;
    font-size:24px;
}

.vx-footer-next small{
    display:block;
    margin-bottom:7px;
    color:#a9c3d4;
    font-size:7px;
    font-weight:800;
    letter-spacing:.25em;
}

.vx-footer-next strong{
    color:#fff;
    font-size:14px;
    line-height:1.35;
}

.vx-footer-button{
    display:flex;
    min-height:54px;
    min-width:210px;
    align-items:center;
    justify-content:center;
    gap:30px;
    padding:0 25px;
    border:1px solid rgba(112,209,255,.65);
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,#078ce8,#1aa8ff);
    box-shadow:
        0 15px 40px rgba(0,127,218,.28),
        inset 0 1px rgba(255,255,255,.25);
    font-size:11px;
    font-weight:800;
    text-decoration:none;
    transition:.25s ease;
}

.vx-footer-button:hover{
    color:#fff;
    transform:translateY(-2px);
    box-shadow:
        0 20px 45px rgba(0,127,218,.38),
        inset 0 1px rgba(255,255,255,.25);
}

.vx-footer-button b{
    font-size:19px;
    font-weight:400;
}


/* MAIN --------------------------------------------------- */

.vx-footer-main{
    position:relative;
    background:
        radial-gradient(
            circle at 92% 30%,
            rgba(20,119,188,.12),
            transparent 25%
        ),
        linear-gradient(
            100deg,
            #02121e,
            #05233a 58%,
            #041b2c
        );
}

.vx-footer-grid{
    display:grid;
    grid-template-columns:
        1.45fr
        1.05fr
        .95fr
        1.2fr
        1.55fr
        .85fr;
    padding-top:36px;
    padding-bottom:34px;
}


/* vertical divisions */

.vx-footer-grid > *{
    position:relative;
    min-width:0;
    padding:7px 27px;
}

.vx-footer-grid > *:first-child{
    padding-left:0;
}

.vx-footer-grid > * + *{
    border-left:1px solid rgba(73,169,232,.28);
}


/* brand */

.vx-footer-wordmark{
    display:block;
    width:170px;
}

.vx-footer-logo{
    display:block;
    width:100%;
    height:auto;
    filter:brightness(0) invert(1);
}

.vx-footer-brand p{
    margin:25px 0 0;
    color:#b9cbd7;
    font-family:Georgia,"Times New Roman",serif;
    font-size:14px;
    line-height:1.45;
}

.vx-footer-brand-line{
    display:block;
    width:30px;
    height:1px;
    margin:19px 0 15px;
    background:#27afff;
}

.vx-footer-manifesto{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:11px;
    color:#4bc0ff;
    font-size:7px;
    font-weight:800;
    letter-spacing:.18em;
}

.vx-footer-manifesto b{
    color:#57788e;
    font-weight:400;
}


/* columns */

.vx-footer-column-icon{
    display:grid;
    width:28px;
    height:28px;
    margin-bottom:9px;
    place-items:center;
    color:#29b5ff;
}

.vx-footer-column-icon svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.vx-footer-column h3{
    margin:0 0 17px;
    color:#fff;
    font-size:12px;
    font-weight:800;
}

.vx-footer-column > a:not(.vx-footer-contact-row){
    display:flex;
    align-items:flex-start;
    gap:8px;
    margin:0 0 14px;
    color:#d5e1e8;
    font-size:9px;
    line-height:1.35;
    text-decoration:none;
    transition:.2s ease;
}

.vx-footer-column > a:not(.vx-footer-contact-row) span{
    color:#fff;
    font-size:17px;
    line-height:.7;
}

.vx-footer-column > a:not(.vx-footer-contact-row):hover{
    color:#55c2ff;
    transform:translateX(2px);
}


/* contact */

.vx-footer-contact-row{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:12px;
    color:#dce6ec;
    text-decoration:none;
}

.vx-footer-miniicon{
    width:18px;
    flex:0 0 18px;
    color:#25b4ff;
    font-size:16px;
    line-height:1;
}

.vx-footer-contact-row strong{
    display:block;
    color:#e8f0f5;
    font-size:9.5px;
    line-height:1.45;
    font-weight:650;
}

.vx-footer-contact-row small{
    display:block;
    margin-top:2px;
    color:#9db4c3;
    font-size:8.5px;
    line-height:1.45;
}


/* EMBOSSED / PRINTED ISOTYPE ----------------------------- */

.vx-footer-mark{
    display:flex;
    overflow:hidden;
    align-items:center;
    justify-content:center;
    flex-direction:column;
}

.vx-footer-mark img{
    display:block;
    width:145px;
    max-width:100%;
    height:auto;

    opacity:.34;

    filter:
        grayscale(1)
        brightness(1.7)
        contrast(1.1)
        saturate(.3);

    mix-blend-mode:screen;

    transform:translateZ(0);
}

.vx-footer-mark::after{
    content:"";
    position:absolute;
    inset:4px 8px;
    pointer-events:none;
    background:
        linear-gradient(
            125deg,
            rgba(255,255,255,.07),
            transparent 35%,
            rgba(31,153,229,.06) 62%,
            transparent
        );
    mix-blend-mode:screen;
}

.vx-footer-mark span{
    position:relative;
    z-index:2;
    margin-top:10px;
    color:rgba(170,211,235,.72);
    text-align:center;
    font-size:7px;
    line-height:1.8;
    font-weight:800;
    letter-spacing:.31em;
}


/* LEGAL -------------------------------------------------- */

.vx-footer-legal{
    border-top:1px solid rgba(76,172,235,.30);
    background:#031522;
}

.vx-footer-legal-inner{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    min-height:65px;
    align-items:center;
    gap:30px;
}

.vx-footer-legal p{
    margin:0;
    color:#89a3b5;
    font-size:8px;
    letter-spacing:.03em;
}

.vx-footer-legal nav{
    display:flex;
    align-items:center;
    gap:22px;
}

.vx-footer-legal nav a{
    color:#94adbd;
    font-size:8px;
    text-decoration:none;
}

.vx-footer-legal nav a:hover{
    color:#45baff;
}

.vx-footer-legal nav i{
    width:1px;
    height:12px;
    background:#56758a;
}

.vx-footer-credit{
    text-align:right;
}

.vx-footer-credit strong{
    margin-left:6px;
    color:#27b2ff;
}


/* RESPONSIVE --------------------------------------------- */

@media (max-width:1250px){

    .vx-footer-grid{
        grid-template-columns:
            1.2fr 1fr 1fr 1fr 1.35fr;
    }

    .vx-footer-mark{
        display:none;
    }

    .vx-footer-cta-inner{
        gap:35px;
    }

    .vx-footer-cta-action{
        gap:25px;
    }

}


@media (max-width:950px){

    .vx-footer-cta-inner{
        grid-template-columns:1fr;
        padding-top:55px;
        padding-bottom:55px;
    }

    .vx-footer-cta-action{
        justify-content:flex-start;
        padding:30px 0 0;
        border-top:1px solid rgba(80,181,244,.25);
        border-left:0;
    }

    .vx-footer-grid{
        grid-template-columns:repeat(2,1fr);
        gap:0;
    }

    .vx-footer-grid > *{
        padding:30px;
        border-bottom:1px solid rgba(73,169,232,.20);
    }

    .vx-footer-grid > * + *{
        border-left:0;
    }

    .vx-footer-grid > *:nth-child(even){
        border-left:1px solid rgba(73,169,232,.20);
    }

    .vx-footer-brand{
        padding-left:0 !important;
    }

    .vx-footer-legal-inner{
        grid-template-columns:1fr;
        padding-top:22px;
        padding-bottom:22px;
        text-align:center;
    }

    .vx-footer-legal nav{
        justify-content:center;
    }

    .vx-footer-credit{
        text-align:center;
    }

}


@media (max-width:600px){

    .vx-footer-cta h2{
        font-size:42px;
    }

    .vx-footer-cta-action{
        align-items:flex-start;
        flex-direction:column;
    }

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

    .vx-footer-grid > *{
        padding:27px 0 !important;
        border-left:0 !important;
    }

    .vx-footer-column-icon{
        margin-bottom:7px;
    }

    .vx-footer-column h3{
        font-size:14px;
    }

    .vx-footer-column > a:not(.vx-footer-contact-row){
        font-size:11px;
    }

    .vx-footer-contact-row strong{
        font-size:11px;
    }

    .vx-footer-contact-row small{
        font-size:10px;
    }

}



/* ==========================================================
   VIREXIS — DAVINCI PREMIUM V2
   ========================================================== */

.vx-dv{
    --dv-navy:#031827;
    --dv-deep:#02111d;
    --dv-blue:#139fe9;
    --dv-ice:#dff4ff;
    --dv-line:rgba(42,155,218,.22);
    overflow:hidden;
    color:#0c2435;
    background:#fff;
}

.vx-dv .virexis-container{
    position:relative;
}


/* HERO ==================================================== */

.vx-dv-hero{
    position:relative;
    min-height:760px;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(19,159,233,.19),
            transparent 32%
        ),
        linear-gradient(
            115deg,
            #02121e 0%,
            #04233a 56%,
            #063452 100%
        );
}

.vx-dv-hero::after{
    content:"";
    position:absolute;
    top:-240px;
    right:-70px;
    width:500px;
    height:950px;
    border-left:1px solid rgba(63,180,246,.18);
    border-right:90px solid rgba(27,132,199,.06);
    transform:rotate(25deg);
}

.vx-dv-hero-glow{
    position:absolute;
    top:5%;
    left:33%;
    width:600px;
    height:500px;
    border-radius:50%;
    background:rgba(22,133,205,.10);
    filter:blur(100px);
}

.vx-dv-hero-gridline{
    position:absolute;
    inset:0;
    opacity:.18;
    background-image:
        linear-gradient(
            rgba(83,171,225,.10) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(83,171,225,.10) 1px,
            transparent 1px
        );
    background-size:90px 90px;
    mask-image:
        linear-gradient(
            to right,
            transparent,
            #000 70%,
            #000
        );
}

.vx-dv-hero-inner{
    z-index:2;
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    min-height:690px;
    align-items:center;
    gap:70px;
    padding-top:70px;
    padding-bottom:55px;
}

.vx-dv-copy{
    position:relative;
    z-index:3;
}

.vx-dv-kicker,
.vx-dv-eyebrow{
    display:block;
    color:#55c4ff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.25em;
}

.vx-dv-copy h1{
    max-width:670px;
    margin:20px 0 25px;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(56px,5.4vw,84px);
    font-weight:400;
    line-height:.91;
    letter-spacing:-.055em;
}

.vx-dv-copy h1 em{
    display:block;
    color:#2eaff3;
    font-weight:400;
    font-style:italic;
}

.vx-dv-lead{
    max-width:550px;
    margin:0;
    color:#b9cbd7;
    font-size:16px;
    line-height:1.7;
}

.vx-dv-tags{
    display:flex;
    align-items:center;
    gap:15px;
    margin-top:30px;
    color:#91bdd5;
    font-size:9px;
    font-weight:800;
    letter-spacing:.17em;
}

.vx-dv-tags i{
    width:3px;
    height:3px;
    border-radius:50%;
    background:#25aff8;
}

.vx-dv-actions{
    display:flex;
    align-items:center;
    gap:25px;
    margin-top:38px;
}

.vx-dv-primary{
    display:flex;
    min-height:55px;
    align-items:center;
    gap:34px;
    padding:0 27px;
    border-radius:999px;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            #087fc7,
            #1aaeff
        );
    box-shadow:0 16px 40px rgba(0,133,214,.25);
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    transition:.25s ease;
}

.vx-dv-primary:hover{
    color:#fff;
    transform:translateY(-2px);
}

.vx-dv-primary b{
    font-size:20px;
    font-weight:400;
}

.vx-dv-secondary{
    display:flex;
    align-items:center;
    gap:12px;
    color:#b7cad6;
    font-size:11px;
    text-decoration:none;
}

.vx-dv-secondary:hover{
    color:#fff;
}


/* hero equipment */

.vx-dv-machine{
    position:relative;
    z-index:2;
    min-width:0;
}

.vx-dv-machine-frame{
    position:relative;
    overflow:hidden;
    min-height:560px;
    border:
        1px solid rgba(96,191,246,.22);
    border-radius:4px 80px 4px 4px;
    background:#071b29;
    box-shadow:
        0 35px 80px rgba(0,0,0,.30);
}

.vx-dv-machine-frame img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.vx-dv-machine-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            to top,
            rgba(1,15,25,.86),
            transparent 48%
        ),
        linear-gradient(
            90deg,
            rgba(1,16,27,.22),
            transparent 40%
        );
}

.vx-dv-machine-caption{
    position:absolute;
    z-index:2;
    right:30px;
    bottom:28px;
    left:30px;
}

.vx-dv-machine-caption span{
    color:#4cc2ff;
    font-size:8px;
    font-weight:800;
    letter-spacing:.25em;
}

.vx-dv-machine-caption strong{
    display:block;
    margin-top:3px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:32px;
    font-weight:400;
}

.vx-dv-machine-caption small{
    color:#a9bdca;
}

.vx-dv-machine-number{
    position:absolute;
    z-index:5;
    top:-30px;
    right:-20px;
    display:flex;
    align-items:flex-end;
    gap:10px;
}

.vx-dv-machine-number small{
    padding-bottom:8px;
    color:#6cb8df;
    font-size:7px;
    letter-spacing:.22em;
}

.vx-dv-machine-number strong{
    color:rgba(255,255,255,.15);
    font-family:Georgia,"Times New Roman",serif;
    font-size:70px;
    font-weight:400;
}

.vx-dv-hero-bottom{
    z-index:3;
    display:flex;
    height:70px;
    align-items:center;
    gap:20px;
    border-top:1px solid rgba(68,174,235,.22);
    color:#7ca2b8;
    font-size:8px;
    font-weight:700;
    letter-spacing:.20em;
}

.vx-dv-hero-bottom i{
    width:35px;
    height:1px;
    background:#159de7;
}


/* INTRO =================================================== */

.vx-dv-intro{
    padding:115px 0;
    background:#f8fbfd;
}

.vx-dv-intro-grid{
    display:grid;
    grid-template-columns:.28fr 1.05fr .85fr;
    gap:70px;
}

.vx-dv-section-index{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.vx-dv-section-index span{
    color:#0b91dc;
    font-family:Georgia,"Times New Roman",serif;
    font-size:42px;
}

.vx-dv-section-index i{
    width:1px;
    height:65px;
    margin:13px 0;
    background:#8ccbe9;
}

.vx-dv-section-index small{
    color:#7893a4;
    font-size:7px;
    font-weight:800;
    letter-spacing:.22em;
    writing-mode:vertical-rl;
}

.vx-dv-intro-title h2,
.vx-dv-motion-heading h2,
.vx-dv-control-heading h2,
.vx-dv-clinical-copy h2,
.vx-dv-integration-main h2,
.vx-dv-process-heading h2,
.vx-dv-final h2{
    margin:17px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(43px,4.5vw,67px);
    font-weight:400;
    line-height:.97;
    letter-spacing:-.045em;
}

.vx-dv-intro-title h2 em,
.vx-dv-motion-heading h2 em,
.vx-dv-control-heading h2 em,
.vx-dv-clinical-copy h2 em,
.vx-dv-integration-main h2 em,
.vx-dv-process-heading h2 em,
.vx-dv-final h2 em{
    display:block;
    color:#169ee7;
    font-weight:400;
    font-style:italic;
}

.vx-dv-intro-text{
    padding-top:30px;
    border-top:1px solid #bad5e4;
}

.vx-dv-intro-text p{
    margin:0 0 20px;
    color:#526a78;
    font-size:14px;
    line-height:1.8;
}


/* MOTION ================================================== */

.vx-dv-motion{
    padding:120px 0;
    color:#fff;
    background:
        radial-gradient(
            circle at 50% 0,
            rgba(20,137,211,.15),
            transparent 35%
        ),
        #031827;
}

.vx-dv-motion-heading{
    display:grid;
    grid-template-columns:1fr .55fr;
    align-items:end;
    gap:80px;
}

.vx-dv-motion-heading p{
    margin:0;
    padding-top:25px;
    border-top:1px solid rgba(75,173,228,.30);
    color:#9fb5c3;
    font-size:13px;
    line-height:1.75;
}

.vx-dv-planes{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:75px;
    border-top:1px solid rgba(71,170,227,.25);
    border-bottom:1px solid rgba(71,170,227,.25);
}

.vx-dv-plane{
    position:relative;
    min-height:370px;
    padding:45px;
}

.vx-dv-plane + .vx-dv-plane{
    border-left:1px solid rgba(71,170,227,.25);
}

.vx-dv-plane-number{
    color:#55839d;
    font-size:8px;
    letter-spacing:.2em;
}

.vx-dv-axis{
    position:relative;
    width:100px;
    height:100px;
    margin:48px auto 40px;
    border:1px solid rgba(43,174,240,.35);
    border-radius:50%;
}

.vx-dv-axis::before,
.vx-dv-axis::after{
    content:"";
    position:absolute;
    background:#20aaf2;
}

.vx-dv-axis::before{
    top:50%;
    left:10px;
    width:80px;
    height:1px;
}

.vx-dv-axis::after{
    top:10px;
    left:50%;
    width:1px;
    height:80px;
}

.vx-dv-axis i{
    position:absolute;
    top:50%;
    left:50%;
    width:13px;
    height:13px;
    border:2px solid #6ed1ff;
    border-radius:50%;
    transform:translate(-50%,-50%);
}

.vx-dv-axis-lateral{
    transform:rotate(90deg);
}

.vx-dv-axis-oblique{
    transform:rotate(42deg);
}

.vx-dv-plane h3{
    margin:0 0 10px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:24px;
    font-weight:400;
}

.vx-dv-plane p{
    max-width:270px;
    margin:0;
    color:#94aebb;
    font-size:12px;
    line-height:1.65;
}


/* CONTROL ================================================= */

.vx-dv-control{
    padding:120px 0;
    background:#fff;
}

.vx-dv-control-heading{
    max-width:720px;
}

.vx-dv-control-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:65px;
    border-top:1px solid #c8dce7;
    border-bottom:1px solid #c8dce7;
}

.vx-dv-control-grid article{
    position:relative;
    min-height:300px;
    padding:45px;
}

.vx-dv-control-grid article + article{
    border-left:1px solid #c8dce7;
}

.vx-dv-control-no{
    position:absolute;
    top:25px;
    right:28px;
    color:#9cb5c3;
    font-size:8px;
}

.vx-dv-control-icon{
    display:grid;
    width:55px;
    height:55px;
    margin-bottom:40px;
    place-items:center;
    border:1px solid #75c9ef;
    border-radius:50%;
    color:#079be5;
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px;
}

.vx-dv-control-grid h3{
    margin:0 0 12px;
    color:#08283b;
    font-family:Georgia,"Times New Roman",serif;
    font-size:31px;
    font-weight:400;
}

.vx-dv-control-grid p{
    max-width:310px;
    margin:0;
    color:#627b89;
    font-size:12px;
    line-height:1.7;
}


/* CLINICAL =============================================== */

.vx-dv-clinical{
    padding:120px 0;
    background:#edf5f9;
}

.vx-dv-clinical-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:90px;
}

.vx-dv-clinical-copy p{
    max-width:470px;
    margin:28px 0;
    color:#59717e;
    font-size:14px;
    line-height:1.8;
}

.vx-dv-clinical-copy > a{
    display:inline-flex;
    align-items:center;
    gap:25px;
    color:#087fc5;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}

.vx-dv-clinical-copy > a span{
    font-size:20px;
}

.vx-dv-conditions{
    border-top:1px solid #aecbd9;
}

.vx-dv-conditions > div{
    display:grid;
    grid-template-columns:55px 1fr;
    align-items:center;
    min-height:74px;
    border-bottom:1px solid #aecbd9;
}

.vx-dv-conditions span{
    color:#129ee8;
    font-size:8px;
    letter-spacing:.16em;
}

.vx-dv-conditions strong{
    color:#17394b;
    font-family:Georgia,"Times New Roman",serif;
    font-size:19px;
    font-weight:400;
}


/* INTEGRATION ============================================ */

.vx-dv-integration{
    position:relative;
    overflow:hidden;
    padding:125px 0;
    color:#fff;
    background:#031522;
}

.vx-dv-integration-bg{
    position:absolute;
    top:-300px;
    right:-100px;
    width:650px;
    height:850px;
    border-left:120px solid rgba(26,147,218,.06);
    transform:rotate(25deg);
}

.vx-dv-integration-inner{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    align-items:end;
    gap:100px;
}

.vx-dv-integration-main p{
    max-width:530px;
    margin:28px 0 0;
    color:#9fb5c2;
    font-size:14px;
    line-height:1.8;
}

.vx-dv-integration-list{
    border-top:1px solid rgba(66,174,235,.30);
}

.vx-dv-integration-list > div{
    display:grid;
    grid-template-columns:60px 1fr;
    align-items:center;
    min-height:100px;
    border-bottom:1px solid rgba(66,174,235,.30);
}

.vx-dv-integration-list span{
    color:#37b5f7;
    font-size:8px;
}

.vx-dv-integration-list strong{
    font-family:Georgia,"Times New Roman",serif;
    font-size:22px;
    font-weight:400;
    line-height:1.2;
}


/* PROCESS ================================================= */

.vx-dv-process{
    padding:120px 0 130px;
    background:#fff;
}

.vx-dv-process-heading{
    max-width:650px;
}

.vx-dv-process-line{
    position:relative;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    margin-top:80px;
}

.vx-dv-process-line::before{
    content:"";
    position:absolute;
    top:43px;
    right:10%;
    left:10%;
    height:1px;
    background:#9fcddd;
}

.vx-dv-step{
    position:relative;
    z-index:2;
    text-align:center;
}

.vx-dv-step > span{
    color:#7793a2;
    font-size:8px;
    letter-spacing:.16em;
}

.vx-dv-step i{
    display:block;
    width:17px;
    height:17px;
    margin:20px auto 24px;
    border:5px solid #fff;
    border-radius:50%;
    background:#13a4ed;
    box-shadow:0 0 0 1px #13a4ed;
}

.vx-dv-step strong{
    display:block;
    color:#15384a;
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    font-weight:400;
}

.vx-dv-step small{
    display:block;
    margin-top:6px;
    color:#78909d;
    font-size:9px;
}


/* FINAL =================================================== */

.vx-dv-final{
    position:relative;
    overflow:hidden;
    padding:100px 0;
    color:#fff;
    background:
        linear-gradient(
            115deg,
            #041724,
            #063351
        );
}

.vx-dv-final-glow{
    position:absolute;
    top:-200px;
    right:5%;
    width:500px;
    height:500px;
    border-radius:50%;
    background:rgba(26,155,228,.15);
    filter:blur(80px);
}

.vx-dv-final-inner{
    display:grid;
    grid-template-columns:1.1fr .7fr;
    align-items:end;
    gap:100px;
}

.vx-dv-final-action{
    padding-top:25px;
    border-top:1px solid rgba(82,184,240,.30);
}

.vx-dv-final-action p{
    margin:0 0 25px;
    color:#a8bdca;
    font-size:13px;
    line-height:1.7;
}

.vx-dv-final-action a{
    display:flex;
    min-height:55px;
    align-items:center;
    justify-content:space-between;
    padding:0 25px;
    border-radius:999px;
    color:#fff;
    background:#129fe9;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}

.vx-dv-final-action a span{
    font-size:20px;
}


/* RESPONSIVE ============================================= */

@media (max-width:1000px){

    .vx-dv-hero-inner,
    .vx-dv-intro-grid,
    .vx-dv-motion-heading,
    .vx-dv-clinical-grid,
    .vx-dv-integration-inner,
    .vx-dv-final-inner{
        grid-template-columns:1fr;
    }

    .vx-dv-hero-inner{
        padding-top:70px;
    }

    .vx-dv-machine-frame{
        min-height:600px;
    }

    .vx-dv-intro-grid,
    .vx-dv-clinical-grid,
    .vx-dv-integration-inner{
        gap:45px;
    }

    .vx-dv-section-index{
        display:none;
    }

    .vx-dv-planes,
    .vx-dv-control-grid{
        grid-template-columns:1fr;
    }

    .vx-dv-plane + .vx-dv-plane,
    .vx-dv-control-grid article + article{
        border-top:1px solid rgba(71,170,227,.25);
        border-left:0;
    }

    .vx-dv-control-grid article + article{
        border-top:1px solid #c8dce7;
    }

}


@media (max-width:700px){

    .vx-dv-hero{
        min-height:auto;
    }

    .vx-dv-copy h1{
        font-size:49px;
    }

    .vx-dv-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .vx-dv-machine-frame{
        min-height:480px;
        border-radius:3px 45px 3px 3px;
    }

    .vx-dv-hero-bottom{
        align-items:flex-start;
        justify-content:center;
        flex-direction:column;
        height:auto;
        padding-top:22px;
        padding-bottom:22px;
    }

    .vx-dv-intro,
    .vx-dv-motion,
    .vx-dv-control,
    .vx-dv-clinical,
    .vx-dv-integration,
    .vx-dv-process{
        padding-top:80px;
        padding-bottom:80px;
    }

    .vx-dv-intro-title h2,
    .vx-dv-motion-heading h2,
    .vx-dv-control-heading h2,
    .vx-dv-clinical-copy h2,
    .vx-dv-integration-main h2,
    .vx-dv-process-heading h2,
    .vx-dv-final h2{
        font-size:42px;
    }

    .vx-dv-plane{
        min-height:auto;
        padding:38px 0;
    }

    .vx-dv-control-grid article{
        min-height:auto;
        padding:38px 0;
    }

    .vx-dv-process-line{
        grid-template-columns:1fr;
        gap:0;
        margin-top:50px;
    }

    .vx-dv-process-line::before{
        top:0;
        bottom:0;
        left:16px;
        width:1px;
        height:auto;
    }

    .vx-dv-step{
        display:grid;
        grid-template-columns:32px 1fr;
        padding:0 0 35px;
        text-align:left;
    }

    .vx-dv-step > span{
        grid-column:2;
    }

    .vx-dv-step i{
        grid-row:1 / 4;
        grid-column:1;
        margin:0;
    }

    .vx-dv-step strong,
    .vx-dv-step small{
        grid-column:2;
    }

}



/* ==========================================================
   VIREXIS — TECHNOLOGY MEGA MENU V1
   ========================================================== */


/* NAV ITEM ------------------------------------------------ */

.vx-header-v5-nav .vx-tech-nav-item{
    position:static;
    display:flex;
    min-width:0;
    align-self:stretch;
}

.vx-header-v5-nav .vx-tech-nav-item > .vx-tech-nav-link{
    position:relative;
    display:flex;
    min-width:128px;
    height:100%;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:8px;
    padding:0 22px;
    color:inherit;
    text-decoration:none;
}


/* preserve V5 dividers */

.vx-header-v5-nav .vx-tech-nav-item{
    border-right:1px solid rgba(71,161,215,.20);
}

.vx-header-v5-nav .vx-tech-nav-item > a::after{
    content:"";
    position:absolute;
    right:20px;
    bottom:6px;
    left:20px;
    height:2px;
    background:#39b9ff;
    opacity:0;
    transform:scaleX(.35);
    transition:
        opacity .22s ease,
        transform .22s ease;
}

.vx-header-v5-nav .vx-tech-nav-item:hover > a::after,
.vx-header-v5-nav .vx-tech-nav-item:focus-within > a::after{
    opacity:1;
    transform:scaleX(1);
}


.vx-tech-chevron{
    display:inline-flex;
    width:9px;
    height:6px;
    margin-left:5px;
    vertical-align:middle;
    transition:transform .25s ease;
}

.vx-tech-chevron svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.5;
}

.vx-tech-nav-item:hover .vx-tech-chevron,
.vx-tech-nav-item:focus-within .vx-tech-chevron,
.vx-tech-nav-item.vx-tech-open .vx-tech-chevron{
    transform:rotate(180deg);
}


/* MEGA PANEL --------------------------------------------- */

.vx-tech-mega{
    position:absolute;

    z-index:9999;

    top:100%;
    right:0;
    left:0;

    visibility:hidden;
    opacity:0;

    padding-top:12px;

    pointer-events:none;

    transform:translateY(-8px);

    transition:
        opacity .24s ease,
        transform .24s ease,
        visibility .24s ease;
}


/*
 * Invisible bridge between navigation and panel.
 * Prevents accidental closing while moving the mouse down.
 */

.vx-tech-mega::before{
    content:"";
    position:absolute;
    top:-16px;
    right:0;
    left:0;
    height:28px;
}


.vx-tech-nav-item:hover .vx-tech-mega,
.vx-tech-nav-item:focus-within .vx-tech-mega,
.vx-tech-nav-item.vx-tech-open .vx-tech-mega{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
}


.vx-tech-mega-shell{
    position:relative;
    overflow:hidden;

    width:min(1280px,calc(100vw - 60px));

    margin:0 auto;

    border:
        1px solid rgba(63,170,230,.24);

    border-radius:0 0 22px 22px;

    color:#fff;

    background:
        radial-gradient(
            circle at 88% 0,
            rgba(22,150,226,.18),
            transparent 30%
        ),
        linear-gradient(
            115deg,
            #031522 0%,
            #05243a 60%,
            #06314d 100%
        );

    box-shadow:
        0 30px 80px rgba(0,14,25,.36),
        0 8px 25px rgba(0,14,25,.20);
}


/* subtle architecture */

.vx-tech-mega-shell::after{
    content:"";
    position:absolute;
    z-index:0;
    top:-180px;
    right:-40px;

    width:300px;
    height:650px;

    border-left:
        1px solid rgba(67,181,242,.15);

    border-right:
        65px solid rgba(32,142,207,.05);

    transform:rotate(27deg);

    pointer-events:none;
}


/* TOP ---------------------------------------------------- */

.vx-tech-mega-top{
    position:relative;
    z-index:2;

    display:flex;
    min-height:125px;

    align-items:center;
    justify-content:space-between;

    gap:50px;

    padding:27px 38px 25px;

    border-bottom:
        1px solid rgba(68,170,226,.22);
}


.vx-tech-mega-kicker{
    display:block;

    margin-bottom:7px;

    color:#51c1fb;

    font-size:7px;
    font-weight:800;

    letter-spacing:.26em;
}


.vx-tech-mega-top h2{
    margin:0;

    color:#fff;

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

    font-size:27px;
    font-weight:400;

    line-height:1.05;
    letter-spacing:-.025em;
}


.vx-tech-mega-top h2 em{
    color:#35b5f6;
    font-weight:400;
    font-style:italic;
}


.vx-tech-view-all{
    display:flex;

    min-width:205px;
    min-height:43px;

    align-items:center;
    justify-content:space-between;

    gap:25px;

    padding:0 18px;

    border:
        1px solid rgba(79,190,246,.42);

    border-radius:999px;

    color:#d9eef8;

    background:
        rgba(4,35,55,.40);

    font-size:9px;
    font-weight:700;

    text-decoration:none;

    transition:.22s ease;
}


.vx-tech-view-all:hover{
    color:#fff;

    border-color:#43bcf8;

    background:
        rgba(14,124,188,.20);

    transform:translateY(-1px);
}


.vx-tech-view-all b{
    color:#3dbbfa;
    font-size:16px;
    font-weight:400;
}


/* CONTENT ------------------------------------------------ */

.vx-tech-mega-content{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:
        1fr
        1.15fr
        1.08fr
        .95fr;

    padding:0 20px;
}


.vx-tech-mega-column{
    min-width:0;

    padding:
        27px 20px
        30px;
}


.vx-tech-mega-column +
.vx-tech-mega-column,
.vx-tech-feature{
    border-left:
        1px solid rgba(64,165,221,.20);
}


/* column heading */

.vx-tech-column-heading{
    display:flex;

    min-height:48px;

    align-items:center;

    gap:12px;

    margin-bottom:15px;
}


.vx-tech-column-icon{
    display:grid;

    width:34px;
    height:34px;

    flex:0 0 34px;

    place-items:center;

    border:
        1px solid rgba(54,184,248,.35);

    border-radius:50%;

    color:#32b8fa;

    background:
        rgba(14,111,168,.10);
}


.vx-tech-column-icon svg{
    width:17px;
    height:17px;

    fill:none;

    stroke:currentColor;
    stroke-width:1.5;

    stroke-linecap:round;
    stroke-linejoin:round;
}


.vx-tech-column-heading small{
    display:block;

    margin-bottom:2px;

    color:#558aa7;

    font-size:6px;
    font-weight:800;

    letter-spacing:.18em;
}


.vx-tech-column-heading strong{
    display:block;

    color:#fff;

    font-size:11px;
    font-weight:750;
}


/* LINKS -------------------------------------------------- */

.vx-tech-mega-column > a{
    position:relative;

    display:flex;

    min-height:39px;

    align-items:center;

    justify-content:space-between;

    gap:8px;

    padding:
        7px 4px
        7px 0;

    border-bottom:
        1px solid rgba(83,158,199,.13);

    color:#b8ccd8;

    font-size:9px;
    font-weight:500;

    line-height:1.25;

    text-decoration:none;

    transition:
        color .18s ease,
        padding .18s ease,
        background .18s ease;
}


.vx-tech-mega-column > a::before{
    content:"";

    position:absolute;

    top:50%;
    left:-10px;

    width:3px;
    height:3px;

    border-radius:50%;

    background:#36b9fa;

    opacity:0;

    transform:translateY(-50%);

    transition:.18s ease;
}


.vx-tech-mega-column > a > b{
    color:#40baf7;

    font-size:14px;
    font-weight:400;

    opacity:0;

    transform:translateX(-5px);

    transition:.18s ease;
}


.vx-tech-mega-column > a:hover{
    padding-left:10px;

    color:#fff;
}


.vx-tech-mega-column > a:hover::before{
    opacity:1;
}


.vx-tech-mega-column > a:hover > b{
    opacity:1;
    transform:translateX(0);
}


/* PREMIUM BADGE */

.vx-tech-mega-column >
.vx-tech-current-premium{
    color:#fff;
}


.vx-tech-current-premium small{
    margin-left:auto;

    padding:3px 6px;

    border:
        1px solid rgba(48,183,248,.35);

    border-radius:999px;

    color:#4cc2ff;

    font-size:5px;
    font-weight:800;

    letter-spacing:.14em;
}


/* FEATURE ------------------------------------------------ */

.vx-tech-feature{
    position:relative;

    display:flex;

    min-width:0;

    flex-direction:column;

    margin:20px 0 20px 20px;

    overflow:hidden;

    border-radius:3px 20px 3px 3px;

    color:#fff;

    background:#041a29;

    text-decoration:none;

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


.vx-tech-feature:hover{
    color:#fff;

    transform:translateY(-3px);

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


.vx-tech-feature-image{
    position:relative;

    overflow:hidden;

    height:145px;
}


.vx-tech-feature-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center;

    transition:
        transform .5s ease;
}


.vx-tech-feature:hover img{
    transform:scale(1.035);
}


.vx-tech-feature-overlay{
    position:absolute;

    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(3,21,34,.82),
            transparent 65%
        );
}


.vx-tech-feature-copy{
    padding:17px 18px 18px;
}


.vx-tech-feature-copy > small{
    display:block;

    margin-bottom:5px;

    color:#40bcfb;

    font-size:6px;
    font-weight:800;

    letter-spacing:.20em;
}


.vx-tech-feature-copy > strong{
    display:block;

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

    font-size:24px;
    font-weight:400;
}


.vx-tech-feature-copy p{
    margin:5px 0 12px;

    color:#9db5c4;

    font-size:8px;
    line-height:1.45;
}


.vx-tech-feature-copy > span{
    display:flex;

    align-items:center;
    justify-content:space-between;

    padding-top:10px;

    border-top:
        1px solid rgba(73,170,224,.20);

    color:#d8eaf3;

    font-size:8px;
    font-weight:700;
}


.vx-tech-feature-copy > span b{
    color:#3cbafb;

    font-size:14px;
    font-weight:400;
}


/* BOTTOM ------------------------------------------------- */

.vx-tech-mega-bottom{
    position:relative;
    z-index:2;

    display:flex;

    min-height:45px;

    align-items:center;

    gap:12px;

    padding:0 38px;

    border-top:
        1px solid rgba(67,168,225,.20);

    color:#43bdfb;

    font-size:6px;
    font-weight:800;

    letter-spacing:.19em;
}


.vx-tech-mega-bottom i{
    width:3px;
    height:3px;

    border-radius:50%;

    background:#577b90;
}


.vx-tech-mega-bottom strong{
    margin-left:auto;

    color:#718fa1;

    font-size:6px;
    font-weight:700;

    letter-spacing:.17em;
}


/* DESKTOP ONLY ------------------------------------------- */

@media (min-width:1051px){

    /*
     * The nav itself must not clip the mega menu.
     */

    .vx-header-v5-nav{
        position:static !important;
        overflow:visible !important;
    }

    /*
     * Header containers also need visible overflow.
     */

    .vx-header-v4,
    .vx-header-v4-main,
    .vx-header-v4-inner{
        overflow:visible !important;
    }

}


/* Hide mega menu when desktop nav disappears */

@media (max-width:1050px){

    .vx-tech-mega{
        display:none !important;
    }

}



/* ==========================================================
   VIREXIS — TECHNOLOGY MEGA MENU
   POLISH V1
   ========================================================== */

@media (min-width:1051px){

    /* ------------------------------------------------------
       PANEL
       Más presencia sin hacerlo más pesado
       ------------------------------------------------------ */

    .vx-tech-mega-shell{
        width:min(1300px,calc(100vw - 54px));
    }


    /* ------------------------------------------------------
       CABECERA
       ------------------------------------------------------ */

    .vx-tech-mega-top{
        min-height:132px;
        padding:30px 40px 27px;
    }

    .vx-tech-mega-kicker{
        margin-bottom:8px;
        font-size:7.5px;
        letter-spacing:.27em;
    }

    .vx-tech-mega-top h2{
        font-size:29px;
        line-height:1.05;
    }

    .vx-tech-view-all{
        min-width:218px;
        min-height:45px;
        padding:0 20px;
        font-size:9.5px;
    }


    /* ------------------------------------------------------
       DISTRIBUCIÓN
       Un poco más de espacio para la tarjeta destacada
       ------------------------------------------------------ */

    .vx-tech-mega-content{
        grid-template-columns:
            .95fr
            1.16fr
            1.12fr
            1.02fr;

        padding:0 22px;
    }

    .vx-tech-mega-column{
        padding:
            29px 21px
            31px;
    }


    /* ------------------------------------------------------
       TITULOS DE COLUMNA
       ------------------------------------------------------ */

    .vx-tech-column-heading{
        min-height:51px;
        margin-bottom:17px;
        gap:13px;
    }

    .vx-tech-column-icon{
        width:36px;
        height:36px;
        flex-basis:36px;
    }

    .vx-tech-column-icon svg{
        width:18px;
        height:18px;
    }

    .vx-tech-column-heading small{
        font-size:6.5px;
    }

    .vx-tech-column-heading strong{
        font-size:11.5px;
        letter-spacing:.005em;
    }


    /* ------------------------------------------------------
       LINKS
       Principal cambio de legibilidad
       ------------------------------------------------------ */

    .vx-tech-mega-column > a{
        min-height:43px;

        padding:
            8px 5px
            8px 0;

        color:#c8d8e1;

        font-size:10px;
        font-weight:520;

        line-height:1.3;
    }

    .vx-tech-mega-column > a:hover{
        padding-left:11px;
        color:#fff;
        background:
            linear-gradient(
                90deg,
                rgba(24,155,224,.08),
                transparent 78%
            );
    }

    .vx-tech-mega-column > a::before{
        left:-8px;
        width:4px;
        height:4px;
    }

    .vx-tech-mega-column > a > b{
        font-size:15px;
    }


    /* Premium badge */

    .vx-tech-current-premium small{
        padding:3px 7px;
        font-size:5.5px;
    }


    /* ------------------------------------------------------
       DAVINCI FEATURE
       Más fotografía y menos sensación de miniatura
       ------------------------------------------------------ */

    .vx-tech-feature{
        margin:
            18px 0
            18px 20px;

        border-radius:
            4px 22px
            4px 4px;
    }

    .vx-tech-feature-image{
        height:175px;
    }

    .vx-tech-feature-image img{
        object-position:center 45%;
    }

    .vx-tech-feature-copy{
        padding:
            18px 20px
            19px;
    }

    .vx-tech-feature-copy > small{
        margin-bottom:6px;
        font-size:6.5px;
    }

    .vx-tech-feature-copy > strong{
        font-size:27px;
    }

    .vx-tech-feature-copy p{
        margin:6px 0 14px;
        font-size:9px;
        line-height:1.5;
    }

    .vx-tech-feature-copy > span{
        padding-top:11px;
        font-size:9px;
    }


    /* ------------------------------------------------------
       FOOTER DEL MEGA MENU
       ------------------------------------------------------ */

    .vx-tech-mega-bottom{
        min-height:47px;
        padding:0 40px;
    }


    /* ------------------------------------------------------
       HOVER DEL ITEM TECNOLOGÍA EN HEADER
       ------------------------------------------------------ */

    .vx-tech-nav-item:hover > .vx-tech-nav-link,
    .vx-tech-nav-item:focus-within > .vx-tech-nav-link{
        background:
            linear-gradient(
                to bottom,
                rgba(20,136,203,.05),
                rgba(20,136,203,.11)
            );
    }

    .vx-tech-nav-item:hover .vx-nav-icon,
    .vx-tech-nav-item:focus-within .vx-nav-icon{
        color:#46bfff;
        transform:translateY(-1px);
    }

    .vx-tech-nav-item .vx-nav-icon{
        transition:
            color .2s ease,
            transform .2s ease;
    }


    /* ------------------------------------------------------
       SOMBRA / PROFUNDIDAD
       ------------------------------------------------------ */

    .vx-tech-mega-shell{
        box-shadow:
            0 34px 85px rgba(0,14,25,.42),
            0 10px 28px rgba(0,14,25,.22),
            inset 0 1px 0 rgba(113,207,255,.05);
    }

}



/* ==========================================================
   VIREXIS — MEGA MENU POLISH V2
   GROUP IDENTITIES + HEADER VISIBILITY
   ========================================================== */

@media (min-width:1051px){


    /* ======================================================
       1. FIX: TECNOLOGÍA VISIBLE EN HEADER
       ====================================================== */

    .vx-header-v5-nav
    .vx-tech-nav-item
    > .vx-tech-nav-link,

    .vx-header-v5-nav
    .vx-tech-nav-item
    > .vx-tech-nav-link:visited{

        color:#eaf6fc !important;
    }


    .vx-header-v5-nav
    .vx-tech-nav-item
    > .vx-tech-nav-link
    .vx-nav-label{

        color:#eaf6fc !important;
        opacity:1 !important;

        transition:
            color .2s ease,
            opacity .2s ease;
    }


    .vx-header-v5-nav
    .vx-tech-nav-item
    > .vx-tech-nav-link
    .vx-nav-icon{

        color:#37b9fb !important;
        opacity:1 !important;
    }


    .vx-header-v5-nav
    .vx-tech-nav-item:hover
    > .vx-tech-nav-link
    .vx-nav-label,

    .vx-header-v5-nav
    .vx-tech-nav-item:focus-within
    > .vx-tech-nav-link
    .vx-nav-label,

    .vx-header-v5-nav
    .vx-tech-nav-item.vx-tech-open
    > .vx-tech-nav-link
    .vx-nav-label{

        color:#ffffff !important;
    }


    .vx-header-v5-nav
    .vx-tech-nav-item:hover
    > .vx-tech-nav-link
    .vx-nav-icon,

    .vx-header-v5-nav
    .vx-tech-nav-item:focus-within
    > .vx-tech-nav-link
    .vx-nav-icon,

    .vx-header-v5-nav
    .vx-tech-nav-item.vx-tech-open
    > .vx-tech-nav-link
    .vx-nav-icon{

        color:#53c8ff !important;
    }


    .vx-tech-chevron{
        color:#5acaff !important;
    }



    /* ======================================================
       2. BASE DE LOS TRES GRUPOS
       ====================================================== */

    .vx-tech-mega-column{
        position:relative;
        isolation:isolate;
        overflow:hidden;

        transition:
            background .25s ease;
    }


    /*
     * Línea superior característica de cada grupo.
     */

    .vx-tech-mega-column::before{

        content:"";

        position:absolute;

        z-index:2;

        top:0;
        right:21px;
        left:21px;

        height:2px;

        opacity:.85;
    }


    /*
     * Halo muy discreto.
     */

    .vx-tech-mega-column::after{

        content:"";

        position:absolute;

        z-index:-1;

        top:0;
        right:0;
        left:0;

        height:145px;

        pointer-events:none;
    }



    /* ======================================================
       3. GRUPO 01 — DIAGNÓSTICO
       Azul hielo / precisión
       ====================================================== */

    .vx-tech-mega-column:nth-child(1){

        background:
            linear-gradient(
                180deg,
                rgba(67,177,226,.055),
                transparent 48%
            );
    }


    .vx-tech-mega-column:nth-child(1)::before{

        background:
            linear-gradient(
                90deg,
                #83d8f8,
                rgba(131,216,248,.08)
            );
    }


    .vx-tech-mega-column:nth-child(1)::after{

        background:
            radial-gradient(
                circle at 18% 0%,
                rgba(99,202,243,.10),
                transparent 56%
            );
    }


    .vx-tech-mega-column:nth-child(1)
    .vx-tech-column-icon{

        color:#8cddfa;

        border-color:
            rgba(132,219,250,.42);

        background:
            rgba(95,196,235,.09);
    }


    .vx-tech-mega-column:nth-child(1)
    .vx-tech-column-heading small{

        color:#80cce9;
    }


    .vx-tech-mega-column:nth-child(1)
    > a:hover{

        background:
            linear-gradient(
                90deg,
                rgba(103,202,239,.11),
                transparent 80%
            );
    }


    .vx-tech-mega-column:nth-child(1)
    > a::before,

    .vx-tech-mega-column:nth-child(1)
    > a > b{

        color:#8cddfa;
        background-color:#8cddfa;
    }



    /* ======================================================
       4. GRUPO 02 — REHABILITACIÓN AVANZADA
       Azul Virexis
       ====================================================== */

    .vx-tech-mega-column:nth-child(2){

        background:
            linear-gradient(
                180deg,
                rgba(21,159,229,.075),
                transparent 50%
            );
    }


    .vx-tech-mega-column:nth-child(2)::before{

        background:
            linear-gradient(
                90deg,
                #24b4fa,
                rgba(36,180,250,.08)
            );
    }


    .vx-tech-mega-column:nth-child(2)::after{

        background:
            radial-gradient(
                circle at 20% 0%,
                rgba(22,162,232,.14),
                transparent 57%
            );
    }


    .vx-tech-mega-column:nth-child(2)
    .vx-tech-column-icon{

        color:#39bcfb;

        border-color:
            rgba(55,188,251,.48);

        background:
            rgba(22,157,226,.12);
    }


    .vx-tech-mega-column:nth-child(2)
    .vx-tech-column-heading small{

        color:#39b9f6;
    }


    .vx-tech-mega-column:nth-child(2)
    > a:hover{

        background:
            linear-gradient(
                90deg,
                rgba(29,171,238,.13),
                transparent 80%
            );
    }


    .vx-tech-mega-column:nth-child(2)
    > a::before,

    .vx-tech-mega-column:nth-child(2)
    > a > b{

        color:#38bcfb;
        background-color:#38bcfb;
    }



    /* ======================================================
       5. GRUPO 03 — TECNOLOGÍAS TERAPÉUTICAS
       Azul eléctrico profundo
       ====================================================== */

    .vx-tech-mega-column:nth-child(3){

        background:
            linear-gradient(
                180deg,
                rgba(48,128,218,.075),
                transparent 50%
            );
    }


    .vx-tech-mega-column:nth-child(3)::before{

        background:
            linear-gradient(
                90deg,
                #4d9fff,
                rgba(77,159,255,.08)
            );
    }


    .vx-tech-mega-column:nth-child(3)::after{

        background:
            radial-gradient(
                circle at 20% 0%,
                rgba(61,132,225,.14),
                transparent 57%
            );
    }


    .vx-tech-mega-column:nth-child(3)
    .vx-tech-column-icon{

        color:#62adff;

        border-color:
            rgba(90,166,255,.45);

        background:
            rgba(53,126,218,.12);
    }


    .vx-tech-mega-column:nth-child(3)
    .vx-tech-column-heading small{

        color:#69adf5;
    }


    .vx-tech-mega-column:nth-child(3)
    > a:hover{

        background:
            linear-gradient(
                90deg,
                rgba(64,139,226,.13),
                transparent 80%
            );
    }


    .vx-tech-mega-column:nth-child(3)
    > a::before,

    .vx-tech-mega-column:nth-child(3)
    > a > b{

        color:#65afff;
        background-color:#65afff;
    }



    /* ======================================================
       6. TITULOS MÁS PRESENTES
       ====================================================== */

    .vx-tech-column-heading strong{

        color:#f6fbfe;

        font-size:12px;

        font-weight:750;
    }


    .vx-tech-column-heading small{

        font-weight:900;

        letter-spacing:.20em;
    }



    /* ======================================================
       7. LINKS: MÁS CONTRASTE
       ====================================================== */

    .vx-tech-mega-column > a{

        color:#d1dfe7;

        font-size:10.25px;

        font-weight:540;
    }


    .vx-tech-mega-column > a:hover{

        color:#ffffff;
    }



    /* ======================================================
       8. DAVINCI — SEPARACIÓN VISUAL
       ====================================================== */

    .vx-tech-feature{

        background:
            linear-gradient(
                160deg,
                #041827,
                #052338
            );

        border:
            1px solid rgba(57,177,239,.15);
    }


    .vx-tech-feature::before{

        content:"";

        position:absolute;

        z-index:4;

        top:0;
        right:0;
        left:0;

        height:2px;

        background:
            linear-gradient(
                90deg,
                #2bb8fb,
                transparent
            );
    }

}



/* ==========================================================
   VIREXIS — MEGA MENU ICONS + HEADER CONNECTION V1
   ========================================================== */

@media (min-width:1051px){


    /* ======================================================
       1. SUBIR EL MEGA MENU
       ====================================================== */

    .vx-tech-mega{
        padding-top:4px;
        transform:translateY(-5px);
    }

    .vx-tech-nav-item:hover .vx-tech-mega,
    .vx-tech-nav-item:focus-within .vx-tech-mega,
    .vx-tech-nav-item.vx-tech-open .vx-tech-mega{
        transform:translateY(0);
    }


    /* ======================================================
       2. CONECTOR DESDE TECNOLOGÍA
       ====================================================== */

    .vx-tech-nav-item::after{
        content:"";

        position:absolute;
        z-index:10001;

        top:calc(100% - 5px);

        width:18px;
        height:18px;

        left:50%;

        opacity:0;
        visibility:hidden;

        background:#06263b;

        border-top:1px solid rgba(63,188,249,.75);
        border-left:1px solid rgba(63,188,249,.75);

        transform:
            translateX(-50%)
            rotate(45deg);

        transition:
            opacity .18s ease,
            visibility .18s ease;
    }

    .vx-tech-nav-item:hover::after,
    .vx-tech-nav-item:focus-within::after,
    .vx-tech-nav-item.vx-tech-open::after{
        opacity:1;
        visibility:visible;
    }


    /*
     * Hace más evidente que el panel pertenece a Tecnología.
     */

    .vx-tech-nav-item:hover > .vx-tech-nav-link,
    .vx-tech-nav-item:focus-within > .vx-tech-nav-link,
    .vx-tech-nav-item.vx-tech-open > .vx-tech-nav-link{

        background:
            linear-gradient(
                180deg,
                rgba(33,169,236,.06),
                rgba(33,169,236,.15)
            );
    }


    /* ======================================================
       3. ESTRUCTURA DE LOS BOTONES
       ====================================================== */

    .vx-tech-mega-column > a{
        position:relative;

        display:grid;

        grid-template-columns:
            31px
            minmax(0,1fr)
            auto;

        column-gap:10px;

        align-items:center;

        min-height:47px;

        padding:
            7px 5px
            7px 0;
    }


    /*
     * El icono se dibuja dentro de este círculo.
     */

    .vx-tech-mega-column > a::after{
        content:"";

        position:relative;

        display:block;

        grid-column:1;
        grid-row:1;

        width:27px;
        height:27px;

        border:
            1px solid rgba(76,191,246,.25);

        border-radius:8px;

        background-color:
            rgba(20,119,174,.08);

        background-repeat:no-repeat;
        background-position:center;
        background-size:17px 17px;

        transition:
            transform .20s ease,
            border-color .20s ease,
            background-color .20s ease;
    }


    .vx-tech-mega-column > a > span{
        grid-column:2;
        grid-row:1;
    }


    .vx-tech-mega-column > a > small{
        grid-column:2;
        grid-row:1;

        justify-self:end;

        margin-right:5px;
    }


    .vx-tech-mega-column > a > b{
        grid-column:3;
        grid-row:1;

        position:static;

        align-self:center;
    }


    .vx-tech-mega-column > a:hover::after{
        transform:translateY(-1px);

        border-color:
            rgba(72,196,255,.65);

        background-color:
            rgba(24,160,226,.14);
    }


    /*
     * Conservamos el pequeño punto del hover,
     * pero lo desplazamos para que no choque con el icono.
     */

    .vx-tech-mega-column > a::before{
        left:-7px;
    }



    /* ======================================================
       4. DIAGNÓSTICO
       ====================================================== */


    /* Resonancia Magnética — magnet / scan */

    .vx-tech-mega-column:nth-child(1)
    > a:nth-of-type(1)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238CDDFB' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4v7a6 6 0 0 0 12 0V4'/%3E%3Cpath d='M6 4h4v7a2 2 0 0 0 4 0V4h4'/%3E%3Cpath d='M5 20h14'/%3E%3C/svg%3E");
    }


    /* Sonografía — ondas */

    .vx-tech-mega-column:nth-child(1)
    > a:nth-of-type(2)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238CDDFB' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M5 7c4 4 10 4 14 0'/%3E%3Cpath d='M3 11c5 5 13 5 18 0'/%3E%3Cpath d='M6 15c3 3 9 3 12 0'/%3E%3Cpath d='M9 19c2 1 4 1 6 0'/%3E%3C/svg%3E");
    }


    /* Examen Postural — cuerpo */

    .vx-tech-mega-column:nth-child(1)
    > a:nth-of-type(3)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238CDDFB' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='4' r='2'/%3E%3Cpath d='M12 6v7'/%3E%3Cpath d='M8 9l4 2 4-2'/%3E%3Cpath d='M9 20l3-7 3 7'/%3E%3Cpath d='M5 4v16M19 4v16' opacity='.45'/%3E%3C/svg%3E");
    }


    /* Podometría — footprint */

    .vx-tech-mega-column:nth-child(1)
    > a:nth-of-type(4)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238CDDFB' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 7c-2 2-3 5-3 8 0 3-1 5-3 5-2 0-3-2-2-4 1-3 2-6 2-9 0-3 2-5 4-5 3 0 4 3 2 5Z'/%3E%3Ccircle cx='16.5' cy='4' r='1'/%3E%3Ccircle cx='18.5' cy='6.5' r='.8'/%3E%3C/svg%3E");
    }



    /* ======================================================
       5. REHABILITACIÓN AVANZADA
       ====================================================== */


    /* DaVinci — columna */

    .vx-tech-mega-column:nth-child(2)
    > a:nth-of-type(1)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339BCFB' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20'/%3E%3Cpath d='M9 4c2 1 4 1 6 0M9 8c2 1 4 1 6 0M9 12c2 1 4 1 6 0M9 16c2 1 4 1 6 0M9 20c2 1 4 1 6 0'/%3E%3C/svg%3E");
    }


    /* Mi.TO. — fascia / tejido */

    .vx-tech-mega-column:nth-child(2)
    > a:nth-of-type(2)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339BCFB' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17c5-1 6-8 11-10 2-1 4-1 5-3-1 6-4 9-9 12-3 2-5 3-7 1Z'/%3E%3Cpath d='M6 17c4-3 7-6 12-10'/%3E%3C/svg%3E");
    }


    /* Sistema de Rehabilitación Asistida */

    .vx-tech-mega-column:nth-child(2)
    > a:nth-of-type(3)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339BCFB' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='2'/%3E%3Cpath d='M12 7v6M8 10h8M9 21l3-8 3 8'/%3E%3Cpath d='M4 18v3M20 18v3M4 18h4M16 18h4'/%3E%3C/svg%3E");
    }


    /* Rehabilitación Virtual — visor */

    .vx-tech-mega-column:nth-child(2)
    > a:nth-of-type(4)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339BCFB' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='10' rx='3'/%3E%3Ccircle cx='8' cy='12' r='1.5'/%3E%3Ccircle cx='16' cy='12' r='1.5'/%3E%3Cpath d='M10 12h4'/%3E%3C/svg%3E");
    }


    /* Rehabilitación de Mano */

    .vx-tech-mega-column:nth-child(2)
    > a:nth-of-type(5)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2339BCFB' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 11V5a1 1 0 0 1 2 0v5'/%3E%3Cpath d='M9 10V3a1 1 0 0 1 2 0v7'/%3E%3Cpath d='M11 10V4a1 1 0 0 1 2 0v6'/%3E%3Cpath d='M13 10V6a1 1 0 0 1 2 0v7l2-2c2-2 4 0 2 2l-4 6c-1 2-3 3-5 3-4 0-6-3-6-7v-4a1.5 1.5 0 0 1 3 0Z'/%3E%3C/svg%3E");
    }



    /* ======================================================
       6. TECNOLOGÍAS TERAPÉUTICAS
       ====================================================== */


    /* Láser */

    .vx-tech-mega-column:nth-child(3)
    > a:nth-of-type(1)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365AFFF' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v5M12 17v5M2 12h5M17 12h5M5 5l3.5 3.5M15.5 15.5 19 19M19 5l-3.5 3.5M8.5 15.5 5 19'/%3E%3C/svg%3E");
    }


    /* Crioterapia */

    .vx-tech-mega-column:nth-child(3)
    > a:nth-of-type(2)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365AFFF' stroke-width='1.55' stroke-linecap='round'%3E%3Cpath d='M12 2v20M4 6l16 12M20 6 4 18M8 4l4 3 4-3M8 20l4-3 4 3M3 10l4 2-4 2M21 10l-4 2 4 2'/%3E%3C/svg%3E");
    }


    /* Hiperbárica — O2 */

    .vx-tech-mega-column:nth-child(3)
    > a:nth-of-type(3)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365AFFF' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='9' cy='10' r='5'/%3E%3Cpath d='M14 15c3 0 5 2 5 5'/%3E%3Cpath d='M17 8h4l-4 5h4'/%3E%3C/svg%3E");
    }


    /* Electroterapia */

    .vx-tech-mega-column:nth-child(3)
    > a:nth-of-type(4)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365AFFF' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 13h4l2-6 4 12 3-9 2 3h5'/%3E%3C/svg%3E");
    }


    /* Presoterapia — compresión */

    .vx-tech-mega-column:nth-child(3)
    > a:nth-of-type(5)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365AFFF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='7' rx='7' ry='3'/%3E%3Cellipse cx='12' cy='12' rx='7' ry='3'/%3E%3Cellipse cx='12' cy='17' rx='7' ry='3'/%3E%3C/svg%3E");
    }



    /* ======================================================
       7. HOVER DEL ICONO SEGÚN GRUPO
       ====================================================== */

    .vx-tech-mega-column:nth-child(1)
    > a:hover::after{

        box-shadow:
            0 0 18px rgba(140,221,250,.12);
    }


    .vx-tech-mega-column:nth-child(2)
    > a:hover::after{

        box-shadow:
            0 0 18px rgba(57,188,251,.14);
    }


    .vx-tech-mega-column:nth-child(3)
    > a:hover::after{

        box-shadow:
            0 0 18px rgba(101,175,255,.14);
    }

}



/* ==========================================================
   VIREXIS — TECHNOLOGY FEATURE SLIDER V2
   ========================================================== */

@media (min-width:1051px){


    /* El grupo terapéutico ahora contiene 8 tecnologías.
       Compactamos ligeramente solo esa columna. */

    .vx-tech-mega-column:nth-child(3) > a{
        min-height:38px;
        padding-top:5px;
        padding-bottom:5px;
    }

    .vx-tech-mega-column:nth-child(3) > a::after{
        width:25px;
        height:25px;
        background-size:15px 15px;
    }


    /* ------------------------------------------------------
       SLIDER CONTAINER
       ------------------------------------------------------ */

    .vx-tech-slider{
        position:relative;

        display:block;

        min-height:0;

        margin:
            18px 0
            18px 20px;

        overflow:hidden;

        border:
            1px solid rgba(59,184,244,.22);

        border-radius:
            4px 22px
            4px 4px;

        background:#031827;
    }


    .vx-tech-slider:hover{
        transform:none;
    }


    .vx-tech-slider-track{
        position:relative;

        min-height:390px;
    }


    /* ------------------------------------------------------
       SLIDES
       ------------------------------------------------------ */

    .vx-tech-slide{
        position:absolute;

        inset:0;

        visibility:hidden;

        opacity:0;

        pointer-events:none;

        transform:translateX(12px);

        transition:
            opacity .42s ease,
            transform .42s ease,
            visibility .42s ease;
    }


    .vx-tech-slide.is-active{
        visibility:visible;

        opacity:1;

        pointer-events:auto;

        transform:translateX(0);
    }


    .vx-tech-slide > a{
        display:block;

        height:100%;

        color:#fff;

        text-decoration:none;
    }


    /* ------------------------------------------------------
       IMAGE
       ------------------------------------------------------ */

    .vx-tech-slide-image{
        position:relative;

        overflow:hidden;

        height:205px;

        background:#071d2b;
    }


    .vx-tech-slide-image img{
        display:block;

        width:100%;
        height:100%;

        object-fit:cover;

        object-position:center;

        transform:scale(1.01);

        transition:
            transform 5.5s ease;
    }


    .vx-tech-slide.is-active
    .vx-tech-slide-image img{
        transform:scale(1.07);
    }


    .vx-tech-slide-shade{
        position:absolute;

        inset:0;

        background:
            linear-gradient(
                to top,
                rgba(3,24,39,.70),
                transparent 58%
            );
    }


    /* ------------------------------------------------------
       COPY
       ------------------------------------------------------ */

    .vx-tech-slide-copy{
        padding:
            17px 20px
            20px;
    }


    .vx-tech-slide-copy > small{
        display:block;

        margin-bottom:5px;

        color:#45c2ff;

        font-size:6px;
        font-weight:850;

        letter-spacing:.21em;
    }


    .vx-tech-slide-copy > strong{
        display:block;

        color:#fff;

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

        font-size:27px;
        font-weight:400;

        line-height:1;
    }


    .vx-tech-slide-copy p{
        min-height:27px;

        margin:7px 0 12px;

        color:#a9c0cc;

        font-size:8.5px;

        line-height:1.45;
    }


    .vx-tech-slide-link{
        display:flex;

        align-items:center;
        justify-content:space-between;

        padding-top:11px;

        border-top:
            1px solid rgba(70,173,228,.22);

        color:#e7f5fb;

        font-size:8px;
        font-weight:750;
    }


    .vx-tech-slide-link b{
        color:#3fc1ff;

        font-size:15px;
        font-weight:400;
    }


    /* ------------------------------------------------------
       COUNTER
       ------------------------------------------------------ */

    .vx-tech-slider-counter{
        position:absolute;

        z-index:8;

        top:13px;
        right:14px;

        display:flex;

        align-items:center;

        gap:4px;

        padding:
            5px 8px;

        border:
            1px solid rgba(255,255,255,.18);

        border-radius:999px;

        color:#fff;

        background:
            rgba(2,20,32,.48);

        backdrop-filter:blur(8px);

        font-size:7px;
        font-weight:800;

        letter-spacing:.08em;
    }


    .vx-tech-slider-counter i{
        color:#71a5bf;

        font-style:normal;
    }


    /* ------------------------------------------------------
       ARROWS
       ------------------------------------------------------ */

    .vx-tech-slider-prev,
    .vx-tech-slider-next{
        position:absolute;

        z-index:10;

        top:88px;

        display:grid;

        width:34px;
        height:34px;

        place-items:center;

        padding:0;

        border:
            1px solid rgba(83,199,255,.55);

        border-radius:50%;

        color:#dff6ff;

        background:
            rgba(2,29,45,.68);

        backdrop-filter:blur(7px);

        cursor:pointer;

        font-size:15px;

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


    .vx-tech-slider-prev{
        left:10px;
    }


    .vx-tech-slider-next{
        right:10px;
    }


    .vx-tech-slider-prev:hover,
    .vx-tech-slider-next:hover{
        border-color:#50c7ff;

        background:
            rgba(10,128,190,.70);

        transform:scale(1.05);
    }


    /* ------------------------------------------------------
       DOTS
       ------------------------------------------------------ */

    .vx-tech-slider-dots{
        position:absolute;

        z-index:10;

        top:184px;
        left:50%;

        display:flex;

        align-items:center;

        gap:5px;

        transform:translateX(-50%);
    }


    .vx-tech-slider-dots button{
        width:5px;
        height:5px;

        padding:0;

        border:0;
        border-radius:50%;

        background:
            rgba(220,244,255,.45);

        cursor:pointer;

        transition:
            width .2s ease,
            background .2s ease;
    }


    .vx-tech-slider-dots button.is-active{
        width:16px;

        border-radius:999px;

        background:#45c3ff;
    }


    /* ------------------------------------------------------
       SUBTLE BLUE TOP LINE
       ------------------------------------------------------ */

    .vx-tech-slider::before{
        content:"";

        position:absolute;

        z-index:12;

        top:0;
        right:0;
        left:0;

        height:2px;

        background:
            linear-gradient(
                90deg,
                #28b7fb,
                rgba(40,183,251,.15),
                transparent
            );

        pointer-events:none;
    }

}



@media (min-width:1051px){

    /* Venom 2 Back — zona lumbar */

    .vx-tech-mega-column:nth-child(3)
    > a:nth-of-type(6)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365AFFF' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3c1 4 1 7 0 10-1 3 0 6 4 8'/%3E%3Cpath d='M16 3c-1 4-1 7 0 10 1 3 0 6-4 8'/%3E%3Cpath d='M8 9h8M7.5 13h9'/%3E%3C/svg%3E");
    }


    /* Hyperice Rodillas */

    .vx-tech-mega-column:nth-child(3)
    > a:nth-of-type(7)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365AFFF' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2v7c0 2 1 3 3 3s3 1 3 3v7'/%3E%3Cpath d='M15 2v6c0 2-1 4-3 4'/%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3C/svg%3E");
    }


    /* Hyperice Hombros */

    .vx-tech-mega-column:nth-child(3)
    > a:nth-of-type(8)::after{

        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365AFFF' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='2'/%3E%3Cpath d='M12 7v5M12 9c-4 0-7 2-8 5M12 9c4 0 7 2 8 5'/%3E%3Cpath d='M7 12l-2 8M17 12l2 8'/%3E%3C/svg%3E");
    }

}



/* ==========================================================
   VIREXIS — CURRENT TECHNOLOGY STATE
   ========================================================== */

@media (min-width:1051px){


    .vx-tech-mega-column > a.is-current-tech{

        position:relative;

        color:#ffffff !important;

        background:
            linear-gradient(
                90deg,
                rgba(37,177,242,.17),
                rgba(37,177,242,.055) 68%,
                transparent
            ) !important;

        border-color:
            rgba(68,190,247,.24);
    }


    /* Línea luminosa izquierda */

    .vx-tech-mega-column
    > a.is-current-tech::before{

        content:"";

        position:absolute;

        top:8px;
        bottom:8px;
        left:-1px;

        width:2px;
        height:auto;

        border-radius:10px;

        background:#45c4ff;

        box-shadow:
            0 0 10px rgba(69,196,255,.55);

        opacity:1;
    }


    /* Icono */

    .vx-tech-mega-column
    > a.is-current-tech::after{

        border-color:
            rgba(76,199,255,.78);

        background-color:
            rgba(30,166,231,.20);

        box-shadow:
            0 0 16px
            rgba(53,184,246,.16);

        transform:none;
    }


    /* Nombre */

    .vx-tech-mega-column
    > a.is-current-tech > span{

        color:#ffffff;

        font-weight:720;
    }


    /* Flecha */

    .vx-tech-mega-column
    > a.is-current-tech > b{

        color:#4bc7ff !important;
    }


    /* Etiqueta ACTUAL */

    .vx-current-tech-label{

        grid-column:2;
        grid-row:1;

        justify-self:end;

        margin-right:23px;

        padding:3px 6px;

        border:
            1px solid rgba(69,196,255,.38);

        border-radius:999px;

        color:#63ceff;

        background:
            rgba(21,136,193,.10);

        font-size:5px;
        font-style:normal;
        font-weight:900;

        line-height:1;

        letter-spacing:.15em;

        pointer-events:none;
    }


    /*
     * El estado ACTUAL permanece reconocible
     * incluso cuando hacemos hover.
     */

    .vx-tech-mega-column
    > a.is-current-tech:hover{

        padding-left:0;

        background:
            linear-gradient(
                90deg,
                rgba(39,183,250,.23),
                rgba(39,183,250,.07) 72%,
                transparent
            ) !important;
    }

}



/* ==========================================================
   VIREXIS — PATIENT RESULTS PORTAL V1
   ========================================================== */


/* ==========================================================
   TOP UTILITY BAR
   ========================================================== */

.vx-results-top{
    display:inline-flex;

    align-items:center;

    gap:7px;

    padding:
        4px 10px;

    border:
        1px solid rgba(72,190,245,.18);

    border-radius:999px;

    color:#a8dff7;

    background:
        rgba(27,137,192,.07);

    font-size:7px;
    font-weight:800;

    letter-spacing:.08em;

    text-decoration:none;

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


.vx-results-top:hover{
    color:#fff;

    border-color:
        rgba(74,199,255,.48);

    background:
        rgba(29,156,218,.15);

    transform:translateY(-1px);
}


.vx-results-top-icon{
    display:inline-flex;

    width:13px;
    height:13px;

    color:#45c2ff;
}


.vx-results-top-icon svg{
    width:100%;
    height:100%;

    fill:none;

    stroke:currentColor;
    stroke-width:1.5;

    stroke-linecap:round;
    stroke-linejoin:round;
}


.vx-results-top b{
    color:#48c5ff;

    font-size:9px;
    font-weight:500;
}


/* ==========================================================
   DESKTOP HEADER ACTIONS
   ========================================================== */

.vx-header-actions{
    display:flex;

    align-items:center;

    gap:9px;

    flex:0 0 auto;
}


.vx-results-main{
    position:relative;

    display:flex;

    min-height:48px;

    align-items:center;

    gap:9px;

    padding:
        0 13px;

    overflow:hidden;

    border:
        1px solid rgba(58,185,246,.30);

    border-radius:8px;

    color:#dff5ff;

    background:
        linear-gradient(
            135deg,
            rgba(14,96,143,.13),
            rgba(8,51,79,.22)
        );

    text-decoration:none;

    transition:
        border-color .22s ease,
        background .22s ease,
        transform .22s ease;
}


.vx-results-main::before{
    content:"";

    position:absolute;

    top:0;
    right:0;
    left:0;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #44c5ff,
            transparent
        );

    opacity:.65;
}


.vx-results-main:hover{
    color:#fff;

    border-color:
        rgba(66,196,255,.60);

    background:
        linear-gradient(
            135deg,
            rgba(18,132,194,.22),
            rgba(7,58,91,.32)
        );

    transform:translateY(-1px);
}


.vx-results-main-icon{
    display:grid;

    width:29px;
    height:29px;

    flex:0 0 29px;

    place-items:center;

    border:
        1px solid rgba(68,194,252,.26);

    border-radius:50%;

    color:#4bc5ff;

    background:
        rgba(24,142,200,.10);
}


.vx-results-main-icon svg{
    width:14px;
    height:14px;

    fill:none;

    stroke:currentColor;
    stroke-width:1.5;

    stroke-linecap:round;
    stroke-linejoin:round;
}


.vx-results-main-copy{
    display:flex;

    flex-direction:column;

    gap:1px;
}


.vx-results-main-copy small{
    color:#6599b3;

    font-size:5px;
    font-weight:850;

    line-height:1;

    letter-spacing:.14em;
}


.vx-results-main-copy strong{
    color:#e9f8ff;

    font-size:9px;
    font-weight:750;

    line-height:1.2;
}


.vx-results-main > b{
    margin-left:2px;

    color:#4bc5ff;

    font-size:11px;
    font-weight:400;
}


/* ==========================================================
   FOOTER PATIENT PORTAL
   ========================================================== */

.vx-footer-patient-portal{
    position:relative;

    padding:
        0 0 26px;

    background:#03131f;
}


.vx-footer-portal-card{
    position:relative;

    display:grid;

    grid-template-columns:
        52px
        minmax(0,1fr)
        auto;

    align-items:center;

    gap:19px;

    min-height:104px;

    padding:
        20px 26px;

    overflow:hidden;

    border:
        1px solid rgba(63,184,241,.22);

    border-radius:13px;

    color:#fff;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(31,157,221,.13),
            transparent 27%
        ),
        linear-gradient(
            105deg,
            rgba(6,36,55,.98),
            rgba(5,27,43,.98)
        );

    text-decoration:none;

    box-shadow:
        0 15px 40px rgba(0,9,16,.17);

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


.vx-footer-portal-card::before{
    content:"";

    position:absolute;

    top:0;
    right:0;
    left:0;

    height:2px;

    background:
        linear-gradient(
            90deg,
            #35bdfc,
            rgba(53,189,252,.20) 42%,
            transparent 72%
        );
}


.vx-footer-portal-card:hover{
    color:#fff;

    border-color:
        rgba(67,194,252,.48);

    transform:translateY(-2px);

    box-shadow:
        0 20px 48px rgba(0,9,16,.24);
}


.vx-footer-portal-icon{
    display:grid;

    width:52px;
    height:52px;

    place-items:center;

    border:
        1px solid rgba(67,191,249,.34);

    border-radius:50%;

    color:#49c5ff;

    background:
        rgba(27,145,202,.09);
}


.vx-footer-portal-icon svg{
    width:23px;
    height:23px;

    fill:none;

    stroke:currentColor;
    stroke-width:1.45;

    stroke-linecap:round;
    stroke-linejoin:round;
}


.vx-footer-portal-copy small{
    display:block;

    margin-bottom:4px;

    color:#43c1fb;

    font-size:7px;
    font-weight:850;

    letter-spacing:.20em;
}


.vx-footer-portal-copy strong{
    display:block;

    margin-bottom:4px;

    color:#fff;

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

    font-size:20px;
    font-weight:400;

    line-height:1.1;
}


.vx-footer-portal-copy p{
    margin:0;

    color:#819eae;

    font-size:9px;

    line-height:1.45;
}


.vx-footer-portal-action{
    display:flex;

    min-width:183px;
    min-height:43px;

    align-items:center;
    justify-content:space-between;

    gap:18px;

    padding:
        0 16px;

    border:
        1px solid rgba(71,192,249,.33);

    border-radius:999px;

    color:#dff5ff;

    background:
        rgba(13,92,134,.10);

    font-size:7px;
    font-weight:850;

    letter-spacing:.10em;

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


.vx-footer-portal-action b{
    color:#4ac5ff;

    font-size:13px;
    font-weight:400;
}


.vx-footer-portal-card:hover
.vx-footer-portal-action{
    border-color:#48c5ff;

    background:
        rgba(21,142,200,.17);
}


/* ==========================================================
   MOBILE PORTAL
   ========================================================== */

.vx-results-mobile{
    display:none;
}


@media (max-width:1050px){

    .vx-header-actions{
        display:none;
    }

    .vx-results-top{
        display:none;
    }

    .vx-results-mobile{
        display:flex;

        align-items:center;

        gap:12px;

        margin:
            13px 16px;

        padding:
            13px 14px;

        border:
            1px solid rgba(62,187,245,.27);

        border-radius:10px;

        color:#e7f8ff;

        background:
            linear-gradient(
                120deg,
                rgba(18,120,174,.14),
                rgba(6,45,69,.20)
            );

        text-decoration:none;
    }

    .vx-results-mobile-icon{
        display:grid;

        width:38px;
        height:38px;

        flex:0 0 38px;

        place-items:center;

        border:
            1px solid rgba(68,195,251,.30);

        border-radius:50%;

        color:#4bc6ff;
    }

    .vx-results-mobile-icon svg{
        width:18px;
        height:18px;

        fill:none;

        stroke:currentColor;
        stroke-width:1.5;

        stroke-linecap:round;
        stroke-linejoin:round;
    }

    .vx-results-mobile > span:nth-child(2){
        display:flex;

        flex:1;

        flex-direction:column;

        gap:3px;
    }

    .vx-results-mobile small{
        color:#55bce9;

        font-size:6px;
        font-weight:850;

        letter-spacing:.16em;
    }

    .vx-results-mobile strong{
        color:#fff;

        font-size:11px;
        font-weight:700;
    }

    .vx-results-mobile > b{
        color:#4bc6ff;

        font-size:15px;
        font-weight:400;
    }


    .vx-footer-patient-portal{
        padding:
            0 18px
            22px;
    }

    .vx-footer-portal-card{
        grid-template-columns:
            45px
            minmax(0,1fr);

        gap:14px;

        padding:
            18px;

        border-radius:12px;
    }

    .vx-footer-portal-icon{
        width:45px;
        height:45px;
    }

    .vx-footer-portal-copy strong{
        font-size:18px;
    }

    .vx-footer-portal-action{
        grid-column:
            1 / -1;

        width:100%;

        min-width:0;

        margin-top:4px;
    }

}


@media (max-width:520px){

    .vx-footer-portal-copy p{
        font-size:8.5px;
    }

}



/* ==========================================================
   VIREXIS — CINEMATIC VIDEO HERO V1
   ========================================================== */

.vx-cinema-media{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    overflow:hidden;

    background:#061521;
}


.vx-cinema-video{
    position:absolute;

    top:50%;
    left:50%;

    width:100%;
    height:100%;

    min-width:100%;
    min-height:100%;

    object-fit:cover;

    object-position:center center;

    transform:
        translate(-50%, -50%)
        scale(1.015);

    pointer-events:none;

    user-select:none;
}


/*
 * Conservamos todos los overlays cinematográficos
 * existentes encima del video.
 */

.vx-cinema-overlay,
.vx-cinema-vignette,
.vx-cinema-light{
    pointer-events:none;
}


/*
 * Ya no existe slider fotográfico.
 */

.vx-cinema-index{
    display:none !important;
}


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

@media (max-width:1050px){

    .vx-cinema-video{
        object-position:center center;

        transform:
            translate(-50%, -50%)
            scale(1.02);
    }

}


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

@media (max-width:767px){

    .vx-cinema-video{
        object-position:center center;

        transform:
            translate(-50%, -50%)
            scale(1.025);
    }

}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion:reduce){

    .vx-cinema-video{
        display:none;
    }

    .vx-cinema-media{
        background-image:
            url('/wp-content/uploads/2025/04/footerVX.png');

        background-size:cover;
        background-position:center;
    }

}



/* ==========================================================
   VIREXIS — VIDEO HERO LAYOUT FIX V2
   Corrige estructura después de retirar 01 / 02 / 03
   ========================================================== */

.vx-cinema-layout{
    grid-template-columns:
        minmax(0, 760px)
        minmax(180px, 1fr) !important;

    column-gap: clamp(50px, 7vw, 130px) !important;
}


/* COPY PRINCIPAL */

.vx-cinema-copy{
    width:100% !important;
    max-width:760px !important;

    grid-column:1 !important;
}


/* TITULAR */

.vx-cinema-copy h1{
    width:100% !important;
    max-width:760px !important;

    text-wrap:balance;
}


/* VIDEO
   Evitamos ampliarlo innecesariamente para preservar nitidez */

.vx-cinema-video{
    width:100% !important;
    height:100% !important;

    min-width:100%;
    min-height:100%;

    object-fit:cover !important;
    object-position:center center !important;

    transform:translate(-50%, -50%) !important;

    filter:none !important;
}


/* FIRMA DERECHA */

.vx-cinema-signature{
    grid-column:2 !important;
}


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

@media (max-width:1050px){

    .vx-cinema-layout{
        grid-template-columns:minmax(0, 1fr) !important;
    }

    .vx-cinema-copy{
        grid-column:1 !important;

        max-width:680px !important;
    }

    .vx-cinema-signature{
        grid-column:1 !important;
    }

}


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

@media (max-width:767px){

    .vx-cinema-layout{
        display:block !important;
    }

    .vx-cinema-copy{
        width:100% !important;
        max-width:none !important;
    }

    .vx-cinema-copy h1{
        width:100% !important;
        max-width:none !important;
    }

    .vx-cinema-video{
        object-position:center center !important;

        transform:translate(-50%, -50%) !important;
    }

}


/* ==========================================================
   VIREXIS — TECHNOLOGY MEGA MENU CONTROLLER V3
   JS controls panel visibility.
   Hover remains visual only.
   ========================================================== */

@media (min-width:1051px){

    /*
     * CLOSED
     * Hover/focus by themselves must NOT open the mega panel.
     */

    .vx-tech-nav-item:not(.vx-tech-open) .vx-tech-mega,
    .vx-tech-nav-item:hover:not(.vx-tech-open) .vx-tech-mega,
    .vx-tech-nav-item:focus-within:not(.vx-tech-open) .vx-tech-mega{
        visibility:hidden !important;
        opacity:0 !important;
        pointer-events:none !important;
        transform:translateY(-5px) !important;
    }


    /*
     * OPEN
     * Only JavaScript's vx-tech-open state displays it.
     */

    .vx-tech-nav-item.vx-tech-open .vx-tech-mega{
        visibility:visible !important;
        opacity:1 !important;
        pointer-events:auto !important;
        transform:translateY(0) !important;
    }

}



/* ==========================================================
   VIREXIS — TECHNOLOGY MEGA MENU STATE V5
   JavaScript is the single source of truth
   ========================================================== */

@media (min-width:1051px){

    /*
     * CLOSED BY DEFAULT.
     * Neither :hover nor :focus-within can display the panel.
     */

    .vx-tech-nav-item .vx-tech-mega,
    .vx-tech-nav-item:hover .vx-tech-mega,
    .vx-tech-nav-item:focus-within .vx-tech-mega,
    .vx-tech-nav-item:not(.vx-tech-open) .vx-tech-mega{

        visibility:hidden !important;
        opacity:0 !important;
        pointer-events:none !important;

        transform:
            translateY(-6px) !important;
    }


    /*
     * OPEN ONLY when JS explicitly adds vx-tech-open.
     */

    .vx-tech-nav-item.vx-tech-open .vx-tech-mega,
    .vx-tech-nav-item.vx-tech-open:hover .vx-tech-mega,
    .vx-tech-nav-item.vx-tech-open:focus-within .vx-tech-mega{

        visibility:visible !important;
        opacity:1 !important;
        pointer-events:auto !important;

        transform:
            translateY(0) !important;
    }

}


/* ==========================================================
   VIREXIS — TECHNOLOGY MEGA MENU HIT AREA V6
   The wrapper must never behave as an invisible hover target.
   ========================================================== */

@media (min-width:1051px){

    /*
     * Remove old full-width invisible bridge.
     */

    .vx-tech-mega::before{
        content:none !important;
        display:none !important;
        pointer-events:none !important;
    }


    /*
     * Wrapper is positioning only.
     * The visible shell is the interactive surface.
     */

    .vx-tech-nav-item .vx-tech-mega{
        pointer-events:none !important;
    }

    .vx-tech-nav-item.vx-tech-open
    .vx-tech-mega{
        pointer-events:none !important;
    }

    .vx-tech-nav-item.vx-tech-open
    .vx-tech-mega-shell{
        pointer-events:auto !important;
    }


    /*
     * Old :hover / :focus-within states must not expose
     * the connector triangle.
     */

    .vx-tech-nav-item::after,
    .vx-tech-nav-item:hover::after,
    .vx-tech-nav-item:focus-within::after{

        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }

    .vx-tech-nav-item.vx-tech-open::after{

        opacity:1 !important;
        visibility:visible !important;
        pointer-events:none !important;
    }


    /*
     * Chevron follows real JS state, not parent hover.
     */

    .vx-tech-nav-item:hover
    .vx-tech-chevron,

    .vx-tech-nav-item:focus-within
    .vx-tech-chevron{

        transform:none !important;
    }

    .vx-tech-nav-item.vx-tech-open
    .vx-tech-chevron{

        transform:rotate(180deg) !important;
    }

}


/* ==========================================================
   VIREXIS — TECHNOLOGY VISUAL STATE V6.1
   Visual state follows vx-tech-open ONLY.
   Parent :hover must never simulate an active Technology tab.
   ========================================================== */

@media (min-width:1051px){

    /*
     * DEFAULT / CLOSED
     */

    .vx-header-v5-nav
    .vx-tech-nav-item
    > .vx-tech-nav-link,

    .vx-header-v5-nav
    .vx-tech-nav-item:hover
    > .vx-tech-nav-link,

    .vx-header-v5-nav
    .vx-tech-nav-item:focus-within
    > .vx-tech-nav-link{

        background:transparent !important;
    }


    /*
     * LABEL — closed state
     */

    .vx-header-v5-nav
    .vx-tech-nav-item
    > .vx-tech-nav-link
    .vx-nav-label,

    .vx-header-v5-nav
    .vx-tech-nav-item:hover
    > .vx-tech-nav-link
    .vx-nav-label,

    .vx-header-v5-nav
    .vx-tech-nav-item:focus-within
    > .vx-tech-nav-link
    .vx-nav-label{

        color:#eaf6fc !important;
    }


    /*
     * ICON — closed state
     */

    .vx-header-v5-nav
    .vx-tech-nav-item
    > .vx-tech-nav-link
    .vx-nav-icon,

    .vx-header-v5-nav
    .vx-tech-nav-item:hover
    > .vx-tech-nav-link
    .vx-nav-icon,

    .vx-header-v5-nav
    .vx-tech-nav-item:focus-within
    > .vx-tech-nav-link
    .vx-nav-icon{

        color:#37b9fb !important;
        transform:none !important;
    }


    /*
     * UNDERLINE.
     * Kill old parent-hover activation.
     */

    .vx-header-v5-nav
    .vx-tech-nav-item
    > .vx-tech-nav-link::after,

    .vx-header-v5-nav
    .vx-tech-nav-item:hover
    > .vx-tech-nav-link::after,

    .vx-header-v5-nav
    .vx-tech-nav-item:focus-within
    > .vx-tech-nav-link::after{

        opacity:0 !important;
        transform:scaleX(.35) !important;
    }


    /*
     * CHEVRON — closed.
     */

    .vx-header-v5-nav
    .vx-tech-nav-item
    .vx-tech-chevron,

    .vx-header-v5-nav
    .vx-tech-nav-item:hover
    .vx-tech-chevron,

    .vx-header-v5-nav
    .vx-tech-nav-item:focus-within
    .vx-tech-chevron{

        transform:rotate(0deg) !important;
    }


    /*
     * -------------------------------------------------------
     * REAL OPEN STATE
     * -------------------------------------------------------
     */

    .vx-header-v5-nav
    .vx-tech-nav-item.vx-tech-open
    > .vx-tech-nav-link{

        background:
            linear-gradient(
                180deg,
                rgba(33,169,236,.06),
                rgba(33,169,236,.15)
            ) !important;
    }


    .vx-header-v5-nav
    .vx-tech-nav-item.vx-tech-open
    > .vx-tech-nav-link
    .vx-nav-label{

        color:#ffffff !important;
    }


    .vx-header-v5-nav
    .vx-tech-nav-item.vx-tech-open
    > .vx-tech-nav-link
    .vx-nav-icon{

        color:#53c8ff !important;
        transform:translateY(-1px) !important;
    }


    .vx-header-v5-nav
    .vx-tech-nav-item.vx-tech-open
    > .vx-tech-nav-link::after{

        opacity:1 !important;
        transform:scaleX(1) !important;
    }


    .vx-header-v5-nav
    .vx-tech-nav-item.vx-tech-open
    .vx-tech-chevron{

        transform:rotate(180deg) !important;
    }

}


/* ==========================================================
   VIREXIS — TECHNOLOGY HITBOX V6.2
   Closed mega menu must be completely non-interactive.
   ========================================================== */

@media (min-width:1051px){

    /*
     * CLOSED
     *
     * Disable pointer interaction not only on the wrapper,
     * but on EVERY descendant. This prevents invisible links
     * from sitting over page content.
     */

    .vx-tech-nav-item:not(.vx-tech-open)
    .vx-tech-mega,

    .vx-tech-nav-item:not(.vx-tech-open)
    .vx-tech-mega *{

        pointer-events:none !important;
    }


    /*
     * OPEN
     *
     * Wrapper remains non-interactive.
     * Only the visible shell and its contents can receive
     * pointer interaction.
     */

    .vx-tech-nav-item.vx-tech-open
    .vx-tech-mega{

        pointer-events:none !important;
    }


    .vx-tech-nav-item.vx-tech-open
    .vx-tech-mega-shell,

    .vx-tech-nav-item.vx-tech-open
    .vx-tech-mega-shell *{

        pointer-events:auto !important;
    }

}


/* ==========================================================
   VIREXIS — HOME TEAM DIRECTORY CTA V1
   ========================================================== */

.vx-team-home-cta{
    display:grid;
    grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr);
    align-items:center;
    gap:24px;
    margin-top:46px;
}

.vx-team-home-cta__line{
    display:block;
    height:1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(19,124,188,.18)
        );
}

.vx-team-home-cta__line:last-child{
    background:
        linear-gradient(
            90deg,
            rgba(19,124,188,.18),
            transparent
        );
}

.vx-team-home-cta__link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;

    min-height:52px;
    padding:0 24px;

    border:1px solid rgba(8,92,151,.16);
    border-radius:999px;

    background:#fff;

    box-shadow:
        0 12px 30px rgba(5,42,68,.06);

    color:#073653;
    text-decoration:none;

    font-size:12px;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;

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

.vx-team-home-cta__link i{
    display:grid;
    place-items:center;

    width:28px;
    height:28px;

    border-radius:50%;

    background:#073653;
    color:#fff;

    font-size:14px;
    font-style:normal;

    transition:
        transform .25s ease,
        background .25s ease;
}

.vx-team-home-cta__link:hover{
    transform:translateY(-2px);

    border-color:rgba(37,173,236,.42);

    box-shadow:
        0 18px 38px rgba(5,42,68,.10);
}

.vx-team-home-cta__link:hover i{
    transform:translateX(3px);
    background:#159fdf;
}


@media (max-width:767px){

    .vx-team-home-cta{
        grid-template-columns:1fr;
        gap:18px;
        margin-top:34px;
    }

    .vx-team-home-cta__line{
        display:none;
    }

    .vx-team-home-cta__link{
        width:100%;
        max-width:340px;
        margin:0 auto;
    }

}


/* =========================================================
   VIREXIS — TEAM PHOTO BLUE STUDIO V1
   ========================================================= */

/*
 * Tratamiento fotográfico:
 * azul hielo clínico + iluminación limpia.
 *
 * No modifica los archivos originales.
 */

.vx-team .vx-doctor-photo{
    position:relative;
    isolation:isolate;

    background:
        radial-gradient(
            circle at 50% 24%,
            rgba(255,255,255,.96) 0%,
            rgba(235,247,255,.88) 30%,
            rgba(205,229,246,.92) 68%,
            rgba(186,216,237,.96) 100%
        );

    border-bottom:
        1px solid rgba(10,95,155,.08);
}


/*
 * Fotografía.
 *
 * Un pequeño ajuste de color elimina parte del gris
 * y aproxima las cuatro imágenes a una misma temperatura.
 */

.vx-team .vx-doctor-img{
    position:relative;
    z-index:1;

    filter:
        brightness(1.035)
        contrast(.97)
        saturate(.92)
        sepia(.025);

    transition:
        transform .7s cubic-bezier(.2,.8,.2,1),
        filter .35s ease;
}


/*
 * Capa azul muy ligera.
 * Sustituye el degradado oscuro anterior.
 */

.vx-team .vx-doctor-photo::after{
    content:"";

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

    height:auto;

    background:
        linear-gradient(
            180deg,
            rgba(208,232,248,.10) 0%,
            rgba(184,217,240,.08) 45%,
            rgba(112,180,223,.10) 100%
        );

    mix-blend-mode:color;

    pointer-events:none;
}


/*
 * Luz de estudio.
 */

.vx-team .vx-doctor-photo::before{
    content:"";

    position:absolute;
    z-index:2;

    width:78%;
    height:58%;

    left:11%;
    top:-18%;

    border-radius:50%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(255,255,255,.32) 0%,
            rgba(255,255,255,0) 72%
        );

    pointer-events:none;
}


/* Hover más limpio */

.vx-team .vx-doctor:hover .vx-doctor-img{
    transform:scale(1.025);

    filter:
        brightness(1.055)
        contrast(.98)
        saturate(.95)
        sepia(.015);
}




/* =========================================================
   VIREXIS — FOOTER ISOTIPO OFICIAL
   Lenguaje visual azul premium aprobado
   ========================================================= */

.vx-footer-mark{
    position:relative;
    overflow:hidden;

    background:
        radial-gradient(
            circle at 50% 42%,
            rgba(34,132,218,.10) 0%,
            rgba(15,82,145,.05) 48%,
            transparent 72%
        ),
        rgba(255,255,255,.018) !important;
}

.vx-footer-mark img{
    display:block !important;

    width:auto !important;
    height:auto !important;

    max-width:82px !important;
    max-height:105px !important;

    margin:0 auto !important;

    object-fit:contain !important;

    opacity:.34 !important;

    filter:
        brightness(.82)
        sepia(.08)
        saturate(2.05)
        hue-rotate(168deg)
        drop-shadow(0 0 18px rgba(37,139,224,.16))
        !important;

    mix-blend-mode:screen !important;
}

.vx-footer-mark::after{
    opacity:.10 !important;
}

.vx-footer-mark span{
    position:relative;
    z-index:2;

    color:#8CB9DA !important;
    opacity:.72 !important;
}


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

    .vx-footer-mark img{
        max-width:70px !important;
        max-height:90px !important;
        opacity:.28 !important;
    }

}


/* VIREXIS — Footer isotipo sin recuadro */

.vx-footer-mark{
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
}

.vx-footer-mark::before,
.vx-footer-mark::after{
    content:none !important;
    display:none !important;
    background:none !important;
    box-shadow:none !important;
    border:0 !important;
}


/* =========================================================
   VIREXIS — FOOTER BLUE PREMIUM
   Paleta aprobada
   ========================================================= */

.vx-footer-premium{
    position:relative;
    overflow:hidden;

    background:
        radial-gradient(
            ellipse 42% 85% at 88% 42%,
            rgba(18,105,181,.22) 0%,
            rgba(10,78,139,.12) 38%,
            rgba(5,48,89,.04) 62%,
            transparent 78%
        ),
        linear-gradient(
            108deg,
            #021A2D 0%,
            #03243E 30%,
            #043052 57%,
            #073E68 78%,
            #084A7C 100%
        ) !important;
}


/* Área principal: transparente para heredar el fondo continuo */

.vx-footer-main{
    background:transparent !important;
}


/* Resplandor ambiental detrás del isotipo */

.vx-footer-main{
    position:relative;
}

.vx-footer-main::after{
    content:"";
    position:absolute;
    z-index:0;

    width:430px;
    height:430px;

    right:-80px;
    top:46%;

    transform:translateY(-50%);

    background:
        radial-gradient(
            ellipse at center,
            rgba(31,145,231,.17) 0%,
            rgba(15,94,170,.09) 42%,
            transparent 72%
        );

    filter:blur(32px);

    pointer-events:none;
}

.vx-footer-grid{
    position:relative;
    z-index:2;
}


/* Separadores */

.vx-footer-column,
.vx-footer-contact,
.vx-footer-mark{
    border-color:rgba(71,166,226,.20) !important;
}


/* Iconografía y pequeños acentos */

.vx-footer-premium svg{
    color:#20B8F2;
}

.vx-footer-kicker,
.vx-footer-manifesto span{
    color:#32BDF1 !important;
}


/* Isotipo */

.vx-footer-mark{
    background:transparent !important;
    box-shadow:none !important;
    border-top:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
}

.vx-footer-mark::before,
.vx-footer-mark::after{
    content:none !important;
    display:none !important;
}

.vx-footer-mark img{
    opacity:.38 !important;

    filter:
        brightness(.82)
        sepia(.08)
        saturate(2.1)
        hue-rotate(168deg)
        drop-shadow(0 0 20px rgba(37,143,230,.18))
        !important;

    mix-blend-mode:screen !important;
}

.vx-footer-mark span{
    color:#82BDE4 !important;
    opacity:.78 !important;
}


/* Barra legal */

.vx-footer-legal{
    background:rgba(1,18,32,.34) !important;
    border-top:1px solid rgba(53,157,220,.22) !important;
}


/* Mobile */

@media (max-width:760px){

    .vx-footer-premium{
        background:
            radial-gradient(
                ellipse 90% 45% at 80% 80%,
                rgba(17,102,180,.14),
                transparent 70%
            ),
            linear-gradient(
                155deg,
                #021A2D 0%,
                #032743 58%,
                #073E68 100%
            ) !important;
    }

    .vx-footer-main::after{
        width:300px;
        height:300px;
        right:-140px;
    }
}


/* ==========================================================
   VIREXIS — FOOTER UNIFIED NAVY V1
   Unificación cromática CTA + Portal + Footer
   ========================================================== */

/* Base general */
.vx-footer-premium{
    background:
        radial-gradient(
            ellipse 75% 65% at 92% 28%,
            rgba(10,87,146,.13) 0%,
            rgba(10,87,146,.045) 38%,
            transparent 70%
        ),
        linear-gradient(
            135deg,
            #021A2D 0%,
            #03243E 55%,
            #032B49 100%
        ) !important;
}


/* ----------------------------------------------------------
   CTA — TU RECUPERACIÓN
   ---------------------------------------------------------- */

.vx-footer-cta{
    background:transparent !important;

    border-top:
        1px solid rgba(32,184,242,.16) !important;

    border-bottom:
        1px solid rgba(32,184,242,.13) !important;
}

/* Reducimos la V / geometría decorativa */
.vx-footer-cta::after{
    border-right-color:
        rgba(32,184,242,.045) !important;

    border-left-color:
        rgba(32,184,242,.07) !important;
}

/* Resplandor mucho más discreto */
.vx-footer-glow{
    background:
        rgba(10,87,146,.07) !important;

    filter:blur(90px) !important;
}

/* Acentos */
.vx-footer-kicker{
    color:#20B8F2 !important;
}

.vx-footer-cta h2 em{
    color:#20B8F2 !important;
}

.vx-footer-shortline{
    background:#20B8F2 !important;
}

.vx-footer-cta-copy p{
    color:rgba(255,255,255,.64) !important;
}

.vx-footer-cta-action{
    border-left-color:
        rgba(32,184,242,.16) !important;
}

.vx-footer-arrow-circle{
    border-color:
        rgba(32,184,242,.72) !important;
}

.vx-footer-next small{
    color:rgba(255,255,255,.56) !important;
}


/* Botón: sigue siendo protagonista,
   pero menos eléctrico */
.vx-footer-button{
    border-color:
        rgba(92,196,244,.50) !important;

    background:
        linear-gradient(
            135deg,
            #087CC1 0%,
            #0A91D5 100%
        ) !important;

    box-shadow:
        0 12px 30px rgba(0,92,153,.20),
        inset 0 1px rgba(255,255,255,.16) !important;
}

.vx-footer-button:hover{
    background:
        linear-gradient(
            135deg,
            #0987CB 0%,
            #0A9CE1 100%
        ) !important;

    box-shadow:
        0 16px 34px rgba(0,92,153,.26),
        inset 0 1px rgba(255,255,255,.18) !important;
}


/* ----------------------------------------------------------
   PORTAL DEL PACIENTE
   ---------------------------------------------------------- */

.vx-footer-patient-portal{
    background:transparent !important;
    padding-top:0 !important;
}

/* Tarjeta integrada sobre el mismo navy */
.vx-footer-portal-card{
    background:
        rgba(3,39,67,.42) !important;

    border-color:
        rgba(32,184,242,.20) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.025),
        0 12px 40px rgba(0,0,0,.07) !important;
}

.vx-footer-portal-card:hover{
    background:
        rgba(5,48,80,.56) !important;

    border-color:
        rgba(32,184,242,.32) !important;
}

.vx-footer-portal-icon{
    border-color:
        rgba(32,184,242,.32) !important;

    background:
        rgba(32,184,242,.045) !important;
}

.vx-footer-portal-copy small{
    color:#20B8F2 !important;
}

.vx-footer-portal-copy p{
    color:rgba(255,255,255,.48) !important;
}

.vx-footer-portal-action{
    border-color:
        rgba(32,184,242,.28) !important;

    background:
        rgba(32,184,242,.035) !important;
}


/* ----------------------------------------------------------
   FOOTER PRINCIPAL
   ---------------------------------------------------------- */

.vx-footer-main{
    background:transparent !important;
}

/* Separadores menos agresivos */
.vx-footer-grid > * + *{
    border-left-color:
        rgba(32,184,242,.13) !important;
}

.vx-footer-brand-line{
    background:#20B8F2 !important;
}

/* Isotipo permanece limpio */
.vx-footer-mark{
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
}


/* ----------------------------------------------------------
   LEGAL
   ---------------------------------------------------------- */

.vx-footer-legal{
    background:
        rgba(1,15,27,.22) !important;

    border-top:
        1px solid rgba(32,184,242,.12) !important;
}


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

@media (max-width:760px){

    .vx-footer-premium{
        background:
            radial-gradient(
                ellipse 90% 45% at 85% 82%,
                rgba(10,87,146,.10),
                transparent 70%
            ),
            linear-gradient(
                155deg,
                #021A2D 0%,
                #03243E 62%,
                #032B49 100%
            ) !important;
    }

    .vx-footer-cta-action{
        border-left-color:
            rgba(32,184,242,.12) !important;
    }

    .vx-footer-portal-card{
        background:
            rgba(3,39,67,.38) !important;
    }
}

/* END — VIREXIS FOOTER UNIFIED NAVY V1 */


/* ==========================================================
   VIREXIS — PORTAL DEL PACIENTE COMPACT V1
   Acceso premium integrado en el footer
   ========================================================== */

/* La zona deja de comportarse como una franja independiente */
.vx-footer-patient-portal{
    position:relative;
    padding:34px 0 42px !important;
    background:transparent !important;
}


/* Tarjeta compacta */
.vx-footer-portal-card{
    position:relative;

    width:min(100%, 760px) !important;
    min-height:96px;

    margin:0 auto !important;
    padding:20px 24px !important;

    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) auto !important;
    gap:20px !important;
    align-items:center !important;

    background:
        linear-gradient(
            135deg,
            rgba(7,62,104,.34) 0%,
            rgba(3,39,67,.22) 100%
        ) !important;

    border:
        1px solid rgba(32,184,242,.18) !important;

    border-radius:16px !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.025),
        0 16px 42px rgba(0,0,0,.08) !important;

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


/* Hover sutil */
.vx-footer-portal-card:hover{
    transform:translateY(-2px);

    background:
        linear-gradient(
            135deg,
            rgba(7,62,104,.46) 0%,
            rgba(3,39,67,.30) 100%
        ) !important;

    border-color:
        rgba(32,184,242,.34) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.035),
        0 20px 48px rgba(0,0,0,.12) !important;
}


/* Icono */
.vx-footer-portal-icon{
    width:52px !important;
    height:52px !important;

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

    border-radius:50% !important;

    border:
        1px solid rgba(32,184,242,.30) !important;

    background:
        rgba(32,184,242,.045) !important;

    color:#20B8F2 !important;
}


/* Textos */
.vx-footer-portal-copy{
    min-width:0;
}

.vx-footer-portal-copy small{
    display:block;

    margin-bottom:5px;

    color:#20B8F2 !important;

    font-size:9px !important;
    line-height:1.2;

    font-weight:800;
    letter-spacing:.20em;
    text-transform:uppercase;
}

.vx-footer-portal-copy h3{
    margin:0 0 4px !important;

    color:#FFFFFF !important;

    font-size:20px !important;
    line-height:1.2;

    font-weight:600;
    letter-spacing:-.02em;
}

.vx-footer-portal-copy p{
    margin:0 !important;

    color:rgba(255,255,255,.48) !important;

    font-size:12px !important;
    line-height:1.5;
}


/* El antiguo botón se convierte en una flecha limpia */
.vx-footer-portal-action{
    width:44px !important;
    height:44px !important;

    padding:0 !important;

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

    border-radius:50% !important;

    border:
        1px solid rgba(32,184,242,.28) !important;

    background:
        rgba(32,184,242,.035) !important;

    color:#20B8F2 !important;

    font-size:0 !important;

    overflow:hidden;
}

.vx-footer-portal-action svg{
    width:16px !important;
    height:16px !important;
}

.vx-footer-portal-action:hover{
    background:
        rgba(32,184,242,.10) !important;

    border-color:
        rgba(32,184,242,.55) !important;
}


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

@media(max-width:760px){

    .vx-footer-patient-portal{
        padding:28px 0 36px !important;
    }

    .vx-footer-portal-card{
        width:100% !important;

        grid-template-columns:48px minmax(0,1fr) 38px !important;

        gap:14px !important;

        padding:17px 16px !important;

        border-radius:14px !important;
    }

    .vx-footer-portal-icon{
        width:44px !important;
        height:44px !important;
    }

    .vx-footer-portal-copy h3{
        font-size:17px !important;
    }

    .vx-footer-portal-copy p{
        font-size:11px !important;
    }

    .vx-footer-portal-action{
        width:38px !important;
        height:38px !important;
    }
}

/* END — VIREXIS PORTAL DEL PACIENTE COMPACT V1 */


/* ==========================================================
   VIREXIS — CTA INTEGRATED PATIENT PORTAL V1
   ========================================================== */

/*
 * El CTA pasa a admitir una tercera pieza.
 * Copy + acción principal arriba.
 * Portal secundario debajo.
 */
.vx-footer-cta-inner{
    grid-template-areas:
        "copy action"
        "copy portal" !important;

    row-gap:22px !important;
}

.vx-footer-cta-copy{
    grid-area:copy;
}

.vx-footer-cta-action{
    grid-area:action;
}


/* ----------------------------------------------------------
   PORTAL SECUNDARIO
   ---------------------------------------------------------- */

.vx-footer-cta-portal{
    grid-area:portal;

    width:100%;
    max-width:490px;

    justify-self:end;

    display:grid;
    grid-template-columns:36px minmax(0,1fr) 30px;
    align-items:center;
    gap:14px;

    padding:14px 16px;

    color:#fff;
    text-decoration:none;

    border-top:
        1px solid rgba(32,184,242,.16);

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

.vx-footer-cta-portal:hover{
    border-top-color:
        rgba(32,184,242,.42);

    transform:translateX(3px);
}


/* Icono */

.vx-footer-cta-portal__icon{
    width:34px;
    height:34px;

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

    border-radius:50%;

    border:
        1px solid rgba(32,184,242,.25);

    color:#20B8F2;
}

.vx-footer-cta-portal__icon svg{
    width:16px;
    height:16px;

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


/* Texto */

.vx-footer-cta-portal__copy{
    display:flex;
    flex-direction:column;
    gap:3px;

    min-width:0;
}

.vx-footer-cta-portal__copy small{
    color:rgba(32,184,242,.90);

    font-size:8px;
    line-height:1.2;

    font-weight:800;
    letter-spacing:.20em;
}

.vx-footer-cta-portal__copy strong{
    color:rgba(255,255,255,.90);

    font-size:13px;
    line-height:1.25;

    font-weight:600;
}


/* Flecha */

.vx-footer-cta-portal__arrow{
    width:28px;
    height:28px;

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

    justify-self:end;

    color:#20B8F2;

    font-size:15px;

    transition:transform .2s ease;
}

.vx-footer-cta-portal:hover
.vx-footer-cta-portal__arrow{
    transform:translate(2px,-2px);
}


/* ----------------------------------------------------------
   La antigua sección ya no existe en HTML.
   Evitamos que cualquier residuo genere espacio.
   ---------------------------------------------------------- */

.vx-footer-patient-portal{
    display:none !important;
}


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

@media(max-width:760px){

    .vx-footer-cta-inner{
        grid-template-areas:
            "copy"
            "action"
            "portal" !important;

        row-gap:26px !important;
    }

    .vx-footer-cta-portal{
        width:100%;
        max-width:none;

        justify-self:stretch;

        grid-template-columns:34px minmax(0,1fr) 28px;

        padding:
            15px 4px 4px;

        border-top:
            1px solid rgba(32,184,242,.16);
    }

}

/* END — VIREXIS CTA INTEGRATED PATIENT PORTAL V1 */


/* ==========================================================
   VIREXIS — MODELO DE ATENCIÓN / COMPACT EDITORIAL V1
   Home únicamente
   ========================================================== */

/*
 * Compactamos la sección sin modificar su estructura,
 * tipografía ni contenido.
 */
.vx-home #modelo.vx-journey{
    padding-top:72px !important;
    padding-bottom:78px !important;
}


/* Encabezado */
.vx-home #modelo .vx-section-heading{
    margin-bottom:38px !important;
}


/* Eyebrow */
.vx-home #modelo .vx-section-heading > span{
    margin-bottom:17px !important;
}


/* Titular */
.vx-home #modelo .vx-section-heading h2{
    margin-bottom:17px !important;
}


/* Texto introductorio */
.vx-home #modelo .vx-section-heading p{
    margin-bottom:0 !important;
}


/* Tarjetas */
.vx-home #modelo .vx-journey-grid{
    margin-top:0 !important;
}


/*
 * Reducimos ligeramente la altura interna.
 * Conservamos suficiente aire para mantener
 * la estética premium.
 */
.vx-home #modelo .vx-journey-card{
    min-height:250px !important;
    padding-top:34px !important;
    padding-bottom:34px !important;
}


/* Número 01 / 02 / 03 / 04 */
.vx-home #modelo .vx-number{
    margin-bottom:32px !important;
}


/* Icono */
.vx-home #modelo .vx-icon{
    margin-bottom:18px !important;
}


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

@media(max-width:1000px){

    .vx-home #modelo.vx-journey{
        padding-top:64px !important;
        padding-bottom:68px !important;
    }

    .vx-home #modelo .vx-section-heading{
        margin-bottom:34px !important;
    }

}


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

@media(max-width:760px){

    .vx-home #modelo.vx-journey{
        padding-top:54px !important;
        padding-bottom:58px !important;
    }

    .vx-home #modelo .vx-section-heading{
        margin-bottom:30px !important;
    }

    .vx-home #modelo .vx-journey-card{
        min-height:0 !important;
        padding-top:28px !important;
        padding-bottom:28px !important;
    }

}

/* END — VIREXIS MODELO DE ATENCIÓN / COMPACT EDITORIAL V1 */


/* ==========================================================
   VIREXIS — PAIN ANATOMY INTERACTIVE V1
   ========================================================== */

/*
 * El resultado pasa de:
 * texto + acciones
 *
 * a:
 * texto + anatomía + acciones
 */
.vx-pain-result-content{
    grid-template-columns:
        minmax(0,1.45fr)
        minmax(170px,.42fr)
        minmax(190px,.48fr) !important;

    gap:clamp(28px,4vw,62px) !important;
    align-items:center !important;
}


/* ----------------------------------------------------------
   ANATOMÍA
   ---------------------------------------------------------- */

.vx-pain-anatomy{
    position:relative;

    min-width:0;

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

    opacity:1;
    transform:translateY(0);

    transition:
        opacity .22s ease,
        transform .22s ease;
}


.vx-pain-anatomy.is-changing{
    opacity:.30;
    transform:translateY(4px);
}


.vx-pain-anatomy-stage{
    position:relative;

    width:176px;
    min-height:245px;

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

    padding:4px 8px 0;
}


/*
 * Halo ambiental muy sutil.
 */
.vx-pain-anatomy-stage::before{
    content:"";

    position:absolute;

    width:150px;
    height:150px;

    left:50%;
    top:40%;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(32,184,242,.085) 0%,
            rgba(32,184,242,.035) 38%,
            transparent 70%
        );

    pointer-events:none;
}


/* SVG */
.vx-pain-body{
    position:relative;
    z-index:2;

    display:block;

    width:128px;
    height:214px;

    overflow:visible;
}


/* Silueta */
.vx-body-line{
    fill:none;

    stroke:#7895A9;
    stroke-width:2;

    stroke-linecap:round;
    stroke-linejoin:round;

    opacity:.46;
}


/* Columna */
.vx-body-spine{
    fill:none;

    stroke:#4B7898;
    stroke-width:1.6;

    stroke-linecap:round;

    stroke-dasharray:3 5;

    opacity:.42;
}


/* ----------------------------------------------------------
   MARCADORES
   ---------------------------------------------------------- */

.vx-anatomy-marker{
    opacity:0;

    transform-box:fill-box;
    transform-origin:center;

    transition:
        opacity .24s ease,
        transform .30s cubic-bezier(.2,.8,.2,1);

    transform:scale(.72);
}


.vx-anatomy-marker.is-active{
    opacity:1;
    transform:scale(1);
}


.vx-marker-halo{
    fill:rgba(32,184,242,.13);

    stroke:rgba(32,184,242,.26);
    stroke-width:1;
}


.vx-marker-core{
    fill:#20B8F2;

    stroke:#FFFFFF;
    stroke-width:2;

    filter:
        drop-shadow(0 0 5px rgba(32,184,242,.42));
}


/* ----------------------------------------------------------
   ETIQUETA
   ---------------------------------------------------------- */

.vx-pain-anatomy-caption{
    position:relative;
    z-index:3;

    margin-top:-2px;

    text-align:center;
}


.vx-pain-anatomy-caption span{
    display:block;

    margin-bottom:4px;

    color:#8299AA;

    font-size:8px;
    line-height:1;

    font-weight:800;
    letter-spacing:.22em;

    text-transform:uppercase;
}


.vx-pain-anatomy-caption strong{
    display:block;

    color:#174F77;

    font-size:10px;
    line-height:1.2;

    font-weight:800;
    letter-spacing:.16em;

    text-transform:uppercase;

    transition:opacity .2s ease;
}


/*
 * Línea vertical muy tenue para separar la anatomía
 * del contenido clínico.
 */
.vx-pain-anatomy::before{
    content:"";

    position:absolute;

    left:-24px;
    top:12%;

    width:1px;
    height:76%;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(15,65,102,.09) 18%,
            rgba(15,65,102,.09) 82%,
            transparent
        );
}


/* ----------------------------------------------------------
   ACCIONES
   ---------------------------------------------------------- */

.vx-pain-result-actions{
    align-self:center !important;
}


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

@media(max-width:1100px){

    .vx-pain-result-content{
        grid-template-columns:
            minmax(0,1.35fr)
            150px
            minmax(175px,.48fr) !important;

        gap:30px !important;
    }

    .vx-pain-body{
        width:112px;
        height:190px;
    }

    .vx-pain-anatomy-stage{
        width:150px;
        min-height:220px;
    }

}


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

@media(max-width:700px){

    .vx-pain-result-content{
        display:grid !important;

        grid-template-columns:
            minmax(0,1fr)
            105px !important;

        gap:22px 14px !important;

        align-items:center !important;
    }

    .vx-pain-result-copy{
        grid-column:1;
        grid-row:1;
    }

    .vx-pain-anatomy{
        grid-column:2;
        grid-row:1;

        align-self:center;
    }

    .vx-pain-result-actions{
        grid-column:1 / -1;
        grid-row:2;

        margin-top:4px !important;
    }

    .vx-pain-anatomy-stage{
        width:100px;
        min-height:180px;

        padding:0;
    }

    .vx-pain-body{
        width:88px;
        height:155px;
    }

    .vx-pain-anatomy::before{
        display:none;
    }

    .vx-pain-anatomy-stage::before{
        width:105px;
        height:105px;
    }

    .vx-pain-anatomy-caption span{
        font-size:7px;
    }

    .vx-pain-anatomy-caption strong{
        font-size:8px;
        letter-spacing:.10em;
    }

}


/* Muy estrecho: anatomía debajo del contenido */
@media(max-width:480px){

    .vx-pain-result-content{
        grid-template-columns:1fr !important;
    }

    .vx-pain-result-copy,
    .vx-pain-anatomy,
    .vx-pain-result-actions{
        grid-column:1;
    }

    .vx-pain-result-copy{
        grid-row:1;
    }

    .vx-pain-anatomy{
        grid-row:2;

        justify-content:flex-start;
    }

    .vx-pain-result-actions{
        grid-row:3;
    }

    .vx-pain-anatomy-stage{
        width:130px;
    }

}

/* END — VIREXIS PAIN ANATOMY INTERACTIVE V1 */


/* ==========================================================
   VIREXIS — PAIN ANATOMY REALISTIC V2
   ========================================================== */

/* Contorno principal */
.vx-pain-body .vx-body-line{
    fill:none;
    stroke:#6F91A8;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:.58;
}

/* Cabeza ligeramente más definida */
.vx-pain-body .vx-body-head{
    stroke-width:1.55;
    opacity:.54;
}

/* Anatomía secundaria */
.vx-pain-body .vx-body-detail{
    fill:none;
    stroke:#86A3B6;
    stroke-width:1.05;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:.28;
}

/* Articulaciones */
.vx-pain-body .vx-body-joint{
    fill:none;
    stroke:#7295AD;
    stroke-width:1.05;
    stroke-linecap:round;
    opacity:.34;
}

/* Columna */
.vx-pain-body .vx-body-spine{
    fill:none;
    stroke:#39769D;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-dasharray:none;
    opacity:.48;
}

/* Vértebras */
.vx-pain-body .vx-body-vertebrae{
    fill:#39769D;
    opacity:.34;
}

/* Profundidad muy ligera detrás de la figura */
.vx-pain-anatomy-stage::before{
    width:156px;
    height:210px;

    top:43%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(32,184,242,.065) 0%,
            rgba(32,184,242,.022) 43%,
            transparent 72%
        );
}

/* Marcador más clínico y preciso */
.vx-pain-body .vx-marker-halo{
    fill:rgba(32,184,242,.105);
    stroke:rgba(32,184,242,.24);
    stroke-width:1;
}

.vx-pain-body .vx-marker-core{
    fill:#20B8F2;
    stroke:#FFFFFF;
    stroke-width:2;

    filter:
        drop-shadow(0 0 4px rgba(32,184,242,.34));
}

/* La figura gana un poco de presencia */
@media(min-width:1101px){

    .vx-pain-body{
        width:138px;
        height:224px;
    }

    .vx-pain-anatomy-stage{
        width:184px;
        min-height:252px;
    }
}

/* END — VIREXIS PAIN ANATOMY REALISTIC V2 */


/* ==========================================================
   VIREXIS — PAIN ANATOMY CLINICAL V3
   ========================================================== */

/*
 * V3 tiene prioridad sobre las dimensiones anteriores.
 * Figura con mayor presencia pero todavía editorial.
 */

.vx-pain-body.vx-pain-body--v3{
    display:block !important;

    width:172px !important;
    height:266px !important;

    overflow:visible !important;
}


/* Stage */

.vx-pain-anatomy-stage{
    width:214px !important;
    min-height:292px !important;
}


/* Halo ambiental */

.vx-pain-anatomy-stage::before{
    width:185px !important;
    height:245px !important;

    top:45% !important;

    background:
        radial-gradient(
            ellipse at center,
            rgba(32,184,242,.055) 0%,
            rgba(32,184,242,.018) 46%,
            transparent 73%
        ) !important;
}


/* ----------------------------------------------------------
   CONTORNO ANATÓMICO
   ---------------------------------------------------------- */

.vx-pain-body--v3 .vx-v3-outline{
    fill:none;

    stroke:#668BA5;
    stroke-width:1.65;

    stroke-linecap:round;
    stroke-linejoin:round;

    opacity:.64;
}

.vx-pain-body--v3 .vx-v3-head{
    stroke-width:1.55;
    opacity:.60;
}


/* Anatomía secundaria */

.vx-pain-body--v3 .vx-v3-detail{
    fill:none;

    stroke:#7D9DB2;
    stroke-width:1.05;

    stroke-linecap:round;
    stroke-linejoin:round;

    opacity:.31;
}


/* Articulaciones */

.vx-pain-body--v3 .vx-v3-joint{
    fill:none;

    stroke:#7194AB;
    stroke-width:1;

    stroke-linecap:round;
    stroke-linejoin:round;

    opacity:.38;
}


/* Columna */

.vx-pain-body--v3 .vx-v3-spine{
    fill:none;

    stroke:#39769D;
    stroke-width:1.45;

    stroke-linecap:round;

    opacity:.52;
}

.vx-pain-body--v3 .vx-v3-vertebrae{
    fill:#39769D;
    opacity:.38;
}


/* ----------------------------------------------------------
   MARCADORES
   ---------------------------------------------------------- */

.vx-pain-body--v3 .vx-v3-marker{
    opacity:0;
    transform-box:fill-box;
    transform-origin:center;

    transition:
        opacity .22s ease,
        filter .22s ease;
}

.vx-pain-body--v3 .vx-v3-marker.is-active{
    opacity:1;
}


/* Halo */

.vx-pain-body--v3 .vx-v3-marker-halo{
    fill:rgba(32,184,242,.10);

    stroke:rgba(32,184,242,.16);
    stroke-width:1;
}


/* Anillo */

.vx-pain-body--v3 .vx-v3-marker-ring{
    fill:rgba(255,255,255,.72);

    stroke:#20B8F2;
    stroke-width:1.1;
}


/* Punto */

.vx-pain-body--v3 .vx-v3-marker-core{
    fill:#20B8F2;

    stroke:#FFFFFF;
    stroke-width:1.5;

    filter:
        drop-shadow(0 0 4px rgba(32,184,242,.42));
}


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

@media(max-width:1100px){

    .vx-pain-body.vx-pain-body--v3{
        width:150px !important;
        height:235px !important;
    }

    .vx-pain-anatomy-stage{
        width:185px !important;
        min-height:258px !important;
    }

}


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

@media(max-width:700px){

    .vx-pain-body.vx-pain-body--v3{
        width:112px !important;
        height:178px !important;
    }

    .vx-pain-anatomy-stage{
        width:136px !important;
        min-height:202px !important;
    }

    .vx-pain-anatomy-stage::before{
        width:125px !important;
        height:170px !important;
    }

}


/* END — VIREXIS PAIN ANATOMY CLINICAL V3 */


/* ==========================================================
   VIREXIS — ANATOMÍA REALISTA IMAGE V1
   ========================================================== */

.vx-anatomy-real{
    position:relative;

    width:190px;
    height:286px;

    margin:0 auto;

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


/* IMAGEN ANATÓMICA */

.vx-anatomy-real__body{
    position:absolute;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    width:auto;
    height:100%;

    max-width:none;

    display:block;

    object-fit:contain;

    opacity:.86;

    filter:
        saturate(.78)
        contrast(.96)
        drop-shadow(0 12px 22px rgba(7,62,104,.08));

    user-select:none;
    pointer-events:none;
}


/* ==========================================================
   HOTSPOTS
   ========================================================== */

.vx-anatomy-hotspot{
    position:absolute;

    left:var(--x);
    top:var(--y);

    width:18px;
    height:18px;

    transform:
        translate(-50%,-50%)
        scale(.72);

    border-radius:50%;

    opacity:0;

    pointer-events:none;

    transition:
        opacity .24s ease,
        transform .24s ease;
}


/* HALO EXTERIOR */

.vx-anatomy-hotspot::before{
    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:48px;
    height:48px;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(32,184,242,.24) 0%,
            rgba(32,184,242,.12) 38%,
            rgba(32,184,242,.035) 62%,
            transparent 72%
        );

    border:
        1px solid rgba(32,184,242,.12);
}


/* PUNTO CENTRAL */

.vx-anatomy-hotspot::after{
    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:12px;
    height:12px;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:#168FEA;

    border:3px solid #FFFFFF;

    box-shadow:
        0 0 0 1px rgba(32,184,242,.70),
        0 0 0 7px rgba(32,184,242,.12),
        0 4px 12px rgba(7,62,104,.20);
}


/* ACTIVO */

.vx-anatomy-hotspot.is-active{
    opacity:1;

    transform:
        translate(-50%,-50%)
        scale(1);
}


/* PULSO MUY SUTIL */

.vx-anatomy-hotspot.is-active::before{
    animation:vxAnatomyPulse 2.8s ease-out infinite;
}

@keyframes vxAnatomyPulse{

    0%{
        transform:translate(-50%,-50%) scale(.78);
        opacity:.85;
    }

    65%{
        transform:translate(-50%,-50%) scale(1.18);
        opacity:.30;
    }

    100%{
        transform:translate(-50%,-50%) scale(1.28);
        opacity:0;
    }
}


/* TRANSICIÓN ENTRE REGIONES */

.vx-pain-anatomy.is-changing .vx-anatomy-real{
    opacity:.72;
    transform:scale(.985);
}

.vx-anatomy-real{
    transition:
        opacity .18s ease,
        transform .18s ease;
}


/* ==========================================================
   DESACTIVAR DIMENSIONES DEL SVG ANTIGUO
   ========================================================== */

.vx-pain-anatomy-stage{
    width:230px !important;
    min-height:310px !important;

    display:flex !important;
    align-items:center;
    justify-content:center;
}


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

@media(max-width:1100px){

    .vx-anatomy-real{
        width:172px;
        height:260px;
    }

    .vx-pain-anatomy-stage{
        width:205px !important;
        min-height:280px !important;
    }

}


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

@media(max-width:700px){

    .vx-anatomy-real{
        width:135px;
        height:210px;
    }

    .vx-pain-anatomy-stage{
        width:155px !important;
        min-height:228px !important;
    }

    .vx-anatomy-hotspot::before{
        width:40px;
        height:40px;
    }

    .vx-anatomy-hotspot::after{
        width:10px;
        height:10px;
        border-width:2px;
    }

}

/* END — VIREXIS ANATOMÍA REALISTA IMAGE V1 */

/* ==========================================================
   VIREXIS — ANATOMÍA INTERACTIVA CLICK V1
   ========================================================== */

/*
 * El hotspot visual permanece pequeño,
 * pero su área táctil real es mucho mayor.
 */

.vx-anatomy-hotspot{
    pointer-events:auto !important;
    cursor:pointer;

    z-index:8;

    /*
     * El span funciona como área táctil.
     * El centro visual continúa determinado por --x / --y.
     */
    width:38px !important;
    height:38px !important;

    outline:none;
}


/* Halo visual */

.vx-anatomy-hotspot::before{
    pointer-events:none;
}


/* Punto central */

.vx-anatomy-hotspot::after{
    pointer-events:none;
}


/* Hover */

.vx-anatomy-hotspot:hover{
    opacity:1;

    transform:
        translate(-50%,-50%)
        scale(1.08);
}


/*
 * Las zonas no seleccionadas deben poder descubrirse
 * al pasar el mouse, pero sin llenar el cuerpo de puntos.
 */

.vx-anatomy-hotspot:not(.is-active)::before{
    opacity:0;
}

.vx-anatomy-hotspot:not(.is-active)::after{
    opacity:0;
}

.vx-anatomy-hotspot:not(.is-active):hover::before{
    opacity:.55;
}

.vx-anatomy-hotspot:not(.is-active):hover::after{
    opacity:.72;
}


/* Zona activa */

.vx-anatomy-hotspot.is-active{
    opacity:1;
}


/* Accesibilidad teclado */

.vx-anatomy-hotspot:focus-visible{
    opacity:1;

    outline:
        2px solid rgba(32,184,242,.80);

    outline-offset:4px;
}


/* Cursor sobre el área anatómica */

.vx-anatomy-real{
    cursor:default;
}


/* Mobile: área táctil mayor */

@media(max-width:700px){

    .vx-anatomy-hotspot{
        width:44px !important;
        height:44px !important;
    }

}

/* END — VIREXIS ANATOMÍA INTERACTIVA CLICK V1 */

/* ==========================================================
   VIREXIS — PAIN SELECTOR 3x3 + RESULT PANEL V2
   ========================================================== */


/* ----------------------------------------------------------
   1. SELECTOR SUPERIOR — 3 x 3
   ---------------------------------------------------------- */

.vx-pain-tabs{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;

    width:min(100%, 920px) !important;

    margin-left:auto !important;
    margin-right:auto !important;

    gap:12px !important;
}


/* Tarjetas más horizontales y compactas */

.vx-pain-tab{
    min-width:0 !important;
    min-height:104px !important;

    padding:18px 20px !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
}


/* Número */

.vx-pain-tab .vx-pain-number{
    margin-bottom:15px !important;
}


/* Título */

.vx-pain-tab strong{
    line-height:1.15 !important;
}


/* Descriptor */

.vx-pain-tab small{
    margin-top:8px !important;
}


/* ----------------------------------------------------------
   2. SEPARACIÓN ENTRE SELECTOR Y RESULTADO
   ---------------------------------------------------------- */

.vx-pain-result{
    margin-top:28px !important;
}


/* ----------------------------------------------------------
   3. PANEL DE RESULTADO
   ---------------------------------------------------------- */

.vx-pain-result-content{
    display:grid !important;

    grid-template-columns:
        minmax(0, 1.48fr)
        minmax(245px, .68fr)
        minmax(190px, .55fr) !important;

    gap:34px !important;

    align-items:center !important;
}


/* Información clínica */

.vx-pain-result-copy{
    min-width:0;
}


/* ----------------------------------------------------------
   4. ANATOMÍA — MÁS PROTAGONISMO
   ---------------------------------------------------------- */

.vx-pain-anatomy{
    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    min-width:0;
}


/*
 * Aumentamos la anatomía sin modificar
 * las coordenadas porcentuales de hotspots.
 */

.vx-pain-anatomy-stage{
    width:260px !important;
    min-height:350px !important;
}


.vx-anatomy-real{
    width:220px !important;
    height:330px !important;

    margin:0 auto !important;
}


/* Imagen ligeramente más definida */

.vx-anatomy-real__body{
    opacity:.92 !important;

    filter:
        saturate(.82)
        contrast(.98)
        drop-shadow(0 14px 28px rgba(7,62,104,.10))
        !important;
}


/* ----------------------------------------------------------
   5. CTA / ACCIONES
   ---------------------------------------------------------- */

.vx-pain-result-actions{
    min-width:0;

    display:flex !important;
    flex-direction:column !important;

    justify-content:center !important;
    align-items:stretch !important;

    gap:14px !important;
}


/* Evitar botón exageradamente ancho */

.vx-pain-result-actions .vx-btn,
.vx-pain-result-actions a{
    max-width:220px;
}


/* ----------------------------------------------------------
   6. TABLET
   ---------------------------------------------------------- */

@media (max-width:1100px){

    .vx-pain-tabs{
        width:100% !important;

        grid-template-columns:
            repeat(3, minmax(0,1fr)) !important;
    }


    .vx-pain-result-content{
        grid-template-columns:
            minmax(0,1.3fr)
            minmax(190px,.65fr) !important;

        gap:28px !important;
    }


    /*
     * En tablet las acciones pasan debajo
     * del contenido sin perjudicar la anatomía.
     */

    .vx-pain-result-actions{
        grid-column:1 / -1;

        flex-direction:row !important;

        justify-content:flex-start !important;
        align-items:center !important;
    }


    .vx-pain-anatomy-stage{
        width:220px !important;
        min-height:300px !important;
    }


    .vx-anatomy-real{
        width:185px !important;
        height:280px !important;
    }

}


/* ----------------------------------------------------------
   7. MOBILE
   ---------------------------------------------------------- */

@media (max-width:700px){

    /*
     * 2 columnas.
     * La novena tarjeta ocupará las dos columnas.
     */

    .vx-pain-tabs{
        grid-template-columns:
            repeat(2, minmax(0,1fr)) !important;

        gap:9px !important;
    }


    .vx-pain-tab{
        min-height:92px !important;

        padding:15px 14px !important;
    }


    .vx-pain-tab .vx-pain-number{
        margin-bottom:10px !important;
    }


    .vx-pain-tab:last-child{
        grid-column:1 / -1;
    }


    /*
     * Resultado:
     * información -> anatomía -> acciones
     */

    .vx-pain-result-content{
        display:flex !important;

        flex-direction:column !important;

        align-items:stretch !important;

        gap:22px !important;
    }


    .vx-pain-result-copy{
        order:1;
    }


    .vx-pain-anatomy{
        order:2;
    }


    .vx-pain-result-actions{
        order:3;

        flex-direction:column !important;

        align-items:stretch !important;
    }


    .vx-pain-result-actions .vx-btn,
    .vx-pain-result-actions a{
        max-width:none;
    }


    .vx-pain-anatomy-stage{
        width:190px !important;
        min-height:260px !important;

        margin:0 auto;
    }


    .vx-anatomy-real{
        width:160px !important;
        height:240px !important;
    }

}


/* ----------------------------------------------------------
   8. TELÉFONOS PEQUEÑOS
   ---------------------------------------------------------- */

@media (max-width:430px){

    .vx-pain-tab{
        min-height:88px !important;

        padding:14px 12px !important;
    }

}


/* END — VIREXIS PAIN SELECTOR 3x3 + RESULT PANEL V2 */

/* ==========================================================
   VIREXIS — PAIN SELECTOR SPLIT LAYOUT V3
   Navegación izquierda / Resultado derecha
   ========================================================== */


/* ==========================================================
   1. CONTENEDOR PRINCIPAL
   ========================================================== */

.vx-pain-selector{
    display:grid !important;

    grid-template-columns:
        minmax(260px, .72fr)
        minmax(0, 2.28fr) !important;

    gap:28px !important;

    align-items:stretch !important;

    margin-top:38px !important;
}


/* ==========================================================
   2. SELECTOR IZQUIERDO
   ========================================================== */

.vx-pain-tabs{
    width:100% !important;
    margin:0 !important;

    display:flex !important;
    flex-direction:column !important;

    gap:7px !important;
}


/* Tarjetas -> filas compactas */

.vx-pain-tab{
    width:100% !important;

    min-width:0 !important;
    min-height:0 !important;

    padding:11px 16px !important;

    display:grid !important;

    grid-template-columns:38px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;

    column-gap:8px !important;
    row-gap:1px !important;

    align-items:center !important;
    justify-content:initial !important;

    border-radius:12px !important;

    text-align:left !important;

    transition:
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease,
        transform .22s ease !important;
}


/* Número */

.vx-pain-tab .vx-pain-number{
    grid-column:1 !important;
    grid-row:1 / 3 !important;

    margin:0 !important;

    align-self:center !important;

    font-size:10px !important;
    letter-spacing:.16em !important;
}


/* Nombre */

.vx-pain-tab strong{
    grid-column:2 !important;
    grid-row:1 !important;

    margin:0 !important;

    font-size:14px !important;
    line-height:1.18 !important;
}


/* Descriptor */

.vx-pain-tab small{
    grid-column:2 !important;
    grid-row:2 !important;

    margin:2px 0 0 !important;

    font-size:10.5px !important;
    line-height:1.25 !important;
}


/* Hover */

.vx-pain-tab:not(.is-active):hover{
    transform:translateX(3px);
}


/* Seleccionada */

.vx-pain-tab.is-active{
    box-shadow:
        0 10px 26px rgba(3,39,67,.10) !important;
}


/* ==========================================================
   3. RESULTADO A LA DERECHA
   ========================================================== */

.vx-pain-result{
    margin-top:0 !important;

    min-width:0 !important;

    height:100% !important;

    display:flex !important;
    flex-direction:column !important;
}


/* Cabecera */

.vx-pain-result-top{
    flex:0 0 auto;
}


/* Contenido interior */

.vx-pain-result-content{
    flex:1 1 auto !important;

    display:grid !important;

    grid-template-columns:
        minmax(0,1.3fr)
        minmax(190px,.68fr)
        minmax(170px,.52fr) !important;

    gap:26px !important;

    align-items:center !important;
}


/* ==========================================================
   4. TEXTO DEL RESULTADO
   ========================================================== */

.vx-pain-result-copy{
    min-width:0 !important;
}


.vx-pain-result-copy h3{
    margin-top:0 !important;

    font-size:clamp(28px,2.35vw,40px) !important;
    line-height:1.02 !important;
}


.vx-pain-result-copy p{
    max-width:560px !important;

    font-size:14px !important;
    line-height:1.65 !important;
}


/* Tags */

.vx-pain-tags{
    gap:7px !important;
}


/* ==========================================================
   5. FIGURA ANATÓMICA
   ========================================================== */

.vx-pain-anatomy{
    min-width:0 !important;

    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
}


.vx-pain-anatomy-stage{
    width:215px !important;
    min-height:310px !important;
}


.vx-anatomy-real{
    width:185px !important;
    height:290px !important;
}


/* ==========================================================
   6. ACCIONES
   ========================================================== */

.vx-pain-result-actions{
    min-width:0 !important;

    display:flex !important;
    flex-direction:column !important;

    align-items:stretch !important;
    justify-content:center !important;

    gap:13px !important;
}


.vx-pain-result-actions .vx-btn,
.vx-pain-result-actions a{
    width:100% !important;
    max-width:210px !important;
}


/* ==========================================================
   7. DESKTOP GRANDE
   ========================================================== */

@media (min-width:1280px){

    .vx-pain-selector{
        grid-template-columns:
            285px minmax(0,1fr) !important;

        gap:30px !important;
    }

}


/* ==========================================================
   8. TABLET
   ========================================================== */

@media (max-width:1050px){

    .vx-pain-selector{
        grid-template-columns:
            235px minmax(0,1fr) !important;

        gap:20px !important;
    }


    .vx-pain-result-content{
        grid-template-columns:
            minmax(0,1fr)
            minmax(170px,.55fr) !important;

        gap:20px !important;
    }


    .vx-pain-result-actions{
        grid-column:1 / -1 !important;

        flex-direction:row !important;

        justify-content:flex-start !important;
    }


    .vx-pain-result-actions .vx-btn,
    .vx-pain-result-actions a{
        width:auto !important;
    }


    .vx-pain-anatomy-stage{
        width:185px !important;
        min-height:270px !important;
    }


    .vx-anatomy-real{
        width:160px !important;
        height:250px !important;
    }

}


/* ==========================================================
   9. MOBILE
   ========================================================== */

@media (max-width:760px){

    .vx-pain-selector{
        display:block !important;

        margin-top:28px !important;
    }


    /*
     * En móvil mantenemos selector compacto
     * antes del resultado.
     */

    .vx-pain-tabs{
        display:grid !important;

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

        gap:8px !important;

        margin-bottom:18px !important;
    }


    .vx-pain-tab{
        min-height:70px !important;

        padding:10px 12px !important;

        grid-template-columns:30px minmax(0,1fr) !important;
    }


    .vx-pain-tab:last-child{
        grid-column:1 / -1 !important;
    }


    .vx-pain-result{
        height:auto !important;
    }


    .vx-pain-result-content{
        display:flex !important;

        flex-direction:column !important;

        gap:20px !important;
    }


    .vx-pain-result-copy{
        order:1 !important;
    }


    .vx-pain-anatomy{
        order:2 !important;
    }


    .vx-pain-result-actions{
        order:3 !important;

        width:100% !important;

        flex-direction:column !important;

        align-items:stretch !important;
    }


    .vx-pain-result-actions .vx-btn,
    .vx-pain-result-actions a{
        width:100% !important;
        max-width:none !important;
    }


    .vx-pain-anatomy-stage{
        width:190px !important;
        min-height:265px !important;
    }


    .vx-anatomy-real{
        width:165px !important;
        height:250px !important;
    }

}


/* END — VIREXIS PAIN SELECTOR SPLIT LAYOUT V3 */


/* ==========================================================
   VIREXIS — ASEGURADORAS HOME V1
   ========================================================== */

.vx-insurers{
    position:relative;

    padding:82px 0 76px;

    background:
        radial-gradient(
            circle at 84% 10%,
            rgba(32,184,242,.08),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #F8FBFD 0%,
            #FFFFFF 100%
        );

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

    overflow:hidden;
}


/* Decoración muy sutil */

.vx-insurers::after{
    content:"V";

    position:absolute;

    right:-22px;
    bottom:-105px;

    font-size:330px;
    line-height:1;

    font-weight:800;

    color:rgba(7,62,104,.025);

    pointer-events:none;
}


/* Layout */

.vx-insurers-layout{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:
        minmax(270px,.78fr)
        minmax(0,1.22fr);

    gap:78px;

    align-items:start;
}


/* ==========================================================
   TÍTULO
   ========================================================== */

.vx-insurers-heading{
    padding-top:3px;
}


.vx-insurers-eyebrow{
    display:block;

    margin-bottom:17px;

    color:#168FEA;

    font-size:10px;
    line-height:1;

    font-weight:800;

    letter-spacing:.22em;
}


.vx-insurers-heading h2{
    margin:0;

    max-width:470px;

    color:#09264B;

    font-size:clamp(34px,3vw,50px);
    line-height:1.02;

    letter-spacing:-.045em;

    font-weight:650;
}


.vx-insurers-heading h2 strong{
    display:block;

    color:#168FEA;

    font-weight:650;
}


/* ==========================================================
   CONTENIDO
   ========================================================== */

.vx-insurers-content > p{
    max-width:670px;

    margin:
        2px 0
        28px;

    color:#536B80;

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


/* ==========================================================
   BANDA DE ASEGURADORAS
   ========================================================== */

.vx-insurers-strip{
    display:grid;

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

    background:#FFFFFF;

    border:
        1px solid rgba(7,62,104,.10);

    border-radius:18px;

    box-shadow:
        0 16px 42px rgba(3,39,67,.055);

    overflow:hidden;
}


.vx-insurer{
    position:relative;

    min-height:102px;

    padding:21px 16px;

    display:flex;
    flex-direction:column;

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

    text-align:center;
}


.vx-insurer + .vx-insurer{
    border-left:
        1px solid rgba(7,62,104,.08);
}


.vx-insurer span{
    margin-bottom:6px;

    color:#8A9BAD;

    font-size:8px;

    font-weight:800;

    letter-spacing:.20em;
}


.vx-insurer strong{
    color:#173A5B;

    font-size:14px;
    line-height:1.15;

    font-weight:700;

    letter-spacing:-.015em;
}


/* Hover sutil */

.vx-insurer{
    transition:
        background .22s ease,
        transform .22s ease;
}


.vx-insurer:hover{
    background:#F5FAFD;
}


/* ==========================================================
   PARTE INFERIOR
   ========================================================== */

.vx-insurers-bottom{
    margin-top:22px;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:28px;
}


.vx-insurers-bottom p{
    margin:0;

    color:#657A8E;

    font-size:12px;
    line-height:1.55;
}


.vx-insurers-bottom p strong{
    color:#294D6D;

    font-weight:650;
}


.vx-insurers-link{
    flex:0 0 auto;

    display:inline-flex;

    align-items:center;

    gap:12px;

    color:#0A5792;

    font-size:12px;

    font-weight:750;

    text-decoration:none;

    white-space:nowrap;
}


.vx-insurers-link span{
    color:#20B8F2;

    font-size:17px;

    transition:transform .2s ease;
}


.vx-insurers-link:hover span{
    transform:translateX(4px);
}


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

@media(max-width:1000px){

    .vx-insurers{
        padding:68px 0;
    }


    .vx-insurers-layout{
        grid-template-columns:1fr;

        gap:30px;
    }


    .vx-insurers-heading h2{
        max-width:650px;
    }


    .vx-insurers-strip{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }


    .vx-insurer{
        border-bottom:
            1px solid rgba(7,62,104,.08);
    }

}


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

@media(max-width:650px){

    .vx-insurers{
        padding:54px 0;
    }


    .vx-insurers-heading h2{
        font-size:34px;
    }


    .vx-insurers-strip{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .vx-insurer{
        min-height:88px;
    }


    .vx-insurer + .vx-insurer{
        border-left:
            1px solid rgba(7,62,104,.08);
    }


    .vx-insurers-bottom{
        align-items:flex-start;

        flex-direction:column;

        gap:15px;
    }

}


/* END — VIREXIS ASEGURADORAS HOME V1 */


/* ==========================================================
   VIREXIS — ASEGURADORAS LOGOS OFICIALES V2
   ========================================================== */

.vx-insurers-strip{
    display:grid !important;

    grid-template-columns:
        repeat(10,minmax(0,1fr)) !important;

    background:transparent !important;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;

    gap:10px !important;

    overflow:visible !important;
}


.vx-insurer{
    grid-column:span 2;

    min-height:104px !important;

    padding:18px 20px !important;

    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    background:#FFFFFF;

    border:
        1px solid rgba(7,62,104,.08) !important;

    border-radius:14px;

    box-shadow:
        0 8px 25px rgba(3,39,67,.035);

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease !important;
}


/* Centrar los últimos cuatro elementos */

.vx-insurer:nth-child(6){
    grid-column:2 / span 2;
}


.vx-insurer:nth-child(7),
.vx-insurer:nth-child(8),
.vx-insurer:nth-child(9){
    grid-column:span 2;
}


/* Logos */

.vx-insurer img{
    display:block;

    width:auto;
    height:auto;

    max-width:128px;
    max-height:54px;

    object-fit:contain;

    filter:none;

    opacity:.94;

    transition:
        transform .22s ease,
        opacity .22s ease;
}


.vx-insurer:hover{
    background:#FFFFFF !important;

    border-color:
        rgba(32,184,242,.24) !important;

    box-shadow:
        0 14px 34px rgba(3,39,67,.07);

    transform:translateY(-2px);
}


.vx-insurer:hover img{
    opacity:1;

    transform:scale(1.025);
}


/* Anular divisores del diseño anterior */

.vx-insurer + .vx-insurer{
    border-left:
        1px solid rgba(7,62,104,.08) !important;
}


/* Diferencias naturales de proporción entre marcas */

.vx-insurer:nth-child(1) img{
    max-width:132px;
}

.vx-insurer:nth-child(2) img{
    max-width:112px;
}

.vx-insurer:nth-child(3) img{
    max-width:108px;
}

.vx-insurer:nth-child(4) img{
    max-width:118px;
}

.vx-insurer:nth-child(5) img{
    max-width:135px;
}

.vx-insurer:nth-child(6) img{
    max-width:128px;
}

.vx-insurer:nth-child(7) img{
    max-width:105px;
}

.vx-insurer:nth-child(8) img{
    max-width:118px;
}

.vx-insurer:nth-child(9) img{
    max-width:105px;
}


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

@media(max-width:1000px){

    .vx-insurers-strip{
        grid-template-columns:
            repeat(3,minmax(0,1fr)) !important;

        gap:10px !important;
    }


    .vx-insurer,
    .vx-insurer:nth-child(6),
    .vx-insurer:nth-child(7),
    .vx-insurer:nth-child(8),
    .vx-insurer:nth-child(9){
        grid-column:auto !important;
    }


    .vx-insurer{
        min-height:96px !important;
    }

}


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

@media(max-width:650px){

    .vx-insurers-strip{
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }


    .vx-insurer{
        min-height:88px !important;

        padding:15px !important;
    }


    .vx-insurer img{
        max-width:105px;
        max-height:45px;
    }


    .vx-insurer:last-child{
        grid-column:1 / -1 !important;

        width:calc(50% - 5px);

        justify-self:center;
    }

}


/* END — VIREXIS ASEGURADORAS LOGOS OFICIALES V2 */


/* ==========================================================
   VIREXIS — HISTORIAS DE RECUPERACIÓN V1
   ========================================================== */

.vx-stories{
    position:relative;

    padding:112px 0 105px;

    background:
        radial-gradient(
            circle at 8% 5%,
            rgba(32,184,242,.065),
            transparent 26%
        ),
        linear-gradient(
            180deg,
            #FFFFFF 0%,
            #F6FAFC 100%
        );

    overflow:hidden;
}


.vx-stories::before{
    content:"“";

    position:absolute;

    right:3%;
    top:-100px;

    color:rgba(7,62,104,.025);

    font-family:Georgia,serif;
    font-size:390px;
    line-height:1;

    pointer-events:none;
}


/* HEADER */

.vx-stories-header{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:
        minmax(0,1.1fr)
        minmax(300px,.9fr);

    align-items:end;

    gap:90px;

    margin-bottom:54px;
}


.vx-stories-eyebrow{
    display:block;

    margin-bottom:18px;

    color:#168FEA;

    font-size:10px;
    line-height:1;

    font-weight:800;

    letter-spacing:.22em;
}


.vx-stories-heading h2{
    margin:0;

    max-width:670px;

    color:#09264B;

    font-size:clamp(40px,4vw,62px);
    line-height:.99;

    letter-spacing:-.05em;

    font-weight:620;
}


.vx-stories-heading h2 strong{
    display:block;

    color:#168FEA;

    font-weight:620;
}


.vx-stories-intro{
    max-width:520px;

    margin:0 0 5px;

    padding-left:24px;

    border-left:
        1px solid rgba(32,184,242,.40);

    color:#60768A;

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


/* GRID */

.vx-stories-grid{
    position:relative;
    z-index:2;

    display:grid;

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

    gap:14px;
}


/* CARD */

.vx-story{
    min-height:300px;

    display:grid;

    grid-template-columns:
        190px minmax(0,1fr);

    background:#FFFFFF;

    border:
        1px solid rgba(7,62,104,.075);

    border-radius:20px;

    overflow:hidden;

    box-shadow:
        0 14px 45px rgba(3,39,67,.045);

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


.vx-story:hover{
    transform:translateY(-3px);

    border-color:
        rgba(32,184,242,.20);

    box-shadow:
        0 22px 54px rgba(3,39,67,.075);
}


/* FEATURED */

.vx-story--featured{
    grid-column:1 / -1;

    min-height:390px;

    grid-template-columns:
        minmax(330px,.72fr)
        minmax(0,1.28fr);

    background:#062A48;

    border-color:
        rgba(255,255,255,.05);

    box-shadow:
        0 28px 70px rgba(2,26,45,.14);
}


.vx-story--featured:hover{
    border-color:
        rgba(32,184,242,.20);

    box-shadow:
        0 32px 78px rgba(2,26,45,.18);
}


/* PHOTO */

.vx-story-photo{
    position:relative;

    min-height:100%;

    overflow:hidden;

    background:#DCE8EF;
}


.vx-story-photo::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 52%,
            rgba(2,26,45,.30) 100%
        );

    pointer-events:none;
}


.vx-story-photo img{
    display:block;

    width:100%;
    height:100%;

    min-height:300px;

    object-fit:cover;

    transition:transform .5s ease;
}


.vx-story:hover .vx-story-photo img{
    transform:scale(1.025);
}


.vx-story--featured .vx-story-photo img{
    min-height:390px;
}


.vx-story-number{
    position:absolute;

    z-index:2;

    left:18px;
    bottom:16px;

    display:flex;

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

    width:38px;
    height:38px;

    border:
        1px solid rgba(255,255,255,.45);

    border-radius:50%;

    background:
        rgba(2,26,45,.30);

    backdrop-filter:blur(7px);

    color:#FFFFFF;

    font-size:9px;

    font-weight:800;

    letter-spacing:.08em;
}


/* BODY */

.vx-story-body{
    position:relative;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:34px 34px 30px;
}


.vx-story-mark{
    position:absolute;

    right:25px;
    top:10px;

    color:rgba(32,184,242,.13);

    font-family:Georgia,serif;

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


.vx-story blockquote{
    position:relative;
    z-index:2;

    margin:0 0 26px;

    color:#425B71;

    font-size:14px;
    line-height:1.72;

    font-weight:400;
}


.vx-story footer{
    display:flex;

    flex-direction:column;

    gap:4px;

    padding-top:18px;

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


.vx-story footer strong{
    color:#123A5C;

    font-size:13px;

    line-height:1.25;

    font-weight:750;
}


.vx-story footer span{
    color:#8A9BAD;

    font-size:9px;

    font-weight:750;

    letter-spacing:.16em;

    text-transform:uppercase;
}


/* FEATURED TYPOGRAPHY */

.vx-story--featured .vx-story-body{
    padding:54px 62px;
}


.vx-story--featured .vx-story-mark{
    top:25px;
    right:45px;

    color:rgba(32,184,242,.17);

    font-size:110px;
}


.vx-story--featured blockquote{
    max-width:720px;

    margin-bottom:34px;

    color:#FFFFFF;

    font-size:clamp(20px,1.7vw,27px);

    line-height:1.48;

    letter-spacing:-.02em;
}


.vx-story--featured footer{
    max-width:720px;

    border-color:
        rgba(255,255,255,.11);
}


.vx-story--featured footer strong{
    color:#FFFFFF;

    font-size:14px;
}


.vx-story--featured footer span{
    color:#76CFF3;
}


/* DISCLAIMER */

.vx-stories-note{
    position:relative;
    z-index:2;

    margin:28px 0 0;

    color:#8A9BAD;

    font-size:10px;

    line-height:1.55;

    text-align:right;
}


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

@media(max-width:1050px){

    .vx-stories{
        padding:88px 0;
    }


    .vx-stories-header{
        grid-template-columns:1fr;

        gap:25px;

        margin-bottom:42px;
    }


    .vx-stories-intro{
        max-width:680px;
    }


    .vx-story{
        grid-template-columns:
            155px minmax(0,1fr);
    }


    .vx-story--featured{
        grid-template-columns:
            300px minmax(0,1fr);
    }


    .vx-story--featured .vx-story-body{
        padding:42px;
    }

}


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

@media(max-width:760px){

    .vx-stories{
        padding:70px 0 64px;
    }


    .vx-stories-heading h2{
        font-size:39px;
    }


    .vx-stories-grid{
        display:flex;

        gap:12px;

        margin-left:
            calc((100vw - 100%) / -2);

        margin-right:
            calc((100vw - 100%) / -2);

        padding:
            0 max(20px,calc((100vw - 100%) / 2));

        overflow-x:auto;

        scroll-snap-type:x mandatory;

        scrollbar-width:none;
    }


    .vx-stories-grid::-webkit-scrollbar{
        display:none;
    }


    .vx-story,
    .vx-story--featured{
        flex:
            0 0 min(84vw,390px);

        grid-column:auto;

        grid-template-columns:1fr;

        min-height:auto;

        scroll-snap-align:center;
    }


    .vx-story-photo{
        height:245px;

        min-height:245px;
    }


    .vx-story-photo img,
    .vx-story--featured .vx-story-photo img{
        min-height:245px;
        height:245px;
    }


    .vx-story-body,
    .vx-story--featured .vx-story-body{
        min-height:285px;

        padding:30px 27px 27px;
    }


    .vx-story--featured{
        background:#062A48;
    }


    .vx-story--featured blockquote{
        font-size:18px;
        line-height:1.55;
    }


    .vx-story blockquote{
        font-size:13px;
    }


    .vx-story-mark,
    .vx-story--featured .vx-story-mark{
        top:10px;
        right:20px;

        font-size:70px;
    }


    .vx-stories-note{
        text-align:left;

        margin-top:22px;
    }

}


/* END — VIREXIS HISTORIAS DE RECUPERACIÓN V1 */


/* ==========================================================
   VIREXIS — ACTIVIDADES HOME V1
   ========================================================== */

.vx-activities{
    position:relative;

    padding:110px 0 105px;

    background:#FFFFFF;

    overflow:hidden;
}


/* línea superior editorial */

.vx-activities::before{
    content:"";

    position:absolute;

    top:0;
    left:50%;

    width:min(
        calc(100% - 48px),
        1280px
    );

    height:1px;

    transform:translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(7,62,104,.12) 15%,
            rgba(7,62,104,.12) 85%,
            transparent
        );
}


/* ==========================================================
   HEADER
   ========================================================== */

.vx-activities-header{
    display:grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(320px,.85fr);

    gap:90px;

    align-items:end;

    margin-bottom:48px;
}


.vx-activities-eyebrow{
    display:block;

    margin-bottom:18px;

    color:#168FEA;

    font-size:10px;
    line-height:1;

    font-weight:800;

    letter-spacing:.22em;
}


.vx-activities-heading h2{
    max-width:720px;

    margin:0;

    color:#09264B;

    font-size:
        clamp(40px,4vw,62px);

    line-height:.98;

    letter-spacing:-.052em;

    font-weight:620;
}


.vx-activities-heading h2 strong{
    display:block;

    color:#168FEA;

    font-weight:620;
}


.vx-activities-header-side{
    padding-left:25px;

    border-left:
        1px solid rgba(32,184,242,.35);
}


.vx-activities-header-side p{
    max-width:510px;

    margin:
        0 0 18px;

    color:#60768A;

    font-size:14px;

    line-height:1.72;
}


.vx-activities-all{
    display:inline-flex;

    align-items:center;

    gap:10px;

    color:#0A5792;

    text-decoration:none;

    font-size:11px;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;
}


.vx-activities-all span:last-child{
    color:#20B8F2;

    font-size:15px;

    transition:
        transform .2s ease;
}


.vx-activities-all:hover span:last-child{
    transform:
        translate(2px,-2px);
}


/* ==========================================================
   GRID
   ========================================================== */

.vx-activities-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.22fr)
        minmax(0,.89fr)
        minmax(0,.89fr);

    gap:14px;
}


/* ==========================================================
   CARD
   ========================================================== */

.vx-activity-card{
    position:relative;

    min-width:0;

    background:#F8FBFD;

    border:
        1px solid rgba(7,62,104,.075);

    border-radius:20px;

    overflow:hidden;

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


.vx-activity-card:hover{
    transform:
        translateY(-4px);

    border-color:
        rgba(32,184,242,.22);

    box-shadow:
        0 22px 52px
        rgba(3,39,67,.075);
}


/* MEDIA */

.vx-activity-card__media{
    position:relative;

    display:block;

    height:245px;

    overflow:hidden;

    background:#DDE9F0;
}


.vx-activity-card--featured
.vx-activity-card__media{
    height:320px;
}


.vx-activity-card__media::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(2,26,45,.24) 100%
        );

    pointer-events:none;
}


.vx-activity-card__image{
    display:block;

    width:100% !important;
    height:100% !important;

    object-fit:cover;

    transition:
        transform .55s ease;
}


.vx-activity-card:hover
.vx-activity-card__image{
    transform:
        scale(1.035);
}


.vx-activity-card__placeholder{
    width:100%;
    height:100%;

    display:flex;

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

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

    background:
        linear-gradient(
            135deg,
            #073E68,
            #021A2D
        );

    font-size:90px;

    font-weight:700;
}


/* INDEX */

.vx-activity-card__index{
    position:absolute;

    z-index:2;

    left:18px;
    bottom:16px;

    width:39px;
    height:39px;

    display:flex;

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

    border:
        1px solid rgba(255,255,255,.48);

    border-radius:50%;

    background:
        rgba(2,26,45,.28);

    backdrop-filter:
        blur(7px);

    color:#FFFFFF;

    font-size:9px;

    font-weight:800;

    letter-spacing:.08em;
}


/* CONTENT */

.vx-activity-card__content{
    padding:25px 26px 27px;
}


.vx-activity-card--featured
.vx-activity-card__content{
    padding:
        30px 32px 32px;
}


.vx-activity-card__date{
    display:block;

    margin-bottom:12px;

    color:#168FEA;

    font-size:9px;

    line-height:1;

    font-weight:800;

    letter-spacing:.15em;

    text-transform:uppercase;
}


.vx-activity-card h3{
    margin:
        0 0 24px;

    color:#09264B;

    font-size:20px;

    line-height:1.18;

    letter-spacing:-.025em;

    font-weight:650;
}


.vx-activity-card--featured h3{
    max-width:650px;

    font-size:
        clamp(25px,2vw,32px);

    line-height:1.1;

    letter-spacing:-.035em;
}


.vx-activity-card h3 a{
    color:inherit;

    text-decoration:none;
}


.vx-activity-card__link{
    display:flex;

    align-items:center;

    justify-content:
        space-between;

    padding-top:17px;

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

    color:#536B80;

    text-decoration:none;

    font-size:10px;

    font-weight:800;

    letter-spacing:.09em;

    text-transform:uppercase;
}


.vx-activity-card__link
span:last-child{
    color:#20B8F2;

    font-size:16px;

    transition:
        transform .2s ease;
}


.vx-activity-card:hover
.vx-activity-card__link
span:last-child{
    transform:
        translateX(4px);
}


/* EMPTY */

.vx-activities-empty{
    margin:0;

    padding:30px;

    border:
        1px solid rgba(7,62,104,.08);

    border-radius:16px;

    color:#60768A;

    background:#F8FBFD;
}


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

@media(max-width:1000px){

    .vx-activities{
        padding:
            88px 0;
    }


    .vx-activities-header{
        grid-template-columns:1fr;

        gap:26px;

        margin-bottom:40px;
    }


    .vx-activities-header-side{
        max-width:700px;
    }


    .vx-activities-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .vx-activity-card--featured{
        grid-column:
            1 / -1;
    }


    .vx-activity-card--featured
    .vx-activity-card__media{
        height:360px;
    }

}


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

@media(max-width:650px){

    .vx-activities{
        padding:
            70px 0 68px;
    }


    .vx-activities-heading h2{
        font-size:39px;
    }


    .vx-activities-header{
        margin-bottom:34px;
    }


    .vx-activities-header-side{
        padding-left:18px;
    }


    .vx-activities-grid{
        display:flex;

        gap:12px;

        margin-left:
            calc((100vw - 100%) / -2);

        margin-right:
            calc((100vw - 100%) / -2);

        padding:
            0 max(
                20px,
                calc((100vw - 100%) / 2)
            );

        overflow-x:auto;

        scroll-snap-type:
            x mandatory;

        scrollbar-width:none;
    }


    .vx-activities-grid::-webkit-scrollbar{
        display:none;
    }


    .vx-activity-card,
    .vx-activity-card--featured{
        flex:
            0 0 min(84vw,390px);

        grid-column:auto;

        scroll-snap-align:center;
    }


    .vx-activity-card__media,
    .vx-activity-card--featured
    .vx-activity-card__media{
        height:245px;
    }


    .vx-activity-card__content,
    .vx-activity-card--featured
    .vx-activity-card__content{
        padding:
            25px 25px 27px;
    }


    .vx-activity-card h3,
    .vx-activity-card--featured h3{
        font-size:21px;

        line-height:1.16;
    }

}


/* END — VIREXIS ACTIVIDADES HOME V1 */


/* ==========================================================
   VIREXIS — ACTIVIDADES UNIFORMES V2
   ========================================================== */

.vx-activities-grid{
    grid-template-columns:
        repeat(3,minmax(0,1fr));

    align-items:stretch;
}


/* Todas las tarjetas iguales */

.vx-activity-card,
.vx-activity-card--featured{
    display:flex;

    flex-direction:column;

    min-height:100%;
}


/* Todas las fotografías exactamente iguales */

.vx-activity-card__media,
.vx-activity-card--featured .vx-activity-card__media{
    height:250px;

    min-height:250px;
}


/* El contenido ocupa el espacio restante */

.vx-activity-card__content,
.vx-activity-card--featured .vx-activity-card__content{
    display:flex;

    flex:1;

    flex-direction:column;

    padding:27px 28px 28px;
}


/* Títulos uniformes */

.vx-activity-card h3,
.vx-activity-card--featured h3{
    max-width:none;

    margin:0 0 24px;

    font-size:21px;

    line-height:1.17;

    letter-spacing:-.028em;
}


/* El enlace siempre queda abajo */

.vx-activity-card__link{
    margin-top:auto;
}


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

@media(max-width:1000px){

    .vx-activities-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .vx-activity-card--featured{
        grid-column:auto;
    }


    .vx-activity-card__media,
    .vx-activity-card--featured .vx-activity-card__media{
        height:260px;

        min-height:260px;
    }

}


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

@media(max-width:650px){

    .vx-activities-grid{
        display:flex;
    }


    .vx-activity-card,
    .vx-activity-card--featured{
        flex:
            0 0 min(84vw,390px);

        min-height:auto;
    }


    .vx-activity-card__media,
    .vx-activity-card--featured .vx-activity-card__media{
        height:245px;

        min-height:245px;
    }


    .vx-activity-card__content,
    .vx-activity-card--featured .vx-activity-card__content{
        min-height:235px;

        padding:25px 25px 27px;
    }

}


/* END — VIREXIS ACTIVIDADES UNIFORMES V2 */


/* ==========================================================
   VIREXIS — HOME CAROUSELS V1
   Especialistas + Actividades
   ========================================================== */

.vx-carousel-shell{
    position:relative;
    width:100%;
    min-width:0;
}


/* ----------------------------------------------------------
   TOOLBAR
   ---------------------------------------------------------- */

.vx-carousel-toolbar{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:24px;

    margin:0 0 24px;
}


.vx-carousel-counter{
    display:flex;
    align-items:center;
    gap:9px;

    color:#60768A;

    font-size:10px;
    line-height:1;

    font-weight:800;
    letter-spacing:.12em;
}


.vx-carousel-counter span:first-child{
    color:#168FEA;
}


.vx-carousel-counter i{
    display:block;

    width:30px;
    height:1px;

    background:rgba(7,62,104,.18);
}


.vx-carousel-arrows{
    display:flex;
    gap:7px;
}


.vx-carousel-arrow{
    appearance:none;

    width:43px;
    height:43px;

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

    padding:0;

    border:1px solid rgba(7,62,104,.11);
    border-radius:50%;

    background:#FFFFFF;

    color:#09264B;

    font:inherit;
    font-size:17px;

    cursor:pointer;

    box-shadow:
        0 8px 24px rgba(3,39,67,.04);

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


.vx-carousel-arrow:hover:not(:disabled){
    color:#FFFFFF;

    background:#0A5792;

    border-color:#0A5792;

    transform:translateY(-2px);
}


.vx-carousel-arrow:disabled{
    opacity:.28;
    cursor:default;
}


.vx-carousel-arrow:focus-visible,
.vx-carousel-track:focus-visible{
    outline:2px solid #20B8F2;
    outline-offset:3px;
}


/* ----------------------------------------------------------
   TRACK BASE
   ---------------------------------------------------------- */

.vx-carousel-track{
    scrollbar-width:none;

    overscroll-behavior-x:contain;

    -webkit-overflow-scrolling:touch;
}


.vx-carousel-track::-webkit-scrollbar{
    display:none;
}


/* ==========================================================
   ESPECIALISTAS
   ========================================================== */

/*
 * La cuadrícula existente se transforma solamente en el Home
 * en una pista horizontal. No alteramos las tarjetas.
 */

.vx-team .vx-carousel-shell--team{
    margin-top:8px;
}


.vx-team .vx-carousel-shell--team .vx-team-grid{
    display:flex !important;

    grid-template-columns:none !important;

    gap:16px !important;

    width:100%;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;

    cursor:grab;

    padding:
        4px 2px 26px;

    margin:0 !important;
}


.vx-team .vx-carousel-shell--team .vx-team-grid:active{
    cursor:grabbing;
}


.vx-team .vx-carousel-shell--team .vx-doctor{
    /*
     * 4 tarjetas completas + una pequeña insinuación
     * de la siguiente.
     */
    flex:
        0 0 calc((100% - 72px) / 4.18);

    min-width:0;

    scroll-snap-align:start;
    scroll-snap-stop:normal;
}


/* CTA conserva su posición debajo del carrusel */

.vx-team-home-cta{
    margin-top:30px;
}


/* ==========================================================
   ACTIVIDADES
   ========================================================== */

.vx-carousel-shell--activities{
    margin-top:0;
}


.vx-carousel-toolbar--activities{
    margin-top:-8px;
}


.vx-carousel-shell--activities .vx-activities-grid{
    display:flex !important;

    grid-template-columns:none !important;

    gap:14px !important;

    width:100%;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;

    cursor:grab;

    padding:
        4px 2px 28px;

    margin:0 !important;
}


.vx-carousel-shell--activities .vx-activities-grid:active{
    cursor:grabbing;
}


.vx-carousel-shell--activities .vx-activity-card{
    /*
     * Desktop: exactamente 3 tarjetas completas.
     * 2 gaps de 14px = 28px.
     */
    flex:
        0 0 calc((100% - 28px) / 3);

    min-width:0;
    min-height:100%;

    scroll-snap-align:start;
    scroll-snap-stop:normal;
}


.vx-carousel-shell--activities
.vx-activity-card__media{
    height:250px;
    min-height:250px;
}

/*
 * Primera actividad:
 * conservamos cover pero priorizamos la parte superior
 * para evitar cortar las cabezas.
 */
.vx-carousel-shell--activities
.vx-activity-card:first-child
.vx-activity-card__image{
    object-position:center 18%;
}


.vx-carousel-shell--activities
.vx-activity-card__content{
    min-height:225px;
}


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

@media(max-width:1000px){

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:
            0 0 calc((100% - 34px) / 2.15);
    }


    .vx-carousel-shell--activities
    .vx-activity-card{
        flex:
            0 0 calc((100% - 22px) / 2.08);
    }

}


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

@media(max-width:650px){

    .vx-carousel-toolbar{
        justify-content:space-between;

        margin-bottom:18px;
    }


    .vx-carousel-arrow{
        width:40px;
        height:40px;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-team-grid,
    .vx-carousel-shell--activities
    .vx-activities-grid{
        /*
         * Override del carrusel móvil anterior de Actividades:
         * el viewport permanece dentro del contenedor.
         */
        margin-left:0 !important;
        margin-right:0 !important;

        padding-left:0 !important;
        padding-right:0 !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:
            0 0 82%;
    }


    .vx-carousel-shell--activities
    .vx-activity-card{
        flex:
            0 0 88%;
    }


    .vx-carousel-shell--activities
    .vx-activity-card__media{
        height:235px;
        min-height:235px;
    }

}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media(prefers-reduced-motion:reduce){

    .vx-carousel-track{
        scroll-behavior:auto !important;
    }

}


/* END — VIREXIS HOME CAROUSELS V1 */


/* ==========================================================
   VIREXIS — HOME CLINICAL TEAM V2
   Carrusel más compacto
   ========================================================== */

/*
 * Desktop:
 * fotografías/tarjetas más pequeñas y aproximadamente
 * cinco especialistas visibles.
 */

.vx-team
.vx-carousel-shell--team
.vx-doctor{
    flex:
        0 0 calc((100% - 86px) / 5.12);
}


/*
 * Reducimos ligeramente la presencia vertical de la imagen
 * sin alterar la fotografía original.
 */

.vx-team
.vx-carousel-shell--team
.vx-doctor__media{
    min-height:0;
}


/* Tablet */

@media(max-width:1100px){

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:
            0 0 calc((100% - 50px) / 3.15);
    }

}


/* Tablet estrecha */

@media(max-width:800px){

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:
            0 0 calc((100% - 26px) / 2.12);
    }

}


/* Mobile */

@media(max-width:650px){

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:
            0 0 76%;
    }

}


/* END — VIREXIS HOME CLINICAL TEAM V2 */


/* ==========================================================
   VIREXIS — ESPECIALISTAS COMPACT 4 V3
   4 especialistas completos por vista
   ========================================================== */

@media(min-width:1001px){

    /*
     * Cuatro tarjetas EXACTAS dentro del viewport.
     * Sin quinta tarjeta cortada.
     */

    .vx-team
    .vx-carousel-shell--team
    .vx-team-grid{
        gap:18px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:
            0 0 calc((100% - 54px) / 4);

        max-width:
            calc((100% - 54px) / 4);
    }


    /*
     * Reducimos de forma importante la altura visual
     * de la fotografía.
     */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:300px !important;
        min-height:300px !important;
        max-height:300px !important;

        overflow:hidden;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media img{
        width:100% !important;
        height:100% !important;

        object-fit:cover !important;
        object-position:50% 18%;

        display:block;
    }


    /*
     * Información inferior más compacta.
     */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__body{
        min-height:155px;

        padding:
            22px 22px 24px;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__area{
        margin-bottom:9px;

        font-size:9px;

        letter-spacing:.16em;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__name{
        margin-bottom:7px;

        font-size:19px;
        line-height:1.08;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__role{
        font-size:12px;
        line-height:1.45;
    }

}


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

@media(min-width:651px) and (max-width:1000px){

    .vx-team
    .vx-carousel-shell--team
    .vx-team-grid{
        gap:16px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:
            0 0 calc((100% - 32px) / 3);

        max-width:
            calc((100% - 32px) / 3);
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:280px !important;
        min-height:280px !important;

        overflow:hidden;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media img{
        width:100% !important;
        height:100% !important;

        object-fit:cover !important;
        object-position:50% 18%;
    }

}


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

@media(max-width:650px){

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:0 0 78%;
        max-width:78%;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:300px !important;
        min-height:300px !important;

        overflow:hidden;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media img{
        width:100% !important;
        height:100% !important;

        object-fit:cover !important;
        object-position:50% 18%;
    }

}


/* END — VIREXIS ESPECIALISTAS COMPACT 4 V3 */


/* ==========================================================
   VIREXIS — ESPECIALISTAS COMPACT 4 V4
   4 por vista · menor altura · encuadre uniforme
   ========================================================== */

@media(min-width:1001px){

    /*
     * Conservamos exactamente cuatro especialistas por vista,
     * pero reducimos considerablemente la altura.
     */

    .vx-team
    .vx-carousel-shell--team
    .vx-team-grid{
        gap:18px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:
            0 0 calc((100% - 54px) / 4) !important;

        max-width:
            calc((100% - 54px) / 4) !important;

        border-radius:18px !important;
    }


    /* FOTO MÁS COMPACTA */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:235px !important;
        min-height:235px !important;
        max-height:235px !important;

        overflow:hidden !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media img{
        display:block !important;

        width:100% !important;
        height:100% !important;

        object-fit:cover !important;

        /*
         * Encuadre general.
         * Favorece cabeza + torso superior.
         */
        object-position:50% 20% !important;
    }


    /*
     * MIGUEL MINIER
     * Su fotografía tiene una composición diferente.
     * Reencuadre individual para igualar escala visual.
     *
     * ID canónico: 40399
     */

    .vx-team
    .vx-carousel-shell--team
    .post-40399
    .vx-doctor__media img{
        object-position:50% 12% !important;

        transform:scale(.91);

        transform-origin:50% 18%;
    }


    /*
     * Evitamos que el scale de Miguel revele un fondo
     * diferente alrededor de la fotografía.
     */

    .vx-team
    .vx-carousel-shell--team
    .post-40399
    .vx-doctor__media{
        background:#eef7fc;
    }


    /* CUERPO MÁS BAJO */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__body{
        min-height:138px !important;

        padding:
            18px 20px 20px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__area{
        margin-bottom:7px !important;

        font-size:8px !important;
        line-height:1.2;

        letter-spacing:.17em;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__name{
        margin-bottom:6px !important;

        font-size:17px !important;
        line-height:1.08 !important;

        letter-spacing:-.025em;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__role{
        font-size:11px !important;
        line-height:1.4 !important;
    }


    /*
     * Menos espacio inferior del track.
     */

    .vx-team
    .vx-carousel-shell--team
    .vx-team-grid{
        padding-bottom:18px !important;
    }


    .vx-team-home-cta{
        margin-top:20px !important;
    }

}


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

@media(min-width:651px) and (max-width:1000px){

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:235px !important;
        min-height:235px !important;
        max-height:235px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__body{
        min-height:135px !important;

        padding:18px 18px 20px !important;
    }

}


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

@media(max-width:650px){

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:0 0 72% !important;
        max-width:72% !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:245px !important;
        min-height:245px !important;
        max-height:245px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__body{
        min-height:135px !important;

        padding:18px 19px 20px !important;
    }

}


/* END — VIREXIS ESPECIALISTAS COMPACT 4 V4 */


/* ==========================================================
   VIREXIS — ESPECIALISTAS MINI V5
   4 tarjetas compactas reales
   ========================================================== */

@media(min-width:1001px){

    /*
     * El carrusel ya no estira las tarjetas para ocupar
     * todo el ancho disponible.
     */

    .vx-team
    .vx-carousel-shell--team
    .vx-team-grid{
        gap:18px !important;

        padding-top:4px !important;
        padding-bottom:16px !important;
    }


    /*
     * Ancho compacto real.
     * 4 tarjetas visibles en el área principal.
     */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:0 0 250px !important;

        width:250px !important;
        max-width:250px !important;
        min-width:250px !important;

        border-radius:16px !important;

        overflow:hidden !important;
    }


    /*
     * FOTO
     */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        width:100% !important;

        height:190px !important;
        min-height:190px !important;
        max-height:190px !important;

        aspect-ratio:auto !important;

        overflow:hidden !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media img{
        display:block !important;

        width:100% !important;
        height:100% !important;

        min-height:0 !important;
        max-height:none !important;

        object-fit:cover !important;
        object-position:50% 18% !important;

        transform:none !important;
    }


    /*
     * MIGUEL MINIER
     *
     * Su retrato original está compuesto a una escala
     * diferente. Lo alejamos ligeramente dentro del frame.
     */

    .vx-team
    .vx-carousel-shell--team
    .post-40399
    .vx-doctor__media{
        background:#EAF5FB !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .post-40399
    .vx-doctor__media img{
        object-fit:contain !important;

        object-position:50% 100% !important;

        transform:none !important;
    }


    /*
     * INFORMACIÓN
     */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__body{
        box-sizing:border-box !important;

        height:122px !important;
        min-height:122px !important;
        max-height:122px !important;

        padding:
            15px 17px 16px !important;

        overflow:hidden;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__area{
        margin:0 0 6px !important;

        font-size:7px !important;
        line-height:1.15 !important;

        letter-spacing:.17em !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__name{
        margin:0 0 5px !important;

        font-size:15px !important;
        line-height:1.08 !important;

        letter-spacing:-.025em !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__role{
        margin:0 !important;

        font-size:10px !important;
        line-height:1.35 !important;
    }


    /*
     * Menos espacio entre carrusel y CTA.
     */

    .vx-team-home-cta{
        margin-top:14px !important;
    }

}


/* ==========================================================
   PANTALLAS GRANDES
   Centramos visualmente el viewport de cuatro tarjetas.
   ========================================================== */

@media(min-width:1200px){

    .vx-team
    .vx-carousel-shell--team
    .vx-team-grid{
        /*
         * 4 x 250 + 3 x 18 = 1054px.
         * El resto queda como aire editorial.
         */
        scroll-padding-left:0;
    }

}


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

@media(min-width:651px) and (max-width:1000px){

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:0 0 220px !important;

        width:220px !important;
        max-width:220px !important;
        min-width:220px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:190px !important;
        min-height:190px !important;
        max-height:190px !important;
    }

}


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

@media(max-width:650px){

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:0 0 72vw !important;

        width:72vw !important;
        min-width:72vw !important;
        max-width:280px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:220px !important;
        min-height:220px !important;
        max-height:220px !important;
    }

}


/* END — VIREXIS ESPECIALISTAS MINI V5 */


/* ==========================================================
   VIREXIS — ESPECIALISTAS PREMIUM COMPACT V6

   Objetivo:
   - viewport compacto
   - exactamente 4 tarjetas visibles
   - tarjetas más pequeñas
   - quinta tarjeta fuera del viewport
   - fotografías uniformes
   ========================================================== */


@media(min-width:1001px){

    /* -------------------------------------------------------
       SHELL

       La clave: reducimos también el viewport del carrusel.
       ------------------------------------------------------- */

    .vx-team
    .vx-carousel-shell--team{
        width:min(100%, 920px) !important;
        max-width:920px !important;

        margin-left:auto !important;
        margin-right:auto !important;
    }


    /*
     * Toolbar alineado con el carrusel compacto.
     */

    .vx-team
    .vx-carousel-shell--team
    .vx-carousel-toolbar{
        width:100% !important;

        margin-left:0 !important;
        margin-right:0 !important;
        margin-bottom:18px !important;
    }


    /* -------------------------------------------------------
       TRACK
       ------------------------------------------------------- */

    .vx-team
    .vx-carousel-shell--team
    .vx-team-grid{
        width:100% !important;

        gap:16px !important;

        padding:
            3px 0 14px !important;

        margin:0 !important;

        overflow-x:auto !important;
        overflow-y:hidden !important;
    }


    /* -------------------------------------------------------
       TARJETA

       920px viewport
       menos 3 gaps de 16px = 872px
       / 4 = 218px exactos.
       ------------------------------------------------------- */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:
            0 0 calc((100% - 48px) / 4) !important;

        width:
            calc((100% - 48px) / 4) !important;

        min-width:
            calc((100% - 48px) / 4) !important;

        max-width:
            calc((100% - 48px) / 4) !important;

        border-radius:15px !important;

        overflow:hidden !important;
    }


    /* -------------------------------------------------------
       FOTOGRAFÍA
       ------------------------------------------------------- */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        width:100% !important;

        height:175px !important;
        min-height:175px !important;
        max-height:175px !important;

        aspect-ratio:auto !important;

        overflow:hidden !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media img{
        display:block !important;

        width:100% !important;
        height:100% !important;

        object-fit:cover !important;
        object-position:50% 20% !important;

        transform:none !important;
    }


    /* -------------------------------------------------------
       MIGUEL MINIER

       Mismo sistema cover que todos.
       Solo modificamos el punto de encuadre.
       ------------------------------------------------------- */

    .vx-team
    .vx-carousel-shell--team
    .post-40399
    .vx-doctor__media img{
        object-fit:cover !important;

        object-position:50% 16% !important;

        transform:none !important;
    }


    /* -------------------------------------------------------
       INFORMACIÓN
       ------------------------------------------------------- */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__body{
        box-sizing:border-box !important;

        height:112px !important;
        min-height:112px !important;
        max-height:112px !important;

        padding:
            14px 15px 15px !important;

        overflow:hidden !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__area{
        margin:
            0 0 6px !important;

        font-size:7px !important;
        line-height:1.1 !important;

        letter-spacing:.16em !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__name{
        margin:
            0 0 5px !important;

        font-size:14px !important;
        line-height:1.08 !important;

        letter-spacing:-.025em !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__role{
        margin:0 !important;

        font-size:9px !important;
        line-height:1.35 !important;
    }


    /*
     * CTA centrado y más próximo.
     */

    .vx-team-home-cta{
        margin-top:14px !important;
    }

}


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

@media(min-width:651px) and (max-width:1000px){

    .vx-team
    .vx-carousel-shell--team{
        width:min(100%, 690px) !important;

        margin-left:auto !important;
        margin-right:auto !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:
            0 0 calc((100% - 32px) / 3) !important;

        width:
            calc((100% - 32px) / 3) !important;

        min-width:
            calc((100% - 32px) / 3) !important;

        max-width:
            calc((100% - 32px) / 3) !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:175px !important;
        min-height:175px !important;
        max-height:175px !important;
    }

}


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

@media(max-width:650px){

    .vx-team
    .vx-carousel-shell--team{
        width:100% !important;
        max-width:100% !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor{
        flex:0 0 70vw !important;

        width:70vw !important;
        min-width:70vw !important;
        max-width:270px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:210px !important;
        min-height:210px !important;
        max-height:210px !important;
    }

}


/* END — VIREXIS ESPECIALISTAS PREMIUM COMPACT V6 */


/* ==========================================================
   VIREXIS — ESPECIALISTAS LOW PROFILE V7

   Conserva:
   - viewport 920px
   - 4 especialistas exactos
   - ancho actual

   Reduce solamente:
   - altura de fotografía
   - altura de información
   ========================================================== */

@media(min-width:1001px){

    /* FOTO: 175px → 135px */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:135px !important;
        min-height:135px !important;
        max-height:135px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media img{
        width:100% !important;
        height:100% !important;

        object-fit:cover !important;
        object-position:50% 20% !important;
    }


    /* Miguel conserva ajuste independiente */

    .vx-team
    .vx-carousel-shell--team
    .post-40399
    .vx-doctor__media img{
        object-fit:cover !important;
        object-position:50% 16% !important;
    }


    /* INFORMACIÓN: 112px → 100px */

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__body{
        height:100px !important;
        min-height:100px !important;
        max-height:100px !important;

        padding:
            12px 14px 13px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__area{
        margin-bottom:5px !important;

        font-size:6.5px !important;
        line-height:1.1 !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__name{
        margin-bottom:4px !important;

        font-size:13px !important;
        line-height:1.06 !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__role{
        font-size:8.5px !important;
        line-height:1.3 !important;
    }


    /* Menos aire debajo */

    .vx-team
    .vx-carousel-shell--team
    .vx-team-grid{
        padding-bottom:10px !important;
    }


    .vx-team-home-cta{
        margin-top:8px !important;
    }

}


/* TABLET */

@media(min-width:651px) and (max-width:1000px){

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:145px !important;
        min-height:145px !important;
        max-height:145px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__body{
        height:105px !important;
        min-height:105px !important;
        max-height:105px !important;
    }

}


/* MOBILE */

@media(max-width:650px){

    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__media{
        height:190px !important;
        min-height:190px !important;
        max-height:190px !important;
    }


    .vx-team
    .vx-carousel-shell--team
    .vx-doctor__body{
        height:auto !important;
        min-height:110px !important;
        max-height:none !important;
    }

}


/* END — VIREXIS ESPECIALISTAS LOW PROFILE V7 */


/* ==========================================================
   VIREXIS — ESPECIALISTAS REAL STRUCTURE FIX V8
   Clases reales:
   .vx-doctor
   .vx-doctor-photo
   .vx-doctor-img
   .vx-doctor-info
   ========================================================== */

@media (min-width:1001px){

    /*
     * Conservamos 4 tarjetas.
     * El ancho queda compacto y homogéneo.
     */
    .vx-team .vx-carousel-shell--team{
        width:920px !important;
        max-width:920px !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .vx-team .vx-team-grid{
        gap:16px !important;
        padding-top:4px !important;
        padding-bottom:8px !important;
    }

    .vx-team .vx-doctor{
        flex:0 0 calc((100% - 48px) / 4) !important;
        width:calc((100% - 48px) / 4) !important;
        min-width:calc((100% - 48px) / 4) !important;
        max-width:calc((100% - 48px) / 4) !important;

        border-radius:15px !important;
        overflow:hidden !important;
    }


    /* =========================
       FOTO REAL
       ========================= */

    .vx-team .vx-doctor-photo{
        position:relative !important;

        width:100% !important;

        height:155px !important;
        min-height:155px !important;
        max-height:155px !important;

        aspect-ratio:auto !important;
        overflow:hidden !important;
    }

    .vx-team .vx-doctor-photo .vx-doctor-img{
        display:block !important;

        width:100% !important;
        height:100% !important;

        min-height:0 !important;
        max-height:none !important;

        object-fit:cover !important;
        object-position:50% 20% !important;

        transform:none !important;
    }


    /* =========================
       MIGUEL MINIER — ID 40399
       ========================= */

    

    


    /* =========================
       INFORMACIÓN REAL
       ========================= */

    .vx-team .vx-doctor-info{
        box-sizing:border-box !important;

        height:102px !important;
        min-height:102px !important;
        max-height:102px !important;

        padding:12px 14px 13px !important;

        overflow:hidden !important;
    }

    .vx-team .vx-doctor-info > span{
        display:block !important;

        margin:0 0 5px !important;

        font-size:6.5px !important;
        line-height:1.1 !important;
        letter-spacing:.16em !important;
    }

    .vx-team .vx-doctor-info h3{
        margin:0 0 5px !important;

        font-size:13px !important;
        line-height:1.07 !important;
        letter-spacing:-.025em !important;
    }

    .vx-team .vx-doctor-info p{
        margin:0 !important;

        font-size:8.5px !important;
        line-height:1.28 !important;
    }


    /* Altura total aproximada:
       155 foto + 102 información = 257px
    */

    .vx-team-home-cta{
        margin-top:8px !important;
    }
}


/* TABLET */

@media (min-width:651px) and (max-width:1000px){

    .vx-team .vx-doctor-photo{
        height:170px !important;
        min-height:170px !important;
        max-height:170px !important;
    }

    .vx-team .vx-doctor-info{
        min-height:110px !important;
    }
}


/* MOBILE */

@media (max-width:650px){

    .vx-team .vx-doctor-photo{
        height:210px !important;
        min-height:210px !important;
        max-height:210px !important;
    }

    .vx-team .vx-doctor-info{
        height:auto !important;
        min-height:115px !important;
        max-height:none !important;
    }
}


/* END — VIREXIS ESPECIALISTAS REAL STRUCTURE FIX V8 */


/* ==========================================================
   VIREXIS — ESPECIALISTAS APPROVED V12
   Diseño aprobado
   ========================================================== */

@media (min-width:1101px){

    /*
     * Carrusel más ancho:
     * cinco especialistas completos.
     */

    .vx-team .vx-carousel-shell--team{
        width:min(100%, 1240px) !important;
        max-width:1240px !important;

        margin-left:auto !important;
        margin-right:auto !important;
    }


    .vx-team .vx-carousel-shell--team .vx-team-grid{
        gap:16px !important;

        padding:
            5px 0 14px !important;
    }


    /*
     * 5 tarjetas exactas.
     */

    .vx-team .vx-carousel-shell--team .vx-doctor{
        flex:
            0 0 calc((100% - 64px) / 5) !important;

        width:
            calc((100% - 64px) / 5) !important;

        min-width:
            calc((100% - 64px) / 5) !important;

        max-width:
            calc((100% - 64px) / 5) !important;

        border-radius:17px !important;

        overflow:hidden !important;
    }


    /* ======================================================
       FOTOGRAFÍA
       ====================================================== */

    .vx-team .vx-doctor-photo{
        position:relative !important;

        width:100% !important;

        height:230px !important;
        min-height:230px !important;
        max-height:230px !important;

        aspect-ratio:auto !important;

        overflow:hidden !important;
    }


    .vx-team .vx-doctor-photo .vx-doctor-img{
        display:block !important;

        width:100% !important;
        height:100% !important;

        min-height:0 !important;
        max-height:none !important;

        object-fit:cover !important;
        object-position:50% 18% !important;

        transform:none !important;
    }


    /* ======================================================
       MIGUEL — aire superior
       ====================================================== */

    

    


    /* ======================================================
       MARIEL — aire superior
       ====================================================== */

    

    


    /* ======================================================
       INFORMACIÓN MÁS LEGIBLE
       ====================================================== */

    .vx-team .vx-doctor-info{
        box-sizing:border-box !important;

        height:132px !important;
        min-height:132px !important;
        max-height:132px !important;

        padding:
            17px 18px 18px !important;

        overflow:hidden !important;
    }


    .vx-team .vx-doctor-info > span{
        display:block !important;

        margin:
            0 0 8px !important;

        font-size:8px !important;
        line-height:1.1 !important;

        letter-spacing:.16em !important;
    }


    .vx-team .vx-doctor-info h3{
        margin:
            0 0 7px !important;

        font-size:18px !important;
        line-height:1.08 !important;

        letter-spacing:-.03em !important;
    }


    .vx-team .vx-doctor-info p{
        margin:0 !important;

        font-size:12px !important;
        line-height:1.4 !important;
    }


    .vx-team-home-cta{
        margin-top:18px !important;
    }
}


/* ==========================================================
   DESKTOP MEDIO — 4
   ========================================================== */

@media (min-width:901px) and (max-width:1100px){

    .vx-team .vx-carousel-shell--team{
        width:min(100%, 940px) !important;

        margin-left:auto !important;
        margin-right:auto !important;
    }

    .vx-team .vx-doctor{
        flex:
            0 0 calc((100% - 48px) / 4) !important;

        width:
            calc((100% - 48px) / 4) !important;

        min-width:
            calc((100% - 48px) / 4) !important;

        max-width:
            calc((100% - 48px) / 4) !important;
    }

    .vx-team .vx-doctor-photo{
        height:215px !important;
        min-height:215px !important;
        max-height:215px !important;
    }
}


/* ==========================================================
   TABLET — 3
   ========================================================== */

@media (min-width:651px) and (max-width:900px){

    .vx-team .vx-doctor{
        flex:
            0 0 calc((100% - 32px) / 3) !important;

        width:
            calc((100% - 32px) / 3) !important;

        min-width:
            calc((100% - 32px) / 3) !important;

        max-width:
            calc((100% - 32px) / 3) !important;
    }
}


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

@media (max-width:650px){

    .vx-team .vx-doctor{
        flex:0 0 78vw !important;

        width:78vw !important;
        min-width:78vw !important;

        max-width:300px !important;
    }

    .vx-team .vx-doctor-photo{
        height:260px !important;
        min-height:260px !important;
        max-height:260px !important;
    }

    .vx-team .vx-doctor-info{
        height:auto !important;
        min-height:130px !important;
        max-height:none !important;
    }
}


/* END — VIREXIS ESPECIALISTAS APPROVED V12 */

/* ==========================================================
   VIREXIS — TEAM CAROUSEL MASTER V17
   Una sola geometría para todos los especialistas
   ========================================================== */

@media (min-width:1101px){

    .vx-team .vx-doctor{
        display:flex !important;
        flex-direction:column !important;

        height:380px !important;
        min-height:380px !important;
        max-height:380px !important;

        overflow:hidden !important;
    }

    .vx-team .vx-doctor-photo{
        position:relative !important;

        flex:0 0 230px !important;

        width:100% !important;
        height:230px !important;
        min-height:230px !important;
        max-height:230px !important;

        overflow:hidden !important;
    }

    .vx-team .vx-doctor-photo .vx-doctor-img{
        display:block !important;

        width:100% !important;
        height:100% !important;

        min-width:100% !important;
        min-height:100% !important;

        max-width:none !important;
        max-height:none !important;

        object-fit:cover !important;
        object-position:50% 15% !important;

        transform:none !important;
        scale:none !important;

        margin:0 !important;
        padding:0 !important;
    }

    .vx-team .vx-doctor-info{
        box-sizing:border-box !important;

        flex:0 0 150px !important;

        width:100% !important;

        height:150px !important;
        min-height:150px !important;
        max-height:150px !important;

        padding:15px 17px 16px !important;

        overflow:hidden !important;
    }

    .vx-team .vx-doctor-info > span{
        display:block !important;

        margin:0 0 7px !important;

        font-size:8px !important;
        line-height:1.1 !important;

        letter-spacing:.16em !important;
    }

    .vx-team .vx-doctor-info h3{
        margin:0 0 7px !important;

        font-size:18px !important;
        line-height:1.08 !important;

        letter-spacing:-.03em !important;
    }

    .vx-team .vx-doctor-info p{
        margin:0 !important;

        font-size:11px !important;
        line-height:1.35 !important;
    }


    /*
     * Miguel tiene más contenido textual.
     * Solo cambia la tipografía del párrafo.
     * NO cambia dimensiones, foto ni posición.
     */

    .vx-team .vx-doctor--40399 .vx-doctor-info p{
        margin:0 !important;

        font-size:11px !important;
        line-height:1.28 !important;
    }

    .vx-team .vx-doctor--40399 .vx-miguel-role-line{
        display:block !important;
        margin:0 0 2px !important;
    }

    .vx-team .vx-doctor--40399 .vx-miguel-role-line:last-child{
        margin-bottom:0 !important;
    }
}

/* END — VIREXIS TEAM CAROUSEL MASTER V17 */


/* ==========================================================
   VIREXIS — MIGUEL TEXT CORRECTION V17.1
   Solo presentación del descriptor.
   No modifica fotografía, tarjeta ni geometría.
   ========================================================== */

@media (min-width:1101px){

    /*
     * Las líneas adicionales de Miguel NO son etiquetas.
     * Neutralizamos el estilo azul/uppercase/letter-spacing
     * heredado por el selector de spans.
     */

    .vx-team
    .vx-doctor--40399
    .vx-doctor-info
    p
    .vx-miguel-role-line{

        display:block !important;

        margin:0 !important;
        padding:0 !important;

        color:#73869A !important;

        font-family:inherit !important;
        font-size:11px !important;
        font-weight:400 !important;
        font-style:normal !important;

        line-height:1.34 !important;

        letter-spacing:0 !important;
        text-transform:none !important;

        opacity:1 !important;
    }

    .vx-team
    .vx-doctor--40399
    .vx-doctor-info
    p
    .vx-miguel-role-line + .vx-miguel-role-line{
        margin-top:1px !important;
    }

}

/* END — MIGUEL TEXT CORRECTION V17.1 */

/* ==========================================================
   VIREXIS — TEAM EQUAL HEIGHT FIX
   Igualación física de las tarjetas del carrusel
   ========================================================== */

@media (min-width:1101px){

    /* Cada elemento del track utiliza exactamente la misma altura */
    .vx-team .vx-team-track{
        align-items:stretch !important;
    }

    .vx-team .vx-doctor{
        box-sizing:border-box !important;

        height:380px !important;
        min-height:380px !important;
        max-height:380px !important;

        align-self:stretch !important;

        display:flex !important;
        flex-direction:column !important;

        margin-top:0 !important;
        margin-bottom:0 !important;

        padding:0 !important;

        overflow:hidden !important;
    }

    /* Fotografía idéntica para TODOS */
    .vx-team .vx-doctor > .vx-doctor-photo{
        box-sizing:border-box !important;

        flex:0 0 230px !important;

        height:230px !important;
        min-height:230px !important;
        max-height:230px !important;

        margin:0 !important;
        padding:0 !important;
    }

    /*
     * El cuerpo NO calcula su altura independientemente.
     * Ocupa exactamente todo lo que queda de los 380px.
     */
    .vx-team .vx-doctor > .vx-doctor-info{
        box-sizing:border-box !important;

        flex:1 1 auto !important;

        height:auto !important;
        min-height:0 !important;
        max-height:none !important;

        margin:0 !important;

        padding:15px 17px 16px !important;

        overflow:hidden !important;
    }

    /*
     * Miguel:
     * ninguna diferencia estructural.
     */
    .vx-team .vx-doctor--40399{
        height:380px !important;
        min-height:380px !important;
        max-height:380px !important;

        margin:0 !important;
        padding:0 !important;

        align-self:stretch !important;
    }

    .vx-team .vx-doctor--40399 > .vx-doctor-photo{
        flex-basis:230px !important;

        height:230px !important;
        min-height:230px !important;
        max-height:230px !important;
    }

    .vx-team .vx-doctor--40399 > .vx-doctor-info{
        flex:1 1 auto !important;

        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
    }
}

/* END — VIREXIS TEAM EQUAL HEIGHT FIX */

/* ==========================================================
   VIREXIS — MIGUEL CARD HEIGHT ALIGNMENT
   Alineación visual con Dra. Mariel Alberto
   ========================================================== */

@media (min-width:1101px){

    /*
     * Solo Miguel.
     * Extendemos la caja hacia abajo sin modificar
     * fotografía, texto ni posición superior.
     */

    .vx-team .vx-doctor--40399{
        height:395px !important;
        min-height:395px !important;
        max-height:395px !important;
    }

    /*
     * La fotografía conserva exactamente 230px.
     * Los 15px adicionales quedan en el cuerpo blanco.
     */

    .vx-team .vx-doctor--40399 > .vx-doctor-photo{
        height:230px !important;
        min-height:230px !important;
        max-height:230px !important;
        flex:0 0 230px !important;
    }

    .vx-team .vx-doctor--40399 > .vx-doctor-info{
        flex:1 1 auto !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
    }
}

/* END — MIGUEL CARD HEIGHT ALIGNMENT */

/* ==========================================================
   VIREXIS — MIGUEL CARD RADIUS ALIGNMENT
   Igualar esquinas superiores con Dra. Mariel Alberto
   ========================================================== */

@media (min-width:1101px){

    .vx-team .vx-doctor--40399{
        border-radius:16px !important;
        overflow:hidden !important;
    }

    .vx-team .vx-doctor--40399 > .vx-doctor-photo{
        border-radius:16px 16px 0 0 !important;
        overflow:hidden !important;
    }

    .vx-team .vx-doctor--40399 > .vx-doctor-photo > .vx-doctor-img{
        border-radius:16px 16px 0 0 !important;
    }

}

/* END — MIGUEL CARD RADIUS ALIGNMENT */

/* ==========================================================
   VIREXIS — TEAM CARD EDGE FINAL
   Hace visible la silueta redondeada sin alterar geometría
   ========================================================== */

@media (min-width:1101px){

    .vx-team .vx-doctor{
        position:relative !important;

        border-radius:16px !important;
        overflow:hidden !important;

        /*
         * Línea prácticamente imperceptible.
         * Sirve para definir la silueta sobre fondos claros.
         */
        box-shadow:
            0 0 0 1px rgba(7,62,104,.055),
            0 10px 28px rgba(2,26,45,.025) !important;
    }

    .vx-team .vx-doctor > .vx-doctor-photo{
        border-radius:16px 16px 0 0 !important;
        overflow:hidden !important;
    }

    .vx-team .vx-doctor > .vx-doctor-photo > img{
        display:block !important;
        border-radius:16px 16px 0 0 !important;
    }

    /*
     * Miguel conserva la altura que ya aprobamos.
     */
    .vx-team .vx-doctor--40399{
        height:395px !important;
        min-height:395px !important;
        max-height:395px !important;
    }

}

/* END — VIREXIS TEAM CARD EDGE FINAL */

/* ==========================================================
   VIREXIS — TEAM CARD RADIUS TRUE FIX
   ========================================================== */

@media (min-width:1101px){

    /*
     * Radio único en la CAJA COMPLETA.
     * El overflow del article recorta foto + contenido.
     */

    .vx-team article.vx-doctor{
        border-radius:22px !important;
        overflow:hidden !important;
        clip-path:inset(0 round 22px) !important;
    }

    /*
     * No necesitamos radios independientes en foto/imagen.
     * El article hace todo el recorte.
     */

    .vx-team article.vx-doctor > .vx-doctor-photo,
    .vx-team article.vx-doctor > .vx-doctor-photo > img{
        border-radius:0 !important;
    }


    /*
     * Miguel conserva exclusivamente su ajuste
     * de altura ya aprobado.
     */

    .vx-team article.vx-doctor--40399{
        height:395px !important;
        min-height:395px !important;
        max-height:395px !important;

        border-radius:22px !important;
        overflow:hidden !important;
        clip-path:inset(0 round 22px) !important;
    }

}

/* END — TEAM CARD RADIUS TRUE FIX */

/* ==========================================================
   VIREXIS — TEAM CARD PROFILE LINK
   Tarjeta completa clicable hacia perfil individual
   ========================================================== */

.vx-team .vx-doctor{
    position:relative !important;
}

.vx-team .vx-doctor-card-link{
    position:absolute !important;
    inset:0 !important;

    display:block !important;

    z-index:20 !important;

    border-radius:inherit !important;

    text-decoration:none !important;

    cursor:pointer !important;
}

/* Feedback visual sutil */
.vx-team .vx-doctor{
    transition:
        transform .28s cubic-bezier(.2,.8,.2,1),
        box-shadow .28s ease !important;
}

.vx-team .vx-doctor:hover{
    transform:translateY(-4px);
    box-shadow:
        0 18px 38px rgba(2,26,45,.10),
        0 0 0 1px rgba(7,62,104,.06) !important;
}

.vx-team .vx-doctor:focus-within{
    outline:2px solid rgba(32,184,242,.75);
    outline-offset:3px;
}

/* END — TEAM CARD PROFILE LINK */

/* ==========================================================
   VIREXIS — TEAM CARD NATIVE LINK FINAL
   ========================================================== */

.vx-team a.vx-doctor{
    color:inherit !important;
    text-decoration:none !important;
    cursor:pointer !important;
}

.vx-team a.vx-doctor:link,
.vx-team a.vx-doctor:visited,
.vx-team a.vx-doctor:hover,
.vx-team a.vx-doctor:active{
    color:inherit !important;
    text-decoration:none !important;
}

.vx-team a.vx-doctor:focus-visible{
    outline:2px solid rgba(32,184,242,.85) !important;
    outline-offset:4px !important;
}

/* END — TEAM CARD NATIVE LINK FINAL */

/* ==========================================================
   VIREXIS — TEAM CARD FINAL EDGE FIX
   Compatible con las tarjetas <a>
   ========================================================== */

.vx-team .vx-doctor{
    border-radius:22px !important;
    overflow:hidden !important;
    clip-path:inset(0 round 22px) !important;
    transform:none !important;
}

/*
 * La foto no crea su propio radio.
 * El recorte lo controla exclusivamente la tarjeta.
 */
.vx-team .vx-doctor > .vx-doctor-photo,
.vx-team .vx-doctor > .vx-doctor-photo > img,
.vx-team .vx-doctor > .vx-doctor-photo > .vx-doctor-img{
    border-radius:0 !important;
}

/*
 * Miguel conserva exactamente su altura aprobada.
 * Solo unificamos el radio con las demás tarjetas.
 */
@media (min-width:1101px){

    .vx-team .vx-doctor--40399{
        height:395px !important;
        min-height:395px !important;
        max-height:395px !important;

        border-radius:22px !important;
        overflow:hidden !important;
        clip-path:inset(0 round 22px) !important;
    }

}

/*
 * Hover premium SIN mover físicamente la tarjeta.
 */
.vx-team .vx-doctor:hover{
    transform:none !important;

    box-shadow:
        0 18px 38px rgba(2,26,45,.08),
        0 0 0 1px rgba(7,62,104,.06) !important;
}

/* END — TEAM CARD FINAL EDGE FIX */

/* ==========================================================
   VIREXIS — MIGUEL FINAL HEIGHT ALIGNMENT
   Misma altura que las demás tarjetas
   ========================================================== */

@media (min-width:1101px){

    .vx-team .vx-doctor--40399{
        height:380px !important;
        min-height:380px !important;
        max-height:380px !important;
    }

}

/* END — MIGUEL FINAL HEIGHT ALIGNMENT */


/* ==========================================================
   VIREXIS — HEADER CTA PREMIUM V2
   ========================================================== */

@media (min-width:1051px){

    .vx-header-v4-cta{
        min-width:200px !important;
        height:52px !important;

        padding:0 24px !important;

        display:inline-flex !important;
        align-items:center;
        justify-content:center;
        gap:18px;

        border:1px solid rgba(133,218,255,.75) !important;
        border-radius:999px !important;

        background:
            linear-gradient(
                135deg,
                #168FEA 0%,
                #35ADF3 55%,
                #209BEA 100%
            ) !important;

        box-shadow:
            0 10px 24px rgba(20,143,234,.22),
            inset 0 1px 0 rgba(255,255,255,.28) !important;

        color:#fff !important;

        font-size:13px !important;
        line-height:1 !important;
        font-weight:750 !important;
        letter-spacing:.005em !important;

        white-space:nowrap;

        transition:
            transform .22s ease,
            box-shadow .22s ease,
            filter .22s ease !important;
    }


    .vx-header-v4-cta::after{
        font-size:19px !important;
        font-weight:500 !important;

        transform:translateX(0);

        transition:
            transform .22s ease !important;
    }


    .vx-header-v4-cta:hover{
        transform:translateY(-2px) !important;

        filter:brightness(1.045);

        box-shadow:
            0 15px 32px rgba(20,143,234,.30),
            0 0 0 1px rgba(88,199,255,.12),
            inset 0 1px 0 rgba(255,255,255,.32) !important;
    }


    .vx-header-v4-cta:hover::after{
        transform:translateX(4px);
    }


    .vx-header-v4-cta:focus-visible{
        outline:2px solid #7DD6FF !important;
        outline-offset:3px !important;
    }

}


/* Desktop medio: conservar presencia sin forzar el header */
@media (min-width:1051px) and (max-width:1350px){

    .vx-header-v4-cta{
        min-width:184px !important;
        height:50px !important;

        padding:0 20px !important;

        gap:14px;

        font-size:12px !important;
    }

}


/* END — VIREXIS HEADER CTA PREMIUM V2 */


/* ==========================================================
   VIREXIS — FOOTER CTA PREMIUM V2
   Consistente con CTA principal del header
   ========================================================== */

.vx-footer-button{
    min-width:220px !important;
    min-height:54px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    gap:20px !important;

    padding:0 26px !important;

    border:
        1px solid rgba(133,218,255,.72) !important;

    border-radius:999px !important;

    background:
        linear-gradient(
            135deg,
            #168FEA 0%,
            #35ADF3 55%,
            #209BEA 100%
        ) !important;

    color:#fff !important;

    font-size:14px !important;
    line-height:1 !important;
    font-weight:750 !important;

    letter-spacing:.005em !important;

    white-space:nowrap;

    box-shadow:
        0 14px 32px rgba(20,143,234,.27),
        0 0 0 1px rgba(88,199,255,.06),
        inset 0 1px 0 rgba(255,255,255,.30) !important;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        filter .22s ease !important;
}


/* Flecha */
.vx-footer-button svg{
    width:19px !important;
    height:19px !important;

    flex:0 0 auto;

    stroke-width:1.8 !important;

    transition:
        transform .22s ease !important;
}


/* Si la flecha está creada mediante span/pseudo-elemento */
.vx-footer-button > span:last-child{
    font-size:19px !important;

    transition:
        transform .22s ease !important;
}


/* Hover premium */
.vx-footer-button:hover{
    color:#fff !important;

    transform:
        translateY(-2px) !important;

    filter:
        brightness(1.05);

    box-shadow:
        0 18px 38px rgba(20,143,234,.34),
        0 0 0 1px rgba(88,199,255,.13),
        inset 0 1px 0 rgba(255,255,255,.34) !important;
}


.vx-footer-button:hover svg,
.vx-footer-button:hover > span:last-child{
    transform:
        translateX(4px);
}


/* Accesibilidad */
.vx-footer-button:focus-visible{
    outline:
        2px solid #7DD6FF !important;

    outline-offset:
        4px !important;
}


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

    .vx-footer-button{
        min-width:0 !important;
        width:100% !important;
        max-width:320px;

        min-height:54px !important;

        padding:
            0 24px !important;

        font-size:
            14px !important;
    }

}


/* END — VIREXIS FOOTER CTA PREMIUM V2 */


/* ==========================================================
   VIREXIS — SINGLE ACTIVIDADES PREMIUM V1
   ========================================================== */

.vx-activity-single{
    background:#fff;
    color:#062541;
}


/* HERO */

.vx-activity-hero{
    position:relative;
    overflow:hidden;

    padding:82px 0 72px;

    background:
        radial-gradient(
            circle at 82% 10%,
            rgba(32,184,242,.13),
            transparent 29%
        ),
        linear-gradient(
            135deg,
            #021a2d 0%,
            #032743 55%,
            #073e68 100%
        );

    color:#fff;
}

.vx-activity-breadcrumb{
    display:flex;
    align-items:center;
    gap:10px;

    margin-bottom:48px;

    color:rgba(224,241,250,.62);

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

.vx-activity-breadcrumb a{
    color:inherit;
    text-decoration:none;
}

.vx-activity-breadcrumb a:hover{
    color:#58c9fa;
}

.vx-activity-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 220px;
    gap:70px;
    align-items:end;
}

.vx-activity-kicker{
    display:block;

    margin-bottom:20px;

    color:#4bc4fb;

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

    letter-spacing:.22em;
}

.vx-activity-heading h1{
    max-width:950px;

    margin:0;

    color:#fff;

    font-size:clamp(44px,5vw,76px);
    line-height:.99;
    font-weight:680;

    letter-spacing:-.055em;
}

.vx-activity-meta{
    display:flex;
    align-items:center;
    gap:13px;

    margin-top:30px;

    color:rgba(225,242,251,.67);

    font-size:10px;
    font-weight:750;

    letter-spacing:.15em;
}

.vx-activity-meta-dot{
    width:4px;
    height:4px;

    border-radius:50%;

    background:#37bdf7;
}

.vx-activity-hero-index{
    display:flex;
    flex-direction:column;
    align-items:flex-end;

    padding-bottom:5px;

    color:rgba(226,243,252,.46);
}

.vx-activity-hero-index span{
    font-size:9px;
    font-weight:750;
    letter-spacing:.30em;
}

.vx-activity-hero-index strong{
    margin-top:8px;

    color:#fff;

    font-size:15px;
    font-weight:650;

    letter-spacing:.12em;
}

.vx-activity-hero-index i{
    width:72px;
    height:1px;

    margin-top:18px;

    background:#31baf5;
}


/* FEATURE IMAGE */

.vx-activity-feature{
    padding:42px 0 0;
}

.vx-activity-feature-frame{
    position:relative;

    height:clamp(440px,51vw,690px);

    margin:0;

    overflow:hidden;

    border-radius:28px;

    background:#dce7ef;

    box-shadow:
        0 30px 80px rgba(2,26,45,.10);
}

.vx-activity-feature-image{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center 28%;
}


/* CONTENT */

.vx-activity-body{
    padding:78px 0 100px;
}

.vx-activity-layout{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        330px;

    gap:92px;

    align-items:start;
}

.vx-activity-article{
    min-width:0;
}

.vx-activity-editorial{
    max-width:820px;

    color:#395269;

    font-size:18px;
    line-height:1.85;
}

.vx-activity-editorial > p:first-child{
    margin-top:0;

    color:#0b3151;

    font-size:23px;
    line-height:1.58;
    font-weight:480;

    letter-spacing:-.018em;
}

.vx-activity-editorial p{
    margin:0 0 25px;
}

.vx-activity-editorial h2{
    margin:52px 0 18px;

    color:#062541;

    font-size:34px;
    line-height:1.12;
    font-weight:680;

    letter-spacing:-.035em;
}

.vx-activity-editorial h3{
    margin:40px 0 15px;

    color:#062541;

    font-size:25px;
    line-height:1.18;
    font-weight:680;

    letter-spacing:-.025em;
}

.vx-activity-editorial a{
    color:#0878bd;
}


/* IMAGELY / GALLERIES */

.vx-activity-editorial .ngg-galleryoverview,
.vx-activity-editorial .ngg-gallery-thumbnail-box,
.vx-activity-editorial .ngg-gallery-thumbnail,
.vx-activity-editorial figure{
    box-sizing:border-box;
}

.vx-activity-editorial .ngg-galleryoverview{
    margin-top:52px !important;
    margin-bottom:0 !important;
}

.vx-activity-editorial img{
    max-width:100%;
    height:auto;
}

.vx-activity-editorial .ngg-gallery-thumbnail img{
    border:0 !important;
    border-radius:12px !important;
}


/* RELATED */

.vx-activity-related{
    position:sticky;
    top:112px;
}

.vx-related-heading{
    padding-bottom:20px;

    border-bottom:1px solid #dce8ef;
}

.vx-related-heading span{
    display:block;

    margin-bottom:9px;

    color:#159ddd;

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

    letter-spacing:.20em;
}

.vx-related-heading h2{
    margin:0;

    color:#062541;

    font-size:27px;
    line-height:1.1;
    font-weight:680;

    letter-spacing:-.035em;
}

.vx-related-list{
    display:flex;
    flex-direction:column;
}

.vx-related-card{
    display:grid;

    grid-template-columns:104px minmax(0,1fr);

    gap:15px;

    padding:20px 0;

    border-bottom:1px solid #e1ebf1;

    color:inherit;

    text-decoration:none;
}

.vx-related-media{
    position:relative;

    height:92px;

    overflow:hidden;

    border-radius:12px;

    background:#e5edf2;
}

.vx-related-image{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
}

.vx-related-number{
    position:absolute;

    right:7px;
    bottom:7px;

    display:grid;

    width:25px;
    height:25px;

    place-items:center;

    border:1px solid rgba(255,255,255,.65);
    border-radius:50%;

    color:#fff;

    background:rgba(2,26,45,.72);

    font-size:8px;
    font-weight:750;
}

.vx-related-content{
    min-width:0;
}

.vx-related-content time{
    display:block;

    margin-bottom:7px;

    color:#159ddd;

    font-size:8px;
    font-weight:800;

    letter-spacing:.13em;
}

.vx-related-content h3{
    display:-webkit-box;

    margin:0;

    overflow:hidden;

    color:#092c49;

    font-size:14px;
    line-height:1.3;
    font-weight:680;

    letter-spacing:-.018em;

    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
}

.vx-related-link{
    display:flex;

    align-items:center;
    justify-content:space-between;

    margin-top:10px;

    color:#527087;

    font-size:8px;
    font-weight:800;

    letter-spacing:.12em;

    text-transform:uppercase;
}

.vx-related-link b{
    color:#19a9ec;

    font-size:15px;
    font-weight:500;

    transition:transform .2s ease;
}

.vx-related-card:hover .vx-related-link b{
    transform:translateX(4px);
}

.vx-related-all{
    display:flex;

    align-items:center;
    justify-content:space-between;

    margin-top:24px;

    padding:15px 17px;

    border:1px solid #cfe1eb;
    border-radius:999px;

    color:#073e68;

    background:#f7fbfd;

    font-size:10px;
    font-weight:800;

    letter-spacing:.08em;

    text-decoration:none;

    text-transform:uppercase;
}

.vx-related-all span{
    color:#1aabe9;

    font-size:15px;
}


/* PREVIOUS / NEXT */

.vx-activity-navigation{
    padding:0 0 100px;
}

.vx-activity-nav-grid{
    display:grid;
    grid-template-columns:1fr 1fr;

    border-top:1px solid #dce8ef;
    border-bottom:1px solid #dce8ef;
}

.vx-activity-nav-link{
    display:flex;

    min-height:150px;

    align-items:center;

    gap:22px;

    padding:28px 0;

    color:#092c49;

    text-decoration:none;
}

.vx-activity-nav-link--next{
    justify-content:flex-end;

    padding-left:42px;

    border-left:1px solid #dce8ef;

    text-align:right;
}

.vx-activity-nav-link--prev{
    padding-right:42px;
}

.vx-activity-nav-link small{
    display:block;

    margin-bottom:8px;

    color:#169fde;

    font-size:8px;
    font-weight:800;

    letter-spacing:.18em;
}

.vx-activity-nav-link strong{
    display:block;

    max-width:420px;

    color:#092c49;

    font-size:16px;
    line-height:1.35;
    font-weight:650;
}

.vx-activity-nav-arrow{
    display:grid;

    width:48px;
    height:48px;

    flex:0 0 48px;

    place-items:center;

    border:1px solid #b9d4e3;
    border-radius:50%;

    color:#119fdc;

    font-size:20px;

    transition:
        color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.vx-activity-nav-link:hover
.vx-activity-nav-arrow{
    color:#fff;

    background:#0a5792;

    transform:translateX(3px);
}

.vx-activity-nav-link--prev:hover
.vx-activity-nav-arrow{
    transform:translateX(-3px);
}


/* GENERIC POSTS */

.vx-generic-single{
    padding:80px 0 110px;
}

.vx-generic-single article{
    max-width:900px;
    margin:0 auto;
}

.vx-generic-single h1{
    color:#062541;

    font-size:clamp(38px,5vw,64px);
    line-height:1.02;

    letter-spacing:-.045em;
}

.vx-generic-single-content{
    color:#395269;

    font-size:18px;
    line-height:1.8;
}


/* TABLET */

@media(max-width:1050px){

    .vx-activity-hero{
        padding:64px 0 60px;
    }

    .vx-activity-hero-grid{
        grid-template-columns:1fr;
        gap:0;
    }

    .vx-activity-hero-index{
        display:none;
    }

    .vx-activity-heading h1{
        font-size:clamp(42px,7vw,62px);
    }

    .vx-activity-layout{
        grid-template-columns:minmax(0,1fr) 280px;
        gap:50px;
    }

}


/* MOBILE */

@media(max-width:760px){

    .vx-activity-hero{
        padding:42px 0 48px;
    }

    .vx-activity-breadcrumb{
        margin-bottom:30px;
    }

    .vx-activity-heading h1{
        font-size:38px;
        line-height:1.02;
    }

    .vx-activity-meta{
        flex-wrap:wrap;

        margin-top:24px;

        line-height:1.5;
    }

    .vx-activity-feature{
        padding-top:18px;
    }

    .vx-activity-feature-frame{
        height:62vw;
        min-height:250px;

        border-radius:18px;
    }

    .vx-activity-body{
        padding:48px 0 70px;
    }

    .vx-activity-layout{
        display:block;
    }

    .vx-activity-editorial{
        font-size:16px;
        line-height:1.75;
    }

    .vx-activity-editorial > p:first-child{
        font-size:20px;
        line-height:1.55;
    }

    .vx-activity-related{
        position:static;

        margin-top:65px;
        padding-top:45px;

        border-top:1px solid #dce8ef;
    }

    .vx-related-card{
        grid-template-columns:112px minmax(0,1fr);
    }

    .vx-activity-navigation{
        padding-bottom:70px;
    }

    .vx-activity-nav-grid{
        grid-template-columns:1fr;
    }

    .vx-activity-nav-link{
        min-height:125px;
    }

    .vx-activity-nav-link--next{
        padding-left:0;

        border-top:1px solid #dce8ef;
        border-left:0;
    }

}


/* END — SINGLE ACTIVIDADES PREMIUM V1 */


/* ==========================================================
   VIREXIS — SINGLE ACTIVIDADES
   HERO EDITORIAL PREMIUM V2
   ========================================================== */

@media (min-width:1051px){

    .vx-activity-hero{
        padding:
            70px 0 76px !important;
    }

    .vx-activity-breadcrumb{
        margin-bottom:
            38px !important;
    }

    .vx-activity-hero-grid{
        grid-template-columns:
            minmax(0,1.05fr)
            minmax(390px,.72fr) !important;

        gap:
            clamp(65px,6vw,105px) !important;

        align-items:center !important;
    }

    .vx-activity-heading{
        position:relative;
        z-index:2;
    }

    .vx-activity-heading h1{
        max-width:
            790px !important;

        font-size:
            clamp(48px,4.25vw,68px) !important;

        line-height:
            1.015 !important;
    }


    /* ------------------------------------------
       VISUAL DERECHO
       ------------------------------------------ */

    .vx-activity-hero-visual{
        position:relative;

        width:100%;
        max-width:510px;

        justify-self:end;

        padding:
            14px 14px 18px 0;
    }


    /*
     * Línea arquitectónica posterior.
     * Da profundidad sin parecer una tarjeta.
     */
    .vx-activity-hero-visual::before{
        content:"";

        position:absolute;

        top:-18px;
        right:-18px;

        width:72%;
        height:72%;

        border:
            1px solid rgba(77,194,246,.22);

        border-radius:
            30px;

        pointer-events:none;
    }


    .vx-activity-hero-photo{
        position:relative;
        z-index:2;

        height:
            clamp(300px,27vw,390px);

        overflow:hidden;

        border:
            1px solid rgba(151,218,247,.24);

        border-radius:
            28px;

        background:
            #073e68;

        box-shadow:
            0 32px 65px rgba(0,8,19,.30),
            0 8px 20px rgba(0,8,19,.18),
            inset 0 1px 0 rgba(255,255,255,.14);

        transform:
            translateZ(0);
    }


    .vx-activity-hero-image{
        display:block;

        width:100% !important;
        height:100% !important;

        object-fit:
            cover !important;

        object-position:
            center 30% !important;

        transform:
            scale(1.015);

        transition:
            transform .7s cubic-bezier(.2,.7,.2,1);
    }


    .vx-activity-hero-photo:hover
    .vx-activity-hero-image{
        transform:
            scale(1.045);
    }


    /*
     * Degradado inferior para integrar la imagen
     * con el lenguaje azul oscuro de Virexis.
     */
    .vx-activity-hero-photo-shade{
        position:absolute;
        inset:0;

        pointer-events:none;

        background:
            linear-gradient(
                180deg,
                transparent 48%,
                rgba(2,26,45,.08) 65%,
                rgba(2,26,45,.72) 100%
            );
    }


    /* Identificador editorial dentro de la foto */

    .vx-activity-hero-photo-mark{
        position:absolute;

        right:25px;
        bottom:23px;

        display:flex;
        flex-direction:column;

        align-items:flex-end;

        z-index:3;
    }


    .vx-activity-hero-photo-mark small{
        color:
            rgba(220,241,251,.68);

        font-size:
            8px;

        line-height:1;

        font-weight:
            750;

        letter-spacing:
            .30em;
    }


    .vx-activity-hero-photo-mark strong{
        margin-top:
            7px;

        color:#fff;

        font-size:
            12px;

        line-height:1;

        font-weight:
            750;

        letter-spacing:
            .16em;
    }


    /* Punto decorativo premium */

    .vx-activity-hero-orbit{
        position:absolute;

        left:-13px;
        bottom:0;

        z-index:4;

        width:48px;
        height:48px;

        border:
            1px solid rgba(92,205,252,.56);

        border-radius:
            50%;

        background:
            #073e68;

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


    .vx-activity-hero-orbit::before{
        content:"";

        position:absolute;

        top:50%;
        left:50%;

        width:6px;
        height:6px;

        border-radius:50%;

        background:
            #45c6fb;

        box-shadow:
            0 0 0 6px rgba(69,198,251,.10);

        transform:
            translate(-50%,-50%);
    }


    /*
     * Al estar la foto dentro del hero,
     * el contenido comienza más cerca.
     */
    .vx-activity-body{
        padding-top:
            72px !important;
    }

}


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

@media (min-width:761px) and (max-width:1050px){

    .vx-activity-hero-grid{
        grid-template-columns:
            minmax(0,1fr)
            minmax(300px,.72fr) !important;

        gap:
            42px !important;

        align-items:center !important;
    }

    .vx-activity-hero-index{
        display:none !important;
    }

    .vx-activity-hero-visual{
        position:relative;
    }

    .vx-activity-hero-photo{
        position:relative;

        height:320px;

        overflow:hidden;

        border-radius:24px;

        border:
            1px solid rgba(151,218,247,.22);

        box-shadow:
            0 25px 50px rgba(0,8,19,.24);
    }

    .vx-activity-hero-image{
        width:100%;
        height:100%;

        object-fit:cover;

        object-position:center 30%;
    }

    .vx-activity-hero-photo-shade{
        position:absolute;
        inset:0;

        background:
            linear-gradient(
                180deg,
                transparent 55%,
                rgba(2,26,45,.68) 100%
            );
    }

    .vx-activity-hero-photo-mark{
        position:absolute;

        right:20px;
        bottom:20px;

        color:#fff;

        text-align:right;
    }

    .vx-activity-hero-photo-mark small,
    .vx-activity-hero-photo-mark strong{
        display:block;
    }

    .vx-activity-hero-photo-mark small{
        font-size:7px;
        letter-spacing:.25em;
    }

    .vx-activity-hero-photo-mark strong{
        margin-top:5px;

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

}


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

@media (max-width:760px){

    .vx-activity-hero-grid{
        display:block !important;
    }

    .vx-activity-hero-visual{
        position:relative;

        margin-top:36px;
    }

    .vx-activity-hero-photo{
        position:relative;

        height:62vw;
        min-height:245px;
        max-height:370px;

        overflow:hidden;

        border:
            1px solid rgba(151,218,247,.22);

        border-radius:
            20px;

        box-shadow:
            0 24px 45px rgba(0,8,19,.25);
    }

    .vx-activity-hero-image{
        display:block;

        width:100% !important;
        height:100% !important;

        object-fit:cover !important;

        object-position:center 28% !important;
    }

    .vx-activity-hero-photo-shade{
        position:absolute;
        inset:0;

        background:
            linear-gradient(
                180deg,
                transparent 55%,
                rgba(2,26,45,.72) 100%
            );
    }

    .vx-activity-hero-photo-mark{
        position:absolute;

        right:18px;
        bottom:17px;

        color:#fff;

        text-align:right;
    }

    .vx-activity-hero-photo-mark small,
    .vx-activity-hero-photo-mark strong{
        display:block;
    }

    .vx-activity-hero-photo-mark small{
        font-size:7px;
        letter-spacing:.24em;
    }

    .vx-activity-hero-photo-mark strong{
        margin-top:5px;

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

    .vx-activity-hero-orbit{
        display:none;
    }

}


/* END — SINGLE ACTIVIDADES HERO PREMIUM V2 */


/* ==========================================================
   VIREXIS — RECURSOS Y AYUDA / FAQ V1
   ========================================================== */

.vx-resource-page{
    --vx-r-navy:#021a2d;
    --vx-r-navy2:#032743;
    --vx-r-blue:#073e68;
    --vx-r-accent:#39b9f3;
    --vx-r-text:#092844;
    --vx-r-muted:#637b8d;
    --vx-r-line:#dce8ef;
    background:#fff;
}


/* HERO */

.vx-resource-hero{
    position:relative;
    overflow:hidden;
    padding:54px 0 78px;
    color:#fff;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(49,170,239,.16),
            transparent 31%
        ),
        linear-gradient(
            135deg,
            #021a2d 0%,
            #032743 54%,
            #073e68 100%
        );
}

.vx-resource-hero::after{
    content:"";
    position:absolute;
    right:-120px;
    bottom:-210px;
    width:520px;
    height:520px;
    border:1px solid rgba(90,199,248,.09);
    border-radius:50%;
    pointer-events:none;
}

.vx-resource-breadcrumb{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:52px;
    color:rgba(221,239,248,.58);
    font-size:10px;
    font-weight:750;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.vx-resource-breadcrumb a{
    color:inherit;
    text-decoration:none;
}

.vx-resource-breadcrumb a:hover{
    color:#58c9fa;
}

.vx-resource-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.55fr);
    gap:90px;
    align-items:end;
}

.vx-resource-eyebrow{
    display:block;
    margin-bottom:20px;
    color:#51c7fa;
    font-size:10px;
    font-weight:850;
    letter-spacing:.25em;
}

.vx-resource-hero-copy h1{
    max-width:790px;
    margin:0;
    color:#fff;
    font-size:clamp(55px,5vw,78px);
    font-weight:750;
    line-height:.95;
    letter-spacing:-.055em;
}

.vx-resource-hero-copy h1 em{
    color:#50c4f6;
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
}

.vx-resource-hero-copy > p{
    max-width:570px;
    margin:28px 0 0;
    color:rgba(231,243,249,.72);
    font-size:17px;
    line-height:1.7;
}

.vx-resource-hero-aside{
    display:grid;
    grid-template-columns:70px 1fr;
    gap:25px;
    align-items:center;
    padding:28px 0 9px 32px;
    border-left:1px solid rgba(108,201,243,.20);
}

.vx-resource-aside-number{
    color:#4dc5f8;
    font-size:43px;
    font-weight:300;
    letter-spacing:-.05em;
}

.vx-resource-hero-aside small{
    display:block;
    margin-bottom:9px;
    color:rgba(195,226,241,.52);
    font-size:8px;
    font-weight:800;
    letter-spacing:.22em;
}

.vx-resource-hero-aside strong{
    color:#fff;
    font-size:17px;
    line-height:1.35;
}


/* RESOURCE NAV */

.vx-resource-nav{
    position:relative;
    z-index:5;
    background:#fff;
    border-bottom:1px solid #e1ebf1;
    box-shadow:0 10px 30px rgba(2,26,45,.035);
}

.vx-resource-nav-inner{
    display:grid;
    grid-template-columns:repeat(4,1fr);
}

.vx-resource-nav a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:82px;
    padding:0 25px;
    border-right:1px solid #e5edf2;
    color:#5e7485;
    font-size:12px;
    font-weight:700;
    line-height:1.3;
    text-decoration:none;
    transition:.25s ease;
}

.vx-resource-nav a:first-child{
    border-left:1px solid #e5edf2;
}

.vx-resource-nav a span{
    margin-right:14px;
    color:#9babb6;
    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
}

.vx-resource-nav a::after{
    content:"";
    position:absolute;
    left:25px;
    right:25px;
    bottom:0;
    height:2px;
    background:#3abaf4;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .25s ease;
}

.vx-resource-nav a:hover,
.vx-resource-nav a.is-active{
    color:#073e68;
}

.vx-resource-nav a.is-active span{
    color:#2aaef0;
}

.vx-resource-nav a:hover::after,
.vx-resource-nav a.is-active::after{
    transform:scaleX(1);
}


/* FAQ BODY */

.vx-faq-content{
    padding:105px 0 120px;
}

.vx-faq-intro{
    display:grid;
    grid-template-columns:180px minmax(0,620px) minmax(250px,1fr);
    gap:55px;
    align-items:end;
    padding-bottom:58px;
    border-bottom:1px solid var(--vx-r-line);
}

.vx-faq-intro > span{
    align-self:start;
    padding-top:10px;
    color:#2caeea;
    font-size:9px;
    font-weight:850;
    letter-spacing:.22em;
}

.vx-faq-intro h2{
    margin:0;
    color:#082b49;
    font-size:clamp(38px,4vw,58px);
    font-weight:720;
    line-height:1.02;
    letter-spacing:-.045em;
}

.vx-faq-intro h2 em{
    color:#2caeea;
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
}

.vx-faq-intro p{
    max-width:360px;
    margin:0 0 5px auto;
    color:#6b8090;
    font-size:14px;
    line-height:1.7;
}


/* GROUP */

.vx-faq-group{
    display:grid;
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr);
    gap:80px;
    padding:74px 0;
    border-bottom:1px solid var(--vx-r-line);
}

.vx-faq-group-head{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:22px;
    align-content:start;
}

.vx-faq-group-number{
    padding-top:3px;
    color:#36b8f2;
    font-size:13px;
    font-weight:850;
    letter-spacing:.12em;
}

.vx-faq-group-head span{
    display:block;
    margin-bottom:11px;
    color:#8295a3;
    font-size:9px;
    font-weight:850;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.vx-faq-group-head h3{
    margin:0;
    color:#082b49;
    font-size:29px;
    line-height:1.1;
    letter-spacing:-.035em;
}

.vx-faq-group-head p{
    max-width:340px;
    margin:17px 0 0;
    color:#718493;
    font-size:13px;
    line-height:1.7;
}


/* ACCORDION */

.vx-faq-list{
    border-top:1px solid #dbe6ed;
}

.vx-faq-item{
    border-bottom:1px solid #dbe6ed;
}

.vx-faq-item summary{
    position:relative;
    display:grid;
    grid-template-columns:1fr 42px;
    gap:30px;
    align-items:center;
    min-height:86px;
    padding:22px 4px;
    cursor:pointer;
    list-style:none;
    color:#0a2b47;
}

.vx-faq-item summary::-webkit-details-marker{
    display:none;
}

.vx-faq-question{
    font-size:16px;
    font-weight:720;
    line-height:1.45;
}

.vx-faq-toggle{
    position:relative;
    width:38px;
    height:38px;
    border:1px solid #cbdde7;
    border-radius:50%;
    transition:.25s ease;
}

.vx-faq-toggle::before,
.vx-faq-toggle::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:12px;
    height:1.5px;
    background:#168fca;
    transform:translate(-50%,-50%);
    transition:.25s ease;
}

.vx-faq-toggle::after{
    transform:
        translate(-50%,-50%)
        rotate(90deg);
}

.vx-faq-item[open] .vx-faq-toggle{
    border-color:#2bb6f1;
    background:#eaf8fe;
}

.vx-faq-item[open] .vx-faq-toggle::after{
    transform:
        translate(-50%,-50%)
        rotate(0deg);
}

.vx-faq-item[open] summary{
    color:#0875ad;
}

.vx-faq-answer{
    max-width:760px;
    padding:0 70px 27px 4px;
}

.vx-faq-answer p{
    margin:0;
    color:#647b8b;
    font-size:14px;
    line-height:1.8;
}


/* HELP CTA */

.vx-resource-help{
    padding:0 0 110px;
}

.vx-resource-help-card{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr auto;
    gap:70px;
    align-items:center;
    padding:54px 60px;
    border-radius:25px;
    color:#fff;
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(66,191,246,.20),
            transparent 31%
        ),
        linear-gradient(
            120deg,
            #032743,
            #073e68
        );
}

.vx-resource-help-card::after{
    content:"";
    position:absolute;
    right:-100px;
    bottom:-190px;
    width:380px;
    height:380px;
    border:1px solid rgba(95,203,250,.12);
    border-radius:50%;
}

.vx-resource-help-copy{
    position:relative;
    z-index:2;
}

.vx-resource-help-copy > span{
    display:block;
    margin-bottom:13px;
    color:#54c8f8;
    font-size:9px;
    font-weight:850;
    letter-spacing:.22em;
}

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

.vx-resource-help-copy p{
    max-width:520px;
    margin:18px 0 0;
    color:rgba(226,241,248,.70);
    font-size:14px;
    line-height:1.65;
}

.vx-resource-help-actions{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:27px;
}

.vx-resource-contact-link{
    display:flex;
    align-items:center;
    gap:10px;
    color:#fff;
    font-size:13px;
    font-weight:750;
    text-decoration:none;
}

.vx-resource-contact-link span{
    color:#4bc6fb;
}

.vx-resource-primary-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:28px;
    min-height:58px;
    padding:0 27px;
    border:1px solid rgba(255,255,255,.26);
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,#238edb,#42b8f5);
    box-shadow:
        0 13px 28px rgba(0,110,190,.25),
        inset 0 1px 0 rgba(255,255,255,.22);
    font-size:14px;
    font-weight:800;
    text-decoration:none;
    transition:.25s ease;
}

.vx-resource-primary-btn:hover{
    transform:translateY(-2px);
    box-shadow:
        0 17px 34px rgba(0,110,190,.30),
        inset 0 1px 0 rgba(255,255,255,.25);
}


/* TABLET */

@media(max-width:1050px){

    .vx-resource-hero-grid{
        grid-template-columns:1fr .55fr;
        gap:45px;
    }

    .vx-resource-nav-inner{
        overflow-x:auto;
        grid-template-columns:repeat(4,minmax(210px,1fr));
    }

    .vx-faq-intro{
        grid-template-columns:140px 1fr;
    }

    .vx-faq-intro p{
        grid-column:2;
        margin:0;
    }

    .vx-faq-group{
        grid-template-columns:280px 1fr;
        gap:45px;
    }

}


/* MOBILE */

@media(max-width:760px){

    .vx-resource-hero{
        padding:34px 0 55px;
    }

    .vx-resource-breadcrumb{
        margin-bottom:34px;
    }

    .vx-resource-hero-grid{
        grid-template-columns:1fr;
        gap:42px;
    }

    .vx-resource-hero-copy h1{
        font-size:49px;
    }

    .vx-resource-hero-copy > p{
        margin-top:22px;
        font-size:15px;
    }

    .vx-resource-hero-aside{
        grid-template-columns:55px 1fr;
        padding:22px 0 0;
        border-top:1px solid rgba(108,201,243,.18);
        border-left:0;
    }

    .vx-resource-aside-number{
        font-size:34px;
    }

    .vx-resource-nav .virexis-container{
        padding-left:0;
        padding-right:0;
    }

    .vx-resource-nav-inner{
        display:flex;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .vx-resource-nav-inner::-webkit-scrollbar{
        display:none;
    }

    .vx-resource-nav a{
        flex:0 0 210px;
        min-height:72px;
        padding:0 20px;
    }

    .vx-faq-content{
        padding:72px 0 85px;
    }

    .vx-faq-intro{
        display:block;
        padding-bottom:42px;
    }

    .vx-faq-intro > span{
        display:block;
        margin-bottom:20px;
    }

    .vx-faq-intro h2{
        font-size:39px;
    }

    .vx-faq-intro p{
        margin-top:22px;
    }

    .vx-faq-group{
        display:block;
        padding:55px 0;
    }

    .vx-faq-group-head{
        margin-bottom:38px;
    }

    .vx-faq-group-head h3{
        font-size:27px;
    }

    .vx-faq-item summary{
        grid-template-columns:1fr 38px;
        gap:18px;
        min-height:78px;
    }

    .vx-faq-question{
        font-size:15px;
    }

    .vx-faq-answer{
        padding-right:10px;
    }

    .vx-resource-help{
        padding-bottom:75px;
    }

    .vx-resource-help-card{
        display:block;
        padding:40px 28px;
        border-radius:21px;
    }

    .vx-resource-help-copy h2{
        font-size:34px;
    }

    .vx-resource-help-actions{
        align-items:flex-start;
        flex-direction:column;
        margin-top:32px;
    }

    .vx-resource-primary-btn{
        width:100%;
    }

}


/* END — VIREXIS RECURSOS / FAQ V1 */


/* ==========================================================
   VIREXIS — PREPARACION PARA TU CITA V1
   Recursos y Ayuda / 02
   ========================================================== */


/* INTRO */

.vx-prep-intro{
    padding:100px 0 68px;
}

.vx-prep-intro-grid{
    display:grid;
    grid-template-columns:180px minmax(0,620px) minmax(250px,1fr);
    gap:55px;
    align-items:end;

    padding-bottom:62px;

    border-bottom:1px solid #dce8ef;
}

.vx-prep-label{
    align-self:start;

    padding-top:10px;

    color:#2caeea;

    font-size:9px;
    font-weight:850;

    letter-spacing:.22em;
}

.vx-prep-intro h2{
    margin:0;

    color:#082b49;

    font-size:clamp(38px,4vw,58px);
    font-weight:720;

    line-height:1.02;

    letter-spacing:-.045em;
}

.vx-prep-intro h2 em{
    color:#2caeea;

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

.vx-prep-intro p{
    max-width:370px;

    margin:0 0 5px auto;

    color:#6b8090;

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


/* STEPS */

.vx-prep-steps{
    padding:0 0 25px;
}

.vx-prep-step{
    display:grid;

    grid-template-columns:
        105px
        minmax(280px,.82fr)
        minmax(0,1.15fr);

    gap:55px;

    padding:68px 0;

    border-bottom:1px solid #dce8ef;
}

.vx-prep-step-index{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.vx-prep-step-index span{
    color:#29afea;

    font-size:14px;
    font-weight:850;

    letter-spacing:.14em;
}

.vx-prep-step-index i{
    display:block;

    width:34px;
    height:1px;

    margin-top:17px;

    background:#42bdf3;
}

.vx-prep-step-eyebrow{
    display:block;

    margin-bottom:12px;

    color:#8799a6;

    font-size:9px;
    font-weight:850;

    letter-spacing:.20em;
}

.vx-prep-step-copy h3{
    max-width:430px;

    margin:0;

    color:#082b49;

    font-size:30px;
    line-height:1.08;
    font-weight:720;

    letter-spacing:-.035em;
}

.vx-prep-step-copy > p{
    max-width:440px;

    margin:19px 0 0;

    color:#6b8090;

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


/* CHECKLIST */

.vx-prep-checklist{
    border-top:1px solid #dce8ef;
}

.vx-prep-check{
    display:grid;

    grid-template-columns:38px 1fr;

    gap:17px;

    align-items:center;

    min-height:64px;

    padding:13px 4px;

    border-bottom:1px solid #dce8ef;
}

.vx-prep-check > span{
    display:grid;

    width:28px;
    height:28px;

    place-items:center;

    border:1px solid #c6dce8;
    border-radius:50%;

    color:#139edc;

    background:#f8fcfe;

    font-size:11px;
    font-weight:800;
}

.vx-prep-check p{
    margin:0;

    color:#163b58;

    font-size:13px;
    line-height:1.5;
    font-weight:650;
}


/* PREVIOUS STUDIES */

.vx-prep-studies{
    padding:82px 0 35px;
}

.vx-prep-studies-card{
    position:relative;

    display:grid;

    grid-template-columns:
        70px
        minmax(300px,.85fr)
        minmax(0,1.15fr);

    gap:45px;

    align-items:center;

    overflow:hidden;

    padding:48px 52px;

    border:1px solid #d9e8f0;
    border-radius:24px;

    background:
        radial-gradient(
            circle at 92% 12%,
            rgba(44,174,234,.08),
            transparent 28%
        ),
        #f7fbfd;
}

.vx-prep-studies-number{
    display:grid;

    width:54px;
    height:54px;

    place-items:center;

    border:1px solid #b9dbe9;
    border-radius:50%;

    color:#22a8e5;

    font-size:28px;
    font-weight:300;
}

.vx-prep-studies-copy > span{
    display:block;

    margin-bottom:10px;

    color:#27abe7;

    font-size:8px;
    font-weight:850;

    letter-spacing:.20em;
}

.vx-prep-studies-copy h2{
    margin:0;

    color:#082b49;

    font-size:32px;
    line-height:1.05;

    letter-spacing:-.035em;
}

.vx-prep-studies-copy p{
    max-width:480px;

    margin:15px 0 0;

    color:#687f8f;

    font-size:13px;
    line-height:1.7;
}

.vx-prep-studies-types{
    display:flex;

    flex-wrap:wrap;

    gap:9px;

    align-content:center;
}

.vx-prep-studies-types span{
    padding:10px 14px;

    border:1px solid #cfe1ea;
    border-radius:999px;

    color:#31546c;

    background:#fff;

    font-size:10px;
    font-weight:750;
}


/* NOTE */

.vx-prep-note{
    padding:18px 0 90px;
}

.vx-prep-note-inner{
    display:grid;

    grid-template-columns:42px 1fr;

    gap:20px;

    max-width:900px;

    padding:25px 0;
}

.vx-prep-note-icon{
    display:grid;

    width:34px;
    height:34px;

    place-items:center;

    border:1px solid #bcd9e8;
    border-radius:50%;

    color:#139edc;

    font-family:Georgia,"Times New Roman",serif;
    font-size:17px;
    font-style:italic;
}

.vx-prep-note-inner strong{
    display:block;

    margin-bottom:7px;

    color:#153a56;

    font-size:14px;
}

.vx-prep-note-inner p{
    max-width:720px;

    margin:0;

    color:#718695;

    font-size:12px;
    line-height:1.7;
}


/* TABLET */

@media(max-width:1050px){

    .vx-prep-intro-grid{
        grid-template-columns:140px 1fr;
    }

    .vx-prep-intro p{
        grid-column:2;

        margin:0;
    }

    .vx-prep-step{
        grid-template-columns:
            70px
            minmax(240px,.8fr)
            minmax(0,1fr);

        gap:35px;
    }

    .vx-prep-studies-card{
        grid-template-columns:
            55px
            minmax(260px,.9fr)
            minmax(0,1fr);

        gap:30px;

        padding:40px;
    }

}


/* MOBILE */

@media(max-width:760px){

    .vx-prep-intro{
        padding:70px 0 45px;
    }

    .vx-prep-intro-grid{
        display:block;

        padding-bottom:42px;
    }

    .vx-prep-label{
        display:block;

        margin-bottom:20px;
    }

    .vx-prep-intro h2{
        font-size:39px;
    }

    .vx-prep-intro p{
        margin-top:22px;
    }

    .vx-prep-step{
        display:block;

        padding:52px 0;
    }

    .vx-prep-step-index{
        margin-bottom:25px;
    }

    .vx-prep-step-copy h3{
        font-size:27px;
    }

    .vx-prep-checklist{
        margin-top:32px;
    }

    .vx-prep-studies{
        padding-top:60px;
    }

    .vx-prep-studies-card{
        display:block;

        padding:34px 27px;

        border-radius:20px;
    }

    .vx-prep-studies-number{
        margin-bottom:25px;
    }

    .vx-prep-studies-copy h2{
        font-size:29px;
    }

    .vx-prep-studies-types{
        margin-top:28px;
    }

    .vx-prep-note{
        padding-bottom:70px;
    }

}


/* END — PREPARACION PARA TU CITA V1 */


/* ==========================================================
   VIREXIS — BIBLIOTECA GUIAS V1
   Recursos y Ayuda / 03
   ========================================================== */


/* INTRO */

.vx-guides-intro{
    padding:94px 0 62px;
}

.vx-guides-intro-grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(280px,.6fr);
    gap:90px;
    align-items:end;

    padding-bottom:58px;

    border-bottom:1px solid #dce8ef;
}

.vx-guides-kicker{
    display:block;

    margin-bottom:17px;

    color:#24aae7;

    font-size:9px;
    font-weight:850;

    letter-spacing:.22em;
}

.vx-guides-intro h2{
    margin:0;

    color:#082b49;

    font-size:clamp(38px,4vw,58px);
    font-weight:720;

    line-height:1.02;

    letter-spacing:-.045em;
}

.vx-guides-intro h2 em{
    color:#2caeea;

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

.vx-guides-intro p{
    max-width:390px;

    margin:0 0 5px auto;

    color:#6c8190;

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


/* LIBRARY */

.vx-guides-library{
    padding:0 0 70px;
}


/* TOOLBAR */

.vx-guides-toolbar{
    display:grid;

    grid-template-columns:190px 1fr;

    gap:50px;

    align-items:start;

    padding:35px 0 40px;

    border-bottom:1px solid #dce8ef;
}

.vx-guides-filter-label span{
    display:block;

    margin-bottom:5px;

    color:#879ba9;

    font-size:8px;
    font-weight:850;

    letter-spacing:.19em;
}

.vx-guides-filter-label strong{
    color:#173c58;

    font-size:13px;
    font-weight:720;
}

.vx-guides-filters{
    display:flex;

    flex-wrap:wrap;

    gap:8px;
}

.vx-guides-filters a{
    display:inline-flex;

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

    min-height:37px;

    padding:8px 15px;

    border:1px solid #d2e1e9;
    border-radius:999px;

    color:#3b5b70;

    background:#fff;

    font-size:10px;
    font-weight:750;

    text-decoration:none;

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

.vx-guides-filters a:hover{
    border-color:#8bcce9;

    color:#0878b5;

    transform:translateY(-1px);
}

.vx-guides-filters a.is-active{
    border-color:#073e68;

    color:#fff;

    background:#073e68;
}


/* RESULTS */

.vx-guides-results-head{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:30px;

    padding:34px 0 25px;
}

.vx-guides-results-head > span{
    color:#8799a6;

    font-size:10px;
    font-weight:700;

    letter-spacing:.08em;
}

.vx-guides-results-head > strong{
    color:#153a56;

    font-size:12px;
}


/* GRID */

.vx-guides-grid{
    display:grid;

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

    gap:25px;
}

.vx-guide-card{
    min-width:0;
}

.vx-guide-card-link{
    display:block;

    height:100%;

    overflow:hidden;

    border:1px solid #dbe7ee;
    border-radius:22px;

    color:inherit;

    background:#fff;

    text-decoration:none;

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

.vx-guide-card-link:hover{
    border-color:#b8d7e7;

    box-shadow:0 20px 45px rgba(2,39,67,.08);

    transform:translateY(-3px);
}


/* MEDIA */

.vx-guide-card-media{
    position:relative;

    overflow:hidden;

    aspect-ratio:16/10;

    background:#eaf3f7;
}

.vx-guide-card-img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .5s ease;
}

.vx-guide-card-link:hover .vx-guide-card-img{
    transform:scale(1.025);
}

.vx-guide-card-placeholder{
    display:grid;

    width:100%;
    height:100%;

    place-items:center;

    background:
        radial-gradient(
            circle at 75% 20%,
            rgba(32,184,242,.17),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #eaf5fa,
            #dcebf2
        );
}

.vx-guide-card-placeholder span{
    color:rgba(7,62,104,.12);

    font-family:Georgia,"Times New Roman",serif;
    font-size:92px;
    font-style:italic;
}

.vx-guide-card-index{
    position:absolute;

    top:18px;
    left:18px;

    display:grid;

    width:38px;
    height:38px;

    place-items:center;

    border:1px solid rgba(255,255,255,.55);
    border-radius:50%;

    color:#fff;

    background:rgba(2,39,67,.68);

    backdrop-filter:blur(8px);

    font-size:9px;
    font-weight:850;

    letter-spacing:.08em;
}


/* CARD BODY */

.vx-guide-card-body{
    padding:25px 25px 27px;
}

.vx-guide-card-meta{
    display:flex;

    flex-wrap:wrap;

    gap:7px 14px;

    min-height:16px;

    margin-bottom:14px;
}

.vx-guide-card-meta span{
    position:relative;

    color:#23a9e6;

    font-size:8px;
    font-weight:850;

    letter-spacing:.12em;

    text-transform:uppercase;
}

.vx-guide-card-meta span:not(:last-child)::after{
    content:"";

    position:absolute;

    top:50%;
    right:-8px;

    width:2px;
    height:2px;

    border-radius:50%;

    background:#9eb2bf;
}

.vx-guide-card-body h3{
    margin:0;

    color:#082b49;

    font-size:22px;
    font-weight:720;

    line-height:1.13;

    letter-spacing:-.025em;
}

.vx-guide-card-body p{
    margin:15px 0 0;

    color:#6e8291;

    font-size:12px;
    line-height:1.7;
}

.vx-guide-card-action{
    display:flex;

    align-items:center;
    justify-content:space-between;

    margin-top:25px;
    padding-top:18px;

    border-top:1px solid #e1ebf0;

    color:#123b59;

    font-size:10px;
    font-weight:850;

    letter-spacing:.05em;

    text-transform:uppercase;
}

.vx-guide-card-action b{
    color:#20a9e7;

    font-size:17px;
    font-weight:400;

    transition:transform .2s ease;
}

.vx-guide-card-link:hover .vx-guide-card-action b{
    transform:translateX(4px);
}


/* EMPTY STATE */

.vx-guides-empty{
    display:grid;

    grid-template-columns:90px minmax(0,570px) 1fr;

    gap:45px;

    align-items:center;

    min-height:270px;

    margin-top:42px;

    padding:48px 52px;

    overflow:hidden;

    border:1px solid #d9e7ee;
    border-radius:24px;

    background:
        radial-gradient(
            circle at 90% 20%,
            rgba(32,184,242,.09),
            transparent 28%
        ),
        #f8fbfd;
}

.vx-guides-empty-mark{
    display:grid;

    width:72px;
    height:72px;

    place-items:center;

    border:1px solid #c5dce8;
    border-radius:50%;

    background:#fff;
}

.vx-guides-empty-mark span{
    color:#159fdd;

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

    font-size:31px;
    font-style:italic;
}

.vx-guides-empty-copy > span{
    display:block;

    margin-bottom:10px;

    color:#21a8e5;

    font-size:8px;
    font-weight:850;

    letter-spacing:.2em;
}

.vx-guides-empty-copy h3{
    margin:0;

    color:#082b49;

    font-size:31px;
    font-weight:720;

    line-height:1.07;

    letter-spacing:-.035em;
}

.vx-guides-empty-copy p{
    max-width:520px;

    margin:17px 0 0;

    color:#6d8290;

    font-size:13px;
    line-height:1.7;
}

.vx-guides-empty-line{
    justify-self:end;

    width:min(100%,300px);
    height:1px;

    background:
        linear-gradient(
            90deg,
            #b9d7e5,
            transparent
        );
}


/* DISCLAIMER */

.vx-guides-disclaimer{
    padding:0 0 90px;
}

.vx-guides-disclaimer-inner{
    display:grid;

    grid-template-columns:42px 1fr;

    gap:20px;

    max-width:900px;

    padding-top:28px;

    border-top:1px solid #dce8ef;
}

.vx-guides-disclaimer-icon{
    display:grid;

    width:34px;
    height:34px;

    place-items:center;

    border:1px solid #bdd9e7;
    border-radius:50%;

    color:#159fdd;

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

    font-size:17px;
    font-style:italic;
}

.vx-guides-disclaimer strong{
    display:block;

    margin-bottom:7px;

    color:#153a56;

    font-size:13px;
}

.vx-guides-disclaimer p{
    max-width:740px;

    margin:0;

    color:#718694;

    font-size:12px;
    line-height:1.7;
}


/* TABLET */

@media(max-width:1050px){

    .vx-guides-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .vx-guides-empty{
        grid-template-columns:80px 1fr;
    }

    .vx-guides-empty-line{
        display:none;
    }

}


/* MOBILE */

@media(max-width:760px){

    .vx-guides-intro{
        padding:68px 0 45px;
    }

    .vx-guides-intro-grid{
        display:block;

        padding-bottom:42px;
    }

    .vx-guides-intro h2{
        font-size:39px;
    }

    .vx-guides-intro p{
        margin:24px 0 0;
    }

    .vx-guides-toolbar{
        display:block;

        padding:28px 0 32px;
    }

    .vx-guides-filter-label{
        margin-bottom:20px;
    }

    .vx-guides-filters{
        flex-wrap:nowrap;

        overflow-x:auto;

        margin-right:-20px;
        padding-right:20px;
        padding-bottom:7px;

        scrollbar-width:none;
    }

    .vx-guides-filters::-webkit-scrollbar{
        display:none;
    }

    .vx-guides-filters a{
        flex:0 0 auto;
    }

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

    .vx-guides-empty{
        display:block;

        min-height:0;

        padding:35px 27px;
    }

    .vx-guides-empty-mark{
        margin-bottom:27px;
    }

    .vx-guides-empty-copy h3{
        font-size:27px;
    }

    .vx-guides-disclaimer{
        padding-bottom:70px;
    }

}


/* END — BIBLIOTECA GUIAS V1 */


/* ==========================================================
   VIREXIS — HEADER LOGO / PREMIUM MOTION V1
   Elaborado por Miguel Minier | MDesign
   ========================================================== */


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

.vx-header-v4-logo{
    position:relative;
    isolation:isolate;
}


/* ----------------------------------------------------------
   LOGO ORIGINAL
   Respiracion luminica extremadamente sutil
---------------------------------------------------------- */

.vx-header-v4-logo-img{
    position:relative;
    z-index:2;

    transform:translateZ(0);
    transform-origin:center;

    will-change:filter;

    animation:
        vxHeaderLogoBreath
        8s
        ease-in-out
        infinite;
}


@keyframes vxHeaderLogoBreath{

    0%,
    18%,
    100%{
        filter:
            brightness(1)
            drop-shadow(0 0 0 rgba(32,184,242,0));
    }

    25%{
        filter:
            brightness(1.08)
            drop-shadow(0 0 4px rgba(32,184,242,.16));
    }

    34%{
        filter:
            brightness(1)
            drop-shadow(0 0 0 rgba(32,184,242,0));
    }

}


/* ----------------------------------------------------------
   HALO DETRAS DEL LOGO
---------------------------------------------------------- */

.vx-header-v4-logo::before{
    content:"";

    position:absolute;

    z-index:0;

    left:12%;
    right:12%;
    top:20%;
    bottom:20%;

    pointer-events:none;

    background:
        radial-gradient(
            ellipse at center,
            rgba(32,184,242,.16) 0%,
            rgba(32,184,242,.07) 35%,
            rgba(32,184,242,0) 72%
        );

    filter:blur(8px);

    opacity:0;

    animation:
        vxHeaderLogoHalo
        8s
        ease-in-out
        infinite;
}


@keyframes vxHeaderLogoHalo{

    0%,
    17%,
    100%{
        opacity:0;
        transform:scale(.92);
    }

    23%{
        opacity:.7;
        transform:scale(1);
    }

    31%{
        opacity:.15;
        transform:scale(1.04);
    }

    38%{
        opacity:0;
        transform:scale(1.06);
    }

}


/* ----------------------------------------------------------
   DESTELLO
   Cruza el logo de izquierda a derecha cada 8 segundos.
---------------------------------------------------------- */

.vx-header-v4-logo::after{
    content:"";

    position:absolute;

    z-index:3;

    top:-25%;
    bottom:-25%;

    left:-45%;

    width:22%;

    pointer-events:none;

    opacity:0;

    transform:
        skewX(-18deg)
        translateX(0);

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(255,255,255,.03) 20%,
            rgba(142,226,255,.18) 42%,
            rgba(255,255,255,.65) 50%,
            rgba(97,211,250,.18) 58%,
            rgba(255,255,255,.03) 80%,
            transparent 100%
        );

    filter:
        blur(.4px);

    mix-blend-mode:screen;

    animation:
        vxHeaderLogoSweep
        8s
        cubic-bezier(.4,0,.2,1)
        infinite;
}


@keyframes vxHeaderLogoSweep{

    0%,
    18%{
        left:-45%;
        opacity:0;
    }

    20%{
        opacity:0;
    }

    23%{
        opacity:.85;
    }

    32%{
        left:125%;
        opacity:.7;
    }

    35%{
        left:125%;
        opacity:0;
    }

    100%{
        left:125%;
        opacity:0;
    }

}


/* ----------------------------------------------------------
   INTERACCION
---------------------------------------------------------- */

.vx-header-v4-brand:hover .vx-header-v4-logo-img{
    filter:
        brightness(1.12)
        drop-shadow(
            0 0 6px rgba(32,184,242,.25)
        );
}


/* ----------------------------------------------------------
   ACCESSIBILITY
---------------------------------------------------------- */

@media (prefers-reduced-motion:reduce){

    .vx-header-v4-logo-img,
    .vx-header-v4-logo::before,
    .vx-header-v4-logo::after{
        animation:none !important;
    }

}


/* ==========================================================
   VIREXIS — HEADER LOGO WHITE LOCK V2
   Blanco permanente + reflejo premium
   Elaborado por Miguel Minier | MDesign
   ========================================================== */


/* BASE SIEMPRE BLANCA */

.vx-header-v4 .vx-header-v4-logo-img{
    filter:
        brightness(0)
        invert(1)
        brightness(1.08) !important;

    opacity:1 !important;

    animation:
        vxHeaderWhiteBreath
        8s
        ease-in-out
        infinite !important;
}


/* El logo nunca cambia a azul.
   Solo aumenta ligeramente su luminosidad. */

@keyframes vxHeaderWhiteBreath{

    0%,
    18%,
    38%,
    100%{
        filter:
            brightness(0)
            invert(1)
            brightness(1.08);
    }

    24%{
        filter:
            brightness(0)
            invert(1)
            brightness(1.22)
            drop-shadow(
                0 0 3px rgba(255,255,255,.22)
            );
    }

    31%{
        filter:
            brightness(0)
            invert(1)
            brightness(1.10);
    }

}


/* HALO MUCHO MAS DISCRETO */

.vx-header-v4-logo::before{
    background:
        radial-gradient(
            ellipse at center,
            rgba(255,255,255,.10) 0%,
            rgba(32,184,242,.05) 38%,
            transparent 72%
        ) !important;
}


/* DESTELLO BLANCO, NO AZUL */

.vx-header-v4-logo::after{
    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(255,255,255,0) 20%,
            rgba(255,255,255,.12) 38%,
            rgba(255,255,255,.80) 50%,
            rgba(255,255,255,.12) 62%,
            rgba(255,255,255,0) 80%,
            transparent 100%
        ) !important;

    mix-blend-mode:screen;
}


/* HOVER: BLANCO MAS LUMINOSO */

.vx-header-v4-brand:hover .vx-header-v4-logo-img{
    filter:
        brightness(0)
        invert(1)
        brightness(1.20)
        drop-shadow(
            0 0 4px rgba(255,255,255,.20)
        ) !important;
}


/* ESTADO SCROLLED:
   mantener exactamente la misma identidad blanca */

.vx-header-v4.is-scrolled .vx-header-v4-logo-img{
    filter:
        brightness(0)
        invert(1)
        brightness(1.08) !important;
}


/* ACCESIBILIDAD */

@media (prefers-reduced-motion:reduce){

    .vx-header-v4 .vx-header-v4-logo-img{
        animation:none !important;

        filter:
            brightness(0)
            invert(1)
            brightness(1.08) !important;
    }

}


/* ==========================================================
   VIREXIS — PATIENT PORTAL IMAGING BLUEPRINT V1
   RM + Sonografia / Line Art
   Elaborado por Miguel Minier | MDesign
   ========================================================== */


/*
 * Ampliamos únicamente el portal secundario.
 * El copy permanece a la izquierda y la escena médica
 * ocupa el espacio libre de la derecha.
 */

.vx-footer-cta-portal{
    position:relative;

    grid-template-columns:
        36px
        minmax(145px,1fr)
        minmax(210px,270px)
        30px !important;

    max-width:620px !important;

    overflow:hidden;
}


/* ----------------------------------------------------------
   ESCENA
---------------------------------------------------------- */

.vx-portal-imaging{
    position:relative;

    height:74px;
    min-width:210px;

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

    gap:4px;

    opacity:.76;

    pointer-events:none;

    transition:
        opacity .35s ease,
        transform .45s cubic-bezier(.2,.7,.2,1);
}


.vx-footer-cta-portal:hover
.vx-portal-imaging{
    opacity:1;
    transform:translateX(-3px);
}


/* Línea ambiental detrás de ambos equipos */

.vx-portal-imaging::before{
    content:"";

    position:absolute;

    left:3%;
    right:1%;
    top:50%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(32,184,242,.05) 12%,
            rgba(32,184,242,.18) 50%,
            rgba(32,184,242,.05) 88%,
            transparent
        );

    transform:translateY(-50%);
}


/* ----------------------------------------------------------
   EQUIPOS
---------------------------------------------------------- */

.vx-portal-machine{
    position:relative;

    display:flex;
    align-items:center;

    height:70px;

    color:#20B8F2;
}


.vx-portal-machine svg{
    display:block;

    height:70px;
    width:auto;

    overflow:visible;
}


/* RM ligeramente más protagonista */

.vx-portal-mri{
    width:122px;
}

.vx-portal-mri svg{
    width:132px;
}


/* Sonografía */

.vx-portal-ultrasound{
    width:94px;
}

.vx-portal-ultrasound svg{
    width:102px;
}


/* Microetiquetas */

.vx-portal-machine small{
    position:absolute;

    bottom:0;

    color:rgba(91,201,249,.42);

    font-size:6px;
    font-weight:850;

    line-height:1;

    letter-spacing:.20em;
}

.vx-portal-mri small{
    left:15px;
}

.vx-portal-ultrasound small{
    right:10px;
}


/* ----------------------------------------------------------
   LENGUAJE DE LÍNEA
---------------------------------------------------------- */

.vx-portal-machine svg *{
    vector-effect:
        non-scaling-stroke;
}


.vx-machine-main{
    fill:none;

    stroke:
        rgba(87,202,250,.56);

    stroke-width:1.15;

    stroke-linecap:round;
    stroke-linejoin:round;
}


.vx-machine-soft{
    fill:none;

    stroke:
        rgba(87,202,250,.30);

    stroke-width:1;

    stroke-linecap:round;
    stroke-linejoin:round;
}


.vx-machine-faint{
    fill:none;

    stroke:
        rgba(87,202,250,.17);

    stroke-width:.9;

    stroke-linecap:round;
    stroke-linejoin:round;
}


.vx-machine-ground{
    fill:none;

    stroke:
        rgba(87,202,250,.10);

    stroke-width:.8;
}


/* ----------------------------------------------------------
   RESONANCIA
---------------------------------------------------------- */

.vx-mri-ring-outer{
    fill:
        rgba(32,184,242,.012);

    stroke:
        rgba(83,200,249,.48);

    stroke-width:1.15;
}


.vx-mri-ring-inner{
    fill:
        rgba(32,184,242,.018);

    stroke:
        rgba(83,200,249,.34);

    stroke-width:1;
}


/*
 * Aro energético.
 * No gira el equipo: únicamente recorre el scanner.
 */

.vx-mri-scan{
    fill:none;

    stroke:#20B8F2;

    stroke-width:1.4;

    stroke-linecap:round;

    stroke-dasharray:
        26 188;

    opacity:.18;

    transform-origin:
        80px 44px;

    animation:
        vxPortalMriScan
        6.5s
        linear
        infinite;
}


@keyframes vxPortalMriScan{

    0%{
        transform:rotate(0deg);
        opacity:.10;
    }

    18%{
        opacity:.72;
    }

    55%{
        opacity:.26;
    }

    100%{
        transform:rotate(360deg);
        opacity:.10;
    }

}


/* ----------------------------------------------------------
   SONOGRAFÍA
---------------------------------------------------------- */

.vx-ultrasound-image{
    fill:
        rgba(32,184,242,.035);

    stroke:
        rgba(87,202,250,.20);

    stroke-width:.8;
}


.vx-ultrasound-wave{
    fill:none;

    stroke:#20B8F2;

    stroke-width:1.1;

    stroke-linecap:round;

    stroke-dasharray:
        12 8;

    opacity:.38;

    animation:
        vxPortalUltrasoundWave
        3.8s
        linear
        infinite;
}


@keyframes vxPortalUltrasoundWave{

    0%{
        stroke-dashoffset:40;
        opacity:.22;
    }

    45%{
        opacity:.72;
    }

    100%{
        stroke-dashoffset:0;
        opacity:.22;
    }

}


/* ----------------------------------------------------------
   DATOS ENTRE RM Y SONOGRAFÍA
---------------------------------------------------------- */

.vx-portal-signal{
    position:relative;

    width:26px;
    height:24px;

    display:flex;

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

    gap:4px;
}


.vx-portal-signal::before{
    content:"";

    position:absolute;

    left:0;
    right:0;
    top:50%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            rgba(32,184,242,.06),
            rgba(32,184,242,.40),
            rgba(32,184,242,.06)
        );
}


.vx-portal-signal i{
    position:relative;

    z-index:1;

    display:block;

    width:3px;
    height:3px;

    border-radius:50%;

    background:#20B8F2;

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

    opacity:.12;

    animation:
        vxPortalDataPulse
        2.1s
        ease-in-out
        infinite;
}


.vx-portal-signal i:nth-child(2){
    animation-delay:.28s;
}


.vx-portal-signal i:nth-child(3){
    animation-delay:.56s;
}


@keyframes vxPortalDataPulse{

    0%,
    70%,
    100%{
        opacity:.10;
        transform:scale(.65);
    }

    28%{
        opacity:.90;
        transform:scale(1.15);
    }

}


/* ----------------------------------------------------------
   HOVER: ACTIVACIÓN MUY SUTIL
---------------------------------------------------------- */

.vx-footer-cta-portal:hover
.vx-mri-ring-outer{

    stroke:
        rgba(90,211,255,.72);
}


.vx-footer-cta-portal:hover
.vx-machine-main{

    stroke:
        rgba(90,211,255,.72);
}


.vx-footer-cta-portal:hover
.vx-ultrasound-wave{

    opacity:.85;
}


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

@media(max-width:1050px){

    .vx-footer-cta-portal{
        grid-template-columns:
            36px
            minmax(130px,1fr)
            185px
            30px !important;
    }

    .vx-portal-imaging{
        min-width:185px;
        transform:scale(.88);
        transform-origin:right center;
    }

    .vx-footer-cta-portal:hover
    .vx-portal-imaging{
        transform:
            translateX(-2px)
            scale(.88);
    }

}


/* ----------------------------------------------------------
   MOBILE
   Conservamos el portal limpio y compacto.
---------------------------------------------------------- */

@media(max-width:760px){

    .vx-footer-cta-portal{
        grid-template-columns:
            34px
            minmax(0,1fr)
            28px !important;
    }

    .vx-portal-imaging{
        display:none !important;
    }

}


/* ----------------------------------------------------------
   REDUCED MOTION
---------------------------------------------------------- */

@media(prefers-reduced-motion:reduce){

    .vx-mri-scan,
    .vx-ultrasound-wave,
    .vx-portal-signal i{
        animation:none !important;
    }

    .vx-mri-scan{
        opacity:.20;
    }

    .vx-ultrasound-wave{
        opacity:.40;
    }

}


/* ==========================================================
   VIREXIS — HEADER RESULTS PREMIUM V2
   Resultados de estudios / Desktop
   Elaborado por Miguel Minier | MDesign
   ========================================================== */


/* ----------------------------------------------------------
   CTA SECUNDARIO
---------------------------------------------------------- */

.vx-header-v4 .vx-results-top{
    position:relative;

    min-width:196px;
    height:34px;

    padding:0 12px 0 7px;

    display:inline-flex;
    align-items:center;

    gap:9px;

    overflow:hidden;

    border:
        1px solid rgba(61,194,248,.30);

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(32,184,242,.095) 0%,
            rgba(32,184,242,.035) 52%,
            rgba(255,255,255,.015) 100%
        );

    box-shadow:
        inset 0 0 0 1px
        rgba(255,255,255,.015);

    color:#eaf8ff;

    text-decoration:none;

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


/* ----------------------------------------------------------
   ICONO
---------------------------------------------------------- */

.vx-header-v4 .vx-results-top-icon{
    position:relative;
    z-index:2;

    flex:0 0 24px;

    width:24px;
    height:24px;

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

    border:
        1px solid rgba(64,200,255,.32);

    border-radius:50%;

    background:
        rgba(32,184,242,.075);

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


.vx-header-v4 .vx-results-top-icon svg{
    width:13px;
    height:13px;

    fill:none;

    stroke:#53caff;
    stroke-width:1.55;

    stroke-linecap:round;
    stroke-linejoin:round;
}


/* pequeño pulso detrás del icono */

.vx-header-v4 .vx-results-top-icon::after{
    content:"";

    position:absolute;

    inset:4px;

    border-radius:50%;

    border:
        1px solid rgba(68,204,255,.32);

    opacity:0;

    transform:scale(.7);

    transition:
        opacity .3s ease,
        transform .45s ease;
}


/* ----------------------------------------------------------
   TEXTO
---------------------------------------------------------- */

.vx-header-v4 .vx-results-top > span:not(.vx-results-top-icon){
    position:relative;
    z-index:2;

    white-space:nowrap;

    color:#eefaff;

    font-size:10px;
    font-weight:750;

    line-height:1;

    letter-spacing:.045em;
}


/* ----------------------------------------------------------
   FLECHA
---------------------------------------------------------- */

.vx-header-v4 .vx-results-top > b{
    position:relative;
    z-index:2;

    margin-left:auto;

    color:#4ecbff;

    font-size:13px;
    font-weight:500;

    line-height:1;

    transition:
        transform .3s ease,
        color .3s ease;
}


/* ----------------------------------------------------------
   BARRIDO TECNOLÓGICO
---------------------------------------------------------- */

.vx-header-v4 .vx-results-top::before{
    content:"";

    position:absolute;

    top:-30%;
    bottom:-30%;

    left:-42%;

    width:30%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(99,215,255,.13),
            rgba(255,255,255,.12),
            transparent
        );

    transform:
        skewX(-20deg)
        translateX(0);

    pointer-events:none;

    transition:
        transform .72s
        cubic-bezier(.2,.7,.2,1);
}


/* línea inferior energética */

.vx-header-v4 .vx-results-top::after{
    content:"";

    position:absolute;

    left:28px;
    right:28px;
    bottom:0;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(32,184,242,.68),
            transparent
        );

    opacity:.28;

    transform:scaleX(.35);

    transition:
        opacity .35s ease,
        transform .45s ease;
}


/* ----------------------------------------------------------
   HOVER
---------------------------------------------------------- */

.vx-header-v4 .vx-results-top:hover{
    border-color:
        rgba(70,205,255,.62);

    background:
        linear-gradient(
            135deg,
            rgba(32,184,242,.16) 0%,
            rgba(32,184,242,.075) 55%,
            rgba(255,255,255,.025) 100%
        );

    box-shadow:
        0 0 22px rgba(32,184,242,.08),
        inset 0 0 0 1px rgba(90,211,255,.04);

    transform:translateY(-1px);
}


.vx-header-v4 .vx-results-top:hover::before{
    transform:
        skewX(-20deg)
        translateX(520%);
}


.vx-header-v4 .vx-results-top:hover::after{
    opacity:.75;
    transform:scaleX(1);
}


.vx-header-v4 .vx-results-top:hover
.vx-results-top-icon{
    border-color:
        rgba(84,209,255,.72);

    background:
        rgba(32,184,242,.15);

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


.vx-header-v4 .vx-results-top:hover
.vx-results-top-icon::after{
    opacity:.55;
    transform:scale(1.22);
}


.vx-header-v4 .vx-results-top:hover > b{
    color:#8de3ff;
    transform:translate(2px,-2px);
}


/* ----------------------------------------------------------
   FOCUS / ACCESIBILIDAD
---------------------------------------------------------- */

.vx-header-v4 .vx-results-top:focus-visible{
    outline:
        2px solid rgba(78,203,255,.85);

    outline-offset:3px;
}


/* ----------------------------------------------------------
   RESPONSIVE
   Antes de entrar al header móvil reducimos discretamente.
---------------------------------------------------------- */

@media (max-width:1180px){

    .vx-header-v4 .vx-results-top{
        min-width:176px;
        padding-right:9px;
        gap:7px;
    }

    .vx-header-v4
    .vx-results-top > span:not(.vx-results-top-icon){
        font-size:9px;
        letter-spacing:.025em;
    }

}


/* La versión móvil existente permanece intacta */

@media (max-width:900px){

    .vx-header-v4-top .vx-results-top{
        display:none;
    }

}


/* ----------------------------------------------------------
   REDUCED MOTION
---------------------------------------------------------- */

@media (prefers-reduced-motion:reduce){

    .vx-header-v4 .vx-results-top,
    .vx-header-v4 .vx-results-top::before,
    .vx-header-v4 .vx-results-top::after,
    .vx-header-v4 .vx-results-top-icon,
    .vx-header-v4 .vx-results-top-icon::after,
    .vx-header-v4 .vx-results-top > b{
        transition:none !important;
    }

}


/* ==========================================================
   VIREXIS — HEADER RESULTS SPACING V2.1
   Más aire para Resultados de estudios
   Elaborado por Miguel Minier | MDesign
   ========================================================== */


/* Más altura y respiración en la microbarra */

.vx-header-v4 .vx-header-v4-top{
    min-height:38px !important;
}


/* Contenido de la barra correctamente centrado */

.vx-header-v4 .vx-header-v4-meta{
    min-height:38px !important;

    display:flex !important;
    align-items:center !important;

    gap:16px !important;
}


/* Resultados: un poco menos ancho, pero mejor proporcionado */

.vx-header-v4 .vx-results-top{
    min-width:184px !important;
    height:30px !important;

    padding:
        0 10px 0 6px !important;

    gap:8px !important;

    flex-shrink:0;
}


/* Icono algo más compacto */

.vx-header-v4 .vx-results-top-icon{
    flex-basis:22px !important;

    width:22px !important;
    height:22px !important;
}


/* Texto con presencia sin parecer comprimido */

.vx-header-v4
.vx-results-top > span:not(.vx-results-top-icon){
    font-size:9.5px !important;

    letter-spacing:.035em !important;
}


/* Separación de ubicación */

.vx-header-v4 .vx-header-v4-location{
    margin-left:2px !important;

    padding-left:16px !important;

    border-left:
        1px solid rgba(255,255,255,.10);
}


/* El idioma también respira */

.vx-header-v4 .vx-header-v4-lang,
.vx-header-v4 .vx-header-v4-language{
    padding-left:14px !important;
}


/* En pantallas más estrechas evitamos volver a comprimirlo */

@media (max-width:1180px){

    .vx-header-v4 .vx-results-top{
        min-width:172px !important;
    }

    .vx-header-v4 .vx-header-v4-meta{
        gap:11px !important;
    }

}


/* Móvil permanece igual */

@media (max-width:900px){

    .vx-header-v4 .vx-header-v4-top{
        min-height:initial !important;
    }

}


/* ==========================================================
   VIREXIS — HEADER SCROLL GAP FIX V1
   Colapsa completamente la topbar durante scroll
   Elaborado por Miguel Minier | MDesign
   ========================================================== */

@media (min-width:1051px){

    /*
     * SPACING V2.1 mantiene la topbar en 38px.
     * Cuando el header entra en modo sticky esa altura
     * debe desaparecer físicamente, no solo visualmente.
     */

    .vx-header-v4.is-scrolled .vx-header-v4-top{
        height:0 !important;
        min-height:0 !important;
        max-height:0 !important;

        padding-top:0 !important;
        padding-bottom:0 !important;

        margin:0 !important;

        border:0 !important;

        overflow:hidden !important;

        opacity:0 !important;

        pointer-events:none !important;
    }


    .vx-header-v4.is-scrolled .vx-header-v4-meta{
        height:0 !important;
        min-height:0 !important;
        max-height:0 !important;

        margin:0 !important;
        padding:0 !important;

        overflow:hidden !important;
    }


    /*
     * La fila principal pasa inmediatamente al borde
     * superior del viewport.
     */

    .vx-header-v4.is-scrolled .vx-header-v4-main{
        margin-top:0 !important;
        top:0 !important;
    }


    .vx-header-v4.is-scrolled .vx-header-v4-main-inner{
        margin-top:0 !important;
    }

}


/* Accesibilidad */

@media (prefers-reduced-motion:reduce){

    .vx-header-v4-top{
        transition:none !important;
    }

}

/* ==========================================================
   VIREXIS — GLOBAL SCROLL CUE V1
   Indicador global de continuidad del hero
   ========================================================== */

.vx-global-scroll-cue{
    position:absolute;
    z-index:20;
    left:50%;
    bottom:22px;
    transform:translateX(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:8px 18px;
    border:0;
    background:transparent;
    color:#48d9eb;
    font:inherit;
    text-decoration:none;
    cursor:pointer;
    opacity:1;
    transition:
        opacity .35s ease,
        transform .35s ease;
}

.vx-global-scroll-cue__label{
    display:block;
    font-size:10px;
    line-height:1;
    font-weight:750;
    letter-spacing:.24em;
    text-transform:uppercase;
    white-space:nowrap;
}

.vx-global-scroll-cue__line{
    position:relative;
    display:block;
    width:1px;
    height:30px;
    overflow:hidden;
    background:rgba(72,217,235,.25);
}

.vx-global-scroll-cue__line::after{
    content:"";
    position:absolute;
    top:-14px;
    left:0;
    width:1px;
    height:14px;
    background:#48d9eb;
    animation:vxScrollCueLine 2s ease-in-out infinite;
}

.vx-global-scroll-cue__chevron{
    display:block;
    width:8px;
    height:8px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);
    animation:vxScrollCueChevron 2s ease-in-out infinite;
}

.vx-global-scroll-cue:hover{
    color:#78e9f4;
}

.vx-global-scroll-cue:focus-visible{
    outline:2px solid currentColor;
    outline-offset:5px;
    border-radius:4px;
}

.vx-global-scroll-cue.is-hidden{
    opacity:0;
    pointer-events:none;
    transform:translate(-50%,8px);
}

@keyframes vxScrollCueLine{
    0%{
        transform:translateY(0);
        opacity:0;
    }

    25%{
        opacity:1;
    }

    75%{
        opacity:1;
    }

    100%{
        transform:translateY(44px);
        opacity:0;
    }
}

@keyframes vxScrollCueChevron{
    0%,100%{
        transform:rotate(45deg) translate(0,0);
        opacity:.55;
    }

    50%{
        transform:rotate(45deg) translate(3px,3px);
        opacity:1;
    }
}


/* Hero necesita contexto para posicionar el indicador */

.vx-has-global-scroll-cue{
    position:relative;
}


/* ----------------------------------------------------------
   HERO CLARO
   ---------------------------------------------------------- */

.vx-scroll-cue--light{
    color:#0d6f88;
}

.vx-scroll-cue--light .vx-global-scroll-cue__line{
    background:rgba(13,111,136,.22);
}

.vx-scroll-cue--light .vx-global-scroll-cue__line::after{
    background:#0d6f88;
}


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

@media (max-width:767px){

    .vx-global-scroll-cue{
        bottom:12px;
        gap:6px;
    }

    .vx-global-scroll-cue__label{
        font-size:9px;
        letter-spacing:.18em;
    }

    .vx-global-scroll-cue__line{
        height:22px;
    }
}


/* ----------------------------------------------------------
   ACCESIBILIDAD
   ---------------------------------------------------------- */

@media (prefers-reduced-motion:reduce){

    .vx-global-scroll-cue,
    .vx-global-scroll-cue__line::after,
    .vx-global-scroll-cue__chevron{
        animation:none !important;
        transition:none !important;
    }
}


/* ==========================================================
   VIREXIS — GLOBAL SCROLL CUE POSITION V1.1
   Refinamiento visual aprobado
   ========================================================== */

@media (min-width:768px){
    .vx-global-scroll-cue{
        bottom:40px;
    }
}

