:root{
    --vst-cyan:#27cfd0;
    --vst-cyan-dark:#0aa7b0;
    --vst-purple:#7d22b7;
    --vst-purple-dark:#53137e;
    --vst-navy:#051932;
    --vst-blue:#065de7;
    --vst-black:#06080c;
    --vst-light:#f5fbff;
    --vst-border:rgba(5,25,50,.12);
    --vst-shadow:0 18px 55px rgba(5,25,50,.12);
    --vst-radius:24px;
}

*{box-sizing:border-box}
body{
    font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
    color:#101828;
    background:#fff;
    overflow-x:hidden;
}
a{color:var(--vst-purple);text-decoration:none}
a:hover{color:var(--vst-cyan-dark)}

.topbar{
    background:#05080d;
    color:#fff;
    font-size:.85rem;
    padding:.45rem 0;
}
.topbar-links{
    display:flex;
    gap:1rem;
    align-items:center;
    flex-wrap:wrap;
}
.topbar i{color:var(--vst-cyan)}
.topbar a{color:#fff}
.topbar a:hover{color:var(--vst-cyan)}

.main-nav{
    min-height:86px;
}
.brand-logo{
    width:88px;
    height:74px;
    object-fit:contain;
    border-radius:10px;
}
.brand-copy{
    border-left:1px solid #d6dbe4;
    padding-left:1rem;
    line-height:1.2;
    max-width:260px;
}
.brand-copy strong{
    display:block;
    font-size:.95rem;
    color:#0b1220;
}
.brand-copy small{
    display:block;
    color:var(--vst-purple);
    font-weight:800;
}
.nav-link{
    font-weight:800;
    color:#0b1220!important;
    margin:0 .35rem;
    position:relative;
}
.nav-link.active,
.nav-link:hover{
    color:var(--vst-purple)!important;
}
.nav-link.active:after{
    content:"";
    position:absolute;
    left:.5rem;
    right:.5rem;
    bottom:.25rem;
    height:3px;
    border-radius:20px;
    background:linear-gradient(90deg,var(--vst-cyan),var(--vst-purple));
}
.btn{
    border-radius:12px;
    font-weight:800;
}
.btn-primary-gradient{
    border:0;
    color:#fff!important;
    background:linear-gradient(135deg,var(--vst-cyan),var(--vst-purple));
    box-shadow:0 12px 28px rgba(125,34,183,.25);
}
.btn-primary-gradient:hover{
    filter:brightness(.98);
    transform:translateY(-1px);
}
.btn-whatsapp{
    border:0;
    color:#fff!important;
    background:linear-gradient(135deg,#16b83e,#0a8f2a);
    box-shadow:0 12px 28px rgba(22,184,62,.25);
}
.btn-outline-glow{
    color:#fff;
    border:1px solid rgba(255,255,255,.45);
    background:rgba(255,255,255,.06);
}
.btn-outline-glow:hover{
    background:#fff;
    color:var(--vst-navy);
}

.hero{
    position:relative;
    color:#061223;
    overflow:hidden;
    background:
        radial-gradient(circle at 70% 20%,rgba(255,255,255,.7),transparent 26%),
        radial-gradient(circle at 85% 45%,rgba(125,34,183,.22),transparent 25%),
        linear-gradient(105deg,rgba(39,207,208,.98) 0%,rgba(39,207,208,.86) 42%,rgba(5,25,50,.95) 100%);
}
.hero:before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(120deg,rgba(255,255,255,.18) 1px,transparent 1px),
        radial-gradient(circle at 20% 20%,rgba(255,255,255,.35),transparent 1px),
        radial-gradient(circle at 70% 50%,rgba(255,255,255,.22),transparent 1px);
    background-size:70px 70px,48px 48px,75px 75px;
    opacity:.42;
}
.hero:after{
    content:"";
    position:absolute;
    right:-160px;
    top:-130px;
    width:640px;
    height:640px;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.25);
    box-shadow:inset 0 0 80px rgba(255,255,255,.18);
}
.hero-inner{
    position:relative;
    z-index:2;
    min-height:430px;
    display:flex;
    align-items:center;
    padding:5rem 0 4rem;
}
.hero h1{
    font-size:clamp(2.2rem,4vw,4rem);
    font-weight:950;
    letter-spacing:-.04em;
    line-height:1.02;
}
.hero h1 .accent{
    color:var(--vst-purple);
    text-shadow:0 1px 0 rgba(255,255,255,.5);
}
.hero p{
    font-size:1.15rem;
    font-weight:600;
    max-width:620px;
}
.hero-visual{
    min-height:330px;
    position:relative;
}
.glass-orb{
    position:absolute;
    inset:20px;
    border-radius:40px;
    background:linear-gradient(135deg,rgba(255,255,255,.32),rgba(255,255,255,.05));
    border:1px solid rgba(255,255,255,.25);
    backdrop-filter:blur(8px);
    box-shadow:0 30px 90px rgba(0,0,0,.28);
    overflow:hidden;
}
.glass-orb:before{
    content:"";
    position:absolute;
    inset:35px;
    border-radius:50%;
    border:1px dashed rgba(255,255,255,.45);
    animation:spin 20s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-icons{
    position:absolute;
    z-index:4;
    inset:0;
}
.hero-icon{
    position:absolute;
    width:112px;
    height:112px;
    display:grid;
    place-items:center;
    border-radius:30px;
    color:#fff;
    font-size:2.5rem;
    background:linear-gradient(135deg,rgba(39,207,208,.9),rgba(125,34,183,.92));
    box-shadow:0 18px 45px rgba(0,0,0,.25);
}
.hero-icon span{
    position:absolute;
    bottom:12px;
    font-size:.7rem;
    font-weight:900;
    text-transform:uppercase;
}
.icon-1{left:12%;top:13%}
.icon-2{right:14%;top:9%}
.icon-3{left:22%;bottom:15%}
.icon-4{right:10%;bottom:20%}

.feature-strip{
    margin-top:-42px;
    position:relative;
    z-index:3;
}
.feature-strip .inner{
    background:#fff;
    border:1px solid var(--vst-border);
    border-radius:18px;
    box-shadow:var(--vst-shadow);
    overflow:hidden;
}
.feature-item{
    padding:1.2rem;
    display:flex;
    align-items:center;
    gap:1rem;
    min-height:112px;
}
.feature-item:not(:last-child){
    border-right:1px solid var(--vst-border);
}
.feature-icon{
    width:58px;
    height:58px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#061223;
    background:linear-gradient(135deg,rgba(39,207,208,.28),rgba(125,34,183,.12));
    font-size:1.7rem;
    flex:0 0 58px;
}
.feature-item h6{
    margin:0 0 .2rem;
    font-weight:900;
}
.feature-item p{
    margin:0;
    font-size:.88rem;
    color:#475467;
}

.section{
    padding:5rem 0;
}
.section-sm{
    padding:3.5rem 0;
}
.bg-soft{
    background:linear-gradient(180deg,#fff 0%,#f4fdff 100%);
}
.bg-darkmesh{
    color:#fff;
    background:
        radial-gradient(circle at 20% 10%,rgba(39,207,208,.25),transparent 25%),
        radial-gradient(circle at 78% 20%,rgba(125,34,183,.35),transparent 25%),
        linear-gradient(135deg,#05080d,#071c39);
}
.section-title{
    margin-bottom:2.3rem;
}
.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    color:var(--vst-purple);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:950;
    font-size:.78rem;
}
.section-title h2{
    font-weight:950;
    letter-spacing:-.035em;
    margin:.35rem 0 .6rem;
}
.section-title p{
    color:#667085;
    max-width:760px;
    margin:auto;
}
.bg-darkmesh .section-title p{color:rgba(255,255,255,.78)}

.card-lift{
    border:1px solid var(--vst-border);
    border-radius:var(--vst-radius);
    background:#fff;
    box-shadow:0 10px 30px rgba(5,25,50,.08);
    transition:.18s ease;
    height:100%;
}
.card-lift:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 55px rgba(5,25,50,.14);
}
.solution-card{
    padding:1.35rem;
}
.solution-card .iconbox,
.service-card .iconbox{
    width:56px;
    height:56px;
    border-radius:18px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--vst-cyan),var(--vst-purple));
    color:#fff;
    font-size:1.7rem;
    margin-bottom:1rem;
}
.solution-card h5,
.service-card h5{
    font-weight:950;
    font-size:1rem;
}
.solution-card p,
.service-card p{
    color:#667085;
    font-size:.92rem;
}
.learn-link{
    font-weight:900;
    font-size:.88rem;
}

