/* ================================================================
   NextWave — Truck Dispatch Services V2
   Desktop-first layout (mobile/tablet breakpoints coming next pass)
   Depends on: tds-base.css (tokens, buttons, eyebrow, container)
   ================================================================ */


/* ================================================================
   MAIN WRAPPER
   ================================================================ */

#v2-main {
	overflow-x: clip;
}

#v2-main a {
	text-decoration: none;
}


/* ================================================================
   TICKER — live rates & trust signals (fixed bar under header)
   ================================================================ */

@keyframes nw-ticker-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@keyframes nw-ticker-pulse {
	0%, 100% { opacity: 1; }
	50%       { opacity: 0.3; }
}

.nw-ticker {
	position: fixed;
	top: calc(var(--nw-topbar-h, 40px) + var(--nw-nav-h, 72px));
	left: 0;
	right: 0;
	width: 100%;
	height: 36px;
	margin-top: 0;
	background: #07111f;
	overflow: visible;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	z-index: 997;
	transition: top 0.35s var(--nw-ease, cubic-bezier(0.4,0,0.2,1));
}

/* Viewport: same container as site layout — clips the track */
.nw-ticker__viewport {
	max-width: var(--nw-max-w, 1180px);
	width: 100%;
	height: 100%;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	padding-inline: 24px;
}

@media (min-width: 640px) {
	.nw-ticker__viewport { padding-inline: 40px; }
}

@media (min-width: 1024px) {
	.nw-ticker__viewport { padding-inline: 64px; }
}

/* Fade edges — positioned inside the viewport */
.nw-ticker__viewport::before,
.nw-ticker__viewport::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 32px;
	z-index: 2;
	pointer-events: none;
}

@media (min-width: 640px) {
	.nw-ticker__viewport::before,
	.nw-ticker__viewport::after { width: 40px; }
}

@media (min-width: 1024px) {
	.nw-ticker__viewport::before,
	.nw-ticker__viewport::after { width: 56px; }
}

.nw-ticker__viewport::before {
	left: 0;
	background: linear-gradient(to right, #07111f, transparent);
}

.nw-ticker__viewport::after {
	right: 0;
	background: linear-gradient(to left, #07111f, transparent);
}

/* Topbar hides → ticker moves up with header */
body.nw-topbar--hidden .nw-ticker {
	top: var(--nw-nav-h, 72px);
}

.nw-ticker__track {
	display: inline-flex;
	align-items: center;
	height: 100%;
	white-space: nowrap;
	animation: nw-ticker-scroll 28s linear infinite;
	will-change: transform;
}

.nw-ticker__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 100%;
	padding: 0 20px;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.67);
	border-right: 1px solid rgba(255, 255, 255, 0.06);
	flex-shrink: 0;
}

.nw-ticker__dot {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	flex-shrink: 0;
}

.nw-ticker__dot--live {
	background: #1be8a0;
	animation: nw-ticker-pulse 2s ease-in-out infinite;
}

.nw-ticker__dot--cyan {
	background: #00b4d8;
}

.nw-ticker__label {
	color: #6b9ab8;
}

.nw-ticker__value,
.nw-ticker__item strong.nw-ticker__value {
	color: #00b4d8;
	font-weight: 700;
}

.nw-ticker__short {
	display: none;
}

/* Hover pause — desktop only */
@media (hover: hover) and (min-width: 1024px) {
	.nw-ticker:hover .nw-ticker__track {
		animation-play-state: paused;
	}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.nw-ticker__track {
		animation-play-state: paused;
	}
}

/* Tablet */
@media (max-width: 1023px) {
	.nw-ticker {
		height: 32px;
	}
	.nw-ticker__track {
		animation-duration: 22s;
	}
	.nw-ticker__item {
		font-size: 11px;
		padding: 0 14px;
	}
}

/* Mobile */
@media (max-width: 639px) {
	.nw-ticker {
		height: 28px;
	}
	.nw-ticker__track {
		animation-duration: 18s;
	}
	.nw-ticker__item {
		font-size: 10px;
		padding: 0 12px;
	}
	.nw-ticker__full {
		display: none;
	}
	.nw-ticker__short {
		display: inline-flex;
		align-items: center;
		gap: 4px;
	}
}


/* ================================================================
   1. HERO
   ================================================================ */

.v2-hero {
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	align-items: center;
	background-color: #02060C;
	overflow: hidden;
	padding-top: calc(var(--nw-header-h, 124px) + var(--nw-topbar-h, 48px) + 52px);
	padding-bottom: 100px;
}

/* Real <img>, not a CSS background-image — WP Rocket's background-image
   lazy-load was catching the old background-image and deferring it well
   past first paint, which tanked LCP (~5s resource load delay). An <img>
   with fetchpriority="high" and no loading=lazy is discoverable by the
   browser's preload scanner immediately, and WP Rocket has nothing left
   to intercept. */
