/*
 * ELOG Express - Vietnam to Taiwan shipping page.
 * Scoped by .vd-page so this stylesheet cannot affect other pages.
 */
.vd-page {
	--vd-red: #ed1c24;
	--vd-red-dark: #ce0913;
	--vd-navy: #071f43;
	--vd-text: #26384f;
	--vd-muted: #637189;
	--vd-line: #dfe5ed;
	font-family: inherit;
}

.vd-hero {
	position: relative;
	min-height: 720px;
	padding: 0 !important;
	overflow: hidden;
}

.vd-hero::before {
	content: "";
	position: absolute;
	inset: auto -12% -42% 34%;
	height: 520px;
	border: 2px solid rgba(237, 28, 36, .19);
	border-radius: 50%;
	box-shadow:
		0 -30px 0 rgba(237, 28, 36, .035),
		0 -62px 0 rgba(237, 28, 36, .025),
		0 -94px 0 rgba(237, 28, 36, .018);
	transform: rotate(-8deg);
	pointer-events: none;
}

.vd-hero::after {
	content: "";
	position: absolute;
	right: -8%;
	bottom: -118px;
	width: 68%;
	height: 270px;
	border-radius: 50%;
	background: radial-gradient(ellipse at center, rgba(237, 28, 36, .19), rgba(237, 28, 36, 0) 68%);
	filter: blur(14px);
	transform: rotate(-9deg);
	pointer-events: none;
}

.vd-hero > .section-content {
	position: relative;
	z-index: 2;
}

.vd-hero-row {
	display: flex !important;
	align-items: center;
	width: min(1340px, calc(100% - 48px)) !important;
	max-width: 1340px !important;
	min-height: 720px;
	margin: 0 auto !important;
	padding: 58px 38px 54px !important;
}

.vd-hero-row > .col {
	padding: 0 14px !important;
}

.vd-hero-copy-col {
	position: relative;
	z-index: 4;
}

.vd-hero-copy-col > .col-inner {
	max-width: 760px;
}

.vd-hero-kicker,
.vd-hero-kicker .text,
.vd-hero-title,
.vd-hero-title .text,
.vd-hero-lead,
.vd-hero-lead .text,
.vd-hero-description,
.vd-hero-description .text {
	margin: 0;
}

.vd-hero-kicker p {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 22px;
	padding: 8px 16px;
	border: 1px solid rgba(237, 28, 36, .34);
	border-radius: 999px;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 8px 22px rgba(20, 45, 76, .06);
	color: var(--vd-red);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .035em;
	line-height: 1.2;
	text-transform: uppercase;
}

.vd-hero-title h1 {
	max-width: 720px;
	margin: 0;
	color: var(--vd-navy);
	font-size: clamp(52px, 5.15vw, 76px);
	font-weight: 900;
	letter-spacing: -.035em;
	line-height: 1.02;
	text-transform: uppercase;
}

.vd-hero-title h1 span {
	display: block;
	margin-top: 8px;
	color: var(--vd-red);
}

.vd-hero-lead p {
	margin: 18px 0 0;
	color: var(--vd-navy);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .035em;
	line-height: 1.45;
	text-transform: uppercase;
}

.vd-hero-separator {
	width: 54px !important;
	max-width: 54px !important;
	height: 3px;
	margin: 23px 0 22px !important;
	border: 0;
	border-radius: 10px;
	background: var(--vd-red);
}

.vd-hero-description p {
	max-width: 650px;
	margin: 0;
	color: var(--vd-text);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.75;
}

.vd-benefits {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100% !important;
	max-width: 730px !important;
	margin: 30px 0 0 !important;
}

.vd-benefits > .col {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	padding: 0 14px !important;
}

.vd-benefits > .col:first-child {
	padding-left: 0 !important;
}

.vd-benefits > .col + .col {
	border-left: 1px solid var(--vd-line);
}

.vd-benefit .text,
.vd-benefit p {
	margin: 0;
}

.vd-benefit p {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: center;
	gap: 9px;
}

.vd-benefit i {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	color: var(--vd-red);
	font-size: 25px;
	line-height: 1;
}

.vd-benefit strong,
.vd-benefit small {
	display: block;
}

.vd-benefit strong {
	color: var(--vd-navy);
	font-size: 12px;
	font-weight: 900;
	line-height: 1.25;
	text-transform: uppercase;
}

.vd-benefit small {
	margin-top: 4px;
	color: var(--vd-muted);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.3;
}

.vd-hero-actions {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	width: min(520px, 100%) !important;
	max-width: 520px !important;
	margin: 32px 0 0 !important;
}

.vd-hero-actions > .col {
	width: auto !important;
	max-width: none !important;
	padding: 0 !important;
}

.vd-hero-actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 0 20px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .01em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.vd-hero-actions .vd-btn-primary {
	border-color: var(--vd-red);
	background: linear-gradient(135deg, #f3212b, #d90b15);
	box-shadow: 0 14px 28px rgba(237, 28, 36, .25);
	color: #fff;
}

.vd-hero-actions .vd-btn-secondary {
	border: 1px solid var(--vd-red);
	background: rgba(255, 255, 255, .9);
	color: var(--vd-red);
}

.vd-hero-actions .button:hover {
	box-shadow: 0 16px 34px rgba(17, 43, 77, .16);
	transform: translateY(-2px);
}

.vd-hero-visual-col {
	position: relative;
	align-self: stretch;
	z-index: 1;
}

.vd-hero-visual-col > .col-inner {
	position: relative;
	height: 100%;
	min-height: 610px;
}

.vd-hero-visual {
	position: absolute;
	inset: 1% -24% 0 -28%;
	margin: 0 !important;
}

.vd-hero-visual,
.vd-hero-visual .img-inner {
	height: 100%;
	overflow: visible;
	background: transparent;
}

.vd-hero-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 46% 50%;
	filter: saturate(.92) contrast(1.02);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .36) 12%, #000 30%, #000 100%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .36) 12%, #000 30%, #000 100%);
}

.vd-route-marker,
.vd-route-marker .text {
	margin: 0;
}

.vd-route-marker {
	position: absolute;
	z-index: 5;
}

.vd-route-marker p {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	padding: 7px 12px 7px 7px;
	border: 1px solid rgba(210, 221, 233, .9);
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 12px 28px rgba(18, 45, 76, .16);
}

.vd-route-marker span {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 50%;
	background: #f3f6fa;
	font-size: 20px;
}

.vd-route-marker strong {
	color: var(--vd-navy);
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
}

.vd-route-marker--vn {
	left: 3%;
	bottom: 29%;
}

.vd-route-marker--tw {
	top: 23%;
	right: -6%;
}

@media (max-width: 1200px) {
	.vd-hero-row {
		width: calc(100% - 24px) !important;
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	.vd-hero-title h1 {
		font-size: clamp(48px, 5.2vw, 64px);
	}

	.vd-benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 0;
		max-width: 570px !important;
	}

	.vd-benefits > .col:nth-child(3) {
		padding-left: 0 !important;
		border-left: 0;
	}

	.vd-hero-visual {
		right: -30%;
	}
}

@media (max-width: 849px) {
	.vd-hero {
		min-height: 0;
	}

	.vd-hero-row {
		display: flex !important;
		min-height: 0;
		padding: 48px 24px 0 !important;
	}

	.vd-hero-row > .col {
		padding: 0 !important;
	}

	.vd-hero-copy-col {
		order: 1;
	}

	.vd-hero-copy-col > .col-inner {
		max-width: 680px;
		margin: 0 auto;
		text-align: center;
	}

	.vd-hero-kicker p {
		margin-bottom: 18px;
	}

	.vd-hero-title h1,
	.vd-hero-description p {
		margin-right: auto;
		margin-left: auto;
	}

	.vd-hero-title h1 {
		font-size: clamp(46px, 9vw, 62px);
	}

	.vd-hero-separator {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.vd-benefits,
	.vd-hero-actions {
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: left;
	}

	.vd-hero-visual-col {
		order: 2;
		margin-top: 24px;
	}

	.vd-hero-visual-col > .col-inner {
		min-height: 360px;
	}

	.vd-hero-visual {
		inset: -10px -10% 0 -10%;
	}

	.vd-hero-visual img {
		object-position: 49% 54%;
		-webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 100%);
		mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 100%);
	}

	.vd-route-marker--vn {
		left: 10%;
		bottom: 22%;
	}

	.vd-route-marker--tw {
		top: 23%;
		right: 9%;
	}
}

@media (max-width: 549px) {
	.vd-hero-row {
		width: 100% !important;
		padding: 36px 18px 0 !important;
	}

	.vd-hero-kicker p {
		padding: 7px 13px;
		font-size: 12px;
	}

	.vd-hero-title h1 {
		font-size: clamp(36px, 10.5vw, 44px);
		line-height: 1.04;
	}

	.vd-hero-lead p {
		max-width: 100%;
		font-size: 11px !important;
		letter-spacing: 0 !important;
		line-height: 1.55;
		white-space: normal !important;
	}

	.vd-hero-description p {
		font-size: 15px;
		line-height: 1.65;
	}

	.vd-benefits {
		gap: 16px 0;
		margin-top: 26px !important;
	}

	.vd-benefits > .col {
		padding: 0 9px !important;
	}

	.vd-benefits > .col:nth-child(odd) {
		padding-left: 0 !important;
		border-left: 0;
	}

	.vd-benefit p {
		grid-template-columns: 30px minmax(0, 1fr);
		gap: 7px;
	}

	.vd-benefit i {
		width: 30px;
		height: 30px;
		font-size: 21px;
	}

	.vd-benefit strong,
	.vd-benefit small {
		font-size: 10px;
	}

	.vd-hero-actions {
		grid-template-columns: 1fr;
		gap: 11px;
		margin-top: 28px !important;
	}

	.vd-hero-actions .button {
		min-height: 50px;
	}

	.vd-hero-visual-col > .col-inner {
		min-height: 300px;
	}

	.vd-route-marker p {
		gap: 6px;
		padding: 5px 8px 5px 5px;
	}

	.vd-route-marker span {
		width: 29px;
		height: 29px;
		font-size: 17px;
	}

	.vd-route-marker strong {
		font-size: 10px;
	}
}

