/* ============================================================
   CSS VARIABLES
   ============================================================ */
:root {
	--vt-bg:          #0a0a0a;
	--vt-bg-card:     #141414;
	--vt-bg-card-2:   #1c1c1c;
	--vt-text:        #ffffff;
	--vt-text-muted:  rgba(255,255,255,0.55);
	--vt-accent:      #e96656;
	--vt-border:      rgba(255,255,255,0.10);
	--vt-radius:      8px;
}

/* ============================================================
   GLOBAL DARK THEME
   ============================================================ */
html, body {
	background-color: var(--vt-bg) !important;
	color: var(--vt-text) !important;
}

/* Neve wrappers */
.nv-content-wrap,
.nv-single-page-wrap,
.entry-content,
.wp-site-blocks,
main#content,
.single-page-container {
	background-color: var(--vt-bg) !important;
	color: var(--vt-text) !important;
}

/* Links */
a { color: var(--vt-text); }
a:hover { color: var(--vt-accent); }

/* Headings */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	color: var(--vt-text) !important;
}

p, li, span, td, th, label { color: var(--vt-text-muted); }

/* ============================================================
   FLOATING HEADER — always-on dark glass overlay
   ============================================================ */

.hfg_header.site-header {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 9999;
	/* Fully transparent until user scrolls */
	background: transparent !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom: 1px solid transparent;
	transition: background 0.35s ease, backdrop-filter 0.35s ease, border-color 0.35s ease;
	padding: 0 !important;
}

/* Dark glass appears once scrolled */
.hfg_header.site-header.vt-scrolled {
	background: rgba(4, 4, 4, 0.80) !important;
	backdrop-filter: blur(22px) saturate(160%) !important;
	-webkit-backdrop-filter: blur(22px) saturate(160%) !important;
	border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}

/* Null out every Neve row/slot background — their inline CSS vars inject white */
.hfg_header .header--row,
.hfg_header .header-main,
.hfg_header .header-bottom,
.hfg_header .header--row-inner,
.hfg_header .header-main-inner,
.hfg_header.site-header .hfg-row,
.hfg_header.site-header .row--wrapper,
.hfg_header.site-header .hfg-grid,
.hfg_header.site-header .hfg-slot,
.hfg_header.site-header .builder-item {
	background: transparent !important;
	background-color: transparent !important;
	--bgcolor: transparent !important;
	--rowbcolor: transparent !important;
}

/* Row height + vertical alignment */
.hfg_header .hfg-row.row {
	min-height: 72px !important;
}
/* The actual flex container that holds left/right slots */
.hfg_header .row--wrapper,
.hfg_header .hfg-grid {
	display: flex !important;
	align-items: center !important;
}
/* Both slots stretch to full row height; vertically center their content */
.hfg_header .hfg-slot {
	display: flex !important;
	align-items: center !important;
}
.hfg_header .builder-item {
	display: flex !important;
	align-items: center !important;
}
/* Logo: stack image + tagline vertically */
.hfg_header .builder-item--logo .item--inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
}
/* Nav group keeps its horizontal flex + slight downward shift to
   align visually with the logo image centre (logo has 10px top padding) */
.hfg_header .builder-item--primary-menu {
	flex-direction: row !important;
}
.hfg_header .hfg-slot.right {
	padding-top: 10px !important;
	align-items: center !important;
}

/* Inner pages: push content below the fixed header */
body:not(.admin-bar) { padding-top: var(--header-height, 72px); }
/* Hero page: header floats over full-bleed video */
body.page-template-page-home:not(.admin-bar) { padding-top: 0; }
body.admin-bar .hfg_header.site-header { top: 32px; }
@media screen and (max-width: 782px) {
	body.admin-bar .hfg_header.site-header { top: 46px; }
}

/* ── Nav links — white, tight spacing
 * Neve injects --spacing: 20px inline; we override it here plus target li directly.
 * ── */
.hfg_header .builder-item--primary-menu {
	--color: #ffffff !important;
	--hovercolor: #ffffff !important;
	--hovertextcolor: #ffffff !important;
	--activecolor: #ffffff !important;
	--spacing: 2px !important;
	flex-direction: row !important;
}
/* Kill the li-level gap Neve sets via --spacing */
.hfg_header .primary-menu-ul > li,
.hfg_header .nav-ul > li {
	padding: 0 !important;
	margin: 0 !important;
}

/* Dropdown-parent items (e.g. Insights) — caret and span must match other links */
.hfg_header .menu-item-has-children .wrap > a,
.hfg_header .menu-item-has-children .wrap .menu-item-title-wrap,
.hfg_header .menu-item-has-children .wrap .dd-title {
	color: #ffffff !important;
}
.hfg_header .caret-wrap,
.hfg_header .caret-wrap .caret,
.hfg_header .caret-wrap svg {
	color: #ffffff !important;
	fill: #ffffff !important;
}
.hfg_header .caret-wrap button,
.hfg_header button.caret-wrap {
	background: transparent !important;
	border: none !important;
	color: #ffffff !important;
	padding: 0 !important;
}

.hfg_header .primary-menu-ul li .wrap a,
.hfg_header .nav-ul li .wrap a,
.hfg_header .nav-menu-item .wrap a,
.hfg_header .nav-menu-item > a,
.hfg_header .nav-menu > li > a {
	color: #ffffff !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	padding: 8px 10px !important;
	text-decoration: none !important;
	opacity: 1 !important;
	transition: color 0.18s !important;
}

.hfg_header .primary-menu-ul li .wrap a:hover,
.hfg_header .nav-ul li .wrap a:hover,
.hfg_header .nav-menu-item .wrap a:hover,
.hfg_header .nav-menu > li.current-menu-item .wrap a {
	opacity: 1 !important;
	color: var(--vt-accent) !important;
}

/* Submenu */
.hfg_header .sub-menu {
	background: rgba(5,5,5,0.96) !important;
	backdrop-filter: blur(16px) !important;
	border: 1px solid rgba(255,255,255,0.08) !important;
	border-radius: 8px !important;
	padding: 6px 0 !important;
	box-shadow: 0 16px 40px rgba(0,0,0,0.7) !important;
}
.hfg_header .sub-menu a {
	font-size: 11px !important;
	letter-spacing: 0.08em !important;
	padding: 10px 20px !important;
	color: rgba(255,255,255,0.75) !important;
	opacity: 1 !important;
}
.hfg_header .sub-menu a:hover {
	color: #fff !important;
	background: rgba(255,255,255,0.07) !important;
}

/* ── "Pitch Us" CTA pill — targeted by both class and menu-item ID ── */
.hfg_header .nav-menu li.vt-nav-cta .wrap a,
.hfg_header .nav-menu li.vt-nav-cta > a,
#menu-item-641 .wrap a {
	background: var(--vt-accent) !important;
	color: #fff !important;
	border-radius: 6px !important;
	padding: 9px 22px !important;
	font-size: 11px !important;
	letter-spacing: 0.12em !important;
	font-weight: 700 !important;
	margin-left: 12px !important;
	opacity: 1 !important;
	transition: background 0.2s, transform 0.15s, box-shadow 0.2s !important;
	box-shadow: 0 2px 14px rgba(233,102,86,0.35) !important;
}
.hfg_header .nav-menu li.vt-nav-cta .wrap a:hover,
#menu-item-641 .wrap a:hover {
	background: #d4534a !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 20px rgba(233,102,86,0.5) !important;
}

/* ── "Join Us" — solid red pill, same style as Pitch Us ── */
li#menu-item-1150 > .wrap > a,
li#menu-item-1150 > .wrap > a:visited,
.hfg_header .nav-menu li.vt-nav-joinus .wrap a {
	background: var(--vt-accent) !important;
	color: #fff !important;
	border-radius: 6px !important;
	padding: 9px 22px !important;
	font-size: 11px !important;
	letter-spacing: 0.12em !important;
	font-weight: 700 !important;
	margin-left: 12px !important;
	opacity: 1 !important;
	transition: background 0.2s, transform 0.15s, box-shadow 0.2s !important;
	box-shadow: 0 2px 14px rgba(233,102,86,0.35) !important;
	cursor: default !important;
	text-decoration: none !important;
}
li#menu-item-1150:hover > .wrap > a,
.hfg_header .nav-menu li.vt-nav-joinus:hover .wrap a {
	background: #d4534a !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 20px rgba(233,102,86,0.5) !important;
}

/* ── Insights: default cursor on non-navigable parent only ── */
#menu-item-307 > .wrap > a,
#menu-item-1150 > .wrap > a {
	cursor: default !important;
}

/* Logo */
.site-title a, .site-title a:visited { color: #fff !important; font-weight: 700 !important; }

/* Logo PNG has transparent background; brightness(0) invert(1) renders black
 * artwork as white on the dark navbar. */
.site-logo img,
.neve-site-logo,
.custom-logo {
	filter: brightness(0) invert(1) !important;
	mix-blend-mode: normal !important;
	max-height: 44px !important;
	width: auto !important;
	display: block !important;
}

/* Slogan injected below logo */
.vt-site-tagline {
	font-family: 'Poppins', sans-serif !important;
	font-size: 8.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0.07em !important;
	text-transform: uppercase !important;
	color: rgba(255,255,255,0.45) !important;
	margin: 2px 0 0 !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
}

/* ── Mobile hamburger button — transparent, white icon bars ── */
.hfg_header button.navbar-toggle,
.hfg_header .navbar-toggle,
.hfg_header .builder-item--nav-icon button,
.hfg_header [data-item-id="nav-icon"] button,
.hfg_header .navbar-toggle-wrapper button {
	background: transparent !important;
	background-color: transparent !important;
	--bgcolor: transparent !important;
	--primarybtnbg: transparent !important;
	--primarybtnhoverbg: transparent !important;
	border: none !important;
	border-width: 0 !important;
	--borderwidth: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	padding: 8px !important;
	/* color drives currentColor → icon-bar background + SVG fill */
	color: #ffffff !important;
	--color: #ffffff !important;
}

/* .bars is the WRAPPER — transparent. .icon-bar spans are the actual bar lines. */
.hfg_header .navbar-toggle .bars {
	background: transparent !important;
	background-color: transparent !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 3px !important;
}
/* Icon bars: use currentColor (white from the button color above) */
.hfg_header .navbar-toggle .icon-bar {
	background-color: currentColor !important;
	width: 18px !important;
	height: 2px !important;
	display: block !important;
}

/* Hamburger-box (non-default icon style) */
.hfg_header .hamburger-inner,
.hfg_header .hamburger-inner::before,
.hfg_header .hamburger-inner::after {
	background-color: #ffffff !important;
}

/* Nav icon wrapper — transparent, no border box */
.hfg_header .builder-item--nav-icon .item--inner,
.hfg_header .builder-item--nav-icon .menu-mobile-toggle,
.hfg_header .builder-item--nav-icon .navbar-toggle-wrapper {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
}

/* ── Sidebar menu caret/arrow SVGs — must be white on dark bg ── */
/* The .caret SVG uses fill:currentColor, inheriting --color.
   Force white for all carets inside the dark sidebar panel. */
.header-menu-sidebar .nav-ul .caret,
.header-menu-sidebar .nav-ul .caret-wrap,
.header-menu-sidebar .nav-ul .caret svg {
	color: rgba(255,255,255,0.7) !important;
	fill: rgba(255,255,255,0.7) !important;
	stroke: rgba(255,255,255,0.7) !important;
}
.header-menu-sidebar .nav-ul a,
.header-menu-sidebar .nav-ul li,
.header-menu-sidebar .nav-ul .wrap {
	color: rgba(255,255,255,0.85) !important;
	--color: rgba(255,255,255,0.85) !important;
	--hovercolor: #ffffff !important;
}

/* ── Header search icon — white SVG ── */
.hfg_header .nv-icon svg,
.hfg_header .nv-search-icon-wrap svg,
.hfg_header .nv-icon path {
	fill: #ffffff !important;
	color: #ffffff !important;
}
/* Slide-in sidebar — target both the outer shell and the inner bg div that Neve
   injects with --bgcolor:#ffffff via inline customizer CSS */
.hfg_header .header-menu-sidebar,
#header-menu-sidebar,
.hfg_header .header-menu-sidebar-bg,
#header-menu-sidebar-bg,
.hfg_header .header-menu-sidebar-inner,
#header-menu-sidebar-inner {
	background: #0a0a0a !important;
	background-color: #0a0a0a !important;
	--bgcolor: #0a0a0a !important;
}
.hfg_header .header-menu-sidebar a,
.hfg_header .header-menu-sidebar-bg a {
	color: rgba(255,255,255,0.8) !important;
	font-size: 13px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}
