/**
 * Unified split hero — aligned with cnc.r350.com (.hero / .hero-container).
 * Loads last to normalize banner size, spacing, typography, and image ratio site-wide.
 */

/* ── cnc.r350.com hero tokens ─────────────────────────────────── */
:root {
	--jcproto-hero-container: 1400px;
	--jcproto-hero-gap: 96px;
	--jcproto-hero-pad-y: 48px;
	--jcproto-hero-min-h: 560px;
	--jcproto-hero-home-min-h: calc(100vh - 120px);
	--jcproto-hero-bg: #f8f8f8;
}

/* ── Hero band shell ──────────────────────────────────────────── */
.jcproto-inner-hero-band,
.jcproto-inner-hero-band--home,
#jcproto-header + .jcproto-inner-hero-band {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--jcproto-hero-bg) !important;
	box-sizing: border-box;
}

body.jcproto-has-inner-hero-band .jcproto-inner-hero-band,
body.jcproto-has-inner-hero-band #jcproto-header + .jcproto-inner-hero-band {
	margin-bottom: 0 !important;
}

/* Breadcrumb inside hero band — match cnc .breadcrumb padding */
.jcproto-inner-hero-band .jcproto-position-breadcrumb,
.jcproto-inner-hero-band .jcproto-breadcrumb,
.jcproto-inner-hero-band nav.jcproto-breadcrumb {
	margin: 0 !important;
	padding: 16px 0 8px !important;
	background: transparent !important;
	border: 0 !important;
}

.jcproto-inner-hero-band .jcproto-position-breadcrumb__list,
.jcproto-inner-hero-band .jcproto-breadcrumb__list {
	width: 100% !important;
	max-width: var(--jcproto-hero-container) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 16px !important;
	box-sizing: border-box !important;
}

/* ── Split banner block ───────────────────────────────────────── */
.jcproto-inner-split-banner {
	position: relative;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 0 var(--jcproto-hero-pad-y) !important;
	min-height: var(--jcproto-hero-min-h) !important;
	display: flex !important;
	align-items: center !important;
	background: transparent !important;
	border: 0;
	box-shadow: none;
	overflow: visible;
	box-sizing: border-box;
}

/* Inner pages with breadcrumb — content flows from top (cnc: breadcrumb + hero stack) */
.jcproto-inner-hero-band:has(.jcproto-position-breadcrumb, nav.jcproto-breadcrumb) .jcproto-inner-split-banner {
	min-height: 0 !important;
	align-items: flex-start !important;
	padding: 16px 0 var(--jcproto-hero-pad-y) !important;
}

/* Homepage — full viewport hero (cnc .home-section-hero) */
body.home .jcproto-inner-hero-band--home,
body.home .jcproto-inner-hero-band--home .jcproto-inner-split-banner {
	min-height: var(--jcproto-hero-home-min-h) !important;
	height: auto;
}

body.home .jcproto-inner-hero-band--home .jcproto-inner-split-banner {
	padding: 0 !important;
	flex: 1 1 auto;
}

.jcproto-inner-split-banner__container {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: var(--jcproto-hero-gap) !important;
	align-items: center !important;
	width: 100% !important;
	max-width: var(--jcproto-hero-container) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 16px !important;
	padding-right: 16px !important;
	box-sizing: border-box !important;
}

.jcproto-inner-hero-band .jcproto-inner-split-banner__container {
	padding-left: 16px !important;
	padding-right: 16px !important;
}

.jcproto-inner-split-banner__copy {
	max-width: 100%;
}

/* Title — cnc .hero h1 */
.jcproto-inner-split-banner__title {
	margin: 0 0 32px !important;
	color: #0a0a0a !important;
	font-family: var(--jcproto-font-display, "Montserrat", sans-serif) !important;
	font-size: 3rem !important;
	font-weight: 700 !important;
	letter-spacing: normal !important;
	line-height: 1.3 !important;
	text-wrap: balance;
}

/* Bullet list — cnc .hero-list */
.jcproto-inner-split-banner__list {
	margin: 32px 0 64px !important;
	padding: 0 !important;
	list-style: none;
	font-size: 1.125rem !important;
	color: #555 !important;
}

.jcproto-inner-split-banner__list-item {
	display: flex;
	align-items: center;
	gap: 10px !important;
	margin: 0 0 12px !important;
	color: #555 !important;
	font-size: 1.125rem !important;
	line-height: 1.5;
}

.jcproto-inner-split-banner__list-item:last-child {
	margin-bottom: 0 !important;
}

