@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
    --vh-purple:#6d3fd0;
    --vh-purple-2:#8350e7;
    --vh-ink:#181426;
    --vh-muted:#6f6b7d;
    --vh-bg:#f7f5fb;
    --vh-card:#ffffff;
    --vh-border:#e9e4f2;
    --vh-success:#18a56b;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--vh-bg);color:var(--vh-ink)}
a{text-decoration:none}
.btn-vh{background:linear-gradient(135deg,var(--vh-purple),var(--vh-purple-2));color:#fff;border:0;border-radius:12px;font-weight:700;padding:.75rem 1.1rem}
.btn-vh:hover{color:#fff;filter:brightness(.96)}
.text-vh{color:var(--vh-purple)!important}.bg-vh{background:linear-gradient(135deg,#5330a9,#7b48d8)}
.glass{background:rgba(255,255,255,.72);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.35)}
.rounded-4{border-radius:1.25rem!important}.shadow-soft{box-shadow:0 20px 50px rgba(54,34,93,.10)}
.navbar-vh{background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--vh-border)}
.hero-vh{background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.18),transparent 30%),linear-gradient(135deg,#4d2b9f,#7544c9 65%,#8651df);color:#fff}
.hero-grid{min-height:590px;display:grid;place-items:center}.feature-card{margin-top:-58px;position:relative;z-index:4;border:1px solid var(--vh-border)}
.feature-icon{width:56px;height:56px;border-radius:18px;background:#f1eafd;color:var(--vh-purple);display:grid;place-items:center;font-size:1.6rem}.section-pad{padding:90px 0}
.price-card{border:1px solid #ded5ee;transition:.2s}.price-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(67,35,112,.12)}
.dashboard-shell{min-height:100vh}.sidebar{width:260px;background:#171220;color:#fff;position:fixed;inset:0 auto 0 0;z-index:20}.sidebar a{color:#bdb5cb;border-radius:12px;padding:.75rem .9rem;display:flex;gap:.7rem;align-items:center}.sidebar a.active,.sidebar a:hover{background:#2b203b;color:#fff}.dashboard-main{margin-left:260px}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--vh-border);position:sticky;top:0;z-index:10}
.stat-card{border:1px solid var(--vh-border);background:#fff;border-radius:18px;padding:1.2rem}.stat-icon{width:44px;height:44px;border-radius:14px;background:#f1eafd;color:var(--vh-purple);display:grid;place-items:center}.table-card{background:#fff;border:1px solid var(--vh-border);border-radius:18px;overflow:hidden}.form-control,.form-select{border-radius:12px;border-color:#e4dfee;padding:.75rem 1rem}.form-control:focus,.form-select:focus{border-color:#a98be1;box-shadow:0 0 0 .2rem rgba(109,63,208,.12)}.badge-soft{background:#f1eafd;color:var(--vh-purple);font-weight:600}.footer-vh{background:#171220;color:#c8c0d3}
body.sidebar-open{overflow:hidden}
.sidebar-overlay{display:none}
.mobile-menu-btn{display:none;width:42px;height:42px;border:1px solid var(--vh-border);border-radius:12px;align-items:center;justify-content:center}

@media(max-width:991px){
    .sidebar{
        transform:translateX(-100%);
        transition:transform .25s ease;
        box-shadow:12px 0 35px rgba(0,0,0,.18);
    }
    .sidebar.mobile-open{transform:translateX(0)}
    .dashboard-main{margin-left:0}
    .hero-grid{min-height:520px}
    .mobile-menu-btn{display:inline-flex}
    .sidebar-overlay{
        position:fixed;
        inset:0;
        background:rgba(10,7,18,.48);
        backdrop-filter:blur(2px);
        z-index:19;
        opacity:0;
        visibility:hidden;
        transition:opacity .25s ease,visibility .25s ease;
    }
    .sidebar-overlay.show{display:block;opacity:1;visibility:visible}
    .topbar{height:68px}
}

@media(max-width:575px){
    .sidebar{width:min(285px,86vw)}
    .topbar{padding-left:1rem!important;padding-right:1rem!important}
    .dashboard-main>.p-3{padding:1rem!important}
}

/* AI deployment promotion */
.ai-deploy-section{padding-top:70px;padding-bottom:58px;background:var(--vh-bg)}
.ai-deploy-card{overflow:hidden;border:1px solid var(--vh-border);border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f7f3ff 100%);box-shadow:0 24px 70px rgba(67,35,112,.12)}
.ai-deploy-visual{position:relative;min-height:560px;height:100%;overflow:hidden;background:#201637}
.ai-server-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(20,10,40,.72),rgba(109,63,208,.16)),url('https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=1200&q=85');background-size:cover;background-position:center;filter:saturate(.75)}
.ai-server-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(109,63,208,.18),rgba(20,10,40,.38))}
.ai-person{position:absolute;z-index:2;left:8%;bottom:0;width:84%;height:86%;object-fit:cover;object-position:center top;border-radius:180px 180px 0 0;mix-blend-mode:normal;box-shadow:0 15px 50px rgba(0,0,0,.22)}
.ai-shirt-brand{position:absolute;z-index:4;left:50%;top:65%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border-radius:999px;background:rgba(20,12,34,.82);border:1px solid rgba(255,255,255,.22);color:#fff;font-weight:800;letter-spacing:-.02em;box-shadow:0 8px 30px rgba(0,0,0,.25);white-space:nowrap}
.ai-shirt-brand i{color:#b996ff}.ai-shirt-brand span{font-size:.95rem}
.ai-visual-badge{position:absolute;z-index:5;top:24px;left:24px;background:rgba(255,255,255,.9);color:var(--vh-purple);font-size:.78rem;font-weight:700;padding:.6rem .8rem;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.ai-deploy-copy{height:100%;padding:62px 62px 58px}
.letter-spaced{letter-spacing:.16em}.ai-deploy-copy h2{color:var(--vh-ink);line-height:1.02;letter-spacing:-.04em}
.ai-deploy-copy h2 span{color:var(--vh-purple)}
.ai-feature{height:100%;display:flex;gap:.85rem;padding:1rem;border:1px solid rgba(109,63,208,.12);border-radius:16px;background:rgba(255,255,255,.68)}
.ai-feature>i{flex:0 0 42px;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#f0e8ff;color:var(--vh-purple);font-size:1.15rem}
.ai-feature strong,.ai-feature small{display:block}.ai-feature strong{font-size:.9rem}.ai-feature small{color:var(--vh-muted);font-size:.76rem;line-height:1.45;margin-top:.18rem}
.platform-marquee-section{padding:10px 0 70px;background:var(--vh-bg);overflow:hidden}
.platform-heading{display:flex;align-items:center;gap:22px;justify-content:center;margin-bottom:28px}
.platform-heading>span{height:1px;flex:1;background:var(--vh-border);max-width:260px}
.platform-marquee{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.platform-track{display:flex;width:max-content;align-items:center;animation:vh-platform-scroll 32s linear infinite}
.platform-item{width:142px;height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:none}
.platform-item img{width:42px;height:42px;object-fit:contain}.platform-item span{font-size:.78rem;font-weight:700;color:#4e495c}
.platform-marquee:hover .platform-track{animation-play-state:paused}
@keyframes vh-platform-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:991px){.ai-deploy-visual{min-height:440px}.ai-deploy-copy{padding:42px 34px}.ai-deploy-copy h2{font-size:2.65rem}.platform-item{width:118px}}
@media(max-width:575px){.ai-deploy-section{padding-top:50px}.ai-deploy-card{border-radius:20px}.ai-deploy-visual{min-height:390px}.ai-person{width:92%;left:4%;height:88%}.ai-shirt-brand{top:66%}.ai-deploy-copy{padding:32px 22px 34px}.ai-deploy-copy h2{font-size:2.25rem}.platform-heading{gap:12px;margin-bottom:18px}.platform-heading>span{display:none}.platform-item{width:105px;height:82px}.platform-item img{width:36px;height:36px}}

.ai-deploy-art{display:block;width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center;border-radius:0}.ai-deploy-visual{background:#201536}
@media(max-width:991px){.ai-deploy-art{min-height:440px}}
@media(max-width:575px){.ai-deploy-art{min-height:390px}}


/* Public footer */
.footer-vh{background:#171220;color:#fff;border-top:1px solid rgba(255,255,255,.06)}
.footer-brand{color:#fff;font-size:1.18rem;font-weight:800;letter-spacing:-.025em}
.footer-brand:hover{color:#fff}
.footer-brand>span:last-child>span{color:#a979f5}
.footer-brand-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(109,63,208,.22);color:#b996ff;font-size:1.1rem}
.footer-copy{max-width:360px;color:#a9a1b7;font-size:.9rem;line-height:1.7}
.footer-heading{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.1rem}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li+li{margin-top:.7rem}
.footer-links a{color:#aaa2b8;font-size:.86rem;transition:color .2s ease,padding-left .2s ease}
.footer-links a:hover{color:#c29fff;padding-left:3px}
.footer-socials a{width:38px;height:38px;border:1px solid rgba(255,255,255,.09);border-radius:11px;display:grid;place-items:center;color:#aaa2b8;background:rgba(255,255,255,.025);transition:.2s ease}
.footer-socials a:hover{color:#fff;background:rgba(109,63,208,.22);border-color:rgba(167,124,246,.45);transform:translateY(-2px)}
.footer-newsletter{padding:26px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:linear-gradient(135deg,rgba(109,63,208,.16),rgba(255,255,255,.025))}
.footer-eyebrow{display:inline-block;color:#b996ff;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.65rem}
.footer-newsletter h5{font-size:1.25rem;margin-bottom:.55rem;color:#fff}
.footer-newsletter p{color:#a9a1b7;font-size:.82rem;line-height:1.6;margin-bottom:1.1rem}
.footer-newsletter-form{display:flex;gap:.55rem}
.footer-newsletter-form input{min-width:0;flex:1;height:48px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(0,0,0,.16);color:#fff;padding:0 .9rem;outline:none}
.footer-newsletter-form input::placeholder{color:#817a8f}
.footer-newsletter-form input:focus{border-color:#8f63e5;box-shadow:0 0 0 .2rem rgba(109,63,208,.14)}
.footer-newsletter-form .btn{height:48px;white-space:nowrap;padding:.65rem 1rem}
.footer-alert{border:1px solid rgba(24,165,107,.25);background:rgba(24,165,107,.1);color:#9de2c4;border-radius:12px;font-size:.78rem;padding:.7rem .8rem}
.footer-alert-error{border-color:rgba(255,100,100,.25);background:rgba(255,100,100,.08);color:#ffb0b0}
.footer-divider{border-color:rgba(255,255,255,.08);margin:38px 0 20px}
.footer-muted{color:#777083}
.footer-muted a{color:#a48ad0}
.footer-muted a:hover{color:#c29fff}
@media(max-width:575px){
    .footer-newsletter{padding:20px}
    .footer-newsletter-form{flex-direction:column}
    .footer-newsletter-form .btn{width:100%}
}
