 /* ── PAGE-SCOPED STYLES — only inside main ── */
    main, main * { box-sizing: border-box; }
    main {
      font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;
      color: #1e2d3d;
      background: #fff;
      font-size: 1rem;

      --nv:      #0f172a;
      --nv2:     #1e3a8a;
      --nv3:     #2563eb;
      --nv4:     #3b82f6;
      --offwhite:#f0f6fb;
      --border:  #d0dce8;
      --muted:   #5a7a8f;
      --sh:      0 4px 24px rgba(15,23,42,.09);
      --shh:     0 12px 40px rgba(15,23,42,.16);
      --r:       14px;
      --rlg:     22px;
    }

    /* scroll reveal */
    .vv-reveal { opacity:0; transform:translateY(28px); transition:opacity .65s ease, transform .65s ease; }
    .vv-reveal.visible { opacity:1; transform:translateY(0); }
    .vv-reveal.d1{transition-delay:.1s} .vv-reveal.d2{transition-delay:.2s}
    .vv-reveal.d3{transition-delay:.3s} .vv-reveal.d4{transition-delay:.4s}
    .vv-reveal.d5{transition-delay:.5s}

    /* shared */
    .vv-inner { max-width:1200px; margin:0 auto; }
    .vv-tag {
      display:inline-block;
      background:rgba(30,58,138,.1); color:var(--nv2);
      font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
      padding:5px 14px; border-radius:999px; margin-bottom:14px;
    }
    .vv-title {
      font-family:'Sora',sans-serif;
      font-size:clamp(1.8rem,3vw,2.6rem);
      color:var(--nv); margin:0 0 16px; line-height:1.25;
    }
    .vv-lead {
      color:var(--muted); font-size:16px; line-height:1.75;
      max-width:660px; margin-bottom:40px;
    }
    .vv-btn-primary {
      background:var(--nv3); color:#fff;
      padding:14px 28px; border-radius:8px;
      font-weight:700; font-size:15px; text-decoration:none;
      transition:background .2s,transform .2s;
      box-shadow:0 4px 18px rgba(37,99,235,.35);
      display:inline-block;
    }
    .vv-btn-primary:hover { background:var(--nv2); transform:translateY(-2px); }
    .vv-btn-outline {
      background:transparent; color:#fff;
      padding:13px 28px; border-radius:8px;
      font-weight:600; font-size:15px; text-decoration:none;
      border:2px solid rgba(255,255,255,.3);
      transition:border-color .2s,background .2s; display:inline-block;
    }
    .vv-btn-outline:hover { border-color:var(--nv4); background:rgba(59,130,246,.1); }

    /* ── HERO ── */
    .vv-hero {
      background:var(--nv);
      background-image:
        radial-gradient(ellipse 800px 500px at 80% 40%,rgba(37,99,235,.25) 0%,transparent 70%),
        radial-gradient(ellipse 400px 400px at 5% 80%,rgba(30,58,138,.18) 0%,transparent 70%);
      padding:90px 40px 100px; position:relative; overflow:hidden;
    }
    .vv-hero::before {
      content:''; position:absolute; inset:0;
      background-image:
        linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
      background-size:55px 55px; pointer-events:none;
    }
    .vv-hero-inner {
      max-width:1200px; margin:0 auto;
      display:grid; grid-template-columns:1.2fr 1fr;
      gap:64px; align-items:center; position:relative; z-index:1;
    }
    .vv-hero-badge {
      display:inline-flex; align-items:center; gap:8px;
      background:rgba(37,99,235,.3); border:1px solid rgba(59,130,246,.4);
      color:var(--nv4); font-size:12px; font-weight:700;
      letter-spacing:.08em; text-transform:uppercase;
      padding:6px 16px; border-radius:999px; margin-bottom:22px;
    }
    .vv-hero-badge::before { content:'●'; font-size:7px; }
    .vv-hero h1 {
      font-family:'Sora',sans-serif;
      font-size:clamp(2rem,3.8vw,3.2rem);
      line-height:1.2; color:#fff; margin:0 0 22px;
    }
    .vv-hero h1 em { font-style:italic; color:var(--nv4); }
    .vv-hero-sub { color:#a8bcd4; font-size:15px; line-height:1.8; margin-bottom:14px; }
    .vv-hero-tags { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 32px; }
    .vv-hero-tag {
      background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
      color:#c8d8ec; font-size:13px; font-weight:600;
      padding:7px 16px; border-radius:999px;
    }
    .vv-hero-btns { display:flex; gap:14px; flex-wrap:wrap; }

    /* hero right — tool stack cards */
    .vv-hero-right { display:flex; flex-direction:column; gap:14px; }
    .vv-tool-card {
      background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
      border-radius:12px; padding:18px 20px;
      display:flex; align-items:flex-start; gap:14px;
      transition:background .25s;
    }
    .vv-tool-card:hover { background:rgba(255,255,255,.1); }
    .vv-tool-icon {
      width:40px; height:40px; border-radius:10px;
      background:rgba(59,130,246,.2); display:flex;
      align-items:center; justify-content:center; font-size:18px; flex-shrink:0;
    }
    .vv-tool-name { font-size:14px; font-weight:700; color:#fff; margin-bottom:4px; }
    .vv-tool-desc { font-size:12.5px; color:#7a9fbd; line-height:1.5; }

    /* ── CTA BAND ── */
    .vv-band {
      background:linear-gradient(135deg,#162e44 0%,#1e3a8a 100%);
      padding:60px 40px;
    }
    .vv-band-inner {
      max-width:1200px; margin:0 auto;
      display:grid; grid-template-columns:1fr auto;
      gap:40px; align-items:center;
    }
    .vv-band h2 { font-family:'Sora',sans-serif; font-size:1.85rem; color:#fff; margin:0 0 10px; }
    .vv-band p { color:#a8bcd4; margin:0 0 24px; font-size:15px; line-height:1.65; max-width:560px; }
    .vv-band-contacts { display:flex; gap:28px; flex-wrap:wrap; }
    .vv-band-contact { display:flex; align-items:center; gap:10px; text-decoration:none; }
    .vv-band-cicon {
      width:40px; height:40px; border-radius:10px;
      display:flex; align-items:center; justify-content:center; font-size:17px;
    }
    .vv-band-cicon.em { background:rgba(37,99,235,.25); color:var(--nv4); }
    .vv-band-cicon.wa { background:rgba(37,211,102,.2); color:#25d366; }
    .vv-band-ctext span { display:block; font-size:11px; color:#6b8aaa; font-weight:500; }
    .vv-band-ctext strong { font-size:14px; color:#fff; font-weight:600; }
    .vv-band-btns { display:flex; flex-direction:column; gap:12px; }
    .vv-band-btn1 {
      background:var(--nv3); color:#fff; padding:14px 28px; border-radius:8px;
      font-weight:700; font-size:15px; text-decoration:none;
      text-align:center; white-space:nowrap; transition:background .2s;
    }
    .vv-band-btn1:hover { background:var(--nv2); }
    .vv-band-btn2 {
      background:transparent; color:#fff; padding:13px 28px; border-radius:8px;
      font-weight:600; font-size:15px; text-decoration:none;
      text-align:center; border:2px solid rgba(255,255,255,.25); white-space:nowrap;
    }
    .vv-band-btn2:hover { border-color:var(--nv4); }

    /* ── OVERVIEW ── */
    .vv-overview { background:var(--offwhite); padding:90px 40px; }
    .vv-overview-card {
      background:#fff; border-radius:var(--rlg); padding:44px;
      box-shadow:var(--sh); border:1px solid var(--border);
      margin-top:44px; font-size:15.5px; color:var(--muted); line-height:1.8;
    }
    .vv-overview-card strong { color:var(--nv); }
    .vv-ov-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:32px; }
    .vv-ov-stat {
      background:var(--offwhite); border:1px solid var(--border);
      border-radius:var(--r); padding:22px; text-align:center;
      transition:all .3s;
    }
    .vv-ov-stat:hover { border-color:var(--nv3); transform:translateY(-3px); box-shadow:var(--shh); }
    .vv-ov-num {
      font-family:'Sora',sans-serif; font-size:28px; font-weight:800;
      color:var(--nv2); margin-bottom:6px;
    }
    .vv-ov-lbl { font-size:13px; color:var(--muted); font-weight:500; }

    /* ── TECH STACK ── */
    .vv-tech { background:#fff; padding:90px 40px; }
    .vv-tech-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:48px; }
    .vv-tech-card {
      background:var(--offwhite); border:1px solid var(--border);
      border-radius:var(--r); padding:30px 26px;
      transition:all .3s; position:relative; overflow:hidden;
    }
    .vv-tech-card::after {
      content:''; position:absolute; bottom:0; left:0; right:0;
      height:3px; background:linear-gradient(90deg,var(--nv2),var(--nv4));
      transform:scaleX(0); transform-origin:left; transition:transform .35s;
    }
    .vv-tech-card:hover { background:#fff; transform:translateY(-4px); box-shadow:var(--shh); border-color:var(--nv3); }
    .vv-tech-card:hover::after { transform:scaleX(1); }
    .vv-tech-icon { font-size:28px; margin-bottom:14px; display:block; }
    .vv-tech-card h3 { font-family:'Sora',sans-serif; font-size:17px; font-weight:700; color:var(--nv); margin:0 0 10px; }
    .vv-tech-card p { font-size:14px; color:var(--muted); line-height:1.7; margin:0; }

    /* ── WORKFLOW ── */
    .vv-workflow { background:var(--nv); padding:90px 40px; position:relative; overflow:hidden; }
    .vv-workflow::before {
      content:''; position:absolute; inset:0;
      background-image:
        linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
      background-size:48px 48px; pointer-events:none;
    }
    .vv-workflow .vv-inner { position:relative; z-index:1; }
    .vv-workflow .vv-title { color:#fff; }
    .vv-workflow .vv-lead { color:#8ab0c8; }
    .vv-workflow .vv-tag { background:rgba(59,130,246,.15); color:var(--nv4); }
    .vv-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }
    .vv-step {
      background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09);
      border-left:4px solid var(--nv3);
      border-radius:var(--r); padding:26px 22px;
      transition:all .3s;
    }
    .vv-step:hover { background:rgba(255,255,255,.09); transform:translateY(-3px); }
    .vv-step-num {
      font-family:'Sora',sans-serif; font-size:32px; font-weight:800;
      color:rgba(59,130,246,.3); line-height:1; margin-bottom:12px;
    }
    .vv-step h4 { font-size:14px; font-weight:700; color:#fff; margin:0 0 8px; line-height:1.4; }
    .vv-step p { font-size:13px; color:#7a9fad; line-height:1.6; margin:0; }

    /* ── REPORTING ── */
    .vv-reporting { background:var(--offwhite); padding:90px 40px; }
    .vv-report-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:48px; }
    .vv-report-card {
      background:#fff; border:1px solid var(--border);
      border-radius:var(--r); padding:30px 26px;
      transition:all .3s;
    }
    .vv-report-card:hover { border-color:var(--nv3); transform:translateY(-4px); box-shadow:var(--shh); }
    .vv-report-icon { font-size:26px; margin-bottom:14px; display:block; }
    .vv-report-card h3 { font-family:'Sora',sans-serif; font-size:16px; font-weight:700; color:var(--nv); margin:0 0 10px; }
    .vv-report-card p { font-size:14px; color:var(--muted); line-height:1.7; margin:0; }
    .vv-report-note {
      margin-top:28px; background:#fff; border:1px solid var(--border);
      border-radius:var(--r); padding:22px 28px;
      border-left:4px solid var(--nv3);
      font-size:14.5px; color:var(--muted); line-height:1.75;
    }
    .vv-report-note strong { color:var(--nv); }

    /* ── CHALLENGES TABLE ── */
    .vv-challenges { background:#fff; padding:90px 40px; }
    .vv-table-wrap { margin-top:48px; border-radius:var(--rlg); overflow:hidden; box-shadow:var(--sh); border:1px solid var(--border); }
    .vv-table { width:100%; border-collapse:collapse; }
    .vv-table thead tr { background:var(--nv2); }
    .vv-table th { color:#fff; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; padding:18px 24px; text-align:left; }
    .vv-table tbody tr { background:#fff; border-bottom:1px solid var(--border); transition:background .2s; }
    .vv-table tbody tr:last-child { border-bottom:none; }
    .vv-table tbody tr:hover { background:var(--offwhite); }
    .vv-table td { padding:18px 24px; font-size:14.5px; color:#1e2d3d; line-height:1.6; vertical-align:top; }
    .vv-table td:first-child { font-weight:700; color:var(--nv2); white-space:nowrap; width:30%; }
    .vv-challenge-badge {
      display:inline-block; background:rgba(239,68,68,.08);
      border:1px solid rgba(239,68,68,.2); color:#dc2626;
      font-size:12px; font-weight:600; padding:3px 11px; border-radius:999px;
    }
    .vv-solution-badge {
      display:inline-block; background:rgba(34,197,94,.08);
      border:1px solid rgba(34,197,94,.2); color:#16a34a;
      font-size:12px; font-weight:600; padding:3px 11px; border-radius:999px;
    }

    /* ── MONITORING ── */
    .vv-monitoring { background:var(--nv); padding:90px 40px; }
    .vv-monitoring .vv-title { color:#fff; }
    .vv-monitoring .vv-lead { color:#8ab0c8; }
    .vv-monitoring .vv-tag { background:rgba(59,130,246,.15); color:var(--nv4); }
    .vv-mon-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:48px; }
    .vv-mon-card {
      background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09);
      border-radius:var(--r); padding:32px;
    }
    .vv-mon-card:hover { background:rgba(255,255,255,.09); }
    .vv-mon-card h3 { font-family:'Sora',sans-serif; font-size:17px; font-weight:700; color:#fff; margin:0 0 16px; }
    .vv-mon-card ul { list-style:none; padding:0; margin:0; }
    .vv-mon-card li {
      font-size:14px; color:#8ab0c8; padding:9px 0 9px 20px;
      border-bottom:1px solid rgba(255,255,255,.06);
      position:relative; line-height:1.5;
    }
    .vv-mon-card li:last-child { border-bottom:none; }
    .vv-mon-card li::before { content:'›'; position:absolute; left:0; color:var(--nv4); font-weight:700; font-size:16px; }

    /* ── WHY CHOOSE ── */
    .vv-why { background:var(--offwhite); padding:90px 40px; }
    .vv-why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:48px; }
    .vv-why-card {
      background:#fff; border:1px solid var(--border);
      border-radius:var(--r); padding:28px 24px;
      transition:all .3s;
    }
    .vv-why-card:hover { border-color:var(--nv3); transform:translateY(-4px); box-shadow:var(--shh); }
    .vv-why-icon { font-size:26px; margin-bottom:14px; display:block; }
    .vv-why-card h4 { font-family:'Sora',sans-serif; font-size:15px; font-weight:700; color:var(--nv); margin:0 0 8px; }
    .vv-why-card p { font-size:13.5px; color:var(--muted); line-height:1.65; margin:0; }

    /* ── FAQ ── */
    .vv-faq { background:#fff; padding:90px 40px; }
    .vv-faq-list { max-width:800px; margin:48px auto 0; }
    .vv-faq-item { border-bottom:1px solid var(--border); }
    .vv-faq-item:first-child { border-top:1px solid var(--border); }
    .vv-faq-q {
      width:100%; background:none; border:none; padding:22px 4px;
      text-align:left; cursor:pointer;
      display:flex; justify-content:space-between; align-items:center; gap:16px;
      font-family:'Plus Jakarta Sans','Segoe UI',sans-serif;
    }
    .vv-faq-q span { font-size:15.5px; font-weight:600; color:var(--nv); line-height:1.4; }
    .vv-faq-q:hover span { color:var(--nv3); }
    .vv-faq-icon {
      width:28px; height:28px; min-width:28px;
      background:rgba(37,99,235,.1); border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      font-size:17px; color:var(--nv3); transition:background .2s,transform .3s;
    }
    .vv-faq-item.open .vv-faq-icon { background:var(--nv3); color:#fff; transform:rotate(45deg); }
    .vv-faq-a { font-size:14.5px; color:var(--muted); line-height:1.75; padding:0 4px 22px; display:none; }
    .vv-faq-item.open .vv-faq-a { display:block; }

    /* ── FINAL CTA ── */
    .vv-final {
      background:linear-gradient(135deg,var(--nv) 0%,#1e3a8a 100%);
      padding:100px 40px; text-align:center; position:relative; overflow:hidden;
    }
    .vv-final::before {
      content:''; position:absolute; inset:0;
      background-image:
        radial-gradient(circle 600px at 30% 50%,rgba(37,99,235,.2) 0%,transparent 70%),
        radial-gradient(circle 400px at 80% 20%,rgba(59,130,246,.1) 0%,transparent 70%);
      pointer-events:none;
    }
    .vv-final-inner { max-width:700px; margin:0 auto; position:relative; z-index:1; }
    .vv-final h2 { font-family:'Sora',sans-serif; font-size:clamp(1.8rem,3.5vw,2.7rem); color:#fff; margin:0 0 16px; }
    .vv-final p { color:#a8bcd4; font-size:16px; line-height:1.7; margin:0 0 36px; }
    .vv-final-btns { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin-bottom:28px; }
    .vv-final-btn {
      display:flex; flex-direction:column; align-items:center; gap:4px;
      padding:15px 28px; border-radius:10px; text-decoration:none;
      font-weight:700; font-size:15px; min-width:220px; transition:all .2s;
    }
    .vv-final-btn.call { background:var(--nv3); color:#fff; box-shadow:0 4px 18px rgba(37,99,235,.4); }
    .vv-final-btn.call:hover { background:var(--nv2); transform:translateY(-2px); }
    .vv-final-btn.mail { background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.2); }
    .vv-final-btn.mail:hover { background:rgba(255,255,255,.14); }
    .vv-final-btn-sub { font-size:12.5px; font-weight:500; opacity:.85; }
    .vv-reach-btns { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
    .vv-reach-btn {
      display:inline-flex; align-items:center; gap:8px;
      padding:11px 20px; border-radius:8px; text-decoration:none;
      font-size:14px; font-weight:600; transition:all .2s;
    }
    .vv-reach-btn.email { background:rgba(37,99,235,.15); color:var(--nv4); border:1px solid rgba(59,130,246,.3); }
    .vv-reach-btn.email:hover { background:rgba(37,99,235,.25); }
    .vv-reach-btn.wa { background:#25d366; color:#fff; }
    .vv-reach-btn.wa:hover { background:#1ebe5d; }
    .vv-reach-btn.contact { background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.2); }
    .vv-reach-btn.contact:hover { background:rgba(255,255,255,.15); }
    .vv-cta-note { margin-top:18px; font-size:13px; color:#5a7a9a; }

    /* RESPONSIVE */
    @media (max-width:1024px) {
      .vv-hero-inner { grid-template-columns:1fr; gap:48px; }
      .vv-tech-grid { grid-template-columns:1fr 1fr; }
      .vv-steps { grid-template-columns:repeat(2,1fr); }
      .vv-mon-grid { grid-template-columns:1fr; }
      .vv-band-inner { grid-template-columns:1fr; }
      .vv-ov-grid { grid-template-columns:repeat(2,1fr); }
    }
    @media (max-width:768px) {
      .vv-hero,.vv-band,.vv-overview,.vv-tech,.vv-workflow,.vv-reporting,
      .vv-challenges,.vv-monitoring,.vv-why,.vv-faq,.vv-final {
        padding-left:20px; padding-right:20px;
      }
      .vv-tech-grid { grid-template-columns:1fr; }
      .vv-steps { grid-template-columns:1fr; }
      .vv-report-grid { grid-template-columns:1fr; }
      .vv-why-grid { grid-template-columns:1fr; }
      .vv-ov-grid { grid-template-columns:repeat(2,1fr); }
      .vv-final-btns { flex-direction:column; align-items:center; }
      .vv-reach-btns { flex-direction:column; align-items:center; }
      .vv-table td:first-child { white-space:normal; }
    }
    @media (max-width:480px) {
      .vv-ov-grid { grid-template-columns:1fr 1fr; }
    }

    /* scroll-top & floating icons (matching backup page) */
    #GeM-logo { width:100%; background:#d9d9d9; }
    #GeM-logo img { width:260px; height:85px; margin:auto; display:flex; justify-content:center; padding:10px 0; }
    .scroll-top {
      position:fixed; bottom:30px; right:25px; width:44px; height:44px;
      background:#1e3a8a; color:#fff; border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      font-size:22px; cursor:pointer; opacity:0; transition:opacity .3s; z-index:999;
    }
    .scroll-top.show { opacity:1; }
    .floating-icons {
      position:fixed; bottom:90px; right:25px;
      display:flex; flex-direction:column; align-items:center; gap:15px; z-index:999;
    }
    .icon-btn {
      width:55px; height:55px; border-radius:50%; background:#fff;
      display:flex; align-items:center; justify-content:center;
      box-shadow:0 8px 20px rgba(0,0,0,.08); transition:.3s ease;
    }
    .icon-btn:hover { transform:translateY(-3px); }
    .whatsapp-icon img { width:28px; height:28px; }
    .call-icon { color:#0066cc; }