.hfg_header .header-menu-sidebar .close-sidebar-panel button {
	background: transparent !important;
	border: none !important;
	color: rgba(255,255,255,0.6) !important;
}
/* Remove white overlay that appears during sidebar slide animation */
.header-menu-sidebar-overlay,
.nv-overlay {
	background: rgba(0,0,0,0.6) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.hfg_footer,
.hfg_footer .hfg-grid,
.hfg_footer .nv-footer-content {
	background-color: #050505 !important;
}

.hfg_footer a, .hfg_footer p, .hfg_footer span, .hfg_footer li {
	color: var(--vt-text-muted) !important;
}

.hfg_footer a:hover { color: var(--vt-text) !important; }

/* ============================================================
   GENERIC PAGE / BLOG SINGLE / CONTACT
   ============================================================ */
.nv-content-wrap > .container,
.neve-main,
.neve-main > article,
.neve-main > div,
.wp-block-group,
.entry-content > *:not([class*="elementor"]) {
	background-color: transparent !important;
}

/* Gutenberg blocks on dark pages */
.wp-block-paragraph, .wp-block-list { color: var(--vt-text-muted) !important; }
.wp-block-separator { border-color: var(--vt-border) !important; }
.wp-element-button, .wp-block-button__link {
	background-color: var(--vt-accent) !important;
	color: #fff !important;
	border-radius: 4px;
}

/* Forms on dark pages */
input[type="text"], input[type="email"], input[type="url"],
textarea, select, .wpforms-field-large input,
.wpforms-field input, .wpforms-field textarea {
	background: #1a1a1a !important;
	border: 1px solid var(--vt-border) !important;
	color: var(--vt-text) !important;
	border-radius: 4px;
}

input::placeholder, textarea::placeholder { color: var(--vt-text-muted) !important; }

/* WPForms submit */
.wpforms-submit, button[type="submit"],
input[type="submit"] {
	background: var(--vt-accent) !important;
	color: #fff !important;
	border: none !important;
}

/* ============================================================
   BLOG ARCHIVE — Dark Cards
   ============================================================ */

/* Override Neve's inline CSS variables for blog card colors */
.nv-index-posts {
	--cardbgcolor: var(--vt-bg-card) !important;
	--cardcolor: var(--vt-text) !important;
}

/* Force a clean 3-column grid on desktop */
.blog .articles-wrap,
.archive .articles-wrap {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
	gap: 24px !important;
	padding: 0 !important;
}

.blog .nv-index-posts article,
.archive .nv-index-posts article,
.blog .articles-wrap article,
.archive .articles-wrap article {
	background: var(--vt-bg-card) !important;
	border: 1px solid var(--vt-border) !important;
	border-radius: var(--vt-radius) !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	margin: 0 !important;
	width: 100% !important;
}

.blog .entry-title a,
.archive .entry-title a,
.blog .nv-post-title a,
.archive .nv-post-title a,
.blog .blog-entry-title a,
.archive .blog-entry-title a {
	color: var(--vt-text) !important;
	font-size: 18px !important;
	line-height: 1.3 !important;
}

.blog .entry-title a:hover,
.archive .entry-title a:hover { color: var(--vt-accent) !important; }

.blog .nv-post-thumbnail-wrap img,
.archive .nv-post-thumbnail-wrap img,
.blog .post-thumbnail img,
.archive .post-thumbnail img {
	width: 100% !important;
	height: 200px !important;
	object-fit: cover !important;
	display: block !important;
}

.blog .content-col,
.archive .content-col,
.blog .entry-content-wrap,
.archive .entry-content-wrap {
	padding: 20px !important;
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
}

.blog .entry-summary p,
.archive .entry-summary p,
.blog .entry-summary,
.archive .entry-summary {
	color: var(--vt-text-muted) !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 3 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

.blog .more-link,
.archive .more-link,
a.nv-read-more {
	display: inline-block;
	margin-top: auto;
	padding: 8px 20px;
	background: transparent;
	color: var(--vt-accent) !important;
	border: 1px solid var(--vt-accent);
	border-radius: 4px;
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: background 0.2s, color 0.2s;
}
.blog .more-link:hover, .archive .more-link:hover {
	background: var(--vt-accent) !important;
	color: #fff !important;
}

/* Blog meta (date, author) */
.nv-post-meta span, .nv-post-meta a,
.entry-meta, .entry-meta a,
.nv-meta-list li, .nv-meta-list li a,
.nv-meta-list li span {
	color: var(--vt-text-muted) !important;
	font-size: 12px !important;
}

/* Blog archive page wrapper */
.blog .neve-main,
.archive .neve-main,
.blog .archive-container,
.archive .archive-container {
	background: transparent !important;
}

/* Blog page header / archive title */
.blog .nv-page-title-wrap h1,
.archive .nv-page-title-wrap h1,
.blog .page-title,
.archive .page-title {
	color: var(--vt-text) !important;
}

/* ============================================================
   GENERAL PAGE CONTENT — About Us and other pages
   ============================================================ */

/* Force dark background on all page containers */
body.page .neve-main,
body.page .nv-content-wrap,
body.page .container,
body.page .entry-content,
body.page .nv-single-page-wrap {
	background: transparent !important;
	background-color: transparent !important;
}

/* Page content text */
body.page .entry-content p,
body.page .entry-content li,
body.page .entry-content td,
body.page .entry-content span:not([class*="elementor"]):not([class*="vt"]) {
	color: rgba(255,255,255,0.80) !important;
}

body.page .entry-content h1,
body.page .entry-content h2,
body.page .entry-content h3,
body.page .entry-content h4 {
	color: #ffffff !important;
}

body.page .entry-content a:not(.wp-element-button) {
	color: var(--vt-accent) !important;
}

body.page .entry-content strong,
body.page .entry-content b {
	color: #ffffff !important;
}

/* Page title header area */
body.page .nv-page-title-wrap h1,
body.page .nv-title-meta-wrap h1 {
	color: #ffffff !important;
}

/* ============================================================
   CONTACT PAGE — dark form
   ============================================================ */
body.page-id-31 .neve-main,
body.page-id-31 .entry-content,
.vt-contact-wrap { background: transparent !important; }

/* Elementor contact form */
body.page-id-31 form,
body.page-id-31 .elementor-form,
.vt-contact-form { max-width: 680px; margin: 0 auto; }

body.page-id-31 fieldset,
body.page-id-31 .elementor-form-fields-wrapper {
	border: none !important;
	padding: 0 !important;
	margin-bottom: 20px !important;
}

body.page-id-31 label,
body.page-id-31 .elementor-form label {
	color: rgba(255,255,255,0.70) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	display: block !important;
	margin-bottom: 6px !important;
}

body.page-id-31 input[type="text"],
body.page-id-31 input[type="email"],
body.page-id-31 textarea,
body.page-id-31 .elementor-field {
	background: #141414 !important;
	background-color: #141414 !important;
	border: 1px solid rgba(255,255,255,0.15) !important;
	border-radius: 8px !important;
	color: #ffffff !important;
	padding: 14px 16px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 14px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s !important;
}

body.page-id-31 input[type="text"]:focus,
body.page-id-31 input[type="email"]:focus,
body.page-id-31 textarea:focus {
	border-color: var(--vt-accent) !important;
	outline: none !important;
}

body.page-id-31 textarea { min-height: 140px !important; resize: vertical !important; }

body.page-id-31 button[type="submit"],
body.page-id-31 input[type="submit"],
body.page-id-31 .elementor-button {
	background: var(--vt-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 14px 36px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: background 0.2s, transform 0.15s !important;
}

body.page-id-31 button[type="submit"]:hover,
body.page-id-31 .elementor-button:hover {
	background: #d4534a !important;
	transform: translateY(-1px) !important;
}

/* Contact page hero text */
body.page-id-31 h1 { color: #ffffff !important; }
body.page-id-31 p { color: rgba(255,255,255,0.65) !important; }

/* ============================================================
   SINGLE POST + BLOG ARCHIVE — full white text on dark bg
   ============================================================ */
.single-post .neve-main,
.single-post .entry-content,
.page .neve-main,
.page .entry-content {
	background: transparent !important;
}

/* ── Post content text ── */
.single .entry-content,
.single .entry-content p,
.single .entry-content li,
.single .entry-content td,
.single .entry-content th,
.single .entry-content blockquote,
.single .entry-content cite,
.single .entry-content figcaption,
.single .entry-content label {
	color: rgba(255,255,255,0.82) !important;
}

.single .entry-content h1,
.single .entry-content h2,
.single .entry-content h3,
.single .entry-content h4,
.single .entry-content h5,
.single .entry-content h6 {
	color: #ffffff !important;
}

.single .entry-content a {
	color: var(--vt-accent) !important;
}

.single .entry-content strong,
.single .entry-content b {
	color: #ffffff !important;
}

/* ── Post title + cover area ── */
.single .entry-title,
.single h1.entry-title,
.nv-post-cover h1,
.nv-post-cover .entry-title,
.nv-page-title-wrap h1,
.nv-page-title-wrap h2 {
	color: #ffffff !important;
}

.nv-post-cover,
.nv-post-cover .nv-title-meta-wrap,
.nv-post-cover .entry-header {
	background: rgba(0,0,0,0.55) !important;
}

/* ── Post meta (date, author, category, tags row) ── */
.single .nv-meta-list,
.single .nv-meta-list *,
.single .nv-meta-list a,
.single .entry-meta,
.single .entry-meta *,
.single .entry-meta a,
.single .posted-on,
.single .byline,
.single .cat-links a,
.single .tags-links a {
	color: rgba(255,255,255,0.55) !important;
}
.single .cat-links a:hover,
.single .tags-links a:hover { color: var(--vt-accent) !important; }

/* ── Sidebar ── */
.nv-sidebar-wrap .widget {
	background: var(--vt-bg-card) !important;
	border: 1px solid var(--vt-border) !important;
	border-radius: var(--vt-radius) !important;
	padding: 20px !important;
	margin-bottom: 24px !important;
}

.nv-sidebar-wrap .widget-title,
.nv-sidebar-wrap .widget-title * {
	color: #ffffff !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	border-bottom: 1px solid var(--vt-border) !important;
	padding-bottom: 12px !important;
	margin-bottom: 14px !important;
}

/* Recent posts widget */
.widget_recent_entries ul,
.widget_recent_entries li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.widget_recent_entries li { padding: 8px 0 !important; border-bottom: 1px solid var(--vt-border) !important; }
.widget_recent_entries li:last-child { border-bottom: none !important; }
.widget_recent_entries li a,
.widget_recent_entries li a:visited {
	color: rgba(255,255,255,0.80) !important;
	font-size: 13px !important;
	text-decoration: none !important;
	line-height: 1.45 !important;
}
.widget_recent_entries li a:hover { color: var(--vt-accent) !important; }
.widget_recent_entries .post-date { color: rgba(255,255,255,0.38) !important; font-size: 11px !important; display: block !important; margin-top: 3px !important; }

/* Categories widget */
.widget_categories ul,
.widget_categories li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.widget_categories li { padding: 6px 0 !important; border-bottom: 1px solid var(--vt-border) !important; display: flex !important; justify-content: space-between !important; }
.widget_categories li:last-child { border-bottom: none !important; }
.widget_categories li a { color: rgba(255,255,255,0.78) !important; font-size: 13px !important; text-decoration: none !important; }
.widget_categories li a:hover { color: var(--vt-accent) !important; }
.widget_categories .cat-count { color: rgba(255,255,255,0.35) !important; font-size: 11px !important; }

/* Tag cloud */
.widget_tag_cloud .tag-cloud-link,
.tagcloud a {
	color: rgba(255,255,255,0.70) !important;
	background: rgba(255,255,255,0.06) !important;
	border: 1px solid var(--vt-border) !important;
	border-radius: 4px !important;
	padding: 3px 10px !important;
	font-size: 12px !important;
	text-decoration: none !important;
	display: inline-block !important;
	margin: 3px 2px !important;
}
.widget_tag_cloud .tag-cloud-link:hover { color: var(--vt-accent) !important; border-color: var(--vt-accent) !important; }

/* Comments — existing comments list */
.comments-area { color: rgba(255,255,255,0.80) !important; }
.comments-area h2,
.comments-area .comments-title { color: #fff !important; }
.comment-content p { color: rgba(255,255,255,0.80) !important; }
.comment-author .fn,
.comment-author .fn a { color: #fff !important; }
.comment-metadata,
.comment-metadata a,
.comment-metadata time { color: rgba(255,255,255,0.40) !important; }

/* ── Leave a Reply — complete dark-mode comment form ── */
.comment-respond {
	background: #111111 !important;
	border: 1px solid rgba(255,255,255,0.08) !important;
	border-radius: 12px !important;
	padding: 32px !important;
	margin-top: 32px !important;
}
.comment-respond .comment-reply-title,
.comment-respond h3 {
	color: #ffffff !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	margin-bottom: 16px !important;
}
.comment-respond .comment-reply-title a,
.comment-respond .comment-reply-title small a {
	color: var(--vt-accent) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
}
.comment-form .comment-notes,
.comment-form p.comment-notes {
	color: rgba(255,255,255,0.45) !important;
	font-size: 12px !important;
	margin-bottom: 20px !important;
}
.comment-form label {
	color: rgba(255,255,255,0.75) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	display: block !important;
	margin-bottom: 5px !important;
}
.comment-form .required {
	color: var(--vt-accent) !important;
}
/* Override Neve CSS variables for form fields inside comment respond */
.comment-respond {
	--formfieldbgcolor: #1a1a1a !important;
	--formfieldcolor: #ffffff !important;
	--formfieldbordercolor: rgba(255,255,255,0.15) !important;
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea,
#commentform input[type="text"],
#commentform input[type="email"],
#commentform input[type="url"],
#commentform textarea {
	background: #1a1a1a !important;
	background-color: #1a1a1a !important;
	color: #ffffff !important;
	border: 1px solid rgba(255,255,255,0.15) !important;
	border-radius: 6px !important;
	padding: 10px 14px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 14px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s !important;
}
.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form input[type="url"]:focus,
.comment-form textarea:focus,
#commentform input:focus,
#commentform textarea:focus {
	outline: none !important;
	border-color: rgba(255,255,255,0.35) !important;
	background: #222222 !important;
}
.comment-form .form-submit .submit,
#commentform .submit {
	background: var(--vt-accent) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 11px 28px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	cursor: pointer !important;
	transition: background 0.2s !important;
}
.comment-form .form-submit .submit:hover,
#commentform .submit:hover {
	background: #d4534a !important;
}
.comment-form-cookies-consent label {
	color: rgba(255,255,255,0.45) !important;
	font-size: 12px !important;
	text-transform: none !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}

/* Pagination */
.nv-pagination a,
.nv-pagination span,
.page-links a { color: rgba(255,255,255,0.65) !important; border-color: var(--vt-border) !important; }
.nv-pagination .current,
.page-links .current { background: var(--vt-accent) !important; color: #fff !important; }

/* ============================================================
   PAGE TITLE AREA
   ============================================================ */
.nv-page-title-wrap,
.nv-page-title {
	background: var(--vt-bg) !important;
	color: var(--vt-text) !important;
}

/* ============================================================
   HOME PAGE TEMPLATE
   ============================================================ */

/* ── Hero ── */
.vt-hero {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 600px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #000;
}

.vt-hero video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	z-index: 0;
}

.vt-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom,
		rgba(10,10,10,0.55) 0%,
		rgba(10,10,10,0.45) 60%,
		rgba(10,10,10,0.85) 100%);
	z-index: 1;
}

.vt-hero-content {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 0 24px;
	max-width: 900px;
}

.vt-hero-content h1 {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(42px, 7vw, 88px);
	font-weight: 700;
	color: #fff !important;
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 0 0 20px;
}

.vt-hero-content p {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(16px, 2.2vw, 22px);
	color: rgba(255,255,255,0.75);
	margin: 0 0 36px;
	line-height: 1.5;
}

.vt-btn {
	display: inline-block;
	padding: 14px 36px;
	background: var(--vt-accent);
	color: #fff !important;
	border-radius: 4px;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-decoration: none !important;
	transition: background 0.2s, transform 0.2s;
	margin: 0 8px 12px;
}
.vt-btn:hover { background: #d4534a; transform: translateY(-2px); }
.vt-btn.outline {
	background: transparent;
	border: 1px solid rgba(255,255,255,0.5);
}
.vt-btn.outline:hover {
	background: rgba(255,255,255,0.1);
	border-color: #fff;
}

/* ── Marquee — colorful logos on white pills, dark background ── */
.vt-marquee-section {
	padding: 52px 0;
	background: #080808;
	border-top: 1px solid rgba(255,255,255,0.05);
	border-bottom: 1px solid rgba(255,255,255,0.05);
	overflow: hidden;
	/* Contain wide marquee track so it doesn't expand body width on mobile */
	contain: layout;
}

.vt-marquee-label {
	text-align: center;
	font-family: 'Poppins', sans-serif;
	font-size: clamp(28px, 4vw, 52px);
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 36px;
	line-height: 1.15;
}

.vt-marquee-track {
	-webkit-mask-image: linear-gradient(to right, transparent 0%, black 7%, black 93%, transparent 100%);
	mask-image: linear-gradient(to right, transparent 0%, black 7%, black 93%, transparent 100%);
	overflow: hidden;
}

.vt-marquee-row {
	display: flex;
	align-items: center;
	animation: vt-marquee-scroll 38s linear infinite;
	white-space: nowrap;
	flex-shrink: 0;
}
.vt-marquee-row:hover { animation-play-state: paused; }

@keyframes vt-marquee-scroll {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* White pill — makes every logo visible regardless of its own colour */
.vt-marquee-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border-radius: 12px;
	padding: 14px 24px;
	margin: 0 10px;
	height: 90px;
	width: 188px;
	flex-shrink: 0;
	box-shadow: 0 3px 20px rgba(0,0,0,0.32);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
	overflow: hidden;
}
.vt-marquee-logo:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 32px rgba(0,0,0,0.52);
}

/* Let each logo fill as much of the pill as it can — no fixed pixel lockdown */
.vt-marquee-logo img {
	max-height: 54px;
	max-width: 140px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

/* ── Stats section ── */
.vt-stats-section {
	padding: 80px 48px;
	text-align: center;
	background: var(--vt-bg);
}

.vt-stats-section h2 {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 700;
	color: var(--vt-text) !important;
	margin: 0 0 60px;
}

.vt-stats-grid {
	display: flex;
	justify-content: center;
	gap: 80px;
	flex-wrap: wrap;
}

.vt-stat-item { text-align: center; }

.vt-stat-item .num {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: clamp(52px, 7vw, 80px);
	font-weight: 700;
	color: var(--vt-text) !important;
	line-height: 1;
}

.vt-stat-item .lbl {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--vt-text-muted);
	margin-top: 10px;
}

/* ── Insights — auto-scroll carousel ── */
.vt-insights-section {
	padding: 80px 0;
	background: #060606;
	overflow: hidden;
	/* Contain wide carousel track so it doesn't expand body width on mobile */
	contain: layout;
}

.vt-insights-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 0 48px;
	margin-bottom: 40px;
}