/* Section 02: Why choose ELOG Express. */
.vd-why {
	position: relative;
	padding: 30px 0 30px !important;
	overflow: hidden;
	background:
		radial-gradient(circle at 9% 24%, rgba(20, 65, 119, .055) 0 1.5px, transparent 2px) 0 0 / 11px 11px,
		linear-gradient(135deg, #fbfcfe 0%, #fff 52%, #f8fafc 100%);
}

.vd-why::before {
	content: "";
	position: absolute;
	top: -230px;
	right: -170px;
	width: 560px;
	height: 560px;
	border: 1px solid rgba(14, 50, 93, .06);
	border-radius: 50%;
	box-shadow: 0 0 0 34px rgba(14, 50, 93, .02), 0 0 0 68px rgba(14, 50, 93, .014);
	pointer-events: none;
}

.vd-why > .section-content {
	position: relative;
	z-index: 2;
}

.vd-why-heading {
	width: min(900px, calc(100% - 32px)) !important;
	max-width: 900px !important;
	margin: 0 auto 42px !important;
}

.vd-why-heading > .col {
	padding: 0 !important;
}

.vd-why-heading .text {
	margin: 0;
	text-align: center;
}

.vd-section-anchor {
	position: relative;
	top: -84px;
	display: block;
	width: 0;
	height: 0;
	visibility: hidden;
}

.vd-why-kicker {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin: 0 0 10px !important;
	color: var(--vd-red) !important;
	font-size: 16px !important;
	font-weight: 900;
	letter-spacing: .035em;
	line-height: 1.3;
	text-transform: uppercase;
}

.vd-why-kicker::before,
.vd-why-kicker::after {
	content: "";
	width: 22px;
	height: 2px;
	border-radius: 4px;
	background: var(--vd-red);
}

.vd-why-heading h2 {
	margin: 0;
	color: #171f2b;
	font-size: clamp(38px, 4.6vw, 58px);
	font-weight: 900;
	letter-spacing: -.035em;
	line-height: 1.08;
	text-transform: uppercase;
}

.vd-why-heading h2 span {
	color: var(--vd-red);
}

.vd-why-intro {
	max-width: 620px;
	margin: 14px auto 0 !important;
	color: var(--vd-muted) !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
}

.vd-why-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	width: min(1340px, calc(100% - 48px)) !important;
	max-width: 1340px !important;
	margin: 0 auto !important;
}

.vd-why-grid > .col {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	padding: 0 !important;
}

.vd-why-card > .col-inner {
	height: 100%;
	min-height: 184px;
	padding: 30px 28px;
	border: 1px solid rgba(220, 226, 234, .94);
	border-radius: 14px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 12px 34px rgba(20, 45, 76, .075);
	transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.vd-why-card:hover > .col-inner {
	border-color: rgba(237, 28, 36, .24);
	box-shadow: 0 20px 42px rgba(20, 45, 76, .13);
	transform: translateY(-4px);
}

.vd-why-card .text {
	height: 100%;
	margin: 0;
}

.vd-why-card-content {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	align-items: center;
	gap: 22px;
	height: 100%;
}

.vd-why-icon {
	position: relative;
	display: grid;
	width: 88px;
	height: 88px;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(145deg, #f8f9fb, #eef1f5);
	box-shadow: inset 0 0 0 1px rgba(222, 228, 236, .68);
	color: var(--vd-navy);
	font-size: 39px;
}

.vd-why-icon::after {
	content: "";
	position: absolute;
	right: 10px;
	bottom: 9px;
	width: 14px;
	height: 14px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--vd-red);
	box-shadow: 0 2px 8px rgba(237, 28, 36, .3);
}

.vd-why-copy h3 {
	margin: 0;
	color: #172235;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.35;
	text-transform: uppercase;
}

.vd-why-copy h3::after {
	content: "";
	display: block;
	width: 24px;
	height: 2px;
	margin: 13px 0 12px;
	border-radius: 5px;
	background: var(--vd-red);
}

.vd-why-copy p {
	margin: 0;
	color: var(--vd-muted);
	font-size: 14px;
	line-height: 1.6;
}

@media (max-width: 1000px) {
	.vd-why {
		padding: 72px 0 78px !important;
	}

	.vd-why-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: min(760px, calc(100% - 32px)) !important;
	}
}

@media (max-width: 549px) {
	.vd-why {
		padding: 58px 0 62px !important;
	}

	.vd-why-heading {
		margin-bottom: 24px !important;
	}

	.vd-section-anchor {
	position: relative;
	top: -84px;
	display: block;
	width: 0;
	height: 0;
	visibility: hidden;
}

.vd-why-kicker {
		gap: 10px;
		font-size: 13px !important;
	}

	.vd-why-heading h2 {
		font-size: clamp(34px, 10vw, 42px);
	}

	.vd-why-intro {
		font-size: 15px !important;
	}

	.vd-why-grid {
		position: relative;
		display: flex !important;
		flex-flow: row nowrap !important;
		gap: 14px;
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
		padding: 34px 14px 18px 2px !important;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
		scrollbar-color: var(--vd-red) #dfe5ed;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x;
	}

	.vd-why-grid::before {
		content: "Vuốt ngang để xem thêm  →";
		position: absolute;
		top: 2px;
		left: 2px;
		z-index: 4;
		color: var(--vd-red);
		font-size: 12px;
		font-weight: 800;
	}

	.vd-why-grid::-webkit-scrollbar {
		height: 5px;
	}

	.vd-why-grid::-webkit-scrollbar-track {
		border-radius: 5px;
		background: #dfe5ed;
	}

	.vd-why-grid::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: var(--vd-red);
	}

	.vd-why-grid > .col {
		flex: 0 0 min(84vw, 340px) !important;
		width: min(84vw, 340px) !important;
		max-width: min(84vw, 340px) !important;
		min-width: min(84vw, 340px);
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.vd-why-card > .col-inner {
		min-height: 210px;
		padding: 28px 22px;
	}

	.vd-why-card-content {
		grid-template-columns: 74px minmax(0, 1fr);
		gap: 16px;
	}

	.vd-why-icon {
		width: 72px;
		height: 72px;
		font-size: 32px;
	}

	.vd-why-copy h3 {
		font-size: 15px;
	}
}

/* Section 03: Goods accepted for Vietnam - Taiwan shipping. */
.vd-goods {
	position: relative;
	padding: 30px 0 30px !important;
	background:
		linear-gradient(115deg, rgba(255, 255, 255, .98), rgba(248, 251, 255, .94)),
		radial-gradient(circle at 84% 15%, rgba(17, 64, 119, .08) 0 1.6px, transparent 2px) 0 0 / 11px 11px;
}

.vd-goods::before {
	content: "";
	position: absolute;
	top: 70px;
	right: -100px;
	width: 520px;
	height: 180px;
	border-top: 2px solid rgba(237, 28, 36, .08);
	border-radius: 50%;
	box-shadow: 0 -24px 0 rgba(15, 54, 101, .025), 0 -48px 0 rgba(15, 54, 101, .018);
	transform: rotate(-8deg);
	pointer-events: none;
}

.vd-goods > .section-content {
	position: relative;
	z-index: 2;
}

.vd-goods-heading {
	width: min(1120px, calc(100% - 32px)) !important;
	max-width: 1120px !important;
	margin: 0 auto 36px !important;
}

.vd-goods-heading > .col {
	padding: 0 !important;
}

.vd-goods-heading .text {
	margin: 0;
	text-align: center;
}

.vd-goods-kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	margin: 0 0 14px !important;
	padding: 7px 16px;
	border: 1px solid rgba(219, 225, 233, .96);
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 7px 20px rgba(20, 45, 76, .05);
	color: var(--vd-red) !important;
	font-size: 14px !important;
	font-weight: 900;
	line-height: 1.25;
	text-transform: uppercase;
}

.vd-goods-heading h2 {
	margin: 0;
	color: #101820;
	font-size: clamp(37px, 4.25vw, 56px);
	font-weight: 900;
	line-height: 1.3;
	text-transform: uppercase;
}

.vd-goods-heading h2 em {
	color: var(--vd-red);
	font-style: normal;
}

.vd-goods-intro {
	max-width: 760px;
	margin: 14px auto 0 !important;
	color: var(--vd-muted) !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
}

.vd-goods-intro::after {
	content: "";
	display: block;
	width: 42px;
	height: 3px;
	margin: 18px auto 0;
	border-radius: 10px;
	background: var(--vd-red);
}

.vd-goods-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	align-items: stretch;
	gap: 16px;
	width: min(1340px, calc(100% - 64px)) !important;
	max-width: 1340px !important;
	margin: 0 auto !important;
	padding: 12px 0 6px !important;
}

.vd-goods-grid > .col {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	padding: 0 !important;
}

.vd-good-card > .col-inner {
	position: relative;
	height: 100%;
	min-height: 332px;
	overflow: hidden;
	border: 1px solid rgba(217, 224, 233, .96);
	border-radius: 12px;
	background: #fff;
	transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.vd-good-card:hover > .col-inner {
	border-color: rgba(237, 28, 36, .26);
	transform: translateY(-5px);
}

.vd-good-card--featured > .col-inner {
	border-bottom: 3px solid var(--vd-red);
	transform: translateY(-12px);
}

.vd-good-card--featured:hover > .col-inner {
	transform: translateY(-16px);
}

/* Emphasize the middle goods card on desktop without changing swipe cards. */
@media (min-width: 1001px) {
	.vd-goods-grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr))
			minmax(0, 1.12fr)
			repeat(2, minmax(0, 1fr));
	}

	.vd-good-card--featured {
		position: relative;
		z-index: 4;
	}

	.vd-good-card--featured > .col-inner {
		border-color: rgba(237, 28, 36, .28);
		border-bottom-width: 4px;
		transform: translateY(-16px) scale(1.04);
	}

	.vd-good-card--featured:hover > .col-inner {
		transform: translateY(-20px) scale(1.045);
	}
}

.vd-good-image {
	margin: 0 !important;
}

.vd-good-image,
.vd-good-image .img-inner {
	width: 100%;
	height: 180px;
	overflow: hidden;
	background: #e9eef5;
}

.vd-good-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.vd-good-card:hover .vd-good-image img {
	transform: scale(1.055);
}

