/**
 * Hero reference — copy left, image right half, tight rhythm.
 */

body.cbr-theme {
	--cbr-hero-ref-title-to-divider: calc(16px + var(--cbr-text-v-gap));
	--cbr-hero-ref-divider-to-text: var(--cbr-title-to-desc-gap);
	--cbr-hero-ref-text-to-cta: 1.5rem;
	--cbr-hero-ref-eyebrow-gap: calc(0.5rem + var(--cbr-text-v-gap));
	--cbr-hero-image-fit: contain;
	--cbr-hero-image-scale-desktop: 1.2;
	--cbr-home-hero-content-max: 920px;
	--cbr-home-hero-image-scale: 1.15;
	/* Copy column width — keep clear black edge before photo (never overlap) */
	--cbr-home-hero-media-left-pct: 50;
	--cbr-home-hero-media-width-pct: calc(100 - var(--cbr-home-hero-media-left-pct));
	--cbr-home-hero-media-left: calc(var(--cbr-home-hero-media-left-pct) * 1%);
	--cbr-home-hero-column-gap: 24px;
	/* Full subject visible — never crop with cover */
	--cbr-home-hero-image-position: center center;
	/* Desktop text frames — 24px to the photo */
	--cbr-hero-copy-padding-end: 0px;
}

body.cbr-theme [class*="-hero__copy"] {
	--cbr-divider-to-copy-gap: 0px;
	--cbr-hero-ref-divider-to-text: var(--cbr-title-to-desc-gap);
}

body.cbr-theme [class*="-hero__copy"] > :is(
	.cbr-mobile-photo-head,
	.cbr-title-group,
	.cbr-hero__title-group
) {
	margin-bottom: 0 !important;
}

body.cbr-theme [class*="-hero__copy"] :is(
	.cbr-hero__ornament,
	.cbr-gold-ornament--emblem
) {
	margin-bottom: 0 !important;
}