.vt-insights-header h2 {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(26px, 3.5vw, 40px);
	font-weight: 700;
	color: var(--vt-text) !important;
	margin: 0;
}

.vt-insights-header a {
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	font-weight: 700;
	color: var(--vt-accent);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

/* Carousel track */
.vt-carousel-viewport {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
	mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
}

.vt-carousel-track {
	display: flex;
	gap: 0;
	animation: vt-carousel-scroll 40s linear infinite;
}
.vt-carousel-track:hover { animation-play-state: paused; }

@keyframes vt-carousel-scroll {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* Individual card — fixed width so they align perfectly */
.vt-post-card {
	flex: 0 0 360px;
	width: 360px;
	margin: 0 12px;
	background: var(--vt-bg-card);
	border: 1px solid var(--vt-border);
	border-radius: var(--vt-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 440px; /* fixed height for uniform alignment */
	transition: border-color 0.2s, box-shadow 0.2s;
}
.vt-post-card:hover {
	border-color: rgba(255,255,255,0.2);
	box-shadow: 0 12px 36px rgba(0,0,0,0.5);
}

.vt-post-card a { text-decoration: none !important; color: inherit; display: flex; flex-direction: column; height: 100%; }

.vt-post-card-image {
	flex-shrink: 0;
	height: 200px;
	overflow: hidden;
}

.vt-post-card img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
}

.vt-post-card-body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.vt-post-category {
	font-family: 'Poppins', sans-serif;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.10em;
	color: var(--vt-accent);
	margin-bottom: 10px;
	flex-shrink: 0;
}

.vt-post-title {
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: var(--vt-text) !important;
	line-height: 1.4;
	/* Always occupy exactly 2 lines so description + date align across all cards */
	min-height: calc(1.4em * 2);
	margin-bottom: 12px;
	flex-shrink: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.vt-post-excerpt {
	font-size: 13px;
	color: var(--vt-text-muted);
	line-height: 1.65;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex: 1;
}

/* Date pinned to bottom */
.vt-post-meta {
	font-size: 11px;
	font-family: 'Poppins', sans-serif;
	color: var(--vt-text-muted);
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--vt-border);
	letter-spacing: 0.04em;
	flex-shrink: 0;
}

/* ── CTA banner ── */
.vt-cta-section {
	padding: 100px 48px;
	text-align: center;
	background: var(--vt-bg);
	border-top: 1px solid var(--vt-border);
}

.vt-cta-section h2 {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(28px, 4vw, 52px);
	font-weight: 700;
	color: var(--vt-text) !important;
	margin: 0 0 16px;
}

.vt-cta-section p {
	font-size: 18px;
	color: var(--vt-text-muted);
	margin: 0 0 36px;
}

/* ============================================================
   PORTFOLIO PAGE — dark
   ============================================================ */
.vt-portfolio-wrap {
	width: 100%;
	padding: 0 0 80px;
	background: var(--vt-bg);
}

.vt-portfolio-hero {
	padding: 80px 48px 60px;
	text-align: center;
}

.vt-portfolio-hero h1 {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(38px, 5vw, 64px);
	font-weight: 700;
	color: var(--vt-text) !important;
	margin: 0 0 12px;
}

.vt-portfolio-hero h1 span.vt-gold {
	color: #c9a84c;
}

.vt-portfolio-hero p {
	font-size: 18px;
	color: var(--vt-text-muted);
	margin: 0;
}

/* Filter toggle — hidden (removed from template) */
.vt-filter-bar { display: none !important; }

/* Stats bar */
.vt-stats-bar {
	display: flex;
	justify-content: center;
	gap: 60px;
	margin: 0 auto 48px;
	flex-wrap: wrap;
	padding: 32px 48px;
	background: var(--vt-bg-card);
	border-top: 1px solid var(--vt-border);
	border-bottom: 1px solid var(--vt-border);
}

.vt-stat { text-align: center; }

.vt-stat-num {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 48px;
	font-weight: 700;
	color: var(--vt-text) !important;
	line-height: 1;
}

.vt-stat-label {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	color: var(--vt-text-muted);
	margin-top: 6px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

/* Stats bar dividers */
.vt-stat-divider {
	width: 1px;
	height: 40px;
	background: var(--vt-border);
	align-self: center;
}

/* Card grid */
.vt-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
	padding: 0 40px;
	max-width: 1400px;
	margin: 0 auto;
}

/* Card */
.vt-card {
	position: relative;
	background: var(--vt-bg-card);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 16px 16px;
	cursor: pointer;
	min-height: 340px;
	gap: 10px;
	overflow: hidden;
	transition: border-color .2s, transform .2s, box-shadow .2s;
}

.vt-card:hover {
	border-color: rgba(255,255,255,0.2);
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0,0,0,0.5);
}

/* Card face */
.vt-card-face {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	position: relative;
	z-index: 1;
}

/* White logo container */
.vt-card-logo-wrap {
	width: 100%;
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border-radius: 8px;
	padding: 12px;
	box-sizing: border-box;
}

.vt-card-logo-wrap img {
	max-width: 100%;
	max-height: 160px;
	object-fit: contain;
	display: block;
	filter: none !important;
}

.vt-card-name {
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--vt-text);
	text-align: center;
	padding: 10px 8px 0;
}

