/**
 * Car rental landing page sections.
 *
 * Concatenated in source order from the <style> blocks of
 * header-footer/index.html. The cascade is load-bearing: do not reorder,
 * reformat or minify. Source ranges, in order:
 *   649-1474   trust, split, faq base
 *   1748-1818  trust extras
 *   1934-2212  rates ledger
 *   2523-2903  rental process
 *   3058-3266  locality glyphs
 *   3270-3353  locations
 *   3492-3664  testimonials
 *   3891-3913  final CTA
 *
 * @package Vehicle_Rent
 */

	/* ---------------------------------------------------------------
	   Trust strip: the cabin dashboard.
	   Three instrument panels. Each one performs its claim instead of
	   illustrating it: a route that keeps redrawing itself somewhere
	   new, a cabin that grows from 2 seats to 14, a mountain road that
	   lights up ahead of the vehicle.
	   --------------------------------------------------------------- */

	::selection { background: oklch(0.648 0.2 131.684 / 0.22); color: var(--foreground); }

	.trust.section-spacing {
		padding-block: clamp(3.5rem, 7vw, 6rem);
	}

	.trust {
		background: #fff;
		padding-block: clamp(3.5rem, 7vw, 6rem);
		--trust-ease: cubic-bezier(0.23, 1, 0.32, 1);
		--trust-ink: oklch(0.145 0 0 / 0.14);
		--trust-ink-soft: oklch(0.145 0 0 / 0.07);
		--trust-green-ink: oklch(0.505 0.155 131.684);
	}

	.trust__inner { width: 100%; max-width: 72rem; margin-inline: auto; padding-inline: 1rem; }

	@media (min-width: 40rem) { .trust__inner { padding-inline: 1.5rem; } }

	.trust__header { max-width: 40rem; margin-bottom: 2.5rem; }

	.trust__title {
		font-size: clamp(1.875rem, 3.4vw, 2.25rem);
		font-weight: 700;
		line-height: 1.1;
		letter-spacing: -0.03em;
		color: var(--foreground);
		text-wrap: balance;
	}

	.trust__desc {
		margin-top: 0.875rem;
		max-width: 34rem;
		color: oklch(0.515 0 0);
		font-size: 1rem;
		line-height: 1.6;
		text-wrap: pretty;
	}

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

	/* --- card shell --- */

	.trust-card {
		position: relative;
		display: flex;
		flex-direction: column;
		overflow: hidden;
		border-radius: 1.5rem;
		background: var(--card);
		box-shadow: var(--shadow-2xl);
		color: var(--foreground);
		opacity: 0;
		transform: translateY(1rem);
		transition:
			box-shadow 300ms ease,
			transform 400ms var(--trust-ease);
	}

	.trust.is-in .trust-card {
		animation: trust-card-enter 700ms var(--trust-ease) forwards;
	}

	.trust.is-in .trust-card:nth-child(2) { animation-delay: 90ms; }
	.trust.is-in .trust-card:nth-child(3) { animation-delay: 180ms; }

	@keyframes trust-card-enter { to { opacity: 1; transform: translateY(0); } }

	.trust-card:focus-visible {
		outline: 2px solid var(--primary);
		outline-offset: 3px;
	}

	.trust-card__body {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
		padding: 1.25rem 1.375rem 1.375rem;
	}

	.trust-card__title {
		font-size: 1.25rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: -0.025em;
		text-wrap: balance;
	}

	.trust-card__text {
		max-width: 36ch;
		color: var(--muted-foreground);
		font-size: 1rem;
		line-height: 1.6;
		text-wrap: pretty;
	}

	.trust-card__cta {
		display: inline-flex;
		align-items: center;
		gap: 0.375rem;
		margin-top: 0.375rem;
		color: var(--trust-green-ink);
		font-size: 0.875rem;
		font-weight: 700;
	}

	.trust-card__cta svg {
		width: 1rem;
		height: 1rem;
		transition: transform 260ms var(--trust-ease);
	}

	/* --- panel --- */

	.trust-panel {
		position: relative;
		isolation: isolate;
		overflow: hidden;
		flex: 1 1 auto;
		min-height: 0;
		background: radial-gradient(120% 90% at 50% 0%, oklch(1 0 0) 0%, oklch(0.966 0 0) 100%);
		border-bottom: 1px solid var(--border);
	}

	.trust-panel svg { display: block; width: 100%; height: 100%; }

	.trust-panel * { animation-play-state: paused; }
	.trust-card.is-live .trust-panel * { animation-play-state: running; }

	.trust-contour { fill: none; stroke: var(--trust-ink-soft); stroke-width: 1.5; }

	/* --- panel A: the route keeps changing --- */

	.trust-panel--route { aspect-ratio: 1.3125; }

	.trust-leg { fill: none; stroke: oklch(0.145 0 0 / 0.17); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 0.5 6; }
	.trust-dest { fill: oklch(0.145 0 0 / 0.22); }
	.trust-route { fill: none; stroke: var(--primary); stroke-width: 2.75; stroke-linecap: round; stroke-dasharray: 100; opacity: 0; }
	.trust-head { fill: none; stroke: var(--primary); stroke-width: 9; stroke-linecap: round; stroke-dasharray: 0.01 200; opacity: 0; }

	.trust-origin__dot { fill: var(--foreground); }
	.trust-origin__ring { fill: none; stroke: var(--foreground); stroke-opacity: 0.28; stroke-width: 1.5; }

	.trust-pin { transform-box: fill-box; transform-origin: center; opacity: 0; }
	.trust-pin__core { fill: var(--primary); }
	.trust-pin__ring { fill: none; stroke: var(--primary); stroke-width: 1.75; stroke-opacity: 0.4; }

	.trust-card.is-live .trust-route,
	.trust-card.is-live .trust-head,
	.trust-card.is-live .trust-pin,
	.trust-card.is-live .trust-chip {
		animation-duration: 15s;
		animation-iteration-count: infinite;
		animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
		animation-fill-mode: both;
	}

	.trust-card.is-live .trust-route { animation-name: trust-route-draw; }
	.trust-card.is-live .trust-head { animation-name: trust-route-head; }
	.trust-card.is-live .trust-pin { animation-name: trust-pin-in; }
	.trust-card.is-live .trust-chip { animation-name: trust-chip-in; }

	.trust-card.is-live [data-leg="2"] { animation-delay: 5s; }
	.trust-card.is-live [data-leg="3"] { animation-delay: 10s; }

	@keyframes trust-route-draw {
		0%     { stroke-dashoffset: 100; opacity: 0; }
		1%     { opacity: 1; }
		19%    { stroke-dashoffset: 0; opacity: 1; }
		30%    { stroke-dashoffset: 0; opacity: 1; }
		33.2%  { stroke-dashoffset: 0; opacity: 0; }
		33.4%  { stroke-dashoffset: 100; opacity: 0; }
		100%   { stroke-dashoffset: 100; opacity: 0; }
	}

	@keyframes trust-route-head {
		0%     { stroke-dashoffset: 0; opacity: 0; }
		1.5%   { opacity: 1; }
		19%    { stroke-dashoffset: -100; opacity: 1; }
		21%    { stroke-dashoffset: -100; opacity: 0; }
		100%   { stroke-dashoffset: -100; opacity: 0; }
	}

	@keyframes trust-pin-in {
		0%, 16% { opacity: 0; transform: scale(0.4); }
		21%     { opacity: 1; transform: scale(1.18); }
		24%     { opacity: 1; transform: scale(1); }
		30%     { opacity: 1; transform: scale(1); }
		33.2%   { opacity: 0; transform: scale(1); }
		100%    { opacity: 0; transform: scale(0.4); }
	}

	.trust-chip {
		position: absolute;
		left: 1.25rem;
		bottom: 1.25rem;
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		padding: 0.4375rem 0.8125rem;
		border-radius: 9999px;
		background: oklch(1 0 0 / 0.92);
		backdrop-filter: blur(8px);
		box-shadow: var(--shadow-2xl);
		font-size: 0.75rem;
		font-weight: 700;
		letter-spacing: -0.01em;
		white-space: nowrap;
		opacity: 0;
	}

	.trust-chip__time {
		color: var(--muted-foreground);
		font-variant-numeric: tabular-nums;
		letter-spacing: 0.02em;
	}

	@keyframes trust-chip-in {
		0%     { opacity: 0; transform: translateY(0.5rem); }
		12%    { opacity: 1; transform: translateY(0); }
		30%    { opacity: 1; transform: translateY(0); }
		33.2%  { opacity: 0; transform: translateY(-0.5rem); }
		100%   { opacity: 0; transform: translateY(0.5rem); }
	}

	/* --- panel B: the cabin grows from 2 seats to 14 --- */

	.trust-panel--seats {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: clamp(1.25rem, 4vw, 2.5rem);
		padding: 1.5rem 1.5rem 2rem;
		height: 9.5rem;
	}

	.trust-count {
		position: relative;
		width: 3.5rem;
		height: 2.75rem;
		flex: none;
	}

	.trust-count__n {
		position: absolute;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		font-size: 2.25rem;
		font-weight: 800;
		line-height: 1;
		letter-spacing: -0.05em;
		font-variant-numeric: tabular-nums;
		opacity: 0;
	}

	.trust-count__label {
		position: absolute;
		left: 0;
		bottom: -1.125rem;
		width: 100%;
		text-align: right;
		font-size: 0.625rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: var(--muted-foreground);
	}

	.trust-card.is-live .trust-count__n {
		animation: trust-count-in 12s cubic-bezier(0.4, 0, 0.2, 1) infinite both;
	}

	.trust-card.is-live .trust-count__n[data-leg="2"] { animation-delay: 4s; }
	.trust-card.is-live .trust-count__n[data-leg="3"] { animation-delay: 8s; }

	@keyframes trust-count-in {
		0%    { opacity: 0; transform: translateY(0.3em); }
		5%    { opacity: 1; transform: translateY(0); }
		28%   { opacity: 1; transform: translateY(0); }
		33%   { opacity: 0; transform: translateY(-0.3em); }
		100%  { opacity: 0; transform: translateY(0.3em); }
	}

	.trust-vehicle {
		--seat: 1.125rem;
		--seat-gap: 0.375rem;
		--cab-pad: 0.5rem;
		--cab-1: calc(var(--seat) + var(--cab-pad) * 2 + 2px);
		--cab-2: calc(var(--seat) * 4 + var(--seat-gap) * 3 + var(--cab-pad) * 2 + 2px);
		--cab-3: calc(var(--seat) * 7 + var(--seat-gap) * 6 + var(--cab-pad) * 2 + 2px);
		position: relative;
	}

	.trust-cabin {
		position: relative;
		width: var(--cab-1);
		overflow: hidden;
		padding: var(--cab-pad);
		border: 1px solid oklch(0.145 0 0 / 0.22);
		border-radius: 0.625rem;
		background: oklch(1 0 0);
	}

	.trust-card.is-live .trust-cabin {
		animation: trust-cabin-grow 12s var(--trust-ease) infinite both;
	}

	@keyframes trust-cabin-grow {
		0%, 27%   { width: var(--cab-1); }
		33%, 60%  { width: var(--cab-2); }
		66%, 96%  { width: var(--cab-3); }
		100%      { width: var(--cab-1); }
	}

	.trust-seats {
		display: grid;
		grid-auto-flow: column;
		grid-template-rows: repeat(2, var(--seat));
		grid-auto-columns: var(--seat);
		gap: var(--seat-gap);
		width: max-content;
	}

	.trust-seat {
		width: var(--seat);
		height: var(--seat);
		border-radius: 0.375rem;
		background: var(--primary);
		box-shadow: inset 0 -0.25rem 0 0 oklch(0.145 0 0 / 0.1);
	}

	.trust-seat--b,
	.trust-seat--c {
		opacity: 0.25;
		transform: scale(0.62);
		background: oklch(0.145 0 0 / 0.4);
		box-shadow: none;
	}

	.trust-card.is-live .trust-seat--b,
	.trust-card.is-live .trust-seat--c {
		animation-duration: 12s;
		animation-timing-function: var(--trust-ease);
		animation-iteration-count: infinite;
		animation-fill-mode: both;
		animation-delay: calc(var(--i, 0) * 70ms);
	}

	.trust-card.is-live .trust-seat--b { animation-name: trust-seat-b; }
	.trust-card.is-live .trust-seat--c { animation-name: trust-seat-c; }

	@keyframes trust-seat-b {
		0%, 28%   { opacity: 0.25; transform: scale(0.62); background-color: oklch(0.145 0 0 / 0.4); box-shadow: inset 0 -0.25rem 0 0 oklch(0.145 0 0 / 0); }
		36%, 92%  { opacity: 1; transform: scale(1); background-color: oklch(0.648 0.2 131.684); box-shadow: inset 0 -0.25rem 0 0 oklch(0.145 0 0 / 0.1); }
		97%, 100% { opacity: 0.25; transform: scale(0.62); background-color: oklch(0.145 0 0 / 0.4); box-shadow: inset 0 -0.25rem 0 0 oklch(0.145 0 0 / 0); }
	}

	@keyframes trust-seat-c {
		0%, 61%   { opacity: 0.25; transform: scale(0.62); background-color: oklch(0.145 0 0 / 0.4); box-shadow: inset 0 -0.25rem 0 0 oklch(0.145 0 0 / 0); }
		69%, 92%  { opacity: 1; transform: scale(1); background-color: oklch(0.648 0.2 131.684); box-shadow: inset 0 -0.25rem 0 0 oklch(0.145 0 0 / 0.1); }
		97%, 100% { opacity: 0.25; transform: scale(0.62); background-color: oklch(0.145 0 0 / 0.4); box-shadow: inset 0 -0.25rem 0 0 oklch(0.145 0 0 / 0); }
	}

	.trust-wheel {
		position: absolute;
		bottom: -0.4375rem;
		width: 0.875rem;
		height: 0.875rem;
		border-radius: 9999px;
		background: oklch(0.145 0 0 / 0.7);
	}

	.trust-wheel--front { left: 0.5rem; }
	.trust-wheel--rear { right: 0.5rem; }

	.trust-ground {
		position: absolute;
		left: -2rem;
		right: -2rem;
		bottom: -0.9375rem;
		height: 1px;
		background: linear-gradient(90deg, transparent, oklch(0.145 0 0 / 0.2) 18%, oklch(0.145 0 0 / 0.2) 82%, transparent);
	}

	/* --- panel C: the road lights up ahead of you --- */

	.trust-panel--drive {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 9.5rem;
	}

	.trust-panel--drive svg { flex: none; width: 100%; height: auto; }

	.trust-ridge { fill: oklch(0.145 0 0 / 0.06); }
	.trust-switchback { fill: none; stroke: var(--trust-ink); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }

	.trust-beam {
		fill: none;
		stroke: var(--primary);
		stroke-width: 5;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-dasharray: 17 200;
		opacity: 0;
	}

	.trust-jeep {
		fill: none;
		stroke: var(--foreground);
		stroke-width: 10;
		stroke-linecap: round;
		stroke-dasharray: 0.01 200;
		opacity: 0;
	}

	.trust-mile { fill: var(--foreground); fill-opacity: 0.16; transform-box: fill-box; transform-origin: center; }

	.trust-card.is-live .trust-beam { animation: trust-beam 7s linear infinite both; }
	.trust-card.is-live .trust-jeep { animation: trust-jeep 7s linear infinite both; }

	.trust-card.is-live .trust-mile {
		animation: trust-mile 7s var(--trust-ease) infinite both;
		animation-delay: calc(var(--t) * 1s);
	}

	@keyframes trust-beam {
		0%   { stroke-dashoffset: 17; opacity: 0; }
		4%   { opacity: 1; }
		70%  { stroke-dashoffset: -100; opacity: 1; }
		78%  { stroke-dashoffset: -100; opacity: 0; }
		79%  { stroke-dashoffset: 17; opacity: 0; }
		100% { stroke-dashoffset: 17; opacity: 0; }
	}

	@keyframes trust-jeep {
		0%   { stroke-dashoffset: 5; opacity: 0; }
		10%  { stroke-dashoffset: 0; opacity: 1; }
		82%  { stroke-dashoffset: -100; opacity: 1; }
		88%  { stroke-dashoffset: -100; opacity: 0; }
		89%  { stroke-dashoffset: 5; opacity: 0; }
		100% { stroke-dashoffset: 5; opacity: 0; }
	}

	@keyframes trust-mile {
		0%, 4%    { fill-opacity: 0.16; fill: oklch(0.145 0 0); transform: scale(1); }
		9%        { fill-opacity: 1; fill: oklch(0.648 0.2 131.684); transform: scale(1.8); }
		18%       { fill-opacity: 0.95; fill: oklch(0.648 0.2 131.684); transform: scale(1); }
		84%       { fill-opacity: 0.95; fill: oklch(0.648 0.2 131.684); transform: scale(1); }
		92%, 100% { fill-opacity: 0.16; fill: oklch(0.145 0 0); transform: scale(1); }
	}

	/* --- layout --- */

	@media (min-width: 48rem) {
		.trust-card--seats .trust-panel,
		.trust-card--drive .trust-panel { height: clamp(7rem, 15svh, 10.5rem); }
	}

	@media (min-width: 64rem) {
		.trust__header { margin-bottom: clamp(1.25rem, 2.6svh, 2rem); }

		.trust__grid {
			grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
			grid-template-rows: auto auto;
			gap: 1.5rem;
		}

		.trust-card--route { grid-row: 1 / span 2; }
		.trust-panel--route { aspect-ratio: auto; }
		.trust-card--route .trust-card__body { padding: 1.875rem 2rem 2.125rem; }
		.trust-card--route .trust-card__title { font-size: 1.5rem; }
		.trust-card--seats .trust-card__text,
		.trust-card--drive .trust-card__text { max-width: 48ch; }
	}

	@media (hover: hover) and (pointer: fine) {
		.trust-card:hover {
			transform: translateY(-3px);
			box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .25), 0 14px 30px -14px rgba(0, 0, 0, .3);
		}

		.trust-card:hover .trust-card__cta svg { transform: translateX(3px); }
	}

	@media (prefers-reduced-motion: reduce) {
		.trust-card { transition: opacity 200ms ease; }
		.trust-card:hover { transform: none; box-shadow: var(--shadow-2xl); }
		.trust-card__cta svg { transition: none; }
		.trust.is-in .trust-card { animation: none; opacity: 1; transform: none; }

		.trust-panel *,
		.trust-card.is-live .trust-panel *,
		.trust-card.is-live .trust-cabin,
		.trust-card.is-live .trust-count__n { animation: none !important; }

		/* resolved states: the closing frame of each story */
		.trust-route { opacity: 0; }
		.trust-route[data-leg="3"] { opacity: 1; stroke-dashoffset: 0; }
		.trust-pin { opacity: 0; }
		.trust-pin[data-leg="3"] { opacity: 1; transform: scale(1); }
		.trust-head, .trust-jeep { opacity: 0; }
		.trust-chip { opacity: 0; }
		.trust-chip[data-leg="3"] { opacity: 1; transform: none; }
		.trust-cabin { width: var(--cab-3); }
		.trust-seat--b, .trust-seat--c { opacity: 1; transform: none; background: var(--primary); box-shadow: inset 0 -0.25rem 0 0 oklch(0.145 0 0 / 0.1); }
		.trust-count__n { opacity: 0; }
		.trust-count__n[data-leg="3"] { opacity: 1; transform: none; }
		.trust-beam { opacity: 1; stroke-dasharray: 100; stroke-dashoffset: 0; }
		.trust-mile { fill: var(--primary); fill-opacity: 0.95; }
	}

	/* ---------------------------------------------------------------
	   Self-drive vs. driver: one windscreen, two sides of it.
	   Left column is the road as a problem: grey cabin, dimmed ink,
	   neutral cross marks, no motion. Right column is the cabin that
	   answers it: paper white, full-contrast ink, green checks that
	   land a beat after the problem, and the only button on the card.
	   --------------------------------------------------------------- */

	.split.section-spacing {
		padding-block: clamp(3.5rem, 7vw, 6rem);
	}

	.split {
		background: var(--background);
		--split-ease: cubic-bezier(0.23, 1, 0.32, 1);
		--split-green-ink: oklch(0.505 0.155 131.684);
		--split-quiet: oklch(0.515 0 0);
	}

	.split__inner { width: 100%; max-width: 72rem; margin-inline: auto; padding-inline: 1rem; }

	@media (min-width: 40rem) { .split__inner { padding-inline: 1.5rem; } }

	.split__header { max-width: 42rem; margin-bottom: 2.5rem; }

	.split__badge {
		font-size: 0.75rem;
		font-weight: 700;
		line-height: 1.333;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: var(--split-green-ink);
	}

	.split__title {
		margin-top: 0.875rem;
		font-size: clamp(1.875rem, 3.4vw, 2.25rem);
		font-weight: 700;
		line-height: 1.1;
		letter-spacing: -0.03em;
		color: var(--foreground);
		text-wrap: balance;
	}

	.split__desc {
		margin-top: 0.875rem;
		max-width: 34rem;
		color: var(--split-quiet);
		font-size: 1rem;
		line-height: 1.6;
		text-wrap: pretty;
	}

	/* --- card shell --- */

	.split__card {
		overflow: hidden;
		border-radius: 1.5rem;
		background: var(--card);
		box-shadow: var(--shadow-2xl);
	}

	.split-row { display: grid; grid-template-columns: 1fr; }

	.split-cell {
		display: flex;
		align-items: flex-start;
		gap: 0.875rem;
		padding: 1.25rem 1.375rem;
	}

	.split-cell--left { background: var(--muted); }

	.split-cell--right {
		background: var(--card);
		border-block-end: 1px solid var(--border);
	}

	/* --- column heads --- */

	.split-row--head { display: none; }

	.split-row--head .split-cell {
		align-items: center;
		gap: 0.75rem;
		padding-block: 1.375rem;
	}

	.split-head__icon { flex: none; width: 1.75rem; height: 1.75rem; }

	.split-cell--left .split-head__icon { color: oklch(0.145 0 0 / 0.4); }
	.split-cell--right .split-head__icon { color: var(--foreground); }

	.split-head__name {
		font-size: 1.25rem;
		font-weight: 700;
		line-height: 1.2;
		letter-spacing: -0.025em;
	}

	.split-cell--left .split-head__name { color: var(--muted-foreground); }
	.split-cell--right .split-head__name { color: var(--foreground); }

	.split-head__qual {
		display: block;
		margin-top: 0.25rem;
		font-size: 0.75rem;
		font-weight: 700;
		line-height: 1.333;
		letter-spacing: 0.1em;
		text-transform: uppercase;
	}

	.split-cell--left .split-head__qual { color: var(--split-quiet); }
	.split-cell--right .split-head__qual { color: var(--split-green-ink); }

	/* --- marks --- */

	.split-mark {
		display: inline-flex;
		flex: none;
		align-items: center;
		justify-content: center;
		width: 1.625rem;
		height: 1.625rem;
		margin-top: 0.125rem;
		border-radius: 9999px;
	}

	.split-mark svg { width: 0.875rem; height: 0.875rem; }

	.split-cell--left .split-mark { background: oklch(0.145 0 0 / 0.07); color: oklch(0.145 0 0 / 0.45); }
	.split-cell--right .split-mark { background: oklch(0.648 0.2 131.684 / 0.14); color: var(--split-green-ink); }

	/* --- item copy --- */

	.split-item__tag {
		display: block;
		margin-bottom: 0.375rem;
		font-size: 0.75rem;
		font-weight: 700;
		line-height: 1.333;
		letter-spacing: 0.1em;
		text-transform: uppercase;
	}

	.split-cell--left .split-item__tag { color: var(--split-quiet); }
	.split-cell--right .split-item__tag { color: var(--split-green-ink); }

	.split-item__title {
		font-size: 1rem;
		font-weight: 700;
		line-height: 1.35;
		letter-spacing: -0.02em;
		text-wrap: balance;
	}

	.split-cell--left .split-item__title { color: oklch(0.205 0 0); }
	.split-cell--right .split-item__title { color: var(--foreground); }

	.split-item__text {
		margin-top: 0.3125rem;
		max-width: 44ch;
		color: var(--split-quiet);
		font-size: 0.875rem;
		line-height: 1.6;
		text-wrap: pretty;
	}

	/* --- foot --- */

	.split__foot {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.875rem;
		padding: 1.5rem 1.375rem 1.75rem;
		background: var(--card);
		text-align: center;
	}

	.split__cta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		min-height: 3.25rem;
		padding: 0.875rem 1.75rem;
		border-radius: 9999px;
		background: var(--primary);
		color: var(--primary-foreground);
		font-size: 1rem;
		font-weight: 700;
		line-height: 1;
		box-shadow: var(--shadow-lg);
		transition:
			background-color 300ms ease,
			transform 300ms var(--split-ease);
	}

	.split__cta svg {
		width: 1.125rem;
		height: 1.125rem;
		transition: transform 260ms var(--split-ease);
	}

	.split__cta:focus-visible {
		outline: none;
		box-shadow: 0 0 0 2px var(--background), 0 0 0 4px oklch(0.648 0.2 131.684 / 0.5);
	}

	.split__cta:active { transform: scale(0.97); }

	/* --- entrance --- */

	.split-row { opacity: 0; transform: translateY(0.75rem); }
	.split-row:nth-child(1) { --d: 0ms; }
	.split-row:nth-child(2) { --d: 70ms; }
	.split-row:nth-child(3) { --d: 140ms; }
	.split-row:nth-child(4) { --d: 210ms; }
	.split-row:nth-child(5) { --d: 280ms; }
	.split-row:nth-child(6) { --d: 350ms; }

	.split.is-in .split-row {
		animation: split-row-in 620ms var(--split-ease) forwards;
		animation-delay: var(--d);
	}

	@keyframes split-row-in { to { opacity: 1; transform: translateY(0); } }

	.split-cell--right .split-mark { opacity: 0; }

	.split.is-in .split-cell--right .split-mark {
		animation: split-mark-in 520ms var(--split-ease) both;
		animation-delay: calc(var(--d) + 200ms);
	}

	@keyframes split-mark-in {
		0% { opacity: 0; transform: scale(0.55); }
		62% { opacity: 1; transform: scale(1.09); }
		100% { opacity: 1; transform: scale(1); }
	}

	.split__foot { opacity: 0; }

	.split.is-in .split__foot { animation: split-row-in 620ms var(--split-ease) 420ms forwards; }

	/* --- layout --- */

	@media (min-width: 52rem) {
		.split__header { margin-bottom: 3rem; }

		.split-row { grid-template-columns: 1fr 1fr; }

		.split-row--head { display: grid; }

		.split-cell {
			gap: 1rem;
			padding: 1.5rem 1.75rem;
		}

		.split-cell--left {
			border-block-end: 1px solid var(--border);
			border-inline-end: 1px solid var(--border);
		}

		.split-item__tag { display: none; }

		.split__foot {
			flex-direction: row;
			justify-content: center;
			padding: 1.75rem;
		}
	}

	@media (hover: hover) and (pointer: fine) {
		.split__cta:hover {
			background: color-mix(in oklab, var(--primary) 90%, transparent);
			transform: scale(1.05);
		}

		.split__cta:hover svg { transform: translateX(3px); }
	}

	@media (prefers-reduced-motion: reduce) {
		.split-row,
		.split__foot { opacity: 1; transform: none; }

		.split.is-in .split-row,
		.split.is-in .split__foot { animation: none; }

		.split-cell--right .split-mark { opacity: 1; }
		.split.is-in .split-cell--right .split-mark { animation: none; }

		.split__cta,
		.split__cta svg { transition: none; }
		.split__cta:hover { transform: none; }
	}