.vd-good-card--personal .vd-good-image img {
	object-position: 45% 55%;
}

.vd-good-card--food .vd-good-image img {
	object-position: 50% 52%;
}

.vd-good-card--beauty .vd-good-image img {
	object-position: 50% 48%;
}

.vd-good-card--electronics .vd-good-image img {
	object-position: 54% 50%;
}

.vd-good-card--business .vd-good-image img {
	object-position: 50% 56%;
}

.vd-good-icon,
.vd-good-icon .text {
	margin: 0;
}

.vd-good-icon {
	position: absolute;
	z-index: 4;
	top: 14px;
	left: 14px;
}

.vd-good-icon p {
	display: grid;
	width: 52px;
	height: 52px;
	margin: 0;
	place-items: center;
	border-radius: 10px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 8px 22px rgba(19, 43, 73, .14);
	color: var(--vd-red);
	font-size: 23px;
	line-height: 1;
}

.vd-good-copy,
.vd-good-copy .text {
	margin: 0;
}

.vd-good-copy {
	padding: 16px 16px 17px;
}

.vd-good-copy h3 {
	margin: 0;
	color: #171f2b;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.35;
	text-transform: uppercase;
}

.vd-good-copy h3::after {
	content: "";
	display: block;
	width: 25px;
	height: 2px;
	margin: 10px 0 10px;
	border-radius: 5px;
	background: var(--vd-red);
}

.vd-good-copy ul {
	margin: 0;
	padding: 0 0 0 10px;
	color: #29384c;
	font-size: 14px;
	line-height: 1.55;
}

.vd-good-copy li {
	margin-bottom: 4px;
	padding-left: 1px;
}

.vd-goods-pagination {
	width: min(400px, calc(100% - 32px)) !important;
	max-width: 400px !important;
	margin: 18px auto 0 !important;
}

.vd-goods-pagination > .col {
	padding: 0 !important;
}

.vd-goods-dots,
.vd-goods-dots .text,
.vd-goods-dots p {
	margin: 0;
}