/* Hover overlay */
.vt-card-overlay {
	position: absolute;
	inset: 0;
	background: rgba(10,10,10,0.97);
	border-radius: 12px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	opacity: 0;
	transition: opacity .22s ease;
	pointer-events: none;
	z-index: 2;
}

.vt-card:hover .vt-card-overlay {
	opacity: 1;
	pointer-events: all;
}

.vt-overlay-name {
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	font-family: 'Poppins', sans-serif;
}

.vt-overlay-sector {
	font-size: 10px;
	font-weight: 600;
	background: rgba(233,102,86,0.15);
	color: var(--vt-accent);
	border-radius: 20px;
	padding: 3px 10px;
	display: inline-block;
	margin-top: 6px;
	letter-spacing: .04em;
}

.vt-overlay-desc {
	font-size: 12px;
	color: rgba(255,255,255,0.65);
	line-height: 1.55;
	margin-top: 10px;
	flex: 1;
}

.vt-overlay-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 600;
	color: rgba(255,255,255,0.7);
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 20px;
	padding: 7px 16px;
	text-decoration: none;
	transition: background .15s, color .15s;
	align-self: flex-start;
}

.vt-overlay-link:hover {
	background: rgba(255,255,255,0.12);
	color: #fff;
}

/* Type badges removed from template */
.vt-badge-type { display: none !important; }

.vt-badge-exited {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #27ae60;
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 3px;
	z-index: 10;
	pointer-events: none;
}

.vt-card[data-hidden="true"] { display: none; }

/* ============================================================
   NEWS PAGE — dark
   ============================================================ */
.vt-news-wrap {
	padding: 80px 48px;
	max-width: 1280px;
	margin: 0 auto;
	background: transparent;
}

.vt-news-wrap h1 {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(32px, 5vw, 54px);
	font-weight: 700;
	color: var(--vt-text) !important;
	margin-bottom: 8px;
}

.vt-news-subtitle { color: var(--vt-text-muted); margin-bottom: 48px; font-size: 16px; }

.vt-news-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 24px;
}

.vt-news-card {
	background: var(--vt-bg-card);
	border: 1px solid var(--vt-border);
	border-radius: var(--vt-radius);
	overflow: hidden;
	transition: box-shadow 0.2s, transform 0.2s;
	display: flex;
	flex-direction: column;
}
.vt-news-card:hover {
	box-shadow: 0 12px 32px rgba(0,0,0,0.4);
	transform: translateY(-3px);
}
.vt-news-card a { text-decoration: none; color: inherit; }

.vt-news-card-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }

.vt-news-source {
	font-size: 11px;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--vt-accent);
	margin-bottom: 8px;
}

.vt-news-title {
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--vt-text) !important;
	line-height: 1.4;
	margin-bottom: 10px;
	flex: 1;
}

.vt-news-date { font-size: 12px; color: var(--vt-text-muted); margin-top: auto; }

.vt-news-thumb {
	width: 100%;
	height: 180px;
	overflow: hidden;
	background: var(--vt-bg-card-2);
	flex-shrink: 0;
}
.vt-news-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}
.vt-news-card:hover .vt-news-thumb img {
	transform: scale(1.05);
}
.vt-news-thumb--empty {
	background: linear-gradient(135deg, #111 0%, #1c1c1c 60%, #111 100%);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.vt-news-thumb--empty::after {
	content: '';
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(
		45deg,
		transparent,
		transparent 12px,
		rgba(255,255,255,0.018) 12px,
		rgba(255,255,255,0.018) 13px
	);
}
.vt-news-thumb-letter {
	font-family: 'Poppins', sans-serif;
	font-size: 56px;
	font-weight: 800;
	color: rgba(255,255,255,0.07);
	line-height: 1;
	position: relative;
	z-index: 1;
	user-select: none;
}

.vt-news-loading {
	text-align: center;
	padding: 60px;
	color: var(--vt-text-muted);
	font-family: 'Poppins', sans-serif;
}

/* ============================================================
   BLOG / INSIGHTS PAGE
   ============================================================ */
.vt-blog-wrap {
	max-width: 1240px;
	margin: 0 auto;
	padding: 80px 48px 120px;
}

.vt-blog-header {
	text-align: center;
	margin-bottom: 48px;
}
.vt-blog-header h1 {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(36px, 6vw, 64px);
	font-weight: 700;
	color: var(--vt-text) !important;
	margin: 8px 0 12px;
	line-height: 1.05;
}
.vt-blog-subtitle {
	color: var(--vt-text-muted);
	font-size: 17px;
	max-width: 520px;
	margin: 0 auto;
	line-height: 1.6;
}

/* Filter bar */
.vt-blog-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-bottom: 56px;
}
.vt-bf-btn {
	background: transparent;
	border: 1px solid var(--vt-border);
	color: var(--vt-text-muted);
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	padding: 8px 18px;
	border-radius: 40px;
	cursor: pointer;
	transition: color 0.18s, border-color 0.18s, background 0.18s;
}
.vt-bf-btn:hover {
	color: var(--vt-text);
	border-color: rgba(255,255,255,0.3);
}
.vt-bf-btn.active {
	background: var(--vt-accent);
	border-color: var(--vt-accent);
	color: #fff;
}

/* Featured post */
.vt-blog-featured {
	border-radius: 14px;
	overflow: hidden;
	margin-bottom: 48px;
	border: 1px solid var(--vt-border);
	background: var(--vt-bg-card);
	transition: box-shadow 0.2s, transform 0.2s;
}
.vt-blog-featured:hover {
	box-shadow: 0 20px 56px rgba(0,0,0,0.55);
	transform: translateY(-3px);
}
.vt-bf-link { display: flex; text-decoration: none; color: inherit; }
.vt-bf-image {
	flex: 0 0 55%;
	max-height: 380px;
	overflow: hidden;
}
.vt-bf-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.vt-blog-featured:hover .vt-bf-image img { transform: scale(1.04); }
.vt-bf-body {
	flex: 1;
	padding: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.vt-bf-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}