[x-cloak]{display:none!important}
  :root{--rates-ease:cubic-bezier(0.23,1,0.32,1)}
  /* ---- Ledger Section ---- */
  .rates-ledger{position:relative;isolation:isolate;scroll-margin-top:5rem;background:var(--background);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding-block:clamp(3.5rem, 7vw, 6rem)}
  .rates-ledger__inner{width:min(calc(100% - 2rem),72rem);margin-inline:auto}
  @media(min-width:40rem){.rates-ledger__inner{width:min(calc(100% - 3rem),72rem)}}

  .rates-ledger__layout{display:grid;gap:clamp(2rem,4vw,3rem)}
  @media(min-width:64rem){.rates-ledger__layout{grid-template-columns: 0.92fr 1.18fr;align-items:start;gap:clamp(2.5rem,4vw,4rem)}}

  /* header */
      .rates-ledger__title{text-wrap:balance}
  .rates-ledger__title em{font-style:normal;color:var(--primary)}
  .rates-ledger__desc{margin-top:.9rem;max-width:32rem;color:var(--muted-foreground);font-size:1rem;line-height:1.65;text-wrap:pretty}
  .rates-ledger__meta{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.6rem}
  .rates-ledger__pill{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .85rem;border-radius:999px;background:var(--muted);border:1px solid var(--border);font-size:.8125rem;font-weight:600;color:var(--foreground);line-height:1}
  .rates-ledger__pill--accent{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}
  .rates-ledger__pill svg{width:1rem;height:1rem;opacity:.9}
  .rates-ledger__cta{margin-top:1.75rem;display:inline-flex;align-items:center;gap:.6rem;min-height:3.25rem;padding:0 1.5rem;border-radius:999px;background:var(--foreground);color:var(--background);font-size:.95rem;font-weight:700;text-decoration:none;transition:transform 200ms var(--rates-ease),background 200ms ease}
  .rates-ledger__cta svg{width:1.05rem;height:1.05rem;transition:transform 200ms var(--rates-ease)}
  .rates-ledger__cta:hover{transform:translateY(-1px);background:oklch(0.205 0 0)}
  .rates-ledger__cta:hover svg{transform:translateX(3px)}
  .rates-ledger__cta:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
  .rates-ledger__fine{margin-top:1.25rem;display:flex;gap:.9rem;align-items:flex-start;color:var(--muted-foreground);font-size:.8125rem;line-height:1.5;max-width:30rem}
  .rates-ledger__fine svg{flex:none;width:1rem;height:1rem;margin-top:.15rem;color:var(--primary)}

  /* sheet */
  .rates-sheet{overflow:hidden;border-radius:1.5rem;background:var(--card);border:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.06),0 12px 28px -14px rgba(0,0,0,.12)}
  .rates-sheet__head{display:none;align-items:center;gap:1rem;padding:.85rem 1.25rem;background:var(--muted);border-bottom:1px solid var(--border);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground)}
  @media(min-width:40rem){.rates-sheet__head{display:grid;grid-template-columns:1.7fr .62fr 1fr}}
  .rates-sheet__head span:last-child{text-align:right}
  .rates-row{position:relative;display:grid;gap:.85rem;padding:1.15rem 1.25rem;border-bottom:1px solid var(--border);transition:background 180ms ease;text-decoration:none;color:inherit}
  .rates-row:last-child{border-bottom:0}
  .rates-row:hover{background:oklch(0.97 0 0)}
  .rates-row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;z-index:1}
  @media(min-width:40rem){.rates-row{grid-template-columns:1.7fr .62fr 1fr;align-items:center;padding:1rem 1.25rem}}
  .rates-row__main{display:flex;gap:.9rem;align-items:center;min-width:0}
  .rates-row__icon{flex:none;width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:999px;background:var(--muted);border:1px solid var(--border);color:var(--foreground)}
  .rates-row__icon svg{width:1.25rem;height:1.25rem}
  .rates-row--accent .rates-row__icon{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}
  .rates-row__veh{min-width:0}
  .rates-row__name{font-size:1rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--foreground);display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem}
  .rates-row__name small{display:inline-flex;align-items:center;padding:.18rem .45rem;border-radius:999px;background:oklch(0.648 0.2 131.684 /.12);color:oklch(0.43 0.14 131.684);font-size:.68rem;font-weight:700;letter-spacing:.04em;line-height:1}
  .rates-row__model{display:block;margin-top:.2rem;color:var(--muted-foreground);font-size:.8125rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  @media(max-width:39.999rem){.rates-row__model{white-space:normal}}
  .rates-row__seats{display:flex;align-items:center;gap:.5rem}
  .rates-seats{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;border-radius:999px;background:var(--muted);border:1px solid var(--border);font-size:.8125rem;font-weight:650;color:var(--foreground);white-space:nowrap;line-height:1}
  .rates-seats svg{width:.9rem;height:.9rem;color:var(--muted-foreground)}
  .rates-row--accent .rates-seats{background:oklch(1 0 0);border-color:var(--border)}
  .rates-row__price{text-align:left}
  @media(min-width:40rem){.rates-row__price{text-align:right}}
  .rates-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .5rem}
  @media(min-width:40rem){.rates-price{justify-content:flex-end}}
  .rates-price__npr{font-size:1.28rem;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--foreground);font-variant-numeric:tabular-nums}
  .rates-price__npr i{font-style:normal;font-weight:650;color:var(--muted-foreground);font-size:.88rem;letter-spacing:-.01em}
  .rates-price__usd{display:inline-flex;align-items:center;gap:.3rem;font-size:.8125rem;font-weight:600;color:var(--muted-foreground);font-variant-numeric:tabular-nums}
  .rates-price__usd::before{content:"≈";opacity:.5}
  .rates-price__per{font-size:.75rem;font-weight:600;color:var(--muted-foreground);letter-spacing:.02em}
  .rates-row--accent{background:linear-gradient(90deg, oklch(0.648 0.2 131.684 / .08), transparent 55%), var(--card)}
  .rates-row--accent:hover{background:linear-gradient(90deg, oklch(0.648 0.2 131.684 / .12), transparent 60%), var(--card)}
  .rates-row__arrow{position:absolute;right:1rem;top:50%;translate:0 -50%;width:1.75rem;height:1.75rem;display:none;place-items:center;border-radius:999px;background:var(--foreground);color:var(--background);opacity:0;transform:translateX(-4px);transition:opacity 180ms ease,transform 180ms var(--rates-ease)}
  @media(min-width:40rem){.rates-row__arrow{display:grid}}
  .rates-row:hover .rates-row__arrow{opacity:1;transform:translateX(0)}
  .rates-row__arrow svg{width:.9rem;height:.9rem}
  /* foot */
  /* motion */
  .rates-ledger.is-in .rates-sheet{animation:rates-in 640ms var(--rates-ease) both}
  .rates-ledger.is-in .rates-row{animation:rates-row-in 620ms var(--rates-ease) both;animation-delay:calc(var(--i) * 55ms + 120ms)}
  @keyframes rates-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  @keyframes rates-row-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
  @media(prefers-reduced-motion:reduce){.rates-ledger.is-in .rates-sheet,.rates-ledger.is-in .rates-row{animation:none}}

