/* VisitorsList Event Page Master Template v2 — presentation layer (reference: Event Page Template v2).
   No content lives here: every string is an Elementor widget. This file adds what Elementor Free
   has no control for: pills, overlays, connectors, animations, chart and table details. */

.vl-evt { --navy:#0b2545; --n2:#13315c; --g:#1faa59; --g2:#e7f7ee; --lb:#eaf3fc; --gr:#f5f7fa; --ink:#17263a;
  --m:#5a6b80; --ln:#dde5ef; --teal:#14a3a3; --or:#f08a24; position:relative; -webkit-font-smoothing:antialiased; }
.vl-evt .elementor-heading-title { margin:0; }
.vl-evt p:last-child { margin-bottom:0; }
.vl-evt .vl-sub .elementor-heading-title { max-width:680px; }
.vl-evt a:focus-visible, .vl-evt button:focus-visible, .vl-evt [role=button]:focus-visible { outline:3px solid var(--teal); outline-offset:2px; }

/* Buttons */
.vl-evt .elementor-button { transition:transform .15s, box-shadow .15s, background-color .15s !important; }
.vl-evt .elementor-button:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(11,37,69,.15); }
.vl-evt .vl-btn-link .elementor-button:hover { transform:none; box-shadow:none; text-decoration:underline; }