.vt-bf-cat {
	font-family: 'Poppins', sans-serif;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--vt-accent);
}
.vt-bf-date {
	font-size: 12px;
	color: var(--vt-text-muted);
}
.vt-bf-title {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(20px, 2.5vw, 28px);
	font-weight: 700;
	color: var(--vt-text) !important;
	line-height: 1.3;
	margin: 0 0 14px;
}
.vt-bf-excerpt {
	color: var(--vt-text-muted);
	font-size: 15px;
	line-height: 1.6;
	margin: 0 0 24px;
}
.vt-bf-read {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--vt-accent);
	letter-spacing: 0.04em;
}

/* Post grid */
.vt-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 64px;
}
.vt-blog-card {
	background: var(--vt-bg-card);
	border: 1px solid var(--vt-border);
	border-radius: 12px;
	overflow: hidden;
	transition: box-shadow 0.2s, transform 0.2s;
	display: flex;
	flex-direction: column;
}
.vt-blog-card:hover {
	box-shadow: 0 12px 36px rgba(0,0,0,0.45);
	transform: translateY(-3px);
}
.vt-bc-link { text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%; }
.vt-bc-image {
	width: 100%;
	aspect-ratio: 16/9;
	overflow: hidden;
	background: var(--vt-bg-card-2);
	flex-shrink: 0;
}
.vt-bc-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}
.vt-blog-card:hover .vt-bc-image img { transform: scale(1.05); }
.vt-bc-image--empty {
	background: linear-gradient(135deg, #111 0%, #1c1c1c 100%);
}
.vt-bc-body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.vt-bc-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.vt-bc-cat {
	font-family: 'Poppins', sans-serif;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--vt-accent);
}
.vt-bc-date { font-size: 11px; color: var(--vt-text-muted); }
.vt-bc-title {
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--vt-text) !important;
	line-height: 1.4;
	margin: 0 0 10px;
}
.vt-bc-excerpt {
	font-size: 13px;
	color: var(--vt-text-muted);
	line-height: 1.55;
	margin: 0;
}

/* Pagination */
.vt-blog-pagination {
	display: flex;
	justify-content: center;
}
.vt-blog-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.vt-blog-pagination .page-numbers a,
.vt-blog-pagination .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border-radius: 6px;
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--vt-text-muted);
	border: 1px solid var(--vt-border);
	text-decoration: none;
	transition: color 0.18s, border-color 0.18s, background 0.18s;
}
.vt-blog-pagination .page-numbers a:hover {
	color: var(--vt-text);
	border-color: rgba(255,255,255,0.3);
}
.vt-blog-pagination .page-numbers span.current {
	background: var(--vt-accent);
	border-color: var(--vt-accent);
	color: #fff;
}

.vt-blog-empty { color: var(--vt-text-muted); text-align: center; padding: 80px 0; font-size: 16px; }

/* Hidden by JS filter */
.vt-blog-card[data-hidden="true"],
.vt-blog-featured[data-hidden="true"] { display: none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
	.vt-card-grid  { padding: 0 20px; gap: 16px; }
	.vt-stats-bar  { gap: 32px; padding: 24px 20px; }
	.vt-stat-num   { font-size: 36px; }
	.vt-news-wrap  { padding: 60px 20px; }
	.vt-stats-grid { gap: 40px; }
	.vt-insights-section,
	.vt-stats-section,
	.vt-cta-section { padding: 60px 20px; }
	.vt-section-header { flex-direction: column; align-items: flex-start; gap: 12px; }
	/* Blog */
	.vt-blog-wrap   { padding: 60px 20px 80px; }
	.vt-bf-link     { flex-direction: column; }
	.vt-bf-image    { flex: none; max-height: 240px; width: 100%; }
	.vt-bf-body     { padding: 24px; }
	.vt-blog-grid   { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.vt-filter-btn { padding: 10px 18px; font-size: 11px; }
	.vt-hero-content h1 { font-size: 36px; }
	.vt-blog-grid { grid-template-columns: 1fr; }
	.vt-blog-header h1 { font-size: 36px; }
}

/* ============================================================
   PARTNER WITH US — TYPEFORM-STYLE FORM
   ============================================================ */

/* Wrap takes full viewport height, hides overflow for slide animations */
.vt-partner-wrap {
	position: relative;
	min-height: 100vh;
	background: #0a0a0a;
	overflow: hidden;
	font-family: 'Poppins', sans-serif;
}

/* ── Progress bar ── */
.vt-pf-progress-track {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: rgba(255,255,255,0.08);
	z-index: 1000;
}
.vt-pf-progress-bar {
	height: 100%;
	background: #e96656;
	width: 0%;
	transition: width 0.5s cubic-bezier(0.4,0,0.2,1);
}

/* ── Steps container ── */
.vt-pf-steps {
	position: relative;
	width: 100%;
}

/* ── Individual step ── */
.vt-pf-step {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 80px 24px 120px;
	box-sizing: border-box;
	opacity: 0;
	transform: translateY(60px);
	transition: opacity 0.45s cubic-bezier(0.4,0,0.2,1), transform 0.45s cubic-bezier(0.4,0,0.2,1);
	pointer-events: none;
}

.vt-pf-step.active {
	position: relative;
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.vt-pf-step.exiting {
	position: absolute;
	opacity: 0;
	transform: translateY(-60px);
	pointer-events: none;
}

/* ── Inner content card ── */
.vt-pf-step-inner {
	width: 100%;
	max-width: 680px;
}

/* ── Step counter ── */
.vt-pf-step-num {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #e96656;
	margin-bottom: 20px;
}

/* ── Question heading ── */
.vt-pf-question {
	font-size: clamp(24px, 4vw, 40px);
	font-weight: 700;
	color: #ffffff;
	line-height: 1.2;
	margin: 0 0 20px;
}

/* ── Sub-text ── */
.vt-pf-subtext {
	font-size: 15px;
	color: rgba(255,255,255,0.6);
	line-height: 1.7;
	margin: 0 0 40px;
	max-width: 600px;
}
.vt-pf-subtext a {
	color: #e96656;
	text-decoration: none;
}
.vt-pf-subtext a:hover { text-decoration: underline; }

/* ── Optional label ── */
.vt-pf-optional {
	font-size: 16px;
	font-weight: 400;
	color: rgba(255,255,255,0.4);
}

/* ── Yes / No buttons ── */
.vt-pf-yn-wrap {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}
.vt-pf-yn {
	padding: 18px 48px;
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	font-weight: 600;
	background: #111;
	color: #ffffff;
	border: 2px solid rgba(255,255,255,0.15);
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, transform 0.15s;
	letter-spacing: 0.03em;
}
.vt-pf-yn:hover,
.vt-pf-yn.selected {
	background: #e96656;
	border-color: #e96656;
	transform: translateY(-2px);
}

/* ── Text inputs ── */
.vt-pf-input {
	display: block;
	background: transparent;
	border: none;
	border-bottom: 2px solid rgba(255,255,255,0.2);
	color: #ffffff;
	font-family: 'Poppins', sans-serif;
	font-size: 22px;
	padding: 12px 4px;
	outline: none;
	transition: border-color 0.2s;
	width: 100%;
	box-sizing: border-box;
}
.vt-pf-input::placeholder { color: rgba(255,255,255,0.3); }
.vt-pf-input:focus { border-bottom-color: #e96656; }

.vt-pf-input--wide { margin-bottom: 40px; }

/* Name row — two side-by-side */
.vt-pf-name-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-bottom: 40px;
}

/* ── Textarea ── */
.vt-pf-textarea {
	width: 100%;
	box-sizing: border-box;
	background: #111;
	border: 2px solid rgba(255,255,255,0.12);
	border-radius: 8px;
	color: #ffffff;
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	padding: 16px;
	resize: vertical;
	outline: none;
	transition: border-color 0.2s;
	margin-bottom: 40px;
}
.vt-pf-textarea::placeholder { color: rgba(255,255,255,0.3); }
.vt-pf-textarea:focus { border-color: #e96656; }

/* ── Chip multi-select ── */
.vt-pf-chips-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 40px;
}
.vt-pf-chip {
	padding: 10px 22px;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	font-weight: 500;
	background: #111;
	color: rgba(255,255,255,0.75);
	border: 2px solid rgba(255,255,255,0.12);
	border-radius: 100px;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
	user-select: none;
}
.vt-pf-chip:hover { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.30); color: #ffffff; }
.vt-pf-chip.selected {
	background: rgba(255,255,255,0.10);
	border-color: rgba(255,255,255,0.45);
	color: #ffffff;
}

/* ── Next / Submit button ── */
.vt-pf-next-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 32px;
	background: #e96656;
	color: #ffffff;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	font-weight: 600;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s;
	letter-spacing: 0.03em;
}
.vt-pf-next-btn:hover { background: #d45445; transform: translateY(-2px); }
.vt-pf-next-btn:disabled { background: rgba(233,102,86,0.4); cursor: not-allowed; transform: none; }
.vt-pf-arrow { font-size: 18px; }

/* ── Keyboard hint ── */
.vt-pf-keyboard-hint {
	position: fixed;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 12px;
	color: rgba(255,255,255,0.3);
	z-index: 900;
	white-space: nowrap;
	font-family: 'Poppins', sans-serif;
}
.vt-pf-keyboard-hint kbd {
	display: inline-block;
	padding: 2px 7px;
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 4px;
	font-size: 11px;
	font-family: inherit;
	color: rgba(255,255,255,0.5);
}

/* ── Success screen ── */
.vt-pf-success-inner {
	text-align: center;
}
.vt-pf-success-icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #e96656;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	color: #ffffff;
	margin: 0 auto 32px;
}

/* ── Error shake ── */
@keyframes vtShake {
	0%,100% { transform: translateX(0); }
	20%      { transform: translateX(-8px); }
	40%      { transform: translateX(8px); }
	60%      { transform: translateX(-6px); }
	80%      { transform: translateX(6px); }
}
.vt-pf-shake { animation: vtShake 0.4s ease; }

/* ── Submitting spinner ── */
.vt-pf-submit-btn.loading { opacity: 0.7; pointer-events: none; }

/* ── Responsive ── */
@media (max-width: 600px) {
	.vt-pf-name-wrap { grid-template-columns: 1fr; gap: 16px; }
	.vt-pf-yn { padding: 16px 32px; font-size: 15px; }
	.vt-pf-input { font-size: 18px; }
	.vt-pf-keyboard-hint { display: none; }
}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.vt-about-wrap {
	background: var(--vt-bg);
	padding-top: var(--header-height, 80px);
}

/* ── Shared labels ── */
.vt-section-label {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--vt-accent);
	margin-bottom: 14px;
}
.vt-about-eyebrow {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--vt-accent);
	margin-bottom: 20px;
}