.pricing-card{
    position:relative;
    padding:1.55rem;
    overflow:hidden;
}
.pricing-card.popular{
    border:2px solid var(--vst-purple);
}
.ribbon{
    position:absolute;
    top:18px;
    right:-44px;
    transform:rotate(38deg);
    background:linear-gradient(135deg,var(--vst-purple),var(--vst-cyan));
    color:#fff;
    font-size:.72rem;
    font-weight:950;
    padding:.35rem 3.2rem;
}
.price-name{
    font-weight:950;
    font-size:1.1rem;
}
.small-muted{
    color:#667085;
    font-size:.9rem;
}
.price-box{
    background:linear-gradient(135deg,rgba(39,207,208,.16),rgba(125,34,183,.08));
    border-radius:18px;
    padding:1rem;
    margin:1rem 0;
    border:1px solid rgba(39,207,208,.25);
}
.price-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.75rem;
}
.price-cell{
    background:#fff;
    border:1px solid var(--vst-border);
    border-radius:15px;
    padding:.75rem;
}
.price-cell strong{
    display:block;
    font-size:1.35rem;
    line-height:1;
}
.price-cell small{
    color:#667085;
    font-weight:700;
}
.best-value{
    border:2px solid var(--vst-cyan);
    box-shadow:0 18px 50px rgba(39,207,208,.14);
}
.compare-highlight{
    border-radius:18px;
    background:linear-gradient(135deg,var(--vst-cyan),var(--vst-purple));
    color:#fff;
    padding:1rem;
    font-weight:900;
}
.list-check{
    list-style:none;
    padding:0;
    margin:0;
}
.list-check li{
    display:flex;
    gap:.65rem;
    margin:.55rem 0;
    color:#344054;
}
.list-check i{
    color:var(--vst-cyan-dark);
}
.bg-darkmesh .list-check li{color:rgba(255,255,255,.82)}
.bg-darkmesh .card-lift.text-dark .list-check li,
.bg-darkmesh .card-lift.text-dark .list-check span{
    color:#344054;
}

