.home-hero {
	position: relative;
	padding-block: 0;
	background: var(--color-ink);
	color: rgba(255, 255, 255, 0.92);
	overflow: hidden;
}

.home-hero::before {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 22%;
	background: linear-gradient(180deg, transparent, rgba(228, 226, 220, 0.08));
	pointer-events: none;
}

.home-hero__content {
	position: relative;
	display: block;
	min-height: clamp(46rem, calc(100svh - 4.2rem), 62rem);
	padding-block: 0;
	background: var(--color-ink);
	overflow: hidden;
	isolation: isolate;
}

.home-hero__content:not(.has-project-proof)::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(115deg, rgba(13, 18, 16, 0.98), rgba(25, 32, 28, 0.92)),
		var(--color-dark);
}


.home-hero__visual {
	position: absolute;
	inset: 0;
	z-index: 0;
	min-height: 100%;
	overflow: hidden;
	background: var(--color-ink);
}

.home-hero__image-stack {
	position: absolute;
	inset: -3% -3% -3% -1.5%;
	overflow: hidden;
	transform: translate3d(0, 0, 0);
	transform-origin: center;
	transition:
		opacity 980ms var(--ease-out-soft),
		transform 980ms var(--ease-out-soft);
}

.home-hero__video {
	position: absolute;
	z-index: 2;
	inset: -3%;
	width: 106%;
	height: 106%;
	object-fit: cover;
	object-position: 55% 50%;
	opacity: 0;
	transform: scale(1.015);
	transition:
		opacity 900ms cubic-bezier(0.16, 1, 0.3, 1),
		transform 1100ms cubic-bezier(0.16, 1, 0.3, 1);
	pointer-events: none;
}

.home-hero__visual.has-video.is-video-ready .home-hero__video {
	opacity: 1;
	transform: scale(1);
}

.home-hero__visual.has-video .home-hero__image-frame:not(:first-child) {
	display: none;
}

.home-hero__visual.has-video .home-hero__image-frame {
	z-index: 0;
}

.home-hero__image-stack::before,
.home-hero__image-stack::after {
	content: "";
	position: absolute;
	z-index: 3;
	inset: 0;
	pointer-events: none;
}

.home-hero__image-stack::before {
	background:
		radial-gradient(circle at 74% 42%, rgba(255, 255, 255, 0.08), transparent 34%),
		linear-gradient(90deg, rgba(7, 10, 9, 0.91) 0%, rgba(7, 10, 9, 0.64) 29%, rgba(7, 10, 9, 0.18) 58%, rgba(7, 10, 9, 0.03) 100%),
		linear-gradient(180deg, rgba(9, 13, 11, 0.02) 0%, rgba(9, 13, 11, 0.2) 100%);
}

.home-hero__image-stack::after {
	inset: auto 0 0;
	height: 38%;
	background: linear-gradient(180deg, transparent, rgba(9, 13, 11, 0.5));
}

.home-hero__image-frame {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transform: translate3d(42px, 0, 0);
	transition:
		opacity 1650ms var(--ease-premium),
		transform 1650ms var(--ease-premium);
}

.home-hero__image-frame::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(9, 13, 11, 0.32), transparent 44%),
		linear-gradient(180deg, transparent 50%, rgba(9, 13, 11, 0.24));
	opacity: var(--hero-veil-opacity, 0);
	pointer-events: none;
}

.home-hero__image-stack:not(.is-enhanced) .home-hero__image-frame:first-child {
	z-index: 2;
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.home-hero__image-frame.is-active {
	z-index: 2;
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.home-hero__image-frame.is-leaving {
	z-index: 1;
	opacity: 0;
	transform: translate3d(-34px, 0, 0);
	transition-duration: 1450ms, 1650ms;
}

.home-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--hero-focal-x, 58%) var(--hero-focal-y, 50%);
	transform: scale(var(--hero-crop-scale, 1));
	transform-origin: var(--hero-focal-x, 58%) var(--hero-focal-y, 50%);
	filter: var(--photo-grade);
}

.motion-ready .home-hero__image-stack {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.motion-ready.motion-loaded .home-hero__image-stack {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.home-hero__main {
	position: relative;
	z-index: 2;
	display: grid;
	gap: clamp(0.95rem, 1.42vw, 1.42rem);
	width: min(100%, clamp(34rem, 54vw, 56rem));
	min-height: inherit;
	margin-left: 0;
	padding: clamp(5.2rem, 7.4vw, 8.4rem) clamp(2rem, 3vw, 3.4rem) clamp(4.3rem, 6.4vw, 7.05rem) clamp(2.3rem, 5.8vw, 6.85rem);
	border-right: 0;
	background:
		linear-gradient(101deg, rgba(7, 10, 9, 0.72) 0%, rgba(7, 10, 9, 0.42) 58%, rgba(7, 10, 9, 0) 100%);
	align-content: end;
}


.home-hero__content .eyebrow,
.home-hero__content .lead {
	color: rgba(255, 255, 255, 0.7);
}

.hero-copy {
	max-width: 50rem;
}

.hero-copy h1 {
	max-width: 17ch;
	font-size: clamp(2.6rem, 4.4vw, 4.5rem);
	font-weight: 600;
	line-height: 1.0;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	text-wrap: balance;
	text-shadow: none;
}

.hero-copy .lead {
	max-width: 30rem;
	font-size: clamp(0.98rem, 1.02vw, 1.06rem);
	line-height: 1.64;
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	padding-top: 0.65rem;
}

.hero-proofline {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.62rem;
	align-items: start;
	max-width: 30rem;
	padding-top: clamp(0.86rem, 1.25vw, 1.14rem);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 0.82rem;
	font-weight: 650;
	color: rgba(255, 255, 255, 0.68);
}

.hero-proofline p {
	margin: 0;
}

.hero-trust-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.86rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.hero-trust-list li {
	position: relative;
	padding-left: 0.72rem;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: rgba(255, 255, 255, 0.62);
}

.hero-trust-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.58rem;
	width: 0.24rem;
	height: 0.24rem;
	border-radius: 50%;
	background: var(--color-accent);
}

.section--google-reviews {
	padding-top: 0;
}

.google-reviews {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: var(--space-6);
	align-items: start;
	padding: clamp(1.7rem, 2.4vw, 2.3rem);
	border-top: 1px solid rgba(23, 26, 24, 0.08);
	border-bottom: 1px solid rgba(23, 26, 24, 0.08);
}

.google-reviews__summary {
	max-width: 28rem;
	padding-top: 0.35rem;
}

.google-reviews__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.35rem;
	align-items: end;
	padding-top: 0.35rem;
}

.google-reviews__rating,
.google-reviews__count {
	margin: 0;
}

.google-reviews__rating {
	display: inline-flex;
	align-items: baseline;
	gap: 0.45rem;
	font-family: var(--font-heading);
	font-size: 0.98rem;
	letter-spacing: 0;
	color: var(--color-dark);
}

.google-reviews__rating span {
	font-size: clamp(2rem, 3vw, 2.8rem);
	font-weight: 700;
	line-height: 0.95;
}

.google-reviews__rating small,
.google-reviews__count,
.google-reviews__note {
	font-size: 0.92rem;
	color: var(--color-muted);
}

.google-reviews__count {
	font-weight: 700;
	letter-spacing: 0.03em;
}

.google-reviews__list {
	display: grid;
	gap: 0;
}

.google-review {
	padding: 1.1rem 0;
	border-top: 1px solid rgba(23, 26, 24, 0.08);
}

.google-review:first-child {
	padding-top: 0;
	border-top: 0;
}

.google-review__head {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: start;
}

.google-review__author {
	display: flex;
	gap: 0.9rem;
	align-items: start;
	min-width: 0;
}

.google-review__photo {
	flex: 0 0 auto;
	width: 2.7rem;
	height: 2.7rem;
	border-radius: 50%;
	object-fit: cover;
	background: rgba(17, 22, 19, 0.08);
}

.google-review__author-meta {
	min-width: 0;
}

.google-review__author-meta a,
.google-review__author-meta span {
	display: inline-block;
	font-weight: 700;
	color: var(--color-text);
}

.google-review__author-meta p {
	margin-top: 0.25rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-muted);
}

.google-review__link {
	flex: 0 0 auto;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-accent-deep);
}

.google-review__body {
	max-width: 42rem;
	padding-top: 0.85rem;
}

.google-review__body p {
	font-size: 1rem;
	line-height: 1.72;
	color: var(--color-text);
}

.google-reviews__attribution {
	padding-top: 1rem;
	font-size: 0.78rem;
	color: var(--color-muted);
}

.google-reviews__attribution span {
	font-weight: 700;
	color: var(--color-dark-soft);
}

.google-reviews__attribution a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.section--projects-showcase {
	position: relative;
	z-index: 1;
	padding-block: clamp(5.25rem, 7.6vw, 8.9rem);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.052), transparent 40%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.32), transparent 34%),
		#efede7;
	isolation: isolate;
}

.section--projects-showcase::before {
	content: "";
	position: absolute;
	inset: clamp(1.25rem, 2vw, 1.9rem) clamp(1.25rem, 2vw, 1.9rem) auto auto;
	width: clamp(9rem, 18vw, 19rem);
	height: 1px;
	background: rgba(23, 26, 24, 0.24);
	pointer-events: none;
}

.projects-showcase__intro {
	display: grid;
	grid-template-columns: minmax(0, 0.64fr) minmax(22rem, 0.36fr);
	gap: clamp(1.9rem, 3.8vw, 4.45rem);
	align-items: end;
	max-width: none;
	margin-bottom: clamp(2.15rem, 3.45vw, 3.45rem);
	padding-bottom: clamp(1.55rem, 2.4vw, 2.25rem);
	border-bottom: 1px solid rgba(23, 26, 24, 0.1);
}

.projects-showcase__intro .eyebrow,
.projects-showcase__intro h2 {
	grid-column: 1;
}

.projects-showcase__intro h2 {
	max-width: 16ch;
	font-size: clamp(2.85rem, 4.45vw, 5rem);
	line-height: 0.87;
	letter-spacing: -0.06em;
}

.projects-showcase__intro .lead {
	grid-column: 2;
	grid-row: 1 / span 2;
	max-width: 28rem;
	justify-self: end;
	align-self: end;
	font-size: var(--type-body-lg);
	line-height: 1.6;
}

.projects-showcase__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(0.95rem, 1.55vw, 1.25rem);
	align-items: start;
}

.projects-showcase__featured {
	max-width: none;
}

.projects-showcase__slider {
	position: relative;
	display: grid;
	gap: clamp(0.8rem, 1.25vw, 1rem);
	isolation: isolate;
}

.projects-showcase__arrow-controls {
	position: absolute;
	z-index: 8;
	top: clamp(17rem, 23vw, 22.4rem);
	left: clamp(0.9rem, 1.35vw, 1.35rem);
	right: calc(clamp(0.7rem, 1.25vw, 1.25rem) + clamp(0.9rem, 1.35vw, 1.35rem));
	display: flex;
	justify-content: space-between;
	align-items: center;
	pointer-events: none;
}

.projects-showcase__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(2.65rem, 3.1vw, 3.05rem);
	height: clamp(2.65rem, 3.1vw, 3.05rem);
	border: 1px solid rgba(255, 255, 255, 0.46);
	border-radius: 0;
	background: rgba(13, 18, 16, 0.34);
	backdrop-filter: blur(10px);
	color: #fff;
	font-size: clamp(0.95rem, 1.25vw, 1.08rem);
	line-height: 1;
	cursor: pointer;
	pointer-events: auto;
	transition:
		background-color 300ms var(--ease-out-soft),
		border-color 300ms var(--ease-out-soft),
		color 260ms ease,
		transform 320ms var(--ease-out-soft);
}

.projects-showcase__arrow:hover,
.projects-showcase__arrow:focus-visible {
	border-color: rgba(255, 255, 255, 0.78);
	background: rgba(13, 18, 16, 0.66);
	color: #fff;
	transform: translateX(0.08rem);
}

.projects-showcase__arrow--previous:hover,
.projects-showcase__arrow--previous:focus-visible {
	transform: translateX(-0.08rem);
}

.projects-showcase__slides {
	display: grid;
	gap: clamp(0.8rem, 1.25vw, 1rem);
	padding-right: clamp(0rem, 0.8vw, 0.75rem);
}

.projects-showcase__slide {
	min-width: 0;
}

.projects-showcase__slider:not(.is-enhanced) .projects-showcase__slide:not(.is-active) {
	display: none;
}

.projects-showcase__slider.is-enhanced .projects-showcase__slides {
	position: relative;
	display: block;
	overflow: hidden;
	transition: height 860ms var(--ease-out-soft);
}

.projects-showcase__slider.is-enhanced .projects-showcase__slide {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transform: translateZ(0);
	z-index: 0;
	transition:
		opacity 860ms var(--ease-premium),
		visibility 0ms linear 860ms;
	pointer-events: none;
}

.projects-showcase__slider.is-enhanced .projects-showcase__slide.is-leaving {
	position: absolute;
	opacity: 0;
	visibility: visible;
	transform: translateZ(0);
	z-index: 1;
	transition: opacity 740ms var(--ease-premium);
	pointer-events: none;
}

.projects-showcase__slider.is-enhanced .projects-showcase__slide.is-active {
	position: absolute;
	opacity: 1;
	visibility: visible;
	transform: translateZ(0);
	z-index: 2;
	transition-delay: 0ms;
	pointer-events: auto;
}

.motion-ready .projects-showcase__slider.is-enhanced .projects-showcase__slide .project-card__body,
.motion-ready .projects-showcase__slider.is-enhanced .projects-showcase__slide .project-card__details {
	transition:
		opacity 820ms var(--ease-out-soft),
		transform 820ms var(--ease-out-soft);
}

.motion-ready .projects-showcase__slider.is-enhanced .projects-showcase__slide:not(.is-slide-ready) .project-card__body {
	opacity: 0;
	transform: translateX(0.72rem);
}

.motion-ready .projects-showcase__slider.is-enhanced .projects-showcase__slide:not(.is-slide-ready) .project-card__details {
	opacity: 0;
	transform: translateY(0.42rem);
}

.motion-ready .projects-showcase__slider.is-enhanced .projects-showcase__slide.is-active .project-card__body {
	transition-delay: 110ms;
}

.motion-ready .projects-showcase__slider.is-enhanced .projects-showcase__slide.is-active .project-card__details {
	transition-delay: 190ms;
}

.motion-ready .projects-showcase__slider.is-enhanced .projects-showcase__slide.is-leaving .project-card__body,
.motion-ready .projects-showcase__slider.is-enhanced .projects-showcase__slide.is-leaving .project-card__details {
	opacity: 0;
	transform: translateY(-0.25rem);
	transition-delay: 0ms;
}

.projects-showcase__controls {
	display: flex;
	justify-content: flex-start;
	gap: clamp(1rem, 1.6vw, 1.5rem);
	align-items: center;
	padding-top: 0;
	border-top: 0;
}

.projects-showcase__counter {
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	color: var(--color-accent-deep);
}

.projects-showcase__empty {
	max-width: 42rem;
	padding-block: clamp(2.2rem, 4vw, 3.4rem);
	border-top: 1px solid rgba(23, 26, 24, 0.14);
	border-bottom: 1px solid rgba(23, 26, 24, 0.1);
}

.projects-showcase__empty h3 {
	max-width: 18ch;
	font-size: clamp(1.8rem, 2.6vw, 2.4rem);
}

.projects-showcase__rail {
	display: grid;
	grid-template-columns: minmax(10rem, 0.26fr) minmax(0, 1fr) auto;
	gap: clamp(1.2rem, 2.6vw, 2.25rem);
	align-items: start;
	max-width: none;
	padding-top: 1.35rem;
	border-top: 1px solid rgba(23, 26, 24, 0.14);
}

.projects-showcase__rail-note {
	max-width: 20rem;
	font-size: 0.9rem;
	color: var(--color-muted);
}

.projects-showcase__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.6rem);
	padding: 0;
	margin: 0;
	list-style: none;
	border-top: 0;
}

.projects-showcase__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: end;
	padding: 0 0 1rem;
	border-bottom: 1px solid rgba(23, 26, 24, 0.1);
}

.projects-showcase__item-main {
	display: grid;
	gap: 0.35rem;
}

.projects-showcase__item a {
	font-family: var(--font-heading);
	font-size: clamp(1.05rem, 1.2vw, 1.18rem);
	font-weight: 700;
	letter-spacing: 0;
}

.projects-showcase__item p {
	max-width: 28rem;
	font-size: 0.92rem;
	color: var(--color-muted);
}

.projects-showcase__item span {
	justify-self: end;
	font-size: 0.84rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-muted);
}

.project-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-4);
}

.project-card {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 0;
}

.project-card--featured {
	position: relative;
	display: grid;
	gap: clamp(0.82rem, 1.15vw, 1rem);
	min-height: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.project-card__featured-stage {
	position: relative;
	display: grid;
	min-height: 0;
	padding-right: clamp(0.7rem, 1.25vw, 1.25rem);
	background:
		linear-gradient(90deg, #0d1210 0%, #0d1210 calc(100% - clamp(0.7rem, 1.25vw, 1.25rem)), transparent 100%);
}

.project-card--featured .project-card__image {
	position: relative;
	z-index: 1;
	display: block;
	min-height: clamp(36rem, 49vw, 48rem);
	border-radius: 0;
}

.project-card--featured .project-card__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(16, 22, 19, 0.02), transparent 52%, rgba(16, 22, 19, 0.12)),
		linear-gradient(180deg, transparent 64%, rgba(16, 22, 19, 0.2));
	pointer-events: none;
}

.project-card--featured .project-card__body {
	position: absolute;
	right: clamp(0rem, 0.7vw, 0.65rem);
	bottom: clamp(1.3rem, 2.2vw, 2.25rem);
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(0.7rem, 0.86vw, 0.86rem);
	align-items: start;
	width: min(25.4rem, 26vw);
	padding: clamp(1rem, 1.42vw, 1.42rem);
	border-left: 0;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 58%),
		rgba(13, 18, 16, 0.62);
	box-shadow: 0 22px 54px rgba(5, 8, 7, 0.17);
	color: rgba(255, 255, 255, 0.88);
}

.project-card--featured .project-card__header,
.project-card--featured .project-card__summary,
.project-card--featured .project-card__footer {
	grid-column: auto;
}

.project-card--featured h3 {
	max-width: 16ch;
	font-size: clamp(1.5rem, 1.8vw, 1.88rem);
	line-height: 1;
	letter-spacing: -0.04em;
	color: #fff;
}

.project-card--featured .project-card__summary {
	max-width: 20.5rem;
	font-size: 0.86rem;
	line-height: 1.54;
	color: rgba(255, 255, 255, 0.74);
}

.project-card--featured .project-card__evidence {
	display: none;
}

.project-card--featured .project-card__meta-row {
	gap: 0.45rem;
	font-size: 0.68rem;
	color: rgba(255, 255, 255, 0.68);
}

.project-card--featured .project-card__details {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	align-items: stretch;
	padding: clamp(1rem, 1.4vw, 1.3rem) 0 0;
	border-top: 0;
	border-bottom: 0;
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.62), rgba(23, 26, 24, 0.08)) 0 0 / 100% 1px no-repeat;
}

.project-card--featured .project-card__detail {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	align-content: start;
	align-items: start;
	gap: 0.42rem;
	min-width: 0;
	padding: clamp(1rem, 1.45vw, 1.35rem) clamp(1rem, 1.65vw, 1.55rem) 0 0;
	border-right: 0;
	color: var(--color-text);
}

.project-card--featured .project-card__detail::before {
	content: "";
	position: absolute;
	top: clamp(1rem, 1.45vw, 1.35rem);
	left: 0;
	width: 1px;
	height: 100%;
	background: rgba(23, 26, 24, 0.095);
}

.project-card--featured .project-card__detail:first-child {
	padding-left: 0;
}

.project-card--featured .project-card__detail:first-child::before {
	display: none;
}

.project-card--featured .project-card__detail:not(:first-child) {
	padding-left: clamp(1rem, 1.65vw, 1.55rem);
}

.project-card--featured .project-card__detail:last-child {
	padding-right: 0;
}

.project-card--featured .project-card__detail strong {
	display: block;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
	color: rgba(80, 85, 79, 0.78);
}

.project-card--featured .project-card__detail span {
	display: block;
	font-family: var(--font-heading);
	font-size: clamp(1rem, 1.22vw, 1.18rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--color-dark);
}

.project-card--featured .project-card__footer {
	padding-top: 0.18rem;
}

.project-card--featured .project-card__meta-tag,
.project-card--featured .project-card__footer,
.project-card--featured .text-link {
	color: rgba(255, 255, 255, 0.74);
}

.project-card__image {
	overflow: hidden;
	border-radius: 0;
	background:
		linear-gradient(140deg, rgba(17, 22, 19, 0.24), rgba(17, 22, 19, 0.05)),
		var(--color-sage);
	aspect-ratio: 16 / 10;
}

.project-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 720ms cubic-bezier(0.16, 1, 0.3, 1);
}

.project-card__image--alternate-crop img {
	object-position: 64% 50%;
	transform: scale(1.045);
}

.project-card:hover .project-card__image img,
.project-card:focus-within .project-card__image img {
	transform: scale(1.014);
}

.project-card--featured:hover .project-card__image img,
.project-card--featured:focus-within .project-card__image img {
	transform: scale(1.016);
}

.project-card--featured:hover .project-card__image--alternate-crop img,
.project-card--featured:focus-within .project-card__image--alternate-crop img {
	transform: scale(1.06);
}

.motion-enhanced .motion-reveal {
	opacity: 0;
	transform: translateY(1.15rem);
	transition:
		opacity 860ms var(--ease-out-soft),
		transform 860ms var(--ease-out-soft);
	transition-delay: calc(var(--motion-index, 0) * 72ms);
}

.motion-enhanced .motion-load {
	opacity: 0;
	transform: translateY(0.95rem);
	transition:
		opacity 940ms var(--ease-out-soft),
		transform 940ms var(--ease-out-soft);
	transition-delay: calc(180ms + var(--motion-index, 0) * 105ms);
}

.motion-enhanced .motion-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.motion-enhanced.motion-loaded .motion-load {
	opacity: 1;
	transform: translateY(0);
}

.motion-enhanced .hero-actions.motion-load {
	transform: translateY(0.65rem);
}

.motion-enhanced .hero-proofline.motion-load,
.motion-enhanced .home-hero .hero-actions.motion-load {
	transform: translateY(0.55rem);
}

.motion-enhanced .home-hero__main.motion-reveal {
	transform: translateY(0.65rem);
	transition-duration: 880ms;
}

.motion-enhanced .delivery-confidence__steps li.motion-reveal {
	transform: translateY(0.75rem);
}

.heading-motion {
	--heading-motion-x: 0;
	--heading-motion-y: 0;
	--heading-motion-delay: 0ms;
	display: block;
}

.heading-motion__inner {
	display: block;
	will-change: transform, opacity;
}

.motion-enhanced .heading-motion {
	overflow: hidden;
}

.motion-enhanced .heading-motion .heading-motion__inner {
	opacity: 0;
	transform: translate3d(var(--heading-motion-x), var(--heading-motion-y), 0);
	transition:
		opacity 880ms cubic-bezier(0.22, 0.61, 0.36, 1),
		transform 980ms cubic-bezier(0.22, 0.61, 0.36, 1);
	transition-delay: var(--heading-motion-delay);
}

.motion-enhanced .heading-motion.is-visible .heading-motion__inner {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.motion-enhanced h1.heading-motion .heading-motion__inner,
.motion-enhanced h2.heading-motion .heading-motion__inner {
	--heading-motion-y: clamp(3.2rem, 6vw, 5.6rem);
}

.motion-enhanced .eyebrow.heading-motion .heading-motion__inner {
	--heading-motion-y: 1.25rem;
}

.motion-enhanced .lead.heading-motion .heading-motion__inner,
.motion-enhanced .site-footer__brand > p.heading-motion .heading-motion__inner {
	--heading-motion-y: 2rem;
}

.motion-enhanced .projects-showcase__intro h2.heading-motion .heading-motion__inner,
.motion-enhanced .process-journey__lead h2.heading-motion .heading-motion__inner {
	--heading-motion-x: -2.8rem;
	--heading-motion-y: 3.2rem;
}

.motion-enhanced .capability-band__lead h2.heading-motion .heading-motion__inner,
.motion-enhanced .closing-cta__lead h2.heading-motion .heading-motion__inner {
	--heading-motion-x: 2.6rem;
	--heading-motion-y: 3.4rem;
}

.motion-heading-right,
.motion-copy-up {
	--target-motion-delay: 0ms;
}

body.motion-ready .motion-heading-right,
body.motion-ready .motion-copy-up {
	opacity: 0;
	transition:
		opacity 1450ms cubic-bezier(0.16, 1, 0.3, 1),
		transform 1500ms cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: var(--target-motion-delay);
}

body.motion-ready .motion-heading-right {
	transform: translate3d(clamp(7.5rem, 10vw, 10rem), 0, 0);
}

body.motion-ready .motion-copy-up {
	transform: translate3d(0, clamp(5rem, 7vw, 7.5rem), 0);
	transition-duration: 1300ms;
}

body.motion-ready .motion-heading-right.is-visible,
body.motion-ready .motion-copy-up.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.project-card__location,
.project-card__footer {
	font-size: 0.92rem;
	color: var(--color-muted);
}

.project-card__scope {
	display: grid;
	gap: 0.55rem;
	padding-left: 1.1rem;
	margin: 0;
	color: var(--color-text);
}

.project-location {
	font-weight: 600;
	color: var(--color-muted);
}

.section-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 28rem);
	gap: var(--space-5);
	align-items: end;
	margin-bottom: var(--space-6);
	padding-bottom: var(--space-4);
	border-bottom: 1px solid rgba(23, 26, 24, 0.08);
}

.offer-grid,
.priority-grid,
.trust-grid,
.conversion-grid {
	display: grid;
	gap: var(--space-4);
}

.offer-grid {
	grid-template-columns: 1.15fr 1fr;
}

.priority-grid,
.trust-grid,
.conversion-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.section--capability-band {
	position: relative;
	padding-block: clamp(4.5rem, 6.4vw, 7.2rem);
	background:
		radial-gradient(circle at 78% 18%, rgba(255, 255, 255, 0.075), transparent 30%),
		linear-gradient(118deg, #050806 0%, #0d1410 58%, #070a08 100%);
	border-top: 1px solid rgba(199, 185, 149, 0.18);
	overflow: hidden;
}

.section--capability-band::before {
	content: "";
	position: absolute;
	inset: auto auto -16% -9%;
	width: clamp(20rem, 38vw, 42rem);
	height: clamp(20rem, 38vw, 42rem);
	background: radial-gradient(circle at 50% 50%, rgba(111, 117, 85, 0.18), transparent 66%);
	opacity: 0.34;
	transform: translate3d(-2.5%, 0, 0);
	transition: opacity 1100ms cubic-bezier(0.16, 1, 0.3, 1), transform 1100ms cubic-bezier(0.16, 1, 0.3, 1);
	pointer-events: none;
}

.section--capability-band::after {
	content: "";
	position: absolute;
	inset: clamp(1.2rem, 2.2vw, 1.9rem);
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px) 0 0 / 25% 100%,
		linear-gradient(180deg, rgba(255, 255, 255, 0.038) 1px, transparent 1px) 0 0 / 100% 50%;
	opacity: 0.13;
	pointer-events: none;
}

.motion-ready .section--capability-band:has(.motion-reveal.is-visible)::before {
	opacity: 0.48;
	transform: translate3d(0, 0, 0);
}

.capability-band {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.68fr) minmax(17rem, 0.32fr);
	gap: clamp(1.75rem, 3.6vw, 4rem);
	align-items: start;
	padding: 0;
	color: rgba(255, 255, 255, 0.9);
}

.capability-band__lead {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 0.68fr) minmax(17rem, 0.32fr);
	gap: inherit;
	align-items: start;
	padding-right: 0;
	padding-bottom: clamp(1.85rem, 3vw, 2.85rem);
	border-bottom: 1px solid rgba(255, 255, 255, 0.085);
}

.capability-band__lead h2 {
	max-width: 17ch;
	font-size: clamp(2.9rem, 4.45vw, 4.95rem);
	line-height: 0.88;
	letter-spacing: -0.06em;
	color: #fff;
}

.capability-band__lead .eyebrow {
	grid-column: 1;
}

.capability-band__lead h2 {
	grid-column: 1;
}

.capability-band__lead .lead,
.capability-band__assurance {
	grid-column: 2;
}

.capability-band__lead .eyebrow,
.capability-band__lead .lead {
	color: rgba(255, 255, 255, 0.68);
}

.capability-band__assurance {
	max-width: 29rem;
	padding-top: 1.05rem;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	font-size: 0.88rem;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.76);
}

.capability-band__list {
	grid-column: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	padding: 0;
	margin: 0;
	list-style: none;
	border-top: 0;
	border-left: 0;
}

.capability-band__list li {
	position: relative;
	display: grid;
	grid-template-columns: minmax(9rem, 0.32fr) minmax(0, 0.68fr);
	gap: clamp(1.1rem, 2.4vw, 2.5rem);
	min-height: 0;
	align-items: start;
	padding: clamp(1rem, 1.55vw, 1.35rem) 0;
	border-top: 1px solid rgba(255, 255, 255, 0.095);
	border-top: 0;
	border-right: 0;
	border-bottom: 0;
}

.capability-band__list li::before {
	display: none;
}

.capability-band__list li:nth-child(2) {
	margin-top: 0;
}

.capability-band__list li:nth-child(3) {
	margin-top: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.095);
}

.capability-band__list li:last-child {
	border-right: 0;
	padding-right: 0;
}

.capability-band__list h3 {
	margin-bottom: 0;
	font-size: clamp(1.18rem, 1.36vw, 1.38rem);
	line-height: 1.05;
	color: #fff;
}

.capability-band__list p {
	max-width: 34rem;
	font-size: 0.94rem;
	line-height: 1.58;
	color: rgba(255, 255, 255, 0.7);
}

.capability-band__spine {
	grid-column: 2;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: start;
	gap: 0;
	min-height: 0;
	padding: clamp(1.05rem, 2vw, 1.65rem) 0 0 clamp(1.35rem, 2.5vw, 2.4rem);
	border-top: 0;
	border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.capability-band__spine span {
	display: inline-flex;
	width: 100%;
	padding: 0.72rem 0;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.11);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.62);
}

.capability-band__spine span:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.section--delivery-confidence {
	position: relative;
	padding-block: clamp(5.8rem, 8.4vw, 9.8rem);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.035) 1px, transparent 1px) 0 0 / 12.5% 100%,
		radial-gradient(circle at 82% 17%, rgba(138, 106, 54, 0.105), transparent 27%),
		linear-gradient(180deg, #f4f0e8 0%, #eee7da 100%);
	overflow: hidden;
}

.section--delivery-confidence::before {
	content: "";
	position: absolute;
	inset: clamp(1rem, 1.6vw, 1.5rem);
	border: 1px solid rgba(23, 26, 24, 0.075);
	pointer-events: none;
}

.section--delivery-confidence::after {
	content: "";
	position: absolute;
	top: clamp(5rem, 8vw, 8rem);
	right: clamp(1.6rem, 4vw, 4.5rem);
	width: clamp(7rem, 13vw, 14rem);
	height: 1px;
	background: rgba(138, 106, 54, 0.42);
	pointer-events: none;
}

.delivery-confidence {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2.9rem, 5.9vw, 6.8rem);
	align-items: start;
	padding-top: 0;
	border-top: 0;
}

.delivery-confidence__lead {
	display: grid;
	grid-template-columns: minmax(0, 0.56fr) minmax(19rem, 0.36fr);
	gap: clamp(1.9rem, 4vw, 4.6rem);
	align-content: start;
	max-width: none;
	padding: 0;
	border-top: 0;
	border-bottom: 0;
}

.delivery-confidence__lead h2 {
	max-width: 17ch;
	font-size: clamp(3rem, 5vw, 5.95rem);
	line-height: 0.88;
	letter-spacing: -0.06em;
	color: var(--color-dark);
}

.delivery-confidence__lead .eyebrow,
.delivery-confidence__lead h2 {
	grid-column: 1;
}

.delivery-confidence__lead .lead {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: end;
	max-width: 34rem;
	font-size: clamp(1rem, 1.08vw, 1.12rem);
	line-height: 1.68;
}

.delivery-confidence__route {
	--route-line-top: clamp(1.55rem, 2.3vw, 2.15rem);
	--route-progress: 1;
	position: relative;
	padding: clamp(1.1rem, 1.7vw, 1.7rem) 0 clamp(1.1rem, 1.7vw, 1.7rem);
	border-top: 1px solid rgba(23, 26, 24, 0.18);
	border-bottom: 1px solid rgba(23, 26, 24, 0.12);
}

.delivery-confidence__route::before,
.delivery-confidence__route::after {
	display: none;
}

.delivery-confidence__route::before {
	background: linear-gradient(90deg, rgba(23, 26, 24, 0.16), rgba(23, 26, 24, 0.56), rgba(23, 26, 24, 0.16));
}

.delivery-confidence__route::after {
	background: linear-gradient(90deg, transparent, rgba(138, 106, 54, 0.72), transparent);
	transform: scaleX(var(--route-progress));
	transform-origin: left center;
}

.delivery-confidence__route-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: clamp(1.2rem, 2.3vw, 2.25rem);
	font-size: 0.67rem;
	font-weight: 850;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(23, 26, 24, 0.52);
}

.delivery-confidence__route-meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
}

.delivery-confidence__route-meta span::before,
.delivery-confidence__route-meta span::after {
	content: "";
	width: 2.3rem;
	height: 1px;
	background: rgba(138, 106, 54, 0.5);
}

.delivery-confidence__route-meta span:first-child::after,
.delivery-confidence__route-meta span:last-child::before {
	display: none;
}

.delivery-confidence__experience {
	display: grid;
	gap: clamp(2rem, 4.6vw, 5rem);
}

.delivery-confidence__active {
	position: relative;
	display: grid;
	grid-template-columns: minmax(10rem, 0.34fr) minmax(0, 0.66fr);
	gap: clamp(1.4rem, 4vw, 4.2rem);
	align-items: end;
	min-height: clamp(16rem, 22vw, 22rem);
	padding: clamp(2rem, 4vw, 4.4rem);
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px) 0 0 / 16.66% 100%,
		radial-gradient(circle at 83% 18%, rgba(199, 185, 149, 0.16), transparent 30%),
		linear-gradient(125deg, #070b09 0%, #111813 58%, #080c0a 100%);
	border: 1px solid rgba(23, 26, 24, 0.2);
	box-shadow: 0 36px 92px rgba(23, 26, 24, 0.16);
	color: rgba(255, 255, 255, 0.84);
	overflow: hidden;
	isolation: isolate;
}

.delivery-confidence__active::before,
.delivery-confidence__active::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.delivery-confidence__active::before {
	inset: clamp(0.8rem, 1.4vw, 1.2rem);
	border: 1px solid rgba(255, 255, 255, 0.075);
	z-index: 0;
}

.delivery-confidence__active::after {
	right: clamp(1.6rem, 4vw, 4.4rem);
	bottom: clamp(1.6rem, 3vw, 3.2rem);
	width: clamp(8rem, 20vw, 19rem);
	height: 1px;
	background: rgba(199, 185, 149, 0.56);
	z-index: 0;
}

.delivery-confidence__active-number {
	position: relative;
	z-index: 1;
	font-family: var(--font-heading);
	font-size: clamp(7rem, 15vw, 17rem);
	font-weight: 800;
	line-height: 0.62;
	letter-spacing: -0.12em;
	color: rgba(199, 185, 149, 0.24);
	text-shadow: 0 0 44px rgba(199, 185, 149, 0.11);
	transition:
		opacity 420ms var(--ease-out-soft),
		transform 520ms var(--ease-premium);
}

.delivery-confidence__active-copy {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(0.65rem, 1.2vw, 1rem);
	max-width: 42rem;
	transition:
		opacity 260ms var(--ease-out-soft),
		transform 360ms var(--ease-out-soft);
}

.delivery-confidence__active.is-updating .delivery-confidence__active-copy {
	opacity: 0;
	transform: translateY(0.55rem);
}

.delivery-confidence__active.is-updating .delivery-confidence__active-number {
	opacity: 0.38;
	transform: translateX(0.45rem) scale(0.985);
}

.delivery-confidence__active-copy small {
	width: fit-content;
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: rgba(199, 185, 149, 0.9);
}

.delivery-confidence__active-copy h3 {
	max-width: 13ch;
	font-size: clamp(2.25rem, 4.6vw, 5rem);
	line-height: 0.9;
	letter-spacing: -0.058em;
	color: #fff;
}

.delivery-confidence__active-copy p {
	max-width: 35rem;
	font-size: clamp(1rem, 1.16vw, 1.18rem);
	line-height: 1.66;
	color: rgba(255, 255, 255, 0.68);
}

.delivery-confidence__steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0;
	padding: clamp(2.4rem, 3.6vw, 3.3rem) 0 0;
	margin: 0;
	list-style: none;
	border-top: 0;
	border-bottom: 0;
	counter-reset: delivery-step;
}

.delivery-confidence__steps::before {
	content: "";
	position: absolute;
	top: var(--route-line-top);
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, rgba(23, 26, 24, 0.16), rgba(23, 26, 24, 0.56), rgba(23, 26, 24, 0.16));
	pointer-events: none;
}

.delivery-confidence__steps::after {
	content: "";
	position: absolute;
	top: var(--route-line-top);
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(138, 106, 54, 0.72), transparent);
	transform: scaleX(var(--route-progress));
	transform-origin: left center;
	pointer-events: none;
}

.delivery-confidence__steps li {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(0.5rem, 0.9vw, 0.8rem);
	align-items: start;
	min-height: 0;
	padding: 0 clamp(0.85rem, 1.45vw, 1.35rem) clamp(1.4rem, 2.3vw, 2rem) 0;
	border-top: 0;
	border-right: 0;
	border-bottom: 0;
	background: transparent;
	color: var(--color-text);
	isolation: isolate;
	cursor: default;
	transition:
		opacity 320ms var(--ease-out-soft),
		transform 360ms var(--ease-out-soft),
		filter 360ms var(--ease-out-soft);
}

.delivery-confidence__steps li + li {
	padding-left: 0;
}

.delivery-confidence__steps li:last-child {
	border-right: 0;
	border-bottom: 0;
}

.delivery-confidence__steps li::before {
	content: "";
	position: absolute;
	top: calc(var(--route-line-top) - clamp(2.4rem, 3.6vw, 3.3rem));
	left: 0;
	width: clamp(0.82rem, 1vw, 0.98rem);
	height: clamp(0.82rem, 1vw, 0.98rem);
	border: 1px solid rgba(23, 26, 24, 0.72);
	border-radius: 999px;
	background: var(--color-bg);
	transform: translateY(-50%);
	z-index: 1;
	transition:
		background-color 260ms var(--ease-out-soft),
		border-color 260ms var(--ease-out-soft),
		transform 260ms var(--ease-out-soft);
}

