/* Holden-owned Page Manager presentation. Page data and module behavior remain unchanged. */
body.theme-holden-enterprises .cms-page-shell { padding-bottom: 48px; }

body.theme-holden-enterprises .cms-page-shell > .cms-page-hero {
	min-height: 0;
	margin-top: 0;
	padding: clamp(34px, 5vw, 58px) max(24px, calc((100vw - var(--classic-max)) / 2));
}

body.theme-holden-enterprises .cms-page-shell > .cms-page-hero :is(h1, h2) {
	max-width: 24ch;
	margin: 8px 0 10px;
	font-size: clamp(2rem, 3.5vw, 3.15rem);
	line-height: 1.08;
}

body.theme-holden-enterprises .cms-page-shell > .cms-page-hero p {
	max-width: 72ch;
	font-size: clamp(1rem, 1.3vw, 1.1rem);
	line-height: 1.58;
}

body.theme-holden-enterprises .cms-page-image-text {
	min-height: 0;
	margin-top: 36px;
	padding: clamp(24px, 3.4vw, 38px);
	border: 1px solid color-mix(in srgb, var(--cms-color-border) 88%, var(--cms-color-surface));
	background: color-mix(in srgb, var(--cms-color-surface) 96%, var(--cms-color-canvas));
	box-shadow: 0 10px 30px rgba(13,30,58,.06);
	scroll-margin-top: 104px;
}

body.theme-holden-enterprises .cms-page-image-text figure { margin-right: 28px; }
body.theme-holden-enterprises .cms-page-image-text.image-right figure { margin-right: 0; margin-left: 28px; }
body.theme-holden-enterprises .cms-page-image-text h2 { font-size: clamp(1.45rem, 2.2vw, 1.9rem); line-height: 1.18; }
body.theme-holden-enterprises .cms-page-image-text p { margin-bottom: 13px; }

body.theme-holden-enterprises .cms-page-rich-text,
body.theme-holden-enterprises .cms-page-callout,
body.theme-holden-enterprises .cms-page-image,
body.theme-holden-enterprises .cms-page-quote,
body.theme-holden-enterprises .cms-page-features,
body.theme-holden-enterprises .cms-page-columns,
body.theme-holden-enterprises .cms-page-media,
body.theme-holden-enterprises .cms-widget,
body.theme-holden-enterprises .cms-page-empty { margin-top: 36px; padding: clamp(24px, 3.4vw, 38px); }

body.theme-holden-enterprises .cms-page-rich-text { line-height: 1.7; }
body.theme-holden-enterprises .cms-page-rich-text > h2 { margin: 1.8rem 0 .7rem; padding-top: 1.2rem; border-top: 1px solid var(--cms-color-border); font-size: clamp(1.35rem, 2vw, 1.7rem); }
body.theme-holden-enterprises .cms-page-rich-text > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }

body.theme-holden-enterprises .cms-page-button-row { width: min(calc(100% - 40px), 1060px); margin: 26px auto 18px; text-align: center; }
body.theme-holden-enterprises .cms-page-button-row .cms-page-button { margin-top: 0; }

body.theme-holden-enterprises .cms-widget-blog-recent { margin-top: 36px; }
body.theme-holden-enterprises .cms-widget-blog-recent > h2 { margin: 0 0 6px; font-size: clamp(1.45rem, 2.2vw, 1.9rem); text-align: center; }
body.theme-holden-enterprises .cms-widget-blog-recent .cms-widget-content { gap: 14px; }
body.theme-holden-enterprises .cms-widget-blog-recent .cms-widget-card { display: flex; min-width: 0; flex-direction: column; padding: 16px; }
body.theme-holden-enterprises .cms-widget-blog-recent .cms-widget-card-media { display: block; margin: -16px -16px 13px; overflow: hidden; border-bottom: 1px solid var(--cms-color-border); }
body.theme-holden-enterprises .cms-widget-blog-recent .cms-widget-card-media img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
body.theme-holden-enterprises .cms-widget-blog-recent .cms-widget-card-body { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; }
body.theme-holden-enterprises .cms-widget-blog-recent .cms-widget-card-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 10px; color: var(--cms-color-text-muted); font-size: .72rem; }
body.theme-holden-enterprises .cms-widget-blog-recent .cms-widget-card h3 { margin: 8px 0; font-size: 1.05rem; line-height: 1.3; }
body.theme-holden-enterprises .cms-widget-blog-recent .cms-widget-card p { margin: 0 0 10px; font-size: .92rem; line-height: 1.55; }
body.theme-holden-enterprises .cms-widget-blog-recent .cms-widget-card-link { margin-top: auto; font-weight: 750; }