.vd-goods-dots p {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.vd-goods-dots span {
	display: block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #d1d5da;
}

.vd-goods-dots span.is-active {
	width: 12px;
	height: 12px;
	background: var(--vd-red);
}

.vd-goods-services {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	align-items: center;
	width: min(1340px, calc(100% - 64px)) !important;
	max-width: 1340px !important;
	margin: 26px auto 0 !important;
	padding: 20px 18px !important;
	border: 1px solid rgba(219, 225, 233, .95);
	border-radius: 14px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 13px 34px rgba(20, 45, 76, .08);
}

.vd-goods-services > .col {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	padding: 0 18px !important;
}

.vd-goods-services > .col + .col {
	border-left: 1px solid #e1e6ed;
}

.vd-goods-service .text,
.vd-goods-service p {
	margin: 0;
}

.vd-goods-service p {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
}

.vd-goods-service i {
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(145deg, #f4212b, #d80913);
	box-shadow: 0 8px 20px rgba(237, 28, 36, .22);
	color: #fff;
	font-size: 20px;
}

.vd-goods-service strong,
.vd-goods-service small {
	display: block;
}

.vd-goods-service strong {
	color: #182235;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.3;
	text-transform: uppercase;
}

.vd-goods-service small {
	margin-top: 3px;
	color: var(--vd-muted);
	font-size: 14px;
	line-height: 1.35;
}

@media (max-width: 1200px) {
	.vd-goods-grid,
	.vd-goods-services {
		width: calc(100% - 32px) !important;
	}

	.vd-goods-grid {
		gap: 12px;
	}

	.vd-good-copy {
		padding-right: 12px;
		padding-left: 12px;
	}

	.vd-goods-services > .col {
		padding: 0 10px !important;
	}
}

@media (max-width: 1000px) {
	.vd-goods {
		padding: 72px 0 70px !important;
	}

	.vd-goods-grid {
		display: flex !important;
		flex-flow: row nowrap !important;
		gap: 16px;
		width: calc(100% - 32px) !important;
		max-width: calc(100% - 32px) !important;
		padding: 16px 6px 18px !important;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
		scrollbar-color: var(--vd-red) #dfe5ed;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x;
	}

	.vd-goods-grid > .col {
		flex: 0 0 276px !important;
		width: 276px !important;
		max-width: 276px !important;
		min-width: 276px;
		scroll-snap-align: center;
		scroll-snap-stop: always;
	}

	.vd-good-card--featured > .col-inner,
	.vd-good-card--featured:hover > .col-inner {
		transform: none;
	}

	.vd-goods-services {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px 0;
		width: min(760px, calc(100% - 32px)) !important;
		padding: 20px 14px !important;
	}

	.vd-goods-services > .col:nth-child(4) {
		border-left: 0;
	}
}

@media (max-width: 549px) {
	.vd-goods {
		padding: 58px 0 60px !important;
	}

	.vd-goods-heading {
		margin-bottom: 22px !important;
	}

	.vd-goods-kicker {
		font-size: 12px !important;
	}

	.vd-goods-heading h2 {
		font-size: clamp(28px, 8vw, 32px);
	}

	.vd-goods-intro {
		font-size: 15px !important;
	}

	.vd-goods-grid {
		position: relative;
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
		padding: 38px 12px 18px 2px !important;
	}

	.vd-goods-grid::before {
		content: "Vuốt ngang để xem thêm  →";
		position: absolute;
		top: 4px;
		left: 2px;
		z-index: 5;
		color: var(--vd-red);
		font-size: 12px;
		font-weight: 800;
	}

	.vd-goods-grid > .col {
		flex: 0 0 min(82vw, 320px) !important;
		width: min(82vw, 320px) !important;
		max-width: min(82vw, 320px) !important;
		min-width: min(82vw, 320px);
		scroll-snap-align: start;
	}

	.vd-good-card > .col-inner {
		min-height: 350px;
	}

	.vd-good-image,
	.vd-good-image .img-inner {
		height: 195px;
	}

	.vd-good-copy {
		padding: 17px 18px 18px;
	}

	.vd-good-copy h3 {
		font-size: 16px;
	}

	.vd-good-copy ul {
		font-size: 13px;
	}

	.vd-goods-pagination {
		margin-top: 12px !important;
	}

	.vd-goods-services {
		display: flex !important;
		flex-flow: row nowrap !important;
		gap: 12px;
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
		padding: 16px 12px !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.vd-goods-services::-webkit-scrollbar {
		display: none;
	}

	.vd-goods-services > .col {
		flex: 0 0 220px !important;
		width: 220px !important;
		max-width: 220px !important;
		min-width: 220px;
		padding: 0 12px !important;
		border-left: 0 !important;
		scroll-snap-align: start;
	}
}

/* Goods mobile heading line fix. */
.vd-goods-heading h2 .vd-goods-tail {
	color: #101820;
}

@media (max-width: 549px) {
	.vd-goods-heading h2 .vd-goods-tail {
		display: block;
		margin-top: 4px;
	}
}
/* Section 03: real Flatsome/Flickity goods carousel. */
.vd-goods-pagination {
	display: none !important;
}

.vd-goods-grid.vd-goods-carousel {
	display: block !important;
	width: min(1340px, calc(100% - 96px)) !important;
	max-width: 1340px !important;
	margin: 0 auto !important;
	padding: 34px 0 25px !important;
	overflow: visible !important;
	touch-action: pan-y;
}

.vd-goods-grid.vd-goods-carousel::before {
	content: none !important;
}

.vd-goods-grid.vd-goods-carousel .flickity-viewport {
	overflow: hidden;
	height: 420px !important;
	padding: 28px 0 24px;
	margin: -28px 0 -24px;
}

.vd-goods-grid.vd-goods-carousel .flickity-slider > .col {
	width: 22% !important;
	max-width: 22% !important;
	min-width: 0 !important;
	padding: 0 8px !important;
	opacity: 1;
	transform: scale(.9);
	transition: opacity .35s ease, transform .35s ease;
}

.vd-goods-grid.vd-goods-carousel .flickity-slider > .col.is-selected {
	z-index: 5;
	opacity: 1;
	transform: translateY(-12px) scale(1.06);
}

.vd-goods-grid.vd-goods-carousel .vd-good-card--featured > .col-inner,
.vd-goods-grid.vd-goods-carousel .vd-good-card--featured:hover > .col-inner {
	transform: none;
}

.vd-goods-grid.vd-goods-carousel .flickity-slider > .col.is-selected > .col-inner {
	border-color: rgba(237, 28, 36, .3);
	border-bottom: 4px solid var(--vd-red);
}

.vd-goods-grid.vd-goods-carousel .flickity-prev-next-button {
	width: 54px;
	height: 54px;
	border: 1px solid rgba(20, 45, 76, .12);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 14px 32px rgba(20, 45, 76, .16);
	color: var(--vd-navy);
	opacity: 1;
	transition: border-color .2s ease, color .2s ease, transform .2s ease;
}

.vd-goods-grid.vd-goods-carousel .flickity-prev-next-button:hover {
	border-color: var(--vd-red);
	color: var(--vd-red);
	transform: translateY(-50%) scale(1.06);
}

.vd-goods-grid.vd-goods-carousel .flickity-prev-next-button.previous {
	left: -68px;
}

.vd-goods-grid.vd-goods-carousel .flickity-prev-next-button.next {
	right: -68px;
}

.vd-goods-grid.vd-goods-carousel .flickity-page-dots {
	bottom: 10px;
}

.vd-goods-grid.vd-goods-carousel .flickity-page-dots .dot {
	width: 10px;
	height: 10px;
	margin: 0 6px;
	border: 0;
	background: #c7ced8;
	opacity: 1;
	transition: width .25s ease, border-radius .25s ease, background-color .25s ease;
}

.vd-goods-grid.vd-goods-carousel .flickity-page-dots .dot.is-selected {
	width: 32px;
	border-radius: 999px;
	background: var(--vd-red);
}

@media (max-width: 1000px) {
	.vd-goods-grid.vd-goods-carousel {
		display: block !important;
		width: calc(100% - 56px) !important;
		max-width: calc(100% - 56px) !important;
		padding: 28px 0 54px !important;
		overflow: visible !important;
	}

	.vd-goods-grid.vd-goods-carousel .flickity-slider > .col {
		width: 46% !important;
		max-width: 46% !important;
		min-width: 46% !important;
		padding: 0 8px !important;
		opacity: .66;
		transform: scale(.94);
	}

	.vd-goods-grid.vd-goods-carousel .flickity-slider > .col.is-selected {
		opacity: 1;
		transform: translateY(-8px) scale(1.02);
	}

	.vd-goods-grid.vd-goods-carousel .flickity-prev-next-button.previous {
		left: -24px;
	}

	.vd-goods-grid.vd-goods-carousel .flickity-prev-next-button.next {
		right: -24px;
	}
}

@media (max-width: 549px) {
	.vd-goods-grid.vd-goods-carousel {
		width: calc(100% - 38px) !important;
		max-width: calc(100% - 38px) !important;
		padding: 24px 0 56px !important;
	}

	.vd-goods-grid.vd-goods-carousel .flickity-viewport {
		padding: 18px 0 20px;
		margin: -18px 0 -20px;
	}

	.vd-goods-grid.vd-goods-carousel .flickity-slider > .col {
		width: 86% !important;
		max-width: 86% !important;
		min-width: 86% !important;
		padding: 0 7px !important;
		opacity: .58;
		transform: scale(.94);
	}

	.vd-goods-grid.vd-goods-carousel .flickity-slider > .col.is-selected {
		opacity: 1;
		transform: scale(1);
	}

	.vd-goods-grid.vd-goods-carousel .flickity-prev-next-button {
		width: 42px;
		height: 42px;
	}

	.vd-goods-grid.vd-goods-carousel .flickity-prev-next-button.previous {
		left: -16px;
	}

	.vd-goods-grid.vd-goods-carousel .flickity-prev-next-button.next {
		right: -16px;
	}
}
/* Section 04: Vietnam - Taiwan reference pricing. */
.vd-pricing {
	--vd-pricing-red: #ed1c24;
	--vd-pricing-navy: #0b2348;
	padding: 30px 0 30px !important;
	background:
		radial-gradient(circle at 9% 20%, rgba(237, 28, 36, .045), transparent 26%),
		linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
}

.vd-pricing-heading {
	width: min(1340px, calc(100% - 32px)) !important;
	max-width: 1340px !important;
	margin: 0 auto 28px !important;
}

.vd-pricing-heading > .col {
	padding-bottom: 0 !important;
}

.vd-pricing-heading .text {
	max-width: 1340px;
	margin: 0 auto;
}

.vd-pricing-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 34px;
	margin: 0 0 15px !important;
	padding: 7px 18px;
	border-radius: 999px;
	background: var(--vd-pricing-red);
	color: #fff;
	font-size: 13px !important;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .04em;
	text-transform: uppercase;
	box-shadow: 0 9px 24px rgba(237, 28, 36, .2);
}

.vd-pricing-heading h2 {
	margin: 0 !important;
	color: var(--vd-pricing-navy);
	font-size: clamp(36px, 4.1vw, 50px) !important;
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.035em;
	text-transform: uppercase;
}

.vd-pricing-heading h2 em {
	color: var(--vd-pricing-red);
	font-style: normal;
}

.vd-pricing-intro {
	margin: 10px 0 0 !important;
	color: #26364d;
	font-size: 17px !important;
	font-weight: 500;
	line-height: 1.55;
}

.vd-pricing-intro::after {
	content: "";
	display: block;
	width: 82px;
	height: 3px;
	margin: 14px auto 0;
	border-radius: 999px;
	background: var(--vd-pricing-red);
}

.vd-pricing-layout {
	align-items: stretch;
	width: min(1340px, calc(100% - 32px)) !important;
	max-width: 1340px !important;
	margin: 0 auto !important;
}

.vd-pricing-layout > .col {
	display: flex;
	padding: 0 8px !important;
}

.vd-pricing-layout > .col > .col-inner {
	width: 100%;
	height: 100%;
}

.vd-pricing-table-image,
.vd-pricing-table-image .img-inner {
	height: 100%;
	margin: 0 !important;
}

.vd-pricing-table-image .img-inner {
	overflow: hidden;
	border: 1px solid rgba(20, 45, 76, .1);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 20px 48px rgba(20, 45, 76, .12);
}

.vd-pricing-table-image img {
	width: 100%;
	height: 100%;
	min-height: 480px;
	object-fit: contain;
	background: #fff;
}

.vd-pricing-side-col > .col-inner {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	gap: 16px;
}

.vd-pricing-notes,
.vd-pricing-notes .text {
	height: 100%;
}

.vd-pricing-notes .text {
	padding: 22px 24px 18px;
	border: 1px solid rgba(20, 45, 76, .09);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 16px 38px rgba(20, 45, 76, .1);
}

.vd-pricing-notes h3 {
	position: relative;
	margin: 0 0 15px !important;
	padding-bottom: 10px;
	color: var(--vd-pricing-navy);
	font-size: 19px !important;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.vd-pricing-notes h3::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 34px;
	height: 3px;
	border-radius: 999px;
	background: var(--vd-pricing-red);
}

.vd-pricing-notes ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.vd-pricing-notes li {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	margin: 0;
	padding: 9px 0;
	border-top: 1px solid rgba(20, 45, 76, .08);
	color: #26364d;
	font-size: 14px;
	line-height: 1.5;
}

.vd-pricing-notes li:first-child {
	border-top: 0;
}

.vd-pricing-notes li i {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--vd-pricing-red);
	color: #fff;
	font-size: 11px;
}

.vd-pricing-transit {
	min-height: 270px;
	overflow: hidden;
	border-radius: 16px;
	box-shadow: 0 20px 48px rgba(20, 45, 76, .18);
}

.vd-pricing-transit .overlay {
	background: linear-gradient(90deg, rgba(5, 13, 29, .94) 0%, rgba(5, 13, 29, .68) 48%, rgba(5, 13, 29, .08) 100%) !important;
}

.vd-pricing-transit-copy .text-box-content {
	padding: 0 !important;
	background: transparent !important;
}

.vd-pricing-transit-copy p {
	margin: 0 0 6px !important;
	color: #fff;
	font-size: 15px !important;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.vd-pricing-transit-copy h3 {
	margin: 0 0 12px !important;
	color: #fff;
	font-size: clamp(40px, 4vw, 54px) !important;
	font-weight: 800;
	line-height: .98;
	text-transform: uppercase;
}

.vd-pricing-transit-copy h3 span {
	display: block;
	margin-top: 6px;
	color: var(--vd-pricing-red);
}

.vd-pricing-transit-copy small {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 12px;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 999px;
	color: #fff;
	font-size: 12px;
	line-height: 1.2;
}

@media (max-width: 1000px) {
	.vd-pricing {
		padding: 68px 0 74px !important;
	}

	.vd-pricing-layout > .col {
		flex-basis: 100% !important;
		max-width: 100% !important;
	}

	.vd-pricing-table-col {
		margin-bottom: 18px;
	}

	.vd-pricing-table-image img {
		min-height: 0;
	}

	.vd-pricing-side-col > .col-inner {
		grid-template: 1fr / repeat(2, minmax(0, 1fr));
	}

	.vd-pricing-transit {
		min-height: 100%;
	}
}

@media (max-width: 549px) {
	.vd-pricing {
		padding: 54px 0 60px !important;
	}

	.vd-pricing-heading {
		margin-bottom: 22px !important;
	}

	.vd-pricing-kicker {
		padding: 7px 14px;
		font-size: 11px !important;
	}

	.vd-pricing-heading h2 {
		font-size: 29px !important;
		line-height: 1.16;
	}

	.vd-pricing-heading h2 span {
		display: block;
		margin-top: 3px;
	}

	.vd-pricing-intro {
		font-size: 15px !important;
	}

	.vd-pricing-layout {
		width: calc(100% - 20px) !important;
		max-width: calc(100% - 20px) !important;
	}

	.vd-pricing-layout > .col {
		padding: 0 4px !important;
	}

	.vd-pricing-side-col > .col-inner {
		grid-template: none;
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.vd-pricing-notes .text {
		padding: 20px 18px 16px;
	}

	.vd-pricing-notes li {
		font-size: 13px;
	}

	.vd-pricing-transit {
		min-height: 250px;
	}
}
/* Section 05: customer commitment and image reviews. */
.vd-commitment {
	--vd-commit-red: #ed1c24;
	--vd-commit-navy: #0b2348;
	padding: 45px 0 15px !important;
	background:
		radial-gradient(circle at 82% 10%, rgba(237, 28, 36, .045), transparent 26%),
		linear-gradient(180deg, #fff 0%, #fafbfd 100%);
}

.vd-commit-layout {
	align-items: stretch;
	width: min(1340px, calc(100% - 32px)) !important;
	max-width: 1340px !important;
	margin: 0 auto !important;
}

.vd-commit-layout > .col {
	display: flex;
	padding: 0 8px !important;
}

.vd-commit-layout > .col > .col-inner {
	width: 100%;
	height: 100%;
}

.vd-commit-left > .col-inner {
	position: relative;
	min-height: 520px;
	overflow: hidden;
	padding: 44px 38px 36px;
	border-radius: 18px;
	background:
		radial-gradient(circle at 86% 38%, rgba(255, 255, 255, .23), transparent 4%),
		linear-gradient(145deg, #ee101b 0%, #c6000b 52%, #8f0009 100%);
	box-shadow: 0 24px 58px rgba(174, 0, 13, .24);
}

.vd-commit-left > .col-inner::before,
.vd-commit-left > .col-inner::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.vd-commit-left > .col-inner::before {
	inset: 0;
	background:
		linear-gradient(160deg, transparent 28%, rgba(255, 255, 255, .08) 29%, transparent 30%),
		linear-gradient(350deg, transparent 60%, rgba(255, 255, 255, .07) 61%, transparent 62%);
}

.vd-commit-left > .col-inner::after {
	right: -90px;
	bottom: -120px;
	width: 360px;
	height: 360px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 50%;
	box-shadow: 0 0 0 38px rgba(255, 255, 255, .035), 0 0 0 78px rgba(255, 255, 255, .025);
}

.vd-commit-left .ux-text,
.vd-commit-left .row {
	position: relative;
	z-index: 2;
}

.vd-commit-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 32px;
	margin: 0 0 16px !important;
	padding: 7px 13px;
	border-radius: 6px;
	background: #fff;
	color: var(--vd-commit-red);
	font-size: 12px !important;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.vd-commit-title h2 {
	max-width: 470px;
	margin: 0 !important;
	color: #fff;
	font-size: clamp(34px, 3.6vw, 45px) !important;
	font-weight: 800;
	line-height: 1.13;
	letter-spacing: -.025em;
	text-transform: uppercase;
}

.vd-commit-title h2::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin-top: 18px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
}

.vd-commit-body {
	align-items: center;
	width: 100% !important;
	margin: 22px 0 0 !important;
}

.vd-commit-body > .col {
	padding: 0 !important;
}

.vd-commit-list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.vd-commit-list li {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 8px 0;
	color: #fff;
	font-size: 13px;
	line-height: 1.45;
}

.vd-commit-list li i {
	display: inline-grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff;
	color: var(--vd-commit-red);
	font-size: 13px;
	box-shadow: 0 8px 18px rgba(92, 0, 7, .18);
}

.vd-commit-shield,
.vd-commit-shield .text {
	height: 100%;
}

.vd-commit-shield .text {
	display: grid;
	place-items: center;
}

.vd-commit-shield-mark {
	position: relative;
	display: grid;
	place-items: center;
	width: 210px;
	height: 230px;
}

.vd-commit-shield-mark::before {
	content: "";
	position: absolute;
	inset: 28px 5px 8px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, .55) 0%, rgba(255, 81, 89, .22) 34%, transparent 70%);
	filter: blur(4px);
}

.vd-commit-shield-mark > i {
	position: relative;
	z-index: 1;
	color: #fff;
	font-size: 188px;
	filter: drop-shadow(0 18px 22px rgba(83, 0, 6, .28));
}

.vd-commit-shield-mark span {
	position: absolute;
	z-index: 2;
	top: 86px;
	left: 50%;
	display: grid;
	place-items: center;
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background: var(--vd-commit-red);
	color: #fff;
	font-size: 34px;
	transform: translateX(-50%);
	box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .84), 0 12px 24px rgba(96, 0, 7, .28);
}

.vd-commit-right > .col-inner {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.vd-commit-stats {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100% !important;
	margin: 0 !important;
	padding: 20px 14px !important;
	border: 1px solid rgba(20, 45, 76, .08);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(20, 45, 76, .1);
}

.vd-commit-stats > .col {
	width: auto !important;
	max-width: none !important;
	padding: 0 10px !important;
}

.vd-commit-stats > .col + .col {
	border-left: 1px solid rgba(20, 45, 76, .08);
}

.vd-commit-stat,
.vd-commit-stat .text {
	height: 100%;
}

.vd-commit-stat .text {
	text-align: center;
}

.vd-commit-stat i {
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin-bottom: 8px;
	border-radius: 50%;
	background: rgba(237, 28, 36, .08);
	color: var(--vd-commit-red);
	font-size: 21px;
}

.vd-commit-stat strong {
	display: block;
	margin-bottom: 5px;
	color: #101820;
	font-size: 23px;
	font-weight: 800;
	line-height: 1.1;
}

.vd-commit-stat small {
	display: block;
	color: #26364d;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.45;
	text-transform: uppercase;
}

.vd-review-panel {
	flex: 1;
	width: 100% !important;
	margin: 0 !important;
}

.vd-review-panel > .col {
	padding: 0 !important;
}

.vd-review-panel > .col > .col-inner {
	height: 100%;
	min-height: 324px;
	padding: 22px 26px 18px;
	border: 1px solid rgba(20, 45, 76, .08);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(20, 45, 76, .1);
}

.vd-review-heading .text > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.vd-review-heading h3 {
	margin: 0 !important;
	color: var(--vd-commit-navy);
	font-size: 18px !important;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
}

.vd-review-heading a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #26364d;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}

.vd-review-heading a i {
	color: var(--vd-commit-red);
}

.vd-review-slider {
	margin: 0 !important;
}

.vd-review-slider .flickity-viewport {
	padding: 4px 0 8px;
}

.vd-review-slider .flickity-slider > .img {
	padding: 0 6px;
	opacity: .72;
	transition: opacity .25s ease, transform .25s ease;
}

.vd-review-slider .flickity-slider > .img.is-selected {
	opacity: 1;
	transform: translateY(-2px);
}

.vd-review-slider .img-inner {
	height: 230px;
	overflow: hidden;
	border: 1px solid rgba(20, 45, 76, .08);
	border-radius: 10px;
	background: #f3f5f8;
	box-shadow: 0 10px 24px rgba(20, 45, 76, .1);
}

.vd-review-slider .img-inner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vd-review-slider .flickity-prev-next-button {
	width: 42px;
	height: 42px;
	border: 1px solid rgba(20, 45, 76, .1);
	background: #fff;
	color: var(--vd-commit-navy);
	box-shadow: 0 10px 24px rgba(20, 45, 76, .14);
	opacity: 1;
}

.vd-review-slider .flickity-prev-next-button.previous {
	left: -20px;
}

.vd-review-slider .flickity-prev-next-button.next {
	right: -20px;
}

.vd-review-slider .flickity-page-dots {
	bottom: -18px;
}

.vd-review-slider .flickity-page-dots .dot {
	width: 8px;
	height: 8px;
	margin: 0 5px;
	border: 0;
	background: #c9ced6;
	opacity: 1;
}

.vd-review-slider .flickity-page-dots .dot.is-selected {
	background: var(--vd-commit-red);
}

.vd-review-slider .image-lightbox {
	position: relative;
	display: block;
	cursor: zoom-in;
}

.vd-review-slider .image-lightbox::after {
	content: "\f00e";
	position: absolute;
	right: 13px;
	bottom: 13px;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .94);
	color: var(--vd-commit-red);
	font-family: "Font Awesome 6 Free";
	font-size: 15px;
	font-weight: 900;
	box-shadow: 0 8px 20px rgba(20, 45, 76, .18);
	transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

.vd-review-slider .image-lightbox:hover::after {
	background: var(--vd-commit-red);
	color: #fff;
	transform: scale(1.08);
}

@media (max-width: 1000px) {
	.vd-commitment {
		padding: 72px 0 78px !important;
	}

	.vd-commit-layout > .col {
		flex-basis: 100% !important;
		max-width: 100% !important;
	}

	.vd-commit-left {
		margin-bottom: 18px;
	}

	.vd-commit-left > .col-inner {
		min-height: 500px;
	}
}

@media (max-width: 549px) {
	.vd-commitment {
		padding: 56px 0 62px !important;
	}

	.vd-commit-layout {
		width: calc(100% - 20px) !important;
		max-width: calc(100% - 20px) !important;
	}

	.vd-commit-layout > .col {
		padding: 0 4px !important;
	}

	.vd-commit-left > .col-inner {
		min-height: 0;
		padding: 30px 22px 26px;
	}

	.vd-commit-title h2 {
		font-size: 29px !important;
	}

	.vd-commit-body {
		margin-top: 18px !important;
	}

	.vd-commit-body > .col {
		flex-basis: 100% !important;
		max-width: 100% !important;
	}

	.vd-commit-list li {
		font-size: 12px;
	}

	.vd-commit-shield-mark {
		width: 190px;
		height: 190px;
		margin-top: 10px;
	}

	.vd-commit-shield-mark > i {
		font-size: 150px;
	}

	.vd-commit-shield-mark span {
		top: 70px;
		width: 58px;
		height: 58px;
		font-size: 28px;
	}

	.vd-commit-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 0;
		padding: 20px 12px !important;
	}

	.vd-commit-stats > .col:nth-child(3) {
		border-left: 0;
	}

	.vd-review-panel > .col > .col-inner {
		padding: 20px 18px 18px;
	}

	.vd-review-heading .text > div {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.vd-review-heading h3 {
		font-size: 16px !important;
	}

	.vd-review-slider .img-inner {
		height: 330px;
	}

	.vd-review-slider .flickity-prev-next-button.previous {
		left: -13px;
	}

	.vd-review-slider .flickity-prev-next-button.next {
		right: -13px;
	}
}
/* Section 06: media activities and social video slider. */
.vd-media {
	--vd-media-red: #ed1c24;
	--vd-media-navy: #0b2348;
	padding: 30px 0 45px !important;
	overflow: hidden;
	background:
		radial-gradient(circle at 8% 25%, rgba(20, 45, 76, .045) 0 2px, transparent 2.5px) 0 0 / 11px 11px,
		linear-gradient(180deg, #fff 0%, #fafbfd 100%);
}

.vd-media::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .66) 50%, rgba(255, 255, 255, .9));
	pointer-events: none;
}