.delivery-confidence__steps li::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: clamp(-0.9rem, -1.4vw, -0.5rem) clamp(0.25rem, 0.8vw, 0.7rem) clamp(0.5rem, 1vw, 0.9rem) clamp(-0.9rem, -1.2vw, -0.5rem);
	border: 1px solid rgba(138, 106, 54, 0.16);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.06)),
		radial-gradient(circle at 18% 4%, rgba(138, 106, 54, 0.16), transparent 34%);
	box-shadow: 0 22px 58px rgba(23, 26, 24, 0.065);
	opacity: 0;
	transform: translateY(0.55rem) scale(0.985);
	transition:
		opacity 360ms var(--ease-out-soft),
		transform 420ms var(--ease-out-soft),
		border-color 360ms var(--ease-out-soft);
	pointer-events: none;
}

.delivery-confidence__steps li:nth-child(even) {
	padding-top: clamp(2.3rem, 4vw, 4.4rem);
}

.delivery-confidence__steps span {
	font-family: var(--font-heading);
	font-size: clamp(4.5rem, 6.8vw, 7.75rem);
	font-weight: 800;
	line-height: 0.66;
	letter-spacing: -0.105em;
	text-transform: uppercase;
	color: rgba(138, 106, 54, 0.3);
	transition:
		color 260ms var(--ease-out-soft),
		transform 260ms var(--ease-out-soft);
}

.delivery-confidence__steps small {
	display: inline-flex;
	width: fit-content;
	padding-top: 0.1rem;
	font-size: 0.64rem;
	font-weight: 850;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(138, 106, 54, 0.76);
}

.delivery-confidence__steps h3 {
	max-width: 13rem;
	font-size: clamp(1.04rem, 1.22vw, 1.3rem);
	line-height: 1.05;
	color: var(--color-dark);
	transition:
		color 260ms var(--ease-out-soft),
		transform 300ms var(--ease-out-soft);
}

.delivery-confidence__steps p {
	grid-column: auto;
	max-width: 16rem;
	font-size: 0.87rem;
	line-height: 1.55;
	color: var(--color-muted);
	transition:
		color 280ms var(--ease-out-soft),
		opacity 280ms var(--ease-out-soft),
		transform 320ms var(--ease-out-soft);
}

.delivery-confidence__route.is-interacting .delivery-confidence__steps li:not(.is-step-active) {
	opacity: 0.43;
	filter: saturate(0.78);
}

.delivery-confidence__steps li:hover,
.delivery-confidence__steps li:focus-visible,
.delivery-confidence__steps li.is-step-active {
	transform: translateY(-0.32rem);
}

.delivery-confidence__steps li:focus-visible {
	outline: 1px solid rgba(138, 106, 54, 0.72);
	outline-offset: 0.45rem;
}

.delivery-confidence__steps li:hover::before,
.delivery-confidence__steps li:focus-visible::before,
.delivery-confidence__steps li.is-step-active::before {
	border-color: rgba(138, 106, 54, 0.9);
	background: rgba(138, 106, 54, 0.9);
	box-shadow:
		0 0 0 0.5rem rgba(138, 106, 54, 0.12),
		0 0 2.2rem rgba(138, 106, 54, 0.18);
	transform: translateY(-50%) scale(1.18);
}

.delivery-confidence__steps li:hover span,
.delivery-confidence__steps li:focus-visible span,
.delivery-confidence__steps li.is-step-active span {
	color: rgba(138, 106, 54, 0.58);
	transform: translateY(-0.16rem) scale(1.045);
}

.delivery-confidence__steps li:hover::after,
.delivery-confidence__steps li:focus-visible::after,
.delivery-confidence__steps li.is-step-active::after {
	border-color: rgba(138, 106, 54, 0.24);
	opacity: 1;
	transform: translateY(0) scale(1);
}

.delivery-confidence__steps li:hover h3,
.delivery-confidence__steps li:focus-visible h3,
.delivery-confidence__steps li.is-step-active h3 {
	color: #111611;
	transform: translateY(-0.05rem);
}

.delivery-confidence__steps li:hover p,
.delivery-confidence__steps li:focus-visible p,
.delivery-confidence__steps li.is-step-active p {
	color: rgba(23, 26, 24, 0.82);
	opacity: 1;
	transform: translateY(-0.04rem);
}

.motion-enhanced .delivery-confidence__steps::after {
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 1200ms var(--ease-out-soft);
}

.motion-enhanced .delivery-confidence__lead.is-visible + .delivery-confidence__route .delivery-confidence__steps::after,
.motion-enhanced .delivery-confidence__route:has(.motion-reveal.is-visible) .delivery-confidence__steps::after {
	transform: scaleX(var(--route-progress));
}

.section--process-journey {
	position: relative;
	padding-block: clamp(6rem, 8.8vw, 10.5rem);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.035) 1px, transparent 1px) 0 0 / 12.5% 100%,
		radial-gradient(circle at 82% 16%, rgba(138, 106, 54, 0.11), transparent 28%),
		linear-gradient(180deg, #f5f1e9 0%, #ebe5d9 100%);
	overflow: hidden;
}

.section--process-journey::before {
	content: "";
	position: absolute;
	inset: clamp(1rem, 1.6vw, 1.5rem);
	border: 1px solid rgba(23, 26, 24, 0.075);
	pointer-events: none;
}

.section--process-journey::after {
	content: "";
	position: absolute;
	top: clamp(4.6rem, 8vw, 8rem);
	right: clamp(1.4rem, 4vw, 4.5rem);
	width: clamp(8rem, 17vw, 18rem);
	height: 1px;
	background: rgba(138, 106, 54, 0.48);
	pointer-events: none;
}

.process-journey {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(3rem, 6vw, 7rem);
}

.process-journey__lead {
	display: grid;
	grid-template-columns: minmax(0, 0.58fr) minmax(20rem, 0.36fr);
	gap: clamp(1.9rem, 4vw, 4.8rem);
	align-content: start;
}

.process-journey__lead h2 {
	grid-column: 1;
	max-width: 17ch;
	font-size: clamp(3rem, 5vw, 5.95rem);
	line-height: 0.88;
	letter-spacing: -0.06em;
	color: var(--color-dark);
}

.process-journey__lead .eyebrow {
	grid-column: 1;
}

.process-journey__lead .lead {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: end;
	max-width: 35rem;
	font-size: clamp(1rem, 1.08vw, 1.12rem);
	line-height: 1.68;
}

.process-journey__system {
	--process-progress: 0;
	--process-x: 12%;
	--process-y: 24%;
	--process-drift-x: 0px;
	--process-drift-y: 0px;
	--process-drift-x-soft: 0px;
	--process-drift-y-soft: 0px;
	--process-drift-x-inverse: 0px;
	--process-drift-y-inverse: 0px;
	--process-accent-scale: 0.28;
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.64fr) minmax(20rem, 0.36fr);
	gap: 0;
	min-height: clamp(37rem, 54vw, 48rem);
	padding: clamp(0.75rem, 1.2vw, 1rem);
	background:
		radial-gradient(circle at var(--process-x) var(--process-y), rgba(199, 185, 149, 0.2), transparent 23%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.075), transparent 42%),
		linear-gradient(180deg, #101612 0%, #070b09 100%);
	border: 1px solid rgba(23, 26, 24, 0.18);
	box-shadow: 0 38px 96px rgba(23, 26, 24, 0.18);
	color: rgba(255, 255, 255, 0.82);
	overflow: hidden;
	isolation: isolate;
	transition: background-position 560ms var(--ease-premium);
}

.process-journey__system::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px) 0 0 / 16.66% 100%,
		linear-gradient(180deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 100% 25%,
		radial-gradient(circle at 78% 22%, rgba(199, 185, 149, 0.16), transparent 29%);
	transform: translate3d(var(--process-drift-x-inverse), var(--process-drift-y-inverse), 0);
	transition: transform 520ms var(--ease-premium);
	pointer-events: none;
}

.process-journey__system::after {
	content: "";
	position: absolute;
	z-index: 0;
	top: var(--process-y);
	left: var(--process-x);
	width: clamp(7rem, 14vw, 14rem);
	height: clamp(7rem, 14vw, 14rem);
	border: 1px solid rgba(199, 185, 149, 0.2);
	border-radius: 999px;
	opacity: 0.7;
	transform: translate(calc(-50% + var(--process-drift-x)), calc(-50% + var(--process-drift-y)));
	transition:
		top 520ms var(--ease-premium),
		left 520ms var(--ease-premium),
		transform 520ms var(--ease-premium),
		opacity 300ms var(--ease-out-soft);
	pointer-events: none;
}

.process-journey__trace {
	position: absolute;
	inset: clamp(0.75rem, 1.2vw, 1rem);
	z-index: 1;
	pointer-events: none;
	transform: translate3d(var(--process-drift-x-soft), var(--process-drift-y-soft), 0);
	transition: transform 520ms var(--ease-premium);
}

.process-journey__trace span {
	position: absolute;
	background: rgba(199, 185, 149, 0.2);
	transform-origin: left center;
}

.process-journey__trace span:nth-child(1) {
	top: 18%;
	left: 7%;
	width: 42%;
	height: 1px;
	transform: rotate(-7deg);
}

.process-journey__trace span:nth-child(2) {
	right: 34%;
	top: 10%;
	width: 1px;
	height: 72%;
	background: rgba(255, 255, 255, 0.075);
}

.process-journey__trace span:nth-child(3) {
	right: 6%;
	bottom: 18%;
	width: 36%;
	height: 1px;
	transform: rotate(-12deg);
}

.process-journey__stage {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr;
	align-content: end;
	min-height: 100%;
	padding: clamp(2.35rem, 5.2vw, 6.2rem);
	border: 1px solid rgba(255, 255, 255, 0.095);
	border-right: 0;
	background:
		radial-gradient(circle at var(--process-x) var(--process-y), rgba(199, 185, 149, 0.14), transparent 31%),
		linear-gradient(130deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012));
	overflow: hidden;
	transition:
		background 520ms var(--ease-premium),
		border-color 340ms var(--ease-out-soft);
}

.process-journey__stage::before,
.process-journey__stage::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.process-journey__stage::before {
	inset: clamp(0.85rem, 1.3vw, 1.2rem);
	border: 1px solid rgba(255, 255, 255, 0.06);
	transform: translate3d(var(--process-drift-x-soft), var(--process-drift-y-soft), 0);
	transition: transform 520ms var(--ease-premium);
}

.process-journey__stage::after {
	left: clamp(2rem, 5vw, 6rem);
	right: clamp(2rem, 6vw, 7rem);
	bottom: clamp(2rem, 4vw, 4.3rem);
	width: auto;
	height: 1px;
	background: linear-gradient(90deg, rgba(199, 185, 149, 0.72), transparent);
	transform: scaleX(var(--process-accent-scale));
	transform-origin: left center;
	transition: transform 520ms var(--ease-premium);
}

.process-journey__stage-meta {
	position: absolute;
	z-index: 2;
	top: clamp(1.4rem, 2.4vw, 2.4rem);
	left: clamp(1.5rem, 3vw, 3.4rem);
	right: clamp(1.5rem, 3vw, 3.4rem);
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.48);
}

.process-journey__ghost-number {
	position: absolute;
	z-index: 1;
	left: clamp(1.7rem, 3vw, 3.4rem);
	top: 50%;
	font-family: var(--font-heading);
	font-size: clamp(13rem, 26vw, 30rem);
	font-weight: 800;
	line-height: 0.58;
	letter-spacing: -0.13em;
	color: rgba(199, 185, 149, 0.19);
	text-shadow: 0 0 54px rgba(199, 185, 149, 0.12);
	transform: translateY(-50%) translate3d(var(--process-drift-x-soft), var(--process-drift-y-soft), 0);
	transition:
		opacity 440ms var(--ease-out-soft),
		transform 620ms var(--ease-premium);
}

.process-journey__stage-copy {
	position: relative;
	z-index: 2;
	display: grid;
	gap: clamp(0.7rem, 1.3vw, 1.1rem);
	max-width: 45rem;
	margin-left: clamp(7.2rem, 12vw, 15rem);
	transition:
		opacity 280ms var(--ease-out-soft),
		transform 420ms var(--ease-out-soft);
}

.process-journey__stage.is-updating .process-journey__stage-copy {
	opacity: 0;
	transform: translateY(0.75rem);
}

.process-journey__stage.is-updating .process-journey__ghost-number {
	opacity: 0.34;
	transform: translateY(-50%) translateX(0.7rem) translate3d(var(--process-drift-x-soft), var(--process-drift-y-soft), 0) scale(0.985);
}

.process-journey__stage-copy small {
	width: fit-content;
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(199, 185, 149, 0.94);
}

.process-journey__stage-copy h3 {
	max-width: 13ch;
	font-size: clamp(2.8rem, 5.7vw, 6.6rem);
	line-height: 0.88;
	letter-spacing: -0.064em;
	color: #fff;
}

.process-journey__stage-copy p {
	max-width: 36rem;
	font-size: clamp(1.02rem, 1.2vw, 1.24rem);
	line-height: 1.62;
	color: rgba(255, 255, 255, 0.68);
}

.process-journey__route {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	align-content: stretch;
	padding: clamp(1.65rem, 2.8vw, 3rem) 0;
	margin: 0;
	list-style: none;
	border: 1px solid rgba(255, 255, 255, 0.095);
	background: rgba(255, 255, 255, 0.028);
}

.process-journey__route::before,
.process-journey__route::after {
	content: "";
	position: absolute;
	top: clamp(2rem, 3vw, 3rem);
	bottom: clamp(2rem, 3vw, 3rem);
	left: clamp(3.25rem, 4.5vw, 4.3rem);
	width: 1px;
	height: auto;
	pointer-events: none;
}

.process-journey__route::before {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.16));
}

.process-journey__route::after {
	background: linear-gradient(180deg, transparent, rgba(199, 185, 149, 0.9), transparent);
	transform: scaleY(var(--process-progress));
	transform-origin: top center;
	transition: transform 520ms var(--ease-premium);
}

.process-journey__route li {
	position: relative;
	display: grid;
	grid-template-columns: clamp(4.1rem, 5vw, 5.2rem) 1fr;
	gap: 0.26rem clamp(0.8rem, 1.3vw, 1.2rem);
	align-content: start;
	min-height: 0;
	padding: clamp(1rem, 1.55vw, 1.45rem) clamp(1rem, 1.5vw, 1.4rem) clamp(1rem, 1.55vw, 1.45rem) 0;
	color: rgba(255, 255, 255, 0.62);
	cursor: pointer;
	isolation: isolate;
	transition:
		opacity 320ms var(--ease-out-soft),
		transform 380ms var(--ease-out-soft),
		color 300ms var(--ease-out-soft);
}

.process-journey__route li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: clamp(3.25rem, 4.5vw, 4.3rem);
	width: clamp(0.76rem, 1vw, 0.96rem);
	height: clamp(0.76rem, 1vw, 0.96rem);
	border: 1px solid rgba(255, 255, 255, 0.48);
	border-radius: 999px;
	background: var(--color-ink);
	transform: translate(-50%, -50%);
	transition:
		background-color 280ms var(--ease-out-soft),
		border-color 280ms var(--ease-out-soft),
		box-shadow 320ms var(--ease-out-soft),
		transform 320ms var(--ease-out-soft);
}

.process-journey__route li::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0 clamp(0.7rem, 1vw, 1rem) 0 clamp(0.72rem, 1vw, 1rem);
	border: 1px solid rgba(199, 185, 149, 0.15);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018)),
		radial-gradient(circle at 10% 0%, rgba(199, 185, 149, 0.13), transparent 34%);
	opacity: 0;
	transform: translateY(0.5rem) scale(0.985);
	transition:
		opacity 340ms var(--ease-out-soft),
		transform 420ms var(--ease-out-soft);
	pointer-events: none;
}

.process-journey__route span {
	grid-column: 1;
	grid-row: 1 / span 3;
	align-self: center;
	justify-self: center;
	font-family: var(--font-heading);
	font-size: clamp(2.75rem, 4.2vw, 4.6rem);
	font-weight: 800;
	line-height: 0.7;
	letter-spacing: -0.095em;
	color: rgba(199, 185, 149, 0.31);
	transition:
		color 280ms var(--ease-out-soft),
		transform 380ms var(--ease-out-soft);
}

.process-journey__route small {
	grid-column: 2;
	width: fit-content;
	font-size: 0.62rem;
	font-weight: 850;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(199, 185, 149, 0.7);
}

.process-journey__route h3 {
	grid-column: 2;
	max-width: 12rem;
	font-size: clamp(1rem, 1.12vw, 1.2rem);
	line-height: 1.07;
	color: rgba(255, 255, 255, 0.82);
	transition:
		color 280ms var(--ease-out-soft),
		transform 300ms var(--ease-out-soft);
}

.process-journey__route p {
	grid-column: 2;
	max-width: 15.5rem;
	font-size: 0.82rem;
	line-height: 1.52;
	color: rgba(255, 255, 255, 0.48);
	transition:
		color 280ms var(--ease-out-soft),
		opacity 280ms var(--ease-out-soft),
		transform 320ms var(--ease-out-soft);
}

.process-journey__system.is-interacting .process-journey__route li:not(.is-step-active) {
	opacity: 0.36;
}

.process-journey__route li:hover,
.process-journey__route li:focus-visible,
.process-journey__route li.is-step-active {
	color: rgba(255, 255, 255, 0.9);
	transform: translateX(-0.35rem);
}

.process-journey__route li:focus-visible {
	outline: 1px solid rgba(199, 185, 149, 0.78);
	outline-offset: 0.45rem;
}

.process-journey__route li:hover::before,
.process-journey__route li:focus-visible::before,
.process-journey__route li.is-step-active::before {
	border-color: rgba(199, 185, 149, 0.95);
	background: rgba(199, 185, 149, 0.95);
	box-shadow:
		0 0 0 0.55rem rgba(199, 185, 149, 0.11),
		0 0 2.4rem rgba(199, 185, 149, 0.22);
	transform: translate(-50%, -50%) scale(1.16);
}

.process-journey__route li:hover::after,
.process-journey__route li:focus-visible::after,
.process-journey__route li.is-step-active::after {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.process-journey__route li:hover span,
.process-journey__route li:focus-visible span,
.process-journey__route li.is-step-active span {
	color: rgba(199, 185, 149, 0.68);
	transform: translateY(-0.12rem) scale(1.045);
}

.process-journey__route li:hover h3,
.process-journey__route li:focus-visible h3,
.process-journey__route li.is-step-active h3 {
	color: #fff;
	transform: translateY(-0.04rem);
}

.process-journey__route li:hover p,
.process-journey__route li:focus-visible p,
.process-journey__route li.is-step-active p {
	color: rgba(255, 255, 255, 0.68);
	opacity: 1;
	transform: translateY(-0.04rem);
}

.motion-enhanced .process-journey__route::after {
	transform: scaleY(0);
}

.motion-enhanced .process-journey__system:has(.motion-reveal.is-visible) .process-journey__route::after,
.motion-enhanced .process-journey__lead.is-visible + .process-journey__system .process-journey__route::after {
	transform: scaleY(var(--process-progress));
}

.section--process-journey {
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.04) 1px, transparent 1px) 0 0 / 8.333% 100%,
		linear-gradient(180deg, rgba(255, 255, 255, 0.7), transparent 34%),
		radial-gradient(circle at 78% 18%, rgba(138, 106, 54, 0.13), transparent 29%),
		linear-gradient(180deg, #f4f0e8 0%, #e8e1d5 100%);
}

.process-journey {
	gap: clamp(3.4rem, 6.4vw, 7.4rem);
}

.process-journey__lead h2 {
	max-width: 16.5ch;
}

.process-journey__system {
	--process-progress: 0.035;
	--process-step: 1;
	--route-board-glow: rgba(199, 185, 149, 0.14);
	grid-template-columns: minmax(23rem, 0.46fr) minmax(34rem, 0.54fr);
	min-height: clamp(43rem, 58vw, 53rem);
	padding: clamp(0.75rem, 1vw, 1rem);
	background:
		radial-gradient(circle at var(--process-x) var(--process-y), rgba(199, 185, 149, 0.18), transparent 24%),
		linear-gradient(90deg, rgba(255, 255, 255, 0.065) 1px, transparent 1px) 0 0 / 12.5% 100%,
		linear-gradient(180deg, #111713 0%, #070b09 100%);
	box-shadow:
		0 44px 110px rgba(23, 26, 24, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.process-journey__system::before {
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px) 0 0 / 16.66% 100%,
		linear-gradient(180deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 100% 20%,
		radial-gradient(circle at 82% 18%, rgba(199, 185, 149, 0.16), transparent 26%),
		linear-gradient(135deg, transparent 0 63%, rgba(199, 185, 149, 0.07) 63.2% 63.45%, transparent 63.7%);
}

.process-journey__trace span:nth-child(1) {
	top: 16%;
	left: 6%;
	width: 57%;
	transform: rotate(-5deg);
}

.process-journey__trace span:nth-child(2) {
	right: 45%;
	top: 9%;
	height: 78%;
}

.process-journey__trace span:nth-child(3) {
	right: 5%;
	bottom: 13%;
	width: 48%;
	transform: rotate(-9deg);
}

.process-journey__stage {
	min-height: auto;
	border-right: 1px solid rgba(255, 255, 255, 0.095);
	background:
		radial-gradient(circle at 15% 25%, rgba(199, 185, 149, 0.14), transparent 28%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.012));
	box-shadow:
		inset -1px 0 0 rgba(255, 255, 255, 0.035),
		18px 0 70px rgba(0, 0, 0, 0.12);
}

.process-journey__stage::after {
	right: clamp(2rem, 4vw, 5rem);
	transform: scaleX(var(--process-accent-scale));
}

.process-journey__ghost-number {
	left: clamp(1rem, 2.2vw, 2.6rem);
	font-size: clamp(14rem, 26vw, 31rem);
	color: rgba(199, 185, 149, 0.21);
	transform: translateY(-50%) translate3d(var(--process-drift-x-soft), var(--process-drift-y-soft), 0) scale(calc(0.98 + (var(--process-progress) * 0.05)));
}

.process-journey__stage-copy {
	max-width: 36rem;
	margin-left: clamp(5.6rem, 10vw, 12.5rem);
}

.process-journey__stage-copy small {
	position: relative;
	padding-left: 3.1rem;
}

.process-journey__stage-copy small::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 2.35rem;
	height: 1px;
	background: rgba(199, 185, 149, 0.72);
}

.process-journey__route-board {
	position: relative;
	z-index: 2;
	min-height: 100%;
	padding: clamp(1.35rem, 2.2vw, 2.4rem);
	border: 1px solid rgba(255, 255, 255, 0.095);
	border-left: 0;
	background:
		radial-gradient(circle at var(--process-x) var(--process-y), var(--route-board-glow), transparent 22%),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 20% 100%,
		linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012));
	overflow: hidden;
}

.process-journey__route-board::before,
.process-journey__route-board::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.process-journey__route-board::before {
	inset: clamp(0.9rem, 1.4vw, 1.25rem);
	border: 1px solid rgba(255, 255, 255, 0.055);
}

.process-journey__route-board::after {
	right: clamp(1.4rem, 2.2vw, 2.4rem);
	bottom: clamp(1.2rem, 1.8vw, 2rem);
	width: clamp(8rem, 17vw, 16rem);
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(199, 185, 149, 0.58));
	transform: scaleX(calc(0.42 + var(--process-progress) * 0.58));
	transform-origin: right center;
	transition: transform 520ms var(--ease-premium);
}

.process-journey__route-scale {
	position: absolute;
	z-index: 3;
	top: clamp(1.2rem, 1.8vw, 2rem);
	left: clamp(1.4rem, 2.2vw, 2.4rem);
	right: clamp(1.4rem, 2.2vw, 2.4rem);
	display: flex;
	justify-content: space-between;
	font-size: 0.62rem;
	font-weight: 850;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.38);
}

.process-journey__route-line {
	position: absolute;
	z-index: 1;
	inset: clamp(3rem, 5vw, 4.7rem) clamp(2.1rem, 3.8vw, 4.3rem) clamp(2rem, 3.2vw, 3.8rem);
	width: auto;
	height: auto;
	overflow: visible;
	filter: drop-shadow(0 12px 28px rgba(0, 0, 0, 0.18));
	pointer-events: none;
}

.process-journey__route-base,
.process-journey__route-fill {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.process-journey__route-base {
	stroke: rgba(255, 255, 255, 0.16);
	stroke-width: 1.2;
}

.process-journey__route-fill {
	stroke: rgba(199, 185, 149, 0.9);
	stroke-width: 2.4;
	stroke-dasharray: 1;
	stroke-dashoffset: calc(1 - var(--process-progress));
	transition: stroke-dashoffset 620ms var(--ease-premium);
}

.process-journey__route {
	position: absolute;
	z-index: 2;
	inset: clamp(3rem, 5vw, 4.7rem) clamp(1.7rem, 3.1vw, 3.6rem) clamp(2rem, 3.2vw, 3.8rem);
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
}

.process-journey__route::before,
.process-journey__route::after {
	display: none;
}

.process-journey__route li {
	position: absolute;
	width: clamp(13.5rem, 16vw, 17.5rem);
	min-height: 0;
	padding: clamp(0.9rem, 1.2vw, 1.1rem) clamp(0.9rem, 1.25vw, 1.18rem);
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.28rem 0.8rem;
	border: 1px solid rgba(255, 255, 255, 0.09);
	background:
		linear-gradient(145deg, rgba(8, 12, 10, 0.76), rgba(14, 20, 16, 0.54)),
		linear-gradient(135deg, rgba(255, 255, 255, 0.055), transparent 52%);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.16);
	backdrop-filter: blur(10px);
	transform: translate(-50%, -50%);
}

.process-journey__route li:nth-child(1) {
	left: 8%;
	top: 8%;
}

.process-journey__route li:nth-child(2) {
	left: 43%;
	top: 16%;
}

.process-journey__route li:nth-child(3) {
	left: 82%;
	top: 26%;
}

.process-journey__route li:nth-child(4) {
	left: 63%;
	top: 51%;
}

.process-journey__route li:nth-child(5) {
	left: 20%;
	top: 67%;
}

.process-journey__route li:nth-child(6) {
	left: 82%;
	top: 86%;
}

.process-journey__route li::before {
	top: 0;
	left: 0;
	width: 0.66rem;
	height: 0.66rem;
	border-color: rgba(255, 255, 255, 0.58);
	background: var(--color-ink);
	transform: translate(-50%, -50%);
}

.process-journey__route li::after {
	inset: -1px;
	border-color: rgba(199, 185, 149, 0.25);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.018)),
		radial-gradient(circle at 12% 0%, rgba(199, 185, 149, 0.18), transparent 42%);
	transform: translateY(0.35rem) scale(0.982);
}

.process-journey__route span {
	grid-column: 1;
	grid-row: 1 / span 3;
	align-self: start;
	font-size: clamp(2.2rem, 3vw, 3.5rem);
	color: rgba(199, 185, 149, 0.38);
}

.process-journey__route small,
.process-journey__route h3,
.process-journey__route p {
	grid-column: 2;
}

.process-journey__route h3 {
	max-width: 9.5rem;
	font-size: clamp(0.94rem, 1.02vw, 1.12rem);
}

.process-journey__route p {
	max-width: 12rem;
	font-size: 0.76rem;
	line-height: 1.44;
}

.process-journey__system.is-interacting .process-journey__route li:not(.is-step-active) {
	opacity: 0.42;
}

.process-journey__route li:hover,
.process-journey__route li:focus-visible,
.process-journey__route li.is-step-active {
	transform: translate(-50%, -50%) scale(1.035);
}

.process-journey__route li:hover::before,
.process-journey__route li:focus-visible::before,
.process-journey__route li.is-step-active::before {
	box-shadow:
		0 0 0 0.52rem rgba(199, 185, 149, 0.12),
		0 0 2.3rem rgba(199, 185, 149, 0.26);
	transform: translate(-50%, -50%) scale(1.18);
}

.process-journey__route li:hover span,
.process-journey__route li:focus-visible span,
.process-journey__route li.is-step-active span {
	transform: translateY(-0.08rem) scale(1.08);
}

.process-journey__system {
	--process-progress: 0.035;
	--process-step: 1;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 1.45vw, 1.35rem);
	min-height: 0;
	padding: clamp(0.75rem, 1vw, 1rem);
}

.process-journey__stage {
	display: grid;
	grid-template-columns: minmax(0, 0.62fr) minmax(14rem, 0.38fr);
	align-items: end;
	min-height: clamp(23rem, 31vw, 29rem);
	padding: clamp(2rem, 4vw, 4.7rem);
	border-right: 1px solid rgba(255, 255, 255, 0.095);
}

.process-journey__stage-icon {
	position: absolute;
	z-index: 2;
	right: clamp(2rem, 4vw, 4.7rem);
	bottom: clamp(2rem, 3.4vw, 3.9rem);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(5.6rem, 9vw, 9.4rem);
	height: clamp(5.6rem, 9vw, 9.4rem);
	border: 1px solid rgba(199, 185, 149, 0.32);
	background:
		linear-gradient(135deg, rgba(199, 185, 149, 0.14), rgba(255, 255, 255, 0.028)),
		rgba(8, 12, 10, 0.42);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.045);
	color: rgba(199, 185, 149, 0.92);
	transform: translate3d(var(--process-drift-x-soft), var(--process-drift-y-soft), 0);
	transition:
		color 320ms var(--ease-out-soft),
		border-color 320ms var(--ease-out-soft),
		transform 560ms var(--ease-premium);
}

.process-journey__stage-icon svg,
.process-journey__milestone-icon svg,
.process-journey__milestone-icon-source svg {
	display: block;
	width: 100%;
	height: 100%;
}

.process-journey__stage-icon svg,
.process-journey__milestone-icon svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.process-journey__ghost-number {
	left: clamp(1rem, 2.2vw, 2.7rem);
	font-size: clamp(11rem, 22vw, 25rem);
	transform: translateY(-50%) translate3d(var(--process-drift-x-soft), var(--process-drift-y-soft), 0);
}

.process-journey__stage-copy {
	max-width: 42rem;
	margin-left: clamp(5rem, 9vw, 10.5rem);
}

.process-journey__route-board {
	min-height: 0;
	padding: clamp(1.25rem, 2.1vw, 2.2rem);
	border-left: 1px solid rgba(255, 255, 255, 0.095);
	overflow: visible;
}

.process-journey__route-board::before {
	z-index: 0;
}

.process-journey__route-board::after {
	display: none;
}

.process-journey__route-scale {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	z-index: 2;
	padding-bottom: clamp(1.05rem, 1.7vw, 1.6rem);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.process-journey__route-line {
	position: absolute;
	z-index: 1;
	top: clamp(6.15rem, 7.2vw, 7.8rem);
	left: clamp(2.2rem, 4vw, 4.2rem);
	right: clamp(2.2rem, 4vw, 4.2rem);
	height: 2px;
	filter: none;
	pointer-events: none;
	overflow: visible;
}

.process-journey__route-base,
.process-journey__route-fill {
	position: absolute;
	inset: 0;
	display: block;
	height: 100%;
	border-radius: 999px;
}

.process-journey__route-base {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.08));
}

.process-journey__route-fill {
	background:
		linear-gradient(90deg, rgba(199, 185, 149, 0.18), rgba(199, 185, 149, 0.96)),
		linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.56) 46%, transparent 58%) 0 0 / 32% 100%;
	box-shadow:
		0 0 16px rgba(199, 185, 149, 0.2),
		0 0 34px rgba(199, 185, 149, 0.12);
	transform: scaleX(var(--process-progress));
	transform-origin: left center;
	transition:
		box-shadow 320ms var(--ease-out-soft),
		transform 720ms var(--ease-premium);
}

.process-journey__route-line::before,
.process-journey__route-line::after {
	content: "";
	position: absolute;
	top: 50%;
	pointer-events: none;
}

.process-journey__route-line::before {
	left: 0;
	width: calc(var(--process-progress) * 100%);
	height: 14px;
	background: linear-gradient(90deg, transparent, rgba(199, 185, 149, 0.18), transparent);
	filter: blur(7px);
	opacity: 0.78;
	transform: translateY(-50%);
	transition: width 720ms var(--ease-premium);
}

.process-journey__route-line::after {
	left: calc(var(--process-progress) * 100%);
	width: 0.74rem;
	height: 0.74rem;
	border: 1px solid rgba(255, 255, 255, 0.66);
	border-radius: 999px;
	background: rgba(199, 185, 149, 0.96);
	box-shadow:
		0 0 0 0.42rem rgba(199, 185, 149, 0.13),
		0 0 1.6rem rgba(199, 185, 149, 0.32);
	transform: translate(-50%, -50%);
	transition:
		left 720ms var(--ease-premium),
		opacity 280ms var(--ease-out-soft),
		transform 720ms var(--ease-premium);
}

.process-journey__system.is-interacting .process-journey__route-fill {
	animation: process-route-sweep 1200ms var(--ease-out-soft) both;
}

.process-journey__system.is-interacting .process-journey__route-line::after {
	animation: process-route-pulse 1200ms var(--ease-out-soft) both;
}

@keyframes process-route-sweep {
	0% {
		background-position: -34% 0;
	}

	100% {
		background-position: 134% 0;
	}
}

@keyframes process-route-pulse {
	0%,
	100% {
		transform: translate(-50%, -50%) scale(1);
	}

	42% {
		transform: translate(-50%, -50%) scale(1.22);
	}
}

.process-journey__route {
	position: relative;
	inset: auto;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: clamp(0.65rem, 1vw, 1rem);
	padding: clamp(1.9rem, 3vw, 2.7rem) 0 0;
	margin: 0;
}

.process-journey__route li,
.process-journey__route li:nth-child(1),
.process-journey__route li:nth-child(2),
.process-journey__route li:nth-child(3),
.process-journey__route li:nth-child(4),
.process-journey__route li:nth-child(5),
.process-journey__route li:nth-child(6) {
	position: relative;
	left: auto;
	top: auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.58rem;
	align-content: start;
	width: auto;
	min-height: clamp(19rem, 22vw, 23rem);
	padding: clamp(1.05rem, 1.25vw, 1.25rem);
	border-color: rgba(255, 255, 255, 0.085);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
		rgba(8, 12, 10, 0.42);
	box-shadow: none;
	backdrop-filter: blur(9px);
	transform: none;
}

.process-journey__route li::before {
	top: calc(clamp(-2.75rem, -2.35vw, -1.85rem));
	left: 50%;
	width: 0.74rem;
	height: 0.74rem;
	border-color: rgba(255, 255, 255, 0.52);
	background: var(--color-ink);
	transform: translate(-50%, -50%);
}

.process-journey__route li::after {
	inset: -1px;
	border-color: rgba(199, 185, 149, 0.16);
	background:
		linear-gradient(180deg, rgba(199, 185, 149, 0.11), rgba(255, 255, 255, 0.018)),
		radial-gradient(circle at 50% 0%, rgba(199, 185, 149, 0.15), transparent 34%);
	transform: translateY(0.45rem) scale(0.985);
}

.process-journey__milestone-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(2.9rem, 4vw, 3.6rem);
	height: clamp(2.9rem, 4vw, 3.6rem);
	margin-bottom: clamp(0.25rem, 0.6vw, 0.55rem);
	border: 1px solid rgba(255, 255, 255, 0.11);
	background: rgba(255, 255, 255, 0.035);
	color: rgba(199, 185, 149, 0.58);
	transition:
		color 300ms var(--ease-out-soft),
		border-color 300ms var(--ease-out-soft),
		background-color 300ms var(--ease-out-soft),
		transform 360ms var(--ease-out-soft);
}

.process-journey__milestone-number {
	grid-column: auto;
	grid-row: auto;
	align-self: auto;
	justify-self: start;
	font-family: var(--font-heading);
	font-size: clamp(2.3rem, 4vw, 4.1rem);
	font-weight: 800;
	line-height: 0.7;
	letter-spacing: -0.09em;
	color: rgba(199, 185, 149, 0.34);
	transition:
		color 300ms var(--ease-out-soft),
		transform 360ms var(--ease-out-soft);
}

.process-journey__route small,
.process-journey__route h3,
.process-journey__route p {
	grid-column: auto;
	max-width: none;
}

.process-journey__route small {
	font-size: 0.6rem;
	color: rgba(199, 185, 149, 0.68);
}

.process-journey__route h3 {
	max-width: 10.5rem;
	font-size: clamp(0.98rem, 1.04vw, 1.12rem);
	line-height: 1.05;
}

.process-journey__route p {
	max-width: 13.5rem;
	font-size: 0.76rem;
	line-height: 1.5;
}

.process-journey__system.is-interacting .process-journey__route li:not(.is-step-active) {
	opacity: 0.48;
}

.process-journey__route li:hover,
.process-journey__route li:focus-visible,
.process-journey__route li.is-step-active {
	transform: translateY(-0.45rem);
}

.process-journey__route li:hover::before,
.process-journey__route li:focus-visible::before,
.process-journey__route li.is-step-complete::before,
.process-journey__route li.is-step-active::before {
	border-color: rgba(199, 185, 149, 0.96);
	background: rgba(199, 185, 149, 0.95);
	box-shadow:
		0 0 0 0.55rem rgba(199, 185, 149, 0.11),
		0 0 2.2rem rgba(199, 185, 149, 0.24);
	transform: translate(-50%, -50%) scale(1.18);
}

.process-journey__route li.is-step-complete:not(.is-step-active)::before {
	box-shadow:
		0 0 0 0.36rem rgba(199, 185, 149, 0.08),
		0 0 1.4rem rgba(199, 185, 149, 0.15);
	transform: translate(-50%, -50%) scale(1.04);
}

.process-journey__route li:hover .process-journey__milestone-icon,
.process-journey__route li:focus-visible .process-journey__milestone-icon,
.process-journey__route li.is-step-complete .process-journey__milestone-icon,
.process-journey__route li.is-step-active .process-journey__milestone-icon {
	border-color: rgba(199, 185, 149, 0.36);
	background: rgba(199, 185, 149, 0.12);
	color: rgba(199, 185, 149, 0.96);
	transform: translateY(-0.14rem) scale(1.05);
}

.process-journey__route li.is-step-complete:not(.is-step-active) .process-journey__milestone-icon {
	background: rgba(199, 185, 149, 0.07);
	color: rgba(199, 185, 149, 0.76);
	transform: none;
}

.process-journey__route li:hover .process-journey__milestone-number,
.process-journey__route li:focus-visible .process-journey__milestone-number,
.process-journey__route li.is-step-complete .process-journey__milestone-number,
.process-journey__route li.is-step-active .process-journey__milestone-number {
	color: rgba(199, 185, 149, 0.8);
	transform: translateY(-0.08rem) scale(1.08);
}

.process-journey__route li.is-step-complete:not(.is-step-active) .process-journey__milestone-number {
	color: rgba(199, 185, 149, 0.58);
	transform: none;
}

.project-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 34rem);
	gap: var(--space-5);
	align-items: center;
}

.project-image {
	width: 100%;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-soft);
}

.case-study-scope {
	display: grid;
	gap: 0.8rem;
	padding-left: 1.1rem;
	margin: 0;
}

.section--priorities-band {
	padding-top: calc(var(--space-7) - 1rem);
}

.priorities-band {
	padding: clamp(2rem, 3vw, 2.7rem);
	border-radius: clamp(1.4rem, 2vw, 1.9rem);
	background:
		linear-gradient(150deg, rgba(17, 22, 19, 0.98), rgba(28, 35, 30, 0.94)),
		var(--color-dark);
	color: rgba(255, 255, 255, 0.86);
}

