/* V3.0.31: compact rhythm, visible first rows and resilient partner layout. */
.jrm-site {
	--jrm-compact-xxs: 2px;
	--jrm-compact-xs: clamp(3px, .35vw, 5px);
	--jrm-compact-sm: clamp(5px, .65vw, 8px);
	--jrm-compact-md: clamp(8px, 1vw, 13px);
	--jrm-compact-section: clamp(10px, 1.55vw, 22px);
}

/* Keep the fixed-header safety offset, then remove the extra blank opening. */
.jrm-site > main,
.jrm-site > main.jrm-section,
.jrm-site > main.jrm-media-first-page,
.jrm-site > main.jrm-why-page {
	min-height: 0 !important;
	padding-top: var(--jrm-compact-xs) !important;
}
.jrm-site > main > :first-child {
	margin-top: 0 !important;
}

/* Homepage and Products series cards share the same page boundaries. */
.jrm-site .jrdv3-restored-extension,
.jrm-site > main.jrm-products-family-index.jrm-media-first-page {
	width: min(
		calc(100% - (var(--jrm-ds-page-gutter, 16px) * 2)),
		var(--jrm-ds-page-max, var(--jrm-max))
	) !important;
	max-width: var(--jrm-ds-page-max, var(--jrm-max)) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

/* Dedicated clearance keeps Products and Buyer Insights cards below the sticky header shadow. */
.jrm-site > main.jrm-products-family-index.jrm-media-first-page,
.jrm-site > main.jrm-blog-page.jrm-media-first-page {
	padding-top: clamp(32px, 2.5vw, 40px) !important;
}

/* Shared section rhythm: approximately 20% of the previous vertical space. */
.jrm-site :is(section, main).jrm-section,
.jrm-site main .jrm-module {
	padding-top: var(--jrm-compact-section) !important;
	padding-bottom: var(--jrm-compact-section) !important;
}
.jrm-site main.jrm-why-page > .jrm-module {
	padding-top: var(--jrm-compact-xs) !important;
	padding-bottom: var(--jrm-compact-xs) !important;
}
.jrm-site main.jrm-why-page > .jrm-split {
	margin-top: var(--jrm-compact-xs) !important;
	margin-bottom: var(--jrm-compact-xs) !important;
}
.jrm-site :is(.jrm-leak-data-page, .jrdv3-process-library, .jrdv3-customization-workflow) {
	gap: var(--jrm-compact-md) !important;
}

/* Section label, title and content must read as one compact unit. */
.jrm-site :is(.jrm-module-head, .jrdv3-section-head, .jrm-page-head, .jrdv3-topic-head, .jrdv3-catalog-heading, .jrm-media-first-intro) {
	min-height: 0 !important;
	height: auto !important;
	align-content: start !important;
	align-items: start !important;
	row-gap: var(--jrm-compact-xs) !important;
	margin-top: 0 !important;
	margin-bottom: var(--jrm-compact-sm) !important;
}
.jrm-site .jrm-module-head > div {
	display: flex !important;
	min-height: 0 !important;
	height: auto !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-items: flex-start !important;
	gap: var(--jrm-compact-xxs) !important;
	margin: 0 !important;
	padding: 0 !important;
}
.jrm-site :is(.jrm-page-head, .jrdv3-section-head, .jrm-module-head, .jrdv3-topic-head, .jrdv3-catalog-heading, .jrm-media-first-intro) .jrm-eyebrow,
.jrm-site .jrm-module-head > div > .jrm-eyebrow {
	margin: 0 !important;
	padding: 0 !important;
}
.jrm-site :is(.jrm-page-head, .jrdv3-section-head, .jrm-module-head, .jrdv3-topic-head, .jrdv3-catalog-heading, .jrm-media-first-intro) .jrm-eyebrow + :is(h1, h2, h3),
.jrm-site .jrm-module-head > div > h2 {
	margin-top: var(--jrm-compact-xxs) !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
}
.jrm-site .jrm-module-head > p,
.jrm-site :is(.jrdv3-section-head, .jrm-media-first-intro) > p:last-child {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Image-first and product-series pages no longer add a second large break. */
.jrm-site .jrm-media-first-page {
	padding-bottom: var(--jrm-compact-section) !important;
}
.jrm-site .jrm-media-first-intro {
	margin-top: var(--jrm-compact-xs) !important;
	padding-top: var(--jrm-compact-xs) !important;
}
.jrm-site .jrm-family-products + .jrdv3-topic-head {
	margin-top: 0 !important;
	padding-top: var(--jrm-compact-sm) !important;
	padding-bottom: var(--jrm-compact-sm) !important;
}
.jrm-site .jrm-blog-page .jrm-trending,
.jrm-site .jrdv3-catalog-heading {
	margin-top: var(--jrm-compact-sm) !important;
}

/* Distributors and Importers: no ordinal labels and no oversized card cavity. */
.jrm-site .jrm-why-buyers .jrdv3-workflow-grid {
	margin-top: 0 !important;
}
.jrm-site .jrm-why-buyers .jrdv3-workflow-grid article {
	min-height: 0 !important;
	padding: clamp(12px, 1.4vw, 18px) clamp(16px, 2vw, 26px) !important;
}
.jrm-site .jrm-why-buyers .jrdv3-workflow-grid article > span {
	display: none !important;
}
.jrm-site .jrm-why-buyers .jrdv3-workflow-grid h3 {
	margin: 0 0 var(--jrm-compact-xs) !important;
}
.jrm-site .jrm-why-buyers .jrdv3-workflow-grid p {
	margin: 0 0 var(--jrm-compact-sm) !important;
}
.jrm-site .jrm-why-buyers .jrdv3-workflow-grid ul {
	margin: 0 !important;
}
.jrm-site .jrm-why-buyers .jrdv3-workflow-grid li {
	padding-top: 4px !important;
	padding-bottom: 4px !important;
}

/* OEM / ODM cards use the existing specification-paper beige. */
.jrm-site .jrm-why-oem .jrm-info {
	min-height: 0 !important;
	padding: clamp(12px, 1.4vw, 18px) clamp(16px, 2vw, 24px) !important;
	background: var(--v3-paper, #f4f3ee) !important;
}
.jrm-site .jrm-why-oem .jrm-info small {
	display: block;
	margin: 0 0 var(--jrm-compact-xs) !important;
}
.jrm-site .jrm-why-oem .jrm-info h3 {
	margin: 0 0 var(--jrm-compact-xs) !important;
}
.jrm-site .jrm-why-oem .jrm-info p {
	margin: 0 !important;
}

/* Products footer actions reuse the WHY action-card language and saved covers. */
.jrm-site .jrm-products-test-entry {
	margin-top: var(--jrm-compact-sm) !important;
	margin-bottom: var(--jrm-compact-xs) !important;
}
.jrm-site .jrm-products-actions-section {
	padding-top: var(--jrm-compact-section) !important;
	padding-bottom: var(--jrm-compact-section) !important;
}
.jrm-site .jrm-products-actions-section .jrm-action-card {
	min-height: clamp(300px, 29vw, 390px);
}
.jrm-site .jrdv3-restored-extension > .jrdv3-family-grid,
.jrm-site .jrm-products-family-index > .jrdv3-family-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	max-width: none !important;
}
.jrm-site .jrm-social-share-card {
	cursor: default;
}
.jrm-site .jrm-product-share-links {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: auto;
}
.jrm-site .jrm-product-share-links a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 6px 11px;
	border: 1px solid var(--v3-line, #d9ddd4);
	border-radius: 999px;
	background: var(--v3-paper, #f4f3ee);
	color: var(--v3-olive, #515846);
	font-size: 11px;
	font-weight: 800;
	text-decoration: none;
}
.jrm-site .jrm-product-share-links a:is(:hover, :focus-visible) {
	background: var(--v3-olive, #515846);
	color: #fff;
}

/* Global Partners: one shared three-column grid keeps all card widths and gaps aligned. */
.jrm-site .jrdv3-partner-stage {
	grid-template-areas:
		"map map side"
		"bottom bottom bottom" !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: var(--jrm-compact-sm) !important;
}
.jrm-site .jrdv3-partner-stage > .jrdv3-world-map {
	grid-area: map;
}
.jrm-site .jrdv3-partner-registry.is-side {
	grid-area: side;
	grid-template-columns: 1fr !important;
	grid-template-rows: auto auto !important;
	align-content: start !important;
	gap: var(--jrm-compact-sm) !important;
	min-width: 0 !important;
}
.jrm-site .jrdv3-partner-registry.is-side > article,
.jrm-site .jrdv3-partner-registry.is-bottom > article {
	box-sizing: border-box;
	min-width: 0 !important;
	padding: clamp(10px, 1vw, 14px) !important;
}
.jrm-site .jrdv3-partner-registry.is-side article.is-global {
	grid-column: auto !important;
	grid-template-columns: 1fr !important;
}
.jrm-site .jrdv3-partner-registry.is-bottom {
	grid-area: bottom;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	grid-template-rows: auto !important;
	gap: var(--jrm-compact-sm) !important;
	align-items: stretch !important;
}
.jrm-site .jrdv3-partner-registry.is-bottom > article {
	grid-column: auto !important;
	min-height: 0 !important;
	height: 100% !important;
}
.jrm-site .jrdv3-partner-registry.is-bottom > p {
	grid-column: 1 / -1 !important;
}

/* WHY introduction: keep the evidence image compact while the desktop copy fits beside it. */
@media (min-width: 1051px) {
	.jrm-site #company-introduction.jrm-why-intro .jrm-prose {
		justify-content: flex-start !important;
		padding: clamp(28px, 2.5vw, 36px) !important;
	}
	.jrm-site #company-introduction.jrm-why-intro .jrm-prose h1 {
		margin: 10px 0 12px !important;
		padding-top: 0 !important;
		font-size: clamp(48px, 4vw, 56px) !important;
		line-height: .98 !important;
	}
	.jrm-site #company-introduction.jrm-why-intro .jrm-why-facts {
		margin: 12px 0 !important;
	}
	.jrm-site #company-introduction.jrm-why-intro .jrm-why-facts > span {
		padding: 10px 12px !important;
	}
}

@media (max-width: 1180px) {
	.jrm-site .jrdv3-restored-extension > .jrdv3-family-grid,
	.jrm-site .jrm-products-family-index > .jrdv3-family-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1000px) {
	.jrm-site .jrdv3-restored-extension > .jrdv3-family-grid,
	.jrm-site .jrm-products-family-index > .jrdv3-family-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 782px) {
	.jrm-site {
		--jrm-compact-section: 10px;
	}
	.jrm-site > main,
	.jrm-site > main.jrm-section,
	.jrm-site > main.jrm-media-first-page,
	.jrm-site > main.jrm-why-page {
		padding-top: 3px !important;
	}
	.jrm-site :is(.jrm-module-head, .jrdv3-section-head, .jrm-media-first-intro) {
		row-gap: 4px !important;
	}
	.jrm-site .jrm-why-buyers .jrdv3-workflow-grid article,
	.jrm-site .jrm-why-oem .jrm-info {
		padding: 12px 16px !important;
	}
	.jrm-site .jrm-products-actions-section .jrm-action-card {
		min-height: 0;
	}
	.jrm-site .jrdv3-restored-extension > .jrdv3-family-grid,
	.jrm-site .jrm-products-family-index > .jrdv3-family-grid {
		grid-template-columns: 1fr !important;
	}
	.jrm-site > main.jrm-products-family-index.jrm-media-first-page,
	.jrm-site > main.jrm-blog-page.jrm-media-first-page {
		padding-top: 24px !important;
	}
}

@media (max-width: 560px) {
	.jrm-site > main.jrm-products-family-index.jrm-media-first-page,
	.jrm-site > main.jrm-blog-page.jrm-media-first-page {
		padding-top: 20px !important;
	}
	.jrm-site .jrdv3-partner-stage {
		grid-template-areas:
			"map"
			"side"
			"bottom" !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.jrm-site .jrdv3-partner-registry.is-side,
	.jrm-site .jrdv3-partner-registry.is-bottom {
		grid-template-columns: 1fr !important;
		grid-template-rows: auto !important;
	}
}