.v2-hero__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center right;
	z-index: 0;
}

/* Cyan line top */
.v2-hero::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 3;
	height: 2px;
	background: linear-gradient(90deg, transparent 0%, var(--nw-cyan) 30%, rgba(0,180,216,.35) 65%, transparent 100%);
	pointer-events: none;
}

/* Dark uniform overlay — lightened from the original .86 so the background
   photo actually reads through (same fix as Debt Collection's hero). */
.v2-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(2, 6, 12, 0.55);
}

.v2-hero__inner {
	position: relative;
	z-index: 2;
}

.v2-hero__content {
	max-width: 580px;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

/* Eyebrow/title/desc sizing below — universalizing the Hero across pages,
   deriving from Remote Talent's .rt2-hero__* as the reference (also
   applied to Debt Collection). Colors stay on this page's own --tds-*
   variables (different cyan than the rest of the site) — not part of
   this pass. No margin-bottom added on eyebrow/title here — unlike
   Remote Talent/Debt Collection, .v2-hero__content is a flex column with
   gap:1.5rem already spacing every child; adding margins on top of that
   would double up the gap instead of matching it. */
.v2-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--tds-cyan);
}

.v2-hero__eyebrow::before {
	content: '';
	display: block;
	width: 28px;
	height: 2px;
	background: var(--tds-cyan);
}

.v2-hero__title {
	margin: 0;
	font-size: 58px;
	font-weight: 900;
	line-height: 1.0;
	color: var(--tds-white);
	letter-spacing: -0.025em;
	text-transform: uppercase;
}

.v2-hero__title-accent {
	display: block;
	color: var(--tds-cyan);
	font-size: 1.25em;
	line-height: 0.95;
}

.v2-hero__desc {
	margin: 0;
	max-width: 460px;
	color: var(--tds-text-secondary);
	font-size: 1rem;
	line-height: 1.81;
}

.v2-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
}

.v2-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--tds-text-secondary);
}

.v2-hero__badge i {
	color: var(--tds-cyan);
	font-size: 0.72rem;
}

.v2-hero__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

/* Title scale at tablet/mobile — same breakpoints and values as
   Remote Talent's .rt2-hero__title. */
@media (min-width: 681px) and (max-width: 1024px) {
	.v2-hero__title {
		font-size: clamp(2.25rem, 5vw, 3.25rem);
	}
}

@media (max-width: 680px) {
	.v2-hero__title {
		font-size: 1.75rem;
	}
}


/* ================================================================
   2. STATS BAR
   ================================================================ */

.v2-stats {
	background: transparent;
	position: relative;
	z-index: 10;
	margin-top: -72px;
	padding-inline: 0;
}

.v2-stats__inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: var(--tds-dark-navy);
	border: 1px solid rgba(39, 214, 255, 0.18);
	border-radius: 16px;
	box-shadow: 0 12px 56px rgba(0, 0, 0, 0.40);
	overflow: hidden;
}

.v2-stats__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 4px;
	padding: 2rem 1.5rem;
	border-right: 1px solid rgba(255, 255, 255, 0.07);
}

.v2-stats__item:last-child {
	border-right: 0;
}

.v2-stats__num {
	font-size: 2.75rem;
	font-weight: 900;
	color: var(--tds-cyan);
	line-height: 1;
	letter-spacing: -0.025em;
}

.v2-stats__label {
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--tds-white);
	line-height: 1.2;
}

.v2-stats__sub {
	font-size: 0.74rem;
	color: var(--tds-text-muted);
	line-height: 1.4;
	max-width: 160px;
}


/* ================================================================
   3. PROBLEMS / COMPARISON
   ================================================================ */

.v2-problems {
	background-color: transparent;
	padding-top: 6rem;
	padding-bottom: 3rem;
}

.v2-problems__inner {
	display: grid;
	grid-template-columns: 36fr 64fr;
	gap: 4rem;
	align-items: center;
}