.priorities-band__lead {
	max-width: 54rem;
	margin-bottom: var(--space-5);
}

.priorities-band__lead h2,
.priorities-band__lead .eyebrow,
.priorities-band__lead .lead {
	color: #fff;
}

.priorities-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin-top: 1.2rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.priority-pill {
	display: grid;
	grid-template-columns: 2.8rem 1fr;
	gap: 1rem;
	align-items: start;
	padding: 1.4rem 1.2rem 0 0;
	border: 0;
	border-right: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 0;
	background: transparent;
}

.priority-pill:last-child {
	border-right: 0;
	padding-right: 0;
}

.priority-pill:first-child {
	padding-left: 0;
}

.priority-pill span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	color: rgba(255, 255, 255, 0.78);
}

.priority-pill h3 {
	margin-bottom: 0.55rem;
}

.section--closing-cta {
	position: relative;
	padding-block: clamp(3.6rem, 6vw, 5.5rem);
	background: var(--color-ink);
	color: rgba(255, 254, 250, 0.92);
}

.closing-cta {
	display: flex;
	flex-direction: column;
}

.closing-cta__lead {
	display: flex;
	flex-direction: column;
	gap: clamp(1.4rem, 2.5vw, 2.2rem);
}

.closing-cta__lead h2 {
	max-width: 16ch;
	margin: 0;
	font-size: var(--type-section-xl);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: #f0f2ee;
}

.section--closing-cta .eyebrow--chip {
	color: rgba(255, 255, 255, 0.72);
	border-color: rgba(255, 255, 255, 0.3);
}

.section--closing-cta .closing-cta__lead {
	--hairline-color: rgba(255, 255, 255, 0.28);
}

.section--closing-cta .eyebrow__marker {
	background: var(--color-sage);
}

.section--closing-cta .section-rule {
	background: rgba(255, 255, 255, 0.2);
}

/* Dark band button treatment lives with the button component in components.css. */

.section--closing-cta .text-link {
	color: rgba(255, 255, 255, 0.85);
}

.closing-cta__rule {
	margin-block: clamp(2rem, 3vw, 3rem) clamp(1.8rem, 2.6vw, 2.6rem);
}

.closing-cta__meta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1.8rem, 4vw, 4rem);
	align-items: center;
}

.closing-cta__note {
	max-width: 34rem;
	margin: 0;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: var(--type-body-lg);
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.76);
}

.closing-cta__actions {
	justify-self: end;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--space-2);
}

/* Small trust line beside the final call to action. */
.closing-cta__trust {
	margin: 0;
	font-family: var(--font-mono);
	font-size: var(--type-label);
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.58);
}

@media (max-width: 680px) {
	.closing-cta__meta {
		grid-template-columns: 1fr;
		row-gap: var(--space-5);
	}

	.closing-cta__actions {
		justify-self: start;
		align-items: flex-start;
	}
}

.section--office-band {
	position: relative;
}

.section--office-band::before {
	content: "";
	position: absolute;
	inset: 3rem 0;
	background: var(--color-surface);
	border-top: 1px solid rgba(23, 26, 24, 0.06);
	border-bottom: 1px solid rgba(23, 26, 24, 0.06);
	pointer-events: none;
}

.section--office-band .container {
	position: relative;
}

.section--office-fit-out-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(5.6rem, 9vw, 8.8rem) clamp(4.7rem, 7vw, 7.2rem);
	background:
		radial-gradient(circle at 82% 30%, rgba(138, 106, 54, 0.12), transparent 32%),
		linear-gradient(180deg, #f6f2eb 0%, #ebe4d8 100%);
}

.section--office-fit-out-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(246, 242, 235, 0.96) 0%, rgba(246, 242, 235, 0.78) 41%, rgba(246, 242, 235, 0.08) 74%, rgba(246, 242, 235, 0.42) 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.44), transparent 44%, rgba(235, 228, 216, 0.45));
	pointer-events: none;
}

.office-fit-out-service-hero {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.48fr) minmax(28rem, 0.52fr);
	gap: clamp(2rem, 5vw, 5.8rem);
	align-items: center;
	min-height: clamp(34rem, 52vw, 46rem);
}

.office-fit-out-service-hero__content {
	position: relative;
	z-index: 3;
	max-width: 46rem;
}

.office-fit-out-service-hero__content h1 {
	max-width: 11.5ch;
	font-size: clamp(3rem, 5.6vw, 6.45rem);
	line-height: 0.9;
	letter-spacing: -0.065em;
}

.office-fit-out-service-hero__content .lead {
	max-width: 38rem;
}

.office-fit-out-service-hero__visual {
	--fit-out-sketch-opacity: 0.42;
	position: relative;
	z-index: 1;
	width: min(64vw, 58rem);
	margin: 0;
	margin-right: max(-11vw, -10rem);
	opacity: var(--fit-out-sketch-opacity);
	mix-blend-mode: multiply;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 87%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 87%, transparent 100%);
	animation: hero-sketch-entrance 1250ms cubic-bezier(0.16, 1, 0.3, 1) 120ms both;
}

.office-fit-out-service-hero__visual img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	filter: sepia(0.18) saturate(0.82) contrast(0.94) brightness(0.98);
}

.office-fit-out-section-intro {
	display: grid;
	grid-template-columns: minmax(0, 0.5fr) minmax(18rem, 0.5fr);
	gap: clamp(1.5rem, 4vw, 4.8rem);
	align-items: end;
	margin-bottom: clamp(2rem, 4.5vw, 4.6rem);
}

.office-fit-out-section-intro .eyebrow {
	grid-column: 1 / -1;
	margin-bottom: -0.35rem;
}

.office-fit-out-section-intro h2 {
	max-width: 14ch;
}

.office-fit-out-section-intro .lead {
	max-width: 43rem;
}

.office-fit-out-capabilities {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgba(23, 26, 24, 0.13);
	border-left: 1px solid rgba(23, 26, 24, 0.08);
}

.office-fit-out-capability {
	display: grid;
	gap: 1.2rem;
	align-content: start;
	min-height: clamp(16rem, 21vw, 21rem);
	padding: clamp(1.35rem, 2.4vw, 2.2rem);
	border-right: 1px solid rgba(23, 26, 24, 0.08);
	border-bottom: 1px solid rgba(23, 26, 24, 0.13);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.18)),
		rgba(248, 243, 235, 0.54);
}

.office-fit-out-capability span,
.office-fit-out-process__steps span {
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
	color: rgba(138, 106, 54, 0.78);
}

.office-fit-out-capability h3,
.office-fit-out-process__steps h3,
.office-fit-out-project-card h3 {
	margin: 0;
	font-size: clamp(1.28rem, 1.6vw, 1.75rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.section--office-fit-out-process {
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.035) 1px, transparent 1px) 0 0 / 12.5% 100%,
		linear-gradient(180deg, #f5f1ea 0%, #ebe4d8 100%);
}

.office-fit-out-process__steps {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0;
	padding: 0;
	margin: 0;
	list-style: none;
	border-top: 1px solid rgba(23, 26, 24, 0.14);
	counter-reset: fit-out-step;
}

.office-fit-out-process__steps--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.office-fit-out-process__steps li {
	position: relative;
	display: grid;
	gap: 0.9rem;
	align-content: start;
	min-height: clamp(16rem, 22vw, 20.5rem);
	padding: clamp(1.15rem, 1.8vw, 1.65rem) clamp(1rem, 1.45vw, 1.4rem);
	border-right: 1px solid rgba(23, 26, 24, 0.1);
}

.office-fit-out-process__steps li:first-child {
	border-left: 1px solid rgba(23, 26, 24, 0.1);
}

.office-fit-out-process__steps li::before {
	content: "";
	position: absolute;
	top: -0.38rem;
	left: clamp(1rem, 1.45vw, 1.4rem);
	width: 0.72rem;
	height: 0.72rem;
	border-radius: 50%;
	background: var(--color-dark);
	box-shadow: 0 0 0 0.45rem rgba(138, 106, 54, 0.12);
}

.office-fit-out-process__steps p {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.48;
	color: rgba(23, 26, 24, 0.68);
}

.office-fit-out-why {
	display: grid;
	grid-template-columns: minmax(0, 0.58fr) minmax(20rem, 0.42fr);
	gap: clamp(1.7rem, 4.2vw, 5.2rem);
	align-items: start;
}

.office-fit-out-why__copy h2 {
	max-width: 18ch;
}

.office-fit-out-why__points {
	display: grid;
	gap: 0;
	padding: 0;
	margin: 0;
	list-style: none;
	border-top: 1px solid rgba(23, 26, 24, 0.13);
}

.office-fit-out-why__points li {
	position: relative;
	padding: 1.15rem 0 1.15rem 2rem;
	border-bottom: 1px solid rgba(23, 26, 24, 0.13);
	font-weight: 750;
	color: rgba(23, 26, 24, 0.82);
}

.office-fit-out-why__points li::before {
	content: "";
	position: absolute;
	top: 1.58rem;
	left: 0;
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 50%;
	background: rgba(138, 106, 54, 0.72);
}

.office-fit-out-projects {
	display: grid;
	gap: clamp(2rem, 4vw, 4.4rem);
}

.office-fit-out-projects__intro {
	display: grid;
	grid-template-columns: minmax(0, 0.76fr) auto;
	gap: 1rem clamp(1.5rem, 3vw, 3rem);
	align-items: end;
}

.office-fit-out-projects__intro .eyebrow,
.office-fit-out-projects__intro h2 {
	grid-column: 1;
}

.office-fit-out-projects__intro h2 {
	max-width: 17ch;
}

.office-fit-out-projects__intro .text-link {
	grid-column: 2;
	grid-row: 2;
	justify-self: end;
}

.office-fit-out-projects__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.6rem);
}

.office-fit-out-project-card {
	display: grid;
	grid-template-rows: minmax(16rem, 22vw) 1fr;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.3)),
		rgba(248, 243, 235, 0.55);
	box-shadow: 0 20px 54px rgba(23, 26, 24, 0.08);
	transition:
		transform 420ms var(--ease-premium),
		box-shadow 420ms var(--ease-premium);
}

.office-fit-out-project-card:hover,
.office-fit-out-project-card:focus-within {
	transform: translateY(-0.28rem);
	box-shadow: 0 28px 66px rgba(23, 26, 24, 0.12);
}

.office-fit-out-project-card__image {
	display: block;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(17, 22, 19, 0.14), rgba(17, 22, 19, 0.04)),
		#d8d1c6;
}

.office-fit-out-project-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 650ms var(--ease-premium);
}

.office-fit-out-project-card:hover .office-fit-out-project-card__image img,
.office-fit-out-project-card:focus-within .office-fit-out-project-card__image img {
	transform: scale(1.035);
}

.office-fit-out-project-card__image span {
	display: block;
	width: 100%;
	height: 100%;
}

.office-fit-out-project-card__body {
	padding: clamp(1.1rem, 1.8vw, 1.6rem);
}

.office-fit-out-project-card__body p:not(.eyebrow) {
	margin: 0;
	color: rgba(23, 26, 24, 0.66);
}

.section--office-fit-out-final-cta {
	padding-top: calc(var(--space-8) - 0.9rem);
}

.office-fit-out-final-cta {
	display: grid;
	grid-template-columns: minmax(0, 0.68fr) auto;
	gap: clamp(1.5rem, 4vw, 4.8rem);
	align-items: end;
	padding: clamp(2rem, 4vw, 4.2rem);
	background:
		linear-gradient(135deg, rgba(11, 15, 13, 0.99), rgba(24, 31, 27, 0.96)),
		var(--color-dark);
	color: rgba(255, 255, 255, 0.88);
	box-shadow: var(--shadow-soft);
}

.office-fit-out-final-cta h2 {
	max-width: 15ch;
	color: #fff;
}

.office-fit-out-final-cta .eyebrow,
.office-fit-out-final-cta .lead {
	color: rgba(255, 255, 255, 0.68);
}

.office-fit-out-final-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: flex-end;
}

@media (max-width: 1080px) {
	.office-fit-out-service-hero,
	.office-fit-out-section-intro,
	.office-fit-out-why,
	.office-fit-out-projects__intro,
	.office-fit-out-final-cta {
		grid-template-columns: 1fr;
	}

	.office-fit-out-service-hero {
		min-height: 0;
	}

	.office-fit-out-service-hero__content h1 {
		max-width: 13ch;
	}

	.office-fit-out-service-hero__visual {
		--fit-out-sketch-opacity: 0.34;
		width: min(100%, 48rem);
		margin: 0 auto;
	}

	.office-fit-out-section-intro .eyebrow,
	.office-fit-out-section-intro h2,
	.office-fit-out-section-intro .lead,
	.office-fit-out-projects__intro .eyebrow,
	.office-fit-out-projects__intro h2,
	.office-fit-out-projects__intro .text-link {
		grid-column: auto;
		grid-row: auto;
		justify-self: start;
	}

	.office-fit-out-capabilities,
	.office-fit-out-projects__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.office-fit-out-process__steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.office-fit-out-process__steps--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.office-fit-out-final-cta__actions {
		justify-content: flex-start;
	}
}

@media (max-width: 720px) {
	.section--office-fit-out-hero {
		padding-block: clamp(4.5rem, 15vw, 6.2rem) clamp(3.4rem, 11vw, 4.8rem);
	}

	.office-fit-out-service-hero__visual {
		--fit-out-sketch-opacity: 0.28;
		width: min(118%, 33rem);
	}

	.office-fit-out-capabilities,
	.office-fit-out-projects__grid {
		grid-template-columns: 1fr;
	}

	.office-fit-out-capability {
		min-height: 0;
	}

	.office-fit-out-process__steps {
		grid-template-columns: 1fr;
		border-left: 1px solid rgba(23, 26, 24, 0.1);
	}

	.office-fit-out-process__steps li,
	.office-fit-out-process__steps li:first-child {
		min-height: 0;
		padding-left: 3.1rem;
		border-left: 0;
		border-right: 0;
		border-bottom: 1px solid rgba(23, 26, 24, 0.1);
	}

	.office-fit-out-process__steps li::before {
		top: 1.42rem;
		left: 1.15rem;
	}

	.office-fit-out-project-card {
		grid-template-rows: minmax(15rem, 58vw) auto;
	}

	.office-fit-out-final-cta {
		padding: 1.45rem;
	}

	.office-fit-out-final-cta__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.office-fit-out-final-cta__actions .button {
		justify-content: center;
	}
}

.page-hero--sketch {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background:
		radial-gradient(circle at 84% 30%, rgba(151, 112, 58, 0.11), transparent 30%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.6), transparent 52%),
		linear-gradient(180deg, #f5f1ea 0%, #ebe4d8 100%);
}

.page-hero--sketch::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(245, 241, 234, 0.95) 0%, rgba(245, 241, 234, 0.72) 34%, rgba(245, 241, 234, 0.1) 70%, rgba(245, 241, 234, 0.46) 100%),
		linear-gradient(180deg, rgba(245, 241, 234, 0.3), transparent 44%, rgba(235, 228, 216, 0.44));
	pointer-events: none;
}

.page-hero--sketch .page-hero__grid {
	position: relative;
	z-index: 3;
}

.page-hero--sketch .page-hero__content,
.page-hero--sketch .page-hero__panel {
	position: relative;
	z-index: 4;
}

.page-hero__sketch {
	--sketch-opacity: 0.38;
	--sketch-y: -50%;
	--sketch-x: 0;
	--sketch-scale: 1;
	position: absolute;
	z-index: 2;
	top: 50%;
	right: max(-16vw, -15rem);
	width: clamp(46rem, 62vw, 80rem);
	pointer-events: none;
	opacity: var(--sketch-opacity);
	mix-blend-mode: multiply;
	transform: translate3d(var(--sketch-x), var(--sketch-y), 0) scale(var(--sketch-scale));
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 84%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 84%, transparent 100%);
	animation: hero-sketch-entrance 1250ms cubic-bezier(0.16, 1, 0.3, 1) 120ms both;
}

.page-hero__sketch img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	filter: sepia(0.16) saturate(0.85) contrast(0.94) brightness(0.98);
}

@keyframes hero-sketch-entrance {
	from {
		opacity: 0;
		transform: translate3d(calc(var(--sketch-x) + 2rem), var(--sketch-y), 0) scale(1.025);
	}

	to {
		opacity: var(--sketch-opacity);
		transform: translate3d(var(--sketch-x), var(--sketch-y), 0) scale(var(--sketch-scale));
	}
}

@media (max-width: 1080px) {
	.home-hero__content.has-project-proof,
	.section-intro,
	.offer-grid,
	.project-hero__grid,
	.project-grid,
	.project-card--featured,
	.delivery-confidence,
	.trust-grid,
	.conversion-grid,
	.priorities-strip,
	.closing-cta {
		grid-template-columns: 1fr;
	}

	.home-hero__visual {
		position: absolute;
		inset: 0;
		grid-column: 1;
		grid-row: 1;
	}

	.home-hero__image-stack {
		inset: -3%;
	}

	.home-hero__image-stack::before {
		background:
			linear-gradient(90deg, rgba(9, 13, 11, 0.72), rgba(9, 13, 11, 0.36)),
			linear-gradient(180deg, rgba(9, 13, 11, 0.08), rgba(9, 13, 11, 0.56));
	}

	.home-hero__image {
		object-position: var(--hero-focal-tablet-x, var(--hero-focal-x, 54%)) var(--hero-focal-tablet-y, var(--hero-focal-y, 50%));
		transform-origin: var(--hero-focal-tablet-x, var(--hero-focal-x, 54%)) var(--hero-focal-tablet-y, var(--hero-focal-y, 50%));
	}

	.home-hero__main {
		min-height: clamp(37rem, 78vw, 44rem);
		height: auto;
		border-right: 0;
		background:
			linear-gradient(90deg, rgba(9, 13, 11, 0.88), rgba(9, 13, 11, 0.56) 62%, rgba(9, 13, 11, 0.22)),
			linear-gradient(180deg, rgba(9, 13, 11, 0.1), rgba(9, 13, 11, 0.54));
	}

	.projects-showcase__intro,
	.google-reviews,
	.projects-showcase__layout,
	.capability-band,
	.capability-band__lead,
	.capability-band__list,
	.office-fit-out-overview,
	.office-fit-out-scope,
	.office-fit-out-proof,
	.office-fit-out-cta {
		grid-template-columns: 1fr;
	}

	.project-card__featured-stage {
		display: grid;
		min-height: 0;
		padding-right: 0;
	}

	.project-card--featured .project-card__body {
		position: relative;
		right: auto;
		bottom: auto;
		width: auto;
		padding: 1.35rem;
		border-left: 0;
	}

	.project-card--featured {
		display: grid;
		min-height: 0;
	}

	.project-card--featured .project-card__image {
		position: relative;
		inset: auto;
		min-height: clamp(22rem, 54vw, 34rem);
	}

	.projects-showcase__arrow-controls {
		top: clamp(11rem, 27vw, 17rem);
	}

	.project-card--featured .project-card__details,
	.project-card--featured .project-card__footer,
	.capability-band__lead .lead,
	.capability-band__assurance {
		grid-column: auto;
	}

	.projects-showcase__list {
		grid-template-columns: 1fr;
	}

	.projects-showcase__rail {
		grid-template-columns: 1fr;
	}

	.projects-showcase__intro .lead {
		grid-column: auto;
		grid-row: auto;
		justify-self: start;
	}

	.projects-showcase__intro .eyebrow,
	.projects-showcase__intro h2 {
		grid-column: auto;
	}

	.projects-showcase__item {
		grid-template-columns: 1fr;
	}

	.projects-showcase__item span {
		justify-self: start;
	}

	.office-fit-out-overview__questions,
	.office-fit-out-scope__list {
		padding-left: 0;
		border-left: 0;
	}

	.priority-pill,
	.priority-pill:first-child,
	.priority-pill:last-child {
		padding: 1.2rem 0 0;
		border-right: 0;
	}

	.office-fit-out-cta__lead {
		padding-top: 0;
	}

	.capability-band__list {
		border-left: 0;
	}

	.capability-band__list li {
		grid-template-columns: 1fr;
		margin-top: 0;
		padding-left: 0;
		border-right: 0;
	}

	.capability-band__spine {
		grid-column: auto;
		grid-row: auto;
		flex-direction: row;
		flex-wrap: wrap;
		min-height: 0;
		gap: 0.7rem 1rem;
		padding: 1.2rem 0 0;
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.12);
	}

	.capability-band__spine span {
		padding: 0;
		border-bottom: 0;
	}

	.delivery-confidence__route {
		padding-block: clamp(1.2rem, 2.4vw, 2rem);
	}

	.delivery-confidence__active {
		grid-template-columns: minmax(7rem, 0.26fr) minmax(0, 0.74fr);
		min-height: clamp(14rem, 30vw, 19rem);
	}

	.delivery-confidence__steps::before,
	.delivery-confidence__steps::after {
		top: clamp(5.2rem, 7vw, 6.6rem);
		bottom: 0.9rem;
		left: clamp(3.6rem, 5.5vw, 5.4rem);
		right: auto;
		width: 1px;
		height: auto;
		background: linear-gradient(180deg, rgba(23, 26, 24, 0.12), rgba(23, 26, 24, 0.5), rgba(23, 26, 24, 0.1));
	}

	.delivery-confidence__steps::after {
		background: linear-gradient(180deg, transparent, rgba(138, 106, 54, 0.72), transparent);
		transform: scaleY(var(--route-progress));
		transform-origin: top center;
	}

	.delivery-confidence__steps {
		grid-template-columns: 1fr;
		padding-top: clamp(1.4rem, 2.8vw, 2.4rem);
		gap: 0;
	}

	.motion-enhanced .delivery-confidence__steps::after {
		transform: scaleY(0);
		transform-origin: top center;
	}

	.motion-enhanced .delivery-confidence__lead.is-visible + .delivery-confidence__route .delivery-confidence__steps::after,
	.motion-enhanced .delivery-confidence__route:has(.motion-reveal.is-visible) .delivery-confidence__steps::after {
		transform: scaleY(var(--route-progress));
	}

	.delivery-confidence__steps li {
		grid-template-columns: clamp(4.6rem, 7vw, 6.4rem) minmax(10rem, 0.38fr) minmax(0, 0.62fr);
		gap: clamp(1rem, 2vw, 2.1rem);
		min-height: 0;
		padding: clamp(1.08rem, 1.8vw, 1.6rem) 0;
		border-top: 1px solid rgba(23, 26, 24, 0.1);
	}

	.delivery-confidence__steps li::before {
		top: 50%;
		left: clamp(3.35rem, 5.2vw, 5.12rem);
		transform: translate(-50%, -50%);
	}

	.delivery-confidence__steps li:hover::before,
	.delivery-confidence__steps li:focus-visible::before,
	.delivery-confidence__steps li.is-step-active::before {
		transform: translate(-50%, -50%) scale(1.18);
	}

	.delivery-confidence__steps li:nth-child(even) {
		margin-top: 0;
	}

	.delivery-confidence__steps span,
	.delivery-confidence__steps small,
	.delivery-confidence__steps p {
		grid-column: auto;
		grid-row: auto;
	}

	.delivery-confidence__steps small {
		grid-column: 2;
		grid-row: 1;
	}

	.delivery-confidence__steps h3 {
		grid-column: 2;
		grid-row: 2;
	}

	.delivery-confidence__steps p {
		grid-column: 3;
		grid-row: 1 / span 2;
		max-width: 28rem;
	}

	.delivery-confidence__steps li:nth-child(2n) {
		border-right: 0;
	}

	.delivery-confidence__lead {
		grid-template-columns: 1fr;
		position: static;
	}

	.delivery-confidence__lead .eyebrow,
	.delivery-confidence__lead h2,
	.delivery-confidence__lead .lead {
		grid-column: auto;
		grid-row: auto;
	}

	.delivery-confidence__lead .lead {
		max-width: 42rem;
	}

	.hero-copy h1 {
		font-size: 4rem;
	}

	.project-card--featured h3 {
		font-size: 2rem;
	}

	.capability-band__lead h2,
	.closing-cta__lead h2 {
		font-size: 3rem;
	}

	.closing-cta__actions,
	.closing-cta__links {
		justify-items: start;
		text-align: left;
	}

	.closing-cta__actions {
		padding-left: 0;
		border-left: 0;
	}
}

@media (max-width: 720px) {
	.google-review__head,
	.google-review__author {
		flex-direction: column;
	}

	.office-fit-out-cta__actions {
		flex-direction: column;
		align-items: flex-start;
	}

	.office-fit-out-question,
	.office-fit-out-proof__item {
		grid-template-columns: 1fr;
	}

	.hero-actions,
	.closing-cta__links,
	.hero-trust-list {
		flex-direction: column;
		align-items: flex-start;
	}

	.hero-proofline {
		grid-template-columns: 1fr;
	}

	.project-card__details {
		grid-template-columns: 1fr;
	}

	.project-card--featured .project-card__details {
		grid-template-columns: 1fr;
		padding-block: 0;
		border-bottom: 0;
		background: transparent;
	}

	.project-card--featured .project-card__detail,
	.project-card--featured .project-card__detail:first-child,
	.project-card--featured .project-card__detail:last-child,
	.project-card--featured .project-card__detail:not(:first-child) {
		gap: 0.36rem;
		padding: 0.85rem 0;
		border-right: 0;
		border-bottom: 1px solid rgba(23, 26, 24, 0.1);
	}

	.project-card--featured .project-card__detail::before {
		display: none;
	}

	.home-hero__content {
		min-height: 38rem;
		padding: 0;
	}

	.home-hero__content::after {
		inset: 0.75rem;
	}

	.home-hero__main {
		min-height: 38rem;
		padding-block: 2.6rem;
		margin-left: 0;
		background:
			linear-gradient(180deg, rgba(9, 13, 11, 0.72), rgba(9, 13, 11, 0.88)),
			linear-gradient(90deg, rgba(9, 13, 11, 0.56), rgba(9, 13, 11, 0.2));
	}

	.home-hero__image-stack::before {
		background:
			linear-gradient(180deg, rgba(9, 13, 11, 0.38), rgba(9, 13, 11, 0.8)),
			linear-gradient(90deg, rgba(9, 13, 11, 0.44), rgba(9, 13, 11, 0.14));
	}

	.home-hero__image {
		object-position: var(--hero-focal-mobile-x, var(--hero-focal-tablet-x, 50%)) var(--hero-focal-mobile-y, var(--hero-focal-tablet-y, 48%));
		transform-origin: var(--hero-focal-mobile-x, var(--hero-focal-tablet-x, 50%)) var(--hero-focal-mobile-y, var(--hero-focal-tablet-y, 48%));
	}

	.project-card--featured .project-card__image {
		min-height: 18rem;
	}

	.projects-showcase__controls {
		align-items: flex-start;
	}

	.projects-showcase__arrow-controls {
		top: 9rem;
		left: 0.85rem;
		right: 0.85rem;
	}

	.projects-showcase__arrow {
		width: 2.45rem;
		height: 2.45rem;
		background: rgba(16, 22, 19, 0.5);
	}

	.home-hero .hero-actions {
		position: relative;
		right: auto;
		left: auto;
		bottom: auto;
		align-self: stretch;
		z-index: 4;
		gap: 0.55rem;
		margin: 0.35rem 0 0;
		background: transparent;
	}

	.home-hero .hero-actions .button {
		width: 100%;
	}

	.projects-showcase__list,
	.delivery-confidence__steps {
		grid-template-columns: 1fr;
	}

	.delivery-confidence__route {
		padding: 1.2rem 0;
	}

	.delivery-confidence__route-meta {
		align-items: flex-start;
		padding-bottom: 0.9rem;
		font-size: 0.6rem;
	}

	.delivery-confidence__route-meta span::before,
	.delivery-confidence__route-meta span::after {
		width: 1.45rem;
	}

	.delivery-confidence__steps::before,
	.delivery-confidence__steps::after {
		top: 5.2rem;
		bottom: 2rem;
		left: 0.45rem;
	}

	.delivery-confidence__active {
		grid-template-columns: 1fr;
		min-height: 16rem;
		padding: 1.55rem;
	}

	.delivery-confidence__active-number {
		position: absolute;
		right: 1.1rem;
		bottom: 0.65rem;
		font-size: clamp(6.8rem, 29vw, 9.8rem);
		opacity: 0.58;
	}

	.delivery-confidence__active-copy h3 {
		max-width: 11ch;
		font-size: clamp(2rem, 11vw, 3.3rem);
	}

	.delivery-confidence__steps li,
	.delivery-confidence__steps li:nth-child(even),
	.delivery-confidence__steps li:nth-child(odd) {
		grid-template-columns: 1fr;
		gap: 0.5rem;
		min-height: 0;
		margin-top: 0;
		padding: 1.25rem 0 1.25rem 2rem;
		border-right: 0;
	}

	.delivery-confidence__steps li:hover,
	.delivery-confidence__steps li:focus-visible,
	.delivery-confidence__steps li.is-step-active {
		transform: translateX(0.18rem);
	}

	.delivery-confidence__steps::before,
	.delivery-confidence__steps::after {
		display: block;
		top: 1.65rem;
		bottom: 1.65rem;
		left: 0.45rem;
		right: auto;
		width: 1px;
		height: auto;
	}

	.delivery-confidence__steps li::before {
		display: block;
		top: 1.55rem;
		left: 0.45rem;
	}

	.delivery-confidence__steps li:hover::before,
	.delivery-confidence__steps li:focus-visible::before,
	.delivery-confidence__steps li.is-step-active::before {
		transform: translateY(-50%) scale(1.14);
	}

	.delivery-confidence__steps li::after {
		display: none;
	}

	.delivery-confidence__steps small,
	.delivery-confidence__steps h3,
	.delivery-confidence__steps p {
		grid-column: auto;
		grid-row: auto;
		max-width: none;
	}

	.project-card--featured .project-card__body {
		padding: 1.2rem;
	}

	.hero-copy h1 {
		font-size: 3rem;
	}

	.project-card--featured h3,
	.capability-band__lead h2,
	.closing-cta__lead h2 {
		font-size: 1.9rem;
	}
}

@media (max-width: 1080px) {
	.process-journey__lead {
		grid-template-columns: 1fr;
	}

	.process-journey__lead .eyebrow,
	.process-journey__lead h2,
	.process-journey__lead .lead {
		grid-column: auto;
		grid-row: auto;
	}

	.process-journey__lead .lead {
		max-width: 43rem;
	}

	.process-journey__stage {
		grid-template-columns: 1fr;
		min-height: clamp(18rem, 36vw, 26rem);
	}

	.process-journey__system {
		grid-template-columns: 1fr;
	}

	.process-journey__stage {
		border-right: 1px solid rgba(255, 255, 255, 0.095);
	}

	.process-journey__stage-copy {
		margin-left: clamp(5rem, 12vw, 9rem);
	}

	.process-journey__ghost-number {
		font-size: clamp(9rem, 26vw, 15rem);
	}

	.process-journey__route {
		grid-template-columns: 1fr;
		padding-top: clamp(1.8rem, 3vw, 2.4rem);
	}

	.process-journey__route::before,
	.process-journey__route::after {
		top: clamp(2.2rem, 3vw, 2.7rem);
		bottom: 1rem;
		left: clamp(3.25rem, 5vw, 5rem);
		right: auto;
		width: 1px;
		height: auto;
	}

	.process-journey__route::before {
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.14));
	}

	.process-journey__route::after {
		background: linear-gradient(180deg, transparent, rgba(199, 185, 149, 0.88), transparent);
		transform: scaleY(var(--process-progress));
		transform-origin: top center;
	}

	.motion-enhanced .process-journey__route::after {
		transform: scaleY(0);
	}

	.motion-enhanced .process-journey__system:has(.motion-reveal.is-visible) .process-journey__route::after,
	.motion-enhanced .process-journey__lead.is-visible + .process-journey__system .process-journey__route::after {
		transform: scaleY(var(--process-progress));
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(even),
	.process-journey__route li:nth-child(odd) {
		grid-template-columns: clamp(4.5rem, 7vw, 6.2rem) minmax(10rem, 0.38fr) minmax(0, 0.62fr);
		gap: clamp(1rem, 2vw, 2rem);
		min-height: 0;
		padding: clamp(1rem, 1.8vw, 1.5rem) 0;
		border-top: 1px solid rgba(255, 255, 255, 0.09);
	}

	.process-journey__route li::before {
		top: 50%;
		left: clamp(3.05rem, 4.7vw, 4.7rem);
		transform: translate(-50%, -50%);
	}

	.process-journey__route li:hover,
	.process-journey__route li:focus-visible,
	.process-journey__route li.is-step-active {
		transform: translateX(0.24rem);
	}

	.process-journey__route li:hover::before,
	.process-journey__route li:focus-visible::before,
	.process-journey__route li.is-step-active::before {
		transform: translate(-50%, -50%) scale(1.16);
	}

	.process-journey__route span,
	.process-journey__route small,
	.process-journey__route p {
		grid-column: auto;
		grid-row: auto;
	}

	.process-journey__route small {
		grid-column: 2;
		grid-row: 1;
	}

	.process-journey__route h3 {
		grid-column: 2;
		grid-row: 2;
	}

	.process-journey__route p {
		grid-column: 3;
		grid-row: 1 / span 2;
		max-width: 29rem;
	}
}

@media (max-width: 720px) {
	.section--process-journey {
		padding-block: clamp(4.7rem, 16vw, 6.4rem);
	}

	.process-journey {
		gap: 2.4rem;
	}

	.process-journey__system {
		padding: 0.65rem;
	}

	.process-journey__stage {
		grid-template-columns: 1fr;
		min-height: 17rem;
		padding: 1.45rem;
	}

	.process-journey__stage-meta {
		position: relative;
		inset: auto;
		margin-bottom: 1.6rem;
	}

	.process-journey__ghost-number {
		position: absolute;
		right: 1.1rem;
		bottom: 0.55rem;
		left: auto;
		top: auto;
		font-size: clamp(7rem, 34vw, 11rem);
		opacity: 0.58;
		transform: none;
	}

	.process-journey__stage-copy {
		margin-left: 0;
	}

	.process-journey__stage-copy h3 {
		max-width: 11ch;
		font-size: clamp(2.05rem, 12vw, 3.55rem);
	}

	.process-journey__stage-copy p {
		font-size: 0.98rem;
	}

	.process-journey__route::before,
	.process-journey__route::after {
		top: 1.65rem;
		bottom: 1.65rem;
		left: 0.45rem;
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(even),
	.process-journey__route li:nth-child(odd) {
		grid-template-columns: 1fr;
		gap: 0.48rem;
		padding: 1.2rem 0 1.2rem 2rem;
	}

	.process-journey__route li::before {
		top: 1.55rem;
		left: 0.45rem;
		transform: translateY(-50%);
	}

	.process-journey__route li:hover,
	.process-journey__route li:focus-visible,
	.process-journey__route li.is-step-active {
		transform: translateX(0.18rem);
	}

	.process-journey__route li:hover::before,
	.process-journey__route li:focus-visible::before,
	.process-journey__route li.is-step-active::before {
		transform: translateY(-50%) scale(1.14);
	}

	.process-journey__route li::after {
		display: none;
	}

	.process-journey__route small,
	.process-journey__route h3,
	.process-journey__route p {
		grid-column: auto;
		grid-row: auto;
		max-width: none;
	}
}

@media (max-width: 1180px) {
	.process-journey__system {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.process-journey__stage {
		min-height: clamp(20rem, 36vw, 27rem);
		border-right: 1px solid rgba(255, 255, 255, 0.095);
	}

	.process-journey__route-board {
		min-height: clamp(34rem, 58vw, 42rem);
		border-left: 1px solid rgba(255, 255, 255, 0.095);
		border-top: 0;
	}

	.process-journey__stage-copy {
		max-width: 40rem;
		margin-left: clamp(5rem, 13vw, 9rem);
	}

	.process-journey__ghost-number {
		font-size: clamp(9.5rem, 26vw, 16rem);
	}

	.process-journey__route li {
		width: clamp(12.4rem, 24vw, 16rem);
	}
}

@media (max-width: 840px) {
	.process-journey__route-board {
		min-height: 0;
		padding: clamp(1rem, 4vw, 1.4rem);
	}

	.process-journey__route-scale,
	.process-journey__route-line {
		display: none;
	}

	.process-journey__route {
		position: relative;
		inset: auto;
		display: grid;
		gap: 0;
		padding: 0;
	}

	.process-journey__route::before,
	.process-journey__route::after {
		display: block;
		content: "";
		position: absolute;
		top: 1.65rem;
		bottom: 1.65rem;
		left: 0.45rem;
		width: 1px;
		height: auto;
		pointer-events: none;
	}

	.process-journey__route::before {
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.14));
	}

	.process-journey__route::after {
		background: linear-gradient(180deg, rgba(199, 185, 149, 0.1), rgba(199, 185, 149, 0.88), rgba(199, 185, 149, 0.1));
		transform: scaleY(var(--process-progress));
		transform-origin: top center;
		transition: transform 520ms var(--ease-premium);
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(1),
	.process-journey__route li:nth-child(2),
	.process-journey__route li:nth-child(3),
	.process-journey__route li:nth-child(4),
	.process-journey__route li:nth-child(5),
	.process-journey__route li:nth-child(6) {
		position: relative;
		left: auto;
		top: auto;
		width: auto;
		grid-template-columns: minmax(2.3rem, auto) 1fr;
		gap: 0.36rem 0.9rem;
		padding: 1.08rem 0 1.08rem 1.95rem;
		border: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.09);
		background: transparent;
		box-shadow: none;
		backdrop-filter: none;
		transform: none;
	}

	.process-journey__route li:first-child {
		border-top: 0;
	}

	.process-journey__route li::before {
		top: 1.55rem;
		left: 0.45rem;
		transform: translateY(-50%);
	}

	.process-journey__route li::after {
		inset: 0;
		display: block;
		border: 0;
		background: linear-gradient(90deg, rgba(199, 185, 149, 0.08), transparent 72%);
		transform: none;
	}

	.process-journey__route li:hover,
	.process-journey__route li:focus-visible,
	.process-journey__route li.is-step-active {
		transform: translateX(0.14rem);
	}

	.process-journey__route li:hover::before,
	.process-journey__route li:focus-visible::before,
	.process-journey__route li.is-step-active::before {
		transform: translateY(-50%) scale(1.14);
	}

	.process-journey__route span {
		grid-column: 1;
		grid-row: 1 / span 3;
		align-self: start;
		justify-self: start;
		font-size: clamp(2.15rem, 10vw, 3.1rem);
	}

	.process-journey__route small,
	.process-journey__route h3,
	.process-journey__route p {
		grid-column: 2;
		max-width: none;
	}
}

@media (max-width: 720px) {
	.process-journey__stage {
		min-height: 18rem;
		padding: 1.45rem;
	}

	.process-journey__stage-copy {
		margin-left: 0;
	}

	.process-journey__stage-copy small {
		padding-left: 2.4rem;
	}

	.process-journey__stage-copy small::before {
		width: 1.75rem;
	}

	.process-journey__ghost-number {
		right: 0.75rem;
		bottom: 0.35rem;
		left: auto;
		top: auto;
		font-size: clamp(7rem, 34vw, 11rem);
		opacity: 0.58;
		transform: none;
	}

	.process-journey__route-board {
		padding: 0.7rem;
	}
}

