/*--------------------------------------------------------------
Homepage Module 5 — Buyer Routing
Left panel stays wider; hover moves copy right (no panel grow).
--------------------------------------------------------------*/
.route-section {
	padding-top: 64px;
	padding-bottom: 64px;
}

.route-section__head {
	margin-bottom: 34px;
}

.route-section__title {
	font-size: clamp(30px, 3.8vw, 46px);
	line-height: 1.04;
	letter-spacing: -0.8px;
	margin: 0;
}

.route-section__panels-wrap {
	padding-left: 0;
	padding-right: 0;
}

.split-paths {
	display: grid;
	grid-template-columns: 1.62fr 1fr;
	/* Shared rows: photo spacer | tag | title | copy | CTA */
	grid-template-rows: 1fr auto auto auto auto;
	min-height: 480px;
	border: 1px solid rgba(0, 0, 0, 0.35);
	overflow: hidden;
}

.path-panel {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: 1 / -1;
	min-width: 0;
	text-decoration: none;
	color: inherit;
	outline: none;
}

.path-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-repeat: no-repeat;
	filter: saturate(1.08) contrast(1.06) brightness(1.04);
	transform: scale(1.001);
	transition: transform .9s cubic-bezier(.767, .01, .18, 1.01),
		filter .55s cubic-bezier(.767, .01, .18, 1.01);
}

.path-panel.pharma .path-bg {
	background-position: 32% 42%;
}

.path-panel.other .path-bg {
	background-position: center 28%;
}

.path-panel:hover .path-bg,
.path-panel:focus-visible .path-bg {
	transform: scale(1.08);
	filter: saturate(1.14) contrast(1.08) brightness(1.08);
}

.path-overlay {
	position: absolute;
	inset: 0;
}

.path-panel::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: rgba(0, 0, 0, 0.18);
	opacity: 0;
	transition: opacity .55s cubic-bezier(.767, .01, .18, 1.01);
}

.path-panel:hover::after,
.path-panel:focus-visible::after {
	opacity: 1;
}

/* Keep the photo visible up top; deepen only where copy sits */
.path-panel.pharma .path-overlay {
	background: linear-gradient(
		180deg,
		rgba(4, 44, 48, 0.28) 0%,
		rgba(4, 44, 48, 0.42) 38%,
		rgba(4, 44, 48, 0.82) 68%,
		rgba(3, 28, 32, 0.94) 100%
	);
}

.path-panel.other .path-overlay {
	background: linear-gradient(
		180deg,
		rgba(70, 36, 4, 0.28) 0%,
		rgba(90, 48, 6, 0.42) 38%,
		rgba(90, 45, 4, 0.82) 68%,
		rgba(40, 20, 2, 0.94) 100%
	);
}

.path-panel::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	z-index: 3;
}

.path-panel.pharma::before {
	background: var(--teal-bright);
}

.path-panel.other::before {
	background: var(--brand-orange);
}

/* Contents so tag/title/copy/CTA become subgrid items and share Y across panels */
.path-inner {
	display: contents;
	color: #fff;
}

.path-tag,
.path-inner h3,
.path-copy,
.path-links {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	transform: translateX(0);
	transition: transform .55s cubic-bezier(.767, .01, .18, 1.01);
}

/* Rollover: slide title, copy, CTA slightly right — no panel resize */
.path-panel:hover .path-tag,
.path-panel:focus-visible .path-tag,
.path-panel:hover .path-inner h3,
.path-panel:focus-visible .path-inner h3,
.path-panel:hover .path-copy,
.path-panel:focus-visible .path-copy,
.path-panel:hover .path-links,
.path-panel:focus-visible .path-links {
	transform: translateX(14px);
}

.path-tag {
	grid-row: 2;
	display: inline-block;
	justify-self: start;
	align-self: start;
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 1.6px;
	margin: 0 40px 18px;
	color: #fff;
	padding: 8px 14px;
	line-height: 1;
}

.path-panel.pharma .path-tag {
	background: var(--teal-bright);
	color: #06363a;
}

.path-panel.other .path-tag {
	background: var(--brand-orange);
	color: #0e1b1f;
}