.jcproto-inner-split-banner__list-icon {
	flex: 0 0 auto;
	color: #0a0a0a !important;
	font-size: 1.25rem !important;
	line-height: 1;
}

/* Lead paragraph (inner pages without bullets) */
.jcproto-inner-split-banner__body {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	max-width: 44rem;
}

.jcproto-inner-split-banner__lead {
	max-width: 44rem;
	margin: 0 !important;
	color: #555 !important;
	font-size: 1.125rem !important;
	line-height: 1.7;
}

.jcproto-inner-split-banner__body .jcproto-inner-split-banner__lead:last-child {
	margin-bottom: 0 !important;
}

/* Buttons — cnc .hero-buttons (64px below copy, matching .hero-list margin-bottom) */
.jcproto-inner-split-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 32px !important;
	margin: 0 !important;
}

.jcproto-inner-split-banner__body + .jcproto-inner-split-banner__actions,
.jcproto-inner-split-banner__lead + .jcproto-inner-split-banner__actions {
	margin-top: 64px !important;
}

.jcproto-inner-split-banner__title + .jcproto-inner-split-banner__actions {
	margin-top: 32px !important;
}

.jcproto-inner-split-banner__list + .jcproto-inner-split-banner__actions {
	margin-top: 0 !important;
}

.jcproto-inner-split-banner__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.55rem;
	min-height: 48px;
	padding: 0.75rem 1.75rem !important;
	border-radius: 4px !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.jcproto-inner-split-banner__btn--primary {
	background: #0a0a0a !important;
	border: 2px solid #0a0a0a !important;
	color: #fff !important;
}

.jcproto-inner-split-banner__btn--secondary {
	background: transparent !important;
	border: 2px solid #0a0a0a !important;
	color: #0a0a0a !important;
}

.jcproto-inner-split-banner__btn--primary:hover,
.jcproto-inner-split-banner__btn--primary:focus {
	background: #444 !important;
	border-color: #444 !important;
	color: #fff !important;
}

.jcproto-inner-split-banner__btn--secondary:hover,
.jcproto-inner-split-banner__btn--secondary:focus {
	background: #0a0a0a !important;
	color: #fff !important;
}

/* Image — cnc .hero-image (landscape 3:2; do not stretch with copy column height) */
.jcproto-inner-split-banner__media {
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 400px !important;
	height: auto !important;
	aspect-ratio: 3 / 2 !important;
	align-self: center !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	background: #e8e8e4 !important;
	justify-self: end !important;
}

.jcproto-inner-split-banner__media img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	display: block !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 8px !important;
	filter: none !important;
}

/* Home desktop — equal-height columns; copy centered in cell (cnc .hero-container parity). */
@media (min-width: 992px) {
	body.home .jcproto-inner-hero-band--home {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
	}

	body.home .jcproto-inner-split-banner--home .jcproto-inner-split-banner__container {
		align-items: stretch !important;
	}

	body.home .jcproto-inner-split-banner--home .jcproto-inner-split-banner__copy {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
	}

	body.home .jcproto-inner-split-banner--home .jcproto-inner-split-banner__media {
		align-self: stretch !important;
		aspect-ratio: auto !important;
		height: auto !important;
		min-height: 400px !important;
		transform: none !important;
		margin-top: 0 !important;
	}
}

@media (max-width: 991px) {
	.jcproto-inner-split-banner {
		min-height: 0 !important;
		padding-bottom: 32px !important;
	}

	body.home .jcproto-inner-hero-band--home,
	body.home .jcproto-inner-hero-band--home .jcproto-inner-split-banner {
		min-height: calc(100vh - 120px) !important;
	}

	.jcproto-inner-split-banner__container {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}

	.jcproto-inner-split-banner__media {
		order: -1;
		justify-self: stretch !important;
		min-height: 300px !important;
		aspect-ratio: 3 / 2 !important;
		height: auto !important;
		max-width: min(100%, 420px);
		margin-left: auto;
		margin-right: auto;
	}

	.jcproto-inner-split-banner__media img {
		min-height: 300px !important;
	}

	.jcproto-inner-split-banner__title {
		font-size: clamp(1.75rem, 6vw, 2.25rem) !important;
	}

	.jcproto-inner-split-banner__actions {
		flex-direction: column;
		gap: 16px !important;
	}

	.jcproto-inner-split-banner__body + .jcproto-inner-split-banner__actions,
	.jcproto-inner-split-banner__lead + .jcproto-inner-split-banner__actions {
		margin-top: 48px !important;
	}

	.jcproto-inner-split-banner__btn {
		width: 100%;
	}
}
