/*
 * Service-area, booking, and quote destination pages.
 */

.brightpath-journey-page {
	--journey-border: rgba(27, 34, 30, 0.14);
}

.brightpath-journey-hero {
	background:
		linear-gradient(115deg, rgba(17, 20, 18, 0.98) 0%, rgba(17, 20, 18, 0.9) 57%, rgba(17, 20, 18, 0.45) 100%),
		var(--brightpath-journey-hero-image, url("../images/brightpath-hero-v2.webp")) center 35% / cover;
	min-height: min(720px, calc(100vh - 82px));
	padding:
		clamp(5rem, 9vw, 8.5rem)
		var(--brightpath-site-gutter, 20px);
}

.brightpath-journey-hero__inner {
	margin-inline: auto !important;
	max-width: 1240px;
	width: calc(100% - 2 * clamp(0rem, 2.5vw, 2rem));
}

.brightpath-journey-hero h1 {
	font-size: clamp(3.25rem, 7vw, 7.2rem) !important;
	letter-spacing: -0.065em;
	line-height: 0.91;
	margin-bottom: var(--wp--preset--spacing--60);
	max-width: 10ch;
}

.brightpath-journey-hero__lead {
	color: rgba(255, 255, 255, 0.76) !important;
	max-width: 690px;
}

.brightpath-journey-hero__note {
	border-left: 2px solid var(--wp--preset--color--brand-gold);
	color: rgba(255, 255, 255, 0.66);
	font-size: var(--wp--preset--font-size--small);
	margin-top: clamp(2.5rem, 5vw, 4.5rem);
	max-width: 590px;
	padding-left: 1rem;
}

.brightpath-journey-hero .is-style-brightpath-secondary .wp-block-button__link {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.48);
	color: var(--wp--preset--color--white);
}

.brightpath-journey-hero .is-style-brightpath-secondary .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: var(--wp--preset--color--white);
}

.brightpath-area-summary,
.brightpath-action-intro {
	align-items: end;
	display: grid;
	gap: clamp(2rem, 6vw, 6rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.75fr);
}

.brightpath-area-summary h2,
.brightpath-action-intro h2 {
	font-size: clamp(2.7rem, 5vw, 5.3rem) !important;
	letter-spacing: -0.055em;
	line-height: 0.96;
	margin: 0;
	max-width: 11ch;
}