.v2-problems__intro {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.v2-problems__title {
	margin: 0;
	font-size: clamp(1.5rem, 2.6vw, 2.1rem);
	font-weight: 900;
	color: var(--tds-dark-navy);
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.v2-problems__desc {
	margin: 0;
	color: #4a5568;
	font-size: 0.97rem;
	line-height: 1.75;
}

.v2-problems__compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.v2-problems__col {
	border-radius: var(--tds-radius-md);
	overflow: hidden;
}

.v2-problems__col-header {
	padding: 0.9rem 1.25rem;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: center;
}

/* WITHOUT column */
.v2-problems__col--without {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.09);
}

.v2-problems__col--without .v2-problems__col-header {
	background: transparent;
	color: #1a202c;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
	text-align: left;
}

/* WITH column */
.v2-problems__col--with {
	background: #ffffff;
	border: 1px solid rgba(39, 214, 255, 0.25);
}

.v2-problems__col--with .v2-problems__col-header {
	background: transparent;
	color: var(--tds-cyan-text);
	border-bottom: 1px solid rgba(39, 214, 255, 0.15);
	text-align: left;
}

/* Lists */
.v2-problems__list {
	list-style: none;
	margin: 0;
	padding: 1.1rem 1.25rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.v2-problems__list li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.88rem;
	font-weight: 500;
	line-height: 1.35;
}

.v2-problems__col--without .v2-problems__list li {
	color: #374151;
}

.v2-problems__col--without .v2-problems__list li i {
	color: #e53e3e;
	font-size: 1rem;
	flex-shrink: 0;
}

.v2-problems__col--with .v2-problems__list li {
	color: #374151;
}

.v2-problems__col--with .v2-problems__list li i {
	color: var(--tds-cyan-text);
	font-size: 1rem;
	flex-shrink: 0;
}


/* ================================================================
   4. SAVINGS CALCULATOR
   ================================================================ */

.v2-calc {
	position: relative;
	background: transparent;
	padding-block: 2.25rem;
}

.v2-calc .tds-container {
	position: relative;
	z-index: 1;
	padding-inline: 0;
}

.v2-calc__inner {
	display: grid;
	grid-template-columns: 28fr 72fr;
	gap: 2.5rem;
	align-items: center;
	background: var(--tds-dark-navy);
	background-image: var(--tds-gradient-page);
	border-radius: 16px;
	padding: 1.75rem;
	box-shadow: 0 12px 56px rgba(0, 0, 0, 0.40);
}

.v2-calc__intro {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.v2-calc__title {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	font-weight: 900;
	color: var(--tds-white);
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.v2-calc__desc {
	margin: 0;
	color: var(--tds-text-secondary);
	font-size: 0.97rem;
	line-height: 1.75;
}

/* Calculator card — horizontal 4-column grid */
.v2-calc__card {
	background: transparent;
	border: none;
	padding: 0;
	display: grid;
	grid-template-columns: 1.2fr 0.9fr 0.9fr 1.1fr;
	grid-template-rows: auto 1fr auto;
	column-gap: 1rem;
	row-gap: 0.6rem;
	align-items: start;
}

.v2-calc__gross-label {
	grid-column: 1;
	grid-row: 1;
	display: block;
	font-size: 0.7rem;
	font-weight: 800;
	color: var(--tds-text-muted);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.v2-calc__input-wrap {
	grid-column: 1;
	grid-row: 2;
	align-self: center;
	display: flex;
	align-items: stretch;
	background: rgba(2, 6, 12, 0.55);
	border: 1px solid var(--tds-border-cyan-strong);
	border-radius: var(--tds-radius-sm);
	overflow: hidden;
}

.v2-calc__prefix {
	padding: 0 0.85rem;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--tds-text-muted);
	background: rgba(39, 214, 255, 0.07);
	border-right: 1px solid var(--tds-border-cyan);
	display: flex;
	align-items: center;
	user-select: none;
}

.v2-calc__input {
	flex: 1;
	background: transparent;
	border: 0;
	outline: none;
	padding: 0.85rem 1rem;
	font-size: 1.3rem;
	font-weight: 800;
	color: var(--tds-white);
	font-family: inherit;
	-moz-appearance: textfield;
}

.v2-calc__input::-webkit-outer-spin-button,
.v2-calc__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Slider */
.v2-calc__slider {
	grid-column: 1;
	grid-row: 3;
	width: 100%;
	height: 4px;
	accent-color: var(--tds-cyan);
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	background: linear-gradient(to right, var(--tds-cyan) 0%, rgba(39, 214, 255, 0.18) 0%);
	border-radius: 2px;
	outline: none;
	margin: 0;
}

.v2-calc__slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--tds-cyan);
	cursor: pointer;
	border: 3px solid var(--tds-dark-navy);
	box-shadow: 0 0 0 1px var(--tds-cyan);
}

.v2-calc__slider::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--tds-cyan);
	cursor: pointer;
	border: 3px solid var(--tds-dark-navy);
	box-shadow: 0 0 0 1px var(--tds-cyan);
}

/* Result columns */
.v2-calc__results {
	grid-column: 2 / 4;
	grid-row: 1 / 4;
	align-self: stretch;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
}

.v2-calc__result {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 4px;
	padding: 1rem 0.75rem;
	border-radius: var(--tds-radius-sm);
}