.included-bar{
    background:linear-gradient(135deg,var(--vst-cyan),#36d7e0);
    border-radius:20px;
    padding:1.2rem;
    box-shadow:0 18px 48px rgba(39,207,208,.2);
    border:1px solid rgba(255,255,255,.45);
}
.included-pill{
    display:flex;
    align-items:center;
    gap:.7rem;
    font-weight:950;
}
.included-pill i{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.45);
    color:#061223;
    font-size:1.25rem;
}
.stats-card{
    padding:1.5rem;
    border-radius:24px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.16);
}
.stats-card strong{
    display:block;
    color:var(--vst-cyan);
    font-size:2rem;
}

.page-hero{
    padding:4rem 0;
    background:
        radial-gradient(circle at 85% 10%,rgba(125,34,183,.22),transparent 20%),
        linear-gradient(135deg,#061223,var(--vst-navy));
    color:#fff;
}
.page-hero h1{
    font-weight:950;
    letter-spacing:-.035em;
}
.page-hero p{
    color:rgba(255,255,255,.75);
    max-width:760px;
}
.breadcrumb-lite a{color:var(--vst-cyan)}

.contact-card{
    padding:2rem;
}
.form-control,
.form-select{
    border-radius:12px;
    padding:.82rem 1rem;
    border-color:#d0d5dd;
}
.form-control:focus,
.form-select:focus{
    border-color:var(--vst-cyan);
    box-shadow:0 0 0 .25rem rgba(39,207,208,.15);
}
.contact-method{
    display:flex;
    gap:1rem;
    align-items:flex-start;
    padding:1rem;
    border:1px solid var(--vst-border);
    border-radius:18px;
    background:#fff;
}
.contact-method i{
    color:#fff;
    background:linear-gradient(135deg,var(--vst-cyan),var(--vst-purple));
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:14px;
    font-size:1.35rem;
    flex:0 0 46px;
}

.cta-band{
    color:#fff;
    padding:2.2rem 0;
    background:
        radial-gradient(circle at 15% 25%,rgba(39,207,208,.35),transparent 25%),
        linear-gradient(135deg,#05080d,#071c39 55%,#17042b);
}
.cta-band h2{
    font-weight:950;
}
.site-footer{
    background:#04070d;
    color:#fff;
    padding:3.5rem 0 1.25rem;
}
.footer-brand img{
    width:80px;
    height:72px;
    object-fit:contain;
    border-radius:10px;
}
.footer-brand h5{
    margin:0;
    font-weight:950;
}
.footer-brand p{
    margin:0;
    color:var(--vst-cyan);
    font-weight:900;
}
.site-footer h6{
    font-weight:950;
    color:#fff;
}
.site-footer a{
    display:block;
    color:rgba(255,255,255,.72);
    margin:.4rem 0;
}
.site-footer a:hover{color:var(--vst-cyan)}
.footer-text{color:rgba(255,255,255,.72)}
.site-footer hr{
    border-color:rgba(255,255,255,.12);
    margin:2rem 0 1rem;
}
.footer-bottom,
.footer-bottom a{
    color:rgba(255,255,255,.65);
}

.floating-whatsapp{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:999;
    width:58px;
    height:58px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff!important;
    background:#1db954;
    box-shadow:0 16px 40px rgba(29,185,84,.35);
    font-size:1.8rem;
}

.anchor-offset{
    scroll-margin-top:105px;
}
.highlight-number{
    font-size:clamp(2rem,4vw,3.5rem);
    font-weight:950;
    color:var(--vst-purple);
    letter-spacing:-.05em;
}
.table-pricing{
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 16px 48px rgba(5,25,50,.08);
}
.table-pricing th{
    background:#061223;
    color:#fff;
}
.table-pricing td,
.table-pricing th{
    padding:1rem;
    vertical-align:middle;
}

@media (max-width: 991px){
    .brand-logo{
        width:70px;
        height:62px;
    }
    .main-nav{min-height:76px}
    .nav-link.active:after{display:none}
    .hero-inner{padding:3.5rem 0}
    .hero-visual{display:none}
    .feature-strip{margin-top:0}
    .feature-item:not(:last-child){border-right:0;border-bottom:1px solid var(--vst-border)}
}
@media (max-width: 575px){
    .price-grid{grid-template-columns:1fr}
    .section{padding:3.5rem 0}
    .topbar-links{gap:.6rem}
}


.form-check-input:checked{
    background-color:var(--vst-purple);
    border-color:var(--vst-purple);
}
.form-check-label{
    color:#344054;
}
.card-lift h2,
.card-lift h3,
.card-lift h4{
    scroll-margin-top:105px;
}

.member-login-note{font-size:.9rem;color:#667085}
.ecard-public-card{max-width:760px;margin:auto}


/* V1.3.1 Mobile + Menu Cleanup */
.main-nav{
    min-height:78px;
}
.brand-logo{
    width:76px;
    height:66px;
}
.brand-copy{
    max-width:235px;
}
.brand-copy strong{
    font-size:.86rem;
}
.brand-copy small{
    font-size:.76rem;
}
.navbar-nav .nav-link{
    font-size:.9rem;
    padding-left:.45rem!important;
    padding-right:.45rem!important;
    white-space:nowrap;
}
.nav-quick-whatsapp{
    align-items:center;
    gap:.35rem;
}
.dropdown-menu-clean{
    border:1px solid var(--vst-border);
    border-radius:18px;
    box-shadow:0 18px 50px rgba(5,25,50,.14);
    padding:.55rem;
}
.dropdown-menu-clean .dropdown-item{
    border-radius:12px;
    font-weight:800;
    font-size:.88rem;
    padding:.7rem .85rem;
    display:flex;
    align-items:center;
    gap:.6rem;
}
.dropdown-menu-clean .dropdown-item i{
    color:var(--vst-purple);
    font-size:1.05rem;
}
.dropdown-menu-clean .dropdown-item:hover{
    background:linear-gradient(135deg,rgba(39,207,208,.12),rgba(125,34,183,.08));
    color:var(--vst-purple);
}
.dropdown-menu-wide{
    min-width:310px;
}
.w-xl-auto{
    width:auto!important;
}

@media (max-width: 1199.98px){
    .main-nav{
        min-height:72px;
    }
    .brand-logo{
        width:66px;
        height:58px;
    }
    .navbar-collapse{
        background:#fff;
        border-top:1px solid var(--vst-border);
        margin-top:.75rem;
        padding:.75rem 0 1rem;
        max-height:calc(100vh - 86px);
        overflow-y:auto;
    }
    .navbar-nav{
        gap:.15rem;
    }
    .navbar-nav .nav-link{
        font-size:.98rem;
        padding:.75rem 1rem!important;
        border-radius:12px;
        white-space:normal;
    }
    .navbar-nav .nav-link:hover,
    .navbar-nav .nav-link.active{
        background:linear-gradient(135deg,rgba(39,207,208,.12),rgba(125,34,183,.08));
    }
    .nav-link.active:after{
        display:none!important;
    }
    .dropdown-menu-clean{
        box-shadow:none;
        border:0;
        border-left:3px solid var(--vst-cyan);
        border-radius:0;
        margin:.1rem 0 .35rem 1rem;
        padding:.15rem .35rem;
    }
    .dropdown-menu-clean .dropdown-item{
        font-size:.92rem;
        padding:.65rem .75rem;
        white-space:normal;
    }
    .dropdown-menu-wide{
        min-width:100%;
    }
    .w-xl-auto{
        width:100%!important;
    }
    .hero-inner{
        min-height:auto;
    }
    .feature-strip .inner{
        border-radius:0;
        box-shadow:none;
    }
}

@media (max-width: 767.98px){
    .topbar{
        display:none!important;
    }
    .main-nav{
        min-height:64px;
    }
    .brand-logo{
        width:56px;
        height:50px;
    }
    .navbar-toggler{
        padding:.35rem .45rem;
    }
    .nav-quick-whatsapp{
        font-size:.78rem;
        padding:.35rem .55rem;
    }
    .hero h1{
        font-size:2rem;
        line-height:1.08;
    }
    .hero p{
        font-size:1rem;
    }
    .hero-inner{
        padding:2.5rem 0;
    }
    .page-hero{
        padding:2.5rem 0;
    }
    .page-hero h1{
        font-size:2rem;
    }
    .section{
        padding:3rem 0;
    }
    .section-sm{
        padding:2rem 0;
    }
    .section-title{
        margin-bottom:1.5rem;
    }
    .section-title h2{
        font-size:1.75rem;
    }
    .card-lift,
    .contact-card,
    .pricing-card{
        border-radius:18px;
    }
    .contact-card{
        padding:1.25rem;
    }
    .feature-item{
        min-height:auto;
        padding:1rem;
    }
    .feature-icon{
        width:48px;
        height:48px;
        flex-basis:48px;
        font-size:1.35rem;
    }
    .btn-lg{
        font-size:1rem;
        padding:.65rem .9rem;
    }
    .included-pill{
        font-size:.9rem;
    }
    .included-pill i{
        width:38px;
        height:38px;
    }
    .table-pricing td,
    .table-pricing th{
        min-width:180px;
        font-size:.88rem;
    }
    .floating-whatsapp{
        width:54px;
        height:54px;
        right:14px;
        bottom:14px;
    }
    .footer-brand img{
        width:64px;
        height:58px;
    }
}

@media (max-width: 420px){
    .nav-quick-whatsapp{
        display:none!important;
    }
    .brand-logo{
        width:52px;
        height:46px;
    }
    .hero h1,
    .page-hero h1{
        font-size:1.75rem;
    }
    .price-cell strong{
        font-size:1.15rem;
    }
    .solution-card,
    .service-card{
        padding:1rem!important;
    }
}