/* ── HERO ── */
.vt-about-hero {
	padding: 100px 5vw 80px;
	max-width: 1200px;
	margin: 0 auto;
}
.vt-about-hero-inner {
	max-width: 700px;
}
.vt-about-hero h1 {
	font-size: clamp(2.6rem, 6vw, 4.5rem) !important;
	font-weight: 800 !important;
	line-height: 1.08 !important;
	color: #ffffff !important;
	margin: 0 0 24px !important;
}
.vt-about-hero-sub {
	font-size: 1.2rem !important;
	color: rgba(255,255,255,0.65) !important;
	line-height: 1.65 !important;
	max-width: 580px;
}
.vt-about-hero-line {
	margin-top: 60px;
	height: 1px;
	background: var(--vt-border);
}

/* ── STORY ── */
.vt-about-story {
	padding: 80px 5vw;
}
.vt-about-story-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}
.vt-about-story-left h2 {
	font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin: 0 0 24px !important;
	line-height: 1.15 !important;
}
.vt-about-story-left p {
	color: rgba(255,255,255,0.72) !important;
	font-size: 1rem;
	line-height: 1.75;
	margin-bottom: 18px !important;
}
.vt-about-story-left .vt-btn {
	margin-top: 16px;
}
.vt-about-quote {
	background: #141414;
	border: 1px solid rgba(255,255,255,0.08);
	border-left: 3px solid var(--vt-accent);
	border-radius: 12px;
	padding: 40px 44px;
	margin: 0;
}
.vt-about-quote p {
	font-size: 1.15rem !important;
	line-height: 1.75 !important;
	color: rgba(255,255,255,0.88) !important;
	font-style: italic;
	margin: 0 0 20px !important;
}
.vt-about-quote cite {
	font-size: 0.85rem;
	color: var(--vt-accent) !important;
	font-style: normal;
	font-weight: 600;
}

/* ── DIFFERENTIATORS ── */
.vt-about-diff {
	padding: 80px 5vw;
	background: #0d0d0d;
}
.vt-about-diff-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.vt-about-diff-inner h2 {
	font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin: 0 0 48px !important;
}
.vt-diff-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.vt-diff-card {
	background: #141414;
	border: 1px solid rgba(255,255,255,0.07);
	border-radius: 14px;
	padding: 36px 32px;
	transition: border-color 0.2s, transform 0.2s;
}
.vt-diff-card:hover {
	border-color: rgba(233,102,86,0.35);
	transform: translateY(-4px);
}
.vt-diff-icon {
	width: 52px;
	height: 52px;
	background: rgba(233,102,86,0.1);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--vt-accent);
	margin-bottom: 20px;
}
.vt-diff-card h3 {
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 12px !important;
}
.vt-diff-card p {
	font-size: 0.93rem !important;
	color: rgba(255,255,255,0.62) !important;
	line-height: 1.7 !important;
	margin: 0 !important;
}

/* ── TEAM ── */
.vt-about-team {
	padding: 80px 5vw;
}
.vt-about-team-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.vt-about-team-inner h2 {
	font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin: 0 0 48px !important;
}
.vt-team-grid {
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.vt-team-card {
	background: #141414;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 18px;
	overflow: hidden;
	display: flex;
	flex-direction: row;
	align-items: stretch;
}
.vt-team-photo-wrap {
	flex-shrink: 0;
	width: 220px;
	background: #1a1a1a;
	overflow: hidden;
}
.vt-team-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
	transition: transform 0.5s ease;
}
.vt-team-card:hover .vt-team-photo {
	transform: scale(1.03);
}
.vt-team-body {
	padding: 32px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.vt-team-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}
.vt-team-name {
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 6px !important;
}
.vt-team-title {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--vt-accent) !important;
}
.vt-team-linkedin {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,0.6);
	transition: background 0.2s, color 0.2s;
}
.vt-team-linkedin:hover {
	background: #0077b5;
	color: #ffffff;
	border-color: transparent;
}
.vt-team-bio {
	font-size: 0.93rem !important;
	color: rgba(255,255,255,0.65) !important;
	line-height: 1.75 !important;
	margin: 0 0 14px !important;
}
.vt-team-logos {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: auto;
	padding-top: 24px;
	border-top: 1px solid rgba(255,255,255,0.06);
}
.vt-team-logos img {
	height: 28px;
	width: auto;
	max-width: 90px;
	object-fit: contain;
	filter: brightness(0) invert(1);
	opacity: 0.45;
	transition: opacity 0.2s;
}
.vt-team-logos img:hover {
	opacity: 0.8;
}

/* ── CTA ── */
.vt-about-cta {
	padding: 100px 5vw;
	background: #0d0d0d;
	text-align: center;
}
.vt-about-cta-inner {
	max-width: 680px;
	margin: 0 auto;
}
.vt-about-cta h2 {
	font-size: clamp(2rem, 4vw, 3.2rem) !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	line-height: 1.15 !important;
	margin: 0 0 20px !important;
}
.vt-about-cta p {
	font-size: 1.05rem !important;
	color: rgba(255,255,255,0.62) !important;
	line-height: 1.7 !important;
	margin: 0 0 36px !important;
}
.vt-about-cta-btns {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
	.vt-about-story-inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.vt-diff-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 640px) {
	.vt-team-card {
		flex-direction: column;
	}
	.vt-team-photo-wrap {
		width: 100%;
		max-height: 300px;
	}
	.vt-about-hero { padding: 80px 24px 48px; }
	.vt-about-story,
	.vt-about-diff,
	.vt-about-team,
	.vt-about-cta { padding: 60px 24px; }
	.vt-about-quote { padding: 28px 24px; }
	.vt-team-body { padding: 24px; }
	.vt-about-cta-btns { flex-direction: column; align-items: center; }
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.vt-contact-wrap {
	min-height: 100vh;
	background: var(--vt-bg);
	padding: calc(var(--header-height, 80px) + 60px) 5vw 80px;
	display: flex;
	align-items: center;
}
.vt-contact-inner {
	max-width: 1100px;
	margin: 0 auto;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 80px;
	align-items: start;
}

/* ── Info column ── */
.vt-contact-info h1 {
	font-size: clamp(2.4rem, 5vw, 4rem) !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	line-height: 1.1 !important;
	margin: 0 0 20px !important;
}
.vt-contact-info > p {
	font-size: 1.05rem !important;
	color: rgba(255,255,255,0.62) !important;
	line-height: 1.7 !important;
	margin: 0 0 36px !important;
}
.vt-contact-links {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 40px;
}
.vt-contact-link {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.95rem;
	color: rgba(255,255,255,0.75) !important;
	text-decoration: none;
	transition: color 0.2s;
}
.vt-contact-link:hover { color: var(--vt-accent) !important; }
.vt-contact-link-icon {
	width: 36px;
	height: 36px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--vt-accent);
}
.vt-contact-quick-links p {
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: rgba(255,255,255,0.35) !important;
	margin: 0 0 12px !important;
}
.vt-contact-quick {
	display: block;
	font-size: 0.95rem;
	color: rgba(255,255,255,0.65) !important;
	text-decoration: none;
	padding: 10px 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
	transition: color 0.2s;
}
.vt-contact-quick:hover { color: #ffffff !important; }

/* ── Form column ── */
.vt-contact-form-wrap {
	background: #121212;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 20px;
	padding: 48px;
}
.vt-contact-form { display: flex; flex-direction: column; gap: 24px; }

.vt-cf-group { display: flex; flex-direction: column; gap: 8px; }

.vt-cf-label {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5) !important;
}
.vt-cf-label span { color: var(--vt-accent); }

