/**
 * Inner pages — layout helpers (grid, LayerSlider positioning, dark bands).
 * Typography: assets/css/typography.css
 */

/* Dark bands — white headings (page CSS often sets bg #000) */
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .jcproto-dark-band .graphicNewTitle,
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-hd > h1,
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-hd > h2,
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-hd > h3,
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-bd,
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-bd span {
	color: #fff !important;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-bd {
	color: rgba(255, 255, 255, 0.82) !important;
}

/* 4-column graphicNew rows — horizontal grid (float:none on cols needs grid row) */
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row:has(> [class*="col-md-3"]:nth-child(4):last-child) {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(12px, 2vw, 20px);
	align-items: stretch;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

@media (max-width: 989px) {
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row:has(> [class*="col-md-3"]:nth-child(4):last-child) {
		grid-template-columns: 1fr !important;
		gap: clamp(1rem, 2vw, 1.25rem);
	}
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row:has(> [class*="col-md-3"]:nth-child(4):last-child)::before,
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row:has(> [class*="col-md-3"]:nth-child(4):last-child)::after {
	display: none !important;
	content: none !important;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row:has(> [class*="col-md-3"]:nth-child(4):last-child) > [class*="col-md-3"] {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
}

/* 4-column service cards — undo fixed 230px graphicNew heights */
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row > [class*="col-md-3"]:has([class*="sitewidget-graphicNew"]) {
	display: flex !important;
	flex-direction: column !important;
	float: none !important;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row > [class*="col-md-3"]:has([class*="sitewidget-graphicNew"]) > [id^="location_"] {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row > [class*="col-md-3"]:has([class*="sitewidget-graphicNew"]) > .row {
	flex-shrink: 0;
	margin-top: 1rem;
	width: 100%;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row > [class*="col-md-3"]:has([class*="sitewidget-graphicNew"]) [class*="sitewidget-graphicNew"].sitewidget-olul-liststyle {
	height: auto !important;
	min-height: 0 !important;
	flex: 1 1 auto;
	display: flex !important;
	flex-direction: column !important;
	overflow: visible !important;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row > [class*="col-md-3"]:has([class*="sitewidget-graphicNew"]) [class*="sitewidget-graphicNew"] .sitewidget-content,
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row > [class*="col-md-3"]:has([class*="sitewidget-graphicNew"]) [class*="sitewidget-graphicNew"] .sitewidget-bd {
	flex: 1 1 auto;
	height: auto !important;
	overflow: visible !important;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row > [class*="col-md-3"]:has([class*="sitewidget-graphicNew"]) .sitewidget-button {
	margin-top: 0;
}

/* Card CTAs — black industrial */
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row > [class*="col-md-3"]:has([class*="sitewidget-graphicNew"]) .sitewidget-button a.backstage-component-btncolor.gbBgColor0 {
	background-color: var(--jcproto-primary, #0a0a0a) !important;
	color: #fff !important;
	border-color: var(--jcproto-primary, #0a0a0a) !important;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .row > [class*="col-md-3"]:has([class*="sitewidget-graphicNew"]) .sitewidget-button a.backstage-component-btncolor.gbBgColor0:hover {
	background-color: #000 !important;
	color: #fff !important;
	border-color: #000 !important;
}

/* ── Inner-page LayerSlider banners (all capability / industry heroes) ── */

/* White-card panel behind title + copy */
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-lnk {
	top: 50% !important;
	left: 4% !important;
	width: min(40%, 500px) !important;
	height: auto !important;
	min-height: clamp(11rem, 38%, 15rem) !important;
	max-height: 78% !important;
	transform: translateY(-50%) !important;
	z-index: 2 !important;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-lnk > a {
	transform: none !important;
}

/* Title */
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[style*="top:21%"],
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="32"] {
	top: calc(50% - 5.25rem) !important;
	left: 6% !important;
	width: min(36%, 460px) !important;
	max-height: none !important;
	overflow: visible !important;
	z-index: 3 !important;
}

/* Body copy */
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[style*="top:33%"],
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="16"],
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="18"] {
	top: calc(50% - 2.875rem) !important;
	left: 6% !important;
	width: min(36%, 460px) !important;
	max-height: none !important;
	overflow: visible !important;
	z-index: 3 !important;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt > div,
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt > div[data-lineClamp] {
	transform: none !important;
	transform-origin: left top !important;
	width: 100% !important;
	height: auto !important;
	max-height: 100% !important;
	overflow: hidden !important;
	display: block !important;
	-webkit-line-clamp: unset !important;
	-webkit-box-orient: initial !important;
	text-overflow: ellipsis;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt span {
	font-size: inherit !important;
	line-height: inherit !important;
	word-break: break-word;
}

/* CTA — inside white card, no overflow */
body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-btn {
	top: calc(50% + 3.5rem) !important;
	bottom: auto !important;
	left: 6% !important;
	width: auto !important;
	min-width: 9.5rem !important;
	max-width: min(36%, 460px) !important;
	height: auto !important;
	min-height: 2.625rem !important;
	max-height: none !important;
	z-index: 4 !important;
}

body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-btn > a {
	transform: none !important;
	width: 100% !important;
	height: auto !important;
	min-height: 2.625rem !important;
	padding: 0.55rem 1rem !important;
	line-height: 1.25 !important;
	white-space: normal !important;
	text-align: center !important;
	word-break: break-word;
	box-sizing: border-box;
}

/* Full-bleed hero (no white card) — skip split industry/resource panels (inner-hero-split.css) */
body.jcproto-has-legacy-body:not(.jcproto-layout-industry):not(.jcproto-layout-resource) .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-ls-fallback:not(.jcproto-inner-banner) .ls-l.asl-txt > div,
body.jcproto-has-legacy-body:not(.jcproto-layout-industry):not(.jcproto-layout-resource) .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-ls-fallback:not(.jcproto-inner-banner) .ls-l.asl-txt > div[data-lineClamp] {
	transform: none !important;
	width: 100% !important;
	height: auto !important;
	max-height: 100% !important;
	overflow: hidden !important;
	display: block !important;
	-webkit-line-clamp: unset !important;
}

body.jcproto-has-legacy-body:not(.jcproto-layout-industry):not(.jcproto-layout-resource) .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-ls-fallback:not(.jcproto-inner-banner) .ls-l.asl-txt[style*="top:21%"],
body.jcproto-has-legacy-body:not(.jcproto-layout-industry):not(.jcproto-layout-resource) .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-ls-fallback:not(.jcproto-inner-banner) .ls-l.asl-txt[data-fontSize="32"] {
	top: 16% !important;
	left: 10% !important;
	width: min(44%, 520px) !important;
	max-height: 14% !important;
	overflow: hidden !important;
}

body.jcproto-has-legacy-body:not(.jcproto-layout-industry):not(.jcproto-layout-resource) .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-ls-fallback:not(.jcproto-inner-banner) .ls-l.asl-txt[style*="top:33%"],
body.jcproto-has-legacy-body:not(.jcproto-layout-industry):not(.jcproto-layout-resource) .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-ls-fallback:not(.jcproto-inner-banner) .ls-l.asl-txt[data-fontSize="16"],
body.jcproto-has-legacy-body:not(.jcproto-layout-industry):not(.jcproto-layout-resource) .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-ls-fallback:not(.jcproto-inner-banner) .ls-l.asl-txt[data-fontSize="18"] {
	top: 30% !important;
	left: 10% !important;
	width: min(44%, 520px) !important;
	max-height: 38% !important;
	overflow: hidden !important;
}

body.jcproto-has-legacy-body:not(.jcproto-layout-industry):not(.jcproto-layout-resource) .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-ls-fallback:not(.jcproto-inner-banner) .ls-l.asl-btn {
	top: auto !important;
	bottom: 10% !important;
	left: 10% !important;
	width: auto !important;
	min-width: 9.5rem !important;
	max-width: min(44%, 520px) !important;
	height: auto !important;
	min-height: 2.625rem !important;
	max-height: none !important;
}

body.jcproto-has-legacy-body:not(.jcproto-layout-industry):not(.jcproto-layout-resource) .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-ls-fallback:not(.jcproto-inner-banner) .ls-l.asl-btn > a {
	transform: none !important;
	width: 100% !important;
	height: auto !important;
	min-height: 2.625rem !important;
	padding: 0.55rem 1.25rem !important;
	line-height: 1.25 !important;
	white-space: normal !important;
	text-align: center !important;
	box-sizing: border-box;
}

/* Desktop — align white card + copy with inner-page container; flex-center content stack */
@media (min-width: 1220px) {
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .jcproto-inner-hero .terminal-wrapper.pc.jcproto-inner-banner {
		--jcproto-hero-content-left: max(40px, calc((100vw - min(var(--jcproto-container, 1380px), 100vw - 80px)) / 2 + 40px));
		--jcproto-hero-card-width: min(500px, 36vw);
		--jcproto-hero-text-pad: 1.25rem;
	}

	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .jcproto-inner-hero .terminal-wrapper.pc.jcproto-inner-banner .ls-slide,
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .jcproto-inner-hero .terminal-wrapper.pc.jcproto-inner-banner .ls-slide.ls-active {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: flex-start !important;
		padding-left: calc(var(--jcproto-hero-content-left) + var(--jcproto-hero-text-pad)) !important;
		box-sizing: border-box !important;
		overflow: visible !important;
	}

	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .jcproto-inner-hero .terminal-wrapper.pc.jcproto-inner-banner img.ls-bg {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		z-index: 0 !important;
	}

	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-lnk {
		left: var(--jcproto-hero-content-left) !important;
		width: var(--jcproto-hero-card-width) !important;
		transform: translateY(-50%) !important;
	}

	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[style*="top:21%"],
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="32"],
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[style*="top:33%"],
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="16"],
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="18"],
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-btn {
		position: relative !important;
		top: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: calc(var(--jcproto-hero-card-width) - 2 * var(--jcproto-hero-text-pad)) !important;
		max-width: calc(var(--jcproto-hero-card-width) - 2 * var(--jcproto-hero-text-pad)) !important;
		max-height: none !important;
		z-index: 3 !important;
	}

	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[style*="top:21%"],
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="32"] {
		order: 1;
		margin: 0 0 0.625rem !important;
	}

	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[style*="top:33%"],
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="16"],
	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="18"] {
		order: 2;
		margin: 0 0 1rem !important;
	}

	body.jcproto-has-legacy-body .jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-btn {
		order: 3;
		margin: 0 !important;
		width: auto !important;
		min-width: 9.5rem !important;
		max-width: calc(var(--jcproto-hero-card-width) - 2 * var(--jcproto-hero-text-pad)) !important;
		z-index: 4 !important;
	}
}