/* ---------- 01 Hero */
.vl-hero { overflow:hidden; }
.vl-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(900px 400px at 85% 0, var(--lb), transparent); }
.vl-hero > .e-con-inner { position:relative; }
.vl-bc a { color:var(--m); text-decoration:none; } .vl-bc a:hover { color:var(--navy); text-decoration:underline; }
.vl-cat .elementor-heading-title { display:inline-block; background:var(--g2); padding:4px 12px; border-radius:99px; }
.vl-lead .elementor-heading-title { max-width:560px; } .vl-hint { max-width:560px; }
.vl-trust .elementor-icon-list-items { column-gap:18px; }
.vl-vis { position:relative; min-height:0 !important; padding:210px 16px 16px !important; border-radius:22px; overflow:hidden; background:var(--lb); box-shadow:0 20px 50px rgba(11,37,69,.14); }
.vl-vis > .vl-vis-img { position:absolute !important; top:0; left:0; right:0; height:250px; margin:0 !important; width:100% !important; }
.vl-vis > .vl-vis-img .elementor-widget-container, .vl-vis > .vl-vis-img picture { height:100%; }
.vl-vis > .vl-vis-img img { width:100% !important; height:100% !important; object-fit:cover; border-radius:0 !important; }
.vl-vis::after { content:"" !important; position:absolute !important; top:0; left:0; right:0; height:250px; z-index:1; pointer-events:none; background:linear-gradient(180deg, transparent 55%, rgba(11,37,69,.18)); }
.vl-vis > .vl-ic { position:relative !important; z-index:2; width:auto !important; box-shadow:0 -6px 24px rgba(11,37,69,.12); }
.vl-badge .elementor-heading-title { display:inline-flex; align-items:center; gap:7px; padding:5px 13px; border-radius:99px; background:var(--lb); }
.vl-badge-live .elementor-heading-title { background:#fdecec; }
.vl-badge-live .elementor-heading-title::before { content:""; width:9px; height:9px; border-radius:50%; background:#e53935; animation:vl-pl 1.4s infinite; }
.vl-badge-post .elementor-heading-title { background:var(--g2); }
@keyframes vl-pl { 0% { box-shadow:0 0 0 0 rgba(229,57,53,.6); } 100% { box-shadow:0 0 0 9px rgba(229,57,53,0); } }
/* lifecycle: Pre-Event — Live Now — Full List */
.vl-life .elementor-icon-list-items { display:flex !important; flex-wrap:nowrap !important; align-items:center; gap:0 !important; margin:0 !important; }
.vl-life .elementor-icon-list-item { display:flex !important; align-items:center; gap:5px; margin:0 !important; padding:0 !important; white-space:nowrap; }
.vl-life .elementor-icon-list-item:not(:last-child) { flex:1; }
.vl-life .elementor-icon-list-item::before { content:""; flex:none; width:12px; height:12px; border-radius:50%; border:2px solid #c5d0de; box-sizing:border-box; }
.vl-life .elementor-icon-list-item:not(:last-child)::after { content:"" !important; position:static !important; flex:1; height:2px !important; width:auto !important; border:0 !important; background:var(--ln); margin:0 6px !important; }
.vl-life .elementor-icon-list-item.is-done .elementor-icon-list-text, .vl-life-live li:nth-child(1) .elementor-icon-list-text, .vl-life-post li:nth-child(-n+2) .elementor-icon-list-text { color:var(--g) !important; }
.vl-life-live li:nth-child(1)::before, .vl-life-post li:nth-child(-n+2)::before { background:var(--g); border-color:var(--g) !important; }
.vl-life li:nth-child(1) .elementor-icon-list-text, .vl-life-live li:nth-child(2) .elementor-icon-list-text, .vl-life-post li:nth-child(3) .elementor-icon-list-text { color:var(--navy) !important; }
.vl-life li:nth-child(1)::before, .vl-life-live li:nth-child(2)::before, .vl-life-post li:nth-child(3)::before { background:var(--navy); border-color:var(--navy); box-shadow:0 0 0 3px var(--lb); }
.vl-life-live li:nth-child(1)::before, .vl-life-post li:nth-child(1)::before { box-shadow:none; }
.vl-life-live li:nth-child(1) .elementor-icon-list-text, .vl-life-post li:nth-child(1) .elementor-icon-list-text { color:var(--g) !important; }
.vl-mini-row { border-bottom:1px solid var(--ln); padding:3px 0; }
.vl-mini-row .vl-kv-v .elementor-heading-title { text-align:right; }
.vl-mini-row .vl-kv-l { flex:0 0 auto !important; white-space:nowrap; }
.vl-mini-row .vl-kv-v { flex:1 1 auto !important; min-width:0; }
.vl-upd { margin-top:4px; align-items:center !important; } .vl-upd .vl-icon { flex:none; width:auto !important; }
.vl-lu-line { align-items:baseline !important; flex-wrap:wrap !important; column-gap:6px !important; }
.vl-lu-line > .elementor-element { width:auto !important; margin:0 !important; }
.vl-lu-line .elementor-heading-title, .vl-lu-note .elementor-heading-title { line-height:1.45 !important; margin:0 !important; }
.vl-lu-line .vl-lu-v .elementor-heading-title { font-size:13.5px !important; }
.vl-lu-note { margin-top:2px !important; }
.vl-lu-text, .vl-lu-line { padding:0 !important; } .vl-lu-text { gap:2px !important; }
.vl-hs, .vl-hs .elementor-button { cursor:pointer; }
.vl-lu-v time { font:inherit; }

/* ---------- 02 Stats strip */
.vl-sr { flex-wrap:nowrap !important; overflow-x:auto; scroll-snap-type:x mandatory; }
.vl-sr > .vl-st { flex:1 1 0 !important; min-width:150px; width:auto !important; scroll-snap-align:start; }
.vl-sr > .vl-st:last-child { border-right:0 !important; }
.vl-st .elementor-counter { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.vl-st .elementor-counter-number-wrapper { justify-content:flex-start; }
.vl-st .elementor-counter-title { text-align:left; }

/* ---------- 03 Snapshot */
.vl-kv > .vl-kv-cell:nth-child(3n) { border-right:0 !important; }
.vl-aeo .elementor-widget-text-editor p { margin:0 0 10px; }

/* ---------- 04 Why */
.vl-why-copy p { margin:0 0 14px; }
.vl-why-copy strong, .vl-why-copy b { color:var(--navy); font-weight:600; background:linear-gradient(transparent 60%, #c9efd9 60%); }
.vl-pills { margin-top:6px; } .vl-pill { width:auto !important; }
.vl-opp { background:linear-gradient(180deg, var(--g2), #fff) !important; }
.vl-opp-list .elementor-icon-list-item { padding:10px 0 !important; border-bottom:1px solid #d7eee1; margin:0 !important; }
.vl-opp-list .elementor-icon-list-item:last-child { border-bottom:0; }

/* ---------- 05 Panels */
.vl-tags .elementor-icon-list-items, .vl-fld .elementor-icon-list-items { gap:8px; margin:0 !important; }
.vl-tags .elementor-icon-list-item, .vl-fld .elementor-icon-list-item { margin:0 !important; }
.vl-tags .elementor-icon-list-item::after, .vl-fld .elementor-icon-list-item::after { display:none !important; }
.vl-tags .elementor-icon-list-item { background:#fff; border:1px solid var(--ln); border-radius:99px; padding:4px 12px !important; }
.vl-fld .elementor-icon-list-item { background:#fff; border:1px solid var(--ln); border-left:3px solid var(--navy); border-radius:6px; padding:5px 11px !important; }
.vl-fld-attendee .elementor-icon-list-item { border-left-color:var(--g); }
.vl-panel .vl-ctas { margin-top:auto !important; }

/* ---------- Tabs (chart views, table filters, filter chips) */
.vl-chart-tabs .elementor-icon-list-items, .vl-table-tabs .elementor-icon-list-items, .vl-chips .elementor-icon-list-items,
.vl-tgt-chips .elementor-icon-list-items, .vl-lk .elementor-icon-list-items { gap:8px; margin:0 !important; }
.vl-chart-tabs li, .vl-table-tabs li, .vl-chips li { margin:0 !important; padding:8px 16px !important; border:1px solid var(--ln); border-radius:99px; background:#fff; cursor:pointer; transition:.15s; user-select:none; }
.vl-chart-tabs li { padding:6px 14px !important; }
.vl-chart-tabs li::after, .vl-table-tabs li::after, .vl-chips li::after, .vl-tgt-chips li::after, .vl-lk li::after { display:none !important; }
.vl-chart-tabs li:hover, .vl-table-tabs li:hover, .vl-chips li:hover { border-color:var(--g); }
.vl-chart-tabs li.is-on, .vl-table-tabs li.is-on, .vl-chips li.is-on { background:var(--navy); border-color:var(--navy); }
.vl-chart-tabs li.is-on .elementor-icon-list-text, .vl-table-tabs li.is-on .elementor-icon-list-text, .vl-chips li.is-on .elementor-icon-list-text { color:#fff !important; }
.vl-chart-tabs li.is-hidden { display:none !important; }

/* ---------- 06 Chart + insights */
.vl-dn { align-items:center !important; }
.vl-chart-mount { flex:none; width:auto !important; }
.vl-chart { min-width:220px; }
.vl-chart svg { width:220px; height:220px; display:block; animation:vl-fd .8s; }
@keyframes vl-fd { from { opacity:0; transform:rotate(-20deg); } }
.vl-chart .vl-seg { transition:opacity .2s; cursor:default; }
.vl-chart.is-hover .vl-seg:not(.is-on) { opacity:.3; }
.vl-donut-legend { flex:1; min-width:200px; }
.vl-donut-legend .elementor-icon-list-item { padding:5px 0 !important; margin:0 !important; }
.vl-donut-legend .elementor-icon-list-item::after { display:none !important; }
.vl-donut-legend .elementor-icon-list-text { display:flex; width:100%; gap:10px; }
.vl-donut-legend .vl-pct { margin-left:auto; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
.vl-donut-legend [style*="--vl-c"] .elementor-icon-list-icon svg { fill:var(--vl-c) !important; border-radius:3px; }
.vl-donut-legend [style*="--vl-c"] .elementor-icon-list-icon i { color:var(--vl-c) !important; }
.vl-donut-legend li.is-on { background:var(--gr); border-radius:6px; }
.vl-chart-card.is-bars .vl-donut-legend { display:none; }
.vl-chart-card.is-bars .vl-chart { flex:1; width:100%; }
.vl-chart-card.is-bars .vl-chart-mount { flex:1; }
.vl-chart, .vl-chart *, .vl-sec-builder .vl-seg, .vl-sec-builder .vl-seg *, .vl-donut-legend .elementor-icon-list-text, .vl-seg, .vl-k { font-family:Inter, system-ui, sans-serif; }
.vl-br { display:grid; grid-template-columns:140px 1fr 90px; gap:12px; align-items:center; margin:11px 0; font-size:14px; color:var(--ink); }
.vl-trk { display:flex; height:16px; border-radius:8px; background:var(--gr); overflow:hidden; }
.vl-trk i { display:block; height:100%; width:0; transition:width .9s ease; }
.vl-br em { font-style:normal; font-weight:600; text-align:right; font-size:13px; }
.vl-k { display:flex; gap:16px; font-size:13px; color:var(--m); margin-bottom:6px; }
.vl-k span::before { content:""; display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:6px; background:var(--navy); }
.vl-k span + span::before { background:var(--g); }
.vl-tgt-chips li { margin:0 !important; background:#fff; border:1px solid var(--ln); border-radius:8px; padding:6px 12px !important; position:relative; }
.vl-tgt-chips li:not(:last-child) { margin-right:14px !important; }
.vl-tgt-chips li:not(:last-child)::before { content:"+"; position:absolute; right:-14px; top:50%; transform:translate(50%,-50%); color:var(--m); }
.vl-tgt-text { flex:1 1 300px; }

/* ---------- 07 Sample table */
.vl-tw { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.vl-tw > .vl-table, .vl-tw .vl-table { min-width:900px !important; width:100%; flex:none !important; }
.vl-tw { max-width:100%; }
.vl-tr > .elementor-element { flex:1 1 0; min-width:0; padding:12px 14px; width:auto !important; }
.vl-tr > .vl-td-3, .vl-tr > .elementor-element:nth-child(3), .vl-tr > .elementor-element:nth-child(7) { flex-grow:1.35; }
.vl-thead { border-bottom:1px solid var(--ln); }
.vl-tr:not(.vl-thead) { border-top:1px solid var(--ln); transition:background .15s; }
.vl-tr:not(.vl-thead):hover { background:var(--lb); }
.vl-tr.is-hidden { display:none !important; }
.vl-mk .elementor-heading-title { filter:blur(4px); user-select:none; }
.vl-rel .elementor-heading-title { display:inline-block; font-size:12px !important; font-weight:600 !important; padding:3px 9px; border-radius:99px; background:var(--lb); color:var(--n2) !important; }
.vl-rel.is-a .elementor-heading-title { background:var(--g2); color:var(--gd, #0e7a3f) !important; }

/* ---------- 08 Data layers */
.vl-an { position:relative; }
.vl-an::before { content:"" !important; position:absolute; top:26px !important; left:12% !important; right:12% !important; width:auto !important; height:2px !important; border-radius:0 !important; opacity:1 !important; background:repeating-linear-gradient(90deg, var(--g) 0 8px, transparent 8px 16px); }
.vl-dot .elementor-heading-title { width:52px; height:52px; border-radius:50%; background:var(--navy); display:grid; place-items:center; margin:0 auto; border:4px solid #fff; box-sizing:border-box; position:relative; z-index:1; }
.vl-nd-list .elementor-icon-list-item { justify-content:center; text-align:center; padding:1px 0 !important; }

/* ---------- 09 Audience cards */
.vl-aud-card { transition:border-color .15s, box-shadow .15s; }
.vl-aud-card:hover { border-color:var(--g) !important; box-shadow:0 6px 16px rgba(11,37,69,.08); }

/* ---------- 10 Audience builder */
.vl-seg { display:flex; flex-direction:column; gap:6px; }
.vl-seg div { display:flex; justify-content:space-between; gap:10px; background:var(--lb); border-radius:8px; padding:7px 12px; font-size:14px; color:var(--ink); }
.vl-seg small { color:var(--m); font-size:13px; }

/* ---------- 11 Journey */
.vl-jr { position:relative; padding-top:34px !important; }
.vl-jr::before { content:""; position:absolute; top:12px; left:0; right:0; height:4px; border-radius:4px; background:linear-gradient(90deg, var(--g), var(--teal), var(--or), var(--g)); background-size:200% 100%; animation:vl-fl 6s linear infinite; }
@keyframes vl-fl { to { background-position:-200% 0; } }
.vl-jr .vl-icon { width:auto !important; }
.vl-jr .vl-icon .elementor-icon { box-shadow:0 0 0 1px var(--ln); }
.vl-jr-list .elementor-icon-list-item { padding:2px 0 !important; }
.vl-jr-list .elementor-icon-list-item::before { content:""; flex:none; width:5px; height:5px; border-radius:50%; background:#9aa8ba; margin-right:10px; }

/* ---------- 12 Process + EEAT */
.vl-fw { position:relative; margin-top:30px; }
.vl-fw::before, .vl-fw::after { content:"" !important; position:absolute !important; top:21px !important; left:7% !important; height:2px !important; border-radius:0 !important; opacity:1 !important; mix-blend-mode:normal !important; }
.vl-fw::before { right:7% !important; width:auto !important; background:var(--ln) !important; }
.vl-fw::after { width:86% !important; background:var(--g) !important; transform-origin:left center; transform:scaleX(0); animation:vl-fi 8s linear infinite; }
@keyframes vl-fi { to { transform:scaleX(1); } }
.vl-fs { position:relative; z-index:1; }
.vl-fs .elementor-heading-title::before { content:""; display:block; width:42px; height:42px; border-radius:50%; background:var(--g2); border:2px solid var(--g); margin:0 auto 10px; box-sizing:border-box; animation:vl-pu 8s infinite; }
.vl-fs:nth-child(2) .elementor-heading-title::before { animation-delay:1.1s; } .vl-fs:nth-child(3) .elementor-heading-title::before { animation-delay:2.2s; }
.vl-fs:nth-child(4) .elementor-heading-title::before { animation-delay:3.3s; } .vl-fs:nth-child(5) .elementor-heading-title::before { animation-delay:4.4s; }
.vl-fs:nth-child(6) .elementor-heading-title::before { animation-delay:5.5s; } .vl-fs:nth-child(7) .elementor-heading-title::before { animation-delay:6.6s; }
@keyframes vl-pu { 0%, 10% { background:var(--g); } 20%, 100% { background:var(--g2); } }
.vl-eeat a { color:var(--g); }

/* ---------- 13 Visual story */
.vl-vs { grid-template-columns:1.4fr 1fr 1fr !important; }
.vl-vs-item { position:relative; overflow:hidden; border-radius:16px; }
.vl-vs-item img { height:220px !important; object-fit:cover; width:100%; transition:transform .5s; }
.vl-vs-item:hover img { transform:scale(1.03); }
.vl-vs-label { position:absolute !important; left:12px; bottom:12px; width:auto !important; }
.vl-vs-label .elementor-heading-title { background:#fff; border-radius:8px; padding:5px 11px; }

/* ---------- 14 Editions timeline */
.vl-ed { position:relative; }
.vl-ed::before { content:""; position:absolute; left:-10px; top:4px; width:17px; height:17px; border-radius:50%; background:#fff; border:3px solid var(--g); box-sizing:border-box; }
.vl-ed:first-child::before { background:var(--g); }
.vl-ed-meta .vl-f-location .elementor-heading-title::before { content:"· "; }
.vl-avail .elementor-heading-title { display:inline-block; padding:2px 9px; border-radius:99px; background:var(--g2); }

/* ---------- 15 Related */
/* Same card as the homepage events feed (.vlh .evcard) */
.vl-rc { overflow-x:auto; scroll-snap-type:x mandatory; padding:8px 2px 14px; scrollbar-width:none; }
.vl-rc::-webkit-scrollbar { display:none; }
.vl-rc > .vl-rd { flex:0 0 290px !important; width:290px !important; max-width:78vw; scroll-snap-align:start; box-shadow:0 4px 24px rgba(11,27,52,.07); transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s, border-color .3s; }
.vl-rd:hover { transform:translateY(-5px); box-shadow:0 18px 48px rgba(11,27,52,.12); border-color:#C3D3EA !important; }
.vl-rc > .vl-rd { display:flex !important; flex-direction:column !important; padding:0 !important; }
.vl-rd-media { position:relative; aspect-ratio:16/9; overflow:hidden; background:#123A68; padding:0 !important; flex:none !important; }
.vl-rd-media::after { content:"" !important; position:absolute !important; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(11,27,52,.05) 30%,rgba(11,27,52,.5) 100%) !important; }
.vl-rd-media > .vl-f-image { position:absolute !important; inset:0; margin:0 !important; width:100% !important; height:100%; }
.vl-rd-media > .vl-f-image .elementor-widget-container, .vl-rd-media > .vl-f-image a { height:100%; display:block; }
.vl-rd-media > .vl-f-image img { width:100% !important; height:100% !important; object-fit:cover; border-radius:0 !important; transition:transform .7s cubic-bezier(.22,.61,.36,1); }
.vl-rd:hover .vl-rd-media > .vl-f-image img { transform:scale(1.06); }
.vl-rd-media > .vl-f-logo { position:absolute !important; left:12px; bottom:12px; z-index:2; width:92px !important; height:46px; margin:0 !important; background:#fff; border-radius:9px; padding:3px; box-shadow:0 6px 16px rgba(11,27,52,.22); overflow:hidden; }
.vl-rd-media > .vl-f-logo .elementor-widget-container { height:100%; display:flex; align-items:center; }
.vl-rd-media > .vl-f-logo .elementor-widget-container, .vl-vis > .vl-vis-logo .elementor-widget-container { width:100%; }
.vl-rd-media > .vl-f-logo img { height:100% !important; width:100% !important; max-width:100% !important; object-fit:cover; border-radius:6px !important; }
.vl-rd-media > .vl-f-status { position:absolute !important; top:12px; left:12px; z-index:2; width:auto !important; margin:0 !important; }
.vl-rd-media > .vl-f-status .elementor-heading-title { display:inline-flex; align-items:center; gap:6px; padding:4px 10px 4px 8px; border-radius:20px; background:rgba(255,255,255,.94); box-shadow:0 2px 8px rgba(11,27,52,.12); letter-spacing:.02em; }
.vl-rd-media > .vl-f-status .elementor-heading-title::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 0 currentColor; animation:vl-pulse 2s infinite; }
@keyframes vl-pulse { 0% { box-shadow:0 0 0 0 rgba(30,95,191,.45); } 100% { box-shadow:0 0 0 7px rgba(30,95,191,0); } }
.vl-rd-b { flex:1 1 auto !important; }
.vl-rd-media > .vl-f-status.vl-st-new { color:#0B1B34; } .vl-f-status.vl-st-new .elementor-heading-title { color:#0B1B34 !important; }
.vl-f-status.vl-st-now .elementor-heading-title { color:#0B8F55 !important; } .vl-f-status.vl-st-past .elementor-heading-title { color:#5B6472 !important; }
.vl-rd-b > .vl-f-title a { color:inherit; } .vl-rd:hover .vl-f-title a { color:#1E5FBF; }
.vl-rd-pin .elementor-heading-title, .vl-rd-cal .elementor-heading-title { display:inline-flex; align-items:center; gap:6px; }
.vl-rd-pin .elementor-heading-title::before, .vl-rd-cal .elementor-heading-title::before { content:""; flex:none; width:14px; height:14px; background:currentColor;
  -webkit-mask:var(--vl-ic) center / contain no-repeat; mask:var(--vl-ic) center / contain no-repeat; }
.vl-rd-pin { --vl-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0114 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.vl-rd-cal { --vl-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.vl-rd-b > .vl-rd-pin, .vl-rd-b > .vl-rd-cal { margin-top:-4px !important; }
.vl-rd-data { margin-top:auto !important; padding-top:9px; border-top:1px dashed #E2E7EF; }
.vl-rd-data .elementor-icon-list-items { gap:6px 12px; } .vl-rd-data .elementor-icon-list-item { margin:0 !important; } .vl-rd-data .elementor-icon-list-item::after { display:none !important; }
.vl-rd-cta .elementor-button { padding:0 !important; background:none !important; color:#0B8F55 !important; font-size:13.8px !important; font-weight:600; }
.vl-rd:hover .vl-rd-cta .elementor-button { color:#12B76A !important; }
.vl-rd-cta .elementor-button-icon { transition:transform .25s; } .vl-rd:hover .vl-rd-cta .elementor-button-icon { transform:translateX(4px); }

/* Hero logo badge on the industry photo */
.vl-vis > .vl-vis-logo { position:absolute !important; left:16px; top:132px; z-index:3; width:120px !important; height:60px; margin:0 !important; background:#fff; border-radius:10px; padding:3px; box-shadow:0 6px 16px rgba(11,27,52,.22); overflow:hidden; }
.vl-vis > .vl-vis-logo .elementor-widget-container { height:100%; display:flex; align-items:center; }
.vl-vis > .vl-vis-logo img { height:100% !important; width:100% !important; max-width:100% !important; object-fit:cover; border-radius:7px !important; }

/* ---------- 16 Explore links */
.vl-lk li { margin:0 !important; }
.vl-lk a, .vl-lk li > .elementor-icon-list-text { display:inline-block; padding:10px 18px; border-radius:99px; border:1px solid var(--ln); background:#fff; transition:.15s; }
.vl-lk a:hover { border-color:var(--g); background:var(--g2); }

/* ---------- 17 Final CTA */
.vl-fin { background:linear-gradient(120deg, #fff 0, var(--lb) 30%, var(--navy) 100%) !important; }
.vl-fin-r .vl-ctas { justify-content:flex-end; }

/* ---------- 18 FAQ */
.vl-faq .elementor-toggle-item { border-bottom:1px solid var(--ln); }
.vl-faq .elementor-tab-title { border:0 !important; }
.vl-faq .elementor-tab-content { border:0 !important; }

/* ---------- Scroll reveal (content is visible without JS) */
.vl-js .vl-rv { opacity:0; transform:translateY(10px); transition:opacity .5s, transform .5s; }
.vl-js .vl-rv.in { opacity:1; transform:none; }

/* ---------- Responsive */
@media (max-width:1024px) {
  .vl-kv > .vl-kv-cell:nth-child(3n) { border-right:1px solid var(--ln) !important; }
  .vl-kv > .vl-kv-cell:nth-child(2n) { border-right:0 !important; }
  .vl-an::before { display:none; }
  .vl-vs { grid-template-columns:1fr !important; }
  .vl-fin-text .elementor-heading-title { text-align:left !important; }
  .vl-fin-r .vl-ctas { justify-content:flex-start !important; }
  .vl-fin { background:linear-gradient(180deg, #fff 0, var(--lb) 28%, var(--navy) 46%) !important; }
}
@media (max-width:700px) {
  .vl-br { grid-template-columns:1fr auto; row-gap:5px; }
  .vl-br > .vl-trk { grid-column:1 / -1; order:3; }
  .vl-vis { padding:150px 12px 12px !important; }
  .vl-vis > .vl-vis-img, .vl-vis::after { height:190px !important; }
  .vl-sr { display:grid !important; grid-template-columns:1fr 1fr; overflow:visible; }
  .vl-sr > .vl-st { min-width:0; border-right:0 !important; border-bottom:1px solid var(--ln); }
  .vl-sr > .vl-st:last-child:nth-child(odd) { grid-column:1 / -1; }
  .vl-chart svg { margin:0 auto; }
  .vl-jr { padding:0 0 0 22px !important; }
  .vl-jr::before { top:0; bottom:0; left:0; right:auto; width:4px; height:auto; }
  .vl-jr-stage { padding:0 0 22px !important; }
  .vl-fw { gap:16px !important; padding-left:8px; }
  .vl-fw::before, .vl-fw::after { display:none; }
  .vl-fs .elementor-heading-title { display:flex; gap:12px; align-items:center; text-align:left !important; }
  .vl-fs .elementor-heading-title::before { margin:0; flex:none; }
  .vl-vis > .vl-vis-logo { top:88px; width:96px !important; height:48px; left:12px; }
  .vl-ctas > .elementor-widget-button, .vl-ctas .elementor-button { width:100%; justify-content:center; }
  .vl-mini { grid-template-columns:1fr !important; }
  .vl-chips .elementor-icon-list-items, .vl-table-tabs .elementor-icon-list-items, .vl-chart-tabs .elementor-icon-list-items { flex-wrap:nowrap !important; overflow-x:auto; }
  .vl-chips li, .vl-table-tabs li, .vl-chart-tabs li { flex:none; }
  .vl-an { row-gap:26px !important; }
  .vl-kv > .vl-kv-cell, .vl-kv > .vl-kv-cell:nth-child(n) { border-right:0 !important; }
}
@media (prefers-reduced-motion:reduce) {
  .vl-evt *, .vl-evt *::before, .vl-evt *::after { animation:none !important; transition:none !important; }
  .vl-js .vl-rv { opacity:1; transform:none; }
  .vl-fw::after { transform:none !important; }
}
/* "Last Updated:" links to the data update frequency page (highlighted) */
.vl-lu-l a { display:inline-block; color:#0E7A3F !important; background:#E7F7EE; font-weight:600; padding:1px 7px; border-radius:5px; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; transition:background .15s ease; }
.vl-lu-l a:hover, .vl-lu-l a:focus-visible { background:#D3F0DF; text-decoration-thickness:2px; }
/* Snapshot facts: the card matches the About panel's height and every row gets an equal share (no single stretched row). */
.vl-snap > .vl-kv { align-self:stretch !important; grid-template-rows:none !important; grid-auto-rows:1fr !important; align-content:stretch !important; }
.vl-snap > .vl-kv > .vl-kv-cell { height:auto !important; justify-content:center !important; }
.vl-chart.is-hover .vl-seg.is-on { opacity:1; }