.vt-cf-input,
.vt-cf-textarea {
	width: 100%;
	box-sizing: border-box;
	background: #0a0a0a;
	border: 1.5px solid rgba(255,255,255,0.10);
	border-radius: 10px;
	color: #ffffff !important;
	font-family: 'Poppins', sans-serif;
	font-size: 0.97rem;
	padding: 14px 18px;
	outline: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.vt-cf-input::placeholder,
.vt-cf-textarea::placeholder { color: rgba(255,255,255,0.22); }
.vt-cf-input:focus,
.vt-cf-textarea:focus {
	border-color: var(--vt-accent);
	box-shadow: 0 0 0 3px rgba(233,102,86,0.12);
}
.vt-cf-textarea { resize: vertical; min-height: 140px; }

.vt-cf-submit {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	width: 100%;
	justify-content: center;
	font-size: 1rem !important;
	padding: 16px 32px !important;
}
.vt-cf-submit:disabled { opacity: 0.6; pointer-events: none; }

.vt-contact-error {
	background: rgba(207,34,34,0.12);
	border: 1px solid rgba(207,34,34,0.3);
	border-radius: 8px;
	padding: 12px 16px;
	font-size: 0.9rem;
	color: #ff6b6b !important;
}
.vt-contact-success {
	text-align: center;
	padding: 48px 24px;
}
.vt-contact-success-icon {
	width: 72px;
	height: 72px;
	background: var(--vt-accent);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	color: #fff;
	margin: 0 auto 24px;
}
.vt-contact-success h3 {
	font-size: 1.6rem !important;
	color: #fff !important;
	margin: 0 0 10px !important;
}
.vt-contact-success p {
	color: rgba(255,255,255,0.6) !important;
}

@media (max-width: 860px) {
	.vt-contact-inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.vt-contact-form-wrap { padding: 32px 24px; }
}

/* ============================================================
   HOME PAGE — BREAK OUT OF NEVE CONTAINER
   Neve wraps page content in .nv-content-wrap > .container which
   has max-width + horizontal padding. Home page needs 100vw sections.
   ============================================================ */
body.page-template-page-templates-page-home-php .neve-main,
body.page-template-page-templates-page-home-php .nv-content-wrap,
body.page-template-page-templates-page-home-php main#content,
body.page-template-page-home .neve-main,
body.page-template-page-home .nv-content-wrap,
body.page-template-page-home main#content {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Performance hint for animated elements */
.vt-carousel-track,
.vt-marquee-row {
	will-change: transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* ── Touch devices: don't pause marquee on tap ── */
@media (pointer: coarse) {
	.vt-marquee-row:hover {
		animation-play-state: running !important;
	}

	/* Insights carousel: JS switches to scroll-snap mode on touch.
	   These CSS rules backstop JS in case it fires late, and hide the scrollbar. */
	.vt-carousel-viewport {
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.vt-carousel-viewport::-webkit-scrollbar {
		display: none;
	}
	/* Smooth momentum scrolling on iOS */
	.vt-carousel-viewport {
		-webkit-overflow-scrolling: touch;
	}
}

/* ============================================================
   MOBILE — 768px and below
   ============================================================ */
@media (max-width: 768px) {

	/* ── Hero — force truly full-width/height on mobile ── */
	.vt-hero {
		width: 100%;
		height: 100svh;          /* safe viewport height — excludes browser UI chrome */
		min-height: 500px;
	}
	/* Belt-and-suspenders: the video must always fill its container */
	.vt-hero video {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: top center;
	}
	.vt-hero-content {
		padding: 0 24px;
		max-width: 100%;
	}
	.vt-hero-content h1 {
		font-size: clamp(32px, 9vw, 42px);
		margin-bottom: 14px;
		letter-spacing: -0.01em;
	}
	.vt-hero-content p {
		font-size: 15px;
		margin-bottom: 28px;
	}
	.vt-hero-content .vt-btn {
		display: block;
		width: 100%;
		max-width: 300px;
		margin: 0 auto 12px;
		text-align: center;
	}

	/* ── Marquee — smaller pills on mobile ── */
	.vt-marquee-section { padding: 36px 0; }
	.vt-marquee-logo {
		width: 130px;
		height: 68px;
		padding: 10px 14px;
		margin: 0 6px;
	}
	.vt-marquee-logo img {
		max-height: 38px;
		max-width: 100px;
	}

	/* ── Stats section ── */
	.vt-stats-section { padding: 56px 24px; }
	.vt-stats-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 32px 24px;
		justify-items: center;
	}
	.vt-stat-item .num { font-size: clamp(40px, 10vw, 60px); }

	/* ── Insights carousel ── */
	.vt-insights-section { padding: 56px 0; }
	.vt-insights-header {
		padding: 0 20px;
		margin-bottom: 24px;
	}
	.vt-insights-header h2 { font-size: clamp(22px, 6vw, 32px); }
	/* Cards: nearly full-width on mobile for easy reading */
	.vt-post-card {
		flex: 0 0 calc(100vw - 40px);
		width: calc(100vw - 40px);
		height: auto;
		min-height: 360px;
		margin: 0 8px;
	}
	.vt-post-card-image,
	.vt-post-card img { height: 170px; }

	/* ── CTA banner ── */
	.vt-cta-section {
		padding: 60px 24px;
	}
	.vt-cta-section h2 { font-size: clamp(24px, 7vw, 40px); }
	.vt-cta-section p { font-size: 15px; margin-bottom: 28px; }
	.vt-cta-section .vt-btn {
		display: block;
		width: 100%;
		max-width: 300px;
		margin: 0 auto 12px;
		text-align: center;
	}

	/* ── Portfolio page ── */
	.vt-portfolio-hero { padding: 56px 20px 36px; }
	.vt-portfolio-hero h1 { font-size: clamp(28px, 8vw, 48px); }
	.vt-stats-bar { gap: 20px; padding: 20px 16px; flex-wrap: wrap; }
	.vt-stat-num { font-size: 32px; }
	.vt-stat-label { font-size: 11px; }
	.vt-stat-divider { display: none; }
	.vt-card-grid {
		padding: 0 16px;
		gap: 12px;
		grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
	}
	.vt-card { min-height: 260px; padding: 14px 10px 12px; gap: 8px; }
	.vt-card-logo-wrap { height: 140px; }
	.vt-card-logo-wrap img { max-height: 115px; }

	/* ── News page ── */
	.vt-news-wrap { padding: 56px 16px 60px; }
	.vt-news-grid { grid-template-columns: 1fr; gap: 16px; }

	/* ── Blog/Insights page ── */
	.vt-blog-wrap { padding: 56px 16px 72px; }
	.vt-blog-header h1 { font-size: clamp(28px, 8vw, 48px); }
	.vt-blog-subtitle { font-size: 15px; }
	.vt-blog-filters { gap: 6px; margin-bottom: 36px; }
	.vt-blog-grid { grid-template-columns: 1fr; gap: 16px; }
	.vt-bf-link { flex-direction: column; }
	.vt-bf-image { flex: none; max-height: 220px; width: 100%; }
	.vt-bf-body { padding: 20px; }
	.vt-bf-title { font-size: 20px; }

	/* ── Partner/Pitch forms ── */
	.vt-pf-name-wrap { grid-template-columns: 1fr; gap: 16px; }
	.vt-pf-step { padding: 72px 20px 100px; }
	.vt-pf-yn-wrap { gap: 12px; }
	.vt-pf-yn { padding: 15px 28px; font-size: 15px; }

	/* ── Contact page ── */
	.vt-contact-wrap {
		padding: calc(var(--header-height, 72px) + 36px) 16px 56px;
	}
	.vt-contact-inner { gap: 32px; }
	.vt-contact-form-wrap { padding: 24px 16px; border-radius: 14px; }
	.vt-contact-info h1 { font-size: clamp(2rem, 8vw, 3rem) !important; }

	/* ── About page ── */
	.vt-about-hero { padding: 72px 20px 48px; }
	.vt-about-story,
	.vt-about-diff,
	.vt-about-team,
	.vt-about-cta { padding: 52px 20px; }

	/* ── Single post ── */
	.single .nv-content-wrap .container,
	.blog .nv-content-wrap .container { padding: 0 16px !important; }
}

/* ============================================================
   MOBILE — 480px and below (small phones)
   ============================================================ */
@media (max-width: 480px) {
	.vt-hero-content h1 { font-size: 30px; }
	.vt-post-card {
		flex: 0 0 calc(100vw - 24px);
		width: calc(100vw - 24px);
		margin: 0 4px;
	}
	.vt-marquee-logo {
		width: 110px;
		height: 58px;
		padding: 8px 12px;
		margin: 0 5px;
	}
	.vt-marquee-logo img { max-height: 32px; max-width: 88px; }
	.vt-card-grid { grid-template-columns: 1fr 1fr; }
	.vt-blog-grid { grid-template-columns: 1fr; }
	.vt-pf-chips-wrap { gap: 8px; }
	.vt-pf-chip { padding: 8px 16px; font-size: 13px; }
}

/* ============================================================
   SINGLE POST — Light / Paper Reading Theme
   Override the global dark theme for individual blog posts.
   ============================================================ */

body.single-post {
	background-color: #f2f2f2 !important;
}

/* ── Page-level backgrounds ── */
body.single-post .neve-main,
body.single-post main#content,
body.single-post .single-post-container,
body.single-post .archive-container {
	background-color: #f2f2f2 !important;
}

/* ── White reading card around the post content ── */
body.single-post .nv-content-wrap,
body.single-post .nv-single-post-wrap,
body.single-post .entry-content {
	background-color: #ffffff !important;
	color: #1a1a1a !important;
}

/* ── Post cover / hero banner (feature image + title overlay) — keep it dark ── */
body.single-post .nv-post-cover,
body.single-post .nv-post-cover .nv-title-meta-wrap,
body.single-post .nv-post-cover .entry-header {
	background: rgba(0,0,0,0.55) !important;
}
body.single-post .nv-post-cover h1,
body.single-post .nv-post-cover .entry-title,
body.single-post .nv-page-title-wrap h1 {
	color: #ffffff !important;
}

/* ── Body text ── */
body.single-post .entry-content,
body.single-post .entry-content p,
body.single-post .entry-content li,
body.single-post .entry-content td,
body.single-post .entry-content th,
body.single-post .entry-content blockquote,
body.single-post .entry-content cite,
body.single-post .entry-content figcaption,
body.single-post .entry-content label,
body.single-post .entry-content span:not([class*="vt"]) {
	color: #3a3a3a !important;
}

/* ── Headings ── */
body.single-post .entry-content h1,
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4,
body.single-post .entry-content h5,
body.single-post .entry-content h6,
body.single-post h1.entry-title,
body.single-post .entry-title {
	color: #111111 !important;
}

/* ── Strong / bold ── */
body.single-post .entry-content strong,
body.single-post .entry-content b {
	color: #111111 !important;
}

/* ── Links within post content ── */
body.single-post .entry-content a:not(.wp-element-button) {
	color: var(--vt-accent) !important;
}

/* ── Post meta (date, author, category tags) ── */
body.single-post .nv-meta-list,
body.single-post .nv-meta-list *,
body.single-post .nv-meta-list a,
body.single-post .entry-meta,
body.single-post .entry-meta *,
body.single-post .entry-meta a,
body.single-post .posted-on,
body.single-post .byline,
body.single-post .cat-links a,
body.single-post .tags-links a {
	color: rgba(0,0,0,0.45) !important;
}
body.single-post .cat-links a:hover,
body.single-post .tags-links a:hover {
	color: var(--vt-accent) !important;
}

/* ── Separator / HR ── */
body.single-post .wp-block-separator,
body.single-post hr {
	border-color: rgba(0,0,0,0.12) !important;
}

/* ── Blockquotes ── */
body.single-post .entry-content blockquote {
	border-left: 3px solid var(--vt-accent);
	padding-left: 20px;
	background: #f9f9f9 !important;
	border-radius: 0 4px 4px 0;
}

/* ── Code blocks ── */
body.single-post .entry-content code,
body.single-post .entry-content pre {
	background: #f0f0f0 !important;
	color: #c0392b !important;
	border: 1px solid rgba(0,0,0,0.10) !important;
}

/* ── Sidebar widgets ── */
body.single-post .nv-sidebar-wrap .widget {
	background: #ffffff !important;
	border: 1px solid rgba(0,0,0,0.10) !important;
}
body.single-post .nv-sidebar-wrap .widget-title,
body.single-post .nv-sidebar-wrap .widget-title * {
	color: #111111 !important;
	border-bottom: 1px solid rgba(0,0,0,0.10) !important;
}
body.single-post .widget_recent_entries li {
	border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}
body.single-post .widget_recent_entries li a,
body.single-post .widget_recent_entries li a:visited {
	color: rgba(0,0,0,0.75) !important;
}
body.single-post .widget_recent_entries li a:hover { color: var(--vt-accent) !important; }
body.single-post .widget_recent_entries .post-date { color: rgba(0,0,0,0.38) !important; }
body.single-post .widget_categories li { border-bottom: 1px solid rgba(0,0,0,0.08) !important; }
body.single-post .widget_categories li a { color: rgba(0,0,0,0.72) !important; }
body.single-post .widget_categories li a:hover { color: var(--vt-accent) !important; }
body.single-post .widget_categories .cat-count { color: rgba(0,0,0,0.35) !important; }
body.single-post .widget_tag_cloud .tag-cloud-link,
body.single-post .tagcloud a {
	color: rgba(0,0,0,0.65) !important;
	background: rgba(0,0,0,0.05) !important;
	border: 1px solid rgba(0,0,0,0.12) !important;
}

/* ── Pagination ── */
body.single-post .nv-pagination a,
body.single-post .nv-pagination span {
	color: rgba(0,0,0,0.60) !important;
	border-color: rgba(0,0,0,0.18) !important;
}

/* ── Comments section ── */
body.single-post .comments-area { color: #3a3a3a !important; }
body.single-post .comments-area h2,
body.single-post .comments-area .comments-title { color: #111111 !important; }
body.single-post .comment-content p { color: #3a3a3a !important; }
body.single-post .comment-author .fn,
body.single-post .comment-author .fn a { color: #111111 !important; }
body.single-post .comment-metadata,
body.single-post .comment-metadata a,
body.single-post .comment-metadata time { color: rgba(0,0,0,0.40) !important; }

/* ── Leave a Reply form ── */
body.single-post .comment-respond {
	background: #f7f7f7 !important;
	border: 1px solid rgba(0,0,0,0.09) !important;
}
body.single-post .comment-respond .comment-reply-title,
body.single-post .comment-respond h3 {
	color: #111111 !important;
}
body.single-post .comment-form label {
	color: rgba(0,0,0,0.65) !important;
}
body.single-post .comment-respond {
	--formfieldbgcolor: #ffffff !important;
	--formfieldcolor: #111111 !important;
	--formfieldbordercolor: rgba(0,0,0,0.18) !important;
}
body.single-post .comment-form input[type="text"],
body.single-post .comment-form input[type="email"],
body.single-post .comment-form input[type="url"],
body.single-post .comment-form textarea,
body.single-post #commentform input[type="text"],
body.single-post #commentform input[type="email"],
body.single-post #commentform input[type="url"],
body.single-post #commentform textarea {
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #111111 !important;
	border: 1px solid rgba(0,0,0,0.18) !important;
}
body.single-post .comment-form input:focus,
body.single-post .comment-form textarea:focus,
body.single-post #commentform input:focus,
body.single-post #commentform textarea:focus {
	background: #ffffff !important;
	border-color: var(--vt-accent) !important;
}
body.single-post .comment-form-cookies-consent label {
	color: rgba(0,0,0,0.45) !important;
}

/* ── Footer stays dark — no changes needed (it has its own strong selectors) ── */

/* ── NAVBAR: always show dark glass on light-background post pages ──
   On the hero (home) page the header is transparent because the video is behind it.
   On single post pages the background is white, so transparent + white links are invisible.
   Solution: force the dark glass state immediately without waiting for scroll. ── */
body.single-post .hfg_header.site-header {
	background: rgba(4,4,4,0.88) !important;
	backdrop-filter: blur(22px) saturate(160%) !important;
	-webkit-backdrop-filter: blur(22px) saturate(160%) !important;
	border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

/* ── IMAGES in single post content ──
   Neve injects aspect-ratio:16/9 + object-fit:cover on .nv-post-thumbnail-wrap img
   which crops non-16:9 images. Override to let images show at their natural ratio.
   Also ensure in-content <img> tags never overflow the reading column. ── */

/* Featured / cover image */
body.single-post .nv-post-thumbnail-wrap img,
body.single-post .post-thumbnail img,
body.single-post .nv-post-cover img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	max-width: 100% !important;
}

/* In-content images (body of the article) */
body.single-post .entry-content img,
body.single-post .entry-content figure img {
	max-width: 100% !important;
	width: auto !important;
	height: auto !important;
	display: block !important;
	border-radius: 6px;
}

/* Full-width images (WordPress alignfull / alignwide blocks) */
body.single-post .entry-content .alignfull img,
body.single-post .entry-content .alignwide img {
	width: 100% !important;
	border-radius: 0;
}

/* Remove any fixed height that would crop images */
body.single-post .entry-content .wp-block-image img,
body.single-post .entry-content .size-full,
body.single-post .entry-content .size-large {
	height: auto !important;
	max-width: 100% !important;
}

/* Figure margins */
body.single-post .entry-content figure {
	margin: 20px 0 !important;
}
body.single-post .entry-content figcaption {
	font-size: 13px !important;
	color: rgba(0,0,0,0.45) !important;
	text-align: center !important;
	margin-top: 8px !important;
}

/* ═══ NEVE FOOTER BOTTOM ROW — hide site URL component ═══ */
.builder-item.cr { display: none !important; }

/* ═══ FOOTER BRAND BAR ═══ */
/* Hide the Neve footer-main widget area (disclaimer + duplicate copyright handled in our bar) */
.footer-main { display: none !important; }

.vt-footer-brand-bar {
	background: #080808;
	border-top: 1px solid rgba(255,255,255,0.07);
	padding: 28px 40px 24px;
	box-sizing: border-box;
	width: 100%;
}

/* Desktop: single row — logo | nav (centred) | socials (right) */
.vt-footer-brand-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
}

.vt-footer-brand-logo {
	flex: 0 0 auto;
	margin-right: 32px;
}

.vt-footer-brand-logo img {
	display: block !important;
	height: 36px !important;
	width: auto !important;
	max-width: none !important;
	opacity: 1 !important;
	filter: brightness(0) invert(1);
}

.vt-footer-nav {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 24px;
	flex: 1;
	justify-content: center;
}

.vt-footer-nav a {
	display: inline-block;
	color: rgba(255,255,255,0.6);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: color 0.2s;
	white-space: nowrap;
}
.vt-footer-nav a:hover { color: #fff; }

.vt-footer-brand-social {
	flex: 0 0 auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	margin-left: 32px;
}

.vt-footer-social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.7;
	transition: opacity 0.2s, transform 0.2s;
}
.vt-footer-social-link:hover { opacity: 1; transform: translateY(-2px); }

.vt-footer-social-link img,
.vt-mobile-social-link img {
	display: block !important;
	width: 28px !important;
	height: 28px !important;
	max-width: none !important;
	border-radius: 50%;
}

/* Bottom row: copyright + disclaimer */
.vt-footer-bottom-row {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid rgba(255,255,255,0.06);
}

.vt-footer-copy {
	font-size: 12px;
	color: rgba(255,255,255,0.35);
	letter-spacing: 0.02em;
	margin-bottom: 6px;
}

.vt-footer-disclaimer {
	font-size: 11px;
	color: rgba(255,255,255,0.22);
	letter-spacing: 0.01em;
	line-height: 1.5;
	margin: 0;
}

/* ═══ MOBILE SIDEBAR SOCIAL ICONS ═══ */
.vt-mobile-social {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 16px 20px 24px;
	border-top: 1px solid rgba(0,0,0,0.1);
	position: relative;
	z-index: 10;
}

.vt-mobile-social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,0.6);
	transition: color 0.2s;
}
.vt-mobile-social-link:hover { color: #fff; }

/* ═══ STATS + CTA — lighter gray background ═══ */
.vt-stats-section,
.vt-cta-section {
	background: #222222 !important;
}

/* ═══ INSIGHTS (blog) + NEWS — light theme ═══ */
/* Override CSS variables so every rule that uses them flips automatically */
body.blog,
body.archive,
body.page-template-page-news {
	--vt-bg:         #f5f5f5;
	--vt-bg-card:    #ffffff;
	--vt-bg-card-2:  #f0f0f0;
	--vt-text:       #111111;
	--vt-text-muted: rgba(0,0,0,0.58);
	--vt-border:     rgba(0,0,0,0.10);
	background-color: #f5f5f5 !important;
	color: #111111 !important;
}
html:has(body.blog),
html:has(body.archive),
html:has(body.page-template-page-news) {
	--vt-bg: #f5f5f5;
	background-color: #f5f5f5 !important;
}
/* Beat main#content ID-specificity */
body.blog main#content,
body.blog .neve-main,
body.blog .nv-content-wrap,
body.archive main#content,
body.archive .neve-main,
body.archive .nv-content-wrap,
body.page-template-page-news main#content,
body.page-template-page-news .neve-main,
body.page-template-page-news .nv-content-wrap {
	background-color: #f5f5f5 !important;
}
/* Headings + body text dark on light pages */
body.blog h1, body.blog h2, body.blog h3, body.blog h4, body.blog h5, body.blog h6,
body.archive h1, body.archive h2, body.archive h3, body.archive h4, body.archive h5, body.archive h6,
body.page-template-page-news h1, body.page-template-page-news h2, body.page-template-page-news h3,
body.page-template-page-news h4, body.page-template-page-news h5, body.page-template-page-news h6 {
	color: #111111 !important;
}
body.blog p, body.blog li, body.blog span, body.blog a,
body.archive p, body.archive li, body.archive span, body.archive a,
body.page-template-page-news p, body.page-template-page-news li,
body.page-template-page-news span, body.page-template-page-news a {
	color: #444444 !important;
}
body.blog .entry-title a, body.archive .entry-title a,
body.blog .nv-post-title a, body.archive .nv-post-title a,
body.blog .blog-entry-title a, body.archive .blog-entry-title a {
	color: #111111 !important;
}
body.blog .entry-title a:hover, body.archive .entry-title a:hover { color: var(--vt-accent) !important; }
body.blog .hfg_header.site-header,
body.archive .hfg_header.site-header,
body.page-template-page-news .hfg_header.site-header {
	background: rgba(4,4,4,0.88) !important;
	backdrop-filter: blur(22px) saturate(160%) !important;
	-webkit-backdrop-filter: blur(22px) saturate(160%) !important;
	border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

/* ═══ MOBILE — hamburger pushed down to align with logo text ═══ */
@media (max-width: 960px) {
	.builder-item--nav-icon {
		padding-top: 18px !important;
	}
}

/* ═══ MOBILE FOOTER ═══ */
@media (max-width: 768px) {
	.vt-footer-brand-bar { padding: 28px 24px 20px; }
	.vt-footer-brand-row {
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	.vt-footer-brand-logo {
		margin-right: 0;
		padding-bottom: 20px;
		border-bottom: 1px solid rgba(255,255,255,0.10);
		width: 100%;
		display: flex;
		justify-content: center;
	}
	.vt-footer-nav {
		justify-content: center;
		gap: 10px 20px;
		margin-right: 0;
	}
	.vt-footer-brand-social {
		margin-left: 0;
		justify-content: center;
	}
	.vt-footer-copy { text-align: center; }
	.vt-footer-disclaimer { text-align: center; }
}

/* ═══ NEWSLETTER CTA (footer-top widget) ═══ */
.vt-newsletter-cta {
    text-align: center;
    padding: 72px 24px;
    background: #171717;
}
.vt-newsletter-cta h2 {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(26px, 3.5vw, 44px);
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 16px;
    line-height: 1.2;
}
.vt-newsletter-cta p {
    font-size: 16px;
    color: rgba(255,255,255,0.65);
    max-width: 520px;
    margin: 0 auto 32px;
    line-height: 1.6;
}
.vt-newsletter-cta .vt-btn {
    display: inline-block;
}

/* ═══ DESKTOP HEADER — social icons beside search ═══ */
.vt-header-social {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-right: 4px;
}
.vt-header-social a {
	display: flex;
	align-items: center;
	opacity: 0.7;
	transition: opacity 0.2s;
}
.vt-header-social a:hover { opacity: 1; }
.vt-header-social img {
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	max-width: none !important;
	border-radius: 50%;
}