@media (max-width: 1180px) {
	.process-journey__stage {
		grid-template-columns: minmax(0, 1fr);
		min-height: clamp(21rem, 38vw, 27rem);
	}

	.process-journey__stage-icon {
		width: clamp(4.8rem, 10vw, 7.5rem);
		height: clamp(4.8rem, 10vw, 7.5rem);
	}

	.process-journey__route {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(1.35rem, 2.3vw, 2rem) clamp(0.8rem, 1.4vw, 1.2rem);
		padding-top: 2rem;
	}

	.process-journey__route-line {
		display: none;
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(1),
	.process-journey__route li:nth-child(2),
	.process-journey__route li:nth-child(3),
	.process-journey__route li:nth-child(4),
	.process-journey__route li:nth-child(5),
	.process-journey__route li:nth-child(6) {
		min-height: 16.5rem;
	}

	.process-journey__route li::before {
		top: -0.35rem;
		left: clamp(1.05rem, 1.25vw, 1.25rem);
		transform: translateY(-50%);
	}
}

@media (max-width: 840px) {
	.process-journey__route-board {
		padding: clamp(1rem, 4vw, 1.35rem);
	}

	.process-journey__route-scale {
		display: flex;
	}

	.process-journey__route {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 0.7rem 0 0 1.65rem;
	}

	.process-journey__route::before,
	.process-journey__route::after {
		display: block;
		content: "";
		position: absolute;
		top: 1.15rem;
		bottom: 1.15rem;
		left: 0.42rem;
		width: 1px;
		height: auto;
		pointer-events: none;
	}

	.process-journey__route::before {
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.38), rgba(255, 255, 255, 0.13));
	}

	.process-journey__route::after {
		background: linear-gradient(180deg, rgba(199, 185, 149, 0.1), rgba(199, 185, 149, 0.86), rgba(199, 185, 149, 0.1));
		box-shadow:
			0 0 16px rgba(199, 185, 149, 0.16),
			0 0 28px rgba(199, 185, 149, 0.1);
		transform: scaleY(var(--process-progress));
		transform-origin: top center;
		transition: transform 520ms var(--ease-premium);
	}

	.process-journey__route-line {
		display: block;
		top: 0.7rem;
		bottom: 1.1rem;
		left: 0.42rem;
		right: auto;
		width: 1px;
		height: auto;
	}

	.process-journey__route-line .process-journey__route-base,
	.process-journey__route-line .process-journey__route-fill,
	.process-journey__route-line::before,
	.process-journey__route-line::after {
		display: none;
	}

	.process-journey__route::before {
		box-shadow: 0 0 18px rgba(0, 0, 0, 0.12);
	}

	.process-journey__route li.is-step-complete:not(.is-step-active)::before {
		transform: translateY(-50%) scale(1.04);
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(1),
	.process-journey__route li:nth-child(2),
	.process-journey__route li:nth-child(3),
	.process-journey__route li:nth-child(4),
	.process-journey__route li:nth-child(5),
	.process-journey__route li:nth-child(6) {
		min-height: 0;
		padding: 1.1rem 0 1.1rem 1rem;
		border: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.09);
		background: transparent;
		backdrop-filter: none;
		transform: none;
	}

	.process-journey__route li:first-child {
		border-top: 0;
	}

	.process-journey__route li::before {
		top: 1.55rem;
		left: -1.23rem;
		transform: translateY(-50%);
	}

	.process-journey__route li::after {
		inset: 0;
		border: 0;
		background: linear-gradient(90deg, rgba(199, 185, 149, 0.09), transparent 72%);
		transform: none;
	}

	.process-journey__route li:hover,
	.process-journey__route li:focus-visible,
	.process-journey__route li.is-step-active {
		transform: translateX(0.14rem);
	}

	.process-journey__route li:hover::before,
	.process-journey__route li:focus-visible::before,
	.process-journey__route li.is-step-active::before {
		transform: translateY(-50%) scale(1.14);
	}

	.process-journey__milestone-icon {
		width: 3rem;
		height: 3rem;
	}
}

@media (max-width: 720px) {
	.process-journey__stage {
		min-height: 18.5rem;
		padding: 1.45rem;
	}

	.process-journey__stage-icon {
		right: 1.1rem;
		bottom: 1.1rem;
		width: 4rem;
		height: 4rem;
		opacity: 0.78;
	}

	.process-journey__ghost-number {
		right: 0.75rem;
		bottom: 0.35rem;
		left: auto;
		top: auto;
		font-size: clamp(7rem, 34vw, 11rem);
		opacity: 0.54;
		transform: none;
	}

	.process-journey__stage-copy {
		max-width: calc(100% - 2.5rem);
		margin-left: 0;
	}

	.process-journey__stage-copy h3 {
		font-size: clamp(2.05rem, 11vw, 3.35rem);
	}

	.process-journey__route p {
		font-size: 0.82rem;
	}
}

/* Minimal GPS roadmap redesign. */
.section--process-journey {
	padding-block: clamp(5.4rem, 8vw, 9.3rem);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.035) 1px, transparent 1px) 0 0 / 12.5% 100%,
		linear-gradient(180deg, #f5f1e9 0%, #e7e1d7 100%);
}

.section--process-journey::before {
	inset: clamp(0.85rem, 1.4vw, 1.2rem);
	border-color: rgba(23, 26, 24, 0.055);
}

.section--process-journey::after,
.process-journey__trace,
.process-journey__stage::before,
.process-journey__stage::after,
.process-journey__stage-icon,
.process-journey__milestone-icon {
	display: none;
}

.process-journey {
	gap: clamp(2.6rem, 4.8vw, 5.7rem);
}

.process-journey__lead {
	grid-template-columns: minmax(0, 0.6fr) minmax(20rem, 0.34fr);
	align-items: end;
}

.process-journey__lead h2 {
	max-width: 16ch;
	font-size: clamp(2.9rem, 4.9vw, 5.8rem);
}

.process-journey__lead .lead {
	max-width: 34rem;
	color: rgba(23, 26, 24, 0.66);
}

.process-journey__system {
	--process-progress: 0.035;
	position: relative;
	display: grid;
	grid-template-columns: minmax(20rem, 0.38fr) minmax(0, 0.62fr);
	gap: clamp(2.2rem, 4.2vw, 5.2rem);
	min-height: 0;
	padding: clamp(2.1rem, 4.2vw, 5rem);
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 16.66% 100%,
		linear-gradient(180deg, #111713 0%, #080c0a 100%);
	border: 1px solid rgba(23, 26, 24, 0.14);
	box-shadow: 0 32px 86px rgba(23, 26, 24, 0.16);
	overflow: hidden;
}

.process-journey__system::before {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) 0 0 / 100% 25%,
		radial-gradient(circle at 84% 14%, rgba(199, 185, 149, 0.12), transparent 28%);
	transform: none;
}

.process-journey__system::after {
	top: auto;
	left: auto;
	right: clamp(2rem, 4vw, 4.8rem);
	bottom: clamp(1.5rem, 2.6vw, 2.6rem);
	width: clamp(7rem, 15vw, 15rem);
	height: 1px;
	border: 0;
	border-radius: 0;
	background: linear-gradient(90deg, transparent, rgba(199, 185, 149, 0.48));
	opacity: 1;
	transform: scaleX(calc(0.28 + var(--process-progress) * 0.72));
	transform-origin: right center;
}

.process-journey__stage {
	position: relative;
	z-index: 2;
	display: grid;
	align-content: end;
	min-height: clamp(21rem, 29vw, 27rem);
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.process-journey__stage-meta {
	position: relative;
	inset: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 0.55rem 1.1rem;
	margin-bottom: clamp(2.2rem, 4vw, 4.4rem);
	color: rgba(255, 255, 255, 0.42);
}

.process-journey__ghost-number {
	left: auto;
	right: -0.1em;
	top: clamp(0.2rem, 1vw, 1rem);
	font-size: clamp(8rem, 17vw, 18rem);
	line-height: 0.72;
	color: rgba(199, 185, 149, 0.075);
	text-shadow: none;
	transform: none;
}

.process-journey__stage-copy {
	max-width: 31rem;
	margin: 0;
	gap: clamp(0.65rem, 1vw, 0.95rem);
}

.process-journey__stage-copy small {
	padding-left: 2.75rem;
	font-size: 0.66rem;
	color: rgba(199, 185, 149, 0.86);
}

.process-journey__stage-copy small::before {
	width: 2rem;
	background: rgba(199, 185, 149, 0.64);
}

.process-journey__stage-copy h3 {
	max-width: 12ch;
	font-size: clamp(2.8rem, 5.4vw, 6rem);
	line-height: 0.9;
	letter-spacing: -0.058em;
}

.process-journey__stage-copy p {
	max-width: 28rem;
	font-size: clamp(1rem, 1.08vw, 1.12rem);
	line-height: 1.68;
	color: rgba(255, 255, 255, 0.66);
}

.process-journey__stage.is-updating .process-journey__stage-copy {
	opacity: 0;
	transform: translateY(0.35rem);
}

.process-journey__stage.is-updating .process-journey__ghost-number {
	opacity: 0.7;
	transform: translateX(0.18rem);
}

.process-journey__route-board {
	position: relative;
	z-index: 2;
	display: grid;
	align-content: center;
	min-height: clamp(22rem, 31vw, 28rem);
	padding: clamp(1.2rem, 2vw, 2rem) 0 0;
	border: 0;
	background: transparent;
	overflow: visible;
}

.process-journey__route-board::before,
.process-journey__route-board::after {
	display: none;
}

.process-journey__route-scale {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding-bottom: clamp(1.8rem, 3vw, 3rem);
	border: 0;
	font-size: 0.58rem;
	color: rgba(255, 255, 255, 0.34);
}

.process-journey__route-line {
	position: absolute;
	z-index: 1;
	top: calc(50% - 1px);
	left: 0;
	right: 0;
	display: block;
	height: 2px;
	overflow: visible;
}

.process-journey__route-base,
.process-journey__route-fill {
	position: absolute;
	inset: 0;
	display: block;
	height: 100%;
	border-radius: 999px;
}

.process-journey__route-base {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.08));
}

.process-journey__route-fill {
	background:
		linear-gradient(90deg, rgba(199, 185, 149, 0.26), rgba(199, 185, 149, 0.9)),
		linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.38) 46%, transparent 58%) 0 0 / 34% 100%;
	box-shadow:
		0 0 14px rgba(199, 185, 149, 0.18),
		0 0 30px rgba(199, 185, 149, 0.1);
	transform: scaleX(var(--process-progress));
	transform-origin: left center;
	transition: transform 780ms var(--ease-premium), box-shadow 320ms var(--ease-out-soft);
}

.process-journey__route-line::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: calc(var(--process-progress) * 100%);
	height: 16px;
	background: linear-gradient(90deg, transparent, rgba(199, 185, 149, 0.18), transparent);
	filter: blur(8px);
	opacity: 0.72;
	transform: translateY(-50%);
	transition: width 780ms var(--ease-premium);
	pointer-events: none;
}

.process-journey__route-line::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(var(--process-progress) * 100%);
	width: 0.66rem;
	height: 0.66rem;
	border-radius: 999px;
	background: rgba(199, 185, 149, 0.96);
	box-shadow:
		0 0 0 0.38rem rgba(199, 185, 149, 0.11),
		0 0 1.5rem rgba(199, 185, 149, 0.28);
	transform: translate(-50%, -50%);
	transition: left 780ms var(--ease-premium), transform 420ms var(--ease-out-soft);
	pointer-events: none;
}

.process-journey__system.is-interacting .process-journey__route-fill {
	animation: process-route-sweep 1250ms var(--ease-out-soft) both;
}

.process-journey__system.is-interacting .process-journey__route-line::after {
	animation: process-route-pulse 1250ms var(--ease-out-soft) both;
}

.process-journey__route {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: clamp(0.5rem, 1vw, 1rem);
	padding: clamp(4rem, 6vw, 5.8rem) 0 0;
	margin: 0;
}

.process-journey__route::before,
.process-journey__route::after {
	display: none;
}

.process-journey__route li,
.process-journey__route li:nth-child(1),
.process-journey__route li:nth-child(2),
.process-journey__route li:nth-child(3),
.process-journey__route li:nth-child(4),
.process-journey__route li:nth-child(5),
.process-journey__route li:nth-child(6) {
	position: relative;
	left: auto;
	top: auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.44rem;
	width: auto;
	min-height: 0;
	padding: 0.1rem 0 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	color: rgba(255, 255, 255, 0.52);
	cursor: pointer;
	transform: none;
	transition: color 320ms var(--ease-out-soft), opacity 320ms var(--ease-out-soft), transform 420ms var(--ease-out-soft);
}

.process-journey__route li::before {
	content: "";
	position: absolute;
	top: calc(clamp(-4.1rem, -4.8vw, -3.15rem));
	left: 0;
	width: 0.72rem;
	height: 0.72rem;
	border: 1px solid rgba(255, 255, 255, 0.38);
	border-radius: 999px;
	background: var(--color-ink);
	transform: translateY(-50%);
	transition:
		background-color 380ms var(--ease-out-soft),
		border-color 380ms var(--ease-out-soft),
		box-shadow 420ms var(--ease-out-soft),
		transform 420ms var(--ease-out-soft);
	transition-delay: calc(var(--milestone-index, 0) * 55ms);
}

.process-journey__route li::after {
	display: none;
}

.process-journey__milestone-number {
	font-family: var(--font-heading);
	font-size: clamp(1.5rem, 2.2vw, 2.3rem);
	font-weight: 800;
	line-height: 0.8;
	letter-spacing: -0.055em;
	color: rgba(199, 185, 149, 0.28);
	transition: color 320ms var(--ease-out-soft), transform 420ms var(--ease-out-soft);
}

.process-journey__route small {
	font-size: 0.56rem;
	color: rgba(199, 185, 149, 0.46);
}

.process-journey__route h3 {
	max-width: 11rem;
	font-size: clamp(0.82rem, 0.9vw, 0.96rem);
	line-height: 1.15;
	color: rgba(255, 255, 255, 0.68);
}

.process-journey__route p {
	max-width: 15rem;
	font-size: 0.76rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.5);
}

.process-journey__system.is-process-enhanced .process-journey__route p {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transform: translateY(0.3rem);
	transition: max-height 420ms var(--ease-out-soft), opacity 320ms var(--ease-out-soft), transform 420ms var(--ease-out-soft);
}

.process-journey__system.is-process-enhanced .process-journey__route li.is-step-active p {
	max-height: 8rem;
	opacity: 1;
	transform: translateY(0);
}

.process-journey__system.is-interacting .process-journey__route li:not(.is-step-active) {
	opacity: 0.52;
}

.process-journey__route li:hover,
.process-journey__route li:focus-visible,
.process-journey__route li.is-step-active {
	outline: 0;
	color: rgba(255, 255, 255, 0.86);
	transform: translateY(-0.28rem);
}

.process-journey__route li.is-step-complete::before,
.process-journey__route li.is-step-active::before,
.process-journey__route li:hover::before,
.process-journey__route li:focus-visible::before {
	border-color: rgba(199, 185, 149, 0.92);
	background: rgba(199, 185, 149, 0.92);
	box-shadow:
		0 0 0 0.42rem rgba(199, 185, 149, 0.09),
		0 0 1.3rem rgba(199, 185, 149, 0.2);
	transform: translateY(-50%) scale(1.08);
}

.process-journey__route li.is-step-active::before {
	box-shadow:
		0 0 0 0.52rem rgba(199, 185, 149, 0.12),
		0 0 1.9rem rgba(199, 185, 149, 0.28);
	transform: translateY(-50%) scale(1.22);
}

.process-journey__route li.is-step-complete .process-journey__milestone-number,
.process-journey__route li.is-step-active .process-journey__milestone-number {
	color: rgba(199, 185, 149, 0.72);
}

.process-journey__route li.is-step-active .process-journey__milestone-number {
	transform: translateY(-0.08rem) scale(1.08);
}

.process-journey__route li.is-step-active h3 {
	color: #fff;
}

@media (max-width: 1080px) {
	.process-journey__lead,
	.process-journey__system {
		grid-template-columns: 1fr;
	}

	.process-journey__lead .eyebrow,
	.process-journey__lead h2,
	.process-journey__lead .lead {
		grid-column: auto;
		grid-row: auto;
	}

	.process-journey__stage {
		min-height: clamp(18rem, 36vw, 25rem);
	}

	.process-journey__route-board {
		min-height: 0;
		padding-top: 0;
	}

	.process-journey__route {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: clamp(0.45rem, 1.4vw, 0.9rem);
	}
}

@media (max-width: 720px) {
	.section--process-journey {
		padding-block: clamp(4.6rem, 15vw, 6.4rem);
	}

	.process-journey {
		gap: 2.3rem;
	}

	.process-journey__system {
		gap: 2.1rem;
		padding: 1.25rem;
	}

	.process-journey__stage {
		min-height: 17.5rem;
	}

	.process-journey__stage-meta {
		margin-bottom: 1.6rem;
	}

	.process-journey__ghost-number {
		right: 0;
		top: auto;
		bottom: 0.2rem;
		font-size: clamp(6.5rem, 31vw, 9.5rem);
	}

	.process-journey__stage-copy {
		max-width: min(24rem, 100%);
	}

	.process-journey__stage-copy h3 {
		font-size: clamp(2.05rem, 11vw, 3.2rem);
	}

	.process-journey__route-scale {
		padding-bottom: 1.4rem;
	}

	.process-journey__route-line {
		display: none;
	}

	.process-journey__route {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 0 0 0 1.45rem;
	}

	.process-journey__route::before,
	.process-journey__route::after {
		display: block;
		content: "";
		position: absolute;
		top: 0.85rem;
		bottom: 0.85rem;
		left: 0.32rem;
		width: 1px;
		height: auto;
		pointer-events: none;
	}

	.process-journey__route::before {
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0.11));
	}

	.process-journey__route::after {
		background: linear-gradient(180deg, rgba(199, 185, 149, 0.18), rgba(199, 185, 149, 0.88));
		box-shadow: 0 0 20px rgba(199, 185, 149, 0.12);
		transform: scaleY(var(--process-progress));
		transform-origin: top center;
		transition: transform 720ms var(--ease-premium);
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(1),
	.process-journey__route li:nth-child(2),
	.process-journey__route li:nth-child(3),
	.process-journey__route li:nth-child(4),
	.process-journey__route li:nth-child(5),
	.process-journey__route li:nth-child(6) {
		padding: 1rem 0 1rem 1rem;
		border-top: 1px solid rgba(255, 255, 255, 0.08);
	}

	.process-journey__route li:first-child {
		border-top: 0;
	}

	.process-journey__route li::before {
		top: 1.45rem;
		left: -1.13rem;
		transform: translateY(-50%);
	}

	.process-journey__route li.is-step-complete::before,
	.process-journey__route li.is-step-active::before,
	.process-journey__route li:hover::before,
	.process-journey__route li:focus-visible::before {
		transform: translateY(-50%) scale(1.08);
	}

	.process-journey__route li.is-step-active::before {
		transform: translateY(-50%) scale(1.18);
	}

	.process-journey__system.is-process-enhanced .process-journey__route p {
		max-height: 8rem;
		opacity: 1;
		transform: none;
	}
}

/* Immersive curved workspace journey redesign. */
.section--process-journey {
	padding-block: clamp(6.2rem, 9.5vw, 11.5rem);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.03) 1px, transparent 1px) 0 0 / 10% 100%,
		linear-gradient(180deg, #f5f1e9 0%, #e6ded1 100%);
}

.section--process-journey::before {
	inset: clamp(0.9rem, 1.5vw, 1.3rem);
	border-color: rgba(23, 26, 24, 0.055);
}

.section--process-journey::after,
.process-journey__trace,
.process-journey__stage-icon,
.process-journey__milestone-icon {
	display: none;
}

.process-journey {
	gap: clamp(3.2rem, 5.8vw, 7rem);
}

.process-journey__lead {
	grid-template-columns: minmax(0, 0.58fr) minmax(20rem, 0.34fr);
	align-items: end;
}

.process-journey__lead h2 {
	max-width: 15.5ch;
	font-size: clamp(3.2rem, 5.8vw, 7.15rem);
	line-height: 0.86;
}

.process-journey__lead .lead {
	max-width: 35rem;
	color: rgba(23, 26, 24, 0.66);
}

.process-journey__system {
	--process-progress: 0.035;
	position: relative;
	display: block;
	min-height: clamp(46rem, 66vw, 60rem);
	padding: 0;
	border: 1px solid rgba(23, 26, 24, 0.16);
	background:
		radial-gradient(circle at var(--process-x) var(--process-y), rgba(199, 185, 149, 0.16), transparent 18%),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 10% 100%,
		linear-gradient(180deg, #101612 0%, #060a08 100%);
	box-shadow:
		0 42px 100px rgba(23, 26, 24, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.075);
	overflow: hidden;
}

.process-journey__system::before {
	display: block;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) 0 0 / 100% 16.66%,
		linear-gradient(120deg, transparent 0 58%, rgba(199, 185, 149, 0.075) 58.05% 58.2%, transparent 58.25%),
		radial-gradient(circle at 78% 16%, rgba(199, 185, 149, 0.11), transparent 29%);
	opacity: 1;
	transform: translate3d(var(--process-drift-x-inverse), var(--process-drift-y-inverse), 0);
}

.process-journey__system::after {
	content: "";
	position: absolute;
	z-index: 1;
	right: clamp(3rem, 5.8vw, 6.4rem);
	bottom: clamp(2.4rem, 4.2vw, 4.5rem);
	width: clamp(12rem, 25vw, 27rem);
	height: 1px;
	border: 0;
	border-radius: 0;
	background: linear-gradient(90deg, transparent, rgba(199, 185, 149, 0.48));
	opacity: 0.76;
	transform: scaleX(calc(0.32 + var(--process-progress) * 0.68));
	transform-origin: right center;
	transition: transform 900ms var(--ease-premium), opacity 420ms var(--ease-out-soft);
	pointer-events: none;
}

.process-journey__stage {
	position: absolute;
	z-index: 4;
	top: clamp(6.8rem, 9vw, 9.8rem);
	left: clamp(2rem, 4vw, 4.4rem);
	display: grid;
	align-content: start;
	width: min(30rem, calc(100% - 4rem));
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.process-journey__stage::before,
.process-journey__stage::after {
	display: none;
}

.process-journey__stage-meta {
	position: relative;
	inset: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 1rem;
	margin-bottom: clamp(1.7rem, 2.8vw, 3rem);
	color: rgba(255, 255, 255, 0.42);
}

.process-journey__ghost-number {
	position: absolute;
	z-index: -1;
	top: clamp(-1.6rem, -2vw, -0.6rem);
	right: -0.12em;
	left: auto;
	font-size: clamp(10rem, 20vw, 22rem);
	line-height: 0.72;
	color: rgba(199, 185, 149, 0.085);
	text-shadow: none;
	transform: translate3d(var(--process-drift-x-soft), var(--process-drift-y-soft), 0);
	transition: opacity 420ms var(--ease-out-soft), transform 720ms var(--ease-premium);
}

.process-journey__stage-copy {
	max-width: 31rem;
	margin: 0;
	gap: clamp(0.7rem, 1vw, 1rem);
	padding-left: clamp(1rem, 1.8vw, 1.6rem);
	border-left: 1px solid rgba(199, 185, 149, 0.46);
	transition: opacity 260ms var(--ease-out-soft), transform 520ms var(--ease-premium);
}

.process-journey__stage-copy small {
	padding-left: 0;
	font-size: 0.68rem;
	color: rgba(199, 185, 149, 0.86);
}

.process-journey__stage-copy small::before {
	display: none;
}

.process-journey__stage-copy h3 {
	max-width: 11.5ch;
	font-size: clamp(2.85rem, 4.8vw, 5.45rem);
	line-height: 0.86;
	letter-spacing: -0.06em;
}

.process-journey__stage-copy p {
	max-width: 28rem;
	font-size: clamp(1rem, 1.1vw, 1.14rem);
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.66);
}

.process-journey__stage.is-updating .process-journey__stage-copy {
	opacity: 0;
	transform: translateY(0.45rem);
}

.process-journey__stage.is-updating .process-journey__ghost-number {
	opacity: 0.42;
	transform: translate3d(0.28rem, 0, 0);
}

.process-journey__route-board {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: block;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: visible;
}

.process-journey__route-board::before,
.process-journey__route-board::after {
	display: none;
}

.process-journey__route-scale {
	position: absolute;
	z-index: 3;
	top: clamp(2rem, 3.4vw, 3.6rem);
	left: clamp(2rem, 4vw, 4.4rem);
	right: clamp(2rem, 4vw, 4.4rem);
	display: flex;
	justify-content: space-between;
	padding: 0;
	border: 0;
	font-size: 0.58rem;
	font-weight: 850;
	letter-spacing: 0.18em;
	color: rgba(255, 255, 255, 0.34);
}

.process-journey__route-line {
	position: absolute;
	z-index: 1;
	top: clamp(8.2rem, 11.5vw, 11rem);
	right: clamp(1.6rem, 3.2vw, 3.4rem);
	bottom: clamp(3.8rem, 6vw, 5.6rem);
	left: clamp(1.4rem, 2.8vw, 3rem);
	display: block;
	width: auto;
	height: auto;
	overflow: visible;
	pointer-events: none;
	filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.18));
}

.process-journey__route-line::before,
.process-journey__route-line::after {
	display: none;
}

.process-journey__route-base,
.process-journey__route-fill,
.process-journey__route-sheen {
	position: static;
	display: block;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.process-journey__route-base {
	stroke: rgba(255, 255, 255, 0.16);
	stroke-width: 7;
}

.process-journey__route-fill {
	stroke: rgba(199, 185, 149, 0.9);
	stroke-width: 5;
	stroke-dasharray: 1;
	stroke-dashoffset: calc(1 - var(--process-progress));
	filter: drop-shadow(0 0 12px rgba(199, 185, 149, 0.18));
	transition: stroke-dashoffset 980ms var(--ease-premium);
}

.process-journey__route-sheen {
	stroke: rgba(255, 247, 225, 0.82);
	stroke-width: 9;
	stroke-dasharray: 0.07 1;
	stroke-dashoffset: calc(1 - var(--process-progress));
	opacity: 0;
	filter: blur(0.5px) drop-shadow(0 0 14px rgba(199, 185, 149, 0.26));
}

.process-journey__system.is-interacting .process-journey__route-sheen {
	animation: process-curved-route-sheen 1450ms var(--ease-out-soft) both;
}

.process-journey__route {
	position: absolute;
	z-index: 2;
	inset: clamp(8.2rem, 11.5vw, 11rem) clamp(1.6rem, 3.2vw, 3.4rem) clamp(3.8rem, 6vw, 5.6rem) clamp(1.4rem, 2.8vw, 3rem);
	display: block;
	padding: 0;
	margin: 0;
	list-style: none;
}

.process-journey__route::before,
.process-journey__route::after {
	display: none;
}

.process-journey__route li,
.process-journey__route li:nth-child(1),
.process-journey__route li:nth-child(2),
.process-journey__route li:nth-child(3),
.process-journey__route li:nth-child(4),
.process-journey__route li:nth-child(5),
.process-journey__route li:nth-child(6) {
	position: absolute;
	left: var(--marker-x);
	top: var(--marker-y);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.28rem 0.7rem;
	width: clamp(8.2rem, 10.4vw, 10.8rem);
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	color: rgba(255, 255, 255, 0.52);
	cursor: pointer;
	outline: 0;
	transform: translate(-0.42rem, -0.42rem);
	transition:
		color 360ms var(--ease-out-soft),
		opacity 360ms var(--ease-out-soft),
		transform 620ms var(--ease-premium);
}

.process-journey__route li:nth-child(1) {
	--marker-x: 7%;
	--marker-y: 60%;
}

.process-journey__route li:nth-child(2) {
	--marker-x: 25%;
	--marker-y: 43%;
}

.process-journey__route li:nth-child(3) {
	--marker-x: 43%;
	--marker-y: 58%;
}

.process-journey__route li:nth-child(4) {
	--marker-x: 57%;
	--marker-y: 55%;
}

.process-journey__route li:nth-child(5) {
	--marker-x: 73%;
	--marker-y: 35%;
}

.process-journey__route li:nth-child(6) {
	--marker-x: 86%;
	--marker-y: 39%;
}

.process-journey__route li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0.78rem;
	height: 0.78rem;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 999px;
	background: var(--color-ink);
	box-shadow: 0 0 0 0 rgba(199, 185, 149, 0);
	transform: translate(-50%, -50%);
	transition:
		background-color 420ms var(--ease-out-soft),
		border-color 420ms var(--ease-out-soft),
		box-shadow 520ms var(--ease-out-soft),
		transform 620ms var(--ease-premium);
	transition-delay: calc(var(--milestone-index, 0) * 65ms);
}

.process-journey__route li::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 2.4rem;
	height: 1px;
	background: rgba(255, 255, 255, 0.18);
	transform: translate(0.72rem, -50%) scaleX(0.62);
	transform-origin: left center;
	transition: background-color 360ms var(--ease-out-soft), transform 520ms var(--ease-premium);
}

.process-journey__milestone-number {
	grid-column: 1;
	grid-row: 1 / span 3;
	padding-left: 0.9rem;
	font-family: var(--font-heading);
	font-size: clamp(1.55rem, 2.6vw, 3rem);
	font-weight: 800;
	line-height: 0.8;
	letter-spacing: -0.055em;
	color: rgba(199, 185, 149, 0.28);
	transition: color 360ms var(--ease-out-soft), transform 620ms var(--ease-premium);
}

.process-journey__route small,
.process-journey__route h3,
.process-journey__route p {
	grid-column: 2;
}

.process-journey__route small {
	padding-top: 0.08rem;
	font-size: 0.55rem;
	color: rgba(199, 185, 149, 0.48);
}

.process-journey__route h3 {
	max-width: 8.8rem;
	font-size: clamp(0.78rem, 0.85vw, 0.92rem);
	line-height: 1.14;
	color: rgba(255, 255, 255, 0.64);
}

.process-journey__route p {
	max-width: 12rem;
	font-size: 0.74rem;
	line-height: 1.48;
	color: rgba(255, 255, 255, 0.52);
}

.process-journey__system.is-process-enhanced .process-journey__route p {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transform: translateY(0.35rem);
	transition: max-height 460ms var(--ease-out-soft), opacity 320ms var(--ease-out-soft), transform 520ms var(--ease-premium);
}

.process-journey__system.is-process-enhanced .process-journey__route li.is-step-active p {
	max-height: 0;
	opacity: 0;
	transform: translateY(0.35rem);
}

.process-journey__system.is-interacting .process-journey__route li:not(.is-step-active) {
	opacity: 0.45;
}

.process-journey__route li:hover,
.process-journey__route li:focus-visible,
.process-journey__route li.is-step-active {
	color: rgba(255, 255, 255, 0.86);
	transform: translate(-0.42rem, -0.42rem) scale(1.04);
}

.process-journey__route li.is-step-complete::before,
.process-journey__route li.is-step-active::before,
.process-journey__route li:hover::before,
.process-journey__route li:focus-visible::before {
	border-color: rgba(199, 185, 149, 0.92);
	background: rgba(199, 185, 149, 0.94);
	box-shadow:
		0 0 0 0.46rem rgba(199, 185, 149, 0.09),
		0 0 1.5rem rgba(199, 185, 149, 0.2);
	transform: translate(-50%, -50%) scale(1.08);
}

.process-journey__route li.is-step-complete::after,
.process-journey__route li.is-step-active::after,
.process-journey__route li:hover::after,
.process-journey__route li:focus-visible::after {
	background: rgba(199, 185, 149, 0.5);
	transform: translate(0.72rem, -50%) scaleX(1);
}

.process-journey__route li.is-step-active::before {
	box-shadow:
		0 0 0 0.65rem rgba(199, 185, 149, 0.13),
		0 0 2.1rem rgba(199, 185, 149, 0.32);
	transform: translate(-50%, -50%) scale(1.28);
}

.process-journey__route li.is-step-complete .process-journey__milestone-number,
.process-journey__route li.is-step-active .process-journey__milestone-number {
	color: rgba(199, 185, 149, 0.74);
}

.process-journey__route li.is-step-active .process-journey__milestone-number {
	transform: translateY(-0.08rem) scale(1.08);
}

.process-journey__route li.is-step-active h3 {
	color: #fff;
}

@keyframes process-curved-route-sheen {
	0% {
		opacity: 0;
		stroke-dashoffset: calc(1 - var(--process-progress) + 0.16);
	}

	18%,
	72% {
		opacity: 0.82;
	}

	100% {
		opacity: 0;
		stroke-dashoffset: calc(1 - var(--process-progress) - 0.08);
	}
}

@media (max-width: 1080px) {
	.process-journey__lead {
		grid-template-columns: 1fr;
	}

	.process-journey__lead .lead {
		max-width: 45rem;
	}

	.process-journey__system {
		min-height: clamp(48rem, 86vw, 58rem);
	}

	.process-journey__stage {
		top: clamp(4.8rem, 8vw, 6.4rem);
		width: min(30rem, calc(100% - 3rem));
	}

	.process-journey__stage-copy h3 {
		font-size: clamp(2.8rem, 8vw, 5.8rem);
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(1),
	.process-journey__route li:nth-child(2),
	.process-journey__route li:nth-child(3),
	.process-journey__route li:nth-child(4),
	.process-journey__route li:nth-child(5),
	.process-journey__route li:nth-child(6) {
		width: clamp(8rem, 16vw, 11rem);
	}
}

@media (max-width: 720px) {
	.section--process-journey {
		padding-block: clamp(4.8rem, 15vw, 6.8rem);
	}

	.process-journey {
		gap: 2.4rem;
	}

	.process-journey__lead h2 {
		font-size: clamp(2.65rem, 13vw, 4.8rem);
	}

	.process-journey__system {
		min-height: 0;
		padding: clamp(1.15rem, 5vw, 1.55rem);
	}

	.process-journey__system::after {
		display: none;
	}

	.process-journey__stage {
		position: relative;
		top: auto;
		left: auto;
		width: auto;
		margin-bottom: 2.2rem;
		padding: 0.35rem 0 0.75rem;
	}

	.process-journey__stage-meta {
		margin-bottom: 1.4rem;
	}

	.process-journey__ghost-number {
		right: -0.04em;
		top: auto;
		bottom: 0.4rem;
		font-size: clamp(7rem, 34vw, 10.5rem);
	}

	.process-journey__stage-copy {
		max-width: min(24rem, 100%);
	}

	.process-journey__stage-copy h3 {
		font-size: clamp(2.15rem, 12vw, 3.65rem);
	}

	.process-journey__stage-copy p {
		font-size: 0.98rem;
	}

	.process-journey__route-board {
		position: relative;
		inset: auto;
		min-height: 0;
	}

	.process-journey__route-scale,
	.process-journey__route-line {
		display: none;
	}

	.process-journey__route {
		position: relative;
		inset: auto;
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
		padding: 0 0 0 1.8rem;
	}

	.process-journey__route::before,
	.process-journey__route::after {
		display: block;
		content: "";
		position: absolute;
		top: 0.9rem;
		bottom: 0.9rem;
		left: 0.36rem;
		width: 1px;
		height: auto;
		pointer-events: none;
	}

	.process-journey__route::before {
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0.12));
	}

	.process-journey__route::after {
		background: linear-gradient(180deg, rgba(199, 185, 149, 0.2), rgba(199, 185, 149, 0.9));
		box-shadow: 0 0 18px rgba(199, 185, 149, 0.13);
		transform: scaleY(var(--process-progress));
		transform-origin: top center;
		transition: transform 820ms var(--ease-premium);
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(1),
	.process-journey__route li:nth-child(2),
	.process-journey__route li:nth-child(3),
	.process-journey__route li:nth-child(4),
	.process-journey__route li:nth-child(5),
	.process-journey__route li:nth-child(6) {
		position: relative;
		left: auto;
		top: auto;
		width: auto;
		padding: 1rem 0 1rem 1rem;
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		transform: none;
	}

	.process-journey__route li:first-child {
		border-top: 0;
	}

	.process-journey__route li::before {
		top: 1.45rem;
		left: -1.44rem;
		transform: translateY(-50%);
	}

	.process-journey__route li::after {
		top: 1.45rem;
		left: -1.2rem;
		width: 1.45rem;
		transform: translateY(-50%) scaleX(0.55);
	}

	.process-journey__route li:hover,
	.process-journey__route li:focus-visible,
	.process-journey__route li.is-step-active {
		transform: translateX(0.18rem);
	}

	.process-journey__route li.is-step-complete::before,
	.process-journey__route li.is-step-active::before,
	.process-journey__route li:hover::before,
	.process-journey__route li:focus-visible::before {
		transform: translateY(-50%) scale(1.08);
	}

	.process-journey__route li.is-step-active::before {
		transform: translateY(-50%) scale(1.2);
	}

	.process-journey__milestone-number {
		font-size: clamp(1.9rem, 10vw, 3.25rem);
	}

	.process-journey__route h3 {
		max-width: none;
		font-size: 0.98rem;
	}

	.process-journey__system.is-process-enhanced .process-journey__route li:not(.is-step-active) p {
		max-height: 0;
		opacity: 0;
	}
}

/* Premium subway map process redesign. */
.section--process-journey {
	padding-block: clamp(6.4rem, 9vw, 11rem);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.032) 1px, transparent 1px) 0 0 / 10% 100%,
		linear-gradient(180deg, #f5f1e9 0%, #e7dfd4 100%);
}

.section--process-journey::before {
	inset: clamp(0.9rem, 1.45vw, 1.25rem);
	border-color: rgba(23, 26, 24, 0.055);
}

.section--process-journey::after,
.process-journey__trace,
.process-journey__stage-icon,
.process-journey__milestone-icon {
	display: none;
}

.process-journey {
	gap: clamp(3.4rem, 5.6vw, 6.6rem);
}

.process-journey__lead {
	grid-template-columns: minmax(0, 0.58fr) minmax(20rem, 0.34fr);
	align-items: end;
}

.process-journey__lead h2 {
	max-width: 15.5ch;
	font-size: clamp(3.1rem, 5.55vw, 6.85rem);
	line-height: 0.87;
}

.process-journey__lead .lead {
	max-width: 35rem;
	color: rgba(23, 26, 24, 0.66);
}

.process-journey__system {
	--process-progress: 0.035;
	position: relative;
	display: block;
	min-height: clamp(44rem, 62vw, 56rem);
	padding: 0;
	border: 1px solid rgba(23, 26, 24, 0.16);
	background:
		radial-gradient(circle at var(--process-x) var(--process-y), rgba(199, 185, 149, 0.15), transparent 17%),
		linear-gradient(90deg, rgba(255, 255, 255, 0.038) 1px, transparent 1px) 0 0 / 10% 100%,
		linear-gradient(180deg, #101611 0%, #060a08 100%);
	box-shadow:
		0 42px 100px rgba(23, 26, 24, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.075);
	overflow: hidden;
	isolation: isolate;
}

.process-journey__system::before {
	display: block;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) 0 0 / 100% 16.66%,
		linear-gradient(45deg, transparent 0 58%, rgba(199, 185, 149, 0.055) 58.05% 58.18%, transparent 58.25%),
		radial-gradient(circle at 82% 14%, rgba(199, 185, 149, 0.1), transparent 28%);
	opacity: 1;
	transform: translate3d(var(--process-drift-x-inverse), var(--process-drift-y-inverse), 0);
}

