/* =============================================================================
   VAUTRA DESIGN — matches screenshot
   ============================================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,400&family=Orbitron:wght@700;800;900&display=swap');

/* ── BASE ────────────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body { font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important; }
a { text-decoration: none; color: inherit; }

/* =============================================================================
   VIDEO SLIDER
   ============================================================================= */
.vslider {
    position: relative; height: 90vh; min-height: 540px; max-height: 920px;
    overflow: hidden; background: #0a0a0a; user-select: none;
}
.vslider-slide {
    position: absolute; inset: 0;
    opacity: 0; transition: opacity 1.1s ease; pointer-events: none;
}
.vslider-slide.active { opacity: 1; pointer-events: auto; }
.vslider-video {
    position: absolute; inset: 0;
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.vslider-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(5,5,5,.7) 0%, rgba(5,5,5,.35) 50%, rgba(5,5,5,.65) 100%);
}
.vslider-content {
    position: absolute; inset: 0;
    display: flex; align-items: center; z-index: 2; padding: 0 48px;
}
.vslider-inner { max-width: 1080px; width: 100%; margin: 0 auto; }
.vslider-tag {
    display: inline-block; font-family: 'DM Sans', sans-serif;
    font-size: 11px; font-weight: 700; color: rgba(255,255,255,.75);
    letter-spacing: 2px; text-transform: uppercase;
    border: 1px solid rgba(255,255,255,.28); border-radius: 999px;
    padding: 5px 16px; margin-bottom: 24px;
    background: rgba(255,255,255,.08); backdrop-filter: blur(6px);
}
.vslider-h2 {
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(38px, 5.5vw, 72px);
    font-weight: 800; color: #fff; line-height: 1.06;
    letter-spacing: -2px; margin: 0 0 22px;
    max-width: 740px; text-shadow: 0 2px 28px rgba(0,0,0,.35);
}
.vslider-p {
    font-family: 'DM Sans', sans-serif; font-size: 17px;
    color: rgba(255,255,255,.82); line-height: 1.65;
    margin: 0 0 36px; max-width: 480px;
    text-shadow: 0 1px 10px rgba(0,0,0,.45);
}
.vslider-btns { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.vslider-btn-primary {
    display: inline-block; font-family: 'DM Sans', sans-serif;
    font-size: 14px; font-weight: 600; color: #fff !important;
    background: #166534; border: 2px solid #166534; border-radius: 8px;
    padding: 12px 24px; text-decoration: none !important;
    transition: background .2s, transform .15s;
}
.vslider-btn-primary:hover { background: #14532d; border-color: #14532d; transform: translateY(-2px); }
.vslider-btn-ghost {
    display: inline-block; font-family: 'DM Sans', sans-serif;
    font-size: 14px; font-weight: 600; color: #fff !important;
    background: rgba(255,255,255,.1); border: 2px solid rgba(255,255,255,.38);
    border-radius: 8px; padding: 12px 24px; text-decoration: none !important;
    backdrop-filter: blur(4px); transition: background .2s, border-color .2s, transform .15s;
}
.vslider-btn-ghost:hover { background: rgba(255,255,255,.2); border-color: rgba(255,255,255,.65); transform: translateY(-2px); }
/* Arrows */
.vslider-arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 50px; height: 50px; border-radius: 50%;
    background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; z-index: 10; transition: background .2s; backdrop-filter: blur(4px);
}
.vslider-arrow:hover { background: rgba(255,255,255,.26); }
.vslider-prev { left: 24px; }
.vslider-next { right: 24px; }
/* Dots */
.vslider-dots {
    position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%);
    display: flex; gap: 10px; z-index: 10; align-items: center;
}
.vslider-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: rgba(255,255,255,.38); border: none; cursor: pointer;
    padding: 0; transition: background .25s, width .3s;
}
.vslider-dot.active { background: #fff; width: 26px; border-radius: 4px; }
/* Progress bar */
.vslider-progress {
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 3px; background: rgba(255,255,255,.12); z-index: 10;
}
.vslider-progress-bar { height: 100%; background: #22c55e; width: 0%; }
/* Mobile */
@media (max-width: 768px) {
    .vslider { height: 85vh; }
    .vslider-content { padding: 0 20px; }
    .vslider-h2 { letter-spacing: -1px; }
    .vslider-p { font-size: 15px; max-width: 100%; }
    .vslider-arrow { display: none; }
}
@media (max-width: 480px) {
    .vslider-btns { flex-direction: column; align-items: flex-start; }
    .vslider-btn-primary, .vslider-btn-ghost { width: 100%; text-align: center; }
}

/* =============================================================================
   ANIMATIONS
   ============================================================================= */

/* ── Page/hero load ── */
#masthead, .vhdr { animation: vani-slide-down 0.5s cubic-bezier(0.16,1,0.3,1) both; }
@keyframes vani-slide-down { from { opacity:0; transform:translateY(-14px); } to { opacity:1; transform:none; } }

/* Hero text entrance */
.vn-hero-section .elementor-heading-title {
    animation: vani-hero 0.9s cubic-bezier(0.16,1,0.3,1) 0.1s both;
}
.vn-hero-section .elementor-widget-text-editor:first-of-type {
    animation: vani-hero 0.9s cubic-bezier(0.16,1,0.3,1) 0.25s both;
}
.vn-hero-section .elementor-inner-section {
    animation: vani-hero 0.9s cubic-bezier(0.16,1,0.3,1) 0.4s both;
}
.vhc-h1, .vblog-h1, .vco-h1 {
    animation: vani-hero 0.85s cubic-bezier(0.16,1,0.3,1) 0.1s both;
}
.vhc-lead, .vblog-sub, .vco-lead {
    animation: vani-hero 0.85s cubic-bezier(0.16,1,0.3,1) 0.25s both;
}
.vhc-btns, .vco-badge, .vblog-badge {
    animation: vani-hero 0.85s cubic-bezier(0.16,1,0.3,1) 0.4s both;
}
@keyframes vani-hero {
    from { opacity:0; transform:translateY(28px); }
    to   { opacity:1; transform:none; }
}

/* ── CTA button subtle pulse ── */
.vhdr-cta, .vhc-btn-primary, .vco-btn, .vlogin-submit {
    animation: vani-cta-glow 3s ease-in-out 1.5s infinite;
}
@keyframes vani-cta-glow {
    0%,100% { box-shadow: 0 0 0 0 rgba(22,101,52,0); }
    50%      { box-shadow: 0 0 0 6px rgba(22,101,52,0.12); }
}

/* ── Scroll-triggered animation base ── */
.vani-up    { opacity:0; transform:translateY(36px); transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.vani-fade  { opacity:0; transition:opacity 0.7s ease; }
.vani-scale { opacity:0; transform:scale(0.93); transition:opacity 0.6s ease, transform 0.65s cubic-bezier(0.16,1,0.3,1); }
.vani-left  { opacity:0; transform:translateX(-36px); transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.vani-right { opacity:0; transform:translateX(36px); transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.vani-in    { opacity:1 !important; transform:none !important; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .vani-up,.vani-fade,.vani-scale,.vani-left,.vani-right { opacity:1!important; transform:none!important; transition:none!important; }
    .vn-hero-section .elementor-heading-title,
    .vn-hero-section .elementor-widget-text-editor:first-of-type,
    .vn-hero-section .elementor-inner-section,
    .vhc-h1,.vblog-h1,.vco-h1,.vhc-lead,.vblog-sub,.vco-lead,.vhc-btns,.vco-badge,.vblog-badge,
    #masthead,.vhdr { animation:none !important; }
}

/* ── LOGIN MODAL ─────────────────────────────────────────────────────────────── */
.vlogin-overlay {
    display: none; position: fixed;
    inset: 0; z-index: 999999;
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(5px);
    align-items: center; justify-content: center;
}
.vlogin-overlay.active { display: flex; }
.vlogin-modal {
    background: #e8f2ec;
    border-radius: 20px;
    padding: 36px 32px 32px;
    width: 100%; max-width: 460px;
    margin: 20px;
    position: relative;
    box-shadow: 0 24px 64px rgba(0,0,0,.25);
}
.vlogin-close {
    position: absolute; top: 16px; right: 16px;
    width: 32px; height: 32px; border-radius: 50%;
    background: #fff; border: 1px solid #dde8dd;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: background .15s;
}
.vlogin-close:hover { background: #f0f5f0; }
.vlogin-icon {
    width: 48px; height: 48px; border-radius: 12px;
    background: rgba(255,255,255,.75); border: 1px solid #ccdacc;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 20px;
}
.vlogin-pretitle {
    font-family: 'DM Sans', sans-serif; font-size: 11px; font-weight: 600;
    letter-spacing: 1.8px; color: #5a7a6a; text-transform: uppercase;
    margin: 0 0 10px;
}
.vlogin-title {
    font-family: 'DM Sans', sans-serif; font-size: 26px; font-weight: 700;
    color: #0d0d0d; margin: 0 0 12px; letter-spacing: -.3px; line-height: 1.2;
}
.vlogin-desc {
    font-family: 'DM Sans', sans-serif; font-size: 14px; color: #556655;
    line-height: 1.6; margin: 0 0 26px;
}
.vlogin-label {
    display: block; font-family: 'DM Sans', sans-serif;
    font-size: 13px; font-weight: 600; color: #111; margin-bottom: 8px;
}
.vlogin-input {
    width: 100%; font-family: 'DM Sans', sans-serif;
    font-size: 14px; color: #111; background: #fff;
    border: 1.5px solid #d0ddd0; border-radius: 10px;
    padding: 13px 16px; outline: none; box-sizing: border-box;
    margin-bottom: 12px; transition: border-color .2s;
}
.vlogin-input::placeholder { color: #b0bdb0; }
.vlogin-input:focus { border-color: #3d8c66; box-shadow: 0 0 0 3px rgba(61,140,102,.1); }
.vlogin-submit {
    width: 100%; font-family: 'DM Sans', sans-serif;
    font-size: 15px; font-weight: 600; color: #fff;
    background: #3d7a5e; border: none; border-radius: 10px;
    padding: 14px; cursor: pointer; letter-spacing: .2px;
    transition: background .2s;
}
.vlogin-submit:hover { background: #2e5f49; }

/* ── HEADER ──────────────────────────────────────────────────────────────────── */
#masthead { background: #0a0a0a !important; border-bottom: 1px solid #1c1c1c !important; position: sticky; top: 0; z-index: 9999; }
#masthead .main-title { display: none !important; }
.vhdr-section > .elementor-container { max-width: 100% !important; }
.vhdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 48px;
    background: #0a0a0a;
}
.vhdr-logo {
    font-family: 'Orbitron', 'DM Sans', sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: #ffffff;
    text-decoration: none;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.vhdr-logo img { height: 32px; width: auto; }
.vhdr-nav { display: flex; align-items: center; gap: 4px; }
.vhdr-item a {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #cccccc;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 6px;
    transition: color 0.2s, background 0.2s;
}
.vhdr-item a:hover { color: #ffffff; background: rgba(255,255,255,.05); }
.vhdr-actions { display: flex; align-items: center; gap: 12px; }
.vhdr-login {
    color: #cccccc;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    padding: 6px 12px;
    transition: color 0.2s;
}
.vhdr-login:hover { color: #ffffff; }
.vhdr-cta {
    background: #166534;
    color: #ffffff !important;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 20px;
    border-radius: 8px;
    text-decoration: none !important;
    transition: background 0.2s;
    white-space: nowrap;
}
.vhdr-cta:hover { background: #14532d; color: #fff !important; }

/* ── FOOTER ──────────────────────────────────────────────────────────────────── */
#colophon { background: #0a0a0a !important; border-top: none !important; }
/* Full-width Elementor container inside footer */
#colophon .elementor-container { max-width: 100% !important; width: 100% !important; }
#colophon .elementor-section-stretched { left: 0 !important; width: 100% !important; }
/* Match horizontal padding to header (48px each side) */
#colophon .elementor-section { padding-left: 48px !important; padding-right: 48px !important; }
/* Remove Elementor default widget margins in footer */
#colophon .elementor-widget-text-editor p { margin: 0 !important; }
#colophon .elementor-widget-heading .elementor-heading-title { margin: 0 !important; }
/* Footer link colors via text-editor */
#colophon .elementor-widget-text-editor a { color: #888888 !important; text-decoration: none !important; transition: color .2s; }
#colophon .elementor-widget-text-editor a:hover { color: #cccccc !important; }
/* Bottom legal bar */
.vftr-legal-bar { display: flex; gap: 28px; justify-content: flex-end; }
.vftr-legal-bar a { font-family: 'DM Sans', sans-serif; font-size: 12px; color: #555555; text-decoration: none; transition: color .2s; }
.vftr-legal-bar a:hover { color: #888888; }
.vftr-brand { flex: 0 0 300px; }
.vftr-logo-img {
    height: 28px;
    width: auto;
    display: block;
    margin-bottom: 18px;
}
.vftr-brand p {
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    color: #888888;
    line-height: 1.8;
    margin: 0;
}
.vftr-cols { display: flex; gap: 80px; }
.vftr-col { display: flex; flex-direction: column; gap: 12px; min-width: 110px; }
.vftr-col h4 {
    font-family: 'DM Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #cccccc;
    letter-spacing: 1.5px;
    margin: 0 0 8px;
    text-transform: uppercase;
}
.vftr-col a {
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    color: #888888;
    text-decoration: none;
    transition: color 0.2s;
}
.vftr-col a:hover { color: #cccccc; }
.vftr-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 28px;
    border-top: 1px solid #1f1f1f;
}
.vftr-bottom span {
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    color: #555555;
}
.vftr-legal { display: flex; gap: 28px; }
.vftr-legal a {
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    color: #555555;
    text-decoration: none;
    transition: color 0.2s;
}
.vftr-legal a:hover { color: #888888; }

/* ── COMPLIANCE PAGE ─────────────────────────────────────────────────────────── */
.vc-hero { background: #eef2ee !important; }
.vc-hero .elementor-widget-heading .elementor-heading-title { line-height: 1.15; }
.vc-gdpr, .vc-hipaa { background: #ffffff !important; }
.vc-gdpr .elementor-inner-section, .vc-hipaa .elementor-inner-section {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    margin-bottom: 16px;
}
.vc-gdpr .elementor-widget-icon-list .elementor-icon-list-icon svg,
.vc-gdpr .elementor-widget-icon-list .elementor-icon-list-icon i,
.vc-hipaa .elementor-widget-icon-list .elementor-icon-list-icon svg,
.vc-hipaa .elementor-widget-icon-list .elementor-icon-list-icon i {
    color: #22c55e !important; fill: #22c55e !important;
}
.vc-gdpr .elementor-widget-icon-list .elementor-icon-list-text,
.vc-hipaa .elementor-widget-icon-list .elementor-icon-list-text {
    font-family: 'DM Sans', sans-serif; font-size: 14px; color: #374151;
}
.vc-gdpr .elementor-widget-icon-list,
.vc-hipaa .elementor-widget-icon-list { margin-bottom: 0 !important; }
.vc-gdpr .elementor-icon-list-items,
.vc-hipaa .elementor-icon-list-items { gap: 6px; display: flex; flex-direction: column; }
.vc-blockchain { background: #0a0a0a !important; }
.vc-blockchain .elementor-widget-text-editor { max-width: 640px; margin: 0 auto; text-align: center; }
.vc-blockchain .elementor-widget-button .elementor-button { text-decoration: underline; background: transparent !important; box-shadow: none !important; }

/* ── HEALTHCARE PAGE (ID 267) ────────────────────────────────────────────────── */
/* Strip Elementor default spacing — same pattern as homepage vn-* sections */
.elementor-page-267 .elementor-widget-wrap,
.elementor-page-267 .elementor-element-populated,
.elementor-page-267 .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
/* Container: full-width + 48px sides (matches header) */
.elementor-page-267 .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
    box-sizing: border-box !important;
}

/* Hero */
.vhc-hero { background: #ecf2ec; padding: 80px 0 88px; }
.vhc-badge {
    display: inline-block; font-family: 'DM Sans', sans-serif;
    font-size: 11px; font-weight: 600; color: #2a2a2a; letter-spacing: 0.5px;
    text-transform: uppercase; border: 1px solid #c0c9c0; border-radius: 999px;
    padding: 5px 14px; margin-bottom: 24px; background: rgba(255,255,255,0.6);
}
.vhc-h1 {
    font-family: 'DM Sans', sans-serif; font-size: 56px; font-weight: 800;
    line-height: 1.08; color: #0d0d0d; margin: 0 0 22px;
    letter-spacing: -1.5px; max-width: 640px;
}
.vhc-lead {
    font-family: 'DM Sans', sans-serif; font-size: 15px; color: #555;
    line-height: 1.65; margin: 0 0 32px; max-width: 500px;
}
.vhc-btns { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.vhc-btns--center { justify-content: center; }
.vhc-btn-primary {
    display: inline-block; font-family: 'DM Sans', sans-serif;
    font-size: 14px; font-weight: 600; color: #fff !important;
    background: #1a4731; border: 2px solid #1a4731; border-radius: 8px;
    padding: 11px 22px; text-decoration: none !important; transition: background .2s;
}
.vhc-btn-primary:hover { background: #133625; border-color: #133625; }
.vhc-btn-ghost {
    display: inline-block; font-family: 'DM Sans', sans-serif;
    font-size: 14px; font-weight: 500; color: #111 !important;
    background: transparent; border: 2px solid #d1d5db; border-radius: 8px;
    padding: 11px 22px; text-decoration: none !important; transition: border-color .2s;
}
.vhc-btn-ghost:hover { border-color: #999; }

/* Pain Points */
.vhc-pain { background: #0d0d0d; padding: 80px 0 88px; }
.vhc-pain-cols { display: flex; gap: 60px; align-items: flex-start; }
.vhc-pain-left, .vhc-pain-right { flex: 1; }
.vhc-small-badge {
    display: inline-block; font-family: 'DM Sans', sans-serif;
    font-size: 10px; font-weight: 600; color: #888; letter-spacing: 1px;
    text-transform: uppercase; border: 1px solid #2f2f2f; border-radius: 999px;
    padding: 4px 12px; margin-bottom: 20px;
}
.vhc-small-badge--dim { color: #555; border-color: #222; }
.vhc-h2 {
    font-family: 'DM Sans', sans-serif; font-size: 40px; font-weight: 800;
    line-height: 1.1; color: #fff; margin: 0 0 32px; letter-spacing: -1px;
}
.vhc-cards { display: flex; flex-direction: column; gap: 10px; }
.vhc-card {
    display: flex; align-items: flex-start; gap: 18px;
    background: #161616; border: 1px solid #242424; border-radius: 8px;
    padding: 18px 20px;
}
.vhc-card-num {
    font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 600;
    color: #4a4a4a; flex-shrink: 0; padding-top: 1px; min-width: 14px;
}
.vhc-card-text {
    font-family: 'DM Sans', sans-serif; font-size: 14px; color: #5ca87a; line-height: 1.55;
}
.vhc-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.vhc-check { display: flex; align-items: flex-start; gap: 12px; }
.vhc-check-icon { width: 20px; height: 20px; flex-shrink: 0; margin-top: 1px; }
.vhc-check span { font-family: 'DM Sans', sans-serif; font-size: 14px; color: #cccccc; line-height: 1.6; }

/* Features bar */
.vhc-features {
    background: #f7f8f6; padding: 26px 0;
    border-top: 1px solid #e5eae5; border-bottom: 1px solid #e5eae5;
}
.vhc-feat-list {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap;
}
.vhc-feat-item {
    display: flex; align-items: center; gap: 8px;
    font-family: 'DM Sans', sans-serif; font-size: 13px; color: #666; font-weight: 500;
}
.vhc-feat-icon { width: 18px; height: 18px; flex-shrink: 0; }

/* CTA */
.vhc-cta { background: #fff; padding: 96px 0 108px; }
.vhc-cta-inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
.vhc-cta-h2 {
    font-family: 'DM Sans', sans-serif; font-size: 48px; font-weight: 700;
    line-height: 1.1; color: #9ca3af; margin: 0 0 14px;
    letter-spacing: -1px; max-width: 560px;
}
.vhc-cta-sub {
    font-family: 'DM Sans', sans-serif; font-size: 14px; color: #aaa;
    margin: 0 0 36px; line-height: 1.5;
}

/* ── CONTACT PAGE ────────────────────────────────────────────────────────────── */

/* Kill Elementor wrappers on contact page */
.elementor-page-161 .elementor-section,
.elementor-page-161 .elementor-container,
.elementor-page-161 .elementor-column,
.elementor-page-161 .elementor-widget-wrap,
.elementor-page-161 .elementor-element-populated,
.elementor-page-161 .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
.elementor-page-161 .elementor-container { max-width: 100% !important; width: 100% !important; }

/* Shared centered wrapper */
.vco-wrap { max-width: 1080px; margin: 0 auto; padding: 0 80px; box-sizing: border-box; }

/* ── HERO ── */
.vco-hero { background: #ecf2ec; padding: 80px 0 88px; width: 100%; }
.vco-badge {
    display: inline-block;
    font-family: 'DM Sans', sans-serif;
    font-size: 11px; font-weight: 600;
    color: #2a2a2a; letter-spacing: 0.5px;
    text-transform: uppercase;
    border: 1px solid #c0c9c0; border-radius: 999px;
    padding: 5px 14px; margin-bottom: 22px;
    background: rgba(255,255,255,0.6);
}
.vco-h1 {
    font-family: 'DM Sans', sans-serif;
    font-size: 52px; font-weight: 800;
    line-height: 1.12; color: #0d0d0d;
    margin: 0 0 18px; letter-spacing: -1.5px;
    max-width: 560px;
}
.vco-lead {
    font-family: 'DM Sans', sans-serif;
    font-size: 15px; color: #555; line-height: 1.65;
    margin: 0; max-width: 420px;
}
.vco-lead a { color: #555; text-decoration: none; }
.vco-lead a:hover { text-decoration: underline; }

/* ── BODY ── */
.vco-body { background: #fff; padding: 72px 0 80px; width: 100%; }
.vco-cols { display: flex; gap: 56px; align-items: flex-start; }

/* Left info */
.vco-left { flex: 0 0 360px; display: flex; flex-direction: column; gap: 30px; }
.vco-block h4 {
    font-family: 'DM Sans', sans-serif;
    font-size: 15px; font-weight: 700; color: #111; margin: 0 0 5px;
}
.vco-block p {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px; color: #555; line-height: 1.65; margin: 0;
}
.vco-block > a {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px; color: #555; text-decoration: none;
}
.vco-block > a:hover { color: #111; text-decoration: underline; }
.vco-demo-btn {
    display: inline-block; margin-top: 14px;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px; font-weight: 500; color: #111;
    border: 1.5px solid #d1d5db; border-radius: 8px;
    padding: 9px 18px; text-decoration: none !important;
    transition: border-color .2s, background .2s;
}
.vco-demo-btn:hover { border-color: #999; background: #f7f7f7; color: #111 !important; }

/* Right form card */
.vco-right { flex: 1; }
.vco-card {
    background: #fff; border: 1px solid #e5e7eb;
    border-radius: 12px; padding: 30px 30px 26px;
}
.vco-card-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 19px; font-weight: 700; color: #111; margin: 0 0 7px;
}
.vco-card-sub {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px; color: #555; margin: 0 0 20px; line-height: 1.55;
}
.vco-green { color: #2a9d6e; }
.vco-form { display: flex; flex-direction: column; gap: 10px; }
.vco-inp {
    width: 100%; font-family: 'DM Sans', sans-serif;
    font-size: 14px; color: #111; background: #fff;
    border: 1px solid #e5e7eb; border-radius: 7px;
    padding: 11px 14px; outline: none; box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
    appearance: none; -webkit-appearance: none;
}
.vco-inp::placeholder { color: #9ca3af; }
.vco-inp:focus { border-color: #2a9d6e; box-shadow: 0 0 0 3px rgba(42,157,110,.08); }
.vco-sel-wrap { position: relative; }
.vco-sel { cursor: pointer; padding-right: 36px; }
.vco-arrow { position: absolute; right: 11px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; pointer-events: none; }
.vco-msg { resize: vertical; min-height: 116px; line-height: 1.55; }
.vco-btn {
    width: 100%; font-family: 'DM Sans', sans-serif;
    font-size: 15px; font-weight: 600; color: #fff;
    background: #1a4731; border: none; border-radius: 7px;
    padding: 13px; cursor: pointer; margin-top: 2px;
    transition: background .2s;
}
.vco-btn:hover { background: #133625; }
.elementor-section { margin: 0 !important; }
.elementor-widget-text-editor p { margin-bottom: 0 !important; }

/* Remove default column padding */
.elementor-column > .elementor-element-populated { padding: 0 !important; }

/* ── VARIABLES ───────────────────────────────────────────────────────────────── */
:root {
    --g:  #1e5c38;
    --gm: #2a7a4b;
    --gl: #e8f5ee;
    --dk: #0d0d0d;
    --dc: #181818;
    --gb: #f7f8f6;
    --tm: #555;
    --bd: #e2e8e4;
    --gac: #6fcf97;
    --r: 12px;
}

/* ════════════════════════════════════════════════════════════════════════════════
   1. NAV
   ════════════════════════════════════════════════════════════════════════════════ */
.vn-nav-section {
    position: sticky !important;
    top: 0;
    z-index: 9999;
    box-shadow: 0 1px 0 var(--bd);
    background: #fff !important;
}
.vn-nav-section .elementor-container {
    align-items: center !important;
    min-height: 64px;
    max-width: 100% !important;
    padding: 0 40px;
}
.vn-nav-section .elementor-column { align-self: center !important; }
.vn-nav-section .elementor-heading-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    line-height: 1 !important;
    color: var(--dk) !important;
}
.vn-nav-section .elementor-widget-text-editor p {
    line-height: 1 !important;
    font-size: 14px;
}
.vn-nav-section .elementor-widget-text-editor a {
    color: #333 !important;
    font-weight: 500;
    font-size: 14px;
    margin: 0 12px;
}
.vn-nav-section .elementor-widget-text-editor a:hover { color: var(--g) !important; }
.vn-nav-section .elementor-widget-button .elementor-button {
    font-size: 13px !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

/* ════════════════════════════════════════════════════════════════════════════════
   3b. TICKER — Icon List scrolling marquee
   ════════════════════════════════════════════════════════════════════════════════ */

/* Section container */
.vn-ticker-section { overflow: hidden !important; }
.vn-ticker-section .elementor-container {
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 0 !important;
}
.vn-ticker-section .elementor-column > .elementor-element-populated {
    overflow: hidden !important;
    padding: 0 !important;
}

/* Animate the <ul> */
.vn-ticker-section .elementor-icon-list-items {
    display: flex !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    animation: icon-ticker 32s linear infinite !important;
    width: max-content !important;
    align-items: center;
    padding: 8px 0 !important;
    margin: 0 !important;
    gap: 0 !important;
}
@keyframes icon-ticker {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.vn-ticker-section .elementor-icon-list-items:hover {
    animation-play-state: paused !important;
}

/* Each pill item */
.vn-ticker-section .elementor-icon-list-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid #e2e8e4 !important;
    border-radius: 100px !important;
    padding: 7px 16px !important;
    margin: 0 6px !important;
    background: #fff !important;
    flex-shrink: 0 !important;
    transition: border-color .2s, background .2s;
    cursor: default;
    list-style: none !important;
}
.vn-ticker-section .elementor-icon-list-item:hover {
    border-color: #b4d9c3 !important;
    background: #f4fbf7 !important;
}

/* Icon inside pill */
.vn-ticker-section .elementor-icon-list-icon {
    display: inline-flex !important;
    align-items: center !important;
    flex-shrink: 0;
}
.vn-ticker-section .elementor-icon-list-icon i {
    font-size: 13px !important;
    color: #888 !important;
}

/* Text inside pill */
.vn-ticker-section .elementor-icon-list-text {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #444 !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

/* Remove bullet/separator Elementor adds between inline items */
.vn-ticker-section .elementor-icon-list-item::after { display: none !important; }

/* ════════════════════════════════════════════════════════════════════════════════
   2. HERO
   ════════════════════════════════════════════════════════════════════════════════ */
.vn-hero-section {
    background: linear-gradient(160deg, #edf7f1 0%, #fff 55%) !important;
    overflow: hidden;
}
.vn-hero-section .elementor-container {
    min-height: 90vh !important;
    align-items: center !important;
    padding: 60px 24px 80px !important;
    max-width: 100% !important;
}
.vn-hero-section .elementor-column > .elementor-element-populated {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    padding: 0 !important;
}
.vn-hero-section .elementor-heading-title {
    font-size: clamp(42px, 5.5vw, 68px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -.025em !important;
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.vn-hero-section .elementor-widget-heading { width: 100%; }
.vn-hero-section .elementor-widget-heading + .elementor-widget-heading {
    margin-top: -4px !important;
}
.vn-hero-section .elementor-widget-text-editor { max-width: 560px; width: 100%; }
.vn-hero-section .elementor-widget-text-editor:first-of-type { max-width: none; }
.vn-hero-section .elementor-widget-text-editor:last-of-type {
    max-width: 680px;
}
.vn-hero-section .elementor-widget-text-editor:last-of-type p {
    font-size: 13px !important;
    color: #999;
}
.vn-hero-section .elementor-inner-section {
    max-width: 460px !important;
    margin: 0 auto !important;
    background: transparent !important;
    border: none !important;
    min-height: auto !important;
    height: auto !important;
}
.vn-hero-section .elementor-inner-section .elementor-container {
    align-items: center !important;
    gap: 0 !important;
    min-height: auto !important;
    height: auto !important;
}
.vn-hero-section .elementor-inner-section .elementor-column,
.vn-hero-section .elementor-inner-section .elementor-element-populated {
    min-height: auto !important;
    height: auto !important;
}
.vn-hero-section .elementor-widget-button .elementor-button {
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    white-space: nowrap;
    padding: 13px 28px !important;
}
.vn-hero-section .elementor-widget-spacer { display: none; }
.vn-hero-section .elementor-widget-spacer:nth-child(3),
.vn-hero-section .elementor-widget-spacer:nth-child(6),
.vn-hero-section .elementor-widget-spacer:nth-child(7),
.vn-hero-section .elementor-widget-spacer:nth-child(8) { display: block; }

/* ════════════════════════════════════════════════════════════════════════════════
   3. TICKER
   ════════════════════════════════════════════════════════════════════════════════ */
.vn-ticker-section {
    overflow: hidden !important;
    border-top: 1px solid var(--bd) !important;
    border-bottom: 1px solid var(--bd) !important;
    background: #fff !important;
}
.vn-ticker-section .elementor-container { padding: 0 !important; max-width: 100% !important; }

/* ════════════════════════════════════════════════════════════════════════════════
   4. WHY IT MATTERS
   ════════════════════════════════════════════════════════════════════════════════ */
.vn-why-section {
    background: var(--dk) !important;
    padding: 90px 40px !important;
}
.vn-why-section .elementor-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
}
.vn-why-section .elementor-heading-title {
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
}
.vn-why-section em { font-style: normal; color: var(--gac); }

/* ── WHY CARDS — targeted by element ID ─── */
/* Card inner sections: f4218889, f5224aef, 482a351f, 2c15a093 */
.elementor-element-f4218889,
.elementor-element-f5224aef,
.elementor-element-482a351f,
.elementor-element-2c15a093 {
    background-color: #181818 !important;
    border: 1px solid #252525 !important;
    border-radius: var(--r) !important;
    overflow: hidden;
    transition: border-color .2s;
}
.elementor-element-f4218889:hover,
.elementor-element-f5224aef:hover,
.elementor-element-482a351f:hover,
.elementor-element-2c15a093:hover { border-color: #333 !important; }

.elementor-element-f4218889 .elementor-container,
.elementor-element-f5224aef .elementor-container,
.elementor-element-482a351f .elementor-container,
.elementor-element-2c15a093 .elementor-container {
    padding: 28px !important;
    align-items: flex-start !important;
}
.elementor-element-f4218889 .elementor-element-populated,
.elementor-element-f5224aef .elementor-element-populated,
.elementor-element-482a351f .elementor-element-populated,
.elementor-element-2c15a093 .elementor-element-populated { padding: 0 !important; }

/* Space between stacked cards */
.elementor-element-f4218889, .elementor-element-482a351f {
    margin-bottom: 18px !important;
}

/* Icon box inside why cards */
.vn-why-section .elementor-icon-box-wrapper {
    flex-direction: column !important;
    align-items: flex-start !important;
}
.vn-why-section .elementor-icon-box-icon {
    margin-right: 0 !important;
    margin-bottom: 14px !important;
    width: auto !important;
}
.vn-why-section .elementor-icon-box-icon i { font-size: 22px !important; color: var(--gac) !important; }
.vn-why-section .elementor-icon-box-title-text {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin-bottom: 8px !important;
    display: block;
}
.vn-why-section .elementor-icon-box-description p {
    font-size: 13.5px !important;
    color: #888 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

/* Outer grid layout */
.elementor-element-3e66d49e {
    background: transparent !important;
    border: none !important;
    margin-top: 44px !important;
}
.elementor-element-3e66d49e > .elementor-container {
    padding: 0 !important;
    gap: 0 !important;
}
.elementor-element-3e66d49e > .elementor-container > .elementor-column:first-child > .elementor-element-populated { padding: 0 9px 0 0 !important; }
.elementor-element-3e66d49e > .elementor-container > .elementor-column:last-child > .elementor-element-populated { padding: 0 0 0 9px !important; }

/* ════════════════════════════════════════════════════════════════════════════════
   5. STATS
   ════════════════════════════════════════════════════════════════════════════════ */
.vn-stats-section {
    background: var(--gb) !important;
    padding: 90px 40px !important;
}
.vn-stats-section .elementor-container {
    max-width: 1100px !important;
    margin: 0 auto !important;
    align-items: stretch !important;
}
.vn-stats-section .elementor-column > .elementor-element-populated {
    padding: 32px 24px !important;
    border-right: 1px solid var(--bd);
    text-align: center;
}
.vn-stats-section .elementor-column:last-child > .elementor-element-populated { border-right: none; }
.vn-stats-section .elementor-counter { text-align: center !important; }
.vn-stats-section .elementor-counter-number-wrapper {
    display: block;
    font-size: 52px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: var(--dk) !important;
    letter-spacing: -.02em;
}
.vn-stats-section .elementor-counter-title {
    display: block !important;
    font-size: 12.5px !important;
    color: #666 !important;
    margin-top: 10px;
    line-height: 1.55;
}

/* ════════════════════════════════════════════════════════════════════════════════
   6. SECURITY ARCHITECTURE
   ════════════════════════════════════════════════════════════════════════════════ */
.vn-security-section {
    background: #fff !important;
    padding: 90px 40px !important;
}
.vn-security-section .elementor-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    align-items: center !important;
}
.vn-security-section .elementor-heading-title {
    line-height: 1.1 !important;
    letter-spacing: -.02em !important;
}
.vn-security-section em { font-style: normal; color: var(--g); }
.vn-security-section .elementor-col-50:first-child > .elementor-element-populated { padding: 0 52px 0 0 !important; }
.vn-security-section .elementor-col-50:last-child > .elementor-element-populated { padding: 0 0 0 52px !important; }
.vn-security-section .elementor-icon-box-wrapper {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 14px;
}
.vn-security-section .elementor-icon-box-icon {
    flex-shrink: 0 !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px;
    background: var(--gl) !important;
    border: 1px solid #b4d9c3 !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    margin-right: 0 !important;
}
.vn-security-section .elementor-icon-box-icon i { font-size: 17px !important; color: var(--g) !important; }
.vn-security-section .elementor-icon-box-content { flex: 1; }
.vn-security-section .elementor-icon-box-title-text {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--dk) !important;
    margin-bottom: 3px !important;
    display: block;
}
.vn-security-section .elementor-icon-box-description p {
    font-size: 13.5px !important;
    color: var(--tm) !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}
.vn-security-section .elementor-widget-icon-box { margin-bottom: 0 !important; }
.vn-security-section .elementor-widget-button .elementor-button {
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 11px 22px !important;
}

/* ════════════════════════════════════════════════════════════════════════════════
   7. PRICING
   ════════════════════════════════════════════════════════════════════════════════ */
.vn-pricing-section {
    background: var(--dk) !important;
    padding: 90px 40px !important;
}
.vn-pricing-section .elementor-container {
    max-width: 1100px !important;
    margin: 0 auto !important;
}
.vn-pricing-section .elementor-heading-title {
    color: #fff !important;
    line-height: 1.1 !important;
    letter-spacing: -.01em !important;
}
.vn-pricing-section .elementor-widget-text-editor p { color: #999 !important; }

/* ── PRICING PLAN CARDS — targeted by column ID ─── */
/* Plan columns: c6995deb, 74889de3, 559b3b2f */
.elementor-element-c6995deb > .elementor-element-populated,
.elementor-element-74889de3 > .elementor-element-populated,
.elementor-element-559b3b2f > .elementor-element-populated {
    background-color: #181818 !important;
    border: 1px solid #252525 !important;
    border-radius: var(--r) !important;
    padding: 30px !important;
    transition: border-color .2s;
}
.elementor-element-c6995deb:hover > .elementor-element-populated,
.elementor-element-74889de3:hover > .elementor-element-populated,
.elementor-element-559b3b2f:hover > .elementor-element-populated { border-color: #333 !important; }

/* Icon wrapper in pricing cards */
.elementor-element-c6995deb .elementor-icon-wrapper,
.elementor-element-74889de3 .elementor-icon-wrapper,
.elementor-element-559b3b2f .elementor-icon-wrapper {
    width: 44px !important;
    height: 44px !important;
    background: #222 !important;
    border: 1px solid #2f2f2f !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 18px !important;
}
.elementor-element-c6995deb .elementor-icon,
.elementor-element-74889de3 .elementor-icon,
.elementor-element-559b3b2f .elementor-icon { font-size: 22px !important; color: var(--gac) !important; }

.elementor-element-c6995deb .elementor-heading-title,
.elementor-element-74889de3 .elementor-heading-title,
.elementor-element-559b3b2f .elementor-heading-title { color: #fff !important; font-size: 18px !important; }

.elementor-element-c6995deb .elementor-widget-text-editor p,
.elementor-element-74889de3 .elementor-widget-text-editor p,
.elementor-element-559b3b2f .elementor-widget-text-editor p { color: #888 !important; font-size: 13.5px !important; line-height: 1.65; }

/* Plan grid spacing */
.elementor-element-6ea0e40d > .elementor-container {
    gap: 18px !important;
    align-items: stretch !important;
    margin-top: 52px;
}
.elementor-element-6ea0e40d { background: transparent !important; }

/* Pricing button */
.vn-pricing-section .elementor-widget-button .elementor-button {
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 13px 30px !important;
    border-radius: 8px !important;
}
.vn-pricing-section .elementor-widget-text-editor p {
    font-size: 13px;
    color: #555 !important;
}

/* ════════════════════════════════════════════════════════════════════════════════
   7b. PRICING (screenshot-matched redesign)
   ════════════════════════════════════════════════════════════════════════════════ */

/* Section */
.vn-pricing-section {
    background: #0a0a0a !important;
    padding: 90px 40px !important;
}
.vn-pricing-section .elementor-container {
    max-width: 780px !important;
    margin: 0 auto !important;
}
.vn-pricing-section .elementor-heading-title {
    color: #fff !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
}
.vn-pricing-section > .elementor-container > .elementor-column > .elementor-element-populated {
    padding: 0 !important;
}

/* Big card */
.vn-pricing-big-card {
    background: #161616 !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 16px !important;
    overflow: hidden;
}
.vn-pricing-big-card > .elementor-container {
    padding: 32px 32px 40px !important;
    flex-direction: column;
}
.vn-pricing-big-card > .elementor-container > .elementor-column { width: 100% !important; }
.vn-pricing-big-card > .elementor-container > .elementor-column > .elementor-element-populated { padding: 0 !important; }

/* Plans row inside big card */
.vn-plans-row {
    background: transparent !important;
    border: none !important;
}
.vn-plans-row > .elementor-container {
    gap: 12px !important;
    padding: 0 !important;
    align-items: stretch !important;
}
.vn-plans-row > .elementor-container > .elementor-column { flex: 1; }

/* Individual plan mini-cards */
.vn-plan-mini-card > .elementor-element-populated {
    background: #1e1e1e !important;
    border: 1px solid #2f2f2f !important;
    border-radius: 10px !important;
    padding: 20px 16px !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: border-color .2s;
}
.vn-plan-mini-card:hover > .elementor-element-populated { border-color: #3a3a3a !important; }
.vn-plan-mini-card .elementor-icon-wrapper { margin: 0 auto; }
.vn-plan-mini-card .elementor-heading-title { color: #fff !important; font-size: 14px !important; font-weight: 600 !important; margin-top: 10px !important; }

/* Full-width button */
.vn-pricing-big-card .elementor-button {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 15px 32px !important;
}
.vn-pricing-big-card .elementor-widget-button { width: 100% !important; }
.vn-pricing-big-card .elementor-widget-button .elementor-button-wrapper { width: 100%; }
.vn-pricing-big-card .elementor-widget-button .elementor-button-link { display: block !important; width: 100%; }

/* ════════════════════════════════════════════════════════════════════════════════
   8. FAQ
   ════════════════════════════════════════════════════════════════════════════════ */
.vn-faq-section {
    background: #fff !important;
    padding: 90px 40px !important;
}
.vn-faq-section .elementor-container {
    max-width: 760px !important;
    margin: 0 auto !important;
}
.vn-faq-section .elementor-heading-title {
    text-align: center !important;
    letter-spacing: -.02em !important;
    margin-bottom: 0 !important;
}
.vn-faq-section .elementor-accordion { border: none !important; }
.vn-faq-section .elementor-accordion-item {
    border: none !important;
    border-bottom: 1px solid var(--bd) !important;
    background: none !important;
}
.vn-faq-section a.elementor-accordion-title {
    padding: 20px 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #111 !important;
    background: none !important;
    border: none !important;
    line-height: 1.4 !important;
}
.vn-faq-section .elementor-active a.elementor-accordion-title { color: var(--g) !important; }
.vn-faq-section .elementor-accordion-content {
    padding: 0 0 20px !important;
    font-size: 14.5px !important;
    line-height: 1.75 !important;
    color: var(--tm) !important;
    border: none !important;
    background: none !important;
}
.vn-faq-section .elementor-accordion-icon { color: #999 !important; }
.vn-faq-section .elementor-active .elementor-accordion-icon { color: var(--g) !important; }

/* ════════════════════════════════════════════════════════════════════════════════
   9. CTA
   ════════════════════════════════════════════════════════════════════════════════ */
.vn-cta-section {
    background: var(--gb) !important;
    padding: 90px 40px !important;
    border-top: 1px solid var(--bd) !important;
}
.vn-cta-section .elementor-container {
    max-width: 660px !important;
    margin: 0 auto !important;
}
.vn-cta-section .elementor-heading-title {
    letter-spacing: -.02em !important;
    line-height: 1.1 !important;
}
.vn-cta-section .elementor-inner-section {
    background: transparent !important;
    border: none !important;
    max-width: 500px !important;
    margin: 0 auto !important;
}
.vn-cta-section .elementor-inner-section .elementor-container { align-items: center !important; }
.vn-cta-section .elementor-widget-button .elementor-button {
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 13px 28px !important;
    border-radius: 8px !important;
    white-space: nowrap;
}

/* ════════════════════════════════════════════════════════════════════════════════
   10. FOOTER
   ════════════════════════════════════════════════════════════════════════════════ */
.vn-footer-section {
    background: var(--dk) !important;
    padding: 60px 40px 28px !important;
}
.vn-footer-section .elementor-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    align-items: flex-start !important;
}
.vn-footer-section .elementor-heading-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: #fff !important;
    line-height: 1 !important;
}
.vn-footer-section .elementor-widget-text-editor a { color: #555 !important; font-size: 13px; }
.vn-footer-section .elementor-widget-text-editor a:hover { color: #aaa !important; }
.vn-footer-section .elementor-widget-text-editor li { margin-bottom: 8px; list-style: none; }
.vn-footer-section .elementor-widget-text-editor ul { padding: 0; margin: 0; }
.vn-footer-section .elementor-divider-separator { border-top-color: #1e1e1e !important; }
.vn-footer-section .elementor-col-34 > .elementor-element-populated { padding: 0 40px 0 0 !important; }
.vn-footer-section .elementor-col-16 > .elementor-element-populated { padding: 0 16px 0 0 !important; }

/* ════════════════════════════════════════════════════════════════════════════════
   GLOBAL BUTTONS
   ════════════════════════════════════════════════════════════════════════════════ */
.elementor-button {
    cursor: pointer;
    transition: opacity .18s ease, background .18s ease !important;
    font-family: 'DM Sans', sans-serif !important;
}
.elementor-button:hover { opacity: .88; }
.elementor-widget-button .elementor-button-link { text-decoration: none !important; }

/* ════════════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    .vn-nav-section .elementor-col-55 > .elementor-element-populated { display: none; }
    .vn-why-section { padding: 64px 24px !important; }
    .elementor-element-3e66d49e > .elementor-container > .elementor-column { width: 100% !important; }
    .elementor-element-3e66d49e > .elementor-container > .elementor-column > .elementor-element-populated { padding: 0 !important; }
    .vn-security-section .elementor-col-50 { width: 100% !important; }
    .vn-security-section .elementor-col-50:first-child > .elementor-element-populated { padding: 0 0 48px 0 !important; }
    .vn-security-section .elementor-col-50:last-child > .elementor-element-populated { padding: 0 !important; }
    .elementor-element-6ea0e40d > .elementor-container { flex-direction: column; }
    .elementor-element-c6995deb,
    .elementor-element-74889de3,
    .elementor-element-559b3b2f { width: 100% !important; }
}
@media (max-width: 768px) {
    .vn-hero-section .elementor-heading-title { font-size: clamp(36px, 9vw, 52px) !important; }
    .vn-stats-section .elementor-column { width: 50% !important; }
    .vn-stats-section .elementor-column > .elementor-element-populated { border-right: none; border-bottom: 1px solid var(--bd); }
    .vn-footer-section .elementor-col-34,
    .vn-footer-section .elementor-col-16 { width: 50% !important; }
}


/* =============================================================================
   PRODUCT PAGE  (/product)
   ============================================================================= */

/* -- Product Nav ---------------------------------------------------------------- */
.vp-nav {
    position: sticky !important;
    top: 0;
    z-index: 9999;
    background: #0a0a0a !important;
    border-bottom: 1px solid #1a1a1a !important;
}
.vp-nav .elementor-container { min-height: 60px; align-items: center !important; max-width: 100% !important; padding: 0 40px; }
.vp-nav .elementor-column { align-self: center !important; }
.vp-nav .elementor-heading-title { color: #fff !important; font-size: 20px !important; font-weight: 800 !important; letter-spacing: .05em !important; line-height: 1 !important; }
.vp-nav .elementor-widget-text-editor a { color: #ccc !important; font-size: 14px; font-weight: 500; }
.vp-nav .elementor-widget-text-editor a:hover { color: #fff !important; }
.vp-nav .elementor-widget-button .elementor-button { font-size: 13px !important; padding: 8px 16px !important; border-radius: 6px !important; }

/* -- Hero ---------------------------------------------------------------------- */
.vp-hero { background: #f4f8f5 !important; }
.vp-hero .elementor-container { max-width: 560px !important; margin: 0 auto !important; }
.vp-hero .elementor-column > .elementor-element-populated { padding: 0 !important; }
.vp-hero .elementor-heading-title { font-size: clamp(36px,4vw,52px) !important; line-height: 1.1 !important; letter-spacing: -.025em !important; }
.vp-hero .vp-hero-btns { background: transparent !important; border: none !important; margin-top: 0 !important; }
.vp-hero .vp-hero-btns > .elementor-container { padding: 0 !important; align-items: center !important; }
.vp-hero .vp-hero-btns .elementor-column > .elementor-element-populated { padding: 0 !important; }
.vp-hero .elementor-widget-button .elementor-button { font-size: 14px !important; padding: 11px 22px !important; border-radius: 8px !important; }

/* -- Storage Architecture ------------------------------------------------------ */
.vp-storage { background: #fff !important; }
.vp-storage .elementor-container { max-width: 1100px !important; margin: 0 auto !important; align-items: center !important; }
.vp-storage .elementor-heading-title { line-height: 1.12 !important; letter-spacing: -.02em !important; }
.vp-storage .elementor-col-50:first-child > .elementor-element-populated { padding: 0 56px 0 0 !important; }
.vp-storage .elementor-col-50:last-child > .elementor-element-populated { padding: 0 0 0 56px !important; }
.vp-storage .elementor-widget-text-editor p { font-size: 15px; color: #555; line-height: 1.75; margin-bottom: 0; }

/* -- Encryption ---------------------------------------------------------------- */
.vp-encryption { background: #f9fafb !important; }
.vp-encryption .elementor-container { max-width: 1000px !important; margin: 0 auto !important; }
.vp-encryption .elementor-heading-title { line-height: 1.1 !important; letter-spacing: -.02em !important; }
.vp-enc-cards { background: transparent !important; border: none !important; }
.vp-enc-cards > .elementor-container { gap: 0 !important; padding: 0 !important; }
.vp-enc-cards .elementor-col-50:first-child > .elementor-element-populated { padding: 0 10px 0 0 !important; }
.vp-enc-cards .elementor-col-50:last-child > .elementor-element-populated { padding: 0 0 0 10px !important; }
.vp-enc-cards .elementor-widget-html { height: 100%; }

/* -- Audit Trail --------------------------------------------------------------- */
.vp-audit { background: #fff !important; }
.vp-audit .elementor-container { max-width: 1100px !important; margin: 0 auto !important; align-items: center !important; }
.vp-audit .elementor-heading-title { line-height: 1.1 !important; letter-spacing: -.02em !important; }
.vp-audit .elementor-col-50:first-child > .elementor-element-populated { padding: 0 60px 0 0 !important; }
.vp-audit .elementor-col-50:last-child > .elementor-element-populated { padding: 0 0 0 60px !important; }
.vp-audit .elementor-widget-divider { margin: 0 !important; }
.vp-audit .elementor-divider-separator { border-top-color: #f0f0f0 !important; }
.vp-audit .elementor-widget-button .elementor-button { font-size: 13px !important; padding: 10px 20px !important; border-radius: 8px !important; }

/* -- Comparison Table ---------------------------------------------------------- */
.vp-comparison { background: #fff !important; }
.vp-comparison .elementor-container { max-width: 960px !important; margin: 0 auto !important; }
.vp-comparison .elementor-heading-title { letter-spacing: -.02em !important; line-height: 1.1 !important; }
.vp-comparison .elementor-column > .elementor-element-populated { padding: 0 !important; }
.vp-comparison table { border-radius: 12px; overflow: hidden; }
.vp-comparison tr:last-child td { border-bottom: none !important; }
.vp-comparison tr:hover td { background: #fafafa; }

/* -- CTA ----------------------------------------------------------------------- */
.vp-cta { background: #0a0a0a !important; }
.vp-cta .elementor-container { max-width: 560px !important; margin: 0 auto !important; }
.vp-cta .elementor-heading-title { color: #fff !important; letter-spacing: -.02em !important; line-height: 1.1 !important; }
.vp-cta .elementor-column > .elementor-element-populated { padding: 0 !important; }
.vp-cta .elementor-widget-button .elementor-button { font-size: 15px !important; padding: 14px 32px !important; border-radius: 8px !important; font-weight: 700 !important; }

/* -- Footer -------------------------------------------------------------------- */
.vp-footer { background: #0a0a0a !important; }
.vp-footer .elementor-container { max-width: 1200px !important; margin: 0 auto !important; align-items: flex-start !important; }
.vp-footer .elementor-heading-title { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #fff !important; line-height: 1 !important; }
.vp-footer .elementor-column > .elementor-element-populated { padding: 0 !important; }
.vp-footer .elementor-divider-separator { border-top-color: #1e1e1e !important; }

/* -- Responsive ---------------------------------------------------------------- */
@media (max-width: 1024px) {
    .vp-nav .elementor-col-55 > .elementor-element-populated { display: none; }
    .vp-storage .elementor-col-50, .vp-audit .elementor-col-50, .vp-encryption .elementor-col-50 { width: 100% !important; }
    .vp-storage .elementor-col-50:first-child > .elementor-element-populated { padding: 0 0 48px 0 !important; }
    .vp-storage .elementor-col-50:last-child > .elementor-element-populated,
    .vp-audit .elementor-col-50:first-child > .elementor-element-populated { padding: 0 !important; }
    .vp-enc-cards .elementor-col-50 { width: 100% !important; }
    .vp-enc-cards .elementor-col-50:first-child > .elementor-element-populated { padding: 0 0 16px 0 !important; }
}


/* =============================================================================
   BLOG PAGE
   ============================================================================= */

/* ── Hero ── */
.vblog-hero { background: #ecf2ec; padding: 80px 0 68px; }
.vblog-wrap { max-width: 1080px; margin: 0 auto; padding: 0 48px; box-sizing: border-box; }
.vblog-badge {
    display: inline-block; font-family: 'DM Sans', sans-serif;
    font-size: 11px; font-weight: 600; color: #2a4a2a; letter-spacing: 0.8px;
    text-transform: uppercase; border: 1px solid #b8ccb8; border-radius: 999px;
    padding: 5px 14px; margin-bottom: 22px; background: rgba(255,255,255,0.65);
}
.vblog-h1 {
    font-family: 'DM Sans', sans-serif; font-size: 52px; font-weight: 800;
    line-height: 1.08; color: #0d0d0d; margin: 0 0 18px; letter-spacing: -1.5px;
}
.vblog-sub {
    font-family: 'DM Sans', sans-serif; font-size: 16px; color: #555;
    line-height: 1.65; margin: 0; max-width: 520px;
}

/* ── Grid section wrapper ── */
.vblog-grid-wrap { background: #fff; padding: 72px 0 100px; }
.vblog-grid {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 28px; max-width: 1080px; margin: 0 auto;
    padding: 0 48px; box-sizing: border-box;
}

/* ── Card ── */
.vblog-card {
    display: flex; flex-direction: column;
    border: 1px solid #e8eee8; border-radius: 14px;
    overflow: hidden; text-decoration: none !important;
    background: #fff; transition: box-shadow .2s, transform .2s;
}
.vblog-card:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,.10);
    transform: translateY(-3px);
}
.vblog-img { aspect-ratio: 16/9; overflow: hidden; background: #f0f4f0; }
.vblog-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.vblog-card:hover .vblog-img img { transform: scale(1.04); }
.vblog-body { padding: 24px 24px 22px; display: flex; flex-direction: column; flex: 1; }
.vblog-cat {
    display: inline-block; font-family: 'DM Sans', sans-serif;
    font-size: 11px; font-weight: 700; color: #1a6040; letter-spacing: 0.6px;
    text-transform: uppercase; background: #e8f5ee; border-radius: 999px;
    padding: 3px 11px; margin-bottom: 13px; width: fit-content;
}
.vblog-title {
    font-family: 'DM Sans', sans-serif; font-size: 18px; font-weight: 700;
    color: #0d0d0d; line-height: 1.35; margin: 0 0 11px; letter-spacing: -.2px;
}
.vblog-excerpt {
    font-family: 'DM Sans', sans-serif; font-size: 14px; color: #666;
    line-height: 1.65; margin: 0 0 18px; flex: 1;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.vblog-meta {
    display: flex; align-items: center; gap: 12px;
    padding-top: 14px; border-top: 1px solid #f0f4f0;
}
.vblog-date, .vblog-read {
    font-family: 'DM Sans', sans-serif; font-size: 12px; color: #999; font-weight: 500;
}
.vblog-read::before { content: '·'; margin-right: 12px; }

/* ── Single post ── */
.single-post #page { background: #fff; }
.single-post .site-content { max-width: 720px; margin: 0 auto; padding: 60px 24px 100px; }
.single-post .entry-header { margin-bottom: 32px; }
.single-post .entry-title {
    font-family: 'DM Sans', sans-serif !important; font-size: 40px !important;
    font-weight: 800 !important; line-height: 1.12 !important; color: #0d0d0d !important;
    letter-spacing: -1px !important; margin-bottom: 14px !important;
}
.single-post .entry-meta { font-family: 'DM Sans', sans-serif; font-size: 13px; color: #999; }
.single-post .post-thumbnail { border-radius: 12px; overflow: hidden; margin-bottom: 36px; }
.single-post .post-thumbnail img { width: 100%; height: auto; display: block; }
.single-post .entry-content p {
    font-family: 'DM Sans', sans-serif !important; font-size: 16px !important;
    color: #333 !important; line-height: 1.8 !important; margin-bottom: 22px !important;
}
.single-post .entry-content h2 {
    font-family: 'DM Sans', sans-serif !important; font-size: 26px !important;
    font-weight: 700 !important; color: #0d0d0d !important; margin: 40px 0 16px !important;
    letter-spacing: -.3px !important;
}
.single-post .entry-content h3 {
    font-family: 'DM Sans', sans-serif !important; font-size: 20px !important;
    font-weight: 700 !important; color: #0d0d0d !important; margin: 32px 0 12px !important;
}
.single-post .entry-content ul, .single-post .entry-content ol {
    padding-left: 24px !important; margin-bottom: 22px !important;
}
.single-post .entry-content li {
    font-family: 'DM Sans', sans-serif !important; font-size: 16px !important;
    color: #333 !important; line-height: 1.75 !important; margin-bottom: 8px !important;
}

/* ── Elementor-native blog card columns ── */
.vblog-hero-sec { background: #ecf2ec !important; }
.vblog-hero-sec .elementor-container,
.vblog-grid-sec .elementor-container {
    max-width: 1080px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
    box-sizing: border-box !important;
    column-gap: 28px !important;
}
.vblog-hero-sec .elementor-widget-wrap,
.vblog-hero-sec .elementor-element-populated { padding: 0 !important; }

/* Zero only widget inner wrappers in grid (preserve column gap) */
.vblog-grid-sec .elementor-widget-wrap { padding: 0 !important; }
.vblog-grid-sec { background: #fff !important; }

/* Card column — outer spacing so cards breathe */
.vblog-card-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Card column */
.vblog-card-col > .elementor-element-populated {
    border: 1px solid #e8eee8 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
    padding: 0 !important;
    transition: box-shadow .25s, transform .25s;
    height: 100%;
}
.vblog-card-col:hover > .elementor-element-populated {
    box-shadow: 0 10px 40px rgba(0,0,0,.10) !important;
    transform: translateY(-4px);
}
/* Image — full-bleed, fixed height */
.vblog-card-col .elementor-widget-image { margin: 0 !important; }
.vblog-card-col .elementor-widget-image .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
.vblog-card-col .elementor-widget-image img {
    width: 100% !important; height: 210px !important;
    object-fit: cover !important; display: block !important; border-radius: 0 !important;
    transition: transform .4s !important;
}
.vblog-card-col:hover .elementor-widget-image img { transform: scale(1.04) !important; }

/* Body content padding — generous internal spacing */
.vblog-card-col .elementor-widget-heading .elementor-widget-container,
.vblog-card-col .elementor-widget-text-editor .elementor-widget-container,
.vblog-card-col .elementor-widget-button .elementor-widget-container { padding: 0 24px !important; margin: 0 !important; }
.vblog-card-col .elementor-widget-heading:nth-child(2) .elementor-widget-container { padding-top: 22px !important; }
.vblog-card-col .elementor-widget-text-editor:first-of-type .elementor-widget-container { padding-top: 4px !important; }
.vblog-card-col .elementor-widget-button .elementor-widget-container { padding-bottom: 24px !important; }

/* Category badge */
.vblog-cat-title {
    display: inline-block !important; font-size: 11px !important; font-weight: 700 !important;
    color: #1a6040 !important; letter-spacing: 0.6px !important; text-transform: uppercase !important;
    background: #e8f5ee !important; border-radius: 999px !important;
    padding: 3px 11px !important; margin: 0 0 10px !important; width: fit-content !important;
}
/* Post title */
.vblog-post-title {
    font-size: 17px !important; font-weight: 700 !important; color: #0d0d0d !important;
    line-height: 1.35 !important; letter-spacing: -.2px !important; margin: 0 0 10px !important;
}
/* Excerpt */
.vblog-card-col .elementor-widget-text-editor p {
    font-size: 13.5px !important; color: #666 !important;
    line-height: 1.65 !important; margin: 0 0 6px !important;
}
/* Date */
.vblog-date-text { font-size: 12px !important; color: #aaa !important; font-weight: 500 !important; }
/* Read More button */
.vblog-card-col .elementor-button {
    background: transparent !important; color: #1a6040 !important;
    border: 1.5px solid #c5ddd0 !important; border-radius: 8px !important;
    font-size: 13px !important; font-weight: 600 !important; padding: 9px 18px !important;
    transition: background .2s, border-color .2s !important;
}
.vblog-card-col .elementor-button:hover {
    background: #e8f5ee !important; border-color: #1a6040 !important;
}
/* Row gap between blog rows */
.vblog-row-gap { padding-top: 32px !important; }

/* ── Blog mobile ── */
@media (max-width: 768px) {
    .vblog-grid { grid-template-columns: 1fr; padding: 0 20px; }
    .vblog-h1 { font-size: 36px; }
    .vblog-hero { padding: 56px 0 48px; }
    .vblog-wrap { padding: 0 20px; }
    .vblog-grid-wrap { padding: 48px 0 64px; }
    .single-post .entry-title { font-size: 28px !important; }
}

/* =============================================================================
   MOBILE RESPONSIVE — global
   ============================================================================= */

/* ── Hamburger button (hidden on desktop) ──────────────────────────────────── */
.vhdr-burger {
    display: none;
    flex-direction: column; gap: 5px;
    width: 40px; height: 40px;
    background: none; border: none; cursor: pointer;
    align-items: center; justify-content: center;
    padding: 6px; border-radius: 6px;
    transition: background .15s;
}
.vhdr-burger:hover { background: rgba(255,255,255,.06); }
.vhdr-burger span {
    display: block; width: 22px; height: 2px;
    background: #ccc; border-radius: 2px;
    transition: transform .25s, opacity .2s;
}
.vhdr-burger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.vhdr-burger.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.vhdr-burger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Mobile full-screen drawer (hidden by default) ─────────────────────────── */
.vhdr-mobile {
    display: none;
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: #0a0a0a; z-index: 9990;
    overflow-y: auto; padding-top: 62px;
}
.vhdr-mobile.active { display: block; }
.vhdr-mobile-inner {
    display: flex; flex-direction: column;
    padding: 8px 24px 48px; gap: 0;
}
.vhdr-mobile-inner > a {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 17px !important; font-weight: 500 !important;
    color: #cccccc !important; padding: 15px 0 !important;
    border-bottom: 1px solid #1a1a1a !important;
    text-decoration: none !important; display: block !important;
    transition: color .15s;
}
.vhdr-mobile-inner > a:hover { color: #fff !important; }
.vhdr-mobile-divider { height: 1px; background: #222; margin: 18px 0 14px; }
.vhdr-mobile-login {
    color: #aaaaaa !important; border-bottom: none !important;
    font-size: 15px !important;
}
.vhdr-mobile-cta {
    display: block !important; margin-top: 10px !important;
    background: #166534 !important; color: #fff !important;
    padding: 14px 24px !important; border-radius: 8px !important;
    font-size: 15px !important; font-weight: 600 !important;
    text-align: center !important; border-bottom: none !important;
}
.vhdr-mobile-cta:hover { background: #14532d !important; }

/* ── Breakpoint: tablet / mobile ───────────────────────────────────────────── */
@media (max-width: 900px) {
    /* Header */
    .vhdr { padding: 0 20px; min-height: 62px; }
    .vhdr-nav { display: none !important; }
    .vhdr-actions { display: none !important; }
    .vhdr-burger { display: flex !important; }

    /* Footer columns stack */
    #colophon .elementor-section { padding-left: 20px !important; padding-right: 20px !important; }
    #colophon .elementor-column { width: 100% !important; min-width: 100% !important; }
    .vftr { padding: 36px 20px 20px; }
    .vftr-top { flex-direction: column; gap: 28px; }
    .vftr-brand { flex: none; }
    .vftr-cols { flex-wrap: wrap; gap: 28px 40px; }
    .vftr-col { min-width: calc(50% - 20px); }
    .vftr-bottom { flex-direction: column; gap: 12px; text-align: center; }
    .vftr-legal { justify-content: center; }

    /* Healthcare page */
    .elementor-page-267 .elementor-container {
        padding-left: 20px !important; padding-right: 20px !important;
    }
    .elementor-page-267 .elementor-column { width: 100% !important; }
    .vhc-hero { padding: 52px 0 60px; }
    .vhc-h1 { font-size: 38px; letter-spacing: -0.8px; }
    .vhc-pain { padding: 52px 0 60px; }
    .vhc-h2 { font-size: 30px; letter-spacing: -0.5px; }
    .vhc-cta { padding: 64px 0 72px; }
    .vhc-cta-h2 { font-size: 34px; }
    .vhc-feat-list { gap: 14px; }
    .vhc-feat-item { width: calc(50% - 8px); }

    /* Contact page */
    .vco-wrap { padding: 0 20px; }
    .vco-h1 { font-size: 38px; letter-spacing: -0.8px; }
    .vco-hero { padding: 52px 0 60px; }
    .vco-body { padding: 48px 0 52px; }
    .vco-cols { flex-direction: column; gap: 32px; }
    .vco-left { flex: none; width: 100%; }

    /* Homepage sections */
    .vn-why-section,
    .vn-stats-section,
    .vn-security-section,
    .vn-pricing-section,
    .vn-faq-section,
    .vn-cta-section,
    .vn-footer-section { padding-left: 20px !important; padding-right: 20px !important; }
    .vn-hero-section .elementor-container { padding: 40px 20px 60px !important; }
    .vn-stats-section .elementor-column { width: 50% !important; }
    .vn-stats-section .elementor-column > .elementor-element-populated { border-right: none !important; border-bottom: 1px solid var(--bd); }
    .vn-footer-section .elementor-col-34,
    .vn-footer-section .elementor-col-16 { width: 50% !important; }
}

@media (max-width: 600px) {
    .vhc-h1 { font-size: 30px; }
    .vhc-h2 { font-size: 24px; }
    .vhc-cta-h2 { font-size: 28px; }
    .vhc-btns { flex-direction: column; }
    .vhc-btn-primary, .vhc-btn-ghost { width: 100%; text-align: center; box-sizing: border-box; }
    .vco-h1 { font-size: 30px; }
    .vftr-col { min-width: 100%; }
    .vftr-cols { gap: 20px; }
    .vlogin-modal { padding: 28px 18px 24px; margin: 12px; max-width: none; }
    .vlogin-title { font-size: 22px; }
    .vn-hero-section .elementor-heading-title { font-size: clamp(30px, 8vw, 42px) !important; }
    .vn-stats-section .elementor-column { width: 100% !important; }
    .vn-footer-section .elementor-col-34,
    .vn-footer-section .elementor-col-16 { width: 100% !important; }
    .vn-pricing-section .elementor-container { max-width: 100% !important; }
}
