/**
 * Company hub pages — Factory photos, Quality Assurance, Videos.
 * Centered 1180px shell + JCCNC industrial polish (content unchanged).
 */

/* ── Centered page shell ───────────────────────────────────────── */
body.jcproto-company-hub.jcproto-has-legacy-body .jcproto-page-shell > .container,
body.jcproto-company-hub.jcproto-has-legacy-body .jcproto-page-shell > .jcproto-container {
	width: 100% !important;
	max-width: min(1180px, calc(100% - 2rem)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(1rem, 2vw, 2.5rem) !important;
	padding-right: clamp(1rem, 2vw, 2.5rem) !important;
	box-sizing: border-box !important;
}

/* ── Legacy body — full-bleed band, centered inner shell ─────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer) {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
	overflow-x: clip;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer) > .container,
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer) > .container-opened {
	width: 100% !important;
	max-width: min(1180px, calc(100% - 2rem)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(1rem, 2vw, 2.5rem) !important;
	padding-right: clamp(1rem, 2vw, 2.5rem) !important;
	box-sizing: border-box !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer) > .container > .row,
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer) > .container-opened > .row {
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer) > .container > .row::before,
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer) > .container > .row::after {
	display: none !important;
	content: none !important;
}

/* Bootstrap clearfix pseudos break nested CSS grids (Videos page) */
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row::before,
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row::after {
	display: none !important;
	content: none !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .siteblocks-setting-wrap {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
	overflow-x: clip;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .siteblocks-setting-wrap .siteblocks-container {
	width: 100% !important;
	max-width: min(1180px, calc(100% - 2rem)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(1rem, 2vw, 2.5rem) !important;
	padding-right: clamp(1rem, 2vw, 2.5rem) !important;
	box-sizing: border-box !important;
}

/* ── Collapse legacy spacers ─────────────────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-placeholder:has(.resizee) {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* ── Section rhythm + gray bands ─────────────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer) {
	padding-top: clamp(1.25rem, 2.5vw, 2rem) !important;
	padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:has(> .container > .row > .col-md-4:first-child):has(> .container > .row > .col-md-4:nth-child(2)):has(> .container > .row > .col-md-4:nth-child(3):last-child),
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:has(> .container > .row > .col-md-8):has(> .container > .row > .col-md-4:last-child),
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:has(> .container > .row > .col-md-6:first-child):has(> .container > .row > .col-md-6:nth-child(2):last-child),
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:has(> .container > .row > .col-md-3:first-child):has(> .container > .row > .col-md-3:nth-child(4):last-child),
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:has([class*="sitewidget-video"]) {
	background-color: var(--jcproto-section-gray, #f7f7f5) !important;
}

/* ── Legacy widget offset reset ──────────────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-text"],
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphic"],
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-picture"] {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] {
	padding-right: 0 !important;
}

/* ── Typography ──────────────────────────────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-title"] .sitewidget-hd > h1,
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-title"] .sitewidget-hd > h2,
body.jcproto-company-hub .jcproto-legacy-body-wrap .graphicNewTitle {
	font-family: var(--jcproto-font-display, inherit) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	color: var(--jcproto-text, #0a0a0a) !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd,
body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd p,
body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span:not([style*="font-size"]) {
	font-size: var(--type-body) !important;
	line-height: 1.7 !important;
	color: var(--jcproto-text-body, #475569) !important;
	-webkit-text-fill-color: currentColor !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd strong,
body.jcproto-company-hub .jcproto-legacy-body-wrap .graphicNewTitle {
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	color: var(--jcproto-text, #0a0a0a) !important;
	-webkit-text-fill-color: currentColor !important;
}

/* Legacy section titles (34px/36px inline wrappers) — restore normal column heading scale */
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size:34px"] strong,
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size: 34px"] strong,
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size:36px"] strong,
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size: 36px"] strong,
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size:34px"] strong span,
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size: 34px"] strong span,
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size:36px"] strong span,
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size: 36px"] strong span {
	font-size: var(--type-section) !important;
	font-family: var(--jcproto-font-display, inherit) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: var(--jcproto-text, #0a0a0a) !important;
	-webkit-text-fill-color: currentColor !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size:34px"],
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size: 34px"],
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size:36px"],
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size: 36px"] {
	font-size: var(--type-section) !important;
	line-height: 1.25 !important;
	color: var(--jcproto-text, #0a0a0a) !important;
	-webkit-text-fill-color: currentColor !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size:26px"],
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size: 26px"] {
	font-size: var(--type-panel) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size:17px"],
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size: 17px"],
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size:18px"],
body.jcproto-company-hub .jcproto-legacy-body-wrap span[style*="font-size: 18px"] {
	font-size: var(--type-lead) !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-bd [style*="#777777"],
body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-bd [style*="color:#777"],
body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-bd [style*="color: #777"] {
	color: var(--jcproto-text-body, #555555) !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(.jcproto-empty-spacer) > .container > .row > .col-md-12 .sitewidget-text .sitewidget-bd {
	max-width: 72ch;
}

/* ── Hero split banner (when theme injects) ──────────────────── */
body.jcproto-company-hub .jcproto-inner-split-banner__media {
	background: #fff !important;
	border: 1px solid var(--jcproto-border, #e0e0e0) !important;
	box-shadow: var(--jcproto-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.06));
}

body.jcproto-company-hub .jcproto-inner-split-banner__media img {
	object-fit: contain !important;
	object-position: center center !important;
	padding: clamp(0.5rem, 1.5vw, 1rem);
	background: #fff !important;
}

/* Videos page — hero thumbnail fills the media frame */
body.jcproto-company-hub.jcproto-legacy--video .jcproto-inner-split-banner__media {
	background: #0a0a0a !important;
	overflow: hidden;
}

body.jcproto-company-hub.jcproto-legacy--video .jcproto-inner-split-banner__media img {
	object-fit: cover !important;
	object-position: center center !important;
	padding: 0 !important;
	background: transparent !important;
	width: 100% !important;
	height: 100% !important;
}

/* ── LayerSlider hero (Quality Assurance) ────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-layersliderNew"] {
	max-width: 100%;
	margin: 0 auto;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-layersliderNew"] .styleBox,
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-layersliderNew"] .ls-container {
	max-width: 100% !important;
	border-radius: var(--jcproto-radius-lg, 12px);
	overflow: hidden;
	box-shadow: var(--jcproto-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.06));
}

/* ── Picture widgets ─────────────────────────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-resize-wrap {
	text-align: center !important;
}

body.jcproto-company-hub:not(.jcproto-legacy--factory-photos) .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-wrap,
body.jcproto-company-hub:not(.jcproto-legacy--factory-photos) .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-resize-wrap,
body.jcproto-company-hub:not(.jcproto-legacy--factory-photos) .jcproto-legacy-body-wrap .sitewidget-pictureNew .imgBox {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden;
	border-radius: var(--jcproto-radius-lg, 12px);
	background: #fff !important;
	border: 1px solid var(--jcproto-border, #e0e0e0);
	box-shadow: var(--jcproto-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.06));
}

body.jcproto-company-hub:not(.jcproto-legacy--factory-photos) .jcproto-legacy-body-wrap .sitewidget-pictureNew .img-default-bgc,
body.jcproto-company-hub:not(.jcproto-legacy--factory-photos) .jcproto-legacy-body-wrap .sitewidget-pictureNew img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	display: block;
	object-fit: cover;
	border-radius: var(--jcproto-radius-lg, 12px);
}

/* ── Nested legacy row offset reset (Videos page) ────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row .row > [class*="col-md"] > [id^="location_"] {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* ── Text + image split (8/4) ────────────────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-8):has(> .col-md-4) {
	display: grid !important;
	grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	align-items: center;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-8):has(> .col-md-4) > [class*="col-md"] {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	min-width: 0;
}

/* ── Two-column rows (col-md-6) — includes nested video grids ─── */
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-6:first-child):has(> .col-md-6:nth-child(2):last-child) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: start;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-6:first-child):has(> .col-md-6:nth-child(2):last-child) > [class*="col-md"] {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	min-width: 0;
}

/* ── Three-column cards (col-md-4) ───────────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-4:first-child):has(> .col-md-4:nth-child(2)):has(> .col-md-4:nth-child(3):last-child) {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.75rem, 1.5vw, 1rem);
	align-items: stretch;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-4:first-child):has(> .col-md-4:nth-child(2)):has(> .col-md-4:nth-child(3):last-child) > [class*="col-md-4"] {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0;
}

/* ── Four-column cert / photo grid (col-md-3) ────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-3:first-child):has(> .col-md-3:nth-child(4):last-child) {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	align-items: stretch;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-3:first-child):has(> .col-md-3:nth-child(4):last-child) > [class*="col-md-3"] {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-3) [class*="sitewidget-pictureNew"] {
	height: 100%;
	margin: 0 !important;
}

/* ── Section headings in full-width rows ─────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-12:only-child) .sitewidget-text .sitewidget-bd strong,
body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-12:only-child) .graphicNewTitle {
	display: block;
	margin: 0 0 0.25rem;
	padding-bottom: 0.625rem;
	border-bottom: 2px solid var(--jcproto-primary, #0a0a0a);
}

/* ── graphicNew lists ────────────────────────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd ul {
	display: grid;
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd ul li {
	margin: 0;
	padding: 1rem 1.125rem;
	background: #fff;
	border: 1px solid var(--jcproto-border, #e0e0e0);
	border-radius: var(--jcproto-radius, 8px);
	border-left: 3px solid var(--jcproto-primary, #0a0a0a);
	box-sizing: border-box;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd ul li strong {
	display: block;
	margin-bottom: 0.35rem;
	font-size: var(--type-subhead) !important;
	font-weight: 700 !important;
	color: var(--jcproto-text, #0a0a0a) !important;
}

/* ── Video widgets (Videos page) ─────────────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] {
	margin: 0 !important;
}

/* Video grid columns — match horizontal gap when videos stack in one column */
body.jcproto-company-hub.jcproto-legacy--video .jcproto-legacy-body-wrap .row:has(> [class*="col-md-6"] [class*="sitewidget-video"]) > [class*="col-md-6"] [id^="location_"] {
	display: flex !important;
	flex-direction: column !important;
	gap: clamp(1rem, 2vw, 1.5rem) !important;
}

body.jcproto-company-hub.jcproto-legacy--video .jcproto-legacy-body-wrap [class*="col-md-6"] .backstage-stwidgets-settingwrap:has(.sitewidget-placeholder):not(:has([class*="sitewidget-video"])) {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.jcproto-company-hub.jcproto-legacy--video .jcproto-legacy-body-wrap .row:has(> .col-md-6:first-child):has(> .col-md-6:nth-child(2):last-child) {
	row-gap: clamp(1rem, 2vw, 1.5rem) !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videoBox {
	background: transparent !important;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videoBox .videopic {
	display: block;
	width: 100%;
	border-radius: var(--jcproto-radius-lg, 12px);
	overflow: hidden;
	background: #0a0a0a;
	border: 1px solid var(--jcproto-border, #e0e0e0);
	box-shadow: var(--jcproto-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.06));
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videoBox a,
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videoBox .videoH5Controls {
	cursor: pointer;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	min-height: 0 !important;
	overflow: hidden;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videopic,
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videopic a {
	height: 100%;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videopic,
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videopic img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videoBox a:hover img {
	transform: scale(1.04);
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videoOutContent {
	position: relative;
	width: 100% !important;
	max-width: 100% !important;
	aspect-ratio: 16 / 9;
	padding-top: 0 !important;
	border-radius: var(--jcproto-radius-lg, 12px);
	overflow: hidden;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videoOutContent iframe,
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	border: 0;
	border-radius: 0;
	aspect-ratio: auto;
	box-shadow: none;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videoBox .videoInfo,
body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videoBox .videoInfo * {
	margin-top: 0.75rem;
	padding: 0;
	font-family: var(--jcproto-font-display, "Montserrat", system-ui, sans-serif) !important;
	font-size: var(--type-subhead) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
	background: transparent !important;
	overflow: visible;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-12:only-child):has([class*="sitewidget-video"]) {
	display: block !important;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-12:only-child) .sitewidget-text .sitewidget-bd {
	max-width: 72ch;
	margin-bottom: clamp(0.75rem, 1.5vw, 1.25rem);
}

/* ── CTA buttons ─────────────────────────────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-button a.backstage-component-btncolor.gbBgColor0 {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.75rem 1.5rem !important;
	background: var(--jcproto-primary, #0a0a0a) !important;
	color: #fff !important;
	border: 1px solid var(--jcproto-primary, #0a0a0a) !important;
	border-radius: var(--jcproto-radius, 8px) !important;
	font-size: var(--type-subhead) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-button a.backstage-component-btncolor.gbBgColor0:hover {
	background: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
}

/* ── Links ───────────────────────────────────────────────────── */
body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-bd a:not(.backstage-component-btn):not(.btn):not(.gbBgColor0) {
	color: var(--jcproto-text-body, #555555) !important;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

body.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-bd a:not(.backstage-component-btn):not(.btn):not(.gbBgColor0):hover {
	color: var(--jcproto-primary, #0a0a0a) !important;
}

/* ── Prevent minor horizontal scroll ───────────────────────────── */
body.jcproto-company-hub {
	overflow-x: clip;
}

/* ── Responsive ────────────────────────────────────────────────── */
@media (max-width: 991px) {
	body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-8):has(> .col-md-4),
	body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-4:first-child):has(> .col-md-4:nth-child(2)):has(> .col-md-4:nth-child(3):last-child),
	body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-6:first-child):has(> .col-md-6:nth-child(2):last-child),
	body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-3:first-child):has(> .col-md-3:nth-child(4):last-child) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-8):has(> .col-md-4) .sitewidget-pictureNew {
		order: -1;
	}
}

@media (max-width: 575px) {
	body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-3:first-child):has(> .col-md-3:nth-child(4):last-child),
	body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-4:first-child):has(> .col-md-4:nth-child(2)):has(> .col-md-4:nth-child(3):last-child),
	body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-6:first-child):has(> .col-md-6:nth-child(2):last-child),
	body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea .outerContainer .row:has(> .col-md-8):has(> .col-md-4) {
		grid-template-columns: 1fr !important;
	}

	body.jcproto-company-hub .jcproto-legacy-body-wrap #backstage-bodyArea > .outerContainer:not(.jcproto-empty-spacer) > .container > .row > .col-md-12 .sitewidget-text .sitewidget-bd {
		max-width: 100%;
	}

	body.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd ul {
		grid-template-columns: 1fr;
	}

	body.jcproto-company-hub .jcproto-inner-split-banner__actions {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ── Factory photos — frameless gallery (no card borders) ─────── */
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-wrap,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-resize-wrap,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .imgBox {
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	border-radius: 0 !important;
}

body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .img-default-bgc,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew img {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* ── Factory photos — body copy (legacy 14px/17px inline) ─────── */
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd,
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd p,
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span,
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:14px"],
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 14px"],
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:17px"],
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 17px"],
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd,
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span,
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:14px"],
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 14px"],
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:17px"],
body.jcproto-legacy--factory-photos.jcproto-company-hub .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 17px"] {
	font-size: 1rem !important;
	line-height: 1.75 !important;
	color: var(--jcproto-text-body, #475569) !important;
	-webkit-text-fill-color: currentColor !important;
}

/* ── Factory photos — hover caption bar (bottom strip only) ─── */
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-wrap,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-resize-wrap,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .imgBox {
	position: relative !important;
	overflow: hidden !important;
}

body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-wrap::after {
	display: none !important;
	content: none !important;
}

body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-description,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew [class*="pic-desc"] {
	position: absolute !important;
	top: auto !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	inset: auto 0 0 0 !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translateY(100%) !important;
	opacity: 1 !important;
	visibility: visible !important;
	background: rgba(15, 23, 42, 0.82) !important;
	transition: transform 0.22s ease !important;
	line-height: 1.5 !important;
	z-index: 2 !important;
	display: block !important;
}

body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-wrap:hover .picture-description,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-wrap:hover [class*="pic-desc"],
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .imgBox:hover .picture-description,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .imgBox:hover [class*="pic-desc"] {
	transform: translateY(0) !important;
	background: rgba(15, 23, 42, 0.82) !important;
}

body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-description-table {
	display: block !important;
	width: 100% !important;
	height: auto !important;
}

body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-description-cell {
	display: block !important;
	vertical-align: bottom !important;
	text-align: center !important;
	padding: 0.65rem 0.85rem !important;
}

body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-description,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-description span,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew .picture-description strong,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew [class*="pic-desc"] span,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-pictureNew [class*="pic-desc"] span[style*="font-size"] {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	text-shadow: none !important;
	white-space: normal !important;
}
