/*!
 * VLINK Industry Finder v5.4 - Theme-friendly (Flatsome compatible)
 * Brand: VLINK Navy #0D1E3E (logo)
 * Container: 1300px max | Fonts: inherit from theme | System mono fallback
 * License: GPL-2.0+
 */

.vlif-root{
  /* Brand */
  --vlif-navy:#0D1E3E;
  --vlif-navy-2:#142547;
  --vlif-navy-3:#1B2F5C;
  --vlif-navy-4:#27407A;
  --vlif-cyan:#00C2D1;
  --vlif-cyan-soft:#CFFAFE;

  /* Surfaces */
  --vlif-bg:#F5F7FB;
  --vlif-surface:#FFFFFF;
  --vlif-surface-2:#FAFBFD;
  --vlif-surface-3:#EEF2F8;

  /* Lines */
  --vlif-line:#E2E8F0;
  --vlif-line-2:#CBD5E1;
  --vlif-line-strong:#94A3B8;

  /* Text */
  --vlif-ink:#0F172A;
  --vlif-ink-2:#1E293B;
  --vlif-soft:#475569;
  --vlif-muted:#64748B;
  --vlif-faint:#94A3B8;

  /* Status */
  --vlif-emerald:#059669;
  --vlif-emerald-2:#047857;
  --vlif-emerald-soft:#D1FAE5;
  --vlif-emerald-bg:#ECFDF5;
  --vlif-amber:#D97706;
  --vlif-amber-2:#B45309;
  --vlif-amber-soft:#FEF3C7;
  --vlif-amber-bg:#FFFBEB;
  --vlif-orange:#EA580C;
  --vlif-orange-soft:#FFEDD5;
  --vlif-orange-bg:#FFF7ED;
  --vlif-red:#DC2626;
  --vlif-red-soft:#FEE2E2;
  --vlif-red-bg:#FEF2F2;

  font-family:inherit;
  font-size:15px;
  line-height:1.6;
  color:var(--vlif-ink);
  background:var(--vlif-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.vlif-root *,.vlif-root *::before,.vlif-root *::after{box-sizing:border-box}

/* DEFENSIVE RESET v5 - bulletproof against parent theme CSS bleeding in
 * Flatsome and many themes use [class*="..."] attribute selectors,
 * inherited transforms, and aggressive typography. We force-override
 * the most commonly leaked properties on text-heavy elements. */
.vlif-root .vlif-mo-bc,
.vlif-root .vlif-mo-bc *,
.vlif-root .vlif-c-breadcrumb,
.vlif-root .vlif-c-breadcrumb *,
.vlif-root .vlif-c-crit,
.vlif-root .vlif-c-crit *,
.vlif-root .vlif-c-crits,
.vlif-root .vlif-mo-crit,
.vlif-root .vlif-mo-crit *,
.vlif-root .vlif-mo-crits,
.vlif-root .vlif-mo-name,
.vlif-root .vlif-mo-strat,
.vlif-root .vlif-mo-strat *,
.vlif-root .vlif-mocat,
.vlif-root .vlif-mosub,
.vlif-root .vlif-bsep,
.vlif-root .vlif-mkx-name,
.vlif-root .vlif-mkx-pct,
.vlif-root .vlif-mkx-tip,
.vlif-root .vlif-mkt-lab,
.vlif-root .vlif-mkt-refs *,
.vlif-root .vlif-mo-mkt li,
.vlif-root .vlif-mo-h{
  transform: none !important;
  -webkit-transform: none !important;
  animation: none !important;
  -webkit-animation: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  text-decoration: none !important;
  letter-spacing: inherit;
}


/* DEFENSIVE: chống theme inject transform/animation lên text trong modal */
.vlif-root .vlif-mo-bc *,
.vlif-root .vlif-mo-strat *,
.vlif-root .vlif-mo-h *,
.vlif-root .vlif-c-breadcrumb *,
.vlif-root .vlif-mkt-lab,
.vlif-root .vlif-mo-name{
  transform:none !important;
  position:static;
  animation:none !important;
}
.vlif-root .vlif-mo-bc{position:relative}

.vlif-root h1,.vlif-root h2,.vlif-root h3,.vlif-root h4{font-family:inherit; color:var(--vlif-ink); margin:0; line-height:1.15; font-weight:700; letter-spacing:-.02em}
.vlif-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-feature-settings:"tnum","ss01"}

/* ============= TOPBAR ============= */
.vlif-topbar{
  background:var(--vlif-navy);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.06);
  position:sticky; top:0; z-index:60;
}
.vlif-topbar-inner{max-width:1300px; margin:0 auto; padding:14px 28px; display:flex; align-items:center; justify-content:space-between; gap:16px}
.vlif-tb-brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:#fff}
.vlif-tb-mark{
  width:36px; height:36px;
  display:block; object-fit:contain;
  background:#fff;
  border-radius:50%;
  padding:2px;
  flex-shrink:0;
}
.vlif-tb-title{display:flex; flex-direction:column; line-height:1.1}
.vlif-tb-title b{font-family:inherit; font-size:15px; font-weight:700; letter-spacing:.04em}
.vlif-tb-title span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10px; letter-spacing:.18em; color:rgba(255,255,255,.55); text-transform:uppercase; margin-top:2px}
.vlif-tb-status{display:flex; align-items:center; gap:18px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; color:rgba(255,255,255,.55); letter-spacing:.08em; text-transform:uppercase}
.vlif-tb-dot{display:inline-flex; align-items:center; gap:6px}
.vlif-tb-dot::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--vlif-cyan); box-shadow:0 0 8px var(--vlif-cyan); animation:vlif-pulse 2s infinite}
@keyframes vlif-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.vlif-tb-cta{padding:9px 18px; background:var(--vlif-cyan); color:var(--vlif-navy); text-decoration:none; font-family:inherit; font-weight:600; font-size:13px; transition:all .15s; border-radius:4px; letter-spacing:.01em}
.vlif-tb-cta:hover{background:#fff; color:var(--vlif-navy)}

/* ============= HERO / KPI BAR ============= */
.vlif-hero{
  background:linear-gradient(135deg, var(--vlif-navy) 0%, var(--vlif-navy-3) 100%);
  color:#fff;
  padding:64px 28px 80px;
  position:relative;
  overflow:hidden;
}
.vlif-hero::before{
  content:""; position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 100% 0%, rgba(0,194,209,.12) 0%, transparent 40%),
    radial-gradient(circle at 0% 100%, rgba(0,194,209,.06) 0%, transparent 50%),
    linear-gradient(transparent 49%, rgba(255,255,255,.03) 50%, transparent 51%);
  background-size:auto, auto, 100% 64px;
  pointer-events:none;
}
.vlif-hero-inner{max-width:1300px; margin:0 auto; position:relative; z-index:1}
.vlif-hero-tag{display:inline-flex; align-items:center; gap:10px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; color:var(--vlif-cyan); letter-spacing:.2em; text-transform:uppercase; margin-bottom:24px; padding:6px 12px; background:rgba(0,194,209,.1); border:1px solid rgba(0,194,209,.3); border-radius:3px}
.vlif-hero-tag::before{content:""; width:6px; height:6px; background:var(--vlif-cyan); border-radius:50%; box-shadow:0 0 6px var(--vlif-cyan)}
.vlif-hero h1{font-size:clamp(34px, 5.4vw, 64px); font-weight:800; letter-spacing:-.03em; line-height:1.04; max-width:980px; color:#fff}
.vlif-hero h1 mark{background:linear-gradient(180deg, transparent 60%, rgba(0,194,209,.4) 60%, rgba(0,194,209,.4) 88%, transparent 88%); color:#fff; padding:0 6px}
.vlif-hero-sub{font-size:18px; color:rgba(255,255,255,.7); max-width:680px; margin-top:24px; line-height:1.6}

/* KPI tiles — inside hero */
.vlif-kpi{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1px;
  margin-top:48px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
}
.vlif-kpi-tile{padding:24px; background:rgba(15,30,62,.4); backdrop-filter:blur(8px)}
.vlif-kpi-label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10px; color:rgba(0,194,209,.85); letter-spacing:.18em; text-transform:uppercase; margin-bottom:10px; display:flex; align-items:center; gap:6px}
.vlif-kpi-label::before{content:"//"; color:var(--vlif-cyan)}
.vlif-kpi-num{font-family:inherit; font-size:42px; font-weight:800; line-height:1; letter-spacing:-.03em; color:#fff}
.vlif-kpi-num sup{font-size:.42em; color:var(--vlif-cyan); font-weight:600; vertical-align:super; margin-left:3px}
.vlif-kpi-desc{font-size:13px; color:rgba(255,255,255,.6); margin-top:8px; line-height:1.4}

/* ============= CONTROL PANEL ============= */
.vlif-control{
  background:var(--vlif-surface);
  border-bottom:1px solid var(--vlif-line);
  position:sticky; top:0; z-index:50;
  margin-top:-32px;
  box-shadow:0 1px 0 var(--vlif-line), 0 4px 20px rgba(13,30,62,.04);
}
.vlif-control-inner{max-width:1300px; margin:0 auto; padding:16px 28px; display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.vlif-search-wrap{flex:1; min-width:280px; position:relative}
.vlif-search-wrap svg{position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--vlif-muted); pointer-events:none}
.vlif-search-input{
  width:100%; padding:12px 14px 12px 42px;
  font-family:inherit; font-size:14px; color:var(--vlif-ink);
  background:var(--vlif-surface-3); border:1px solid var(--vlif-line); border-radius:6px;
  outline:none; transition:all .15s;
}
.vlif-search-input:focus{border-color:var(--vlif-navy); background:#fff; box-shadow:0 0 0 3px rgba(13,30,62,.08)}
.vlif-search-input::placeholder{color:var(--vlif-faint)}

.vlif-fbtn{
  position:relative;
  padding:11px 16px;
  font-family:inherit; font-size:13px; font-weight:600;
  background:var(--vlif-surface); border:1px solid var(--vlif-line); border-radius:6px;
  color:var(--vlif-ink); cursor:pointer;
  display:inline-flex; align-items:center; gap:8px;
  transition:all .15s; white-space:nowrap;
}
.vlif-fbtn:hover{border-color:var(--vlif-navy)}
.vlif-fbtn.vlif-active{background:var(--vlif-navy); color:#fff; border-color:var(--vlif-navy)}
.vlif-fbtn .vlif-cnt{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; padding:2px 6px; background:var(--vlif-surface-3); color:var(--vlif-soft); border-radius:3px}
.vlif-fbtn.vlif-active .vlif-cnt{background:var(--vlif-cyan); color:var(--vlif-navy)}
.vlif-chev{transition:transform .15s; opacity:.5}
.vlif-fbtn.vlif-open .vlif-chev{transform:rotate(180deg); opacity:1}

.vlif-dd{
  position:absolute; top:calc(100% + 6px); left:0;
  min-width:300px; max-width:380px; max-height:420px; overflow-y:auto;
  background:#fff; border:1px solid var(--vlif-navy); border-radius:6px;
  box-shadow:0 12px 32px rgba(13,30,62,.18);
  padding:8px; z-index:100; display:none;
}
.vlif-dd.vlif-open{display:block}
.vlif-dd-search{margin-bottom:8px; padding:9px 12px; font-size:13px; border:1px solid var(--vlif-line); border-radius:4px; width:100%; outline:none; font-family:inherit}
.vlif-dd-search:focus{border-color:var(--vlif-navy)}
.vlif-dd-item{display:flex; align-items:center; justify-content:space-between; padding:9px 12px; font-size:13.5px; cursor:pointer; transition:background .12s; gap:10px; border-radius:4px}
.vlif-dd-item:hover{background:var(--vlif-surface-3)}
.vlif-dd-item label{flex:1; cursor:pointer; display:flex; align-items:center; gap:10px; margin:0}
.vlif-dd-item input[type="checkbox"]{width:15px; height:15px; accent-color:var(--vlif-navy); cursor:pointer; margin:0}
.vlif-dd-item .vlif-icnt{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; color:var(--vlif-muted); padding:1px 6px; background:var(--vlif-surface-3); border-radius:3px}

/* Class pills */
.vlif-pills{display:flex; gap:6px; flex-wrap:wrap}
.vlif-pill{
  padding:10px 13px; font-size:12.5px; font-weight:600;
  background:var(--vlif-surface); border:1px solid var(--vlif-line); border-radius:6px;
  color:var(--vlif-soft); cursor:pointer; transition:all .15s;
  font-family:inherit;
  display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
}
.vlif-pill::before{content:""; width:7px; height:7px; border-radius:50%; background:currentColor}
.vlif-pill[data-cls="rat-phu-hop"]{color:var(--vlif-emerald)}
.vlif-pill[data-cls="phu-hop"]{color:var(--vlif-amber)}
.vlif-pill[data-cls="can-nhac"]{color:var(--vlif-orange)}
.vlif-pill[data-cls="kho"]{color:var(--vlif-red)}
.vlif-pill:hover{border-color:currentColor}
.vlif-pill.vlif-active{color:#fff !important}
.vlif-pill.vlif-active[data-cls="rat-phu-hop"]{background:var(--vlif-emerald); border-color:var(--vlif-emerald)}
.vlif-pill.vlif-active[data-cls="phu-hop"]{background:var(--vlif-amber); border-color:var(--vlif-amber)}
.vlif-pill.vlif-active[data-cls="can-nhac"]{background:var(--vlif-orange); border-color:var(--vlif-orange)}
.vlif-pill.vlif-active[data-cls="kho"]{background:var(--vlif-red); border-color:var(--vlif-red)}
.vlif-pill.vlif-active::before{background:#fff}

.vlif-reset{padding:11px 14px; font-family:inherit; font-size:13px; background:none; border:none; color:var(--vlif-muted); cursor:pointer; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; font-weight:500}
.vlif-reset:hover{color:var(--vlif-navy)}

/* ============= RESULT META ============= */
.vlif-meta{max-width:1300px; margin:0 auto; padding:24px 28px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap}
.vlif-meta-count{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:13px; color:var(--vlif-soft); letter-spacing:.04em}
.vlif-meta-count b{color:var(--vlif-navy); font-weight:700; font-size:18px; font-family:inherit}
.vlif-meta-right{display:flex; align-items:center; gap:14px}
.vlif-sort-wrap{display:flex; align-items:center; gap:8px; font-size:12px; color:var(--vlif-muted); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.06em; text-transform:uppercase}
.vlif-sort{padding:7px 10px; font-family:inherit; font-size:13px; background:#fff; border:1px solid var(--vlif-line); border-radius:4px; cursor:pointer; outline:none; color:var(--vlif-ink)}
.vlif-sort:focus{border-color:var(--vlif-navy)}

.vlif-chips{max-width:1300px; margin:0 auto; padding:14px 28px 0; display:flex; flex-wrap:wrap; gap:6px}
.vlif-chip{display:inline-flex; align-items:center; gap:6px; padding:5px 10px; font-size:12px; background:var(--vlif-navy); color:#fff; font-family:inherit; font-weight:500; border-radius:3px}
.vlif-chip button{background:none; border:none; color:#fff; cursor:pointer; padding:0; font-size:14px; line-height:1; opacity:.7}
.vlif-chip button:hover{opacity:1}

/* ============= CARD GRID ============= */
.vlif-grid{
  max-width:1300px; margin:0 auto;
  padding:24px 28px;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(380px, 1fr));
  gap:16px;
}

.vlif-card{
  background:var(--vlif-surface);
  border:1px solid var(--vlif-line);
  border-radius:8px;
  cursor:pointer;
  transition:all .2s cubic-bezier(.2,.8,.2,1);
  position:relative;
  overflow:hidden;
  display:flex; flex-direction:column;
  animation:vlif-fadeUp .35s ease-out backwards;
}
.vlif-card:hover{border-color:var(--vlif-navy-3); transform:translateY(-3px); box-shadow:0 8px 28px rgba(13,30,62,.1)}
.vlif-card::before{
  content:""; position:absolute; left:0; top:0; bottom:0;
  width:3px; transition:width .2s;
}
.vlif-card.cls-rat-phu-hop::before{background:var(--vlif-emerald)}
.vlif-card.cls-phu-hop::before{background:var(--vlif-amber)}
.vlif-card.cls-can-nhac::before{background:var(--vlif-orange)}
.vlif-card.cls-kho::before{background:var(--vlif-red)}
.vlif-card:hover::before{width:5px}

/* Card top */
.vlif-c-top{padding:18px 20px 12px; display:flex; justify-content:space-between; align-items:flex-start; gap:14px}
.vlif-c-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; color:var(--vlif-faint); letter-spacing:.06em; font-weight:600}
.vlif-c-status{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 9px; border-radius:3px;
  font-family:inherit; font-size:11px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
}
.vlif-c-status::before{content:""; width:6px; height:6px; border-radius:50%; background:currentColor}
.vlif-card.cls-rat-phu-hop .vlif-c-status{background:var(--vlif-emerald-bg); color:var(--vlif-emerald)}
.vlif-card.cls-phu-hop .vlif-c-status{background:var(--vlif-amber-bg); color:var(--vlif-amber-2)}
.vlif-card.cls-can-nhac .vlif-c-status{background:var(--vlif-orange-bg); color:var(--vlif-orange)}
.vlif-card.cls-kho .vlif-c-status{background:var(--vlif-red-bg); color:var(--vlif-red)}

/* Card body */
.vlif-c-body{padding:0 20px 16px}
.vlif-c-breadcrumb{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10.5px; color:var(--vlif-muted); letter-spacing:.04em; line-height:1.4; margin-bottom:8px; display:flex; align-items:center; gap:6px; flex-wrap:wrap}
.vlif-c-breadcrumb b{color:var(--vlif-navy-3); font-weight:700; text-transform:uppercase}
.vlif-c-breadcrumb .vlif-bsep{color:var(--vlif-faint)}
.vlif-c-name{font-family:inherit; font-size:22px; font-weight:700; color:var(--vlif-ink); line-height:1.2; letter-spacing:-.015em; margin:6px 0 16px}
.vlif-c-name mark{background:rgba(0,194,209,.25); color:var(--vlif-navy); padding:0 3px; font-weight:700}

/* Score + Cost split */
.vlif-c-metrics{
  display:grid; grid-template-columns:1fr 1.3fr;
  gap:0;
  border:1px solid var(--vlif-line);
  border-radius:6px;
  overflow:hidden;
  margin-bottom:16px;
}
.vlif-c-score{
  padding:14px 16px;
  background:var(--vlif-surface-2);
  border-right:1px solid var(--vlif-line);
  display:flex; flex-direction:column; gap:6px;
}
.vlif-c-score-label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:9.5px; color:var(--vlif-muted); letter-spacing:.14em; text-transform:uppercase}
.vlif-c-score-num{font-family:inherit; font-size:32px; font-weight:800; line-height:1; letter-spacing:-.03em; display:flex; align-items:baseline; gap:2px}
.vlif-c-score-num sup{font-size:.4em; color:var(--vlif-faint); font-weight:500; vertical-align:baseline}
.vlif-card.cls-rat-phu-hop .vlif-c-score-num{color:var(--vlif-emerald)}
.vlif-card.cls-phu-hop .vlif-c-score-num{color:var(--vlif-amber-2)}
.vlif-card.cls-can-nhac .vlif-c-score-num{color:var(--vlif-orange)}
.vlif-card.cls-kho .vlif-c-score-num{color:var(--vlif-red)}
.vlif-c-score-bar{display:flex; gap:2px; margin-top:2px}
.vlif-c-score-seg{height:5px; flex:1; background:var(--vlif-line); border-radius:1px}
.vlif-c-score-seg.vlif-on{background:currentColor}
.vlif-card.cls-rat-phu-hop .vlif-c-score-seg.vlif-on{background:var(--vlif-emerald)}
.vlif-card.cls-phu-hop .vlif-c-score-seg.vlif-on{background:var(--vlif-amber)}
.vlif-card.cls-can-nhac .vlif-c-score-seg.vlif-on{background:var(--vlif-orange)}
.vlif-card.cls-kho .vlif-c-score-seg.vlif-on{background:var(--vlif-red)}

.vlif-c-cost{padding:14px 16px; display:flex; flex-direction:column; gap:6px; background:#fff}
.vlif-c-cost-label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:9.5px; color:var(--vlif-muted); letter-spacing:.14em; text-transform:uppercase}
.vlif-c-cost-val{font-family:inherit; font-size:18px; font-weight:700; color:var(--vlif-navy); line-height:1; letter-spacing:-.01em}
.vlif-c-cost-val .vlif-approx{color:var(--vlif-faint); font-weight:500}
.vlif-c-cost-pkg{font-family:inherit; font-size:11.5px; color:var(--vlif-soft); font-weight:500}
.vlif-c-cost.vlif-tier-mentor .vlif-c-cost-val{color:var(--vlif-muted); font-size:13px}

/* 7 Criteria — KEY: full names visible, NO strikethrough on off state */
.vlif-c-crits{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 14px;
  margin-bottom:14px;
  padding:12px 14px;
  background:var(--vlif-surface-2);
  border-radius:6px;
}
.vlif-c-crits-label{
  grid-column:1/-1;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:9.5px; color:var(--vlif-muted);
  letter-spacing:.14em; text-transform:uppercase;
  margin-bottom:2px;
}
.vlif-c-crit{display:flex; align-items:center; gap:7px; font-size:12.5px; line-height:1.3; color:var(--vlif-soft); font-weight:500}
.vlif-c-crit .vlif-ico{
  flex-shrink:0; width:14px; height:14px;
  display:grid; place-items:center;
  border-radius:3px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-weight:700; font-size:11px;
}
.vlif-c-crit.vlif-on{color:var(--vlif-ink)}
.vlif-c-crit.vlif-on .vlif-ico{background:var(--vlif-emerald); color:#fff}
.vlif-c-crit.vlif-off{color:var(--vlif-muted); opacity:.7}
.vlif-c-crit.vlif-off .vlif-ico{background:var(--vlif-line); color:var(--vlif-muted)}

.vlif-c-note{font-size:13px; color:var(--vlif-soft); line-height:1.5; padding:0 0 14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-style:italic}

.vlif-c-foot{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 20px;
  border-top:1px solid var(--vlif-line);
  background:var(--vlif-surface-2);
  font-family:inherit; font-size:12.5px; font-weight:600;
  color:var(--vlif-soft);
  margin-top:auto;
}
.vlif-c-foot:hover{color:var(--vlif-navy)}
.vlif-c-foot .vlif-arrow{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; transition:transform .2s}
.vlif-card:hover .vlif-c-foot .vlif-arrow{transform:translateX(4px)}
.vlif-card:hover .vlif-c-foot{background:var(--vlif-surface-3); color:var(--vlif-navy)}

/* Empty state */
.vlif-empty{padding:80px 28px; text-align:center; max-width:520px; margin:0 auto; grid-column:1/-1}
.vlif-empty-icon{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:48px; color:var(--vlif-line-2); margin-bottom:14px}
.vlif-empty h3{font-size:22px; margin-bottom:8px; font-family:inherit}
.vlif-empty p{color:var(--vlif-muted)}

.vlif-load{display:block; margin:0 auto 32px; padding:13px 32px; font-family:inherit; font-size:13px; font-weight:600; background:var(--vlif-navy); border:1px solid var(--vlif-navy); color:#fff; cursor:pointer; transition:all .15s; border-radius:6px; letter-spacing:.02em}
.vlif-load:hover{background:var(--vlif-navy-2); border-color:var(--vlif-cyan)}

/* Loading */
.vlif-loading{padding:80px 28px; text-align:center; color:var(--vlif-muted); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; grid-column:1/-1}

/* ============= MODAL ============= */
.vlif-mo-overlay{position:fixed; inset:0; background:rgba(13,30,62,.5); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); z-index:9000; display:none; opacity:0; transition:opacity .25s}
.vlif-mo-overlay.vlif-open{display:block; opacity:1}
.vlif-mo{
  position:fixed; top:0; right:0;
  width:min(720px, 95vw); height:100%;
  background:var(--vlif-bg);
  z-index:9001;
  display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
  overflow-y:auto;
  border-left:1px solid var(--vlif-line);
}
.vlif-mo.vlif-open{transform:translateX(0)}
.vlif-mo-head{
  position:sticky; top:0; z-index:5;
  background:var(--vlif-navy); color:#fff;
  padding:16px 28px;
  display:flex; align-items:center; gap:16px;
}
.vlif-mo-head-id{
  flex-shrink:0;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px;
  color:var(--vlif-cyan); letter-spacing:.16em; text-transform:uppercase; font-weight:600;
}
.vlif-mo-head-name{
  flex:1 1 auto; min-width:0;
  font-family:inherit;
  font-size:14.5px; font-weight:600;
  color:#fff;
  letter-spacing:-.005em;
  text-overflow:ellipsis; overflow:hidden; white-space:nowrap;
  padding-left:16px;
  border-left:1px solid rgba(255,255,255,.18);
}
.vlif-mo-head-name:empty{display:none}
.vlif-mo-close{
  width:36px; height:36px;
  background:transparent; border:1px solid rgba(255,255,255,.2);
  cursor:pointer; display:grid; place-items:center;
  color:#fff; transition:all .15s; padding:0; border-radius:6px;
}
.vlif-mo-close:hover{background:#fff; color:var(--vlif-navy); border-color:#fff}

.vlif-mo-body{padding:32px; flex:1}

/* Breadcrumb in modal — DEFENSIVE classes prefixed */
.vlif-mo-bc{display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; align-items:center; transform:none !important}
.vlif-mo-bc .vlif-mocat{
  display:inline-block;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px;
  padding:4px 9px; background:var(--vlif-navy); color:var(--vlif-cyan);
  letter-spacing:.06em; border-radius:3px; text-transform:uppercase; font-weight:600;
  transform:none !important; position:static !important;
}
.vlif-mo-bc .vlif-mosub{
  font-family:inherit; font-size:13px; color:var(--vlif-soft);
  transform:none !important; position:static !important;
}
.vlif-mo-bc .vlif-bsep{color:var(--vlif-faint); transform:none !important}
.vlif-mo-name{font-family:inherit; font-size:38px; font-weight:800; line-height:1.1; letter-spacing:-.025em; margin-bottom:28px; color:var(--vlif-ink)}

/* Big metrics block — Score + Cost */
.vlif-mo-mtr{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:0;
  border:1px solid var(--vlif-line);
  background:#fff;
  border-radius:8px;
  overflow:hidden;
  margin-bottom:32px;
}
.vlif-mo-score{padding:24px 28px; border-right:1px solid var(--vlif-line); background:var(--vlif-surface-2)}
.vlif-mo-score-lab{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10px; color:var(--vlif-muted); letter-spacing:.16em; text-transform:uppercase; margin-bottom:10px; display:flex; align-items:center; gap:7px}
.vlif-mo-score-lab::before{content:"01"; color:var(--vlif-cyan); font-weight:700}
.vlif-mo-score-num{font-family:inherit; font-size:64px; font-weight:800; line-height:1; letter-spacing:-.04em}
.vlif-mo-score-num sup{font-size:.36em; color:var(--vlif-faint); font-weight:500}
.cls-rat-phu-hop .vlif-mo-score-num{color:var(--vlif-emerald)}
.cls-phu-hop .vlif-mo-score-num{color:var(--vlif-amber-2)}
.cls-can-nhac .vlif-mo-score-num{color:var(--vlif-orange)}
.cls-kho .vlif-mo-score-num{color:var(--vlif-red)}
.vlif-mo-score-cls{display:inline-block; margin-top:12px; padding:5px 12px; font-family:inherit; font-size:12px; font-weight:700; letter-spacing:.04em; border-radius:3px; text-transform:uppercase}
.cls-rat-phu-hop .vlif-mo-score-cls{background:var(--vlif-emerald); color:#fff}
.cls-phu-hop .vlif-mo-score-cls{background:var(--vlif-amber); color:#fff}
.cls-can-nhac .vlif-mo-score-cls{background:var(--vlif-orange); color:#fff}
.cls-kho .vlif-mo-score-cls{background:var(--vlif-red); color:#fff}

.vlif-mo-cost{padding:24px 28px; background:#fff}
.vlif-mo-cost-lab{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10px; color:var(--vlif-muted); letter-spacing:.16em; text-transform:uppercase; margin-bottom:10px; display:flex; align-items:center; gap:7px}
.vlif-mo-cost-lab::before{content:"02"; color:var(--vlif-cyan); font-weight:700}
.vlif-mo-cost-val{font-family:inherit; font-size:32px; font-weight:800; line-height:1; letter-spacing:-.025em; color:var(--vlif-navy)}
.vlif-mo-cost-val .vlif-approx{color:var(--vlif-faint); font-weight:500; font-size:.7em; margin-right:4px}
.vlif-mo-cost-pkg{margin-top:10px; font-family:inherit; font-size:14px; color:var(--vlif-soft); font-weight:500}
.vlif-mo-cost-pkg b{color:var(--vlif-navy); font-weight:700}
.vlif-mo-cost-month{margin-top:6px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; color:var(--vlif-muted); letter-spacing:.04em}
.vlif-mo-cost.vlif-tier-mentor .vlif-mo-cost-val{color:var(--vlif-muted); font-size:18px}

/* Section heading inside modal */
.vlif-mo-h{
  font-family:inherit; font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.16em;
  color:var(--vlif-muted);
  margin-bottom:14px; padding-bottom:10px;
  border-bottom:1px solid var(--vlif-line);
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.vlif-mo-h::before{content:""; width:14px; height:1.5px; background:var(--vlif-cyan); margin-right:auto; order:-1; align-self:center; margin-left:0}
.vlif-mo-h .vlif-mo-h-meta{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; color:var(--vlif-soft); font-weight:600; letter-spacing:.06em}

/* 7 Criteria full breakdown */
.vlif-mo-crits{display:flex; flex-direction:column; gap:0; margin-bottom:32px}
.vlif-mo-crit{
  display:grid; grid-template-columns:42px 1fr auto;
  gap:14px; align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--vlif-line);
}
.vlif-mo-crit:last-child{border-bottom:none}
.vlif-mo-crit .vlif-num{
  width:36px; height:36px;
  display:grid; place-items:center;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:13px; font-weight:700;
  border-radius:6px;
}
.vlif-mo-crit.vlif-pass .vlif-num{background:var(--vlif-emerald); color:#fff}
.vlif-mo-crit.vlif-fail .vlif-num{background:var(--vlif-surface-3); color:var(--vlif-faint)}
.vlif-mo-crit .vlif-info b{display:block; font-family:inherit; font-size:15px; font-weight:600; color:var(--vlif-ink); margin-bottom:2px}
.vlif-mo-crit .vlif-info span{font-size:13px; color:var(--vlif-muted); line-height:1.4}
.vlif-mo-crit .vlif-stat-pill{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; font-weight:700;
  padding:5px 12px; letter-spacing:.08em; border-radius:3px;
}
.vlif-mo-crit.vlif-pass .vlif-stat-pill{background:var(--vlif-emerald-bg); color:var(--vlif-emerald)}
.vlif-mo-crit.vlif-fail .vlif-stat-pill{background:var(--vlif-surface-3); color:var(--vlif-muted)}

/* Strategy note block */
.vlif-mo-strat{
  background:var(--vlif-navy);
  color:#fff;
  padding:24px 28px;
  border-radius:8px;
  margin-bottom:32px;
  position:relative;
}
.vlif-mo-strat::before{
  content:""; position:absolute; left:0; top:0; bottom:0;
  width:3px; background:var(--vlif-cyan);
}
.vlif-mo-strat-lab{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10px; color:var(--vlif-cyan); letter-spacing:.18em; text-transform:uppercase; margin-bottom:10px; font-weight:600}
.vlif-mo-strat p{margin:0; font-family:inherit; font-size:17px; line-height:1.55; font-weight:500; color:#fff}

/* ===== NEW: Marketing Alternative block ===== */
.vlif-mo-mkt{
  background:#fff;
  border:1px solid var(--vlif-line);
  border-radius:8px;
  margin-bottom:32px;
  overflow:hidden;
}
.vlif-mkt-section{
  padding:18px 24px;
  border-bottom:1px solid var(--vlif-line);
}
.vlif-mkt-section:last-of-type{border-bottom:none}
.vlif-mkt-lab{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:10px;
  color:var(--vlif-muted);
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:12px;
  font-weight:600;
  display:flex; align-items:center; gap:7px;
}
.vlif-mkt-lab::before{content:"//"; color:var(--vlif-cyan)}
.vlif-mo-mkt ul{
  margin:0; padding:0;
  list-style:none;
}
.vlif-mo-mkt li{
  font-family:inherit;
  font-size:14px;
  color:var(--vlif-ink);
  line-height:1.5;
  padding:7px 0 7px 22px;
  position:relative;
}
.vlif-mo-mkt li::before{
  content:"→";
  position:absolute;
  left:0; top:8px;
  color:var(--vlif-cyan);
  font-weight:700;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13px;
}
.vlif-mkt-refs{
  padding:18px 24px;
  background:var(--vlif-cyan-soft);
  border-top:2px solid var(--vlif-cyan);
}
.vlif-mkt-refs p{
  margin:0;
  font-size:13.5px;
  color:var(--vlif-navy);
  line-height:1.6;
  font-style:italic;
}

/* Related */
.vlif-mo-rel{margin-bottom:32px}
.vlif-mo-rel-list{display:grid; gap:6px; grid-template-columns:1fr}
.vlif-mo-rel-i{
  padding:12px 14px;
  background:#fff; border:1px solid var(--vlif-line); border-radius:6px;
  cursor:pointer; transition:all .15s;
  display:grid; grid-template-columns:1fr auto auto;
  gap:12px; align-items:center;
}
.vlif-mo-rel-i:hover{border-color:var(--vlif-navy); background:var(--vlif-surface-2)}
.vlif-mo-rel-i .vlif-rel-name{font-family:inherit; font-size:14px; font-weight:500; color:var(--vlif-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.vlif-mo-rel-i .vlif-rel-score{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:13px; font-weight:700}
.vlif-mo-rel-i .vlif-rel-pack{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10.5px; color:var(--vlif-muted); letter-spacing:.06em}

/* Modal CTA */
.vlif-mo-cta{
  background:linear-gradient(135deg, var(--vlif-navy) 0%, var(--vlif-navy-3) 100%);
  color:#fff;
  padding:28px;
  border-radius:8px;
  position:relative; overflow:hidden;
}
.vlif-mo-cta::before{
  content:""; position:absolute; top:-60px; right:-60px; width:200px; height:200px;
  background:radial-gradient(circle, rgba(0,194,209,.25) 0%, transparent 70%);
}
.vlif-mo-cta-tag{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10px; color:var(--vlif-cyan); letter-spacing:.18em; text-transform:uppercase; margin-bottom:10px; font-weight:600; position:relative}
.vlif-mo-cta h4{color:#fff; font-size:22px; margin-bottom:10px; line-height:1.2; position:relative}
.vlif-mo-cta p{font-size:14px; color:rgba(255,255,255,.78); margin-bottom:20px; line-height:1.55; position:relative}
.vlif-mo-cta-btns{display:flex; gap:10px; flex-wrap:wrap; position:relative}
.vlif-mo-cta-btns a{padding:11px 18px; font-family:inherit; font-size:13px; font-weight:600; text-decoration:none; transition:all .15s; display:inline-block; white-space:nowrap; border-radius:5px}
.vlif-mo-cta-btns a.vlif-primary{background:var(--vlif-cyan); color:var(--vlif-navy)}
.vlif-mo-cta-btns a.vlif-primary:hover{background:#fff}
.vlif-mo-cta-btns a.vlif-ghost{border:1px solid rgba(255,255,255,.3); color:#fff}
.vlif-mo-cta-btns a.vlif-ghost:hover{border-color:#fff; background:rgba(255,255,255,.1)}

/* ============= SCORER ============= */
.vlif-scorer{padding:80px 28px; max-width:1300px; margin:0 auto; border-top:1px solid var(--vlif-line)}
.vlif-sc-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:60px; align-items:start}
.vlif-sc-intro{position:sticky; top:96px}
.vlif-sc-num{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; color:var(--vlif-cyan); background:var(--vlif-cyan-soft); padding:5px 12px; border-radius:3px; letter-spacing:.16em; margin-bottom:18px; text-transform:uppercase; display:inline-block; font-weight:600}
.vlif-sc-intro h2{font-size:clamp(28px, 3.4vw, 42px); margin-bottom:18px; line-height:1.1; letter-spacing:-.02em}
.vlif-sc-intro p{color:var(--vlif-soft); font-size:15.5px; line-height:1.65}
.vlif-sc-form{
  background:#fff; padding:0;
  border:1px solid var(--vlif-line); border-radius:10px;
  overflow:hidden;
  box-shadow:0 1px 0 var(--vlif-line), 0 8px 24px rgba(13,30,62,.06);
}
.vlif-sc-head{
  background:var(--vlif-navy); color:#fff;
  padding:18px 24px;
  display:flex; justify-content:space-between; align-items:center;
}
.vlif-sc-head b{font-family:inherit; font-size:14px; font-weight:600}
.vlif-sc-head span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; color:var(--vlif-cyan); letter-spacing:.06em}
.vlif-sc-qs{padding:8px 24px}
.vlif-q{padding:18px 0; border-bottom:1px solid var(--vlif-line); display:flex; justify-content:space-between; align-items:center; gap:16px}
.vlif-q:last-child{border-bottom:none}
.vlif-q-txt{flex:1; font-size:14.5px; line-height:1.4}
.vlif-q-txt b{font-family:inherit; display:block; margin-bottom:3px; font-size:14px; font-weight:600}
.vlif-q-txt span{font-size:13px; color:var(--vlif-muted)}
.vlif-q-tg{display:flex; gap:0; flex-shrink:0; border:1px solid var(--vlif-line); border-radius:6px; overflow:hidden}
.vlif-q-tg button{
  width:50px; padding:9px 0;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; font-weight:700;
  background:#fff; border:none; cursor:pointer;
  transition:all .12s; color:var(--vlif-soft);
  letter-spacing:.06em;
}
.vlif-q-tg button:first-child{border-right:1px solid var(--vlif-line)}
.vlif-q-tg button.vlif-active.vlif-yes{background:var(--vlif-emerald); color:#fff}
.vlif-q-tg button.vlif-active.vlif-no{background:var(--vlif-red); color:#fff}

.vlif-sc-result{
  margin:0; padding:24px;
  background:var(--vlif-surface-2);
  border-top:1px solid var(--vlif-line);
}
.vlif-sc-rrow{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px}
.vlif-sc-rl{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10px; color:var(--vlif-muted); letter-spacing:.14em; text-transform:uppercase; font-weight:600}
.vlif-sc-rn{font-family:inherit; font-size:38px; font-weight:800; letter-spacing:-.02em; line-height:1}
.vlif-sc-rn sup{font-size:.4em; color:var(--vlif-faint); font-weight:500; vertical-align:super}
.vlif-sc-rc{
  font-family:inherit; font-size:13px; font-weight:700;
  padding:6px 12px; display:inline-block; margin-bottom:14px;
  border-radius:3px; text-transform:uppercase; letter-spacing:.06em;
  background:var(--vlif-surface-3); color:var(--vlif-soft);
}
.vlif-sc-rcost{font-family:inherit; font-size:13.5px; color:var(--vlif-ink); margin-bottom:14px; padding:12px; background:#fff; border-radius:5px; border:1px dashed var(--vlif-line)}
.vlif-sc-rcost b{color:var(--vlif-navy); font-family:inherit; font-weight:700; font-size:15px}
.vlif-sc-rrec{font-size:13.5px; color:var(--vlif-soft); line-height:1.6}
.vlif-sc-rrec a{color:var(--vlif-navy); font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px}

/* ============= STATS ============= */
.vlif-stats{padding:80px 28px; max-width:1300px; margin:0 auto; border-top:1px solid var(--vlif-line)}
.vlif-stats-h{margin-bottom:40px; max-width:680px}
.vlif-stats-num{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; color:var(--vlif-cyan); background:var(--vlif-cyan-soft); padding:5px 12px; border-radius:3px; letter-spacing:.16em; margin-bottom:18px; text-transform:uppercase; display:inline-block; font-weight:600}
.vlif-stats-h h2{font-size:clamp(28px, 3.4vw, 42px); margin-bottom:14px; line-height:1.1}
.vlif-stats-h p{color:var(--vlif-soft); font-size:15.5px; line-height:1.65}
.vlif-stats-tbl{
  background:#fff; border:1px solid var(--vlif-line); border-radius:8px; overflow:hidden;
}
.vlif-stats-thead{
  display:grid; grid-template-columns:300px 80px 1fr 90px 90px;
  gap:24px; padding:14px 20px;
  background:var(--vlif-navy); color:rgba(255,255,255,.7);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10.5px;
  letter-spacing:.12em; text-transform:uppercase; font-weight:600;
}
.vlif-stats-thead>div:nth-child(2),.vlif-stats-thead>div:nth-child(4),.vlif-stats-thead>div:nth-child(5){text-align:right}
.vlif-stat-row{
  display:grid; grid-template-columns:300px 80px 1fr 90px 90px;
  gap:24px; align-items:center;
  padding:14px 20px;
  border-bottom:1px solid var(--vlif-line);
  font-size:14px; transition:background .12s;
}
.vlif-stat-row:hover{background:var(--vlif-surface-2)}
.vlif-stat-row:last-child{border-bottom:none}
.vlif-stat-row .vlif-grpname{font-family:inherit; font-weight:600; cursor:pointer; color:var(--vlif-ink)}
.vlif-stat-row .vlif-grpname:hover{color:var(--vlif-cyan)}
.vlif-stat-row .vlif-statcnt{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; text-align:right; font-weight:600; color:var(--vlif-soft)}
.vlif-stat-row .vlif-prog{position:relative; height:7px; background:var(--vlif-surface-3); border-radius:3px; overflow:hidden}
.vlif-stat-row .vlif-prog-f{position:absolute; left:0; top:0; height:100%; background:linear-gradient(90deg, var(--vlif-emerald) 0%, var(--vlif-emerald-2) 100%); transition:width .8s cubic-bezier(.2,.8,.2,1); border-radius:3px}
.vlif-stat-row .vlif-pct{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; text-align:right; font-weight:700; color:var(--vlif-emerald)}
.vlif-stat-row .vlif-avgnum{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; text-align:right; color:var(--vlif-muted); font-weight:500}

/* ============= FAQ ============= */
.vlif-faq{padding:80px 28px; max-width:920px; margin:0 auto; border-top:1px solid var(--vlif-line)}
.vlif-faq-num{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; color:var(--vlif-cyan); background:var(--vlif-cyan-soft); padding:5px 12px; border-radius:3px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; display:inline-block; margin-bottom:18px}
.vlif-faq-head{text-align:center; margin-bottom:48px}
.vlif-faq h2{font-size:clamp(28px, 3.4vw, 42px); line-height:1.1}
.vlif-faq-i{
  background:#fff; border:1px solid var(--vlif-line); border-radius:8px;
  margin-bottom:8px; overflow:hidden;
  transition:border-color .15s;
}
.vlif-faq-i:hover{border-color:var(--vlif-line-2)}
.vlif-faq-i.vlif-open{border-color:var(--vlif-navy)}
.vlif-faq-q{
  font-family:inherit; font-size:16px; font-weight:600;
  cursor:pointer; padding:18px 22px;
  display:flex; justify-content:space-between; align-items:flex-start;
  gap:18px; line-height:1.4; color:var(--vlif-ink);
  position:relative;
}
.vlif-faq-q::after{content:"+"; flex-shrink:0; width:18px; height:18px; background:var(--vlif-cyan-soft); color:var(--vlif-navy); display:grid; place-items:center; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-weight:700; font-size:14px; line-height:1; padding-bottom:1px; border-radius:3px}
.vlif-faq-i.vlif-open .vlif-faq-q::after{content:"−"; background:var(--vlif-navy); color:#fff}
.vlif-faq-a{padding:0 22px 20px; font-size:14.5px; line-height:1.7; color:var(--vlif-soft); display:none}
.vlif-faq-a a{color:var(--vlif-navy); font-weight:600; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px}
.vlif-faq-i.vlif-open .vlif-faq-a{display:block}

/* ============= FINAL CTA ============= */
.vlif-fcta{
  padding:80px 28px;
  background:var(--vlif-navy);
  color:#fff;
  position:relative; overflow:hidden;
}
.vlif-fcta::before{
  content:""; position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 100% 0%, rgba(0,194,209,.18) 0%, transparent 45%),
    radial-gradient(circle at 0% 100%, rgba(0,194,209,.08) 0%, transparent 50%);
  pointer-events:none;
}
.vlif-fcta-inner{max-width:1300px; margin:0 auto; position:relative; display:grid; grid-template-columns:1.4fr 1fr; gap:60px; align-items:center}
.vlif-fcta-tag{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; color:var(--vlif-cyan); letter-spacing:.18em; text-transform:uppercase; margin-bottom:20px; font-weight:600}
.vlif-fcta h2{color:#fff; font-size:clamp(30px, 4vw, 48px); line-height:1.1; letter-spacing:-.02em}
.vlif-fcta p{color:rgba(255,255,255,.78); font-size:16px; max-width:680px; margin-top:18px; line-height:1.6}
.vlif-fcta-btns{display:flex; gap:12px; margin-top:32px; flex-wrap:wrap}
.vlif-btn-p{padding:14px 28px; font-family:inherit; font-size:14px; font-weight:600; background:var(--vlif-cyan); color:var(--vlif-navy); text-decoration:none; transition:all .15s; border-radius:6px; letter-spacing:.01em}
.vlif-btn-p:hover{background:#fff}
.vlif-btn-g{padding:14px 28px; font-family:inherit; font-size:14px; font-weight:600; border:1px solid rgba(255,255,255,.3); color:#fff; text-decoration:none; transition:all .15s; border-radius:6px; letter-spacing:.01em}
.vlif-btn-g:hover{border-color:#fff; background:rgba(255,255,255,.08)}

.vlif-fcta-pkg{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  padding:24px;
  border-radius:8px;
}
.vlif-fcta-pkg-h{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10px; color:var(--vlif-cyan); letter-spacing:.18em; text-transform:uppercase; margin-bottom:14px; font-weight:600}
.vlif-fcta-pkg-row{display:flex; justify-content:space-between; align-items:baseline; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:13.5px}
.vlif-fcta-pkg-row:last-child{border-bottom:none}
.vlif-fcta-pkg-row .vlif-pkg-name{color:rgba(255,255,255,.85); font-family:inherit; font-weight:500}
.vlif-fcta-pkg-row .vlif-pkg-price{color:#fff; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-weight:700}
.vlif-fcta-pkg-note{margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,.08); font-size:11px; color:rgba(255,255,255,.5); font-style:italic; line-height:1.5}


/* ============= NEW v5: Marketing strategy block (always shown) ============= */
.vlif-mo-mkx{
  background:#fff;
  border:1px solid var(--vlif-line);
  border-radius:8px;
  padding:8px 24px;
  margin-bottom:32px;
}
.vlif-mkx-row{
  padding:14px 0;
  border-bottom:1px solid var(--vlif-line);
}
.vlif-mkx-row:last-child{border-bottom:none}
.vlif-mkx-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:6px;
  gap:12px;
}
.vlif-mkx-name{
  font-family:inherit;
  font-size:14px;
  font-weight:500;
  color:var(--vlif-ink);
  display:flex;
  align-items:center;
  gap:8px;
}
.vlif-mkx-row.vlif-primary .vlif-mkx-name{
  color:var(--vlif-navy);
  font-weight:700;
}
.vlif-mkx-tag{
  display:inline-block;
  padding:2px 7px;
  background:var(--vlif-cyan);
  color:var(--vlif-navy);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:3px;
}
.vlif-mkx-pct{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13px;
  font-weight:700;
  color:var(--vlif-navy);
  white-space:nowrap;
}
.vlif-mkx-bar{
  height:6px;
  background:var(--vlif-surface-3);
  border-radius:3px;
  overflow:hidden;
  margin-bottom:6px;
}
.vlif-mkx-fill{
  height:100%;
  background:linear-gradient(90deg, var(--vlif-cyan-soft), var(--vlif-cyan));
  border-radius:3px;
  transition:width .6s cubic-bezier(.2,.8,.2,1);
}
.vlif-mkx-row.vlif-primary .vlif-mkx-fill{
  background:linear-gradient(90deg, var(--vlif-cyan), var(--vlif-navy));
}
.vlif-mkx-tip{
  font-family:inherit;
  font-size:12.5px;
  color:var(--vlif-muted);
  line-height:1.45;
}
.vlif-mkx-note{
  margin-top:14px;
  padding:12px 14px;
  background:var(--vlif-surface-2);
  border-left:3px solid var(--vlif-cyan);
  font-size:12.5px;
  color:var(--vlif-soft);
  line-height:1.55;
  font-style:italic;
  border-radius:3px;
}

/* ============= v5.3: GUEST VIEW COUNTER (sticky pill) ============= */
.vlif-views-pill{
  position:fixed; bottom:24px; left:24px; z-index:8000;
  display:flex; align-items:center; gap:10px;
  padding:10px 16px;
  background:var(--vlif-navy); color:#fff;
  border-radius:999px;
  box-shadow:0 8px 24px rgba(13,30,62,.18);
  font-family:inherit; font-size:13px;
  transform:translateY(80px); opacity:0; transition:all .3s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.vlif-views-pill.vlif-show{transform:translateY(0); opacity:1; pointer-events:auto}
.vlif-views-pill-num{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-weight:700; color:var(--vlif-cyan);
  font-size:14px;
}
.vlif-views-pill-warn .vlif-views-pill-num{color:#FBBF24}
.vlif-views-pill-out{background:var(--vlif-red)}
.vlif-views-pill-out .vlif-views-pill-num{color:#fff}

/* ============= v5.3: LOGIN WALL ============= */
.vlif-lw-overlay{
  position:fixed; inset:0; z-index:9500;
  background:rgba(13,30,62,.78);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  display:none; align-items:center; justify-content:center;
  padding:20px;
  opacity:0; transition:opacity .25s;
}
.vlif-lw-overlay.vlif-open{display:flex; opacity:1}
.vlif-lw-card{
  position:relative;
  width:100%; max-width:460px;
  background:#fff; color:var(--vlif-ink);
  border-radius:14px; padding:36px 32px 28px;
  text-align:center;
  box-shadow:0 24px 64px rgba(13,30,62,.4);
  transform:scale(.95); transition:transform .3s cubic-bezier(.2,.8,.2,1);
  font-family:inherit;
}
.vlif-lw-overlay.vlif-open .vlif-lw-card{transform:scale(1)}
.vlif-lw-close{
  position:absolute; top:14px; right:14px;
  width:32px; height:32px;
  background:transparent; border:1px solid var(--vlif-line);
  cursor:pointer; display:grid; place-items:center;
  color:var(--vlif-soft); transition:all .15s; padding:0; border-radius:6px;
}
.vlif-lw-close:hover{background:var(--vlif-surface-3); color:var(--vlif-navy); border-color:var(--vlif-navy)}
.vlif-lw-icon{
  width:64px; height:64px;
  background:linear-gradient(135deg, var(--vlif-navy) 0%, var(--vlif-navy-3) 100%);
  color:var(--vlif-cyan);
  border-radius:50%;
  display:grid; place-items:center;
  margin:0 auto 16px;
}
.vlif-lw-tag{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:10px;
  color:var(--vlif-cyan); background:var(--vlif-cyan-soft);
  padding:4px 11px; letter-spacing:.18em;
  border-radius:3px; text-transform:uppercase;
  font-weight:700; display:inline-block;
  margin-bottom:14px;
}
.vlif-lw-title{
  font-family:inherit;
  font-size:24px; font-weight:700; color:var(--vlif-ink);
  margin:0 0 12px; line-height:1.2; letter-spacing:-.015em;
}
.vlif-lw-title span{color:var(--vlif-cyan); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.vlif-lw-sub{
  font-size:14.5px; color:var(--vlif-soft);
  line-height:1.55; margin:0 0 22px;
  max-width:380px; margin-left:auto; margin-right:auto;
}
.vlif-lw-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  width:100%; padding:13px 20px;
  background:#fff; border:1.5px solid var(--vlif-line-2);
  color:var(--vlif-ink); text-decoration:none;
  font-family:inherit; font-weight:600; font-size:15px;
  border-radius:8px; transition:all .15s;
  margin-bottom:14px;
}
.vlif-lw-btn:hover{
  border-color:var(--vlif-navy);
  box-shadow:0 4px 14px rgba(13,30,62,.12);
}
.vlif-lw-btn svg{flex-shrink:0}
.vlif-lw-note{
  display:flex; flex-wrap:wrap; gap:10px 18px;
  justify-content:center;
  font-size:12px; color:var(--vlif-emerald);
  margin-bottom:14px;
  font-weight:500;
}
.vlif-lw-fine{
  font-size:11.5px; color:var(--vlif-muted);
  line-height:1.5; margin:0;
  font-style:italic;
}

/* ============= v5.3: COPYRIGHT FOOTER ============= */
.vlif-copyright{
  background:var(--vlif-navy);
  color:rgba(255,255,255,.7);
  padding:48px 28px 32px;
  margin-top:0;
  border-top:1px solid var(--vlif-navy-2);
}
.vlif-copy-inner{
  max-width:1300px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center;
  gap:24px; flex-wrap:wrap;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.1);
  margin-bottom:24px;
}
.vlif-copy-brand{display:flex; align-items:center; gap:14px}
.vlif-copy-mark{
  width:42px; height:42px; flex-shrink:0;
  display:block; object-fit:contain;
  background:#fff;
  border-radius:50%;
  padding:3px;
}
.vlif-copy-brand b{
  display:block;
  font-family:inherit; font-size:15px;
  font-weight:700; color:#fff;
  letter-spacing:.01em;
  margin-bottom:2px;
}
.vlif-copy-brand span{
  display:block;
  font-family:inherit; font-size:12.5px;
  color:rgba(255,255,255,.55);
}
.vlif-copy-links{
  display:flex; align-items:center; gap:14px;
  flex-wrap:wrap;
  font-family:inherit; font-size:13px;
}
.vlif-copy-links a{
  color:rgba(255,255,255,.78);
  text-decoration:none;
  transition:color .15s;
  font-weight:500;
}
.vlif-copy-links a:hover{color:var(--vlif-cyan)}
.vlif-copy-sep{color:rgba(255,255,255,.3)}
.vlif-copy-license{
  max-width:1300px; margin:0 auto;
  font-family:inherit; font-size:12.5px;
  color:rgba(255,255,255,.55);
  line-height:1.65;
}
.vlif-copy-license p{margin:0 0 12px}
.vlif-copy-license b{color:rgba(255,255,255,.85); font-weight:600}
.vlif-copy-license a{color:rgba(255,255,255,.78); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px}
.vlif-copy-license a:hover{color:var(--vlif-cyan)}
.vlif-copy-version{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px;
  color:rgba(255,255,255,.4);
  letter-spacing:.04em;
  margin-top:18px !important; padding-top:14px;
  border-top:1px solid rgba(255,255,255,.06);
}
.vlif-copy-version code{
  background:rgba(255,255,255,.06);
  color:var(--vlif-cyan);
  padding:2px 7px;
  border-radius:3px;
  font-size:10.5px;
}

/* ============= RESPONSIVE ============= */
@media (max-width:1100px){
  .vlif-kpi{grid-template-columns:repeat(2, 1fr)}
  .vlif-fcta-inner{grid-template-columns:1fr; gap:40px}
}
@media (max-width:900px){
  .vlif-sc-grid{grid-template-columns:1fr; gap:32px}
  .vlif-sc-intro{position:static}
  .vlif-stat-row,.vlif-stats-thead{grid-template-columns:1fr 60px 80px; gap:12px; padding-left:16px; padding-right:16px}
  .vlif-stat-row .vlif-prog,.vlif-stats-thead>div:nth-child(3){display:none}
}
@media (max-width:640px){
  .vlif-hero{padding:48px 20px 64px}
  .vlif-kpi{grid-template-columns:1fr; margin-top:32px}
  .vlif-control-inner{padding:14px 20px}
  .vlif-search-wrap{min-width:100%}
  .vlif-grid{padding:20px; grid-template-columns:1fr; gap:14px}
  .vlif-c-name{font-size:20px}
  .vlif-c-metrics{grid-template-columns:1fr}
  .vlif-c-score{border-right:none; border-bottom:1px solid var(--vlif-line)}
  .vlif-c-crits{grid-template-columns:1fr}
  .vlif-mo{width:100%; max-width:100%}
  .vlif-mo-head{padding:14px 18px; gap:12px}
  .vlif-mo-head-id{font-size:10px; letter-spacing:.12em}
  .vlif-mo-head-name{font-size:13px; padding-left:12px}
  .vlif-mo-body{padding:24px}
  .vlif-mo-name{font-size:28px}
  .vlif-mo-mtr{grid-template-columns:1fr}
  .vlif-mo-score{border-right:none; border-bottom:1px solid var(--vlif-line)}
  .vlif-scorer{padding:48px 20px}
  .vlif-stats{padding:48px 20px}
  .vlif-faq{padding:48px 20px}
  .vlif-fcta{padding:48px 20px}
  .vlif-meta,.vlif-chips{padding-left:20px; padding-right:20px}
  .vlif-fcta-inner{padding:0}
  .vlif-tb-status{display:none}
  .vlif-views-pill{bottom:14px; left:14px; padding:9px 14px; font-size:12px}
  .vlif-lw-card{padding:30px 22px 22px}
  .vlif-lw-title{font-size:20px}
  .vlif-lw-icon{width:54px; height:54px}
  .vlif-copy-inner{flex-direction:column; align-items:flex-start; gap:18px}
  .vlif-copyright{padding:36px 20px 24px}
}

@keyframes vlif-fadeUp{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}