body.cbr-theme [class*="-hero__copy"] > :is(
	[class*="-hero__text"],
	[class*="-hero__lead"],
	.cbr-hero__text
) {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.cbr-theme .cbr-nol-catalog-hero__title .cbr-hero__title-rest[aria-hidden="true"] {
	display: none !important;
}

/* —— Mobile stacked: photo first, copy frame below (no overlap) —— */
@media (max-width: 1023px) {
	body.cbr-theme {
		--cbr-hero-copy-gap: calc(8px + var(--cbr-text-v-gap));
		--cbr-hero-copy-head-gap: calc(10px + var(--cbr-text-v-gap));
		--cbr-hero-ref-title-to-divider: calc(4px + var(--cbr-text-v-gap));
		--cbr-hero-ref-eyebrow-gap: 0;
		--cbr-hero-ref-text-to-cta: 0.75rem;
		--cbr-hero-mobile-copy-padding-top: 12px;
		--cbr-hero-mobile-copy-padding-bottom: 8px;
		--cbr-hero-copy-offset-x: 0;
	}

	body.cbr-theme :is(.cbr-hero__grid, [class*="-hero__grid"]):has([class*="-hero__media"]) {
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-rows: auto auto !important;
		gap: 0 !important;
		position: relative !important;
		min-height: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
	}

	body.cbr-theme :is(.cbr-home, .cbr-nol, .cbr-per, .cbr-evt, .cbr-chi, .cbr-con) [class*="-hero__grid"]:has([class*="-hero__media"]) {
		grid-template-rows: var(--cbr-hero-mobile-media-height) auto !important;
	}

	body.cbr-theme :is(.cbr-hero__media, [class*="-hero__media"]) {
		grid-row: 1 !important;
		grid-column: 1 !important;
		order: unset !important;
		position: relative !important;
		inset: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		aspect-ratio: unset !important;
		background: #000000 !important;
	}

	body.cbr-theme :is(.cbr-hero__image, [class*="-hero__image"], .cbr-hero__media img, [class*="-hero__media"] img) {
		position: relative !important;
		inset: auto !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		object-fit: var(--cbr-hero-image-fit) !important;
		object-position: center center !important;
		transform: none !important;
	}

	body.cbr-theme :is(.cbr-hero__grid, [class*="-hero__grid"]):has([class*="-hero__media"]) :is(.cbr-hero__copy, [class*="-hero__copy"]) {
		grid-row: 2 !important;
		grid-column: 1 !important;
		order: unset !important;
		position: relative !important;
		inset: auto !important;
		z-index: 4 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		align-self: stretch !important;
		width: 100% !important;
		max-width: none !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: var(--cbr-hero-mobile-copy-padding-top, 12px) var(--cbr-hero-mobile-padding-x, 20px) var(--cbr-hero-mobile-copy-padding-bottom, 8px) var(--cbr-hero-mobile-padding-x, 20px) !important;
		gap: var(--cbr-hero-copy-gap) !important;
		text-align: left !important;
		background: transparent !important;
		box-sizing: border-box !important;
		pointer-events: auto;
	}

	body.cbr-theme [class*="-hero__copy"] > .cbr-mobile-photo-head {
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
	}

	body.cbr-theme :is(.cbr-hero__grid, [class*="-hero__grid"]):has([class*="-hero__media"]) :is(.cbr-hero__copy, [class*="-hero__copy"]) > :is(
		.cbr-mobile-photo-head,
		[class*="-hero__text"],
		[class*="-hero__lead"],
		.cbr-hero__text,
		[class*="-hero__cta"],
		.cbr-hero__cta
	) {
		pointer-events: auto;
	}

	body.cbr-theme :is(.cbr-hero__fade, [class*="-hero__fade"]) {
		display: none !important;
	}

	body.cbr-theme [class*="-hero__copy"] .cbr-mobile-photo-head .cbr-hero__icon-slot {
		margin-inline: 0;
		margin-bottom: 0.5rem;
	}

	body.cbr-theme [class*="-hero__copy"] .cbr-hero__icon-slot {
		margin-inline: 0 !important;
		margin-bottom: 0.5rem !important;
	}

	body.cbr-theme [class*="-hero__copy"] .cbr-hero__eyebrow-group .cbr-hero__eyebrow {
		margin-top: 0 !important;
	}

	body.cbr-theme [class*="-hero__copy"] .cbr-mobile-photo-head,
	body.cbr-theme [class*="-hero__copy"] .cbr-hero__head {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: var(--cbr-hero-copy-head-gap) !important;
	}

	body.cbr-theme [class*="-hero__copy"] .cbr-hero__eyebrow {
		margin-bottom: 0 !important;
	}

	body.cbr-theme [class*="-hero__copy"] :is(
		[class*="-hero__title"],
		.cbr-hero__headline,
		.cbr-hero__title
	) {
		font-size: var(--cbr-hero-title-size) !important;
		line-height: 1.12 !important;
	}

	body.cbr-theme :is(
		[class*="-hero__copy"] .cbr-title-group
	) :is(.cbr-hero__ornament, .cbr-gold-ornament--emblem) {
		display: none !important;
	}

	body.cbr-theme :is([class*="-hero"]) :is(.cbr-hero__ornament, .cbr-gold-ornament--emblem) {
		display: none !important;
	}
}

/* Desktop: unified 2-column heroes (home + all inner pages) */
@media (min-width: 1024px) {
	body.cbr-theme {
		--cbr-hero-image-fit: contain;
		--cbr-hero-copy-gap: calc(12px + var(--cbr-text-v-gap));
		--cbr-hero-desktop-text-to-cta-gap: 20px;
		--cbr-hero-desktop-media-pad-top: 20px;
		--cbr-hero-desktop-copy-pad-top: calc(var(--cbr-header-height) + 36px);
		--cbr-hero-desktop-split: var(--cbr-home-hero-media-left, 50%);
		--cbr-hero-copy-offset-x: 0;
		--cbr-hero-ref-eyebrow-gap: 0;
		--cbr-hero-ref-title-to-divider: 0;
		--cbr-hero-ref-divider-to-text: 0;
		--cbr-hero-ref-text-to-cta: 0;
		--cbr-hero-ref-scrim:
			linear-gradient(
				to right,
				rgba(0, 0, 0, 0.9) 0%,
				rgba(0, 0, 0, 0.72) 32%,
				rgba(0, 0, 0, 0.38) 48%,
				rgba(0, 0, 0, 0.12) 62%,
				transparent 78%
			),
			linear-gradient(
				to left,
				rgba(0, 0, 0, 0.62) 0%,
				rgba(0, 0, 0, 0.38) 16%,
				rgba(0, 0, 0, 0.16) 30%,
				transparent 46%
			);
	}

	body.cbr-theme :is(.cbr-page, .cbr-home, .cbr-nol, .cbr-per, .cbr-evt, .cbr-chi, .cbr-con) > section:is(.cbr-hero, [class*="-hero"]) {
		padding-top: 0 !important;
		padding-block-start: 0 !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) {
		--cbr-hero-zoom: 1.15;
		--cbr-hero-copy-shift: 0px;
		--cbr-hero-body-size: calc(var(--cbr-type-body-lg) * var(--cbr-hero-zoom));
		--cbr-hero-tagline-size: calc(var(--cbr-hero-body-size) * var(--cbr-type-ratio));
		--cbr-hero-title-size: calc(var(--cbr-hero-tagline-size) * var(--cbr-type-ratio));
		--cbr-type-display: var(--cbr-hero-title-size);
		--cbr-type-display-sub: var(--cbr-hero-tagline-size);
		--cbr-hero-body-size-desktop: var(--cbr-hero-body-size);
		--cbr-hero-desktop-min-height: calc(clamp(460px, 52vh, 620px) * var(--cbr-hero-zoom));
		--cbr-hero-copy-pad-left: max(0px, calc(var(--cbr-hero-frame-inset-start) - var(--cbr-hero-desktop-pad-x, 20px) - var(--cbr-hero-copy-shift)));
		overflow: visible !important;
		padding-block: 0 !important;
		padding-inline: var(--cbr-hero-desktop-pad-x, 20px) !important;
		box-sizing: border-box !important;
	}

	body.cbr-theme :is(.cbr-home, .cbr-nol, .cbr-per, .cbr-evt, .cbr-chi, .cbr-con) :is([class*="-hero__grid"]):has([class*="-hero__media"]) {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
	}

	body.cbr-theme :is([class*="-hero__media"]):not(.cbr-home-service__media)::before {
		display: none !important;
		content: none !important;
	}

	/* Shared grid — identical for home + inner */
	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) :is(.cbr-hero__grid, [class*="-hero__grid"]) {
		display: grid !important;
		grid-template-columns: minmax(0, var(--cbr-hero-desktop-split, 50%)) minmax(0, 1fr) !important;
		grid-template-rows: 1fr !important;
		column-gap: var(--cbr-home-hero-column-gap, 24px) !important;
		row-gap: 0 !important;
		gap: 0 var(--cbr-home-hero-column-gap, 24px) !important;
		align-items: stretch !important;
		min-height: var(--cbr-hero-desktop-min-height) !important;
		height: var(--cbr-hero-desktop-min-height) !important;
		max-height: var(--cbr-hero-desktop-min-height) !important;
		overflow: visible !important;
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		background: #000000 !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__copy"] {
		position: relative !important;
		grid-column: 1 !important;
		grid-row: 1 !important;
		isolation: isolate;
		z-index: 2 !important;
		max-width: none !important;
		width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
		align-self: stretch !important;
		min-height: 100% !important;
		height: auto !important;
		text-align: left !important;
		box-sizing: border-box !important;
		gap: var(--cbr-hero-copy-gap) !important;
		padding-top: var(--cbr-hero-desktop-copy-pad-top) !important;
		padding-right: var(--cbr-hero-copy-padding-end, 12px) !important;
		padding-bottom: 32px !important;
		padding-left: var(--cbr-hero-fit-pad-left, var(--cbr-hero-copy-pad-left, var(--cbr-text-frame-inset-start, 64px))) !important;
		background: #000000 !important;
		background-color: #000000 !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__copy"] > :is(
		.cbr-hero__icon-slot,
		.cbr-mobile-photo-head,
		.cbr-title-group,
		.cbr-hero__title-group,
		.cbr-hero__eyebrow,
		[class*="-hero__text"],
		[class*="-hero__lead"],
		.cbr-hero__text,
		[class*="-hero__cta"],
		.cbr-hero__cta
	) {
		margin: 0 !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__copy"] .cbr-mobile-photo-head,
	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__copy"] .cbr-hero__head {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: var(--cbr-hero-copy-gap);
		margin: 0;
		padding: 0;
		width: 100%;
		max-width: 100%;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__copy"] :is(.cbr-mobile-photo-head, .cbr-hero__head, .cbr-title-group) > p:empty {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__copy"] .cbr-hero__eyebrow-group {
		margin: 0;
		padding: 0;
	}

	/* Same as home: no title ornament in desktop copy */
	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__copy"] .cbr-mobile-photo-head .cbr-title-group :is(.cbr-hero__ornament, .cbr-gold-ornament, .cbr-gold-ornament--emblem) {
		display: none !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__copy"] .cbr-mobile-photo-head .cbr-title-group {
		margin-bottom: var(--cbr-title-to-desc-gap) !important;
		align-items: flex-start !important;
		width: 100%;
		max-width: 100%;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__copy"] :is(
		.cbr-hero__eyebrow,
		[class*="-hero__title"],
		.cbr-hero__headline,
		[class*="-hero__text"],
		[class*="-hero__lead"],
		.cbr-hero__text
	) {
		text-align: left !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__copy"] :is([class*="-hero__text"], [class*="-hero__lead"], .cbr-hero__text) {
		max-width: min(100%, 34rem) !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__copy"] :is(.cbr-hero__cta, [class*="-hero__cta"], [class*="-hero__cta--"]),
	body.cbr-theme .cbr-home-hero__cta--dual {
		justify-content: flex-start !important;
		flex-shrink: 0 !important;
		align-self: flex-start !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__media"] {
		display: block !important;
		position: relative !important;
		grid-column: 2 !important;
		grid-row: 1 !important;
		inset: auto !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		margin: 0 !important;
		overflow: hidden !important;
		z-index: 1 !important;
		background: #000000 !important;
		pointer-events: none;
		transform: none !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__media"] picture {
		display: block !important;
		position: absolute !important;
		inset: var(--cbr-hero-desktop-media-pad-top, 20px) 0 0 0 !important;
		width: 100% !important;
		max-width: none !important;
		height: calc(100% - var(--cbr-hero-desktop-media-pad-top, 20px)) !important;
		margin: 0 !important;
		line-height: 0;
		overflow: hidden !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__media"] :is(
		.cbr-hero__image,
		[class*="-hero__image"],
		img,
		[class*="-hero__placeholder"]
	) {
		position: absolute !important;
		inset: var(--cbr-hero-desktop-media-pad-top, 20px) 0 0 0 !important;
		width: 100% !important;
		height: calc(100% - var(--cbr-hero-desktop-media-pad-top, 20px)) !important;
		min-height: 0 !important;
		max-height: none !important;
		object-fit: contain !important;
		object-position: center center !important;
		transform: none !important;
		transform-origin: center center !important;
		border: 0;
		box-shadow: none;
	}

	/* picture > img fills the picture box */
	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__media"] picture :is(.cbr-hero__image, [class*="-hero__image"], img) {
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		object-fit: contain !important;
	}

	/* Home desktop — enlarge photo only, leave copy type untouched */
	body.cbr-theme .cbr-page--home .cbr-home-hero [class*="-hero__media"] picture :is(.cbr-home-hero__image, img) {
		transform: scale(1.16) !important;
		transform-origin: center center !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) [class*="-hero__fade"] {
		display: none !important;
	}

	body.cbr-theme :is(.cbr-home-hero, .cbr-nol-hero, .cbr-per-hero, .cbr-evt-hero, .cbr-chi-hero, .cbr-con-hero, .cbr-nol-catalog-hero) :is(.cbr-hero__icon, .cbr-hero__icon-slot, [class*="-hero__icon"]) {
		display: none !important;
	}

	body.cbr-theme :is(.cbr-home, .cbr-nol, .cbr-per, .cbr-evt, .cbr-chi, .cbr-con) :is(.cbr-hero__grid, [class*="-hero__grid"])::before,
	body.cbr-theme :is(.cbr-home, .cbr-nol, .cbr-per, .cbr-evt, .cbr-chi, .cbr-con) :is(.cbr-hero__grid, [class*="-hero__grid"])::after {
		display: none !important;
		content: none !important;
	}

	body.cbr-theme :is(.cbr-home, .cbr-nol, .cbr-per, .cbr-evt, .cbr-chi, .cbr-con) :is(.cbr-hero__media, [class*="-hero__media"]):not(.cbr-home-service__media)::after {
		display: none !important;
		content: none !important;
	}

	body.cbr-theme :is(.cbr-home, .cbr-nol, .cbr-per, .cbr-evt, .cbr-chi, .cbr-con) [class*="-hero__copy"]::before {
		display: none !important;
		content: none !important;
	}
}