.path-inner h3 {
	grid-row: 3;
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	font-weight: 600;
	font-size: clamp(32px, 2.6vw, 48px);
	line-height: 0.95;
	letter-spacing: -0.5px;
	margin: 0 40px 10px;
	color: #fff;
	max-width: 16ch;
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.45);
}

/* Left panel is wider — let the title sit on two lines */
.path-panel.pharma .path-inner h3 {
	max-width: 22ch;
}

.path-copy {
	grid-row: 4;
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	line-height: 1.58;
	margin: 0 40px 24px;
	color: rgba(255, 255, 255, 0.92);
	max-width: 42ch;
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.4);
}

.path-links {
	grid-row: 5;
	display: inline-flex;
	align-items: center;
	justify-self: start;
	align-self: start;
	gap: 8px;
	margin: 0 40px 32px;
	border: 1px solid rgba(255,255,255,.8);
	padding: 10px 14px;
	background: rgba(0,0,0,.25);
	transition: background .4s cubic-bezier(.767, .01, .18, 1.01),
		border-color .4s cubic-bezier(.767, .01, .18, 1.01),
		transform .55s cubic-bezier(.767, .01, .18, 1.01);
}

.path-panel:hover .path-links,
.path-panel:focus-visible .path-links {
	background: rgba(0, 0, 0, .45);
	border-color: #fff;
}

.path-cta {
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	letter-spacing: 1.6px;
	font-size: 11px;
	font-weight: 600;
	color: #fff;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.path-cta::after {
	content: '\2192';
	display: inline-block;
	transition: transform .4s cubic-bezier(.767, .01, .18, 1.01);
}

.path-panel:hover .path-cta::after,
.path-panel:focus-visible .path-cta::after {
	transform: translateX(5px);
}

.path-dot {
	color: rgba(255,255,255,.75);
	font-size: 10px;
	line-height: 1;
}

@media only screen and (max-width: 1024px) {
	.split-paths {
		min-height: 440px;
	}

	.path-tag,
	.path-inner h3,
	.path-copy,
	.path-links {
		margin-left: 28px;
		margin-right: 28px;
	}

	.path-inner h3 {
		font-size: clamp(28px, 2.8vw, 38px);
	}
}

@media only screen and (max-width: 820px) {
	.split-paths {
		display: flex;
		flex-direction: column;
		min-height: 0;
		grid-template-columns: none;
		grid-template-rows: none;
	}

	.path-panel {
		display: flex;
		grid-row: auto;
		min-height: 380px;
	}

	.path-inner {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		position: relative;
		z-index: 2;
		width: 100%;
		height: 100%;
		padding: 32px 28px 28px;
		box-sizing: border-box;
	}

	.path-tag,
	.path-inner h3,
	.path-copy,
	.path-links {
		grid-row: auto;
		margin-left: 0;
		margin-right: 0;
	}

	.path-tag {
		margin-bottom: 18px;
	}

	.path-inner h3 {
		margin-bottom: 10px;
	}

	.path-copy {
		margin-bottom: 24px;
	}

	.path-links {
		margin-bottom: 0;
	}

	.path-panel:hover .path-tag,
	.path-panel:focus-visible .path-tag,
	.path-panel:hover .path-inner h3,
	.path-panel:focus-visible .path-inner h3,
	.path-panel:hover .path-copy,
	.path-panel:focus-visible .path-copy,
	.path-panel:hover .path-links,
	.path-panel:focus-visible .path-links {
		transform: translateX(10px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.path-bg,
	.path-panel::after,
	.path-tag,
	.path-inner h3,
	.path-copy,
	.path-links,
	.path-cta::after {
		transition: none !important;
	}

	.path-panel:hover .path-bg,
	.path-panel:focus-visible .path-bg,
	.path-panel:hover .path-tag,
	.path-panel:focus-visible .path-tag,
	.path-panel:hover .path-inner h3,
	.path-panel:focus-visible .path-inner h3,
	.path-panel:hover .path-copy,
	.path-panel:focus-visible .path-copy,
	.path-panel:hover .path-links,
	.path-panel:focus-visible .path-links,
	.path-panel:hover .path-cta::after,
	.path-panel:focus-visible .path-cta::after {
		transform: none;
	}
}