.process-journey__system::after {
	content: "";
	position: absolute;
	z-index: 1;
	right: clamp(3rem, 5.8vw, 6.4rem);
	bottom: clamp(2.4rem, 4.2vw, 4.5rem);
	width: clamp(11rem, 23vw, 25rem);
	height: 1px;
	border: 0;
	border-radius: 0;
	background: linear-gradient(90deg, transparent, rgba(199, 185, 149, 0.44));
	opacity: 0.72;
	transform: scaleX(calc(0.32 + var(--process-progress) * 0.68));
	transform-origin: right center;
	transition: transform 980ms var(--ease-premium), opacity 420ms var(--ease-out-soft);
	pointer-events: none;
}

.process-journey__stage {
	position: absolute;
	z-index: 6;
	left: clamp(2rem, 4vw, 4.4rem);
	top: clamp(24rem, 34vw, 29rem);
	bottom: auto;
	display: grid;
	align-content: start;
	width: min(29rem, calc(100% - 4rem));
	min-height: 0;
	padding: clamp(1rem, 1.7vw, 1.45rem) clamp(1.1rem, 1.9vw, 1.65rem) clamp(1.1rem, 1.9vw, 1.65rem) 0;
	border: 0;
	background: linear-gradient(90deg, rgba(6, 10, 8, 0.93), rgba(6, 10, 8, 0.74) 72%, transparent);
	box-shadow: none;
	overflow: visible;
}

.process-journey__stage::before,
.process-journey__stage::after {
	display: none;
}

.process-journey__stage-meta {
	position: relative;
	inset: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 1rem;
	margin-bottom: clamp(1.4rem, 2vw, 2.2rem);
	color: rgba(255, 255, 255, 0.42);
}

.process-journey__ghost-number {
	position: absolute;
	z-index: -1;
	right: -0.08em;
	top: clamp(1rem, 2vw, 2rem);
	bottom: auto;
	left: auto;
	font-size: clamp(8.5rem, 16vw, 17rem);
	line-height: 0.72;
	color: rgba(199, 185, 149, 0.082);
	text-shadow: none;
	transform: translate3d(var(--process-drift-x-soft), var(--process-drift-y-soft), 0);
	transition: opacity 420ms var(--ease-out-soft), transform 760ms var(--ease-premium);
}

.process-journey__stage-copy {
	max-width: 31rem;
	margin: 0;
	gap: clamp(0.65rem, 0.95vw, 0.95rem);
	padding-left: clamp(1rem, 1.7vw, 1.55rem);
	border-left: 1px solid rgba(199, 185, 149, 0.46);
	transition: opacity 260ms var(--ease-out-soft), transform 520ms var(--ease-premium);
}

.process-journey__stage-copy small {
	padding-left: 0;
	font-size: 0.67rem;
	color: rgba(199, 185, 149, 0.86);
}

.process-journey__stage-copy small::before {
	display: none;
}

.process-journey__stage-copy h3 {
	max-width: 12ch;
	font-size: clamp(2.55rem, 4vw, 4.55rem);
	line-height: 0.9;
	letter-spacing: -0.058em;
}

.process-journey__stage-copy p {
	max-width: 28rem;
	font-size: clamp(1rem, 1.08vw, 1.13rem);
	line-height: 1.68;
	color: rgba(255, 255, 255, 0.66);
}

.process-journey__stage.is-updating .process-journey__stage-copy {
	opacity: 0;
	transform: translateY(0.45rem);
}

.process-journey__stage.is-updating .process-journey__ghost-number {
	opacity: 0.42;
	transform: translate3d(0.25rem, 0, 0);
}

.process-journey__route-board {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: block;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: visible;
}

.process-journey__route-board::before,
.process-journey__route-board::after {
	display: none;
}

.process-journey__route-scale {
	position: absolute;
	z-index: 4;
	top: clamp(2rem, 3.3vw, 3.5rem);
	left: clamp(2rem, 4vw, 4.4rem);
	right: clamp(2rem, 4vw, 4.4rem);
	display: flex;
	justify-content: space-between;
	padding: 0;
	border: 0;
	font-size: 0.58rem;
	font-weight: 850;
	letter-spacing: 0.18em;
	color: rgba(255, 255, 255, 0.35);
}

.process-journey__route-line {
	position: absolute;
	z-index: 1;
	top: clamp(4.6rem, 7vw, 6.8rem);
	right: clamp(2rem, 3.8vw, 4.2rem);
	bottom: clamp(9.5rem, 15vw, 14rem);
	left: clamp(1.5rem, 3vw, 3.2rem);
	display: block;
	width: auto;
	height: auto;
	overflow: visible;
	pointer-events: none;
	filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.18));
}

.process-journey__route-line::before,
.process-journey__route-line::after {
	display: none;
}

.process-journey__route-base,
.process-journey__route-fill,
.process-journey__route-sheen,
.process-journey__route-branch {
	position: static;
	display: block;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.process-journey__route-branch {
	stroke: rgba(119, 130, 116, 0.22);
	stroke-width: 2.4;
	stroke-dasharray: 0;
}

.process-journey__route-base {
	stroke: rgba(238, 236, 228, 0.19);
	stroke-width: 8;
}

.process-journey__route-fill {
	stroke: rgba(199, 185, 149, 0.94);
	stroke-width: 5.4;
	stroke-dasharray: 1;
	stroke-dashoffset: calc(1 - var(--process-progress));
	filter: drop-shadow(0 0 13px rgba(199, 185, 149, 0.2));
	transition: stroke-dashoffset 1080ms var(--ease-premium);
}

.process-journey__route-sheen {
	stroke: rgba(255, 248, 226, 0.82);
	stroke-width: 9;
	stroke-dasharray: 0.065 1;
	stroke-dashoffset: calc(1 - var(--process-progress));
	opacity: 0;
	filter: blur(0.45px) drop-shadow(0 0 14px rgba(199, 185, 149, 0.26));
}

.process-journey__system.is-interacting .process-journey__route-sheen {
	animation: process-subway-route-sheen 1500ms var(--ease-out-soft) both;
}

.process-journey__map-tags {
	position: absolute;
	z-index: 3;
	inset: clamp(4.6rem, 7vw, 6.8rem) clamp(2rem, 3.8vw, 4.2rem) clamp(9.5rem, 15vw, 14rem) clamp(1.5rem, 3vw, 3.2rem);
	pointer-events: none;
}

.process-journey__map-tag {
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.56rem;
	font-weight: 850;
	letter-spacing: 0.17em;
	line-height: 1;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.34);
	transition: color 420ms var(--ease-out-soft), opacity 420ms var(--ease-out-soft);
}

.process-journey__map-tag::before {
	content: "";
	width: 1.45rem;
	height: 1px;
	background: rgba(119, 130, 116, 0.45);
}

.process-journey__map-tag--planning {
	top: 5%;
	left: 26%;
}

.process-journey__map-tag--furniture {
	right: 23%;
	bottom: 17%;
}

.process-journey__map-tag--fitout {
	top: 8%;
	right: 2%;
}

.process-journey__system[style*="--process-step: 2"] .process-journey__map-tag--planning,
.process-journey__system[style*="--process-step: 3"] .process-journey__map-tag--furniture,
.process-journey__system[style*="--process-step: 4"] .process-journey__map-tag--furniture,
.process-journey__system[style*="--process-step: 5"] .process-journey__map-tag--fitout,
.process-journey__system[style*="--process-step: 6"] .process-journey__map-tag--fitout {
	color: rgba(199, 185, 149, 0.76);
}

.process-journey__route {
	position: absolute;
	z-index: 4;
	inset: clamp(4.6rem, 7vw, 6.8rem) clamp(2rem, 3.8vw, 4.2rem) clamp(9.5rem, 15vw, 14rem) clamp(1.5rem, 3vw, 3.2rem);
	display: block;
	padding: 0;
	margin: 0;
	list-style: none;
}

.process-journey__route::before,
.process-journey__route::after {
	display: none;
}

.process-journey__route li,
.process-journey__route li:nth-child(1),
.process-journey__route li:nth-child(2),
.process-journey__route li:nth-child(3),
.process-journey__route li:nth-child(4),
.process-journey__route li:nth-child(5),
.process-journey__route li:nth-child(6) {
	position: absolute;
	left: var(--marker-x);
	top: var(--marker-y);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.24rem 0.66rem;
	width: clamp(8rem, 10.2vw, 10.8rem);
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	color: rgba(255, 255, 255, 0.52);
	cursor: pointer;
	outline: 0;
	transform: translate(-0.44rem, -0.44rem);
	transition:
		color 380ms var(--ease-out-soft),
		opacity 380ms var(--ease-out-soft),
		transform 660ms var(--ease-premium);
}

.process-journey__route li:nth-child(1) {
	--marker-x: 8%;
	--marker-y: 69%;
}

.process-journey__route li:nth-child(2) {
	--marker-x: 25%;
	--marker-y: 43%;
}

.process-journey__route li:nth-child(3) {
	--marker-x: 40%;
	--marker-y: 55%;
}

.process-journey__route li:nth-child(4) {
	--marker-x: 56%;
	--marker-y: 43%;
}

.process-journey__route li:nth-child(5) {
	--marker-x: 73%;
	--marker-y: 27%;
}

.process-journey__route li:nth-child(6) {
	--marker-x: 90%;
	--marker-y: 45%;
}

.process-journey__route li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0.88rem;
	height: 0.88rem;
	border: 2px solid rgba(238, 236, 228, 0.48);
	border-radius: 999px;
	background: var(--color-ink);
	box-shadow:
		0 0 0 0.2rem rgba(7, 10, 8, 0.88),
		0 0 0 0 rgba(199, 185, 149, 0);
	transform: translate(-50%, -50%);
	transition:
		background-color 420ms var(--ease-out-soft),
		border-color 420ms var(--ease-out-soft),
		box-shadow 560ms var(--ease-out-soft),
		transform 660ms var(--ease-premium);
	transition-delay: calc(var(--milestone-index, 0) * 65ms);
}

.process-journey__route li::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 2.25rem;
	height: 1px;
	background: rgba(238, 236, 228, 0.18);
	transform: translate(0.78rem, -50%) scaleX(0.6);
	transform-origin: left center;
	transition: background-color 380ms var(--ease-out-soft), transform 560ms var(--ease-premium);
}

.process-journey__milestone-number {
	grid-column: 1;
	grid-row: 1 / span 3;
	padding-left: 0.95rem;
	font-family: var(--font-heading);
	font-size: clamp(1.5rem, 2.45vw, 2.8rem);
	font-weight: 800;
	line-height: 0.8;
	letter-spacing: -0.055em;
	color: rgba(199, 185, 149, 0.3);
	transition: color 380ms var(--ease-out-soft), transform 660ms var(--ease-premium);
}

.process-journey__route small,
.process-journey__route h3,
.process-journey__route p {
	grid-column: 2;
}

.process-journey__route small {
	padding-top: 0.08rem;
	font-size: 0.54rem;
	color: rgba(199, 185, 149, 0.48);
}

.process-journey__route h3 {
	max-width: 8.8rem;
	font-size: clamp(0.77rem, 0.84vw, 0.91rem);
	line-height: 1.14;
	color: rgba(255, 255, 255, 0.65);
}

.process-journey__route p {
	max-width: 12rem;
	font-size: 0.74rem;
	line-height: 1.48;
	color: rgba(255, 255, 255, 0.52);
}

.process-journey__system.is-process-enhanced .process-journey__route p,
.process-journey__system.is-process-enhanced .process-journey__route li.is-step-active p {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transform: translateY(0.35rem);
}

.process-journey__system.is-interacting .process-journey__route li:not(.is-step-active) {
	opacity: 0.44;
}

.process-journey__route li:hover,
.process-journey__route li:focus-visible,
.process-journey__route li.is-step-active {
	color: rgba(255, 255, 255, 0.88);
	transform: translate(-0.44rem, -0.44rem) scale(1.045);
}

.process-journey__route li.is-step-complete::before,
.process-journey__route li.is-step-active::before,
.process-journey__route li:hover::before,
.process-journey__route li:focus-visible::before {
	border-color: rgba(199, 185, 149, 0.94);
	background: var(--color-ink);
	box-shadow:
		0 0 0 0.2rem rgba(7, 10, 8, 0.9),
		0 0 0 0.56rem rgba(199, 185, 149, 0.11),
		0 0 1.6rem rgba(199, 185, 149, 0.22);
	transform: translate(-50%, -50%) scale(1.08);
}

.process-journey__route li.is-step-active::before {
	background: rgba(199, 185, 149, 0.94);
	box-shadow:
		0 0 0 0.2rem rgba(7, 10, 8, 0.9),
		0 0 0 0.72rem rgba(199, 185, 149, 0.13),
		0 0 2.2rem rgba(199, 185, 149, 0.34);
	transform: translate(-50%, -50%) scale(1.26);
}

.process-journey__route li.is-step-complete::after,
.process-journey__route li.is-step-active::after,
.process-journey__route li:hover::after,
.process-journey__route li:focus-visible::after {
	background: rgba(199, 185, 149, 0.5);
	transform: translate(0.78rem, -50%) scaleX(1);
}

.process-journey__route li.is-step-complete .process-journey__milestone-number,
.process-journey__route li.is-step-active .process-journey__milestone-number {
	color: rgba(199, 185, 149, 0.76);
}

.process-journey__route li.is-step-active .process-journey__milestone-number {
	transform: translateY(-0.08rem) scale(1.08);
}

.process-journey__route li.is-step-active h3 {
	color: #fff;
}

.motion-enhanced .process-journey__route-base {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	animation: process-subway-base-draw 1400ms var(--ease-premium) 180ms both;
	transition: stroke-dashoffset 1400ms var(--ease-premium);
}

.motion-enhanced .process-journey__route-branch,
.motion-enhanced .process-journey__map-tag {
	opacity: 0;
	animation: process-subway-fade-in 820ms var(--ease-out-soft) 520ms both;
	transition: opacity 760ms var(--ease-out-soft);
}

.motion-enhanced .process-journey__route li {
	opacity: 0;
	transform: translate(-0.44rem, 0.15rem);
	animation: process-subway-station-in 760ms var(--ease-premium) both;
	animation-delay: calc(560ms + (var(--milestone-index, 0) * 90ms));
	transition:
		opacity 620ms var(--ease-out-soft),
		color 380ms var(--ease-out-soft),
		transform 760ms var(--ease-premium);
	transition-delay: calc(var(--milestone-index, 0) * 80ms);
}

.motion-enhanced .process-journey__lead.is-visible + .process-journey__system .process-journey__route-base,
.motion-enhanced .process-journey__system:has(.motion-reveal.is-visible) .process-journey__route-base {
	stroke-dashoffset: 0;
}

.motion-enhanced .process-journey__lead.is-visible + .process-journey__system .process-journey__route-branch,
.motion-enhanced .process-journey__lead.is-visible + .process-journey__system .process-journey__map-tag,
.motion-enhanced .process-journey__system:has(.motion-reveal.is-visible) .process-journey__route-branch,
.motion-enhanced .process-journey__system:has(.motion-reveal.is-visible) .process-journey__map-tag {
	opacity: 1;
}

.motion-enhanced .process-journey__lead.is-visible + .process-journey__system .process-journey__route li,
.motion-enhanced .process-journey__system:has(.motion-reveal.is-visible) .process-journey__route li {
	opacity: 1;
	transform: translate(-0.44rem, -0.44rem);
}

@keyframes process-subway-base-draw {
	to {
		stroke-dashoffset: 0;
	}
}

@keyframes process-subway-fade-in {
	to {
		opacity: 1;
	}
}

@keyframes process-subway-station-in {
	to {
		opacity: 1;
		transform: translate(-0.44rem, -0.44rem);
	}
}

@keyframes process-subway-route-sheen {
	0% {
		opacity: 0;
		stroke-dashoffset: calc(1 - var(--process-progress) + 0.14);
	}

	18%,
	72% {
		opacity: 0.76;
	}

	100% {
		opacity: 0;
		stroke-dashoffset: calc(1 - var(--process-progress) - 0.08);
	}
}

@media (max-width: 1080px) {
	.process-journey__lead {
		grid-template-columns: 1fr;
	}

	.process-journey__lead .lead {
		max-width: 45rem;
	}

	.process-journey__system {
		min-height: clamp(45rem, 86vw, 56rem);
	}

	.process-journey__stage {
		width: min(29rem, calc(100% - 3rem));
	}

	.process-journey__stage-copy h3 {
		font-size: clamp(2.7rem, 7.4vw, 5.4rem);
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(1),
	.process-journey__route li:nth-child(2),
	.process-journey__route li:nth-child(3),
	.process-journey__route li:nth-child(4),
	.process-journey__route li:nth-child(5),
	.process-journey__route li:nth-child(6) {
		width: clamp(7.5rem, 16vw, 10.5rem);
	}
}

@media (max-width: 720px) {
	.section--process-journey {
		padding-block: clamp(4.8rem, 15vw, 6.8rem);
	}

	.process-journey {
		gap: 2.4rem;
	}

	.process-journey__lead h2 {
		font-size: clamp(2.65rem, 13vw, 4.8rem);
	}

	.process-journey__system {
		min-height: 0;
		padding: clamp(1.15rem, 5vw, 1.55rem);
	}

	.process-journey__system::after {
		display: none;
	}

	.process-journey__stage {
		position: relative;
		top: auto;
		left: auto;
		bottom: auto;
		width: auto;
		margin-bottom: 2.2rem;
		padding: 0.35rem 0 0.75rem;
		background: transparent;
	}

	.process-journey__stage-meta {
		margin-bottom: 1.4rem;
	}

	.process-journey__ghost-number {
		right: -0.04em;
		top: auto;
		bottom: 0.4rem;
		font-size: clamp(7rem, 34vw, 10.5rem);
	}

	.process-journey__stage-copy {
		max-width: min(24rem, 100%);
	}

	.process-journey__stage-copy h3 {
		font-size: clamp(2.15rem, 12vw, 3.65rem);
	}

	.process-journey__stage-copy p {
		font-size: 0.98rem;
	}

	.process-journey__route-board {
		position: relative;
		inset: auto;
		min-height: 0;
	}

	.process-journey__route-scale,
	.process-journey__route-line,
	.process-journey__map-tags {
		display: none;
	}

	.process-journey__route {
		position: relative;
		inset: auto;
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
		padding: 0 0 0 1.8rem;
	}

	.process-journey__route::before,
	.process-journey__route::after {
		display: block;
		content: "";
		position: absolute;
		top: 0.9rem;
		bottom: 0.9rem;
		left: 0.36rem;
		width: 2px;
		height: auto;
		border-radius: 999px;
		pointer-events: none;
	}

	.process-journey__route::before {
		background: linear-gradient(180deg, rgba(238, 236, 228, 0.14), rgba(238, 236, 228, 0.3), rgba(238, 236, 228, 0.14));
	}

	.process-journey__route::after {
		background: linear-gradient(180deg, rgba(199, 185, 149, 0.2), rgba(199, 185, 149, 0.92));
		box-shadow: 0 0 18px rgba(199, 185, 149, 0.13);
		transform: scaleY(var(--process-progress));
		transform-origin: top center;
		transition: transform 900ms var(--ease-premium);
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(1),
	.process-journey__route li:nth-child(2),
	.process-journey__route li:nth-child(3),
	.process-journey__route li:nth-child(4),
	.process-journey__route li:nth-child(5),
	.process-journey__route li:nth-child(6) {
		position: relative;
		left: auto;
		top: auto;
		width: auto;
		padding: 1rem 0 1rem 1rem;
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		transform: none;
	}

	.process-journey__route li:first-child {
		border-top: 0;
	}

	.process-journey__route li::before {
		top: 1.45rem;
		left: -1.44rem;
		transform: translateY(-50%);
	}

	.process-journey__route li::after {
		top: 1.45rem;
		left: -1.2rem;
		width: 1.45rem;
		transform: translateY(-50%) scaleX(0.55);
	}

	.process-journey__route li:hover,
	.process-journey__route li:focus-visible,
	.process-journey__route li.is-step-active {
		transform: translateX(0.18rem);
	}

	.process-journey__route li.is-step-complete::before,
	.process-journey__route li.is-step-active::before,
	.process-journey__route li:hover::before,
	.process-journey__route li:focus-visible::before {
		transform: translateY(-50%) scale(1.08);
	}

	.process-journey__route li.is-step-active::before {
		transform: translateY(-50%) scale(1.2);
	}

	.process-journey__milestone-number {
		font-size: clamp(1.9rem, 10vw, 3.25rem);
	}

	.process-journey__route h3 {
		max-width: none;
		font-size: 0.98rem;
	}
}

/* Refined premium subway map cleanup. */
.section--process-journey {
	padding-block: clamp(6.2rem, 8.8vw, 10.6rem);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.028) 1px, transparent 1px) 0 0 / 10% 100%,
		linear-gradient(180deg, #f5f1e9 0%, #e8e0d5 100%);
}

.process-journey {
	gap: clamp(3rem, 5vw, 5.8rem);
}

.process-journey__lead h2 {
	max-width: 15.5ch;
	font-size: clamp(3rem, 5.2vw, 6.25rem);
}

.process-journey__system {
	--process-progress: 0.035;
	min-height: clamp(36rem, 50vw, 44rem);
	background:
		radial-gradient(circle at var(--process-x) var(--process-y), rgba(199, 185, 149, 0.11), transparent 16%),
		linear-gradient(90deg, rgba(255, 255, 255, 0.032) 1px, transparent 1px) 0 0 / 10% 100%,
		linear-gradient(180deg, #101611 0%, #060a08 100%);
}

.process-journey__system::before {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.034) 1px, transparent 1px) 0 0 / 100% 20%,
		radial-gradient(circle at 82% 14%, rgba(199, 185, 149, 0.065), transparent 28%);
	transform: none;
}

.process-journey__system::after,
.process-journey__route-branch,
.process-journey__map-tags {
	display: none;
}

.process-journey__route-scale {
	top: clamp(1.9rem, 3vw, 3.2rem);
	color: rgba(255, 255, 255, 0.28);
}

.process-journey__route-line {
	top: clamp(4.5rem, 6.6vw, 6.7rem);
	right: clamp(2.1rem, 4vw, 4.6rem);
	bottom: clamp(12.5rem, 18vw, 16rem);
	left: clamp(2rem, 3.8vw, 4.2rem);
	filter: drop-shadow(0 16px 30px rgba(0, 0, 0, 0.14));
}

.process-journey__route-base {
	stroke: rgba(238, 236, 228, 0.18);
	stroke-width: 6.5;
}

.process-journey__route-fill {
	stroke: rgba(199, 185, 149, 0.9);
	stroke-width: 4.8;
	filter: drop-shadow(0 0 10px rgba(199, 185, 149, 0.16));
	transition: stroke-dashoffset 1120ms var(--ease-premium);
}

.process-journey__route-sheen {
	stroke-width: 7.5;
	stroke-dasharray: 0.055 1;
	filter: blur(0.35px) drop-shadow(0 0 12px rgba(199, 185, 149, 0.2));
}

.process-journey__route {
	inset: clamp(4.5rem, 6.6vw, 6.7rem) clamp(2.1rem, 4vw, 4.6rem) clamp(12.5rem, 18vw, 16rem) clamp(2rem, 3.8vw, 4.2rem);
}

.process-journey__route li,
.process-journey__route li:nth-child(1),
.process-journey__route li:nth-child(2),
.process-journey__route li:nth-child(3),
.process-journey__route li:nth-child(4),
.process-journey__route li:nth-child(5),
.process-journey__route li:nth-child(6) {
	width: clamp(7.2rem, 9.4vw, 10rem);
	gap: 0.18rem 0.58rem;
	color: rgba(255, 255, 255, 0.36);
}

.process-journey__route li::before {
	width: 0.8rem;
	height: 0.8rem;
	border-width: 1.5px;
	border-color: rgba(238, 236, 228, 0.34);
	box-shadow: 0 0 0 0.22rem rgba(7, 10, 8, 0.9);
}

.process-journey__route li::after {
	width: 1.65rem;
	background: rgba(238, 236, 228, 0.12);
	transform: translate(0.7rem, -50%) scaleX(0.48);
}

.process-journey__milestone-number {
	padding-left: 0.88rem;
	font-size: clamp(1.18rem, 1.5vw, 1.75rem);
	color: rgba(199, 185, 149, 0.28);
}

.process-journey__route small {
	font-size: 0.5rem;
	color: rgba(199, 185, 149, 0.38);
}

.process-journey__route h3 {
	max-width: 8rem;
	font-size: clamp(0.72rem, 0.78vw, 0.86rem);
	color: rgba(255, 255, 255, 0.48);
}

.process-journey__system.is-process-enhanced .process-journey__route p,
.process-journey__system.is-process-enhanced .process-journey__route li.is-step-active p {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
}

.process-journey__system.is-interacting .process-journey__route li:not(.is-step-active) {
	opacity: 0.34;
}

.process-journey__route li:hover,
.process-journey__route li:focus-visible,
.process-journey__route li.is-step-active {
	color: rgba(255, 255, 255, 0.82);
	transform: translate(-0.44rem, -0.44rem) scale(1.025);
}

.process-journey__route li.is-step-complete::before,
.process-journey__route li.is-step-active::before,
.process-journey__route li:hover::before,
.process-journey__route li:focus-visible::before {
	border-color: rgba(199, 185, 149, 0.88);
	background: var(--color-ink);
	box-shadow:
		0 0 0 0.22rem rgba(7, 10, 8, 0.92),
		0 0 0 0.46rem rgba(199, 185, 149, 0.08),
		0 0 1.15rem rgba(199, 185, 149, 0.16);
}

.process-journey__route li.is-step-active::before {
	background: rgba(199, 185, 149, 0.9);
	box-shadow:
		0 0 0 0.22rem rgba(7, 10, 8, 0.92),
		0 0 0 0.6rem rgba(199, 185, 149, 0.12),
		0 0 1.65rem rgba(199, 185, 149, 0.26);
}

.process-journey__route li.is-step-complete .process-journey__milestone-number,
.process-journey__route li.is-step-active .process-journey__milestone-number {
	color: rgba(199, 185, 149, 0.64);
}

.process-journey__route li.is-step-active h3 {
	color: rgba(255, 255, 255, 0.95);
}

.process-journey__stage {
	left: clamp(2.4rem, 4.2vw, 4.8rem);
	right: clamp(2.4rem, 4.2vw, 4.8rem);
	top: clamp(19rem, 26vw, 21.5rem);
	bottom: auto;
	width: auto;
	display: grid;
	grid-template-columns: minmax(8rem, 0.22fr) minmax(0, 0.78fr);
	gap: clamp(1.4rem, 2.7vw, 3rem);
	align-items: end;
	padding: clamp(1.25rem, 2.2vw, 2rem) 0 0;
	border-top: 1px solid rgba(238, 236, 228, 0.12);
	background: transparent;
}

.process-journey__stage-meta {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	color: rgba(255, 255, 255, 0.38);
}

.process-journey__stage-copy {
	max-width: 48rem;
	display: grid;
	grid-template-columns: minmax(8rem, 0.34fr) minmax(16rem, 0.66fr);
	gap: 0.7rem clamp(1.5rem, 3vw, 3.2rem);
	align-items: end;
	padding-left: 0;
	border-left: 0;
}

.process-journey__stage-copy small {
	grid-column: 1;
	align-self: start;
	font-size: 0.64rem;
	color: rgba(199, 185, 149, 0.78);
}

.process-journey__stage-copy h3 {
	grid-column: 1;
	max-width: 9.5ch;
	font-size: clamp(2.25rem, 3.7vw, 4.35rem);
	line-height: 0.9;
}

.process-journey__stage-copy p {
	grid-column: 2;
	max-width: 31rem;
	font-size: clamp(0.98rem, 1.05vw, 1.1rem);
	line-height: 1.68;
	color: rgba(255, 255, 255, 0.64);
}

.process-journey__ghost-number {
	right: clamp(1.5rem, 3vw, 3.2rem);
	bottom: clamp(0.2rem, 0.8vw, 0.6rem);
	top: auto;
	font-size: clamp(6rem, 12vw, 12.5rem);
	color: rgba(199, 185, 149, 0.045);
}

.motion-enhanced .process-journey__route-branch,
.motion-enhanced .process-journey__map-tag {
	animation: none;
}

@media (max-width: 1080px) {
	.process-journey__system {
		min-height: clamp(37rem, 76vw, 45rem);
	}

	.process-journey__stage {
		grid-template-columns: 1fr;
		gap: 1.1rem;
	}

	.process-journey__stage-copy {
		grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
	}
}

@media (max-width: 720px) {
	.process-journey__system {
		min-height: 0;
		padding: clamp(1.15rem, 5vw, 1.55rem);
	}

	.process-journey__stage {
		position: relative;
		inset: auto;
		display: grid;
		grid-template-columns: 1fr;
		margin-bottom: 2rem;
		padding: 0.3rem 0 0.75rem;
		border-top: 0;
	}

	.process-journey__stage-copy {
		grid-template-columns: 1fr;
		max-width: min(24rem, 100%);
	}

	.process-journey__stage-copy small,
	.process-journey__stage-copy h3,
	.process-journey__stage-copy p {
		grid-column: auto;
	}

	.process-journey__stage-copy h3 {
		font-size: clamp(2.05rem, 11vw, 3.4rem);
	}

	.process-journey__ghost-number {
		right: -0.04em;
		bottom: 0.4rem;
		font-size: clamp(6rem, 30vw, 9rem);
	}

	.process-journey__route {
		padding-left: 1.75rem;
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(1),
	.process-journey__route li:nth-child(2),
	.process-journey__route li:nth-child(3),
	.process-journey__route li:nth-child(4),
	.process-journey__route li:nth-child(5),
	.process-journey__route li:nth-child(6) {
		width: auto;
		gap: 0.2rem 0.65rem;
		padding: 0.92rem 0 0.92rem 1rem;
	}

	.process-journey__route h3 {
		max-width: none;
		font-size: 0.96rem;
	}
}

/* Light premium roadmap reference rebuild. */
.section--process-journey {
	padding-block: clamp(5.8rem, 8vw, 9.8rem);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.028) 1px, transparent 1px) 0 0 / 10% 100%,
		radial-gradient(circle at 72% 18%, rgba(168, 129, 75, 0.08), transparent 24%),
		linear-gradient(180deg, #f6f1e9 0%, #ebe2d6 100%);
	color: var(--color-dark);
}

.section--process-journey::before {
	border-color: rgba(23, 26, 24, 0.055);
}

.section--process-journey::after,
.process-journey__trace,
.process-journey__stage-icon,
.process-journey__milestone-icon,
.process-journey__map-tags {
	display: none;
}

.process-journey {
	gap: clamp(2.8rem, 5vw, 5.6rem);
}

.process-journey__lead {
	grid-template-columns: minmax(0, 0.58fr) minmax(20rem, 0.36fr);
	align-items: end;
}

.process-journey__lead h2 {
	max-width: 15.8ch;
	font-size: clamp(3rem, 5.3vw, 6.45rem);
	color: var(--color-dark);
}

.process-journey__lead .lead {
	max-width: 36rem;
	color: rgba(23, 26, 24, 0.66);
}

.process-journey__system {
	--process-progress: 0.035;
	position: relative;
	display: block;
	min-height: clamp(40rem, 56vw, 49rem);
	padding: 0;
	border: 1px solid rgba(23, 26, 24, 0.08);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.028) 1px, transparent 1px) 0 0 / 10% 100%,
		linear-gradient(180deg, rgba(255, 252, 246, 0.76), rgba(239, 231, 219, 0.82));
	box-shadow: 0 34px 78px rgba(23, 26, 24, 0.11);
	overflow: hidden;
	isolation: isolate;
	color: var(--color-dark);
}

.process-journey__system::before {
	content: "";
	position: absolute;
	z-index: 0;
	right: clamp(2rem, 5vw, 5.5rem);
	bottom: clamp(2.2rem, 4vw, 4.3rem);
	width: clamp(14rem, 32vw, 34rem);
	height: clamp(8rem, 19vw, 19rem);
	background:
		linear-gradient(90deg, rgba(138, 106, 54, 0.16) 1px, transparent 1px) 0 100% / 18% 58% no-repeat,
		linear-gradient(180deg, rgba(138, 106, 54, 0.13) 1px, transparent 1px) 0 100% / 100% 32% no-repeat,
		linear-gradient(155deg, transparent 0 54%, rgba(138, 106, 54, 0.16) 54.2% 54.7%, transparent 55%) 0 0 / 100% 100%;
	opacity: 0.32;
	transform: none;
	pointer-events: none;
}

.process-journey__system::after {
	display: none;
}

.process-journey__route-board {
	position: absolute;
	z-index: 1;
	inset: 0;
	display: block;
	padding: 0;
	background: transparent;
	overflow: visible;
}

.process-journey__route-board::before,
.process-journey__route-board::after {
	display: none;
}

.process-journey__route-scale {
	position: absolute;
	z-index: 3;
	top: clamp(2rem, 3vw, 3.2rem);
	left: clamp(2rem, 4vw, 4rem);
	right: clamp(2rem, 4vw, 4rem);
	display: flex;
	justify-content: space-between;
	padding: 0;
	border: 0;
	font-size: 0.58rem;
	font-weight: 850;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(23, 26, 24, 0.42);
}

.process-journey__route-line {
	position: absolute;
	z-index: 1;
	inset: clamp(7.2rem, 9vw, 9rem) clamp(2rem, 4vw, 4.6rem) clamp(11.5rem, 15vw, 13.8rem);
	display: block;
	width: auto;
	height: auto;
	filter: drop-shadow(0 24px 24px rgba(23, 26, 24, 0.16));
	pointer-events: none;
	overflow: visible;
}

.process-journey__route-line::before,
.process-journey__route-line::after {
	display: none;
}

.process-journey__route-base,
.process-journey__route-lane,
.process-journey__route-fill,
.process-journey__route-sheen {
	position: static;
	display: block;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.process-journey__route-base {
	stroke: #171917;
	stroke-width: 42;
}

.process-journey__route-lane {
	stroke: rgba(210, 179, 118, 0.86);
	stroke-width: 2.2;
	stroke-dasharray: 0.024 0.032;
}

.process-journey__route-fill {
	stroke: rgba(210, 179, 118, 0.98);
	stroke-width: 4.5;
	stroke-dasharray: var(--process-progress) 1;
	stroke-dashoffset: 0;
	filter: drop-shadow(0 0 10px rgba(168, 129, 75, 0.18));
	transition: stroke-dasharray 980ms var(--ease-premium);
}

.process-journey__route-sheen {
	stroke: rgba(255, 248, 226, 0.9);
	stroke-width: 7;
	stroke-dasharray: 0.055 1;
	stroke-dashoffset: calc(1 - var(--process-progress));
	opacity: 0;
	filter: blur(0.4px) drop-shadow(0 0 12px rgba(168, 129, 75, 0.2));
}

.process-journey__system.is-interacting .process-journey__route-sheen {
	animation: process-roadmap-sheen 1350ms var(--ease-out-soft) both;
}

.process-journey__route {
	position: absolute;
	z-index: 3;
	inset: clamp(7.2rem, 9vw, 9rem) clamp(2rem, 4vw, 4.6rem) clamp(11.5rem, 15vw, 13.8rem);
	display: block;
	padding: 0;
	margin: 0;
	list-style: none;
}

.process-journey__route::before,
.process-journey__route::after,
.process-journey__route li::before,
.process-journey__route li::after {
	display: none;
}

.process-journey__route li,
.process-journey__route li:nth-child(1),
.process-journey__route li:nth-child(2),
.process-journey__route li:nth-child(3),
.process-journey__route li:nth-child(4),
.process-journey__route li:nth-child(5),
.process-journey__route li:nth-child(6) {
	position: absolute;
	left: var(--marker-x);
	top: var(--marker-y);
	width: clamp(7.4rem, 10.5vw, 11.4rem);
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: translate(-50%, -100%);
}

.process-journey__route li:nth-child(1) {
	--marker-x: 5%;
	--marker-y: 82%;
}

.process-journey__route li:nth-child(2) {
	--marker-x: 24%;
	--marker-y: 76%;
}

.process-journey__route li:nth-child(3) {
	--marker-x: 43%;
	--marker-y: 66%;
}

.process-journey__route li:nth-child(4) {
	--marker-x: 61%;
	--marker-y: 54%;
}

.process-journey__route li:nth-child(5) {
	--marker-x: 77%;
	--marker-y: 39%;
}

.process-journey__route li:nth-child(6) {
	--marker-x: 91%;
	--marker-y: 24%;
}

.process-journey__station {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.28rem 0.72rem;
	width: 100%;
	padding: 0 0 2.3rem;
	border: 0;
	background: transparent;
	color: rgba(23, 26, 24, 0.76);
	text-align: left;
	cursor: pointer;
	appearance: none;
	transition: color 320ms var(--ease-out-soft), transform 520ms var(--ease-premium), opacity 320ms var(--ease-out-soft);
}

.process-journey__station::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0.5rem;
	width: 1px;
	height: clamp(1.5rem, 3vw, 2.4rem);
	background: rgba(138, 106, 54, 0.38);
	transform: translateX(-50%);
}

.process-journey__station-dot {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 0.72rem;
	height: 0.72rem;
	border-radius: 999px;
	background: rgba(210, 179, 118, 0.92);
	box-shadow:
		0 0 0 0.2rem rgba(255, 252, 246, 0.86),
		0 0 1rem rgba(23, 26, 24, 0.18);
	transform: translate(-50%, 50%);
	transition: transform 420ms var(--ease-premium), box-shadow 420ms var(--ease-out-soft), background-color 320ms var(--ease-out-soft);
}

.process-journey__milestone-number {
	grid-column: 1;
	grid-row: 1 / span 3;
	padding-left: 0;
	font-family: var(--font-heading);
	font-size: clamp(1.35rem, 2.1vw, 2.15rem);
	font-weight: 500;
	line-height: 0.86;
	letter-spacing: -0.02em;
	color: rgba(138, 106, 54, 0.88);
}

.process-journey__station small {
	grid-column: 2;
	font-size: 0.55rem;
	line-height: 1;
	letter-spacing: 0.16em;
	color: rgba(138, 106, 54, 0.7);
}

.process-journey__milestone-title {
	grid-column: 2;
	max-width: 9.5rem;
	font-size: clamp(0.78rem, 0.9vw, 0.98rem);
	font-weight: 850;
	line-height: 1.15;
	letter-spacing: 0;
	text-transform: none;
	color: rgba(23, 26, 24, 0.9);
}

.process-journey__milestone-body {
	grid-column: 2;
	max-width: 10.5rem;
	font-size: 0.78rem;
	line-height: 1.45;
	color: rgba(23, 26, 24, 0.62);
}