/* —— Typography & rhythm (all breakpoints) —— */
body.cbr-theme [class*="-hero__copy"] .cbr-title-group:has(.cbr-gold-ornament--emblem) {
	margin-bottom: 0 !important;
}

body.cbr-theme [class*="-hero__copy"] .cbr-hero__eyebrow {
	margin: 0 0 var(--cbr-hero-ref-eyebrow-gap);
	font-size: 0.68rem;
	letter-spacing: 0.22em;
}

body.cbr-theme :is(
	[class*="-hero__copy"] .cbr-title-group
) :is(.cbr-hero__ornament, .cbr-gold-ornament--emblem) {
	display: flex !important;
	margin-top: var(--cbr-hero-ref-title-to-divider) !important;
	margin-bottom: var(--cbr-hero-ref-divider-to-text) !important;
	min-height: 0 !important;
	height: auto !important;
	gap: 0.5rem !important;
	width: auto;
	max-width: none;
}

body.cbr-theme [class*="-hero__copy"] .cbr-gold-ornament__emblem-glyph {
	width: 16px !important;
	height: 16px !important;
}

body.cbr-theme [class*="-hero__copy"] :is([class*="-hero__text"], [class*="-hero__lead"], .cbr-hero__text) {
	margin-top: 0 !important;
	padding-top: 0 !important;
	max-width: 36rem;
}