.vd-media > .section-content {
	position: relative;
	z-index: 2;
}

.vd-media-heading {
	width: min(1340px, calc(100% - 32px)) !important;
	max-width: 1340px !important;
	margin: 0 auto 26px !important;
}

.vd-media-heading > .col {
	padding-bottom: 0 !important;
}

.vd-media-heading .text {
	max-width: 980px;
	margin: 0 auto;
}

.vd-media-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 14px !important;
	color: var(--vd-media-red);
	font-size: 13px !important;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.vd-media-kicker::before,
.vd-media-kicker::after {
	content: "";
	width: 34px;
	height: 1px;
	background: rgba(237, 28, 36, .55);
}

.vd-media-heading h2 {
	margin: 0 !important;
	color: #101820;
	font-size: clamp(38px, 4.2vw, 52px) !important;
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.035em;
	text-transform: uppercase;
}

.vd-media-heading h2 span {
	display: block;
	color: var(--vd-media-red);
}

.vd-media-intro {
	margin: 12px 0 0 !important;
	color: #4e5968;
	font-size: 16px !important;
	line-height: 1.55;
}

.vd-media-features {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	width: min(1340px, calc(100% - 32px)) !important;
	max-width: 1340px !important;
	margin: 0 auto 28px !important;
	padding: 18px 16px !important;
	border: 1px solid rgba(20, 45, 76, .08);
	border-radius: 16px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 16px 38px rgba(20, 45, 76, .09);
}

.vd-media-features > .col {
	width: auto !important;
	max-width: none !important;
	padding: 0 14px !important;
}