.rental-process {
  --process-progress: 0;
  --process-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --process-rail-x: 0.6875rem;
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  border-block: 1px solid var(--border);
  background: var(--background);
  color: var(--foreground);
}

.rental-process *,
.rental-process *::before,
.rental-process *::after { box-sizing: border-box; }

.rental-process ::selection {
  background: color-mix(in oklab, var(--primary) 24%, transparent);
  color: var(--foreground);
}

.rental-process__shell {
  display: grid;
  grid-template-columns: minmax(19rem, 5.5fr) minmax(0, 6.5fr);
  gap: clamp(3rem, 6.5vw, 7.5rem);
  width: 100%;
  max-width: 72rem;
  margin-inline: auto;
  padding-inline: 1rem;
}

@media (min-width: 40rem) {
  .rental-process__shell { padding-inline: 1.5rem; }
}

.rental-process__intro { min-width: 0; }

.rental-process__intro-inner {
  position: sticky;
  top: 7rem;
}

.rental-process__title {
  max-width: 100%;
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.rental-process__title span { display: block; }

.rental-process__cta {
  display: inline-flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: clamp(2.5rem, 4vw, 3rem);
  padding-inline: 2rem;
  border-radius: 9999px;
  background: var(--primary);
  color: var(--primary-foreground);
  box-shadow: var(--shadow-lg);
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition:
    box-shadow 300ms ease,
    transform 300ms var(--process-ease);
}

.rental-process__cta svg {
  width: 1.125rem;
  height: 1.125rem;
  transition: transform 300ms var(--process-ease);
}

.rental-process__cta:focus-visible {
  outline: 2px solid var(--foreground);
  outline-offset: 4px;
}

.rental-process__cta:active { transform: scale(0.98); }

.rental-process__steps-wrap {
  position: relative;
  min-width: 0;
}

.rental-process__steps {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rental-process__route {
  position: absolute;
  z-index: 2;
  top: var(--process-route-top, 12.5%);
  height: var(--process-route-height, 75%);
  left: var(--process-rail-x);
  width: 2px;
  pointer-events: none;
}

.rental-process__route-track,
.rental-process__route-progress {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  transform-origin: top;
}

.rental-process__route-track {
  background: repeating-linear-gradient(
    to bottom,
    color-mix(in oklab, var(--primary) 55%, transparent) 0 0.375rem,
    transparent 0.375rem 0.875rem
  );
}

.rental-process__route-progress {
  height: calc(var(--process-progress) * 100%);
  background: var(--primary);
  transition: height 120ms linear;
}

.rental-process__step {
  position: relative;
  display: grid;
  grid-template-columns: 3.75rem minmax(0, 1fr);
  align-items: center;
  min-height: clamp(11rem, 14vw, 13rem);
  gap: clamp(1.5rem, 2.4vw, 2.25rem);
  padding-block: clamp(2.5rem, 4vw, 3.75rem);
  padding-inline: 3rem 0;
}

.rental-process__node {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: var(--process-rail-x);
  width: 0.875rem;
  height: 0.875rem;
  border: 2px solid color-mix(in oklab, var(--primary) 55%, transparent);
  border-radius: 9999px;
  background: var(--background);
  transform: translate(-50%, -50%);
  transition:
    background-color 400ms var(--process-ease),
    border-color 400ms var(--process-ease),
    box-shadow 400ms var(--process-ease),
    transform 400ms var(--process-ease);
}

.rental-process__step.is-active .rental-process__node {
  border-color: var(--primary);
  background: var(--primary);
  box-shadow: 0 0 0 0.5rem color-mix(in oklab, var(--primary) 10%, transparent);
  transform: translate(-50%, -50%) scale(1.15);
}

.rental-process__number {
  display: block;
  font-family: var(--font-sans);
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.9;
  color: color-mix(in oklab, var(--foreground) 20%, var(--background));
  font-variant-numeric: tabular-nums;
  transition: color 500ms var(--process-ease);
}

.rental-process__step.is-active .rental-process__number { color: var(--foreground); }

.rental-process__copy { min-width: 0; }

.rental-process__step-title {
  margin: 0;
  font-size: clamp(1.375rem, 1.9vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  text-wrap: balance;
}

.rental-process__step-text {
  max-width: 34rem;
  margin: 0.875rem 0 0;
  color: var(--muted-foreground);
  font-size: 1.0625rem;
  line-height: 1.6;
  text-wrap: pretty;
}

.rental-process.is-motion-ready .rental-process__number,
.rental-process.is-motion-ready .rental-process__copy {
  opacity: 0;
  transform: translateY(1.5rem);
}

.rental-process.is-motion-ready .rental-process__step.is-visible .rental-process__number,
.rental-process.is-motion-ready .rental-process__step.is-visible .rental-process__copy {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 700ms var(--process-ease),
    transform 700ms var(--process-ease),
    color 500ms var(--process-ease);
}

.rental-process.is-motion-ready .rental-process__step.is-visible .rental-process__copy {
  transition-delay: 90ms;
}

@media (hover: hover) and (pointer: fine) {
  .rental-process__cta:hover {
    box-shadow: var(--shadow-xl);
    transform: translateY(-2px) scale(1.02);
  }

  .rental-process__cta:hover svg { transform: translateX(0.25rem); }
}

@media (max-width: 63.999rem) {
  .rental-process__shell {
    grid-template-columns: 1fr;
    gap: clamp(3rem, 6vw, 4.5rem);
    max-width: 52rem;
  }

  .rental-process__intro-inner { position: static; }
}

@media (max-width: 39.999rem) {
  .rental-process {
    --process-rail-x: 0.5rem;
    padding-block: clamp(3.5rem, 7vw, 6rem);
  }

  .rental-process__title { font-size: clamp(2.25rem, 11vw, 3.25rem); }

  .rental-process__step {
    grid-template-columns: 1fr;
    align-content: center;
    min-height: 0;
    gap: 0.875rem;
    padding-block: 2.25rem;
    padding-inline: 2.75rem 0;
  }

  .rental-process__node { top: 3.5rem; }
  .rental-process__number { font-size: 2.75rem; }
  .rental-process__step-title { font-size: 1.375rem; }
  .rental-process__step-text { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .rental-process,
  .rental-process *,
  .rental-process *::before,
  .rental-process *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .rental-process__route-progress { height: 100%; }
}

	/* ---------------------------------------------------------------
	   Popular rental locations: the coverage ledger.

	   Not five cards. One card. Three pickup cities sit edge to edge
	   behind hairline seams, so the container reads as a single
	   stretch of coverage rather than three separate products. The
	   two services that travel with you live in a footer bar inside
	   the same card, recessed onto the muted surface: a different
	   material for a different kind of thing.
	   --------------------------------------------------------------- */

	.locations {
		padding-block: clamp(3.5rem, 7vw, 6rem);
		background: #fff;
		--loc-ease: cubic-bezier(0.22, 1, 0.36, 1);
		--loc-green-ink: oklch(0.505 0.155 131.684);
		--loc-quiet: oklch(0.515 0 0);
		--loc-border-strong: oklch(0.86 0 0);
		--loc-ring: oklch(0.43 0.14 131.684);
	}

	.locations__inner {
		width: min(calc(100% - 2rem), 72rem);
		margin-inline: auto;
	}

	@media (min-width: 40rem) {
		.locations__inner { width: min(calc(100% - 3rem), 72rem); }
	}

	.locations__head { max-width: 40rem; }

	.locations__title {
		margin: 0;
		font-size: clamp(1.875rem, 3.4vw, 2.25rem);
		font-weight: 700;
		line-height: 1.1;
		letter-spacing: -0.03em;
		color: var(--foreground);
		text-wrap: balance;
	}

	.locations__desc {
		max-width: 36rem;
		margin: 0.875rem 0 0;
		color: var(--loc-quiet);
		font-size: 1rem;
		line-height: 1.6;
		text-wrap: pretty;
	}

	/* --- photograph frames and locality glyphs ---
	   The drawn glyph sits underneath the photograph and shows
	   through whenever a photograph has not been supplied yet.
	   Nothing ever renders as a broken image. */

	.locations .loc-frame {
		position: relative;
		display: block;
		isolation: isolate;
		overflow: hidden;
		background: radial-gradient(120% 100% at 50% 0%, oklch(1 0 0) 0%, oklch(0.955 0 0) 100%);
	}

	.locations .loc-shot {
		position: absolute;
		inset: 0;
		z-index: 2;
		width: 100%;
		height: 100%;
		object-fit: cover;
		opacity: 0;
		filter: saturate(0.94) contrast(1.02);
		transform: scale(1.005);
		transition:
			opacity 420ms ease,
			transform 900ms var(--loc-ease),
			filter 420ms ease;
	}

	.locations .loc-frame.is-loaded .loc-shot { opacity: 1; }

	.locations .loc-frame__fallback {
		position: absolute;
		inset: 0;
		z-index: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.75rem;
		padding: 1rem;
		color: oklch(0.145 0 0 / 0.34);
		text-align: center;
	}

	.locations .loc-frame__hint {
		display: none;
		max-width: 100%;
		font-size: 0.6875rem;
		font-weight: 600;
		letter-spacing: 0.01em;
		line-height: 1.4;
		color: oklch(0.145 0 0 / 0.52);
		word-break: break-all;
	}

	.locations .loc-frame.is-empty .loc-frame__hint { display: block; }

	.locations .loc-glyph {
		position: relative;
		width: 2rem;
		height: 2rem;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.7;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.locations .loc-glyph--md { width: 2.25rem; height: 2.25rem; }
	.locations .loc-glyph--xl { width: clamp(3.5rem, 7vw, 5rem); height: clamp(3.5rem, 7vw, 5rem); }

	.locations .loc-glyph .g-soft { opacity: 0.42; stroke-width: 1.3; }
	.locations .loc-glyph .g-mark,
	.locations .loc-glyph .g-mark-fill { fill: var(--primary); stroke: none; }

	/* glass chip over photography: it arrives with the photograph,
	   because on an empty frame there is nothing for it to sit on */
	.locations .loc-chip {
		position: absolute;
		z-index: 3;
		bottom: 0.875rem;
		left: 0.875rem;
		display: grid;
		place-items: center;
		width: 2.875rem;
		height: 2.875rem;
		border: 1px solid rgba(255, 255, 255, 0.34);
		border-radius: 1rem;
		background: rgba(5, 8, 6, 0.32);
		color: #fff;
		opacity: 0;
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		transition:
			opacity 420ms ease,
			transform 320ms var(--loc-ease),
			background-color 320ms ease,
			border-color 320ms ease;
	}

	.locations .loc-frame.is-loaded .loc-chip { opacity: 1; }

	.locations .loc-chip .loc-glyph { width: 1.6rem; height: 1.6rem; }

	.locations .loc-arrow {
		width: 1.0625rem;
		height: 1.0625rem;
		flex: none;
		fill: none;
		stroke: currentColor;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
		transition: transform 260ms var(--loc-ease);
	}

	/* --- the single container --- */

	.locations__ledger {
		margin-top: clamp(2rem, 3.5vw, 2.75rem);
		overflow: hidden;
		border-radius: 1.5rem;
		background: var(--card);
		box-shadow: var(--shadow-2xl);
	}

	.locations__cities {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1px;
		background: var(--border);
	}

	@media (min-width: 48rem) {
		.locations__cities { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	}

	/* --- a city panel --- */

	.loc-city {
		display: flex;
		flex-direction: column;
		background: var(--card);
		color: var(--foreground);
		transition: background-color 280ms ease;
	}

	.js .loc-city { opacity: 0; }

	.loc-city:focus-visible {
		outline: 2px solid var(--loc-ring);
		outline-offset: -4px;
	}

	.loc-city__frame { aspect-ratio: 16 / 10; }

	@media (min-width: 48rem) {
		.loc-city__frame { aspect-ratio: 4 / 5; }
	}

	.loc-city__plate {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.4375rem;
		padding: 1.25rem 1.375rem 1.375rem;
	}

	.loc-city__name {
		font-size: 1.25rem;
		font-weight: 700;
		line-height: 1.28;
		letter-spacing: -0.022em;
		text-wrap: balance;
	}

	.loc-city__text {
		max-width: 34ch;
		color: var(--loc-quiet);
		font-size: 1rem;
		line-height: 1.6;
		text-wrap: pretty;
	}

	.loc-city__go {
		display: inline-flex;
		align-items: center;
		gap: 0.375rem;
		margin-top: auto;
		padding-top: 0.75rem;
		color: var(--loc-green-ink);
		font-size: 0.875rem;
		font-weight: 700;
	}

	@media (hover: hover) {
		.loc-city:hover { background: oklch(0.985 0 0); }
		.loc-city:hover .loc-shot { transform: scale(1.055); filter: saturate(1) contrast(1.03); }
		.loc-city:hover .loc-chip {
			transform: translateY(-3px);
			border-color: rgba(255, 255, 255, 0.5);
			background: rgba(5, 8, 6, 0.44);
		}
		.loc-city:hover .loc-arrow { transform: translateX(3px); }
	}

	/* --- the services bar, recessed inside the same container --- */

	.locations__services {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1px;
		border-top: 1px solid var(--border);
		background: var(--border);
	}

	@media (min-width: 46rem) {
		.locations__services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	}

	.loc-svc {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		gap: 1rem;
		padding: 1.125rem 1.375rem;
		background: var(--muted);
		color: var(--foreground);
		transition: background-color 260ms ease;
	}

	.js .loc-svc { opacity: 0; }

	.loc-svc:focus-visible {
		outline: 2px solid var(--loc-ring);
		outline-offset: -4px;
	}

	.loc-svc__frame {
		width: 3.5rem;
		height: 3.5rem;
		border: 1px solid var(--loc-border-strong);
		border-radius: 1rem;
	}

	.loc-svc__body {
		display: flex;
		min-width: 0;
		flex-direction: column;
		gap: 0.1875rem;
	}

	.loc-svc__name {
		font-size: 1rem;
		font-weight: 700;
		line-height: 1.35;
		letter-spacing: -0.015em;
	}

	.loc-svc__qual {
		color: var(--loc-quiet);
		font-weight: 500;
		letter-spacing: 0;
	}

	.loc-svc__text {
		color: var(--loc-quiet);
		font-size: 0.875rem;
		line-height: 1.55;
		text-wrap: pretty;
	}

	.loc-svc__arrow { color: var(--loc-green-ink); }

	@media (hover: hover) {
		.loc-svc:hover { background: var(--card); }
		.loc-svc:hover .loc-svc__arrow { transform: translateX(3px); }
		.loc-svc:hover .loc-shot { transform: scale(1.06); }
	}

	/* --- entrance: the photographs settle into their frames --- */

	.locations.is-in .loc-city,
	.locations.is-in .loc-svc {
		animation: loc-panel-in 640ms var(--loc-ease) forwards;
	}

	.locations.is-in .loc-city:nth-child(2) { animation-delay: 90ms; }
	.locations.is-in .loc-city:nth-child(3) { animation-delay: 180ms; }
	.locations.is-in .loc-svc:nth-child(1) { animation-delay: 270ms; }
	.locations.is-in .loc-svc:nth-child(2) { animation-delay: 330ms; }

	.locations.is-in .loc-city .loc-shot,
	.locations.is-in .loc-city .loc-frame__fallback {
		animation: loc-shot-settle 1400ms var(--loc-ease) forwards;
	}

	.locations.is-in .loc-city:nth-child(2) .loc-shot,
	.locations.is-in .loc-city:nth-child(2) .loc-frame__fallback { animation-delay: 90ms; }
	.locations.is-in .loc-city:nth-child(3) .loc-shot,
	.locations.is-in .loc-city:nth-child(3) .loc-frame__fallback { animation-delay: 180ms; }

	@keyframes loc-panel-in {
		from { opacity: 0; }
		to { opacity: 1; }
	}

	@keyframes loc-shot-settle {
		from { transform: scale(1.075); }
		to { transform: scale(1.005); }
	}

	@media (prefers-reduced-motion: reduce) {
		.js .loc-city,
		.js .loc-svc { opacity: 1; }

		.locations.is-in .loc-city,
		.locations.is-in .loc-svc,
		.locations.is-in .loc-city .loc-shot,
		.locations.is-in .loc-city .loc-frame__fallback { animation: none; }

		.locations .loc-shot,
		.locations .loc-chip,
		.locations .loc-arrow { transition-duration: 1ms; }

		.loc-city:hover .loc-shot,
		.loc-svc:hover .loc-shot { transform: scale(1.005); }
	}

				.final-cta {
					--final-cta-ease: cubic-bezier(0.22, 1, 0.36, 1);
					position: relative;
					isolation: isolate;
					min-height: 75vh;
					display: grid;
					align-items: center;
					overflow: hidden;
					background: var(--foreground);
					color: var(--background);
				}

				.final-cta__media,
				.final-cta__scrim {
					position: absolute;
					inset: 0;
				}

				.final-cta__media {
					z-index: -3;
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center center;
				}

				.final-cta__scrim {
					z-index: -2;
					background:
						linear-gradient(90deg, oklch(0.145 0 0 / 0.94) 0%, oklch(0.145 0 0 / 0.82) 38%, oklch(0.145 0 0 / 0.24) 72%, oklch(0.145 0 0 / 0.08) 100%),
						linear-gradient(180deg, oklch(0.145 0 0 / 0.08), oklch(0.145 0 0 / 0.34));
				}

				.final-cta__contours {
					position: absolute;
					top: -1.25rem;
					left: -1.5rem;
					z-index: -1;
					width: min(33vw, 28rem);
					height: auto;
					color: oklch(1 0 0 / 0.22);
					pointer-events: none;
				}

				.final-cta__contours path {
					fill: none;
					stroke: currentColor;
					stroke-width: 1.15;
					vector-effect: non-scaling-stroke;
				}

				.final-cta__inner {
					width: min(calc(100% - 2rem), 72rem);
					margin-inline: auto;
					padding-block: clamp(5.5rem, 8vw, 6.75rem);
				}

				.final-cta__content {
					max-width: 47rem;
				}

				.final-cta .final-cta__title {
					max-width: 46rem;
					margin: 0;
					font-style: normal;
					font-weight: 700;
					font-size: 72px;
					line-height: 79px;
					color: rgb(255, 255, 255);
					letter-spacing: -0.04em;
					text-wrap: balance;
					text-shadow: 0 2px 24px oklch(0.145 0 0 / 0.28);
				}

				.final-cta__copy {
					max-width: 41rem;
					margin: 1.75rem 0 0;
					font-size: clamp(1.05rem, 1.55vw, 1.28rem);
					line-height: 1.55;
					color: oklch(1 0 0 / 0.9);
					text-wrap: pretty;
				}

				.final-cta__actions {
					display: flex;
					flex-wrap: wrap;
					gap: 0.9rem;
					margin-top: 2.25rem;
				}

				.final-cta__button {
					display: inline-flex;
					min-height: 3rem;
					align-items: center;
					justify-content: center;
					gap: 0.9rem;
					padding: 0.6875rem 1.375rem;
					border: 1px solid transparent;
					border-radius: 9999px;
					font-size: 0.9375rem;
					font-weight: 700;
					line-height: 1;
					text-decoration: none;
					transition:
						transform 220ms var(--final-cta-ease),
						background-color 220ms ease,
						border-color 220ms ease,
						color 220ms ease;
				}

				.final-cta__button--primary {
					background: var(--background);
					color: var(--foreground);
				}

				.final-cta__button--secondary {
					border-color: oklch(1 0 0 / 0.74);
					background: oklch(0.145 0 0 / 0.34);
					color: var(--background);
					backdrop-filter: blur(8px);
				}

				.final-cta__button svg {
					width: 1.2rem;
					height: 1.2rem;
					flex: none;
					transition: transform 220ms var(--final-cta-ease);
				}

				.final-cta__button:focus-visible {
					outline: 2px solid var(--background);
					outline-offset: 4px;
				}

				.final-cta__button:active { transform: scale(0.97); }

				@media (hover: hover) and (pointer: fine) {
					.final-cta__button:hover { transform: translateY(-2px); }
					.final-cta__button--primary:hover {
						background: oklch(0.43 0.14 131.684);
						color: var(--primary-foreground);
					}
					.final-cta__button--secondary:hover {
						border-color: var(--background);
						background: oklch(1 0 0 / 0.12);
					}
					.final-cta__button:hover svg { transform: translateX(0.2rem); }
				}

				.js .final-cta__media {
					transform: scale(1.035);
					transition: transform 1200ms var(--final-cta-ease);
				}

				.js .final-cta__content {
					opacity: 0;
					transform: translateY(1.25rem);
					clip-path: inset(0 0 16% 0);
					transition:
						opacity 760ms ease,
						transform 900ms var(--final-cta-ease),
						clip-path 900ms var(--final-cta-ease);
				}

				.js .final-cta.is-in .final-cta__media { transform: scale(1); }

				.js .final-cta.is-in .final-cta__content {
					opacity: 1;
					transform: translateY(0);
					clip-path: inset(0);
				}

				@media (max-width: 48rem) {
					.final-cta { min-height: 75vh; }
					.final-cta__media { object-position: 68% center; }
					.final-cta__scrim {
						background:
							linear-gradient(90deg, oklch(0.145 0 0 / 0.94) 0%, oklch(0.145 0 0 / 0.78) 74%, oklch(0.145 0 0 / 0.42) 100%),
							linear-gradient(180deg, oklch(0.145 0 0 / 0.2), oklch(0.145 0 0 / 0.58));
					}
					.final-cta__contours { width: 18rem; }
					.final-cta__content { max-width: 35rem; }
					.final-cta .final-cta__title {
						max-width: 11ch;
						font-size: clamp(2.65rem, 10.5vw, 4rem);
						line-height: 1.08;
					}
					.final-cta__copy { max-width: 31rem; }
				}

				@media (max-width: 32rem) {
					.final-cta__inner {
						width: min(calc(100% - 2rem), 72rem);
						padding-block: 4.75rem;
					}
					.final-cta__actions { display: grid; }
					.final-cta__button { width: 100%; }
				}

				@media (prefers-reduced-motion: reduce) {
					.js .final-cta__media,
					.js .final-cta__content {
						transition-duration: 1ms;
						transform: none;
						clip-path: none;
					}
					.final-cta__button,
					.final-cta__button svg { transition: none; }
				}

  #v1{
    --wp-ease: cubic-bezier(0.23, 1, 0.32, 1);
    --wp-green: oklch(0.505 0.155 131.684);
    position:relative;isolation:isolate;overflow:hidden;
    padding-block: clamp(3.5rem, 7vw, 6rem);
    background: #fff;
  }
  #v1::before{
    content:"";position:absolute;inset:0;z-index:-1;
    background:
      radial-gradient(90% 70% at 50% 0%, oklch(1 0 0) 0%, transparent 62%),
      linear-gradient(to bottom, transparent, oklch(0.145 0 0 / 0.04));
    pointer-events:none;
  }
  #v1 .wp-contours{
    position:absolute;inset: -10% -6% auto;z-index:-1;height:32rem;pointer-events:none;color:oklch(0.145 0 0 / 0.06)
  }
  #v1 .wp-contours svg{width:100%;height:100%;display:block}
  #v1 .wp-contours path{fill:none;stroke:currentColor;stroke-width:1.2;vector-effect:non-scaling-stroke}
  #v1 .wp-inner{width:min(calc(100% - 2rem), 72rem);margin-inline:auto}
  @media(min-width:40rem){#v1 .wp-inner{width:min(calc(100% - 3rem), 72rem)}}
  #v1 .wp-head{max-width:40rem;margin-inline:auto;text-align:center}
  #v1 .wp-title{margin:0.9rem 0 0;text-wrap:balance}
  #v1 .wp-desc{
    max-width:32rem;margin:0.85rem auto 0;color:var(--muted-foreground);font-size:1rem;line-height:1.65;text-wrap:pretty
  }
  #v1 .wp-stage{margin-top:clamp(2rem, 4vw, 2.75rem);display:grid;gap:0.875rem}
  #v1 .wp-marquee{
    position:relative;overflow:hidden;
    -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
            mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
  }
  #v1 .wp-track{
    display:flex;gap:0.875rem;width:max-content;will-change:transform;
    animation: wp-drift var(--dur, 42s) linear infinite;
  }
  #v1 .wp-marquee[data-dir="right"] .wp-track{animation-name:wp-drift-r;--dur:46s}
  #v1 .wp-marquee:hover .wp-track,
  #v1 .wp-marquee:focus-within .wp-track{animation-play-state:paused}
  @keyframes wp-drift{from{transform:translateX(0)} to{transform:translateX(-50%)}}
  @keyframes wp-drift-r{from{transform:translateX(-50%)} to{transform:translateX(0)}}
  #v1 .wp-card{
    flex:0 0 clamp(20rem, 28vw, 24.5rem);
    display:flex;flex-direction:column;gap:1rem;
    padding:1.4rem 1.45rem 1.25rem;
    border:1px solid var(--border);border-radius:1.5rem;background:var(--card);
    box-shadow: var(--shadow-2xl, 0 1px 3px 0 rgba(0,0,0,.25));
    text-align:left;
  }
  #v1 .wp-card__top{display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
  #v1 .wp-pill{
    display:inline-flex;align-items:center;gap:0.4rem;
    padding:0.28rem 0.6rem;border-radius:9999px;background:oklch(0.648 0.2 131.684 / 0.12);
    color:var(--wp-green);font-size:0.6875rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap
  }
  #v1 .wp-pill i{width:0.35rem;height:0.35rem;border-radius:9999px;background:var(--primary)}
  #v1 .wp-quote{
    margin:0;font-size:1rem;line-height:1.62;color:var(--foreground);text-wrap:pretty;
    display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;min-height:6.4rem
  }
  #v1 .wp-foot{
    display:flex;align-items:center;gap:0.85rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)
  }
  #v1 .wp-avatar{
    width:2.5rem;height:2.5rem;border-radius:9999px;object-fit:cover;flex:none;background:var(--muted);border:1px solid var(--border)
  }
  #v1 .wp-who{min-width:0}
  #v1 .wp-name{font-size:0.9375rem;font-weight:700;line-height:1.2;letter-spacing:-0.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #v1 .wp-role{font-size:0.8125rem;color:var(--muted-foreground);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #v1 .wp-rating{margin-left:auto;display:inline-flex;align-items:center;gap:0.22rem;color:var(--foreground);font-size:0.8125rem;font-weight:700}
  #v1 .wp-rating svg{width:0.85rem;height:0.85rem;fill:var(--primary);color:var(--primary)}
  @media(hover:hover){
    #v1 .wp-card{transition:transform 200ms var(--wp-ease), box-shadow 200ms ease}
    #v1 .wp-card:hover{transform:translateY(-2px);box-shadow:0 1px 3px 0 rgba(0,0,0,.18), 0 10px 22px -14px rgba(0,0,0,.22)}
  }
  @media(max-width:40rem){
    #v1 .wp-card{flex-basis:18rem;padding:1.2rem 1.2rem 1.05rem}
    #v1 .wp-quote{font-size:0.9375rem;min-height:7rem}
  }
  @media(prefers-reduced-motion:reduce){
    #v1 .wp-track{animation:none !important;transform:none !important;width:100%;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:0.5rem;scrollbar-width:thin}
    #v1 .wp-marquee{-webkit-mask-image:none;mask-image:none}
    #v1 .wp-card{scroll-snap-align:start}
  }

				.faq {
					--faq-ease: cubic-bezier(0.22, 1, 0.36, 1);
					position: relative;
					isolation: isolate;
					padding-block: clamp(3.5rem, 7vw, 6rem);
					background: var(--background);
					border-top: 1px solid var(--border);
				}
				.faq__inner {
					width: min(calc(100% - 2rem), 48rem);
					margin-inline: auto;
				}
				@media (min-width: 40rem) {
					.faq__inner { width: min(calc(100% - 3rem), 48rem); }
				}
				.faq__head {
					margin-bottom: clamp(1.75rem, 3vw, 2.25rem);
				}
				.faq__title {
					margin: 0;
					font-size: clamp(1.75rem, 3.2vw, 2.5rem);
					font-weight: 800;
					line-height: 1.05;
					letter-spacing: -0.04em;
					color: var(--foreground);
					text-wrap: balance;
				}
				.faq__list {
					overflow: hidden;
					border: 1px solid var(--border);
					border-radius: 1rem;
					background: var(--card);
					box-shadow: 0 1px 3px rgba(0,0,0,.05), 0 8px 24px -16px rgba(0,0,0,.12);
				}
				.faq__item {
					border-bottom: 1px solid var(--border);
				}
				.faq__item:last-child { border-bottom: 0; }
				.faq__trigger {
					display: flex;
					width: 100%;
					align-items: center;
					justify-content: space-between;
					gap: 1rem;
					padding: 1.125rem 1.25rem;
					border: 0;
					background: transparent;
					text-align: left;
					cursor: pointer;
					-webkit-tap-highlight-color: transparent;
				}
				@media (min-width: 40rem) {
					.faq__trigger { padding: 1.2rem 1.5rem; }
				}
				.faq__trigger:focus-visible {
					outline: 2px solid var(--primary);
					outline-offset: -2px;
					border-radius: 0;
				}
				.faq__q {
					font-size: 0.9375rem;
					font-weight: 650;
					line-height: 1.4;
					letter-spacing: -0.015em;
					color: var(--foreground);
					text-wrap: balance;
				}
				@media (min-width: 40rem) {
					.faq__q { font-size: 1rem; }
				}
				.faq__icon {
					display: grid;
					place-items: center;
					flex: none;
					width: 1.75rem;
					height: 1.75rem;
					border-radius: 9999px;
					border: 1px solid var(--border);
					background: var(--muted);
					color: var(--muted-foreground);
					transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease, transform 200ms var(--faq-ease);
				}
				.faq__icon svg {
					width: 0.875rem;
					height: 0.875rem;
					transition: transform 260ms var(--faq-ease);
				}
				.faq__item.is-open .faq__icon {
					background: var(--foreground);
					border-color: var(--foreground);
					color: var(--background);
				}
				.faq__item.is-open .faq__icon svg {
					transform: rotate(180deg);
				}
				.faq__answer {
					padding: 0 1.25rem 1.25rem;
				}
				@media (min-width: 40rem) {
					.faq__answer { padding: 0 1.5rem 1.3rem; }
				}
				.faq__answer p {
					max-width: 42rem;
					margin: 0;
					color: var(--muted-foreground);
					font-size: 0.9rem;
					line-height: 1.65;
					text-wrap: pretty;
				}
				.faq__answer p + p { margin-top: 0.75rem; }
				.faq__answer a {
					color: var(--foreground);
					font-weight: 600;
					text-decoration: underline;
					text-decoration-color: oklch(0.648 0.2 131.684 / 0.35);
					text-underline-offset: 3px;
					transition: text-decoration-color 180ms ease;
				}
				.faq__answer a:hover { text-decoration-color: var(--primary); }
				.faq__foot {
					display: flex;
					flex-wrap: wrap;
					align-items: center;
					justify-content: center;
					gap: 0.75rem;
					margin-top: 1.5rem;
					padding-top: 1.5rem;
					text-align: center;
					font-size: 0.875rem;
					color: var(--muted-foreground);
				}
				.faq__foot a {
					display: inline-flex;
					align-items: center;
					gap: 0.4rem;
					font-weight: 700;
					color: var(--foreground);
					text-decoration: underline;
					text-underline-offset: 3px;
					text-decoration-color: var(--border);
					transition: color 180ms ease, text-decoration-color 180ms ease;
				}
				.faq__foot a:hover {
					color: oklch(0.43 0.14 131.684);
					text-decoration-color: currentColor;
				}
				.faq__foot a svg { width: 1rem; height: 1rem; }
				@media (hover: hover) and (pointer: fine) {
					.faq__trigger:hover .faq__icon {
						border-color: var(--foreground);
						color: var(--foreground);
					}
					.faq__item.is-open .faq__trigger:hover .faq__icon {
						background: oklch(0.205 0 0);
						border-color: oklch(0.205 0 0);
						color: var(--background);
					}
				}
				/* entrance */
				.js .faq__head,
				.js .faq__list { opacity: 0; transform: translateY(10px); }
				.faq.is-in .faq__head {
					animation: faq-in 640ms var(--faq-ease) forwards;
				}
				.faq.is-in .faq__list {
					animation: faq-in 640ms var(--faq-ease) 90ms forwards;
				}
				@keyframes faq-in { to { opacity: 1; transform: translateY(0); } }
				@media (prefers-reduced-motion: reduce) {
					.js .faq__head, .js .faq__list { opacity: 1; transform: none; }
					.faq.is-in .faq__head, .faq.is-in .faq__list { animation: none; }
					.faq__icon, .faq__icon svg { transition-duration: 1ms; }
				}

	/* Pill buttons: same size/shape as the hero buttons */
	.split__cta,
	.rental-process__cta,
	.rates-ledger__cta,
	.final-cta__button {
		min-height: 3rem;
		padding: 0.6875rem 1.375rem;
		border-radius: 9999px;
		font-size: 0.9375rem;
		font-weight: 700;
		line-height: 1;
	}

	/* Section headings after the hero */
	main h2,
	main h2[class],
	main h2[id] {
		font-style: normal;
		font-weight: 700;
		font-size: 36px;
		line-height: 40px;
		color: oklch(0.145 0 0);
	}

/* --- Phase 4 additions. Everything above is ported verbatim from the design. --- */

/* The <symbol> sprite renders nothing, but an <svg> is still a replaced element
   and would otherwise reserve its default 300x150 box between two sections.
   display:none is avoided: it breaks <use> references in some browsers. */
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

/* Testimonial cards with no photograph fall back to the reviewer's initial
   rather than a stock face. Same circle as .wp-avatar, drawn instead of loaded. */
#v1 .wp-avatar--initial {
  display: grid;
  place-items: center;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
  color: var(--muted-foreground);
  text-transform: uppercase;
  user-select: none;
}