body.cbr-theme [class*="-hero__copy"] :is([class*="-hero__cta"], .cbr-hero__cta) {
	margin-top: var(--cbr-hero-ref-text-to-cta);
	gap: 0.75rem;
}

body.cbr-theme [class*="-hero__copy"] :is(.cbr-btn, .cbr-nol-btn, .cbr-per-btn, .cbr-evt-btn, .cbr-chi-btn) {
	font-family: var(--cbr-sans);
	text-transform: uppercase;
}

body.cbr-theme [class*="-hero__copy"] :is(.cbr-btn--secondary, .cbr-btn--outline, .cbr-nol-btn--outline, .cbr-per-btn--outline) {
	background: var(--cbr-btn-secondary-bg, var(--cbr-hierarchy-title, #C9A227)) !important;
	background-image: none !important;
	color: var(--cbr-btn-secondary-text, #0a0a0a) !important;
	-webkit-text-fill-color: var(--cbr-btn-secondary-text, #0a0a0a) !important;
	border-color: var(--cbr-btn-secondary-border, var(--cbr-hierarchy-title, #C9A227)) !important;
	box-shadow: var(--cbr-btn-glow) !important;
}

body.cbr-theme [class*="-hero__copy"] :is(.cbr-btn--secondary, .cbr-btn--outline, .cbr-nol-btn--outline, .cbr-per-btn--outline):is(:hover, :focus-visible):not(:disabled) {
	background-color: var(--cbr-btn-hover-bg, #C9A227) !important;
	background-image: none !important;
	color: var(--cbr-btn-hover-text, #0a0a0a) !important;
	border-color: var(--cbr-btn-hover-border, #C9A227) !important;
	-webkit-text-fill-color: var(--cbr-btn-hover-text, #0a0a0a) !important;
	box-shadow: var(--cbr-btn-glow-hover) !important;
}

body.cbr-theme [class*="-hero__copy"] :is(.cbr-btn--secondary, .cbr-btn--outline, .cbr-nol-btn--outline, .cbr-per-btn--outline):is(:hover, :focus-visible):not(:disabled) :is(.cbr-btn__label, > span, .cbr-btn__arrow) {
	color: var(--cbr-btn-hover-text, #0a0a0a) !important;
	-webkit-text-fill-color: var(--cbr-btn-hover-text, #0a0a0a) !important;
	-webkit-text-stroke: 0;
}

body.cbr-theme :is(.cbr-hero__fade, [class*="-hero__fade"], .cbr-home-service__fade) {
	display: none !important;
	background: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	mask-image: none !important;
	-webkit-mask-image: none !important;
}

/* —— Hero images: full frame visible, black media fills letterbox —— */
body.cbr-theme :is(
	.cbr-hero__media,
	[class*="-hero__media"],
	.cbr-page-hero__media,
	.cbr-home-service__media,
	.cbr-home-service__frame
):not(.cbr-home-hero__media) {
	overflow: hidden;
	background: #000000;
}

body.cbr-theme :is(
	.cbr-hero__image,
	[class*="-hero__image"],
	.cbr-hero__media img,
	[class*="-hero__media"] img,
	.cbr-page-hero__image,
	.cbr-page-hero__media img,
	.cbr-home-service__image,
	.cbr-home-service__media img,
	.cbr-home-service__placeholder
) {
	object-fit: var(--cbr-hero-image-fit) !important;
	object-position: center center !important;
	transform: none !important;
	filter: none !important;
}

body.cbr-theme {
	--cbr-hero-desktop-split: 50%;
	--cbr-hero-copy-scrim-mobile: none;
}

/* Mobile heroes — no black scrim over photos (copy sits below the image) */
@media (max-width: 1023px) {
	body.cbr-theme :is([class*="-hero__media"]):not(.cbr-home-service__media)::before {
		display: none !important;
		content: none !important;
		background: none !important;
	}
}

body.cbr-theme .cbr-page--home .cbr-home-service__media::before,
body.cbr-theme .cbr-page--home .cbr-home-service__media::after {
	display: none !important;
	content: none !important;
	background: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Button labels always centered — beats hero copy text-align / flex-start */
body.cbr-theme :is(
	.cbr-btn,
	.cbr-nol-btn,
	.cbr-per-btn,
	.cbr-con-btn,
	.cbr-evt-btn,
	.cbr-chi-btn,
	button.cbr-btn,
	button.cbr-nol-btn,
	button.cbr-per-btn,
	button.cbr-con-btn
) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

body.cbr-theme :is(
	.cbr-btn__label,
	.cbr-nol-btn > span,
	.cbr-per-btn > span,
	.cbr-con-btn > span
) {
	text-align: center !important;
}

/* Home hero — mobile: use unified divider token on photo base when needed */
@media (max-width: 1023px) {
	body.cbr-theme .cbr-page--home .cbr-home-hero .cbr-home-hero__grid::after {
		display: none !important;
		content: none !important;
	}

	body.cbr-theme .cbr-page--home .cbr-home-hero .cbr-hero__divider--media {
		display: none !important;
	}

	/* No black scrim on home mobile photo — copy sits below, not over the image */
	body.cbr-theme .cbr-page--home .cbr-home-hero .cbr-home-hero__media::before {
		display: none !important;
		content: none !important;
		background: none !important;
	}

	body.cbr-theme .cbr-page--home .cbr-home-hero .cbr-home-hero__media::after {
		display: none !important;
		content: none !important;
	}
}


/* Mobile hero copy rhythm — final cascade pass (all page heroes) */
@media (max-width: 1023px) {
	body.cbr-theme [class*="-hero__copy"] {
		row-gap: var(--cbr-hero-copy-gap, 8px) !important;
		gap: var(--cbr-hero-copy-gap, 8px) !important;
	}

	body.cbr-theme [class*="-hero__copy"] > :is(
		.cbr-mobile-photo-head,
		[class*="-hero__text"],
		[class*="-hero__lead"],
		.cbr-hero__text,
		[class*="-hero__cta"],
		.cbr-hero__cta
	) {
		margin-block: 0 !important;
	}

	body.cbr-theme [class*="-hero__copy"] > :is(
		[class*="-hero__cta"],
		.cbr-hero__cta
	) {
		margin-top: var(--cbr-hero-mobile-text-to-cta-gap, 8px) !important;
	}

	body.cbr-theme [class*="-hero__copy"] :is(.cbr-mobile-photo-head, .cbr-hero__head) {
		row-gap: var(--cbr-hero-copy-head-gap, 10px) !important;
		gap: var(--cbr-hero-copy-head-gap, 10px) !important;
	}
}

/* Desktop hero copy rhythm — final cascade pass (all page heroes) */
@media (min-width: 1024px) {
	body.cbr-theme [class*="-hero__copy"] > :is(
		[class*="-hero__cta"],
		.cbr-hero__cta
	) {
		margin-top: var(--cbr-hero-desktop-text-to-cta-gap, 20px) !important;
	}
}

/* Hero titles — each line stays on one row; fit JS may shrink size / widen copy */
body.cbr-theme :is(
	.cbr-home-hero,
	.cbr-nol-hero,
	.cbr-per-hero,
	.cbr-evt-hero,
	.cbr-chi-hero,
	.cbr-con-hero,
	.cbr-nol-catalog-hero
) :is(.cbr-hero__title, [class*="-hero__title"].cbr-hero__title) {
	overflow: visible !important;
	max-width: 100% !important;
}

body.cbr-theme :is(
	.cbr-home-hero,
	.cbr-nol-hero,
	.cbr-per-hero,
	.cbr-evt-hero,
	.cbr-chi-hero,
	.cbr-con-hero,
	.cbr-nol-catalog-hero
) :is(.cbr-hero__title-line, .cbr-hero__title-accent, .cbr-hero__title-rest) {
	display: block !important;
	white-space: nowrap !important;
	overflow: visible !important;
	max-width: 100% !important;
	width: auto !important;
}

body.cbr-theme :is(
	.cbr-home-hero,
	.cbr-nol-hero,
	.cbr-per-hero,
	.cbr-evt-hero,
	.cbr-chi-hero,
	.cbr-con-hero,
	.cbr-nol-catalog-hero
) .cbr-hero__title-accent,
body.cbr-theme :is(
	.cbr-home-hero,
	.cbr-nol-hero,
	.cbr-per-hero,
	.cbr-evt-hero,
	.cbr-chi-hero,
	.cbr-con-hero,
	.cbr-nol-catalog-hero
) .cbr-hero__title-line.cbr-hero__title-accent {
	font-size: var(--cbr-hero-title-size) !important;
}

body.cbr-theme :is(
	.cbr-home-hero,
	.cbr-nol-hero,
	.cbr-per-hero,
	.cbr-evt-hero,
	.cbr-chi-hero,
	.cbr-con-hero,
	.cbr-nol-catalog-hero
) .cbr-hero__title-rest,
body.cbr-theme :is(
	.cbr-home-hero,
	.cbr-nol-hero,
	.cbr-per-hero,
	.cbr-evt-hero,
	.cbr-chi-hero,
	.cbr-con-hero,
	.cbr-nol-catalog-hero
) .cbr-hero__title-line.cbr-hero__title-rest {
	font-size: var(--cbr-hero-tagline-size) !important;
}

/* —— CTA buttons: primary (solid gold) · secondary (black + gold stroke) · hover champagne gold —— */
body.cbr-theme {
	--cbr-btn-transition:
		color 0.45s cubic-bezier(0.22, 1, 0.36, 1),
		background-color 0.45s cubic-bezier(0.22, 1, 0.36, 1),
		border-color 0.45s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
		filter 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

body.cbr-theme :is(
	.cbr-btn:not(.cbr-btn--ghost),
	.cbr-nol-btn:not(.cbr-nol-btn--ghost),
	.cbr-per-btn:not(.cbr-per-btn--ghost),
	.cbr-con-btn:not(.cbr-con-btn--ghost),
	.cbr-evt-btn,
	.cbr-chi-btn
):not(
	.cbr-catalog-modal__carousel-btn,
	.cbr-catalog-modal__info-btn,
	.cbr-nol-catalog__page-btn,
	.cbr-cart-widget__toggle,
	.cbr-cart-widget__close,
	.cbr-cart-panel__qty-btn,
	.cbr-cart-receipt__qty-btn,
	.cbr-cart-panel__remove,
	.cbr-catalog-pdf-btn
) {
	border-radius: var(--cbr-radius-btn);
	gap: 0.35rem;
	border-width: 1px;
	border-style: solid;
	transition: var(--cbr-btn-transition);
	-webkit-background-clip: border-box;
	background-clip: border-box;
}

/* Primary — solid title-gold fill, black label, soft gold glow */
body.cbr-theme :is(
	.cbr-btn--primary,
	.cbr-nol-btn--primary,
	.cbr-per-btn--primary,
	.cbr-con-btn--primary,
	.cbr-evt-btn--primary,
	.cbr-chi-btn--primary,
	.cbr-nol-btn:not(.cbr-nol-btn--outline):not(.cbr-nol-btn--ghost):not(.cbr-nol-btn--secondary),
	.cbr-per-btn:not(.cbr-per-btn--outline):not(.cbr-per-btn--ghost):not(.cbr-per-btn--secondary),
	.cbr-con-btn:not(.cbr-con-btn--outline):not(.cbr-con-btn--ghost):not(.cbr-con-btn--secondary),
	.cbr-evt-btn:not(.cbr-evt-btn--outline):not(.cbr-evt-btn--secondary),
	.cbr-chi-btn:not(.cbr-chi-btn--outline):not(.cbr-chi-btn--secondary)
):not(
	.cbr-catalog-modal__carousel-btn,
	.cbr-catalog-modal__info-btn,
	.cbr-nol-catalog__page-btn,
	.cbr-cart-widget__toggle,
	.cbr-cart-widget__close,
	.cbr-cart-panel__qty-btn,
	.cbr-cart-receipt__qty-btn,
	.cbr-cart-panel__remove,
	.cbr-catalog-pdf-btn
) {
	background-color: var(--cbr-btn-primary-bg, var(--cbr-hierarchy-title, #C9A227)) !important;
	background-image: none !important;
	color: var(--cbr-btn-primary-text, #0a0a0a) !important;
	-webkit-text-fill-color: var(--cbr-btn-primary-text, #0a0a0a) !important;
	border-color: var(--cbr-btn-primary-bg, var(--cbr-hierarchy-title, #C9A227)) !important;
	box-shadow: var(--cbr-btn-glow) !important;
}

body.cbr-theme :is(
	.cbr-btn--primary,
	.cbr-nol-btn--primary,
	.cbr-per-btn--primary,
	.cbr-con-btn--primary,
	.cbr-evt-btn--primary,
	.cbr-chi-btn--primary,
	.cbr-nol-btn:not(.cbr-nol-btn--outline):not(.cbr-nol-btn--ghost):not(.cbr-nol-btn--secondary),
	.cbr-per-btn:not(.cbr-per-btn--outline):not(.cbr-per-btn--ghost):not(.cbr-per-btn--secondary),
	.cbr-con-btn:not(.cbr-con-btn--outline):not(.cbr-con-btn--ghost):not(.cbr-con-btn--secondary),
	.cbr-evt-btn:not(.cbr-evt-btn--outline):not(.cbr-evt-btn--secondary),
	.cbr-chi-btn:not(.cbr-chi-btn--outline):not(.cbr-chi-btn--secondary)
) :is(.cbr-btn__label, > span, .cbr-btn__arrow) {
	color: var(--cbr-btn-primary-text, #0a0a0a) !important;
	-webkit-text-fill-color: var(--cbr-btn-primary-text, #0a0a0a) !important;
}

/* Secondary / outline — same solid title-gold + black label as primary */
body.cbr-theme :is(
	.cbr-btn--secondary,
	.cbr-btn--outline,
	.cbr-nol-btn--outline,
	.cbr-nol-btn--secondary,
	.cbr-per-btn--outline,
	.cbr-per-btn--secondary,
	.cbr-con-btn--outline,
	.cbr-con-btn--secondary,
	.cbr-evt-btn--outline,
	.cbr-evt-btn--secondary,
	.cbr-chi-btn--outline,
	.cbr-chi-btn--secondary
) {
	background-color: var(--cbr-btn-secondary-bg, var(--cbr-hierarchy-title, #C9A227)) !important;
	background-image: none !important;
	color: var(--cbr-btn-secondary-text, #0a0a0a) !important;
	-webkit-text-fill-color: var(--cbr-btn-secondary-text, #0a0a0a) !important;
	border-color: var(--cbr-btn-secondary-border, var(--cbr-hierarchy-title, #C9A227)) !important;
	box-shadow: var(--cbr-btn-glow) !important;
}

body.cbr-theme :is(
	.cbr-btn--secondary,
	.cbr-btn--outline,
	.cbr-nol-btn--outline,
	.cbr-nol-btn--secondary,
	.cbr-per-btn--outline,
	.cbr-per-btn--secondary,
	.cbr-con-btn--outline,
	.cbr-con-btn--secondary,
	.cbr-evt-btn--outline,
	.cbr-evt-btn--secondary,
	.cbr-chi-btn--outline,
	.cbr-chi-btn--secondary
) :is(.cbr-btn__label, > span, .cbr-btn__arrow) {
	color: var(--cbr-btn-secondary-text, #0a0a0a) !important;
	-webkit-text-fill-color: var(--cbr-btn-secondary-text, #0a0a0a) !important;
}

/* Shared hover — both morph into champagne gold (#C9A227) with black label + brighter glow */
body.cbr-theme :is(
	.cbr-btn--primary,
	.cbr-btn--secondary,
	.cbr-btn--outline,
	.cbr-nol-btn--primary,
	.cbr-nol-btn--outline,
	.cbr-nol-btn--secondary,
	.cbr-per-btn--primary,
	.cbr-per-btn--outline,
	.cbr-per-btn--secondary,
	.cbr-con-btn--primary,
	.cbr-con-btn--outline,
	.cbr-con-btn--secondary,
	.cbr-evt-btn--primary,
	.cbr-evt-btn--outline,
	.cbr-evt-btn--secondary,
	.cbr-chi-btn--primary,
	.cbr-chi-btn--outline,
	.cbr-chi-btn--secondary,
	.cbr-nol-btn:not(.cbr-nol-btn--outline):not(.cbr-nol-btn--ghost):not(.cbr-nol-btn--secondary),
	.cbr-per-btn:not(.cbr-per-btn--outline):not(.cbr-per-btn--ghost):not(.cbr-per-btn--secondary),
	.cbr-con-btn:not(.cbr-con-btn--outline):not(.cbr-con-btn--ghost):not(.cbr-con-btn--secondary),
	.cbr-evt-btn:not(.cbr-evt-btn--outline):not(.cbr-evt-btn--secondary),
	.cbr-chi-btn:not(.cbr-chi-btn--outline):not(.cbr-chi-btn--secondary)
):is(:hover, :focus-visible):not(:disabled) {
	background-color: var(--cbr-btn-hover-bg, #C9A227) !important;
	background-image: none !important;
	color: var(--cbr-btn-hover-text, #0a0a0a) !important;
	-webkit-text-fill-color: var(--cbr-btn-hover-text, #0a0a0a) !important;
	border-color: var(--cbr-btn-hover-border, #C9A227) !important;
	box-shadow: var(--cbr-btn-glow-hover) !important;
	transform: translateY(-2px) scale(1.015);
	filter: saturate(1.08);
}

body.cbr-theme :is(
	.cbr-btn--primary,
	.cbr-btn--secondary,
	.cbr-btn--outline,
	.cbr-nol-btn--primary,
	.cbr-nol-btn--outline,
	.cbr-nol-btn--secondary,
	.cbr-per-btn--primary,
	.cbr-per-btn--outline,
	.cbr-per-btn--secondary,
	.cbr-con-btn--primary,
	.cbr-con-btn--outline,
	.cbr-con-btn--secondary,
	.cbr-evt-btn--primary,
	.cbr-evt-btn--outline,
	.cbr-evt-btn--secondary,
	.cbr-chi-btn--primary,
	.cbr-chi-btn--outline,
	.cbr-chi-btn--secondary,
	.cbr-nol-btn:not(.cbr-nol-btn--outline):not(.cbr-nol-btn--ghost):not(.cbr-nol-btn--secondary),
	.cbr-per-btn:not(.cbr-per-btn--outline):not(.cbr-per-btn--ghost):not(.cbr-per-btn--secondary),
	.cbr-con-btn:not(.cbr-con-btn--outline):not(.cbr-con-btn--ghost):not(.cbr-con-btn--secondary),
	.cbr-evt-btn:not(.cbr-evt-btn--outline):not(.cbr-evt-btn--secondary),
	.cbr-chi-btn:not(.cbr-chi-btn--outline):not(.cbr-chi-btn--secondary)
):is(:hover, :focus-visible):not(:disabled) :is(.cbr-btn__label, > span, .cbr-btn__arrow) {
	color: var(--cbr-btn-hover-text, #0a0a0a) !important;
	-webkit-text-fill-color: var(--cbr-btn-hover-text, #0a0a0a) !important;
}

@media (prefers-reduced-motion: reduce) {
	body.cbr-theme :is(
		.cbr-btn:not(.cbr-btn--ghost),
		.cbr-nol-btn:not(.cbr-nol-btn--ghost),
		.cbr-per-btn:not(.cbr-per-btn--ghost),
		.cbr-con-btn:not(.cbr-con-btn--ghost),
		.cbr-evt-btn,
		.cbr-chi-btn
	) {
		transition-duration: 0.01ms !important;
		transform: none !important;
	}
}

/* Contatti — hero solo testo, blocco e righe al centro dello schermo. */
body.cbr-theme .cbr-con-hero.cbr-con-hero--centered {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
}

body.cbr-theme .cbr-con-hero.cbr-con-hero--centered .cbr-con-hero__grid {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	grid-template-columns: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 auto !important;
}

body.cbr-theme .cbr-con-hero.cbr-con-hero--centered .cbr-con-hero__copy {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	grid-column: auto !important;
	width: 100% !important;
	max-width: 42rem !important;
	min-height: 0 !important;
	height: auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	text-align: center !important;
}

body.cbr-theme .cbr-con-hero.cbr-con-hero--centered .cbr-con-hero__copy :is(
	.cbr-mobile-photo-head,
	.cbr-hero__head,
	.cbr-title-group
) {
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	text-align: center !important;
}

body.cbr-theme .cbr-con-hero.cbr-con-hero--centered .cbr-hero__eyebrow-group,
body.cbr-theme .cbr-con-hero.cbr-con-hero--centered .cbr-hero__ornament,
body.cbr-theme .cbr-con-hero.cbr-con-hero--centered .cbr-gold-ornament {
	display: none !important;
}

body.cbr-theme .cbr-con-hero.cbr-con-hero--centered .cbr-con-hero__copy :is(
	.cbr-con-hero__title,
	.cbr-hero__title,
	.cbr-hero__title-accent,
	.cbr-hero__title-rest,
	.cbr-hero__title-line,
	.cbr-con-hero__lead,
	[class*="-hero__lead"]
) {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}