.vd-media-features > .col + .col {
	border-left: 1px solid rgba(20, 45, 76, .09);
}

.vd-media-feature p {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: center;
	gap: 11px;
	margin: 0 !important;
}

.vd-media-feature i {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: rgba(237, 28, 36, .07);
	color: var(--vd-media-red);
	font-size: 20px;
}

.vd-media-feature strong,
.vd-media-feature small {
	display: block;
}

.vd-media-feature strong {
	margin-bottom: 3px;
	color: var(--vd-media-navy);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.35;
	text-transform: uppercase;
}

.vd-media-feature small {
	color: #4e5968;
	font-size: 14px;
	line-height: 1.45;
}

.vd-media-slider-row {
	width: min(1340px, calc(100% - 56px)) !important;
	max-width: 1340px !important;
	margin: 0 auto !important;
}

.vd-media-slider-row > .col {
	padding: 0 !important;
}

.vd-video-slider {
	margin: 0 !important;
}

.vd-video-slider .flickity-viewport {
	padding: 8px 0 18px;
	margin-bottom: -10px;
	height: 480px !important;
}

.vd-video-card {
	height: 360px !important;
	margin: 0 7px;
	overflow: hidden;
	border: 1px solid rgba(20, 45, 76, .09);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 16px 38px rgba(20, 45, 76, .11);
	transition: box-shadow .25s ease, transform .25s ease;
}

.vd-video-card:hover {
	box-shadow: 0 22px 48px rgba(20, 45, 76, .17);
	transform: translateY(-5px);
}

.vd-video-card .banner-bg {
	bottom: auto;
	height: 62%;
}

.vd-video-card .overlay {
	background: linear-gradient(180deg, rgba(5, 13, 29, .08) 20%, rgba(5, 13, 29, .44) 100%) !important;
}

.vd-video-platform {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 5;
}

.vd-video-platform p {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	margin: 0 !important;
	border-radius: 8px;
	background: #111;
	color: #fff;
	font-size: 18px;
	box-shadow: 0 8px 18px rgba(0, 0, 0, .2);
}

.vd-video-card--youtube .vd-video-platform p {
	background: #f00;
}

.vd-video-play .text-box-content {
	padding: 0 !important;
	background: transparent !important;
}

.vd-video-play p {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin: 0 auto !important;
	border: 1px solid rgba(255, 255, 255, .92);
	border-radius: 50%;
	background: rgba(5, 13, 29, .46);
	color: #fff;
	font-size: 22px;
	backdrop-filter: blur(3px);
	transition: background-color .2s ease, transform .2s ease;
}

.vd-video-card:hover .vd-video-play p {
	background: var(--vd-media-red);
	transform: scale(1.08);
}

.vd-video-duration {
	position: absolute;
	right: 12px;
	bottom: 142px;
	z-index: 5;
}

.vd-video-duration p {
	margin: 0 !important;
	padding: 4px 7px;
	border-radius: 5px;
	background: rgba(5, 13, 29, .86);
	color: #fff;
	font-size: 10px !important;
	font-weight: 700;
	line-height: 1.2;
}

.vd-video-card-copy {
	top: auto !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	transform: none !important;
}

.vd-video-card-copy .text-box-content {
	display: flex;
	align-items: center;
	min-height: 138px;
	padding: 16px 15px 14px !important;
	background: #fff !important;
}

.vd-video-card-copy h3 {
	margin: 0 0 7px !important;
	color: var(--vd-media-navy);
	font-size: 14px !important;
	font-weight: 800;
	line-height: 1.35;
}

.vd-video-card-copy p {
	margin: 0 0 9px !important;
	color: #5d6674;
	font-size: 10px !important;
	line-height: 1.45;
}

.vd-video-card-copy small {
	color: var(--vd-media-red);
	font-size: 10px;
	font-weight: 800;
}

.vd-video-slider .flickity-prev-next-button {
	width: 48px;
	height: 48px;
	border: 1px solid rgba(20, 45, 76, .1);
	color: var(--vd-media-red);
	box-shadow: 0 12px 28px rgba(20, 45, 76, .14);
	opacity: 1;
}

.vd-video-slider .flickity-prev-next-button.previous {
	left: -100px;
}

.vd-video-slider .flickity-prev-next-button.next {
	right: -100px;
}

.vd-video-slider .flickity-page-dots {
	bottom: 0;
}

.vd-video-slider .flickity-page-dots .dot {
	width: 8px;
	height: 8px;
	margin: 0 5px;
	border: 0;
	background: #c8cdd5;
	opacity: 1;
}

.vd-video-slider .flickity-page-dots .dot.is-selected {
	background: var(--vd-media-red);
}

.vd-media-actions {
	width: min(650px, calc(100% - 32px)) !important;
	max-width: 650px !important;
	margin: 34px auto 0 !important;
}

.vd-media-actions > .col {
	padding-bottom: 0 !important;
	text-align: center;
}

.vd-media-actions .button {
	min-width: 275px;
	min-height: 48px;
	margin: 0 7px 10px !important;
	border-radius: 7px !important;
	font-size: 12px !important;
	font-weight: 800;
	line-height: 46px !important;
}

.vd-media-follow {
	margin-top: 2px;
	color: #6a7280;
	font-size: 12px !important;
}

.vd-media-follow strong {
	color: var(--vd-media-red);
}

@media (max-width: 1000px) {
	.vd-media {
		padding: 68px 0 74px !important;
	}

	.vd-media-features {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px 0;
	}

	.vd-media-features > .col:nth-child(4) {
		border-left: 0;
	}
}

@media (max-width: 549px) {
	.vd-media {
		padding: 54px 0 62px !important;
	}

	.vd-media-heading h2 {
		font-size: 30px !important;
	}

	.vd-media-kicker {
		font-size: 11px !important;
	}

	.vd-media-kicker::before,
	.vd-media-kicker::after {
		width: 22px;
	}

	.vd-media-intro {
		font-size: 14px !important;
	}

	.vd-media-features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: calc(100% - 20px) !important;
		max-width: calc(100% - 20px) !important;
		padding: 18px 10px !important;
	}

	.vd-media-features > .col {
		padding: 0 10px !important;
	}

	.vd-media-features > .col:nth-child(3),
	.vd-media-features > .col:nth-child(5) {
		border-left: 0;
	}

	.vd-media-features > .col:last-child {
		grid-column: 1 / -1;
		max-width: 50% !important;
		margin: 0 auto;
	}

	.vd-media-slider-row {
		width: calc(100% - 32px) !important;
		max-width: calc(100% - 32px) !important;
	}

	.vd-video-card {
		height: 390px !important;
	}

	.vd-video-card-copy .text-box-content {
		min-height: 148px;
	}

	.vd-video-duration {
		bottom: 152px;
	}

	.vd-video-slider .flickity-prev-next-button {
		width: 42px;
		height: 42px;
	}

	.vd-video-slider .flickity-prev-next-button.previous {
		left: -18px;
	}

	.vd-video-slider .flickity-prev-next-button.next {
		right: -18px;
	}

	.vd-media-actions .button {
		width: 100%;
		min-width: 0;
		margin: 0 0 10px !important;
	}
}

/* URL-only inline Reel videos for Section 06. */
.vd-video-slider .vd-inline-reel-card {
	position: relative;
	width: 100% !important;
	min-width: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.vd-inline-reel-frame,
.vd-inline-reel-empty {
	width: calc(100% - 30px) !important;
	margin: 0 15px !important;
	box-sizing: border-box;
	overflow: hidden;
	aspect-ratio: 9 / 16;
	border: 1px solid rgba(20, 45, 76, .1);
	border-radius: 14px;
	background: #050b16;
	box-shadow: 0 16px 38px rgba(20, 45, 76, .13);
}
.vd-inline-reel-frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	pointer-events: auto;
	touch-action: auto;
	background: #050b16;
}
.vd-inline-reel-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 24px;
	background: linear-gradient(145deg, #071a37, #102e58);
	color: #fff;
	text-align: center;
}
.vd-inline-reel-empty i {
	color: var(--vd-media-red);
	font-size: 48px;
}
.vd-inline-reel-empty strong {
	font-size: 16px;
	font-weight: 800;
}
.vd-inline-reel-empty span {
	max-width: 190px;
	color: rgba(255, 255, 255, .72);
	font-size: 12px;
	line-height: 1.5;
}