.process-journey__system.is-process-enhanced .process-journey__milestone-body {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.process-journey__system.is-interacting .process-journey__station:not(.is-step-active) {
	opacity: 0.62;
}

.process-journey__station:hover,
.process-journey__station:focus-visible,
.process-journey__station.is-step-active {
	color: var(--color-dark);
	transform: translateY(-0.18rem);
	outline: 0;
}

.process-journey__station:focus-visible .process-journey__station-dot,
.process-journey__station:hover .process-journey__station-dot,
.process-journey__station.is-step-complete .process-journey__station-dot,
.process-journey__station.is-step-active .process-journey__station-dot {
	background: rgba(210, 179, 118, 1);
	box-shadow:
		0 0 0 0.28rem rgba(255, 252, 246, 0.92),
		0 0 0 0.56rem rgba(210, 179, 118, 0.12),
		0 0 1.25rem rgba(138, 106, 54, 0.24);
	transform: translate(-50%, 50%) scale(1.08);
}

.process-journey__station.is-step-active .process-journey__station-dot {
	transform: translate(-50%, 50%) scale(1.28);
}

.process-journey__station.is-step-active .process-journey__milestone-title {
	color: #050706;
}

.process-journey__stage {
	position: absolute;
	z-index: 4;
	left: clamp(2rem, 4vw, 4rem);
	right: clamp(2rem, 4vw, 4rem);
	bottom: clamp(1.5rem, 2.8vw, 2.8rem);
	top: auto;
	display: grid;
	grid-template-columns: minmax(7rem, 0.18fr) minmax(0, 0.82fr);
	gap: clamp(1.4rem, 3vw, 3rem);
	align-items: end;
	width: auto;
	min-height: 0;
	padding: clamp(1rem, 1.8vw, 1.5rem) 0 0;
	border-top: 1px solid rgba(23, 26, 24, 0.1);
	background: transparent;
	box-shadow: none;
	color: var(--color-dark);
}

.process-journey__stage-meta {
	position: relative;
	inset: auto;
	display: grid;
	gap: 0.5rem;
	margin: 0;
	color: rgba(23, 26, 24, 0.54);
}

.process-journey__stage-copy {
	display: grid;
	grid-template-columns: minmax(8rem, 0.34fr) minmax(16rem, 0.66fr);
	gap: 0.7rem clamp(1.5rem, 3vw, 3.2rem);
	align-items: end;
	max-width: 50rem;
	margin: 0;
	padding-left: 0;
	border-left: 0;
}

.process-journey__stage-copy small {
	grid-column: 1;
	align-self: start;
	padding-left: 0;
	font-size: 0.64rem;
	color: rgba(138, 106, 54, 0.78);
}

.process-journey__stage-copy small::before {
	display: none;
}

.process-journey__stage-copy h3 {
	grid-column: 1;
	max-width: 9.5ch;
	font-size: clamp(2.15rem, 3.4vw, 4rem);
	line-height: 0.92;
	letter-spacing: -0.04em;
	color: var(--color-dark);
}

.process-journey__stage-copy p {
	grid-column: 2;
	max-width: 33rem;
	font-size: clamp(0.98rem, 1.05vw, 1.1rem);
	line-height: 1.68;
	color: rgba(23, 26, 24, 0.66);
}

.process-journey__ghost-number {
	right: clamp(1rem, 2.4vw, 2.8rem);
	bottom: 0.2rem;
	top: auto;
	font-size: clamp(6rem, 12vw, 12rem);
	color: rgba(138, 106, 54, 0.055);
}

@keyframes process-roadmap-sheen {
	0% {
		opacity: 0;
		stroke-dashoffset: calc(1 - var(--process-progress) + 0.14);
	}

	18%,
	72% {
		opacity: 0.82;
	}

	100% {
		opacity: 0;
		stroke-dashoffset: calc(1 - var(--process-progress) - 0.08);
	}
}

@media (max-width: 1080px) {
	.process-journey__lead {
		grid-template-columns: 1fr;
	}

	.process-journey__system {
		min-height: clamp(39rem, 74vw, 46rem);
	}

	.process-journey__stage {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
}

@media (max-width: 720px) {
	.process-journey__system {
		min-height: 0;
		padding: clamp(1.2rem, 5vw, 1.6rem);
	}

	.process-journey__route-scale,
	.process-journey__route-line {
		display: none;
	}

	.process-journey__route {
		position: relative;
		inset: auto;
		display: grid;
		gap: 0;
		padding: 0 0 0 1.75rem;
		margin: 0 0 2rem;
	}

	.process-journey__route::before,
	.process-journey__route::after {
		display: block;
		content: "";
		position: absolute;
		top: 1rem;
		bottom: 1rem;
		left: 0.36rem;
		width: 2px;
		border-radius: 999px;
		pointer-events: none;
	}

	.process-journey__route::before {
		background: rgba(23, 26, 24, 0.24);
	}

	.process-journey__route::after {
		background: rgba(210, 179, 118, 0.94);
		box-shadow: 0 0 18px rgba(138, 106, 54, 0.13);
		transform: scaleY(var(--process-progress));
		transform-origin: top center;
		transition: transform 880ms var(--ease-premium);
	}

	.process-journey__route li,
	.process-journey__route li:nth-child(1),
	.process-journey__route li:nth-child(2),
	.process-journey__route li:nth-child(3),
	.process-journey__route li:nth-child(4),
	.process-journey__route li:nth-child(5),
	.process-journey__route li:nth-child(6) {
		position: relative;
		left: auto;
		top: auto;
		width: auto;
		transform: none;
	}

	.process-journey__station {
		padding: 0.92rem 0 0.92rem 0.95rem;
	}

	.process-journey__station::before {
		left: -1.15rem;
		top: 1.43rem;
		bottom: auto;
		width: 1.35rem;
		height: 1px;
		transform: none;
	}

	.process-journey__station-dot {
		left: -1.38rem;
		top: 1.43rem;
		bottom: auto;
		transform: translateY(-50%);
	}

	.process-journey__station:focus-visible .process-journey__station-dot,
	.process-journey__station:hover .process-journey__station-dot,
	.process-journey__station.is-step-complete .process-journey__station-dot,
	.process-journey__station.is-step-active .process-journey__station-dot {
		transform: translateY(-50%) scale(1.08);
	}

	.process-journey__station.is-step-active .process-journey__station-dot {
		transform: translateY(-50%) scale(1.2);
	}

	.process-journey__stage {
		position: relative;
		inset: auto;
		grid-template-columns: 1fr;
		padding-top: 1.2rem;
	}

	.process-journey__stage-copy {
		grid-template-columns: 1fr;
	}

	.process-journey__stage-copy small,
	.process-journey__stage-copy h3,
	.process-journey__stage-copy p {
		grid-column: auto;
	}

	.process-journey__stage-copy h3 {
		font-size: clamp(2rem, 11vw, 3.25rem);
	}
}

/* Final light-roadmap marker specificity. */
.process-journey__route li::before,
.process-journey__route li::after {
	display: none;
	content: none;
}

.process-journey__route li:hover,
.process-journey__route li:focus-within,
.process-journey__route li.is-step-active {
	transform: translate(-50%, -100%);
}

.process-journey__route .process-journey__station {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.28rem 0.72rem;
	width: 100%;
	padding: 0 0 3.65rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: rgba(23, 26, 24, 0.76);
	text-align: left;
	box-shadow: none;
	transform: none;
}

.process-journey__route .process-journey__station::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0.5rem;
	display: block;
	width: 1px;
	height: clamp(2.4rem, 4vw, 3.6rem);
	background: rgba(138, 106, 54, 0.38);
	transform: translateX(-50%);
}

.process-journey__route .process-journey__station-dot {
	position: absolute;
	left: 50%;
	bottom: 0;
	display: block;
	width: 0.72rem;
	height: 0.72rem;
	border-radius: 999px;
	background: rgba(210, 179, 118, 0.92);
	box-shadow:
		0 0 0 0.2rem rgba(255, 252, 246, 0.86),
		0 0 1rem rgba(23, 26, 24, 0.18);
	transform: translate(-50%, 50%);
}

.process-journey__route .process-journey__milestone-number {
	display: block;
	grid-column: 1;
	grid-row: 1 / span 3;
	align-self: start;
	justify-self: start;
	padding-left: 0;
	font-family: var(--font-heading);
	font-size: clamp(1.35rem, 2.1vw, 2.15rem);
	font-weight: 500;
	line-height: 0.86;
	letter-spacing: -0.02em;
	color: rgba(138, 106, 54, 0.88);
	text-shadow: 0 1px 0 rgba(255, 252, 246, 0.78), 0 0 12px rgba(255, 252, 246, 0.72);
	transform: none;
}

.process-journey__route .process-journey__station small {
	display: block;
	grid-column: 2;
	grid-row: auto;
	max-width: none;
	font-size: 0.55rem;
	font-weight: 850;
	line-height: 1;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(138, 106, 54, 0.7);
	text-shadow: 0 1px 0 rgba(255, 252, 246, 0.82), 0 0 10px rgba(255, 252, 246, 0.72);
	transform: none;
}

.process-journey__route .process-journey__milestone-title {
	display: block;
	grid-column: 2;
	grid-row: auto;
	max-width: 9.5rem;
	font-size: clamp(0.78rem, 0.9vw, 0.98rem);
	font-weight: 850;
	line-height: 1.15;
	letter-spacing: 0;
	text-transform: none;
	color: rgba(23, 26, 24, 0.9);
	text-shadow: 0 1px 0 rgba(255, 252, 246, 0.86), 0 0 12px rgba(255, 252, 246, 0.76);
	transform: none;
}

.process-journey__route .process-journey__milestone-body {
	display: block;
	grid-column: 2;
	grid-row: auto;
	max-width: 10.5rem;
	padding-left: 0;
	font-size: 0.78rem;
	line-height: 1.45;
	color: rgba(23, 26, 24, 0.62);
	transform: none;
}

.process-journey__system.is-process-enhanced .process-journey__route .process-journey__milestone-body {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.process-journey__system.is-process-enhanced .process-journey__route .process-journey__milestone-title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.process-journey__system.is-process-enhanced .process-journey__route .process-journey__station.is-step-active .process-journey__milestone-title {
	position: static;
	width: auto;
	height: auto;
	overflow: visible;
	clip: auto;
	white-space: normal;
}

.process-journey__route .process-journey__station:hover,
.process-journey__route .process-journey__station:focus-visible,
.process-journey__route .process-journey__station.is-step-active {
	color: var(--color-dark);
	transform: translateY(-0.18rem);
	outline: 0;
}

.process-journey__route .process-journey__station:hover .process-journey__milestone-number,
.process-journey__route .process-journey__station:focus-visible .process-journey__milestone-number,
.process-journey__route .process-journey__station.is-step-active .process-journey__milestone-number {
	transform: none;
	color: rgba(138, 106, 54, 1);
}

.process-journey__route .process-journey__station.is-step-active .process-journey__milestone-title {
	color: #050706;
}

.process-journey__system.is-process-enhanced .process-journey__route .process-journey__station.is-step-active .process-journey__milestone-title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.process-journey__route .process-journey__station:focus-visible .process-journey__station-dot,
.process-journey__route .process-journey__station:hover .process-journey__station-dot,
.process-journey__route .process-journey__station.is-step-complete .process-journey__station-dot,
.process-journey__route .process-journey__station.is-step-active .process-journey__station-dot {
	background: rgba(210, 179, 118, 1);
	box-shadow:
		0 0 0 0.28rem rgba(255, 252, 246, 0.92),
		0 0 0 0.56rem rgba(210, 179, 118, 0.12),
		0 0 1.25rem rgba(138, 106, 54, 0.24);
	transform: translate(-50%, 50%) scale(1.08);
}

.process-journey__route .process-journey__station.is-step-active .process-journey__station-dot {
	transform: translate(-50%, 50%) scale(1.28);
}

@media (max-width: 720px) {
	.process-journey__system {
		display: flex;
		flex-direction: column;
		gap: 1.35rem;
		min-height: 0;
		overflow: visible;
	}

	.process-journey__route-board {
		position: relative;
		inset: auto;
		order: 1;
		min-height: 0;
		padding: 0;
		overflow: visible;
	}

	.process-journey__route-scale {
		display: none;
	}

	.process-journey__route li:hover,
	.process-journey__route li:focus-within,
	.process-journey__route li.is-step-active {
		transform: none;
	}

	.process-journey__system.is-process-enhanced .process-journey__route .process-journey__milestone-title {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}

	.process-journey__route .process-journey__station {
		padding: 0.92rem 0 0.92rem 0.95rem;
	}

	.process-journey__route .process-journey__station::before {
		left: -1.15rem;
		top: 1.43rem;
		bottom: auto;
		width: 1.35rem;
		height: 1px;
		transform: none;
	}

	.process-journey__route .process-journey__station-dot {
		left: -1.38rem;
		top: 1.43rem;
		bottom: auto;
		transform: translateY(-50%);
	}

	.process-journey__route .process-journey__station:focus-visible .process-journey__station-dot,
	.process-journey__route .process-journey__station:hover .process-journey__station-dot,
	.process-journey__route .process-journey__station.is-step-complete .process-journey__station-dot,
	.process-journey__route .process-journey__station.is-step-active .process-journey__station-dot {
		transform: translateY(-50%) scale(1.08);
	}

	.process-journey__route .process-journey__station.is-step-active .process-journey__station-dot {
		transform: translateY(-50%) scale(1.2);
	}

	.process-journey__stage {
		position: relative;
		inset: auto;
		order: 2;
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.1rem;
		padding-top: 1.2rem;
		border-top: 1px solid rgba(23, 26, 24, 0.1);
	}

	.process-journey__stage-copy {
		grid-template-columns: 1fr;
	}

	.process-journey__stage-copy small,
	.process-journey__stage-copy h3,
	.process-journey__stage-copy p {
		grid-column: auto;
	}

	.process-journey__stage-copy h3 {
		font-size: clamp(2rem, 11vw, 3.25rem);
	}

	.process-journey__ghost-number {
		display: none;
	}
}

/* Premium construction route art direction. */
.section--process-journey {
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.026) 1px, transparent 1px) 0 0 / 8.333% 100%,
		radial-gradient(circle at 84% 22%, rgba(175, 139, 84, 0.12), transparent 25%),
		linear-gradient(180deg, #f8f3ea 0%, #eee5d8 100%);
}

.process-journey {
	gap: clamp(3.2rem, 5.8vw, 6.8rem);
}

.process-journey__lead {
	grid-template-columns: minmax(0, 0.62fr) minmax(18rem, 0.34fr);
}

.process-journey__lead h2 {
	max-width: 14.8ch;
	letter-spacing: -0.065em;
}

.process-journey__system {
	--process-progress: 0.035;
	--process-truck-x: 34px;
	--process-truck-y: 342px;
	--process-truck-angle: -2deg;
	min-height: clamp(43rem, 58vw, 52rem);
	border: 1px solid rgba(23, 26, 24, 0.075);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.027) 1px, transparent 1px) 0 0 / 10% 100%,
		linear-gradient(180deg, rgba(255, 253, 248, 0.9), rgba(239, 231, 218, 0.9));
	box-shadow:
		0 38px 86px rgba(23, 26, 24, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.process-journey__system::before {
	right: clamp(2rem, 4vw, 4.8rem);
	bottom: clamp(1.4rem, 2vw, 2.2rem);
	width: clamp(16rem, 36vw, 37rem);
	height: clamp(10rem, 20vw, 22rem);
	background:
		linear-gradient(90deg, rgba(138, 106, 54, 0.12) 1px, transparent 1px) 0 100% / 16% 62% no-repeat,
		linear-gradient(180deg, rgba(138, 106, 54, 0.11) 1px, transparent 1px) 0 100% / 100% 34% no-repeat,
		linear-gradient(155deg, transparent 0 51%, rgba(138, 106, 54, 0.13) 51.2% 51.55%, transparent 51.75%) 0 0 / 100% 100%;
	opacity: 0.36;
}

.process-journey__drafting {
	position: absolute;
	z-index: 0;
	right: clamp(1rem, 2.4vw, 2.8rem);
	bottom: clamp(1.2rem, 2.5vw, 3rem);
	width: min(54rem, 58vw);
	max-width: 72%;
	color: rgba(92, 78, 56, 0.24);
	opacity: 0.5;
	pointer-events: none;
}

.process-journey__drafting path,
.process-journey__drafting circle {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.1;
	vector-effect: non-scaling-stroke;
}

.process-journey__route-board {
	z-index: 2;
}

.process-journey__route-line {
	z-index: 2;
	inset: clamp(6.4rem, 8.2vw, 8.4rem) clamp(2.2rem, 4.5vw, 5.2rem) clamp(13.8rem, 17vw, 16rem);
	filter:
		drop-shadow(0 26px 26px rgba(23, 26, 24, 0.12))
		drop-shadow(0 8px 20px rgba(23, 26, 24, 0.1));
}

.process-journey__route-base {
	stroke: #121511;
	stroke-width: 46;
}

.process-journey__route-lane {
	stroke: rgba(222, 190, 126, 0.78);
	stroke-width: 2;
	stroke-dasharray: 0.026 0.034;
}

.process-journey__route-fill {
	stroke: rgba(221, 185, 112, 0.98);
	stroke-width: 6.5;
	stroke-dasharray: var(--process-progress) 1;
	stroke-dashoffset: 0;
	filter: drop-shadow(0 0 13px rgba(151, 112, 58, 0.28));
	transition: stroke-dasharray 1180ms cubic-bezier(0.65, 0, 0.18, 1);
}

.process-journey__route-sheen {
	stroke: rgba(255, 248, 226, 0.86);
	stroke-width: 10;
	stroke-dasharray: 0.045 1;
	filter: blur(0.4px) drop-shadow(0 0 14px rgba(151, 112, 58, 0.2));
}

.process-journey__system.is-interacting .process-journey__route-sheen {
	animation-duration: 1650ms;
	animation-timing-function: cubic-bezier(0.65, 0, 0.18, 1);
}

.process-journey__truck {
	color: #f4dfae;
	transform: translate(var(--process-truck-x), var(--process-truck-y)) rotate(var(--process-truck-angle)) scale(0.82);
	transform-box: view-box;
	transform-origin: 0 0;
	transition: transform 1180ms cubic-bezier(0.65, 0, 0.18, 1);
	filter:
		drop-shadow(0 8px 10px rgba(23, 26, 24, 0.34))
		drop-shadow(0 0 12px rgba(221, 185, 112, 0.16));
}

.process-journey__truck-shadow {
	fill: none;
	stroke: rgba(0, 0, 0, 0.26);
	stroke-width: 5;
	stroke-linecap: round;
	opacity: 0.42;
}

.process-journey__truck-body,
.process-journey__truck-cab,
.process-journey__truck-bed,
.process-journey__truck-line,
.process-journey__truck-wheel {
	fill: rgba(18, 21, 17, 0.95);
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.process-journey__truck-cab,
.process-journey__truck-line {
	fill: none;
}

.process-journey__truck-wheel {
	fill: #f8f3ea;
	stroke-width: 2.4;
}

.process-journey__mobile-truck {
	display: none;
}

.process-journey__route {
	inset: clamp(6.4rem, 8.2vw, 8.4rem) clamp(2.2rem, 4.5vw, 5.2rem) clamp(13.8rem, 17vw, 16rem);
	z-index: 4;
}

.process-journey__route li,
.process-journey__route li:nth-child(1),
.process-journey__route li:nth-child(2),
.process-journey__route li:nth-child(3),
.process-journey__route li:nth-child(4),
.process-journey__route li:nth-child(5),
.process-journey__route li:nth-child(6) {
	width: clamp(7.2rem, 9.4vw, 10.5rem);
}

.process-journey__route .process-journey__station {
	gap: 0.2rem 0.62rem;
	padding-bottom: 3.8rem;
}

.process-journey__route .process-journey__station::before {
	height: clamp(2.5rem, 4vw, 3.8rem);
	background: linear-gradient(180deg, rgba(138, 106, 54, 0.12), rgba(138, 106, 54, 0.48));
}

.process-journey__route .process-journey__station-dot {
	width: 0.78rem;
	height: 0.78rem;
	background: var(--color-bg);
	box-shadow:
		0 0 0 0.18rem rgba(210, 179, 118, 0.42),
		0 0 0 0.48rem rgba(255, 252, 246, 0.86),
		0 0 1rem rgba(23, 26, 24, 0.16);
}

.process-journey__route .process-journey__station.is-step-complete .process-journey__station-dot,
.process-journey__route .process-journey__station.is-step-active .process-journey__station-dot {
	background: var(--color-gold);
	box-shadow:
		0 0 0 0.2rem rgba(255, 252, 246, 0.96),
		0 0 0 0.58rem rgba(220, 185, 119, 0.18),
		0 0 1.35rem rgba(143, 104, 51, 0.3);
}

.process-journey__route .process-journey__station.is-step-active .process-journey__station-dot {
	transform: translate(-50%, 50%) scale(1.36);
}

.process-journey__route .process-journey__milestone-number {
	font-size: clamp(1.55rem, 2.25vw, 2.35rem);
	color: rgba(151, 112, 58, 0.9);
}

.process-journey__route .process-journey__station small {
	font-size: 0.54rem;
	color: rgba(151, 112, 58, 0.7);
}

.process-journey__route .process-journey__milestone-title {
	max-width: 8.6rem;
	font-size: clamp(0.78rem, 0.82vw, 0.92rem);
}

.process-journey__stage {
	z-index: 5;
	left: clamp(2rem, 4.6vw, 5rem);
	right: clamp(2rem, 4.6vw, 5rem);
	bottom: clamp(1.7rem, 3vw, 3.4rem);
	display: grid;
	grid-template-columns: minmax(8rem, 0.2fr) minmax(0, 0.8fr);
	align-items: end;
	padding: clamp(1.15rem, 1.8vw, 1.6rem) 0 0;
	border-top: 1px solid rgba(23, 26, 24, 0.12);
}

.process-journey__stage::before {
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	width: clamp(4rem, 9vw, 8rem);
	height: 1px;
	background: rgba(151, 112, 58, 0.78);
	transform: scaleX(var(--process-accent-scale));
	transform-origin: left center;
	transition: transform 820ms cubic-bezier(0.65, 0, 0.18, 1);
}

.process-journey__stage-meta {
	gap: 0.42rem;
	font-size: 0.66rem;
	font-weight: 850;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(23, 26, 24, 0.48);
}

.process-journey__stage-copy {
	grid-template-columns: minmax(10rem, 0.36fr) minmax(18rem, 0.64fr);
	max-width: 58rem;
}

.process-journey__stage-copy small {
	color: rgba(151, 112, 58, 0.85);
}

.process-journey__stage-copy h3 {
	max-width: 10ch;
	font-size: clamp(2.45rem, 4.1vw, 4.65rem);
	line-height: 0.88;
	letter-spacing: -0.055em;
}

.process-journey__stage-copy p {
	max-width: 35rem;
	font-size: clamp(1rem, 1.08vw, 1.16rem);
	color: rgba(23, 26, 24, 0.68);
}

.process-journey__ghost-number {
	right: clamp(1rem, 2vw, 2.2rem);
	bottom: -0.2rem;
	font-size: clamp(6rem, 11vw, 11rem);
	color: rgba(151, 112, 58, 0.052);
}

@media (max-width: 720px) {
	.process-journey__system {
		gap: 1.55rem;
		padding: clamp(1.15rem, 5vw, 1.65rem);
		background:
			linear-gradient(90deg, rgba(23, 26, 24, 0.032) 1px, transparent 1px) 0 0 / 16.66% 100%,
			linear-gradient(180deg, rgba(255, 253, 248, 0.92), rgba(239, 231, 218, 0.92));
	}

	.process-journey__drafting {
		right: -5rem;
		bottom: 2rem;
		width: 36rem;
		max-width: none;
		opacity: 0.32;
	}

	.process-journey__mobile-truck {
		position: absolute;
		z-index: 5;
		top: var(--process-mobile-truck-y, 1.45rem);
		left: 2.55rem;
		display: block;
		width: 2.9rem;
		height: 1.9rem;
		color: #dcb977;
		transform: translate(-57%, -50%) rotate(90deg);
		filter:
			drop-shadow(0 5px 8px rgba(23, 26, 24, 0.24))
			drop-shadow(0 0 10px rgba(151, 112, 58, 0.16));
		transition: top 880ms cubic-bezier(0.65, 0, 0.18, 1);
	}

	.process-journey__mobile-truck svg {
		display: block;
		width: 100%;
		height: 100%;
	}

	.process-journey__mobile-truck path,
	.process-journey__mobile-truck circle {
		fill: rgba(18, 21, 17, 0.95);
		stroke: currentColor;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.process-journey__mobile-truck path:nth-child(2) {
		fill: none;
	}

	.process-journey__mobile-truck circle {
		fill: #f8f3ea;
	}

	.process-journey__route {
		padding-left: 2.2rem;
		margin-bottom: 3.2rem;
	}

	.process-journey__route .process-journey__station {
		padding: 0.92rem 0 0.92rem 0.95rem;
	}

	.process-journey__system.is-process-enhanced .process-journey__route .process-journey__station.is-step-active .process-journey__milestone-title {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}

	.process-journey__stage {
		grid-template-columns: 1fr;
		padding-top: 1.45rem;
	}

	.process-journey__stage-meta {
		grid-template-columns: 1fr;
		gap: 0.42rem;
		font-size: 0.62rem;
	}

	.process-journey__stage-copy {
		grid-template-columns: 1fr;
		gap: 0.42rem;
		max-width: none;
	}

	.process-journey__stage-copy small,
	.process-journey__stage-copy h3,
	.process-journey__stage-copy p {
		grid-column: auto;
		max-width: none;
	}

	.process-journey__stage-copy h3 {
		font-size: clamp(2.2rem, 12vw, 3.7rem);
	}

	.process-journey__stage-copy p {
		font-size: 0.98rem;
		line-height: 1.62;
	}
}

/* Corrected split roadmap: visual road above, readable process row below. */
.process-journey__system {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: minmax(22rem, clamp(24rem, 43vw, 35rem)) auto;
	gap: clamp(1.6rem, 2.8vw, 2.6rem);
	min-height: 0;
	padding: clamp(1.2rem, 2.2vw, 2rem);
	overflow: hidden;
}

.process-journey__drafting {
	z-index: 1;
	right: clamp(1.1rem, 2.6vw, 3rem);
	bottom: clamp(4.7rem, 7vw, 7.4rem);
	width: min(50rem, 52vw);
	color: rgba(112, 95, 67, 0.36);
	opacity: 0.54;
}

.process-journey__route-board {
	position: relative;
	z-index: 2;
	inset: auto;
	order: 0;
	display: block;
	min-height: clamp(22rem, 43vw, 35rem);
	padding: 0;
	overflow: visible;
}

.process-journey__map-label {
	position: absolute;
	z-index: 7;
	top: clamp(0.7rem, 1.2vw, 1.1rem);
	left: clamp(1rem, 1.8vw, 2rem);
	margin: 0;
	padding-bottom: 0.48rem;
	border-bottom: 1px solid rgba(151, 112, 58, 0.36);
	font-size: clamp(0.62rem, 0.68vw, 0.76rem);
	font-weight: 850;
	line-height: 1;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(23, 26, 24, 0.62);
}

.process-journey__route-line {
	position: absolute;
	inset: clamp(2.2rem, 3.4vw, 3.6rem) clamp(1.2rem, 2vw, 2.4rem) clamp(1.8rem, 3vw, 3rem);
	display: block;
	width: auto;
	height: auto;
	overflow: visible;
}

.process-journey__route-line .process-journey__route-base,
.process-journey__route-line .process-journey__route-lane,
.process-journey__route-line .process-journey__route-fill,
.process-journey__route-line .process-journey__route-sheen {
	position: static !important;
	inset: auto !important;
	display: inline !important;
	width: auto !important;
	height: auto !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	fill: none !important;
	stroke-linecap: round;
	stroke-linejoin: round;
	transform: none !important;
	transform-origin: 0 0 !important;
	vector-effect: non-scaling-stroke;
}

.process-journey__route-scale {
	top: clamp(2.55rem, 3.2vw, 3.35rem);
	left: clamp(1rem, 1.8vw, 2rem);
	right: clamp(1rem, 1.8vw, 2rem);
	z-index: 4;
	color: rgba(23, 26, 24, 0.38);
}

.process-journey__route-base {
	stroke: #10130f;
	stroke-width: 44;
}

.process-journey__route-lane {
	stroke: rgba(222, 190, 126, 0.74);
	stroke-width: 2;
	stroke-dasharray: 0.026 0.034;
}

.process-journey__route-fill {
	stroke: rgba(218, 181, 109, 0.98);
	stroke-width: 7;
	stroke-dasharray: 0 1;
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 980ms cubic-bezier(0.65, 0, 0.18, 1);
}

.process-journey__route-sheen {
	transition: stroke-dashoffset 980ms cubic-bezier(0.65, 0, 0.18, 1);
}

.process-journey__road-marker {
	cursor: pointer;
	outline: none;
	transform-box: fill-box;
	transform-origin: center;
	transition:
		opacity 260ms var(--ease-out-soft),
		filter 460ms var(--ease-out-soft);
}

.process-journey__road-marker-halo {
	fill: rgba(248, 243, 234, 0.9);
	stroke: rgba(218, 181, 109, 0.28);
	stroke-width: 2;
	opacity: 0.7;
	transition: opacity 320ms var(--ease-out-soft), r 420ms cubic-bezier(0.65, 0, 0.18, 1);
}

.process-journey__road-marker-dot {
	fill: #f8f3ea;
	stroke: rgba(18, 21, 17, 0.76);
	stroke-width: 3;
	transition: fill 320ms var(--ease-out-soft), stroke 320ms var(--ease-out-soft), r 420ms cubic-bezier(0.65, 0, 0.18, 1);
}

.process-journey__road-marker-number {
	font-family: var(--font-heading);
	font-size: 25px;
	font-weight: 700;
	text-anchor: middle;
	fill: rgba(23, 26, 24, 0.42);
	letter-spacing: 0;
}

.process-journey__road-marker.is-step-complete .process-journey__road-marker-dot,
.process-journey__road-marker.is-step-active .process-journey__road-marker-dot {
	fill: #dcb977;
	stroke: #f8f3ea;
}

.process-journey__road-marker.is-step-active {
	filter: drop-shadow(0 0 14px rgba(151, 112, 58, 0.32));
}

.process-journey__road-marker.is-step-active .process-journey__road-marker-halo {
	opacity: 1;
	r: 30px;
	stroke: rgba(218, 181, 109, 0.5);
}

.process-journey__road-marker.is-step-active .process-journey__road-marker-dot {
	r: 13px;
}

.process-journey__road-marker.is-step-active .process-journey__road-marker-number {
	fill: rgba(23, 26, 24, 0.82);
}

.process-journey__system.is-interacting .process-journey__road-marker:not(.is-step-complete):not(.is-step-active) {
	opacity: 0.42;
}

.process-journey__truck {
	pointer-events: none;
}

.process-journey__marker-hitbox {
	position: absolute;
	z-index: 6;
	inset: clamp(2.2rem, 3.4vw, 3.6rem) clamp(1.2rem, 2vw, 2.4rem) clamp(1.8rem, 3vw, 3rem);
	pointer-events: none;
}

.process-journey__marker-hit {
	position: absolute;
	left: var(--marker-x);
	top: var(--marker-y);
	width: clamp(2.8rem, 4vw, 3.7rem);
	height: clamp(2.8rem, 4vw, 3.7rem);
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: transparent;
	cursor: pointer;
	pointer-events: auto;
	transform: translate(-50%, -50%);
	appearance: none;
}

.process-journey__marker-hit:focus-visible {
	outline: 1px solid rgba(151, 112, 58, 0.72);
	outline-offset: 0.28rem;
}

.process-journey__marker-hit span {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.process-journey__mobile-truck,
.process-journey__route,
.process-journey__stage {
	display: none;
}

.process-journey__steps {
	position: relative;
	z-index: 3;
	order: 1;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0;
	padding: clamp(1rem, 1.8vw, 1.35rem) 0 0;
	margin: 0;
	border-top: 1px solid rgba(23, 26, 24, 0.12);
	list-style: none;
}

.process-journey__step {
	position: relative;
	min-width: 0;
}

.process-journey__step::before {
	content: "";
	position: absolute;
	top: calc(clamp(1rem, 1.8vw, 1.35rem) * -1 - 1px);
	left: 0;
	width: 100%;
	height: 1px;
	background: rgba(218, 181, 109, 0.82);
	opacity: 0;
	transform: scaleX(0.35);
	transform-origin: left center;
	transition: opacity 320ms var(--ease-out-soft), transform 460ms cubic-bezier(0.65, 0, 0.18, 1);
}

.process-journey__step-button {
	display: grid;
	grid-template-rows: auto auto auto 1fr;
	gap: 0.5rem;
	width: 100%;
	min-height: clamp(14.5rem, 18vw, 17rem);
	padding: 0 clamp(0.75rem, 1.1vw, 1rem) 0 0;
	border: 0;
	border-right: 1px solid rgba(23, 26, 24, 0.1);
	background: transparent;
	color: #090b08;
	text-align: left;
	cursor: pointer;
	appearance: none;
	transition: opacity 280ms var(--ease-out-soft), transform 420ms cubic-bezier(0.65, 0, 0.18, 1);
}

.process-journey__step:last-child .process-journey__step-button {
	border-right: 0;
}

.process-journey__step-number {
	font-family: var(--font-heading);
	font-size: clamp(1.8rem, 2.6vw, 3rem);
	font-weight: 600;
	line-height: 0.9;
	letter-spacing: -0.03em;
	color: rgba(23, 26, 24, 0.42);
	transition: color 280ms var(--ease-out-soft), transform 420ms cubic-bezier(0.65, 0, 0.18, 1);
}

.process-journey__step-meta {
	font-size: 0.56rem;
	font-weight: 850;
	line-height: 1;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: rgba(151, 112, 58, 0.74);
}

.process-journey__step-title {
	max-width: 10rem;
	font-size: clamp(0.92rem, 1vw, 1.08rem);
	font-weight: 850;
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: #090b08;
}

.process-journey__step-body {
	max-width: 14.5rem;
	font-size: clamp(0.8rem, 0.86vw, 0.93rem);
	line-height: 1.55;
	color: rgba(23, 26, 24, 0.58);
	transition: color 280ms var(--ease-out-soft);
}

.process-journey__step.is-step-active::before {
	opacity: 1;
	transform: scaleX(1);
}

.process-journey__step.is-step-active .process-journey__step-button,
.process-journey__step-button:hover,
.process-journey__step-button:focus-visible {
	outline: 0;
	transform: translateY(-0.18rem);
}

.process-journey__step.is-step-active .process-journey__step-number,
.process-journey__step-button:hover .process-journey__step-number,
.process-journey__step-button:focus-visible .process-journey__step-number {
	color: rgba(151, 112, 58, 0.96);
	transform: translateY(-0.1rem);
}

.process-journey__step.is-step-active .process-journey__step-body,
.process-journey__step-button:hover .process-journey__step-body,
.process-journey__step-button:focus-visible .process-journey__step-body {
	color: rgba(23, 26, 24, 0.78);
}

.process-journey__system.is-interacting .process-journey__step:not(.is-step-active) .process-journey__step-button {
	opacity: 0.52;
}

@media (max-width: 1080px) {
	.process-journey__steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 1.35rem;
	}

	.process-journey__step:nth-child(3n) .process-journey__step-button {
		border-right: 0;
	}
}

@media (max-width: 720px) {
	.process-journey__system {
		display: grid;
		grid-template-rows: minmax(15rem, 50vw) auto;
		gap: 1.25rem;
		padding: 1rem;
		overflow: hidden;
	}

	.process-journey__route-board {
		min-height: clamp(15rem, 50vw, 19rem);
	}

	.process-journey__route-line {
		inset: 1.2rem 0.4rem 1rem;
		display: block;
	}

	.process-journey__marker-hitbox {
		inset: 1.2rem 0.4rem 1rem;
	}

	.process-journey__route-scale {
		display: none;
	}

	.process-journey__map-label {
		top: 0.45rem;
		left: 0.55rem;
		font-size: 0.58rem;
		letter-spacing: 0.18em;
	}

	.process-journey__route-base {
		stroke-width: 34;
	}

	.process-journey__route-fill {
		stroke-width: 5.5;
	}

	.process-journey__road-marker-number {
		font-size: 22px;
	}

	.process-journey__drafting {
		right: -8rem;
		bottom: 1.5rem;
		width: 40rem;
		opacity: 0.32;
	}

	.process-journey__steps {
		grid-template-columns: repeat(6, minmax(13.2rem, 1fr));
		gap: 0;
		overflow-x: auto;
		overflow-y: hidden;
		padding-bottom: 0.35rem;
		scroll-snap-type: x proximity;
	}

	.process-journey__step {
		scroll-snap-align: start;
	}

	.process-journey__step-button {
		min-height: 16rem;
		padding-right: 1rem;
	}

	.process-journey__step:nth-child(3n) .process-journey__step-button {
		border-right: 1px solid rgba(23, 26, 24, 0.1);
	}
}

/* Premium roadmap micro-motion polish. */
.process-journey__system {
	--process-ease-premium: cubic-bezier(0.16, 1, 0.3, 1);
	--process-gold: 218, 181, 109;
	--process-ink: 12, 15, 11;
	--process-paper: 248, 243, 234;
	--process-truck-scale: 0.76;
	gap: clamp(1.8rem, 3.4vw, 3rem);
	padding: clamp(1.25rem, 2.3vw, 2.15rem);
	border-color: rgba(23, 26, 24, 0.08);
	box-shadow:
		0 1.4rem 4.4rem rgba(23, 26, 24, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.process-journey__drafting {
	right: clamp(0.8rem, 2vw, 2.4rem);
	bottom: clamp(2.2rem, 4.5vw, 4.9rem);
	width: min(48rem, 50vw);
	color: rgba(112, 95, 67, 0.3);
	opacity: 0.46;
	transform: translate3d(var(--process-drift-x-soft, 0), var(--process-drift-y-soft, 0), 0);
	transition: opacity 520ms var(--process-ease-premium), transform 900ms var(--process-ease-premium);
}

.process-journey__map-label {
	padding-bottom: 0.55rem;
	border-bottom-color: rgba(var(--process-gold), 0.42);
	color: rgba(var(--process-ink), 0.58);
	letter-spacing: 0.24em;
}

.process-journey__route-scale {
	color: rgba(var(--process-ink), 0.34);
	letter-spacing: 0.2em;
}

.process-journey__route-base {
	stroke: rgb(var(--process-ink));
	stroke-width: 43;
	filter: drop-shadow(0 1.15rem 1.5rem rgba(23, 26, 24, 0.13));
}

.process-journey__route-lane {
	stroke: rgba(255, 253, 247, 0.78);
	stroke-width: 2;
	stroke-dasharray: 20 30;
	stroke-dashoffset: 4;
	opacity: 0.92;
}

.process-journey__route-fill {
	stroke: rgba(var(--process-gold), 0.96);
	stroke-width: 6.4;
	transition:
		stroke-dashoffset 920ms var(--process-ease-premium),
		stroke-width 360ms var(--process-ease-premium),
		filter 420ms var(--process-ease-premium);
	filter: drop-shadow(0 0 0.48rem rgba(var(--process-gold), 0.22));
}

.process-journey__system.is-interacting .process-journey__route-fill {
	stroke-width: 7;
	filter: drop-shadow(0 0 0.8rem rgba(var(--process-gold), 0.28));
}

.process-journey__route-sheen {
	stroke: rgba(255, 244, 212, 0.72);
	stroke-width: 8.5;
	opacity: 0;
	transition:
		opacity 360ms var(--process-ease-premium),
		stroke-dashoffset 920ms var(--process-ease-premium);
	filter: blur(0.35px) drop-shadow(0 0 0.65rem rgba(var(--process-gold), 0.24));
}

.process-journey__system.is-interacting .process-journey__route-sheen {
	opacity: 0.56;
}

.process-journey__road-marker {
	transition:
		opacity 360ms var(--process-ease-premium),
		filter 420ms var(--process-ease-premium),
		transform 420ms var(--process-ease-premium);
}

.process-journey__road-marker-halo {
	fill: rgba(var(--process-paper), 0.92);
	stroke: rgba(var(--process-gold), 0.24);
	stroke-width: 1.65;
	opacity: 0.58;
	transition:
		opacity 320ms var(--process-ease-premium),
		r 520ms var(--process-ease-premium),
		stroke 320ms var(--process-ease-premium);
}

.process-journey__road-marker-dot {
	fill: rgb(var(--process-paper));
	stroke: rgba(var(--process-ink), 0.74);
	stroke-width: 2.7;
	transition:
		fill 320ms var(--process-ease-premium),
		stroke 320ms var(--process-ease-premium),
		r 520ms var(--process-ease-premium),
		filter 360ms var(--process-ease-premium);
}

.process-journey__road-marker-number {
	fill: rgba(var(--process-ink), 0.4);
	transition: fill 300ms var(--process-ease-premium), transform 420ms var(--process-ease-premium);
}

.process-journey__road-marker.is-step-complete .process-journey__road-marker-halo {
	opacity: 0.78;
	stroke: rgba(var(--process-gold), 0.38);
}

.process-journey__road-marker.is-step-complete .process-journey__road-marker-dot {
	fill: rgba(var(--process-gold), 0.88);
	stroke: rgba(var(--process-paper), 0.96);
	filter: drop-shadow(0 0 0.36rem rgba(var(--process-gold), 0.22));
}

.process-journey__road-marker.is-step-active {
	filter: drop-shadow(0 0 0.85rem rgba(var(--process-gold), 0.34));
}

.process-journey__road-marker.is-step-active .process-journey__road-marker-halo {
	r: 31px;
	opacity: 1;
	stroke: rgba(var(--process-gold), 0.58);
}

.process-journey__road-marker.is-step-active .process-journey__road-marker-dot {
	r: 13px;
	fill: rgb(var(--process-gold));
}

.process-journey__road-marker.is-step-active .process-journey__road-marker-number {
	fill: rgba(var(--process-ink), 0.86);
}

.process-journey__system.is-interacting .process-journey__road-marker:not(.is-step-complete):not(.is-step-active) {
	opacity: 0.34;
}

.process-journey__truck {
	color: rgba(239, 210, 151, 0.96);
	transform: translate(var(--process-truck-x), var(--process-truck-y)) rotate(var(--process-truck-angle)) scale(0.76);
	transition: transform 920ms var(--process-ease-premium), filter 420ms var(--process-ease-premium);
	filter: drop-shadow(0 0.52rem 0.58rem rgba(23, 26, 24, 0.23)) drop-shadow(0 0 0.45rem rgba(var(--process-gold), 0.16));
}

.process-journey__system.is-interacting .process-journey__truck {
	filter: drop-shadow(0 0.62rem 0.68rem rgba(23, 26, 24, 0.25)) drop-shadow(0 0 0.75rem rgba(var(--process-gold), 0.22));
}

.process-journey__truck-shadow {
	stroke: rgba(23, 26, 24, 0.32);
	stroke-width: 4.5;
}

.process-journey__truck-body,
.process-journey__truck-cab,
.process-journey__truck-bed,
.process-journey__truck-line,
.process-journey__truck-wheel {
	fill: rgba(var(--process-ink), 0.96);
	stroke: currentColor;
	stroke-width: 1.65;
}

.process-journey__truck-cab,
.process-journey__truck-line {
	fill: none;
}

.process-journey__truck-wheel {
	fill: rgb(var(--process-paper));
	stroke-width: 2;
}

.process-journey__steps {
	padding-top: clamp(1.15rem, 2vw, 1.65rem);
	border-top-color: rgba(var(--process-ink), 0.1);
}

.process-journey__step::before {
	top: calc(clamp(1.15rem, 2vw, 1.65rem) * -1 - 1px);
	background: linear-gradient(90deg, rgba(var(--process-gold), 0.96), rgba(var(--process-gold), 0.18));
	transition: opacity 340ms var(--process-ease-premium), transform 620ms var(--process-ease-premium);
}

.process-journey__step-button {
	gap: 0.52rem;
	min-height: clamp(14rem, 17vw, 16.4rem);
	padding: 0 clamp(0.75rem, 1.15vw, 1.05rem) 0.25rem 0;
	border-right-color: rgba(var(--process-ink), 0.095);
	color: rgb(var(--process-ink));
	transition:
		opacity 340ms var(--process-ease-premium),
		transform 520ms var(--process-ease-premium),
		background-color 360ms var(--process-ease-premium);
}

.process-journey__step-button:hover,
.process-journey__step-button:focus-visible,
.process-journey__step.is-step-active .process-journey__step-button {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0));
}

.process-journey__step-button:focus-visible {
	outline: 1px solid rgba(var(--process-gold), 0.74);
	outline-offset: 0.28rem;
}

.process-journey__step-number {
	color: rgba(var(--process-ink), 0.36);
	transition: color 320ms var(--process-ease-premium), transform 540ms var(--process-ease-premium);
}

.process-journey__step-meta {
	color: rgba(151, 112, 58, 0.66);
	transition: color 320ms var(--process-ease-premium), opacity 320ms var(--process-ease-premium);
}

.process-journey__step-title {
	max-width: 10.5rem;
	color: rgba(var(--process-ink), 0.92);
	transition: color 320ms var(--process-ease-premium), transform 520ms var(--process-ease-premium);
}

.process-journey__step-body {
	color: rgba(var(--process-ink), 0.54);
	font-weight: 520;
	transition: color 340ms var(--process-ease-premium), opacity 340ms var(--process-ease-premium);
}

.process-journey__step.is-step-complete:not(.is-step-active) .process-journey__step-number {
	color: rgba(151, 112, 58, 0.54);
}

.process-journey__step.is-step-active .process-journey__step-button,
.process-journey__step-button:hover,
.process-journey__step-button:focus-visible {
	transform: translateY(-0.28rem);
}

.process-journey__step.is-step-active .process-journey__step-number,
.process-journey__step-button:hover .process-journey__step-number,
.process-journey__step-button:focus-visible .process-journey__step-number {
	color: rgba(151, 112, 58, 0.98);
	transform: translateY(-0.12rem);
}

.process-journey__step.is-step-active .process-journey__step-title,
.process-journey__step-button:hover .process-journey__step-title,
.process-journey__step-button:focus-visible .process-journey__step-title {
	color: rgb(var(--process-ink));
	transform: translateY(-0.04rem);
}

.process-journey__step.is-step-active .process-journey__step-body,
.process-journey__step-button:hover .process-journey__step-body,
.process-journey__step-button:focus-visible .process-journey__step-body {
	color: rgba(var(--process-ink), 0.76);
}

.process-journey__system.is-interacting .process-journey__step:not(.is-step-active) .process-journey__step-button {
	opacity: 0.5;
}

@media (max-width: 720px) {
	.process-journey__system {
		gap: 1.45rem;
		--process-truck-scale: 0.68;
	}

	.process-journey__drafting {
		right: -9rem;
		bottom: 0.65rem;
		width: 39rem;
		opacity: 0.28;
	}

	.process-journey__route-base {
		stroke-width: 33;
	}

	.process-journey__route-lane {
		stroke-width: 1.8;
		stroke-dasharray: 16 24;
	}

	.process-journey__route-fill {
		stroke-width: 5.4;
	}

	.process-journey__route-sheen {
		stroke-width: 7;
	}

	.process-journey__truck {
		transform: translate(var(--process-truck-x), var(--process-truck-y)) rotate(var(--process-truck-angle)) scale(0.68);
	}

	.process-journey__steps {
		padding-top: 1.2rem;
	}

	.process-journey__step::before {
		top: calc(-1.2rem - 1px);
	}

	.process-journey__step-button {
		min-height: 15.25rem;
	}
}

/* Roadmap premium lift: stronger art direction without changing the approved layout. */
.process-journey__system {
	--process-truck-scale: 0.72;
	grid-template-rows: minmax(24rem, clamp(26rem, 46vw, 38rem)) auto;
	padding: clamp(1.45rem, 2.8vw, 2.45rem);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.035) 1px, transparent 1px) 0 0 / 10% 100%,
		radial-gradient(circle at 82% 20%, rgba(218, 181, 109, 0.13), transparent 25%),
		radial-gradient(circle at 15% 78%, rgba(23, 26, 24, 0.055), transparent 24%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.1) 42%, rgba(232, 225, 213, 0.22)),
		linear-gradient(180deg, #f6f1e8 0%, #ebe3d6 100%);
}

.process-journey__route-board {
	min-height: clamp(24rem, 46vw, 38rem);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.035) 1px, transparent 1px) 0 0 / 10% 100%,
		linear-gradient(180deg, rgba(23, 26, 24, 0.035) 1px, transparent 1px) 0 0 / 100% 24%,
		radial-gradient(circle at 18% 70%, rgba(218, 181, 109, 0.1), transparent 18%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0));
	box-shadow:
		inset 0 0 0 1px rgba(23, 26, 24, 0.055),
		0 1.5rem 3.6rem rgba(23, 26, 24, 0.07);
}