body.theme-holden-enterprises .cms-widget-form_builder-form-frm_holden_project_inquiry {
	width: min(calc(100% - 40px), 1060px);
	margin-top: 20px;
	padding: clamp(24px, 3vw, 36px);
}
body.theme-holden-enterprises .cms-widget-form_builder-form-frm_holden_project_inquiry > .cms-widget-content { display: block; }
body.theme-holden-enterprises .holden-contact-form {
	--ff-accent: var(--classic-accent-dark);
	--ff-border: color-mix(in srgb, var(--cms-color-text) 22%, transparent);
	--ff-radius: var(--cms-radius-card);
	--ff-radius-small: var(--cms-radius-control);
	max-width: 760px;
	margin-inline: auto;
}
body.theme-holden-enterprises .holden-contact-form .freehold-form-grid { gap: 16px; }
body.theme-holden-enterprises .holden-contact-form .freehold-form-label { margin-bottom: 7px; font-size: .9rem; }
body.theme-holden-enterprises .holden-contact-form :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],textarea,select) {
	min-height: 44px;
	border-color: var(--cms-color-border-strong);
	background: var(--cms-color-surface);
}
body.theme-holden-enterprises .holden-contact-form textarea { min-height: 150px; }
body.theme-holden-enterprises .holden-contact-form .freehold-form-actions { margin-top: 18px; padding-top: 16px; }
body.theme-holden-enterprises .holden-contact-form .freehold-form-button { min-height: 44px; padding: 10px 18px; font-size: .9rem; }
body.theme-holden-enterprises .holden-contact-form .freehold-form-button.is-primary { border-color: var(--classic-accent-dark); background: var(--classic-accent-dark); }
body.theme-holden-enterprises .holden-contact-form .freehold-form-button.is-primary:hover,
body.theme-holden-enterprises .holden-contact-form .freehold-form-button.is-primary:focus-visible { border-color: var(--classic-ink); background: var(--classic-ink); }

@media (max-width: 680px) {
	body.theme-holden-enterprises .cms-page-shell > .cms-page-hero { padding: 30px 20px; }
	body.theme-holden-enterprises .cms-page-shell > .cms-page-hero :is(h1, h2) { font-size: clamp(1.8rem, 9vw, 2.45rem); }
	body.theme-holden-enterprises .cms-page-image-text,
	body.theme-holden-enterprises .cms-page-rich-text,
	body.theme-holden-enterprises .cms-page-callout,
	body.theme-holden-enterprises .cms-page-image,
	body.theme-holden-enterprises .cms-page-quote,
	body.theme-holden-enterprises .cms-page-features,
	body.theme-holden-enterprises .cms-page-columns,
	body.theme-holden-enterprises .cms-page-media,
	body.theme-holden-enterprises .cms-widget,
	body.theme-holden-enterprises .cms-page-empty { width: calc(100% - 28px); margin-top: 26px; padding: 20px; }
	body.theme-holden-enterprises .cms-page-image-text figure,
	body.theme-holden-enterprises .cms-page-image-text.image-right figure { margin: 0 0 18px; }
	body.theme-holden-enterprises .cms-page-button-row { width: calc(100% - 28px); margin-block: 22px 14px; }
	body.theme-holden-enterprises .cms-widget-form_builder-form-frm_holden_project_inquiry { width: calc(100% - 28px); margin-top: 14px; padding: 20px; }
}

@media (max-height: 500px) and (orientation: landscape) {
	body.theme-holden-enterprises .cms-page-shell > .cms-page-hero { padding-block: 26px; }
}