.v2-calc__result--other {
	background: rgba(255, 107, 107, 0.07);
	border: 1px solid rgba(255, 107, 107, 0.2);
}

.v2-calc__result--us {
	background: rgba(39, 214, 255, 0.07);
	border: 1px solid var(--tds-border-cyan-strong);
}

.v2-calc__result-label {
	font-size: 0.69rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--tds-text-muted);
	line-height: 1.4;
}

.v2-calc__result-label em {
	font-style: normal;
	color: var(--tds-text-faint);
}

.v2-calc__result--other .v2-calc__result-fee {
	font-size: 1.9rem;
	font-weight: 900;
	color: #ff6b6b;
	line-height: 1;
	letter-spacing: -0.02em;
}

.v2-calc__result--us .v2-calc__result-fee {
	font-size: 1.9rem;
	font-weight: 900;
	color: var(--tds-cyan) !important;
	line-height: 1;
	letter-spacing: -0.02em;
}

.v2-calc__result-sub {
	font-size: 0.7rem;
	color: var(--tds-text-faint);
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* Savings output — columna lateral destacada */
.v2-calc__savings {
	grid-column: 4;
	grid-row: 1 / 4;
	align-self: stretch;
	background: rgba(39, 214, 255, 0.07);
	border: 2px solid var(--tds-cyan);
	border-radius: var(--tds-radius-sm);
	padding: 1.25rem 1rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
}

.v2-calc__savings-main {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--tds-text-muted);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	line-height: 1.3;
}

.v2-calc__savings-main span {
	display: block;
	font-size: 2.1rem;
	font-weight: 900;
	color: var(--tds-cyan);
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin-block: 0.2rem;
}

.v2-calc__savings-week {
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--tds-white);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.v2-calc__savings-sub {
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--tds-text-secondary);
	line-height: 1.6;
}


/* ================================================================
   5. HOW IT WORKS
   ================================================================ */

.v2-hiw {
	background-color: #ffffff;
	padding-top: 3rem;
	padding-bottom: 4rem;
}

.v2-hiw__header {
	text-align: center;
	margin-bottom: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--tds-space-md);
}

/* "3 Easy Steps" — .v2-hiw sits on white, bright --tds-cyan fails
   contrast there (1.76:1, needs 4.5:1). The eyebrow's own fix lives
   further down, in the consolidated .tds-eyebrow rule these sections
   already shared (search --tds-cyan-text). */
.v2-hiw__title .tds-highlight {
	color: var(--tds-cyan-text);
}

.v2-hiw__title {
	margin: 0;
	font-size: clamp(1.4rem, 2.4vw, 2rem);
	font-weight: 800;
	color: var(--tds-dark-navy);
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.v2-hiw__steps {
	display: flex;
	align-items: stretch;
	gap: 0;
	counter-reset: step-counter;
}

.v2-hiw__step {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.75rem;
	padding: 1.75rem 1.25rem;
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: var(--tds-radius-md);
	background: #ffffff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
	counter-increment: step-counter;
}

.v2-hiw__connector {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0.75rem;
	flex-shrink: 0;
	color: #94a3b8;
	font-size: 0.9rem;
}

.v2-hiw__step-icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(39, 214, 255, 0.07);
	border: 1px solid rgba(39, 214, 255, 0.2);
	/* Same white-bg contrast fix as the text — bright cyan on this
	   near-white badge background was nearly invisible. */
	color: var(--tds-cyan-text);
	font-size: 1.5rem;
	flex-shrink: 0;
}

.v2-hiw__step-icon::before {
	content: counter(step-counter);
	position: absolute;
	top: -6px;
	right: -6px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--tds-dark-navy);
	color: var(--tds-white);
	font-size: 0.65rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.v2-hiw__step-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 800;
	color: var(--tds-dark-navy);
	line-height: 1.25;
}

.v2-hiw__step-desc {
	margin: 0;
	font-size: 0.82rem;
	color: #4a5568;
	line-height: 1.65;
}


/* ================================================================
   6. TESTIMONIALS
   ================================================================ */

.v2-testimonials {
	background: var(--tds-deep-black);
	background-image: var(--tds-gradient-page);
	padding-block: var(--tds-space-4xl);
}

.v2-testimonials__header {
	text-align: center;
	margin-bottom: var(--tds-space-2xl);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--tds-space-md);
}

.v2-testimonials__title {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	font-weight: 800;
	color: var(--tds-white);
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.v2-testimonials__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-bottom: 2.5rem;
}

.v2-testimonials__card {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--tds-border-cyan);
	border-radius: var(--tds-radius-md);
	padding: 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.v2-testimonials__stars {
	color: var(--tds-cyan);
	font-size: 0.95rem;
	letter-spacing: 0.05em;
	line-height: 1;
}