.process-journey__route-line {
	inset: clamp(2.25rem, 3.2vw, 3.8rem) clamp(1rem, 1.8vw, 2.1rem) clamp(2rem, 3vw, 3.25rem);
	filter: drop-shadow(0 1.45rem 1.15rem rgba(23, 26, 24, 0.11));
}

.process-journey__route-base {
	stroke: #090c08;
	stroke-width: 47;
	filter:
		drop-shadow(0 1.55rem 1.7rem rgba(23, 26, 24, 0.2))
		drop-shadow(0 0.2rem 0.1rem rgba(255, 255, 255, 0.16));
}

.process-journey__route-lane {
	stroke: rgba(255, 253, 247, 0.86);
	stroke-width: 2.2;
	stroke-dasharray: 17 28;
	stroke-dashoffset: 3;
	opacity: 0.94;
}

.process-journey__route-fill {
	stroke: rgba(var(--process-gold), 0.98);
	stroke-width: 8.4;
	transition:
		stroke-dashoffset 980ms var(--process-ease-premium),
		stroke-width 420ms var(--process-ease-premium),
		filter 460ms var(--process-ease-premium);
	filter:
		drop-shadow(0 0 0.72rem rgba(var(--process-gold), 0.3))
		drop-shadow(0 0.2rem 0.15rem rgba(255, 249, 230, 0.18));
}

.process-journey__system.is-interacting .process-journey__route-fill,
.process-journey__system.is-route-moving .process-journey__route-fill {
	stroke-width: 9.2;
	filter:
		drop-shadow(0 0 1rem rgba(var(--process-gold), 0.34))
		drop-shadow(0 0.2rem 0.15rem rgba(255, 249, 230, 0.22));
}

.process-journey__route-sheen {
	stroke: rgba(255, 245, 218, 0.76);
	stroke-width: 12;
	opacity: 0.08;
	mix-blend-mode: screen;
	transition:
		opacity 420ms var(--process-ease-premium),
		stroke-dashoffset 980ms var(--process-ease-premium);
}

.process-journey__system.is-route-moving .process-journey__route-sheen {
	animation: process-route-glide 1080ms var(--process-ease-premium) both;
}

.process-journey__road-marker-halo {
	fill: rgba(248, 243, 234, 0.84);
	stroke-width: 1.35;
}

.process-journey__road-marker-dot {
	stroke-width: 2.4;
}

.process-journey__road-marker.is-step-complete:not(.is-step-active) .process-journey__road-marker-halo {
	opacity: 0.9;
	r: 25px;
}

.process-journey__road-marker.is-step-complete:not(.is-step-active) .process-journey__road-marker-dot {
	r: 10.5px;
}

.process-journey__road-marker.is-step-active .process-journey__road-marker-halo {
	r: 33px;
	fill: rgba(248, 243, 234, 0.96);
	stroke: rgba(var(--process-gold), 0.68);
}

.process-journey__road-marker.is-step-active .process-journey__road-marker-dot {
	r: 12.4px;
	filter:
		drop-shadow(0 0 0.42rem rgba(var(--process-gold), 0.38))
		drop-shadow(0 0.2rem 0.16rem rgba(23, 26, 24, 0.16));
}

.process-journey__truck {
	color: rgba(241, 214, 158, 0.96);
	transition: transform 980ms var(--process-ease-premium), filter 520ms var(--process-ease-premium);
	filter:
		drop-shadow(0 0.62rem 0.62rem rgba(23, 26, 24, 0.22))
		drop-shadow(0 0 0.46rem rgba(var(--process-gold), 0.18));
}

.process-journey__truck-body,
.process-journey__truck-cab,
.process-journey__truck-bed,
.process-journey__truck-line,
.process-journey__truck-wheel {
	stroke-width: 1.45;
}

.process-journey__truck-line {
	opacity: 0.78;
}

.process-journey__truck-wheel {
	fill: rgba(255, 252, 244, 0.94);
}

.process-journey__system.is-route-moving .process-journey__truck {
	filter:
		drop-shadow(0 0.72rem 0.7rem rgba(23, 26, 24, 0.24))
		drop-shadow(0 0 0.88rem rgba(var(--process-gold), 0.26));
}

.process-journey__drafting {
	color: rgba(112, 95, 67, 0.27);
	opacity: 0.5;
}

.process-journey__steps {
	gap: clamp(0.2rem, 0.45vw, 0.42rem);
	padding-top: clamp(1.35rem, 2.3vw, 1.85rem);
}

.process-journey__step::before {
	top: calc(clamp(1.35rem, 2.3vw, 1.85rem) * -1 - 1px);
	height: 2px;
}

.process-journey__step-button {
	min-height: clamp(14.2rem, 17vw, 16.8rem);
	padding: clamp(0.08rem, 0.35vw, 0.32rem) clamp(0.82rem, 1.2vw, 1.15rem) 0.38rem 0;
}

.process-journey__step.is-step-active .process-journey__step-button {
	transform: translateY(-0.38rem);
}

.process-journey__step.is-step-active .process-journey__step-number {
	transform: translateY(-0.16rem) scale(1.03);
}

.process-journey__step.is-step-active .process-journey__step-meta {
	color: rgba(151, 112, 58, 0.92);
}

.process-journey__step.is-step-active .process-journey__step-title {
	transform: translateY(-0.08rem);
}

.process-journey__system.is-interacting .process-journey__step:not(.is-step-active) .process-journey__step-button {
	opacity: 0.44;
}

@keyframes process-route-glide {
	0% {
		opacity: 0.08;
	}

	35% {
		opacity: 0.58;
	}

	100% {
		opacity: 0.14;
	}
}

@media (max-width: 720px) {
	.process-journey__lead {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.15rem;
	}

	.process-journey__lead h2 {
		max-width: 9.4ch;
		font-size: clamp(3.15rem, 14.5vw, 4.35rem);
		line-height: 0.86;
		letter-spacing: -0.06em;
	}

	.process-journey__lead .lead {
		width: min(100%, 23rem);
		max-width: 23rem;
		font-size: 1rem;
		line-height: 1.58;
	}

	.process-journey__system {
		--process-truck-scale: 0.64;
		grid-template-rows: minmax(16rem, 54vw) auto;
		padding: 1rem;
	}

	.process-journey__route-board {
		min-height: clamp(16rem, 54vw, 20rem);
	}

	.process-journey__route-base {
		stroke-width: 35;
	}

	.process-journey__route-fill {
		stroke-width: 6.1;
	}

	.process-journey__system.is-interacting .process-journey__route-fill,
	.process-journey__system.is-route-moving .process-journey__route-fill {
		stroke-width: 6.6;
	}

	.process-journey__road-marker.is-step-active .process-journey__road-marker-halo {
		r: 29px;
	}

	.process-journey__step-button {
		min-height: 14.8rem;
	}
}

/* Homepage consolidation pass: controlled score improvements. */
.section--projects-showcase {
	padding-block: clamp(5.8rem, 8vw, 9.4rem);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.032) 1px, transparent 1px) 0 0 / 12.5% 100%,
		linear-gradient(180deg, rgba(255, 255, 255, 0.58), transparent 30%),
		radial-gradient(circle at 83% 12%, rgba(151, 112, 58, 0.085), transparent 25%),
		linear-gradient(180deg, #f3f0e9 0%, #e9e3d8 100%);
}

.projects-showcase__intro {
	grid-template-columns: minmax(0, 0.58fr) minmax(21rem, 0.42fr);
	align-items: end;
	margin-bottom: clamp(2.4rem, 4vw, 4.25rem);
	padding-bottom: clamp(1.35rem, 2vw, 1.9rem);
	border-bottom-color: rgba(23, 26, 24, 0.12);
}

.projects-showcase__intro h2 {
	max-width: 16ch;
	font-size: clamp(2.85rem, 4.55vw, 5.25rem);
	line-height: 0.88;
}

.projects-showcase__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(2.2rem, 3.7vw, 4rem);
	align-items: start;
}

.projects-showcase__slider {
	min-width: 0;
	gap: clamp(1.05rem, 1.8vw, 1.55rem);
}

.projects-showcase__slides {
	padding-right: 0;
}

.projects-showcase__arrow-controls {
	top: clamp(16.75rem, 31.25vw, 25rem);
	right: clamp(0.9rem, 1.55vw, 1.45rem);
	left: clamp(0.9rem, 1.55vw, 1.45rem);
	display: flex;
	gap: 0;
	justify-content: space-between;
	transform: translateY(-50%);
}

.project-card--featured .project-card__image {
	min-height: clamp(34rem, 48vw, 50rem);
	box-shadow: 0 34px 82px rgba(23, 26, 24, 0.13);
}

.project-card--featured .project-card__image::after {
	background:
		linear-gradient(90deg, rgba(16, 22, 19, 0.03), transparent 46%, rgba(16, 22, 19, 0.05)),
		linear-gradient(180deg, transparent 78%, rgba(16, 22, 19, 0.08));
}

.project-card__featured-stage {
	padding-right: 0;
	background: transparent;
}

.project-card--featured .project-card__body {
	position: relative;
	right: auto;
	bottom: auto;
	z-index: 3;
	grid-template-columns: minmax(0, 0.7fr) minmax(12rem, 0.3fr);
	gap: clamp(1.2rem, 2.5vw, 2.8rem);
	width: min(68rem, calc(100% - clamp(2rem, 8vw, 8rem)));
	margin: clamp(-3.2rem, -3.9vw, -2.05rem) 0 0 clamp(1.1rem, 3.8vw, 4.8rem);
	padding: clamp(1.35rem, 2.25vw, 2.2rem);
	border: 1px solid rgba(23, 26, 24, 0.1);
	border-left: 3px solid rgba(151, 112, 58, 0.55);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.64), rgba(255, 255, 255, 0.2)),
		rgba(242, 239, 232, 0.92);
	box-shadow: 0 24px 62px rgba(23, 26, 24, 0.12);
	color: var(--color-text);
	backdrop-filter: blur(14px);
}

.project-card--featured .project-card__header {
	display: grid;
	grid-column: 1;
	gap: clamp(0.65rem, 1vw, 0.9rem);
}

.project-card--featured .project-card__meta-row {
	gap: 0.75rem;
	align-items: center;
	font-size: 0.66rem;
	color: rgba(80, 85, 79, 0.74);
}

.project-card--featured .project-card__meta-row .eyebrow {
	color: rgba(151, 112, 58, 0.86);
}

.project-card--featured .project-card__meta-tag {
	color: rgba(80, 85, 79, 0.68);
}

.project-card--featured .project-card__details {
	gap: 0;
	margin-top: clamp(1rem, 1.9vw, 1.7rem);
	padding-top: clamp(1.1rem, 1.8vw, 1.55rem);
	border-top: 1px solid rgba(23, 26, 24, 0.12);
	background: transparent;
}

.project-card--featured h3 {
	max-width: 18ch;
	font-size: clamp(2.05rem, 3.15vw, 3.55rem);
	line-height: 0.93;
	letter-spacing: -0.055em;
	color: var(--color-dark);
}

.project-card--featured .project-card__summary {
	grid-column: 1;
	max-width: 31rem;
	font-size: clamp(0.95rem, 1.04vw, 1.08rem);
	line-height: 1.64;
	color: rgba(23, 26, 24, 0.68);
}

.project-card--featured .project-card__footer {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: end;
	justify-content: flex-end;
	padding-top: 0;
}

.project-card--featured .project-card__footer,
.project-card--featured .text-link {
	color: var(--color-dark);
}

.project-card--featured .project-card__detail {
	padding-block: 0.1rem 0;
}

.project-card--featured .project-card__detail strong {
	margin-bottom: 0.18rem;
	color: rgba(80, 85, 79, 0.62);
}

.project-card--featured .project-card__detail span {
	font-size: clamp(0.95rem, 1.08vw, 1.08rem);
	font-weight: 650;
	line-height: 1.35;
	color: rgba(23, 26, 24, 0.88);
}

.projects-showcase__controls {
	justify-content: space-between;
	padding-top: 0;
}

.projects-showcase__arrow {
	width: clamp(2.65rem, 3.1vw, 3.15rem);
	height: clamp(2.65rem, 3.1vw, 3.15rem);
	border-color: rgba(255, 255, 255, 0.62);
	border-radius: 999px;
	background: rgba(13, 18, 16, 0.5);
	backdrop-filter: blur(14px);
	box-shadow:
		0 14px 34px rgba(5, 8, 7, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.16);
	color: #fff;
}

.projects-showcase__arrow:hover,
.projects-showcase__arrow:focus-visible {
	border-color: rgba(255, 255, 255, 0.88);
	background: var(--color-bg);
	box-shadow:
		0 18px 42px rgba(5, 8, 7, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.42);
	color: var(--color-dark);
}

.projects-showcase__arrow:focus-visible {
	outline: 2px solid rgba(151, 112, 58, 0.62);
	outline-offset: 3px;
}

.projects-showcase__supporting {
	display: grid;
	grid-template-columns: minmax(12rem, 0.18fr) minmax(0, 1fr);
	gap: clamp(1.4rem, 2.8vw, 3rem);
	align-items: start;
	min-width: 0;
	padding-top: clamp(1.35rem, 2.2vw, 2rem);
	border-top: 1px solid rgba(23, 26, 24, 0.12);
}

.projects-showcase__supporting-label {
	margin: 0;
	font-size: 0.64rem;
	font-weight: 850;
	letter-spacing: 0.18em;
	line-height: 1;
	text-transform: uppercase;
	color: rgba(80, 85, 79, 0.66);
}

.projects-showcase__supporting-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.8rem);
}

.project-card--supporting {
	display: grid;
	grid-template-columns: minmax(7rem, 0.38fr) minmax(0, 0.62fr);
	gap: clamp(0.85rem, 1.35vw, 1.2rem);
	align-items: stretch;
	overflow: visible;
	border-top: 1px solid rgba(23, 26, 24, 0.1);
	border-right: 0;
	border-bottom: 0;
	border-left: 0;
	border-radius: 0;
	padding-top: clamp(1rem, 1.45vw, 1.25rem);
	background: transparent;
	box-shadow: none;
}

.project-card--supporting .project-card__image {
	aspect-ratio: 5 / 4;
	min-height: 100%;
	margin-bottom: 0;
	background: var(--color-surface-strong);
}

.project-card--supporting .project-card__body {
	display: grid;
	gap: 0.55rem;
	align-content: start;
	padding: 0;
}

.project-card--supporting .project-card__meta-row {
	display: flex;
	justify-content: flex-start;
	gap: 0.55rem 0.75rem;
}

.project-card--supporting .project-card__meta-row .eyebrow,
.project-card--supporting .project-card__meta-tag {
	font-size: 0.58rem;
	letter-spacing: 0.16em;
	color: rgba(80, 85, 79, 0.72);
}

.project-card--supporting h3 {
	max-width: 14ch;
	font-size: clamp(1.05rem, 1.28vw, 1.32rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.project-card--supporting .project-card__summary {
	display: none;
}

.project-card--supporting .project-card__scope {
	display: grid;
	gap: 0.3rem;
	padding: 0;
	margin: 0;
	list-style: none;
	font-size: 0.82rem;
	line-height: 1.35;
	color: rgba(23, 26, 24, 0.62);
}

.project-card--supporting .project-card__scope li + li {
	display: none;
}

.project-card--supporting .project-card__footer {
	align-self: end;
	padding-top: 0.35rem;
	font-size: 0.86rem;
}

.section--process-journey {
	padding-block: clamp(5.2rem, 7.4vw, 8.4rem);
}

.process-journey {
	gap: clamp(2.4rem, 4.2vw, 4.8rem);
}

.process-journey__lead h2 {
	max-width: 13.6ch;
	font-size: clamp(2.7rem, 4.6vw, 5.4rem);
}

.process-journey__lead .lead {
	max-width: 34rem;
}

.process-journey__system {
	grid-template-rows: minmax(22rem, clamp(24rem, 39vw, 33rem)) auto;
	padding: clamp(1.15rem, 2vw, 1.8rem);
	box-shadow:
		0 28px 70px rgba(23, 26, 24, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.66);
}

.process-journey__route-board {
	min-height: clamp(22rem, 39vw, 33rem);
}

.process-journey__route-line {
	inset: clamp(2.35rem, 3.3vw, 3.8rem) clamp(1rem, 1.8vw, 2rem) clamp(1.9rem, 3vw, 3.1rem);
}

.process-journey__route-base {
	stroke-width: 43;
}

.process-journey__route-fill {
	stroke-width: 7.2;
}

.process-journey__system.is-interacting .process-journey__route-fill,
.process-journey__system.is-route-moving .process-journey__route-fill {
	stroke-width: 7.8;
}

.process-journey__drafting {
	opacity: 0.38;
}

.process-journey__steps {
	padding-top: clamp(1rem, 1.7vw, 1.35rem);
}

.process-journey__step::before {
	top: calc(clamp(1rem, 1.7vw, 1.35rem) * -1 - 1px);
}

.process-journey__step-button {
	min-height: clamp(12.5rem, 14vw, 14.6rem);
}

.process-journey__step-title {
	font-size: clamp(0.88rem, 0.94vw, 1.02rem);
}

.process-journey__step-body {
	font-size: clamp(0.78rem, 0.82vw, 0.88rem);
	line-height: 1.5;
}

@media (max-width: 1080px) {
	.projects-showcase__supporting {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.projects-showcase__supporting-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.project-card--featured .project-card__body {
		width: min(58rem, calc(100% - 2rem));
		margin-left: 1rem;
	}
}

@media (max-width: 720px) {
	.projects-showcase__intro {
		grid-template-columns: 1fr;
	}

	.projects-showcase__intro h2,
	.process-journey__lead h2 {
		font-size: clamp(2.6rem, 12.5vw, 3.85rem);
		line-height: 0.9;
	}

	.projects-showcase__intro .lead {
		grid-column: auto;
		grid-row: auto;
		justify-self: start;
	}

	.projects-showcase__supporting-grid {
		grid-template-columns: 1fr;
	}

	.project-card--supporting {
		grid-template-columns: minmax(6.6rem, 0.34fr) minmax(0, 0.66fr);
	}

	.project-card--featured .project-card__image {
		min-height: clamp(22rem, 72vw, 27rem);
	}

	.projects-showcase__arrow-controls {
		top: clamp(11rem, 36vw, 13.5rem);
		right: clamp(0.75rem, 4vw, 1rem);
		left: clamp(0.75rem, 4vw, 1rem);
	}

	.projects-showcase__arrow {
		width: 2.55rem;
		height: 2.55rem;
	}

	.project-card--featured .project-card__body {
		grid-template-columns: 1fr;
		width: auto;
		margin: 0;
		border-left-width: 2px;
		background:
			linear-gradient(135deg, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.2)),
			rgba(242, 239, 232, 0.94);
	}

	.project-card--featured .project-card__footer {
		grid-column: auto;
		grid-row: auto;
		justify-content: flex-start;
	}

	.project-card--featured .project-card__details {
		grid-template-columns: 1fr;
	}

	.project-card--featured .project-card__detail,
	.project-card--featured .project-card__detail:first-child,
	.project-card--featured .project-card__detail:last-child,
	.project-card--featured .project-card__detail:not(:first-child) {
		padding: 0.95rem 0;
	}

	.project-card--featured .project-card__detail::before {
		top: 0;
		width: 100%;
		height: 1px;
	}

	.project-card--featured .project-card__detail:first-child::before {
		display: block;
	}

	.process-journey__system {
		grid-template-rows: minmax(15rem, 50vw) auto;
	}

	.process-journey__route-board {
		min-height: clamp(15rem, 50vw, 18.5rem);
	}

	.process-journey__step-button {
		min-height: 14rem;
	}
}

/* Furniture showroom foundation. */
.furniture-page-intro {
	position: relative;
	padding-block: clamp(5.2rem, 8vw, 8.8rem) clamp(3.2rem, 5vw, 5.6rem);
	background:
		radial-gradient(circle at 84% 30%, rgba(151, 112, 58, 0.12), transparent 28%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.56), transparent 48%),
		linear-gradient(180deg, #f5f1ea 0%, #ebe4d8 100%);
	overflow: hidden;
	isolation: isolate;
}

.furniture-page-intro::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(245, 241, 234, 0.98) 0%, rgba(245, 241, 234, 0.78) 36%, rgba(245, 241, 234, 0.14) 68%, rgba(245, 241, 234, 0.64) 100%),
		linear-gradient(180deg, rgba(245, 241, 234, 0.48), transparent 42%, rgba(235, 228, 216, 0.5));
	pointer-events: none;
}

.furniture-page-intro__grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 0.52fr) minmax(18rem, 0.48fr);
	gap: clamp(1.8rem, 5vw, 6rem);
	align-items: end;
	min-height: clamp(33rem, 48vw, 45rem);
}

.furniture-page-intro__content {
	position: relative;
	z-index: 3;
	max-width: 62rem;
}

.furniture-page-intro .page-title {
	max-width: 16ch;
}

.furniture-page-intro .lead {
	max-width: 44rem;
}

.furniture-page-intro__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	align-items: center;
	padding-top: 0.4rem;
}

.furniture-page-intro__visual {
	--sketch-opacity: 0.42;
	--sketch-y: -50%;
	--sketch-x: 0;
	--sketch-scale: 1;
	position: absolute;
	z-index: 0;
	top: 50%;
	right: max(-18vw, -17rem);
	width: clamp(48rem, 66vw, 84rem);
	min-height: 0;
	pointer-events: none;
	transform: translate3d(var(--sketch-x), var(--sketch-y), 0) scale(var(--sketch-scale));
	opacity: var(--sketch-opacity);
	mix-blend-mode: multiply;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 13%, #000 84%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 13%, #000 84%, transparent 100%);
	animation: hero-sketch-entrance 1250ms cubic-bezier(0.16, 1, 0.3, 1) 120ms both;
}

.furniture-page-intro__visual img {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
	filter: sepia(0.16) saturate(0.86) contrast(0.96) brightness(0.98);
}

.furniture-hub,
.furniture-archive,
.furniture-product-spec {
	display: grid;
	gap: clamp(2rem, 4vw, 4.2rem);
}

.furniture-hub__intro,
.furniture-archive__intro {
	display: grid;
	grid-template-columns: minmax(0, 0.58fr) minmax(19rem, 0.42fr);
	gap: clamp(1.6rem, 3.4vw, 3.8rem);
	align-items: end;
	padding-bottom: clamp(1.25rem, 2vw, 1.9rem);
	border-bottom: 1px solid rgba(23, 26, 24, 0.12);
}

.furniture-hub__intro h2,
.furniture-archive__intro h2 {
	max-width: 15ch;
	font-size: clamp(2.3rem, 3.8vw, 4.25rem);
	line-height: 0.92;
	letter-spacing: -0.055em;
}

.furniture-hub__intro .lead,
.furniture-archive__intro .lead {
	max-width: 34rem;
	justify-self: end;
}

.furniture-hub__intro--simple h2 {
	max-width: 18ch;
}

.furniture-hub__intro--simple {
	grid-template-columns: minmax(0, 1fr);
}

.furniture-pathways {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid rgba(23, 26, 24, 0.12);
	border-bottom: 1px solid rgba(23, 26, 24, 0.1);
}

.furniture-pathways--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.furniture-pathway {
	display: grid;
	gap: 0.9rem;
	align-content: start;
	min-height: clamp(17rem, 23vw, 23rem);
	padding: clamp(1.25rem, 2vw, 2rem);
	border-right: 1px solid rgba(23, 26, 24, 0.1);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.42), transparent 58%);
}

.furniture-pathway:last-child {
	border-right: 0;
}

.furniture-pathway span {
	font-family: var(--font-heading);
	font-size: clamp(2.2rem, 4vw, 4.6rem);
	font-weight: 800;
	line-height: 0.86;
	letter-spacing: -0.055em;
	color: rgba(151, 112, 58, 0.48);
}

.furniture-pathway h3,
.furniture-range-card h3 {
	max-width: 13ch;
	font-size: clamp(1.4rem, 1.8vw, 2rem);
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.furniture-pathway p,
.furniture-range-card p {
	max-width: 22rem;
	color: rgba(23, 26, 24, 0.66);
}

.furniture-range-grid,
.furniture-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.8rem);
}

.furniture-range-card,
.nuwave-product-card,
.furniture-empty-state {
	border: 1px solid rgba(23, 26, 24, 0.1);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0.16)),
		rgba(242, 239, 232, 0.78);
	box-shadow: 0 1px 0 rgba(23, 26, 24, 0.05);
}

.furniture-range-card {
	display: grid;
	gap: 0.85rem;
	align-content: start;
	min-height: 18rem;
	padding: clamp(1.2rem, 2vw, 1.9rem);
}

.nuwave-product-card {
	display: grid;
	grid-template-rows: auto 1fr;
	overflow: hidden;
}

.nuwave-product-card__image {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(17, 22, 19, 0.16), rgba(17, 22, 19, 0.03)),
		#d9d3c8;
}

.nuwave-product-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: var(--photo-grade);
	transition: transform 640ms var(--ease-premium);
}

.nuwave-product-card:hover .nuwave-product-card__image img,
.nuwave-product-card:focus-within .nuwave-product-card__image img {
	transform: scale(1.025);
}

.nuwave-product-card__image span {
	position: absolute;
	inset: 18%;
	border: 1px solid rgba(23, 26, 24, 0.12);
}

.nuwave-product-card__body {
	display: grid;
	gap: 0.75rem;
	align-content: start;
	padding: clamp(1rem, 1.5vw, 1.35rem);
}

.nuwave-product-card__category {
	margin: 0;
	font-size: 0.62rem;
	font-weight: 850;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
	color: rgba(80, 85, 79, 0.68);
}

.nuwave-product-card h3 {
	max-width: 13ch;
	font-size: clamp(1.18rem, 1.5vw, 1.58rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.nuwave-product-card__detail {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.45;
	color: rgba(23, 26, 24, 0.68);
}

.nuwave-product-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	padding-top: 0.4rem;
}

.text-link--muted {
	color: rgba(23, 26, 24, 0.56);
}

.furniture-quote-system {
	display: grid;
	grid-template-columns: minmax(0, 0.58fr) minmax(18rem, 0.42fr);
	gap: clamp(1.6rem, 3.6vw, 4rem);
	align-items: stretch;
	padding: clamp(1.4rem, 2.4vw, 2.4rem);
	border: 1px solid rgba(23, 26, 24, 0.12);
	background:
		linear-gradient(90deg, rgba(23, 26, 24, 0.035) 1px, transparent 1px) 0 0 / 12.5% 100%,
		linear-gradient(135deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.14));
}

.furniture-quote-system__copy h2 {
	max-width: 14ch;
	font-size: clamp(2.25rem, 3.8vw, 4.4rem);
	line-height: 0.92;
	letter-spacing: -0.055em;
}

.furniture-quote-system__panel {
	display: grid;
	gap: 1.2rem;
	align-content: space-between;
	padding: clamp(1.15rem, 2vw, 1.8rem);
	background: var(--color-ink);
	color: rgba(255, 255, 255, 0.82);
}

.furniture-quote-system__panel ul {
	display: grid;
	gap: 0.8rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.furniture-quote-system__panel li {
	padding-bottom: 0.8rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	font-weight: 700;
}

.furniture-archive-hero .page-hero__panel .button {
	justify-self: start;
}

.furniture-product-spec__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.56fr) minmax(24rem, 0.44fr);
	gap: clamp(1.6rem, 3.8vw, 4.8rem);
	align-items: start;
}

.furniture-product-spec__gallery {
	display: grid;
	gap: clamp(0.8rem, 1.4vw, 1.2rem);
}

.furniture-product-spec__image {
	min-height: clamp(27rem, 45vw, 42rem);
	margin: 0;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(17, 22, 19, 0.16), rgba(17, 22, 19, 0.04)),
		#d8d1c6;
}

.furniture-product-spec__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: var(--photo-grade);
}

.furniture-product-spec__thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.7rem;
}

.furniture-product-spec__thumbs figure {
	aspect-ratio: 1;
	margin: 0;
	overflow: hidden;
	background: var(--color-surface-strong);
}

.furniture-product-spec__thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: var(--photo-grade);
}

.furniture-product-spec__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
}

.furniture-spec-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(23, 26, 24, 0.12);
	border-left: 1px solid rgba(23, 26, 24, 0.08);
}

.furniture-spec-list > div {
	display: grid;
	gap: 0.55rem;
	padding: clamp(0.95rem, 1.5vw, 1.25rem);
	border-right: 1px solid rgba(23, 26, 24, 0.08);
	border-bottom: 1px solid rgba(23, 26, 24, 0.1);
}

.furniture-spec-list strong {
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.15em;
	line-height: 1;
	text-transform: uppercase;
	color: rgba(80, 85, 79, 0.68);
}