/* Section 07: challenges and ELOG solution. */
.vd-challenges {
	position: relative;
	padding: 45px 0 30px !important;
	overflow: hidden;
	background: radial-gradient(circle at 7% 22%, rgba(7,31,67,.055) 0 1.4px, transparent 1.8px) 0 0 / 12px 12px, linear-gradient(180deg,#fff 0%,#fbfcfe 50%,#fff 100%);
}
.vd-challenges::before,.vd-challenges::after { content:""; position:absolute; z-index:0; width:124px; height:124px; border-radius:22px; background:linear-gradient(145deg,rgba(239,214,190,.48),rgba(246,232,217,.08)); transform:rotate(27deg); pointer-events:none; }
.vd-challenges::before { top:55px; right:7%; }
.vd-challenges::after { top:160px; right:12%; width:86px; height:86px; opacity:.75; }
.vd-challenges>.section-content { position:relative; z-index:1; }
.vd-challenges-heading,.vd-challenges-grid,.vd-solution-panel { width:min(1340px,calc(100% - 48px)) !important; max-width:1320px !important; margin-right:auto !important; margin-left:auto !important; }
.vd-challenges-heading { max-width:1340px !important; }
.vd-challenges-heading>.col,.vd-challenges-grid>.col,.vd-solution-panel>.col,.vd-solution-types>.col,.vd-solution-promises>.col,.vd-solution-gallery>.col { padding-bottom:0 !important; }
.vd-challenges-heading .col-inner { text-align:center; }
.vd-challenges-kicker { display:inline-flex; align-items:center; gap:8px; margin:0 0 16px !important; padding:7px 18px; border-radius:999px; background:linear-gradient(135deg,var(--vd-red-dark),var(--vd-red)); box-shadow:0 10px 24px rgba(237,28,36,.18); color:#fff; font-size:12px !important; font-weight:900; letter-spacing:.035em; line-height:1.2; text-transform:uppercase; }
.vd-challenges-heading h2 { margin:0 auto 14px !important; color:#050505; font-size:clamp(38px,4.1vw,54px) !important; font-weight:900; letter-spacing:-.025em; line-height:1.04; text-transform:uppercase; }
.vd-challenges-heading h2 span { display:block; color:var(--vd-red); }
.vd-challenges-intro { max-width:650px; margin:0 auto !important; color:#667085; font-size:15px !important; line-height:1.65; }
.vd-challenges-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:34px !important; }
.vd-challenges-grid>.col { width:100% !important; max-width:none !important; padding:0 !important; }
.vd-challenge-card>.col-inner { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:150px; padding:22px 18px !important; border:1px solid rgba(7,31,67,.055); border-radius:14px; background:rgba(255,255,255,.96); box-shadow:0 14px 38px rgba(20,45,76,.075); text-align:center; transition:transform .25s ease,box-shadow .25s ease; }
.vd-challenge-card:hover>.col-inner { transform:translateY(-5px); box-shadow:0 20px 46px rgba(20,45,76,.12); }
.vd-challenge-card p { margin:0 !important; color:#202a38; font-size:14px !important; line-height:1.5; }
.vd-challenge-card p>i { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 14px; border:1px solid rgba(236,190,30,.18); border-radius:50%; background:linear-gradient(145deg,#fff9dc,#fff0ac); color:#131a24; font-size:25px; box-shadow:0 8px 20px rgba(193,144,0,.1); }
.vd-challenge-card strong { font-weight:800; }
.vd-solution-panel { display:grid !important; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:24px; margin-top:34px !important; padding:28px !important; border:1px solid rgba(237,28,36,.055); border-radius:20px; background:linear-gradient(125deg,#fff9f8 0%,#fff 54%,#fff9f8 100%); box-shadow:0 18px 54px rgba(20,45,76,.08); }
.vd-solution-panel>.col { width:100% !important; max-width:none !important; padding:0 !important; }
.vd-solution-copy>.col-inner { display:flex; flex-direction:column; height:100%; padding:10px 10px 4px !important; }
.vd-solution-kicker { display:flex; align-items:center; gap:10px; margin:0 0 12px !important; color:var(--vd-red); font-size:12px !important; font-weight:900; letter-spacing:.03em; text-transform:uppercase; }
.vd-solution-kicker::before { content:""; width:28px; height:3px; border-radius:999px; background:var(--vd-red); }
.vd-solution-title h3 { max-width:650px; margin:0 0 12px !important; color:#080b10; font-size:clamp(30px,3vw,43px) !important; font-weight:900; letter-spacing:-.025em; line-height:1.08; text-transform:uppercase; }
.vd-solution-title h3 span { display:block; color:var(--vd-red); }
.vd-solution-description { max-width:650px; margin:0 0 20px !important; color:#606b7a; font-size:14px !important; line-height:1.65; }
.vd-solution-types { display:grid !important; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; width:100% !important; max-width:none !important; margin:0 0 20px !important; }
.vd-solution-types>.col { width:100% !important; max-width:none !important; padding:0 !important; }
.vd-solution-type p { display:flex; flex-direction:column; align-items:center; gap:8px; margin:0 !important; color:#273244; font-size:10px !important; font-weight:800; line-height:1.35; text-align:center; }
.vd-solution-type i { display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(237,28,36,.28); border-radius:50%; background:#fff; color:var(--vd-red); font-size:19px; box-shadow:0 8px 18px rgba(20,45,76,.06); }
.vd-solution-promises { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); width:100% !important; max-width:none !important; margin:auto 0 18px !important; padding:13px 10px !important; border:1px solid rgba(20,45,76,.065); border-radius:12px; background:#fff; box-shadow:0 10px 24px rgba(20,45,76,.045); }
.vd-solution-promises>.col { width:100% !important; max-width:none !important; padding:0 9px !important; border-left:1px solid #edf0f4; }
.vd-solution-promises>.col:first-child { border-left:0; }
.vd-solution-promise p { display:grid; grid-template-columns:30px 1fr; align-items:center; gap:7px; margin:0 !important; color:#39465a; font-size:9px !important; line-height:1.35; }
.vd-solution-promise i { grid-row:1/3; color:var(--vd-red); font-size:21px; }
.vd-solution-promise strong,.vd-solution-promise small { display:block; }
.vd-solution-promise strong { color:#172237; font-size:9px; font-weight:900; text-transform:uppercase; }
.vd-solution-promise small { font-size:9px; }
.vd-solution-promise small em { color:var(--vd-red); font-style:normal; font-weight:800; }
.vd-solution-actions { margin-top:0; }
.vd-solution-actions .col-inner { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.vd-solution-actions .button { min-height:46px; margin:0 !important; border-radius:7px !important; font-size:16px !important; font-weight:900; line-height:44px !important; }
.vd-solution-actions .vd-solution-consult { min-width:230px; box-shadow:0 12px 26px rgba(237,28,36,.18); }
.vd-solution-actions .vd-solution-phone { min-width:170px; background:#fff !important; }
.vd-solution-gallery-col>.col-inner { position:relative; height:100%; min-height:430px; }
.vd-solution-gallery { display:grid !important; grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr); gap:12px; width:100% !important; max-width:none !important; height:100%; margin:0 !important; }
.vd-solution-gallery>.col { width:100% !important; max-width:none !important; padding:0 !important; }
.vd-gallery-main,.vd-gallery-side,.vd-gallery-main>.col-inner,.vd-gallery-side>.col-inner { height:100%; }
.vd-gallery-side>.col-inner { display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; }
.vd-gallery-image,.vd-gallery-image .img-inner { width:100%; height:100%; }
.vd-gallery-image .img-inner { overflow:hidden; border-radius:14px; background:#e9edf2; box-shadow:0 12px 28px rgba(20,45,76,.1); }
.vd-gallery-image img { width:100%; height:100%; object-fit:cover; }
.vd-gallery-badge { position:absolute; right:15px; bottom:15px; z-index:3; margin:0 !important; }
.vd-gallery-badge p { display:inline-flex; align-items:center; gap:10px; margin:0 !important; padding:11px 16px; border-radius:7px; background:linear-gradient(135deg,var(--vd-red-dark),var(--vd-red)); box-shadow:0 12px 28px rgba(206,9,19,.28); color:#fff; font-size:20px !important; font-weight:900; line-height:1.35; text-transform:uppercase; }
.vd-gallery-badge i { font-size:24px; }
@media (max-width:1024px) {
	.vd-challenges { padding:70px 0 76px !important; }
	.vd-challenges-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.vd-solution-panel { grid-template-columns:1fr; padding:24px !important; }
	.vd-solution-copy>.col-inner { padding:6px 4px 12px !important; }
	.vd-solution-gallery-col>.col-inner { min-height:470px; }
}
@media (max-width:549px) {
	.vd-challenges { padding:54px 0 60px !important; }
	.vd-challenges::before,.vd-challenges::after { display:none; }
	.vd-challenges-heading,.vd-challenges-grid,.vd-solution-panel { width:calc(100% - 28px) !important; max-width:calc(100% - 28px) !important; }
	.vd-challenges-heading h2 { font-size:31px !important; }
	.vd-challenges-intro { font-size:14px !important; }
	.vd-challenges-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:26px !important; }
	.vd-challenge-card>.col-inner { min-height:152px; padding:18px 10px !important; }
	.vd-challenge-card p { font-size:12px !important; }
	.vd-challenge-card p>i { width:50px; height:50px; font-size:21px; }
	.vd-solution-panel { margin-top:22px !important; padding:17px !important; border-radius:16px; }
	.vd-solution-copy>.col-inner { align-items:center; padding:4px 0 10px !important; text-align:center; }
	.vd-solution-kicker { justify-content:center; }
	.vd-solution-title h3 { font-size:28px !important; }
	.vd-solution-description { font-size:13px !important; }
	.vd-solution-types { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 8px; }
	.vd-solution-type p { font-size:9px !important; }
	.vd-solution-promises { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 0; padding:14px 8px !important; text-align:left; }
	.vd-solution-promises>.col:nth-child(3) { border-left:0; }
	.vd-solution-actions,.vd-solution-actions .col-inner { width:100%; }
	.vd-solution-actions .button { width:100%; min-width:0 !important; }
	.vd-solution-gallery-col>.col-inner { min-height:390px; }
	.vd-solution-gallery { grid-template-columns:1fr; grid-template-rows:minmax(0,1.35fr) minmax(0,.8fr); }
	.vd-gallery-side>.col-inner { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:1fr; }
	.vd-gallery-badge { right:10px; bottom:10px; }
	.vd-gallery-badge p { padding:9px 12px; font-size:9px !important; }
}

/* Section 08: final CTA — single consolidated block. */
.vd-final-cta {
	position: relative;
	padding: 0 !important;
	overflow: hidden;
	background:
		radial-gradient(circle at 56% 0%, rgba(255, 91, 101, .24), transparent 34%),
		linear-gradient(108deg, #4c0509 0%, #850a12 38%, #bd101a 69%, #dc1b23 100%);
}

.vd-final-cta > .section-content {
	width: 100% !important;
	max-width: none !important;
}

.vd-final-cta-row {
	position: relative;
	display: grid !important;
	grid-template-columns: 35% 36% 29%;
	align-items: stretch;
	width: min(1340px, calc(100% - 48px)) !important;
	max-width: 1340px !important;
	min-height: 254px;
	margin: 0 auto !important;
}

.vd-final-cta-row::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.vd-final-cta-row > .col {
	position: relative;
	z-index: 2;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
}

.vd-cta-copy > .col-inner,
.vd-cta-contact > .col-inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}

.vd-cta-copy > .col-inner {
	padding: 30px 28px 30px 10px !important;
}

.vd-cta-copy h2 {
	margin: 0 0 13px !important;
	color: #fff;
	font-size: 29px !important;
	font-weight: 900;
	letter-spacing: -.025em;
	line-height: 1.12;
	text-transform: uppercase;
}

.vd-cta-copy h2 span {
	display: block;
	white-space: nowrap;
}

.vd-cta-copy .vd-cta-description {
	max-width: 400px;
	margin: 0 !important;
	color: rgba(255, 255, 255, .82);
	font-size: 13px !important;
	line-height: 1.55;
}

.vd-cta-contact > .col-inner {
	padding: 25px 18px !important;
}

.vd-cta-contact-row,
.vd-cta-trust {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.vd-cta-contact-row {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.vd-cta-contact-row > .col,
.vd-cta-trust > .col {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
}

.vd-cta-contact-item p {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	color: #fff;
}

.vd-cta-contact-item i {
	display: grid;
	grid-row: 1 / 3;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 2px solid rgba(255, 255, 255, .72);
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	font-size: 19px;
}

.vd-cta-contact-item span,
.vd-cta-contact-item strong {
	display: block;
	min-width: 0;
}

.vd-cta-contact-item span {
	align-self: end;
	color: rgba(255, 255, 255, .72);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.vd-cta-contact-item strong {
	align-self: start;
	font-size: 17px;
	font-weight: 900;
	line-height: 0.25;
	white-space: nowrap;
}

.vd-cta-contact-item a {
	color: inherit !important;
	text-decoration: none;
}

.vd-cta-button.button {;
	width: 70%;
	min-height: 48px;
	border-radius: 7px !important;
	background: #fff !important;
	color: #d71920 !important;
	font-size: 20px !important;
	font-weight: 900;
	line-height: 48px !important;
}

.vd-cta-button.button:hover {
	background: #fff3f3 !important;
	color: #b50912 !important;
	transform: translateY(-2px);
}

.vd-cta-trust {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.vd-cta-trust p {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	color: rgba(255, 255, 255, .78);
	font-size: 12px !important;
	font-weight: 700;
	line-height: 0.35;
	white-space: nowrap;
}

.vd-cta-trust i {
	color: #fff;
	font-size: 12px;
}

.vd-cta-visual,
.vd-cta-visual > .col-inner,
.vd-cta-image,
.vd-cta-image .img-inner {
	height: 100%;
	min-height: 254px;
}

.vd-cta-image {
	margin: 0 !important;
}

.vd-cta-image .img-inner {
	position: relative;
	overflow: hidden;
}

.vd-cta-image .img-inner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	    background: linear-gradient(90deg, #bd101a 3%, rgba(189, 16, 26, .72) 37%, transparent 114%);
	pointer-events: none;
}

.vd-cta-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 58% 50%;
	filter: saturate(1.08) contrast(1.02);
}

@media (min-width: 701px) and (max-width: 1024px) {
	.vd-final-cta-row {
		grid-template-columns: 46% 54%;
		width: calc(100% - 48px) !important;
	}

	.vd-cta-copy > .col-inner {
		padding: 30px 24px 28px 0 !important;
	}

	.vd-cta-copy h2 {
		font-size: 29px !important;
	}

	.vd-cta-copy h2 span {
		white-space: normal;
	}

	.vd-cta-contact > .col-inner {
		padding: 26px 20px !important;
	}

	.vd-cta-button.button {
		width: 78%;
	}

	.vd-cta-visual {
		grid-column: 1 / -1;
	}

	.vd-cta-visual,
	.vd-cta-visual > .col-inner,
	.vd-cta-image,
	.vd-cta-image .img-inner {
		min-height: 210px;
	}

	.vd-cta-image .img-inner::before {
		background: linear-gradient(180deg, #bd101a 0%, rgba(189, 16, 26, .42) 18%, transparent 60%);
	}
}

@media (max-width: 700px) {
	.vd-final-cta-row {
		grid-template-columns: 1fr;
		width: calc(100% - 28px) !important;
		min-height: 0;
	}

	.vd-cta-copy > .col-inner,
	.vd-cta-contact > .col-inner {
		padding: 26px 10px 6px !important;
		text-align: center;
	}

	.vd-cta-contact > .col-inner {
		padding-top: 20px !important;
		padding-bottom: 22px !important;
	}

	.vd-cta-copy h2 {
		font-size: 28px !important;
	}

	.vd-cta-copy h2 span {
		white-space: normal;
	}

	.vd-cta-copy .vd-cta-description {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.vd-cta-contact-item p {
		grid-template-columns: 40px minmax(0, 1fr);
		gap: 8px;
		text-align: left;
	}

	.vd-cta-contact-item i {
		width: 40px;
		height: 40px;
		font-size: 18px;
	}

	.vd-cta-contact-item strong {
		font-size: 14px;
	}

	.vd-cta-button.button {
		width: 100%;
		margin-top: 17px !important;
	}

	.vd-cta-trust p {
		font-size: 8px !important;
		white-space: normal;
	}

	.vd-cta-visual,
	.vd-cta-visual > .col-inner,
	.vd-cta-image,
	.vd-cta-image .img-inner {
		min-height: 185px;
	}
}

@media (max-width: 390px) {
	.vd-cta-contact-row {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.vd-cta-contact-item p {
		max-width: 220px;
		margin: 0 auto !important;
	}
}


/* Compatibility fixes for Flatsome 3.20+ and WordPress 7.1. */
.vd-page,
.vd-page *,
.vd-page *::before,
.vd-page *::after {
	box-sizing: border-box;
}

.vd-page .row > .col,
.vd-page .col-inner,
.vd-page .text,
.vd-page .text > div {
	min-width: 0;
}

.vd-page h1,
.vd-page h2,
.vd-page h3,
.vd-page h4,
.vd-page p,
.vd-page li,
.vd-page strong,
.vd-page small,
.vd-page a {
	overflow-wrap: break-word;
	word-break: normal;
}

.vd-page .fa-solid {
	font-family: "Font Awesome 6 Free" !important;
	font-weight: 900 !important;
}

.vd-page .fa-regular {
	font-family: "Font Awesome 6 Free" !important;
	font-weight: 400 !important;
}

.vd-page .fa-brands {
	font-family: "Font Awesome 6 Brands" !important;
	font-weight: 400 !important;
}

.vd-page i.fa-solid,
.vd-page i.fa-regular,
.vd-page i.fa-brands {
	flex: 0 0 auto;
	font-style: normal;
	line-height: 1;
}

/* Font Awesome Free does not expose this newer class in every bundled build. */
.vd-page .fa-wine-glass-crack::before {
	content: "\f4e3";
}

.vd-good-copy h3 {
	min-height: 2.7em;
}

.vd-challenge-card strong {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 3em;
}

.vd-solution-type p {
	font-size: 12px !important;
}

.vd-solution-promise p,
.vd-solution-promise strong {
	font-size: 11px !important;
}

.vd-cta-copy h2 span,
.vd-cta-contact-item strong,
.vd-cta-trust p {
	white-space: normal;
}

.vd-cta-contact-item strong {
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.vd-cta-button.button {
	width: min(100%, 320px);
	padding: 13px 22px !important;
	line-height: 1.2 !important;
}

.vd-cta-trust p {
	line-height: 1.4;
}

@media (max-width: 1024px) {
	.vd-solution-type p,
	.vd-gallery-badge p {
		font-size: 11px !important;
	}
}

@media (max-width: 549px) {
	.vd-good-copy h3 {
		min-height: auto;
	}

	.vd-challenge-card strong {
		min-height: auto;
	}

	.vd-cta-trust p {
		font-size: 11px !important;
	}
}


/* Restore empty benefit icons and keep feature copy out of the icon column. */
.vd-why-icon::before {
	position: relative;
	z-index: 1;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	line-height: 1;
}

.vd-why-card:nth-child(1) .vd-why-icon::before {
	content: "\f559";
}

.vd-why-card:nth-child(2) .vd-why-icon::before {
	content: "\f0ac";
}

.vd-why-card:nth-child(3) .vd-why-icon::before {
	content: "\f15c";
}

.vd-why-card:nth-child(4) .vd-why-icon::before {
	content: "\f468";
}

.vd-why-card:nth-child(5) .vd-why-icon::before {
	content: "\f590";
}

.vd-why-card:nth-child(6) .vd-why-icon::before {
	content: "\f3ed";
}

.vd-goods-service p,
.vd-media-feature p {
	grid-template-areas:
		"feature-icon feature-title"
		"feature-icon feature-copy";
	grid-template-rows: auto auto;
	align-content: center;
}

.vd-goods-service i,
.vd-media-feature i {
	grid-area: feature-icon;
}

.vd-goods-service strong,
.vd-media-feature strong {
	grid-area: feature-title;
	min-width: 0;
}

.vd-goods-service small,
.vd-media-feature small {
	grid-area: feature-copy;
	width: 100%;
	min-width: 0;
	overflow-wrap: normal;
}


/* Keep all challenge cards equal without turning inline emphasis into blocks. */
.vd-challenges-grid {
	align-items: stretch;
}

.vd-challenge-card > .col-inner {
	height: 100%;
	min-height: 180px;
}

.vd-challenge-card p {
	width: 100%;
}

.vd-challenge-card strong {
	display: inline;
	min-height: 0;
}

@media (max-width: 549px) {
	.vd-challenge-card > .col-inner {
		min-height: 190px;
	}
}


/* Hero copy rhythm and benefit text placement. */
.vd-benefit p {
	grid-template-areas:
		"benefit-icon benefit-title"
		"benefit-icon benefit-copy";
	grid-template-rows: auto auto;
	align-content: center;
}

.vd-benefit i {
	grid-area: benefit-icon;
}

.vd-benefit strong {
	grid-area: benefit-title;
	min-width: 0;
}

.vd-benefit small {
	grid-area: benefit-copy;
	width: 100%;
	min-width: 0;
	overflow-wrap: normal;
}

@media (min-width: 1201px) {
	.vd-hero-copy-col > .col-inner {
		max-width: 760px;
	}

	.vd-hero-title h1 {
		max-width: 720px;
		font-size: clamp(50px, 4vw, 56px);
		line-height: 1.04;
		white-space: nowrap;
	}

	.vd-benefits > .col {
		padding-right: 8px !important;
		padding-left: 8px !important;
	}

	.vd-benefit strong {
		font-size: 13px;
	}

	.vd-benefit small {
		font-size: 12px;
	}
}

@media (min-width: 850px) and (max-width: 1200px) {
	.vd-hero-title h1 {
		font-size: clamp(48px, 4.5vw, 54px);
	}
}

@media (min-width: 550px) and (max-width: 849px) {
	.vd-hero-title h1 {
		font-size: clamp(44px, 7vw, 54px);
	}
}