.v2-testimonials__quote {
	margin: 0;
	flex: 1;
}

.v2-testimonials__quote p {
	margin: 0;
	color: var(--tds-text-secondary);
	font-size: 0.92rem;
	line-height: 1.75;
	font-style: italic;
}

.v2-testimonials__author {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.v2-testimonials__name {
	font-size: 0.88rem;
	font-weight: 800;
	color: var(--tds-soft);
}

.v2-testimonials__role {
	font-size: 0.76rem;
	color: var(--tds-text-muted);
}

/* Carousel wrapper — nav hidden on desktop */
.v2-testimonials__track-wrap {
	overflow: hidden;
}

.v2-testimonials__nav {
	display: none;
}

/* Bottom strip */
.v2-testimonials__bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
	margin-top: var(--tds-space-2xl);
	text-align: center;
}

.v2-testimonials__tagline {
	margin: 0;
	color: var(--tds-cyan);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.v2-testimonials__bottom {
		flex-direction: row;
		justify-content: space-between;
		text-align: left;
	}
}

/* Google bar */
.v2-testimonials__google {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	padding-top: 2rem;
	border-top: 1px solid var(--tds-border-soft);
	flex-wrap: wrap;
}

.v2-testimonials__google-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #ffffff;
	font-size: 0.9rem;
	font-weight: 900;
	color: #4285f4;
}

.v2-testimonials__google-rating {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--tds-white);
}

.v2-testimonials__google-stars {
	color: #fbbc04;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
}

.v2-testimonials__google-label {
	font-size: 0.8rem;
	color: var(--tds-text-muted);
}

.v2-testimonials__google-btn {
	display: inline-flex;
	align-items: center;
	padding: 8px 18px;
	border-radius: var(--tds-radius-pill);
	background: rgba(39, 214, 255, 0.08);
	border: 1px solid var(--tds-border-cyan-strong);
	color: var(--tds-cyan);
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: none;
	transition: background var(--tds-transition), border-color var(--tds-transition);
}

.v2-testimonials__google-btn:hover {
	background: rgba(39, 214, 255, 0.16);
	border-color: var(--tds-cyan);
	color: var(--tds-cyan);
}


/* ================================================================
   7. LEAD FORM
   ================================================================ */

.v2-form {
	background-color: #ffffff;
	padding-block: var(--tds-space-4xl);
}

.v2-form__inner {
	display: grid;
	grid-template-columns: 38fr 62fr;
	gap: 5rem;
	align-items: start;
}

.v2-form__copy {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	position: sticky;
	top: calc(var(--nw-header-h, 80px) + 24px);
}

/* Eyebrow on white bg — this was --tds-cyan (1.76:1 on white, fails
   WCAG AA's 4.5:1); all 4 of these sections have solid white
   backgrounds, so they share the darker --tds-cyan-text instead. */
.v2-form .tds-eyebrow,
.v2-problems .tds-eyebrow,
.v2-hiw__header .tds-eyebrow,
.v2-seo .tds-eyebrow {
	color: var(--tds-cyan-text);
}

.v2-form__title {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 900;
	color: var(--tds-dark-navy);
	line-height: 1.15;
	letter-spacing: -0.03em;
}

/* Same white-background contrast fix as the eyebrows above. */
.v2-form__title-accent {
	color: var(--tds-cyan-text);
}

.v2-form__desc {
	margin: 0;
	color: #4a5568;
	font-size: 0.97rem;
	line-height: 1.75;
}

.v2-form__bullets {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.v2-form__bullets li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--tds-dark-navy);
}

.v2-form__bullets li i {
	color: var(--tds-cyan-text);
	font-size: 0.88rem;
	flex-shrink: 0;
}

.v2-form__wrap {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.09);
	border-radius: var(--tds-radius-lg);
	padding: 2.5rem 2rem;
	box-shadow: 0 4px 32px rgba(0, 0, 0, 0.09);
}

/* Was #a0aec0 (2.26:1 on white, fails WCAG AA's 4.5:1) — #4a5568 is the
   same secondary-text gray already used elsewhere on the site (Staffing
   Solutions, Roles, etc.), 7.53:1 here. */