/* Phase 3: the six retained native anchors identify the manufacturing homepage.
   Browsers without :has() retain the existing Page Manager presentation. */
body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) {
	--holden-home-gap: clamp(22px, 3vw, 32px);
	--holden-home-padding: clamp(22px, 3vw, 32px);
	line-height: 1.65;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) > .cms-page-hero {
	gap: 12px;
	padding-block: clamp(30px, 4vw, 46px);
	background: var(--cms-color-hero);
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) > .cms-page-hero :is(h1, h2) {
	max-width: 25ch;
	margin: 0;
	font-size: clamp(2rem, 3.4vw, 3rem);
	line-height: 1.12;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) > .cms-page-hero .cms-page-eyebrow {
	grid-row: 1;
	font-size: .76rem;
	letter-spacing: .1em;
	line-height: 1.5;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) > .cms-page-hero p {
	max-width: 68ch;
	color: var(--cms-color-text-inverse-muted);
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-button {
	justify-self: start;
	max-width: 100%;
	margin-top: 8px;
	text-align: center;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) > :is(.cms-page-image-text, .cms-page-rich-text, .cms-widget) {
	width: min(calc(100% - 40px), 1060px);
	max-width: 1060px;
	margin-top: var(--holden-home-gap);
	padding: var(--holden-home-padding);
	border-color: var(--cms-color-border);
	box-shadow: none;
	overflow-wrap: break-word;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) > .cms-page-hero + .cms-page-rich-text {
	margin-top: 0;
	padding-block: 15px;
	border-top: 0;
	background: var(--cms-color-surface-subtle);
	color: var(--cms-color-text-soft);
	font-size: .85rem;
	line-height: 1.65;
	text-align: center;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) :is(.cms-page-image-text, .cms-page-rich-text) > h2 {
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	font-size: clamp(1.4rem, 2.2vw, 1.85rem);
	line-height: 1.22;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) > .cms-page-rich-text p {
	max-width: 76ch;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) :is(.cms-page-image-text, .cms-page-rich-text) > :last-child {
	margin-bottom: 0;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-image-text figure {
	width: min(34%, 300px);
	margin: 0 26px 16px 0;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-image-text.image-right figure {
	margin: 0 0 16px 26px;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-image-text img {
	height: auto;
	box-shadow: none;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-rich-text > ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 30px;
	margin: 20px 0 0;
	padding-inline-start: 22px;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-rich-text > ul li {
	margin: 0;
	padding-inline-start: 4px;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) li::marker {
	color: var(--cms-color-accent-strong);
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) #capabilities ul {
	display: flow-root;
	list-style-position: outside;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-button-row {
	margin-block: 22px;
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) #contact {
	border-top: 3px solid var(--cms-color-accent);
}

body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) > #contact + .cms-widget {
	margin-top: 14px;
}

@media (max-width: 760px) {
	body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-image-text figure,
	body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-image-text.image-right figure {
		width: min(100%, 320px);
		margin: 0 auto 20px;
		float: none;
	}
}

@media (max-width: 680px) {
	body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) > :is(.cms-page-image-text, .cms-page-rich-text, .cms-widget) {
		width: calc(100% - 28px);
	}

	body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-rich-text > ul {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

@media (max-height: 500px) and (orientation: landscape) {
	body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) > .cms-page-hero {
		padding-block: 24px;
	}
}

/* Phase 4: native column blocks identify the supporting manufacturing pages.
   Keep the existing guide, contact page and homepage outside this treatment. */
body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) {
	--holden-page-gap: clamp(20px, 2.8vw, 30px);
	--holden-page-padding: clamp(20px, 2.8vw, 30px);
	line-height: 1.65;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) > .cms-page-hero {
	gap: 12px;
	padding-block: clamp(30px, 4vw, 44px);
	background: var(--cms-color-hero);
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) > .cms-page-hero :is(h1, h2) {
	max-width: 31ch;
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 2.65rem);
	line-height: 1.16;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-eyebrow {
	grid-row: 1;
	font-size: .76rem;
	letter-spacing: .1em;
	line-height: 1.5;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-button {
	justify-self: start;
	max-width: 100%;
	margin-top: 8px;
	text-align: center;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) > :is(.cms-page-rich-text, .cms-page-columns, .cms-page-features) {
	width: min(calc(100% - 40px), 1060px);
	max-width: 1060px;
	margin-top: var(--holden-page-gap);
	padding: var(--holden-page-padding);
	border-color: var(--cms-color-border);
	box-shadow: none;
	overflow-wrap: break-word;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) :is(.cms-page-rich-text, .cms-page-columns, .cms-page-features) h2 {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	font-size: clamp(1.25rem, 1.9vw, 1.65rem);
	line-height: 1.25;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-rich-text > p {
	max-width: 80ch;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) :is(.cms-page-rich-text, .cms-page-columns) p {
	margin: 0 0 13px;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) :is(.cms-page-rich-text, .cms-page-columns > div) > :last-child {
	margin-bottom: 0;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-columns {
	gap: 28px;
	align-items: start;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-columns > div {
	min-width: 0;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-columns > div + div {
	padding-inline-start: 28px;
	border-inline-start: 1px solid var(--cms-color-border);
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-features ul {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 30px;
	margin: 0;
	padding-inline-start: 22px;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-features li {
	min-width: 0;
	margin: 0;
	padding: 10px 4px;
	border-bottom: 1px solid var(--cms-color-border);
	line-height: 1.5;
}

body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-features li::marker {
	color: var(--cms-color-accent-strong);
}

@media (max-width: 760px) {
	body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-columns {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-columns > div + div {
		padding-block-start: 20px;
		padding-inline-start: 0;
		border-block-start: 1px solid var(--cms-color-border);
		border-inline-start: 0;
	}
}

@media (max-width: 680px) {
	body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) > :is(.cms-page-rich-text, .cms-page-columns, .cms-page-features) {
		width: calc(100% - 28px);
	}

	body.theme-holden-enterprises .cms-page-shell:has(> .cms-page-columns) .cms-page-features ul {
		grid-template-columns: 1fr;
	}
}

/* Draft 2: refine the authored manufacturing pages without changing other page types. */
body.theme-holden-enterprises .cms-page-shell:is(:has(> #custom-work):has(> #capabilities), :has(> .cms-page-columns)) {
	font-size: .94rem;
	line-height: 1.65;
}
body.theme-holden-enterprises .cms-page-shell:is(:has(> #custom-work):has(> #capabilities), :has(> .cms-page-columns)) > .cms-page-hero :is(h1, h2) {
	font-size: clamp(1.75rem, 2.8vw, 2.3rem);
	line-height: 1.2;
	text-wrap: balance;
}
body.theme-holden-enterprises .cms-page-shell:is(:has(> #custom-work):has(> #capabilities), :has(> .cms-page-columns)) :is(.cms-page-image-text, .cms-page-rich-text, .cms-page-columns, .cms-page-features) h2 {
	font-size: clamp(1.2rem, 1.85vw, 1.55rem);
	line-height: 1.3;
	text-wrap: balance;
}
body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-image-text {
	display: flow-root;
}
body.theme-holden-enterprises .cms-page-shell:has(> #custom-work):has(> #capabilities) .cms-page-image-text figcaption {
	margin-top: 9px;
	font-size: .86em;
	line-height: 1.45;
	color: var(--cms-color-text-muted);
}
body.theme-holden-enterprises .cms-page-shell:is(:has(> #custom-work):has(> #capabilities), :has(> .cms-page-columns)) > .cms-page-button-row {
	text-align: left;
}
body.theme-holden-enterprises .cms-page-shell:is(:has(> #custom-work):has(> #capabilities), :has(> .cms-page-columns)) a {
	text-underline-offset: .2em;
}
@media (max-width: 680px) {
	body.theme-holden-enterprises .cms-page-shell:is(:has(> #custom-work):has(> #capabilities), :has(> .cms-page-columns)) > .cms-page-hero {
		padding-block: 26px;
	}
}