.brightpath-region-grid,
.brightpath-action-grid,
.brightpath-factor-grid {
	display: grid;
	gap: clamp(1rem, 2.2vw, 1.75rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.brightpath-region-card,
.brightpath-action-card,
.brightpath-factor-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--journey-border);
	border-radius: var(--wp--preset--border-radius--large);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.brightpath-region-card {
	min-height: 360px;
}

.brightpath-region-card__index,
.brightpath-action-card__index {
	color: var(--wp--preset--color--deep-gold);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin-bottom: auto;
	text-transform: uppercase;
}

.brightpath-region-card h3,
.brightpath-action-card h3 {
	font-size: clamp(1.65rem, 2.6vw, 2.4rem) !important;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.brightpath-region-card__status {
	background: var(--wp--preset--color--pale-sage);
	border-radius: var(--wp--preset--border-radius--pill);
	color: var(--wp--preset--color--deep-sage);
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	padding: 0.45rem 0.7rem;
	text-transform: uppercase;
	width: fit-content;
}

.brightpath-place-list {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: clamp(2rem, 4vw, 3.5rem) 0 0;
	padding: 0;
}

.brightpath-place-list li {
	border-bottom: 1px solid var(--journey-border);
	box-sizing: border-box;
	font-weight: 650;
	min-width: 0;
	padding: 1.1rem 0.75rem;
}

.brightpath-area-map {
	align-items: stretch;
	display: grid;
	gap: clamp(1.5rem, 4vw, 4rem);
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
}

.brightpath-map-canvas {
	background:
		radial-gradient(circle at 26% 62%, rgba(201, 151, 50, 0.85) 0 5px, transparent 6px),
		radial-gradient(circle at 50% 45%, rgba(201, 151, 50, 0.85) 0 5px, transparent 6px),
		radial-gradient(circle at 70% 30%, rgba(201, 151, 50, 0.85) 0 5px, transparent 6px),
		linear-gradient(135deg, rgba(217, 226, 214, 0.95), rgba(245, 241, 232, 0.9));
	border: 1px solid rgba(41, 73, 56, 0.16);
	border-radius: var(--wp--preset--border-radius--large);
	box-sizing: border-box;
	display: grid;
	min-height: 470px;
	overflow: hidden;
	padding: clamp(1.5rem, 4vw, 3rem);
	place-items: end start;
	position: relative;
}

.brightpath-map-canvas::before,
.brightpath-map-canvas::after {
	border: 1px solid rgba(41, 73, 56, 0.22);
	border-radius: 44% 56% 61% 39%;
	content: "";
	inset: 12% 18% 22% 12%;
	position: absolute;
	transform: rotate(-11deg);
}

.brightpath-map-canvas::after {
	inset: 25% 8% 10% 34%;
	transform: rotate(18deg);
}

.brightpath-map-canvas__label {
	background: rgba(17, 20, 18, 0.9);
	border-radius: var(--wp--preset--border-radius--medium);
	color: var(--wp--preset--color--white);
	max-width: 270px;
	padding: 1rem;
	position: relative;
	z-index: 1;
}

.brightpath-provider-panel {
	background: var(--wp--preset--color--deep-charcoal);
	border-radius: clamp(1.5rem, 4vw, 3rem);
	color: var(--wp--preset--color--white);
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 0.85fr) minmax(300px, 1.15fr);
	padding: clamp(2rem, 6vw, 5.5rem);
}

.brightpath-provider-panel h2 {
	color: inherit;
	font-size: clamp(2.6rem, 5vw, 5rem) !important;
	letter-spacing: -0.055em;
	line-height: 0.98;
}

.brightpath-provider-panel__preview {
	align-content: center;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--wp--preset--border-radius--large);
	box-sizing: border-box;
	display: grid;
	gap: 1rem;
	min-height: 330px;
	padding: clamp(1.5rem, 4vw, 3rem);
}

.brightpath-provider-panel__preview ol {
	margin: 0;
	padding-left: 1.25rem;
}

.brightpath-provider-panel__preview li + li {
	margin-top: 0.8rem;
}

.brightpath-disclaimer {
	background: rgba(201, 151, 50, 0.12);
	border: 1px solid rgba(157, 110, 24, 0.28);
	border-radius: var(--wp--preset--border-radius--large);
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.brightpath-disclaimer strong {
	color: var(--wp--preset--color--deep-gold);
}

.brightpath-step-list {
	counter-reset: journey-step;
	display: grid;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.brightpath-step-list li {
	border-top: 1px solid var(--journey-border);
	display: grid;
	gap: 1rem;
	grid-template-columns: 72px minmax(0, 1fr);
	padding: clamp(1.5rem, 3vw, 2.5rem) 0;
}

.brightpath-step-list li::before {
	color: var(--wp--preset--color--deep-gold);
	content: "0" counter(journey-step);
	counter-increment: journey-step;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.brightpath-step-list h3 {
	margin-top: 0;
}

@media (max-width: 960px) {
	.brightpath-area-summary,
	.brightpath-action-intro,
	.brightpath-area-map,
	.brightpath-provider-panel {
		grid-template-columns: 1fr;
	}

	.brightpath-region-grid,
	.brightpath-action-grid,
	.brightpath-factor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.brightpath-place-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.brightpath-journey-hero {
		min-height: auto;
		padding-top: 4.5rem;
	}

	.brightpath-journey-hero h1 {
		font-size: clamp(3rem, 15vw, 4.75rem) !important;
	}

	.brightpath-region-grid,
	.brightpath-action-grid,
	.brightpath-factor-grid,
	.brightpath-place-list {
		grid-template-columns: 1fr;
	}

	.brightpath-region-card {
		min-height: 310px;
	}

	.brightpath-map-canvas {
		min-height: 360px;
	}

	.brightpath-provider-panel {
		border-radius: 1.25rem;
		margin-inline: -0.25rem;
		padding-inline: 1.25rem;
	}

	.brightpath-step-list li {
		grid-template-columns: 48px minmax(0, 1fr);
	}
}

@media (max-width: 360px) {
	.brightpath-journey-hero h1 {
		font-size: 2.75rem !important;
	}
}
