/**
 * NMO Internal page header — mirrors html/styles.css .page-banner
 * Global h1: Playfair 900, clamp(2.6rem, 5.5vw, 4.2rem), line-height 1.15; .page-banner h1 only adds white.
 * High-specificity + !important so Elementor Kit / post-*.css cannot shrink the heading.
 */

.elementor-widget-nmo-internal-page-header .page-banner {
	background: var(--navy, #0b1d3a);
	padding: clamp(6rem, 12vw, 9rem) var(--pad-x, clamp(1.25rem, 5vw, 3rem)) clamp(3rem, 6vw, 5rem);
	text-align: center;
	position: relative;
	overflow: hidden;
}

.elementor-widget-nmo-internal-page-header .page-banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 60% 0%, rgba(200, 146, 42, 0.15) 0%, transparent 70%);
	pointer-events: none;
}

/* Match static * reset: no extra margin on h1; gap to subtitle comes from p { margin: 1rem auto 0 } */
body .elementor-page .elementor-widget-nmo-internal-page-header .elementor-widget-container .page-banner h1.nmo-internal-page-header__title,
body .elementor-page .elementor-widget-nmo-internal-page-header .elementor-widget-container .page-banner h2.nmo-internal-page-header__title,
body .elementor-page .elementor-widget-nmo-internal-page-header .elementor-widget-container .page-banner h3.nmo-internal-page-header__title,
.elementor-widget-nmo-internal-page-header .page-banner h1.nmo-internal-page-header__title,
.elementor-widget-nmo-internal-page-header .page-banner h2.nmo-internal-page-header__title,
.elementor-widget-nmo-internal-page-header .page-banner h3.nmo-internal-page-header__title {
	position: relative;
	z-index: 1;
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--white, #ffffff) !important;
	font-family: var(--font-serif, "Playfair Display", Georgia, serif) !important;
	font-size: clamp(2.6rem, 5.5vw, 4.2rem) !important;
	font-weight: 900 !important;
	font-style: normal !important;
	font-stretch: normal !important;
	line-height: 1.15 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
	text-align: center !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.elementor-widget-nmo-internal-page-header .page-banner .nmo-internal-page-header__title-accent,
.elementor-widget-nmo-internal-page-header .page-banner .nmo-internal-page-header__title span {
	color: var(--gold, #c8922a) !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
}

/* html/styles.css .page-banner p */
body .elementor-page .elementor-widget-nmo-internal-page-header .elementor-widget-container .page-banner p.nmo-internal-page-header__subtitle,
.elementor-widget-nmo-internal-page-header .page-banner p.nmo-internal-page-header__subtitle {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	margin: 1rem auto 0 !important;
	padding: 0 !important;
	max-width: 600px;
	font-family: var(--font-body, "DM Sans", system-ui, sans-serif) !important;
	font-size: 1.05rem !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1.75 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: rgba(255, 255, 255, 0.7) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