.furniture-spec-list ul {
	display: grid;
	gap: 0.4rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.furniture-empty-state {
	max-width: 46rem;
	padding: clamp(1.4rem, 2.6vw, 2.4rem);
}

@media (max-width: 1080px) {
	.furniture-page-intro__grid {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.furniture-page-intro__visual {
		--sketch-y: 0;
		--sketch-opacity: 0.44;
		position: relative;
		top: auto;
		right: auto;
		width: min(100%, 46rem);
		margin: clamp(0.5rem, 2vw, 1.2rem) auto 0;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 11%, #000 89%, transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0%, #000 11%, #000 89%, transparent 100%);
	}

	.page-hero__sketch {
		--sketch-y: 0;
		--sketch-opacity: 0.28;
		top: 42%;
		right: -14rem;
		width: clamp(38rem, 78vw, 58rem);
	}

	.furniture-range-grid,
	.furniture-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.furniture-product-spec__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	.furniture-page-intro {
		padding-block: clamp(4.3rem, 16vw, 6rem) clamp(2.4rem, 10vw, 3.4rem);
	}

	.furniture-page-intro__visual {
		--sketch-opacity: 0.34;
		width: min(118%, 32rem);
		margin-inline: auto;
	}

	.page-hero__sketch {
		--sketch-opacity: 0.18;
		top: 30%;
		right: -13rem;
		width: clamp(30rem, 112vw, 42rem);
	}

	.furniture-page-intro__actions {
		align-items: stretch;
	}

	.furniture-page-intro__actions .button {
		width: 100%;
		justify-content: center;
	}

	.furniture-hub__intro,
	.furniture-archive__intro,
	.furniture-quote-system {
		grid-template-columns: 1fr;
	}

	.furniture-pathways,
	.furniture-pathways--two,
	.furniture-range-grid,
	.furniture-product-grid,
	.furniture-spec-list {
		grid-template-columns: 1fr;
	}

	.furniture-pathway {
		min-height: 0;
		border-right: 0;
		border-bottom: 1px solid rgba(23, 26, 24, 0.1);
	}

	.furniture-range-card {
		min-height: 0;
	}

	.furniture-hub__intro .lead,
	.furniture-archive__intro .lead {
		justify-self: start;
	}
}

html:not(.motion-ready) .motion-reveal,
html:not(.motion-ready) .motion-load,
html:not(.motion-ready) .motion-heading-right,
html:not(.motion-ready) .motion-copy-up,
html:not(.motion-ready) .heading-motion .heading-motion__inner {
	opacity: 1;
	transform: none;
	visibility: visible;
}

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

	.motion-enhanced .motion-reveal,
	.motion-enhanced .motion-load,
	.motion-enhanced .motion-heading-right,
	.motion-enhanced .motion-copy-up,
	.motion-enhanced .delivery-confidence__steps li.motion-reveal,
	.motion-enhanced .process-journey__route li.motion-reveal,
	.motion-enhanced .process-journey__stage.motion-reveal {
		opacity: 1;
		transform: none;
	}

	.section--capability-band::before {
		transition: none;
		transform: none;
	}

	.home-hero__image-stack,
	.motion-ready .home-hero__image-stack,
	.motion-ready.motion-loaded .home-hero__image-stack {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.home-hero__image-frame,
	.home-hero__image-frame.is-active,
	.home-hero__image-frame.is-leaving,
	.home-hero__video {
		opacity: 1;
		transform: none;
		transition: none;
		visibility: visible;
	}

	.home-hero__visual.has-video .home-hero__video {
		display: none;
	}

	.home-hero__image-frame:not(:first-child) {
		display: none;
	}

	.project-card:hover .project-card__image img,
	.project-card:focus-within .project-card__image img,
	.project-card--featured:hover .project-card__image img,
	.project-card--featured:focus-within .project-card__image img {
		transform: none;
	}

	.projects-showcase__slider.is-enhanced .projects-showcase__slide {
		transition: none;
		transform: none;
	}

	.projects-showcase__slider.is-enhanced .projects-showcase__slide.is-leaving {
		visibility: hidden;
	}
}

/* ==========================================================================
   Social Proof
   ========================================================================== */

.social-proof {
	padding-block: var(--space-5);
}

.social-proof__text {
	font-size: var(--type-label);
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-muted);
	margin: 0;
}

/* ==========================================================================
   Two path fork: the whole project, or just the furniture. A full width
   split screen block, two equal halves meeting on the page midpoint (the
   same centre line the hero band's column geometry straddles), marked by
   a thin vertical hairline. Each half is one large clickable door: photo
   above, oversized numeral and display title below, one line, and an
   outlined CTA (a styled span, since the whole half is the anchor).
   Hover is colour and opacity only, no movement transforms: the image
   veil lifts and the numeral and title shift to the accent tone.
   ========================================================================== */

.section--dual-offer {
	padding-block: clamp(4rem, 6vw, 6rem) 0;
}

.dual-offer__intro {
	margin-bottom: clamp(2rem, 3.4vw, 3rem);
}

.dual-offer__kicker {
	max-width: 44rem;
}

.fork {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

/* The centre dividing line, on the page midpoint. */
.fork::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 1px;
	background: #b8b7b1;
}

.fork__half {
	display: flex;
	flex-direction: column;
	min-width: 0;
	color: var(--color-text);
	text-decoration: none;
}

.fork__media {
	position: relative;
	display: block;
	overflow: hidden;
	height: clamp(16rem, 40vh, 26rem);
	background: var(--color-card);
}

.fork__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: var(--photo-grade);
}

/* Resting veil that lifts on hover: colour and opacity only. */
.fork__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(38, 38, 38, 0.16);
	opacity: 1;
	transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	pointer-events: none;
}

.fork__half:hover .fork__media::after,
.fork__half:focus-visible .fork__media::after {
	opacity: 0;
}

.fork__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(0.9rem, 1.6vw, 1.3rem);
	padding: clamp(1.8rem, 3vw, 2.8rem) var(--gutter) clamp(2.2rem, 3.6vw, 3.2rem);
}

.fork__row {
	display: flex;
	align-items: baseline;
	gap: clamp(0.9rem, 1.8vw, 1.5rem);
}

/* Exaggerated hierarchy: large mono numeral beside an oversized
   uppercase display title. */
.fork__num {
	font-family: var(--font-mono);
	font-size: clamp(1.4rem, 2.2vw, 2.2rem);
	font-weight: 500;
	line-height: 1;
	color: var(--color-muted);
	transition: color 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.fork__title {
	font-family: var(--font-heading);
	font-size: clamp(2.2rem, 4.4vw, 4.4rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-ink);
	transition: color 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.fork__half:hover .fork__num,
.fork__half:hover .fork__title,
.fork__half:focus-visible .fork__num,
.fork__half:focus-visible .fork__title {
	color: var(--color-accent-deep);
}

.fork__line {
	max-width: 28rem;
	font-size: var(--type-body-lg);
	line-height: 1.6;
	color: var(--color-muted);
}

.fork__cta {
	margin-top: clamp(0.4rem, 1vw, 0.8rem);
}

/* The whole fork half is the link, so hovering anywhere on it drives
   the inner CTA through the standard button hover: same colour clock,
   same staggered fill panels, same plus to arrow swap. */
.fork__half:hover .fork__cta,
.fork__half:focus-visible .fork__cta {
	color: var(--btn-fill-text, var(--color-warm-white));
}

.fork__half:hover .fork__cta::before,
.fork__half:focus-visible .fork__cta::before,
.fork__half:hover .fork__cta::after,
.fork__half:focus-visible .fork__cta::after {
	transform: translateY(0%);
}

.fork__half:hover .fork__cta .button__plus::before,
.fork__half:focus-visible .fork__cta .button__plus::before {
	transform: translateY(-1rem);
	opacity: 0;
}

.fork__half:hover .fork__cta .button__plus::after,
.fork__half:focus-visible .fork__cta .button__plus::after {
	transform: translateY(0);
	opacity: 1;
}

/* Mobile: the halves stack, divided by a horizontal hairline. */
@media (max-width: 780px) {
	.fork {
		grid-template-columns: 1fr;
	}

	.fork::after {
		display: none;
	}

	.fork__half + .fork__half {
		border-top: 1px solid #b8b7b1;
	}

	.fork__media {
		height: auto;
		aspect-ratio: 16 / 10;
	}
}

/* ==========================================================================
   Lead Project
   ========================================================================== */

.section--lead-project {
	padding-block: clamp(5rem, 7vw, 7.5rem);
}

.section--lead-project-bleed {
	padding-bottom: 0;
	overflow: hidden;
}

.lead-project__intro {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	margin-bottom: clamp(2rem, 4vw, 3.2rem);
}

.lead-project__rule {
	margin-block: var(--space-4) 0;
}

/* Full bleed, viewport wide. A direct child of the section rather than the
   .container, so it naturally runs edge to edge like Halston's presentation
   images, with the title and meta held in a tight column on top. */
.lead-project__image {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	height: clamp(28rem, 78vh, 50rem);
	background: var(--color-surface-strong);
}

.lead-project__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: var(--photo-grade);
	will-change: transform;
}

.lead-project__veil {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: var(--scrim-corner);
}

.lead-project__overlay {
	position: absolute;
	top: clamp(1.6rem, 3vw, 3rem);
	left: clamp(1.6rem, 3vw, 3rem);
	right: clamp(1.6rem, 3vw, 3rem);
	max-width: 36rem;
	display: flex;
	flex-direction: column;
	gap: clamp(0.8rem, 1.4vw, 1.2rem);
}

.lead-project__title {
	display: inline-flex;
	align-items: baseline;
	gap: 0.7rem;
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(1.7rem, 3vw, 3rem);
	font-weight: 500;
	line-height: 1.04;
	letter-spacing: -0.015em;
	color: #f6f3ec;
}

.lead-project__plus {
	font-family: var(--font-mono);
	font-size: 0.5em;
	font-weight: 500;
	color: #f6f3ec;
}

.lead-project__overlay-rule {
	width: clamp(9rem, 22vw, 16rem);
	background: rgba(243, 239, 231, 0.4);
}

.lead-project__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem clamp(1.6rem, 4vw, 4rem);
	font-family: var(--font-mono);
	font-size: var(--type-label);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(243, 239, 231, 0.82);
}

.lead-project__location {
	color: rgba(243, 239, 231, 0.82);
}

.lead-project__year {
	color: rgba(243, 239, 231, 0.66);
}

@media (max-width: 640px) {
	.lead-project__image {
		aspect-ratio: 4 / 5;
	}
}

/* ==========================================================================
   Process Steps
   ========================================================================== */

.section--process-steps {
	padding-block: clamp(5rem, 7vw, 7.5rem);
}

.process-steps {
	display: grid;
	grid-template-columns: minmax(15rem, 22rem) 1fr;
	column-gap: clamp(3rem, 6vw, 6rem);
	align-items: start;
	border-top: 1px solid var(--color-line);
	padding-top: clamp(2.4rem, 4vw, 3.6rem);
}

.process-steps__intro {
	max-width: none;
}

.process-steps__intro h2 {
	font-weight: 500;
}

.process-steps__main {
	border-inline-start: 1px solid var(--color-line);
	padding-inline-start: clamp(3rem, 6vw, 6rem);
}

.process-steps__list {
	position: relative;
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 3vw, 3rem);
}

.process-steps__list::before {
	content: "";
	position: absolute;
	top: 0.5rem;
	bottom: 0.5rem;
	left: 2.6rem;
	width: 1px;
	background: var(--color-line);
}

.process-steps__item {
	position: relative;
	display: grid;
	grid-template-columns: 2.6rem minmax(0, 40rem);
	column-gap: clamp(2rem, 3.5vw, 3.2rem);
	align-items: baseline;
}

.process-steps__item::before {
	content: "";
	position: absolute;
	left: 2.6rem;
	top: 0.5rem;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--color-bg);
	border: 1px solid var(--color-accent);
	transform: translateX(-50%);
}

.process-steps__item:first-child::before {
	background: var(--color-accent);
}

.process-steps__num {
	font-family: var(--font-mono);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-accent);
	text-align: right;
	padding-right: 0.7rem;
}

.process-steps__content {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
}

.process-steps__title {
	font-family: var(--font-heading);
	font-size: clamp(1.35rem, 1.8vw, 1.75rem);
	font-weight: 500;
	color: var(--color-text);
	line-height: 1.15;
	letter-spacing: -0.012em;
	margin: 0;
}

.process-steps__body {
	font-size: 1rem;
	color: var(--color-muted);
	line-height: 1.6;
	max-width: 34rem;
	margin: 0;
}

@media (max-width: 780px) {
	.process-steps {
		grid-template-columns: 1fr;
		row-gap: clamp(2rem, 5vw, 3rem);
	}

	.process-steps__main {
		border-inline-start: 0;
		padding-inline-start: 0;
	}

	.process-steps__item {
		grid-template-columns: 2.6rem minmax(0, 1fr);
	}
}

/* --------------------------------------------------------------------------
   Scroll scrubbed build v3 for the process sections (home .process-steps
   and fit out .office-process). The timeline rule is one real element
   (.process-scrub-line) created by JS and scrubbed with a single scaleY
   transform, so scroll frames never touch layout or paint. Step rows
   activate through .is-on class flips fired at progress thresholds,
   never per frame. Fails open by construction: every hidden state exists
   only under .is-building, which JS adds after ScrollTrigger init
   succeeds. No JS, a JS error, or reduced motion all render the section
   fully assembled with the static ::before rule.
   -------------------------------------------------------------------------- */

/* While the scrubbed build owns the section the static hairline hides
   and the JS owned line takes its place with identical geometry. */
.process-steps__list.is-building::before,
.office-process__list.is-building::before {
	opacity: 0;
}

.process-scrub-line {
	position: absolute;
	top: 0.5rem;
	bottom: 0.5rem;
	left: 2.6rem;
	width: 1px;
	background: var(--color-line);
	transform-origin: top center;
	will-change: transform;
	pointer-events: none;
}

/* Hidden states live only on the .is-building side and every transition
   lives ONLY on the reveal side (.is-on rules): CSS transitions read
   their parameters from the after change style, so hides are instant.
   Scrolling back above a step therefore snaps it hidden, keeping every
   row below the line tip empty in both scroll directions, and a section
   already painted in view when JS arms the build never animates OUT. */
.process-steps__list.is-building .process-steps__item::before {
	opacity: 0;
	transform: translateX(-50%) scale(0.4);
}

/* The dot fills with the accent as the line tip arrives. */
.process-steps__list.is-building .process-steps__item.is-on::before {
	opacity: 1;
	transform: translateX(-50%) scale(1);
	background: var(--color-accent);
	transition: opacity 0.3s ease, transform 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}

.process-steps__list.is-building .process-steps__num,
.office-process__list.is-building .office-process__num {
	opacity: 0;
	transform: translateY(0.5em);
}

.process-steps__list.is-building .process-steps__item.is-on .process-steps__num,
.office-process__list.is-building .office-process__item.is-on .office-process__num {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Mask box for the upward unmask: only while building. */
.process-steps__list.is-building .process-steps__content,
.office-process__list.is-building .office-process__content {
	overflow: hidden;
}

/* The unmask itself is a class driven CSS transition rather than a JS
   tween, so even a stalled animation frame loop still lands the end
   state the moment the class flips: title first, body a beat later,
   both a beat after the number and dot. */
.process-steps__list.is-building .process-steps__item:not(.is-on) .process-steps__content > *,
.office-process__list.is-building .office-process__item:not(.is-on) .office-process__content > * {
	opacity: 0;
	transform: translateY(100%);
}

.process-steps__list.is-building .process-steps__item.is-on .process-steps__content > *,
.office-process__list.is-building .office-process__item.is-on .office-process__content > * {
	transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.1s, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}

.process-steps__list.is-building .process-steps__item.is-on .process-steps__content > *:nth-child(2),
.office-process__list.is-building .office-process__item.is-on .office-process__content > *:nth-child(2) {
	transition-delay: 0.2s, 0.2s;
}

/* ==========================================================================
   Reviews
   ========================================================================== */

/* --------------------------------------------------------------------------
   Stats band. Oversized numerals with mono captions, Halston achievements
   style, separated by thin hairline rules.
   -------------------------------------------------------------------------- */

.section--stats {
	padding-block: clamp(5rem, 7vw, 7.5rem);
}

.stats-band__rule {
	margin-top: var(--space-4);
}

/* Three stats, rebalanced. */
.stats-band {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(2.5rem, 5vw, 4rem);
}

.stats-band__item {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	min-width: 0;
	padding: 0 clamp(1.2rem, 2.5vw, 2rem);
	border-left: 1px solid var(--color-line);
}

.stats-band__item:first-child {
	padding-left: 0;
	border-left: 0;
}

.stats-band__value {
	margin: 0;
	overflow-wrap: break-word;
	font-family: var(--font-heading);
	font-size: clamp(1.9rem, 4vw, 3.4rem);
	font-weight: 500;
	line-height: 1.03;
	letter-spacing: -0.01em;
	color: var(--color-text);
}

.stats-band__caption {
	margin: 0;
	font-family: var(--font-mono);
	font-size: var(--type-label);
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-muted);
}

@media (max-width: 820px) {
	.stats-band {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: clamp(2rem, 5vw, 2.6rem);
	}

	.stats-band__item:nth-child(odd) {
		padding-left: 0;
		border-left: 0;
	}

	.stats-band__item:nth-child(n + 3) {
		padding-top: clamp(1.6rem, 4vw, 2rem);
		border-top: 1px solid var(--color-line);
	}
}

@media (max-width: 480px) {
	.stats-band {
		grid-template-columns: 1fr;
	}

	.stats-band__item {
		padding-left: 0;
		border-left: 0;
		padding-top: clamp(1.2rem, 4vw, 1.6rem);
		border-top: 1px solid var(--color-line);
	}

	.stats-band__item:first-child {
		padding-top: 0;
		border-top: 0;
	}
}

.section--reviews {
	padding-block: clamp(5rem, 7vw, 7.5rem);
	background: var(--color-maroon-light);
	color: var(--color-text);
}

.section--reviews .reviews__score,
.section--reviews .review__text,
.section--reviews .review__name,
.section--reviews .review__company,
.section--reviews .eyebrow,
.section--reviews .reviews__clients-label {
	color: var(--color-text);
}

.section--reviews .eyebrow--chip {
	border-color: rgba(20, 16, 12, 0.32);
}

.section--reviews .reviews__clients {
	border-top-color: rgba(20, 16, 12, 0.2);
}

.section--reviews .review + .review {
	border-left-color: rgba(20, 16, 12, 0.2);
}

.reviews {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: clamp(2.4rem, 4vw, 4rem);
}

.reviews__label {
	margin-bottom: clamp(0.6rem, 1.2vw, 1rem);
}

.reviews__summary {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: var(--space-3);
}

.reviews__rating {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}

.reviews__google-logo {
	width: auto;
	height: 1.5rem;
}

.reviews__stars {
	display: inline-flex;
	gap: 0.14rem;
}

.reviews__star {
	width: 1.05rem;
	height: 1.05rem;
	fill: var(--color-gold);
}

.reviews__score {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--type-body-lg);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5;
	color: var(--color-muted);
	max-width: 34ch;
}

.reviews__quotes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: clamp(2.4rem, 4vw, 4rem);
	row-gap: clamp(2rem, 3vw, 3rem);
	width: 100%;
}

.review {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	margin: 0;
}

.review + .review {
	border-left: 1px solid var(--color-line);
	padding-left: clamp(2.4rem, 4vw, 4rem);
}

.review .reviews__star {
	width: 0.9rem;
	height: 0.9rem;
}

.review__text {
	margin: 0;
	font-size: var(--type-body-lg);
	line-height: 1.6;
	color: var(--color-text);
}

.review__author {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	margin-top: var(--space-1);
}

.review__name {
	font-weight: 500;
	font-size: 0.92rem;
	color: var(--color-text);
}

.review__company {
	font-family: var(--font-mono);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-accent);
}

.reviews__clients {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-4);
	width: 100%;
	padding-top: clamp(1.6rem, 2.6vw, 2.4rem);
	border-top: 1px solid var(--color-line);
}

.reviews__clients-label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-family: var(--font-mono);
	font-size: var(--type-label);
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-muted);
}

.reviews__clients-label::before {
	content: "";
	width: 0.3rem;
	height: 0.3rem;
	transform: rotate(45deg);
	background: var(--color-accent);
}

.reviews__logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: clamp(1.6rem, 3.4vw, 3.2rem);
	padding: 0;
	margin: 0;
	list-style: none;
}

.reviews__logo {
	font-family: var(--font-mono);
	font-size: 0.86rem;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--color-muted);
	opacity: 0.75;
	transition: opacity var(--transition), color var(--transition);
}

.reviews__logo:hover {
	opacity: 1;
	color: var(--color-accent-deep);
}

.reviews__logo-divider {
	width: 0.3rem;
	height: 0.3rem;
	flex: none;
	transform: rotate(45deg);
	background: var(--color-accent);
	opacity: 0.5;
}

@media (max-width: 780px) {
	.reviews__quotes {
		grid-template-columns: 1fr;
		row-gap: clamp(1.8rem, 4vw, 2.6rem);
	}

	.review + .review {
		border-left: 0;
		padding-left: 0;
	}

	.reviews__logos {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.7rem;
	}

	.reviews__logo-divider {
		display: none;
	}
}

/* ==========================================================================
   Home Project Grid
   ========================================================================== */

.section--home-projects {
	padding-block: clamp(5rem, 7vw, 7.5rem);
}

.home-projects {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
}

.home-projects__header {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.home-projects__header-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--space-5);
	flex-wrap: wrap;
}

.home-projects__header-row h2 {
	font-size: var(--type-section-lg);
	font-weight: 500;
	letter-spacing: -0.015em;
	flex: 1;
	min-width: 0;
}

.home-projects__rule {
	margin-top: var(--space-4);
}

/* --------------------------------------------------------------------------
   Project bands, shared by the home selected work section and the
   projects archive. Geometry measured from the project band reference at
   1440px: band 80vh full bleed with bands stacked flush, an ink to
   transparent gradient rising from the bottom over 77% of the band for
   legibility, and a lower left cluster offset 72px from the left and
   64px from the bottom, 43.34% of the band wide, stacked with 14.8px
   gaps. The label is a solid bone chip, 6.8px by 14.8px padding, 3px
   radius, name at 26.8px, weight 500, 1.3 line height. Description 16px
   at 1.3 in light text, then a 1px hairline at 0.4 alpha above a meta
   row at 0.8 opacity with 6.8px block padding. Fonts and tones are the
   site's own. The label reuses the standard button hover mechanism,
   two panel fill wipe on the 0.6s expo clock with the 0.4s colour swap
   and the plus to arrow glyph swap, triggered by the whole band link.
   -------------------------------------------------------------------------- */
.work-bands {
	display: flex;
	flex-direction: column;
	margin-top: clamp(2.4rem, 4.5vw, 4rem);
}

.section--projects-list .work-bands {
	margin-top: 0;
}

.work-band {
	position: relative;
	display: block;
	width: 100%;
	height: 80vh;
	min-height: 26rem;
	overflow: hidden;
	background: var(--color-surface-strong);
	text-decoration: none;
}

/* The reference band has no hover treatment on the photograph itself,
   so the image carries none here either. */
.work-band__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: var(--photo-grade);
}

/* Overlay matched to the reference: an ink to transparent gradient
   rising over the lower 77% of the band, full strength at the bottom
   edge, composited with multiply so the photograph darkens rather than
   greys out. */
.work-band__scrim {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 77%;
	background: linear-gradient(0deg, var(--color-ink), rgba(38, 38, 38, 0));
	mix-blend-mode: multiply;
	pointer-events: none;
}

.work-band__cluster {
	position: absolute;
	left: 72px;
	bottom: 64px;
	width: min(43.34%, 38.6rem);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.925rem;
}

/* Clusters alternate sides down the stack, measured from the
   reference: even bands mirror the cluster block to the right at the
   same 72px and 64px offsets. The reference keeps the content inside
   the mirrored cluster start aligned and keeps the overlay gradient
   full width, so only the block position flips and legibility is
   unchanged on either side. Desktop and tablet only, mobile returns
   every cluster to the left. */
@media (min-width: 641px) {
	.work-bands .work-band:nth-child(even) .work-band__cluster {
		left: auto;
		right: 72px;
	}
}

/* The label is the standard button mechanism at the measured label
   geometry: solid bone at rest, staggered two panel accent fill on
   hover, colour on the 0.4s clock, plus swapping to the arrow. */
.work-band__label {
	--btn-fill: var(--color-accent);
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.925rem;
	padding: 0.425rem 0.925rem;
	border-radius: 3px;
	background: var(--color-bg);
	overflow: hidden;
	isolation: isolate;
	color: var(--color-ink);
	transition: color 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.work-band__label::before,
.work-band__label::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 51%;
	z-index: -1;
	background-color: var(--btn-fill);
	transform: translateY(101%);
	transition: transform 0.6s cubic-bezier(0.87, 0, 0.13, 1);
}

.work-band__label::before {
	left: 0;
}

.work-band__label::after {
	right: 0;
	transition-delay: 0.1s;
}

.work-band__label > * {
	position: relative;
	z-index: 1;
}

/* Hover feedback is scoped to the label itself: the band stays one
   large click target, but only a pointer over the label runs the
   standard button animation. Keyboard focus lands on the band anchor,
   so focus visible keeps the band wide trigger for accessibility. */
.work-band__label:hover,
.work-band:focus-visible .work-band__label {
	color: var(--color-warm-white);
}

.work-band__label:hover::before,
.work-band:focus-visible .work-band__label::before,
.work-band__label:hover::after,
.work-band:focus-visible .work-band__label::after {
	transform: translateY(0%);
}

/* The label's plus follows the standard glyph swap on the label hover,
   mirroring the .button:hover rules in components.css. */
.work-band__label:hover .button__plus::before,
.work-band:focus-visible .work-band__label .button__plus::before {
	transform: translateY(-1rem);
	opacity: 0;
}

.work-band__label:hover .button__plus::after,
.work-band:focus-visible .work-band__label .button__plus::after {
	transform: translateY(0);
	opacity: 1;
}

.work-band__name {
	font-family: var(--font-heading);
	font-size: 1.675rem;
	line-height: 1.3;
	font-weight: 500;
	letter-spacing: normal;
}

.work-band__desc {
	font-size: 1rem;
	line-height: 1.3;
	font-weight: 400;
	color: rgba(255, 254, 250, 0.92);
}

.work-band__details {
	width: 100%;
	border-top: 1px solid rgba(239, 236, 230, 0.4);
	opacity: 0.8;
}

.work-band__meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	padding: 0.425rem 0;
	font-family: var(--font-mono);
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: normal;
	text-transform: uppercase;
	color: rgba(255, 254, 250, 0.92);
}

@media (max-width: 900px) {
	.work-band__cluster {
		width: min(70%, 38.6rem);
	}
}

@media (max-width: 640px) {
	.work-band {
		height: 55vh;
		min-height: 22rem;
	}

	.work-band__cluster {
		left: 1rem;
		bottom: 1.2rem;
		width: calc(100% - 2rem);
	}

	.work-band__name {
		font-size: 1.3rem;
	}

	.work-band__desc {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}

	.work-band__meta {
		font-size: 0.82rem;
	}
}

.home-projects__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-7) var(--space-6);
}

.home-project-card {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.home-project-card__image-link {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
}

.home-project-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: var(--photo-grade);
	will-change: transform;
}

.home-project-card__placeholder {
	width: 100%;
	aspect-ratio: 4 / 5;
	background: var(--color-surface-strong);
}

.home-project-card__caption {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.home-project-card__title {
	font-family: var(--font-heading);
	font-size: clamp(1rem, 1.1vw, 1.12rem);
	font-weight: 500;
	letter-spacing: -0.01em;
	color: var(--color-text);
	line-height: 1.3;
	transition: color 200ms ease;
}

.home-project-card__title:hover {
	color: var(--color-accent-deep);
}

.home-project-card__location {
	font-family: var(--font-mono);
	font-size: var(--type-label);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-muted);
}

@media (max-width: 540px) {
	.home-projects__grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Editorial hero. Measured clone of halston-architecture-template.webflow.io:
   headline in dark ink on the light base surface, above the image. A
   structured band below the headline (services left, trust label and
   rating right, action button far right) below a single hairline rule.
   The photography starts clean below that: full width, no overlay, no
   scrim, no wordmark. Values below are computed styles read directly from
   the Halston hero at 1920px, not interpreted.
   ========================================================================== */

.home-hero {
	position: relative;
	background: var(--color-base);
	color: var(--color-text);
	overflow: visible;
	padding-top: clamp(2rem, 4vw, 3.2rem);
}

.home-hero::before {
	display: none;
}

.home-hero__head {
	display: flex;
	flex-direction: column;
	gap: clamp(0.9rem, 1.8vw, 1.4rem);
}

/* Measured: Halston .hero-display-heading h1 (.heading-bold.is-large).
   font-size: clamp(1.875rem, 1.65rem + 1.125vw, 3rem) (their --heading-size--xlarge token).
   weight 500, letter-spacing normal, line-height 100%, uppercase,
   color rgb(23, 23, 21). */
.home-hero h1 {
	max-width: 22ch;
	margin: 0;
	font-size: clamp(1.875rem, 1.65rem + 1.125vw, 3rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-ink);
}

/* Measured: Halston's band rule is TWO overlaid rules, not one line with
   a variable weight. A full container-width 1px rule in light
   rgb(184, 183, 177) (.hero-display-line), plus a second 1px rule in dark
   rgb(46, 46, 43) (.hero-display-action-line) laid over the right column
   zone only, starting exactly where the right column begins. The band
   itself is two equal columns, justify space-between, with a
   clamp(.75rem, .7rem + .25vw, 1rem) gap, so the right zone begins at
   50% plus half the gap. The dark overlay's width equals the right
   column: calc(50% minus half the gap). */
.home-hero__hairline {
	position: relative;
	height: 1px;
	margin-top: clamp(1.4rem, 2.6vw, 2.2rem);
	background: #b8b7b1;
}

.home-hero__hairline::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: calc(50% - clamp(0.375rem, 0.35rem + 0.125vw, 0.5rem));
	background: #2e2e2b;
}

.home-hero__band {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: clamp(0.75rem, 0.7rem + 0.25vw, 1rem);
	padding-block: clamp(1.4rem, 2.6vw, 2rem);
}

/* Measured: Halston .hero-display-link-text (discipline list).
   font-size 14px, weight 500, uppercase, line-height 22.4px (1.6),
   color rgb(88, 57, 57), font General Sans. */
.home-hero__services {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(1rem, 2vw, 1.8rem);
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--color-accent-deep);
}

/* The right zone is a real column: width equals half the container minus
   half the column gap, so its left edge (and the TRUSTED label with it)
   begins exactly where the dark half of the rule begins, matching
   Halston's column geometry. Content left-aligns within the column, as
   theirs does. */
.home-hero__trust {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.3rem;
	flex: none;
	width: calc(50% - clamp(0.375rem, 0.35rem + 0.125vw, 0.5rem));
	text-align: left;
}

/* Measured: Halston .label-text.is-small ("Recognition").
   font JetBrains Mono, 12px, weight 400, letter-spacing -0.4px,
   uppercase, line-height 14.4px (1.2), color rgb(23, 23, 21). */
.home-hero__trust-label {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	color: var(--color-ink);
}

/* Measured: Halston .hero-display-recognition (achievement line).
   font General Sans, 16px, weight 400, normal case, color rgb(23, 23, 21). */
.home-hero__trust-text {
	margin: 0;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	text-transform: none;
	color: var(--color-ink);
}

.home-hero__media {
	width: 100%;
}

.home-hero__visual {
	position: relative;
	inset: auto;
	width: 100%;
	height: clamp(28rem, 68vh, 48rem);
	min-height: 0;
	overflow: hidden;
	background: var(--color-card);
}

.home-hero__image-stack,
.motion-ready .home-hero__image-stack,
.motion-ready.motion-loaded .home-hero__image-stack {
	position: absolute;
	inset: 0;
	transform: none;
}

.home-hero__image-stack::before,
.home-hero__image-stack::after {
	display: none;
}

@media (max-width: 780px) {
	.home-hero__band {
		flex-direction: column;
		align-items: flex-start;
		gap: clamp(1.2rem, 4vw, 1.8rem);
	}

	.home-hero__trust {
		width: 100%;
	}

	/* Stacked layout has no midpoint column, so the two zone rule
	   collapses to the single light rule. */
	.home-hero__hairline::after {
		display: none;
	}

	.home-hero__visual {
		height: clamp(20rem, 56vh, 30rem);
	}
}

@media (max-width: 780px) {
	.home-hero__meta {
		grid-template-columns: 1fr;
		row-gap: clamp(1.4rem, 3vw, 2rem);
	}

	.home-hero__visual {
		height: clamp(24rem, 78vh, 34rem);
	}

	.home-hero__overlay {
		bottom: 2rem;
	}

	.home-hero__overlay .home-hero__head {
		max-width: none;
		padding-right: var(--gutter);
	}
}

/* ==========================================================================
   Cinematic grade on imagery. See --photo-grade in base.css, the single
   source of truth for the site wide photography treatment.
   ========================================================================== */

.home-hero__image,
.dual-offer__img,
.lead-project__img,
.home-project-card__img {
	filter: var(--photo-grade);
}

/* ==========================================================================
   Homepage statement band (scroll activated word reveal)
   ========================================================================== */

.section--statement {
	padding-block: clamp(5rem, 8vw, 8rem);
}

.statement {
	max-width: 70rem;
	margin-left: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
	gap: clamp(1.6rem, 3vw, 2.6rem);
}

.statement__quote {
	width: clamp(2.6rem, 4vw, 3.8rem);
	height: auto;
	color: var(--color-accent);
}

.statement__text {
	margin: 0;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: clamp(1.6rem, 2.6vw, 2.75rem);
	line-height: 1.35;
	letter-spacing: -0.015em;
	color: var(--color-text);
	text-wrap: pretty;
}

.statement-word {
	transition: opacity 200ms linear;
}

/* ==========================================================================
   Our process: FOREST statement band with light text
   ========================================================================== */

.section--process-steps {
	background: var(--color-forest);
	/* Tightened: the band used to run long below step six. */
	padding-bottom: clamp(2.6rem, 4vw, 3.6rem);
}

.section--process-steps .eyebrow,
.section--process-steps .process-steps__intro h2,
.section--process-steps .process-steps__num,
.section--process-steps .process-steps__title {
	color: #f0f2ee;
}

.section--process-steps .process-steps__body {
	color: rgba(255, 255, 255, 0.82);
}

.section--process-steps .eyebrow--chip {
	border-color: rgba(255, 255, 255, 0.34);
}

.section--process-steps .process-steps__intro {
	--hairline-color: rgba(255, 255, 255, 0.28);
}

.section--process-steps .eyebrow__marker {
	background: var(--color-bg);
}

.section--process-steps .process-steps {
	border-top-color: rgba(255, 255, 255, 0.28);
}

.section--process-steps .process-steps__main {
	border-inline-start-color: rgba(255, 255, 255, 0.28);
}

.section--process-steps .process-steps__list::before {
	background: rgba(255, 255, 255, 0.28);
}

.section--process-steps .process-steps__item::before {
	background: var(--color-forest);
	border-color: #f0f2ee;
}

.section--process-steps .process-steps__item:first-child::before {
	background: var(--color-bg);
}

.section--process-steps .process-scrub-line {
	background: rgba(255, 255, 255, 0.28);
}

/* --------------------------------------------------------------------------
   Home process section, desktop: pinned horizontal timeline. The section
   fills the viewport while pinned, the heading sits above the timeline,
   and the six steps run as columns with the rule passing through their
   dots. The geometry below is pure layout: pinning and the scrubbed line
   are JS owned, so with no JS or reduced motion this renders as the
   completed static section, unpinned. Mobile keeps the vertical timeline
   from the base styles above.
   -------------------------------------------------------------------------- */
@media (min-width: 781px) {
	.section--process-steps {
		min-height: 100vh;
		display: flex;
		align-items: center;
		padding-block: clamp(3rem, 6vh, 5rem);
	}

	.section--process-steps .container {
		width: 100%;
	}

	.section--process-steps .process-steps {
		display: block;
	}

	.section--process-steps .process-steps__intro {
		margin-bottom: clamp(3.5rem, 9vh, 6.5rem);
		max-width: 30ch;
	}

	.section--process-steps .process-steps__main {
		border-inline-start: 0;
		padding-inline-start: 0;
	}

	.section--process-steps .process-steps__list {
		--process-line-y: 2rem;
		flex-direction: row;
		align-items: stretch;
		gap: clamp(1.4rem, 2.4vw, 2.4rem);
	}

	.section--process-steps .process-steps__list > li {
		flex: 1 1 0;
	}

	/* The static rule and the scrubbed line both run horizontally
	   through the dots. */
	.section--process-steps .process-steps__list::before,
	.section--process-steps .process-scrub-line {
		top: var(--process-line-y);
		bottom: auto;
		left: 0;
		right: 0;
		width: auto;
		height: 1px;
	}

	.section--process-steps .process-scrub-line {
		transform-origin: left center;
	}

	.section--process-steps .process-steps__item {
		display: flex;
		flex-direction: column;
		padding-top: calc(var(--process-line-y) + 1.6rem);
	}

	.section--process-steps .process-steps__num {
		position: absolute;
		top: 0;
		left: 0;
		text-align: left;
		padding-right: 0;
	}

	.section--process-steps .process-steps__item::before {
		top: calc(var(--process-line-y) - 3.5px);
		left: 4px;
	}

	.section--process-steps .process-steps__title {
		font-size: clamp(1.15rem, 1.35vw, 1.4rem);
	}

	.section--process-steps .process-steps__body {
		font-size: 0.95rem;
		line-height: 1.55;
	}
}

/* ==========================================================================
   Fail open reveal system (class based, no rAF dependency)
   ========================================================================== */

.motion-enhanced .nu-assemble {
	opacity: 0;
	transform: translate3d(0, 44px, 0);
	transition: opacity 0.85s var(--ease-out-soft), transform 0.85s var(--ease-out-soft);
	transition-delay: calc(var(--nu-index, 0) * 110ms);
}

.motion-enhanced .nu-assemble.is-assembled {
	opacity: 1;
	transform: none;
}

html:not(.motion-enhanced) .nu-assemble,
.reduced-motion .nu-assemble {
	opacity: 1;
	transform: none;
	transition: none;
}

.nu-mask {
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.motion-enhanced .nu-masked .nu-mask > div {
	transform: translateY(112%);
	transition: transform 0.85s var(--ease-out-soft);
	transition-delay: calc(var(--nu-line, 0) * 110ms);
}

.motion-enhanced .nu-masked.is-mask-revealed .nu-mask > div {
	transform: none;
}

html:not(.motion-enhanced) .nu-mask > div,
.reduced-motion .nu-mask > div {
	transform: none;
	transition: none;
}

@media (prefers-reduced-motion: reduce) {
	.nu-assemble,
	.nu-mask > div {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* ==========================================================================
   Halston motion layer: image settle, band wipes, sticky section labels
   ========================================================================== */

/* Images settle from a gentle zoom as they enter the viewport. */
.motion-enhanced img.nu-settle-img {
	transform: scale(1.08);
	transition: transform 1.2s var(--ease-out-soft);
}

.motion-enhanced img.nu-settle-img.is-settled {
	transform: scale(1);
}

.motion-enhanced .furniture-category-card:hover .furniture-category-card__img.nu-settle-img {
	transform: scale(1.04);
}

html:not(.motion-enhanced) img.nu-settle-img,
.reduced-motion img.nu-settle-img {
	transform: none;
	transition: none;
}

/* FOREST and INK bands reveal with a subtle upward wipe. */
.motion-enhanced .nu-band-wipe {
	clip-path: inset(14% 0 0 0);
	transform: translate3d(0, 30px, 0);
	transition: clip-path 0.95s var(--ease-out-soft), transform 0.95s var(--ease-out-soft);
}

.motion-enhanced .nu-band-wipe.is-wiped {
	clip-path: inset(0 0 0 0);
	transform: none;
}

html:not(.motion-enhanced) .nu-band-wipe,
.reduced-motion .nu-band-wipe {
	clip-path: none;
	transform: none;
	transition: none;
}

/* Section intro columns pin briefly while their content scrolls past.
   The home process intro is excluded: that section is the pinned
   horizontal timeline and its intro sits above the rule, not beside it. */
@media (min-width: 821px) {
	.office-process__intro,
	.office-why__copy {
		position: sticky;
		top: clamp(5.5rem, 10vh, 8rem);
		align-self: start;
	}
}

@media (prefers-reduced-motion: reduce) {
	img.nu-settle-img,
	.nu-band-wipe {
		transform: none !important;
		clip-path: none !important;
		transition: none !important;
	}
}