.v2-form__trust {
	margin: 1.25rem 0 0;
	color: #4a5568;
	font-size: 0.72rem;
	text-align: center;
	line-height: 1.5;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.v2-form__trust i {
	font-size: 0.65rem;
	color: #4a5568;
}

/* ── Gravity Forms — sistema completo (mismo que services page) ── */

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_wrapper,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_wrapper.gravity-theme {
	margin: 0;
	padding: 0;
	max-width: none;
	background: none;
	border: none;
	box-shadow: none;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_body,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform-body {
	margin: 0;
	padding: 0;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_fields {
	display: flex;
	flex-direction: column;
	gap: var(--tds-space-md);
	margin: 0;
	padding: 0;
	list-style: none;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield {
	margin: 0;
	padding: 0;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield_label,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield > label {
	display: block;
	margin: 0 0 var(--tds-space-xs) !important;
	color: var(--tds-dark-navy) !important;
	font-size: var(--tds-text-sm) !important;
	font-weight: 700 !important;
	line-height: 1.4;
	text-transform: none !important;
	letter-spacing: normal !important;
}

/* !important: needs to win over the global .gfield_required default in
   style.css — kept page-specific (instead of just falling through to
   that global default) so it matches --tds-cyan-text exactly, the same
   shade used for every other eyebrow/highlight on this page. */
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield_required {
	color: var(--tds-cyan-text) !important;
	font-weight: 700 !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="image"]):not([type="hidden"]),
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container select,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container textarea {
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 14px 16px !important;
	border: 1px solid rgba(0, 0, 0, 0.14) !important;
	border-radius: var(--tds-radius-sm) !important;
	background-color: #f8fafc !important;
	background-image: none !important;
	color: var(--tds-dark-navy) !important;
	font-family: inherit !important;
	font-size: var(--tds-text-md) !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
	transition: border-color var(--tds-transition-fast), box-shadow var(--tds-transition-fast), background-color var(--tds-transition-fast);
	-webkit-appearance: none;
	appearance: none;
	margin: 0 !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container input::placeholder,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container textarea::placeholder {
	color: #a0aec0;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container input:focus:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="image"]):not([type="hidden"]),
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container select:focus,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container textarea:focus {
	outline: none !important;
	border-color: var(--tds-cyan) !important;
	box-shadow: 0 0 0 3px rgba(39, 214, 255, 0.18) !important;
	background-color: #ffffff !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container select {
	cursor: pointer !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2302172F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	padding-right: 44px !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container_name {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--tds-space-md);
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container_name span {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container_name .name_first label,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .ginput_container_name .name_last label {
	color: #718096 !important;
	font-size: var(--tds-text-xs) !important;
	font-weight: 600 !important;
	margin: 0 !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield--type-hidden,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield_visibility_hidden {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	pointer-events: none !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_footer,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_page_footer {
	margin: var(--tds-space-xs) 0 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	text-align: left;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_button,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap input[type="submit"].gform_button {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 16px 26px !important;
	background-color: var(--tds-cyan) !important;
	background-image: none !important;
	border: 2px solid var(--tds-cyan) !important;
	border-radius: var(--tds-radius-pill) !important;
	color: var(--tds-dark-navy) !important;
	font-family: inherit !important;
	font-size: 0.9rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 0.02em !important;
	text-align: center !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color var(--tds-transition), border-color var(--tds-transition), transform var(--tds-transition);
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_button:hover,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap input[type="submit"].gform_button:hover {
	background-color: var(--tds-cyan-hover) !important;
	border-color: var(--tds-cyan-hover) !important;
	color: var(--tds-dark-navy) !important;
	transform: translateY(-2px) !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_button:focus-visible,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap input[type="submit"].gform_button:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(39, 214, 255, 0.5) !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_validation_errors,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .validation_error {
	margin: 0 0 var(--tds-space-md) !important;
	padding: var(--tds-space-md) var(--tds-space-lg) !important;
	background-color: rgba(248, 113, 113, 0.08) !important;
	border: 1px solid rgba(248, 113, 113, 0.30) !important;
	border-radius: var(--tds-radius-sm) !important;
	color: #dc2626 !important;
	font-size: var(--tds-text-sm) !important;
	font-weight: 600;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield_error .gfield_label,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield_error > label {
	color: #dc2626 !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield_error .ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="image"]):not([type="hidden"]),
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield_error .ginput_container select,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield_error .ginput_container textarea {
	border-color: rgba(220, 38, 38, 0.5) !important;
	background-color: rgba(254, 242, 242, 0.5) !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .validation_message,
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield_validation_message {
	margin: var(--tds-space-xs) 0 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	color: #dc2626 !important;
	font-size: var(--tds-text-xs) !important;
	font-weight: 600;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_confirmation_wrapper {
	padding: var(--tds-space-xl) !important;
	background-color: rgba(39, 214, 255, 0.06) !important;
	border: 1px solid rgba(39, 214, 255, 0.28) !important;
	border-radius: var(--tds-radius-md) !important;
	text-align: center;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_confirmation_message {
	color: var(--tds-dark-navy) !important;
	font-size: var(--tds-text-md);
	font-weight: 600;
	line-height: 1.65;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gform_ajax_spinner {
	display: inline-block;
	margin-left: var(--tds-space-sm);
	vertical-align: middle;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfield_description {
	margin: var(--tds-space-xs) 0 0;
	color: #718096;
	font-size: var(--tds-text-xs);
	line-height: 1.5;
}

body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .gfields > .gfield:last-of-type {
	margin-bottom: 0;
}

/* ── Intl-tel-input: espacio para el selector de bandera/código país ── */
body.page-template-page-truck-dispatch-v2-php .v2-form__wrap .iti.iti--separate-dial-code #input_2_3 {
	padding-left: 96px !important;
	padding-right: 48px !important;
}


/* ================================================================
   8. FAQ
   ================================================================ */

/* FAQ moved to shared component: assets/css/components/faq-grid.css (variant=dark) */


/* ================================================================
   9. SEO / SERVICES
   ================================================================ */

.v2-seo {
	background-color: #ffffff;
	padding-block: var(--tds-space-4xl);
	border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.v2-seo__inner {
	display: grid;
	grid-template-columns: 36fr 64fr;
	gap: 4rem;
	align-items: center;
}

.v2-seo__copy {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.v2-seo__title {
	margin: 0;
	font-size: clamp(1.6rem, 2.8vw, 2.2rem);
	font-weight: 800;
	color: var(--tds-dark-navy);
	line-height: 1.2;
	letter-spacing: -0.025em;
}

/* "Owner Operators" — .v2-seo sits on white, same contrast fix as the
   other highlights/eyebrows on this page. */
.v2-seo__title .tds-highlight {
	color: var(--tds-cyan-text);
}

.v2-seo__desc {
	margin: 0;
	color: #4a5568;
	font-size: 0.95rem;
	line-height: 1.78;
}

.v2-seo__btn {
	align-self: flex-start;
}

.v2-seo__cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.v2-seo__card {
	padding: 1.5rem;
	background: #f8fafc;
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: var(--tds-radius-md);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	transition: box-shadow var(--tds-transition), border-color var(--tds-transition), transform var(--tds-transition);
}

.v2-seo__card:hover {
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.09);
	border-color: rgba(39, 214, 255, 0.28);
	transform: translateY(-2px);
}

.v2-seo__card-icon {
	font-size: 1.4rem;
	color: var(--tds-cyan-text);
	line-height: 1;
}

.v2-seo__card-title {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 800;
	color: var(--tds-dark-navy);
	line-height: 1.3;
}

.v2-seo__card-desc {
	margin: 0;
	font-size: 0.82rem;
	color: #64748b;
	line-height: 1.6;
}


/* ================================================================
   10. FINAL CTA BANNER
   ================================================================ */

.v2-fcta {
	position: relative;
	padding-block: 7rem;
	text-align: center;
	background-image: url('https://nextwavebpo.com/wp-content/uploads/white-truck-crossing-bridge-sunset-urban-logistics-motion.avif');
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

.v2-fcta__overlay {
	position: absolute;
	inset: 0;
	background: rgba(2, 6, 12, 0.80);
	z-index: 1;
}

.v2-fcta__inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
}

.v2-fcta__title {
	margin: 0;
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 900;
	color: var(--tds-white);
	line-height: 1.12;
	letter-spacing: -0.025em;
}

.v2-fcta__sub {
	margin: 0;
	font-size: 1.05rem;
	color: var(--tds-text-secondary);
	line-height: 1.5;
}


/* ================================================================
   ELEMENTOR PROTECTION
   Prevents Elementor global headings/button styles from bleeding in
   ================================================================ */

body.page-template-page-truck-dispatch-v2-php .v2-hero__title,
body.page-template-page-truck-dispatch-v2-php .v2-calc__title,
body.page-template-page-truck-dispatch-v2-php .v2-testimonials__title,
body.page-template-page-truck-dispatch-v2-php .v2-fcta__title {
	color: var(--tds-white) !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-problems__title,
body.page-template-page-truck-dispatch-v2-php .v2-hiw__title,
body.page-template-page-truck-dispatch-v2-php .v2-form__title,
body.page-template-page-truck-dispatch-v2-php .v2-seo__title,
body.page-template-page-truck-dispatch-v2-php .v2-seo__card-title {
	color: var(--tds-dark-navy) !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-seo__card-title {
	font-size: 1rem !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.01em !important;
	margin: 0 !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-hiw__step-title {
	font-size: 1rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
}

body.page-template-page-truck-dispatch-v2-php .tds-btn--primary {
	background-color: var(--tds-cyan) !important;
	border-color: var(--tds-cyan) !important;
	color: var(--tds-dark-navy) !important;
}

body.page-template-page-truck-dispatch-v2-php .tds-btn--secondary {
	background-color: rgba(255, 255, 255, 0.05) !important;
	border-color: rgba(255, 255, 255, 0.28) !important;
	color: var(--tds-white) !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-testimonials__arrow {
	background-color: rgba(2, 6, 12, 0.55) !important;
	background-image: none !important;
	border-radius: 50% !important;
	border: 1px solid rgba(39, 214, 255, 0.25) !important;
	color: rgba(255, 255, 255, 0.7) !important;
	width: 42px !important;
	height: 42px !important;
	min-width: unset !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	box-shadow: none !important;
	text-transform: none !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-testimonials__arrow:hover {
	background-color: rgba(39, 214, 255, 0.12) !important;
	border-color: var(--tds-cyan) !important;
	color: var(--tds-cyan) !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-testimonials__dot {
	background-color: rgba(255, 255, 255, 0.22) !important;
	background-image: none !important;
	border-radius: 50% !important;
	border: 0 !important;
	width: 8px !important;
	height: 8px !important;
	min-width: unset !important;
	padding: 0 !important;
	box-shadow: none !important;
	text-transform: none !important;
}

body.page-template-page-truck-dispatch-v2-php .v2-testimonials__dot.is-active {
	background-color: var(--tds-cyan) !important;
	width: 22px !important;
	border-radius: 4px !important;
}


/* ================================================================
   MOBILE  ·  max-width: 767px
   ================================================================ */

@media (max-width: 767px) {

	/* ── 4. CALCULATOR ── */
	.v2-calc {
		padding-block: 3rem;
		padding-inline: 2rem;
	}

	.v2-calc .tds-container {
		padding-inline: 0;
	}

	.v2-calc__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding: 2rem 1.5rem;
	}

	.v2-calc__card {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto auto auto;
		gap: 1.25rem;
	}

	.v2-calc__gross-label {
		grid-column: 1 / 3;
		grid-row: 1;
	}

	.v2-calc__input-wrap {
		grid-column: 1 / 3;
		grid-row: 2;
	}

	.v2-calc__slider {
		grid-column: 1 / 3;
		grid-row: 3;
	}

	.v2-calc__results {
		grid-column: 1 / 3;
		grid-row: 4;
		grid-template-columns: 1fr 1fr;
	}

	.v2-calc__savings {
		grid-column: 1 / 3;
		grid-row: 5;
		text-align: center;
	}

	/* ── 6. TESTIMONIALS ── */
	.v2-testimonials {
		padding-block: 3rem;
	}

	.v2-testimonials__track {
		display: flex;
		gap: 1rem;
		will-change: transform;
		transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	}

	.v2-testimonials__card {
		flex: 0 0 100%;
	}

	.v2-testimonials__nav {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 1rem;
		margin-top: 1.5rem;
	}

	.v2-testimonials__dots {
		display: flex;
		align-items: center;
		gap: 6px;
	}

	.v2-testimonials__bottom {
		margin-top: 2rem;
	}

	/* ── 5. HIW ── */
	.v2-hiw {
		padding-block: 3rem;
	}

	.v2-hiw__steps {
		flex-direction: column;
		gap: 0;
	}

	.v2-hiw__step {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 1.5rem 1.25rem;
		border: none;
		box-shadow: none;
		background: transparent;
	}

	.v2-hiw__step-icon {
		margin-left: 0;
	}

	.v2-hiw__step-icon::before {
		top: -6px;
		right: -6px;
		left: auto;
		transform: none;
	}

	.v2-hiw__connector {
		padding: 0.5rem 0;
	}

	.v2-hiw__connector i {
		transform: rotate(90deg);
	}

	/* ── 3. PROBLEMS ── */
	.v2-problems {
		padding-block: 3rem;
	}

	.v2-problems__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.v2-problems__compare {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	/* ── 2. STATS ── */
	.v2-stats {
		margin-top: -48px;
		padding-inline: 2.5rem;
	}

	.v2-stats__inner {
		grid-template-columns: 1fr;
		border-radius: 12px;
	}

	.v2-stats__item {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.07);
		padding: 1.75rem 1.5rem;
	}

	.v2-stats__item:last-child {
		border-bottom: 0;
	}

	.v2-stats__num {
		font-size: 2.5rem;
	}

	/* ── 8. FORM ── */
	.v2-form {
		padding-block: 3rem;
	}

	.v2-form__inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.v2-form__copy {
		position: static;
	}

	/* ── 9. CTA ── */
	.v2-fcta {
		padding-block: 3rem;
	}

	.v2-fcta .tds-btn {
		width: 100%;
		max-width: 360px;
		justify-content: center;
	}

	/* ── 11. SEO ── */
	.v2-seo {
		padding-block: 3rem;
	}

	.v2-seo__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.v2-seo__btn {
		align-self: stretch;
		text-align: center;
		justify-content: center;
	}

}
