/*
 * ProDash Site Foundation
 * Durable production typography, navigation, and partnership presentation.
 * Loaded by the ProDash mandatory site plugin, independently of the theme.
 */

/* Keep the complete ProDash header visible on partner pages. */
.page-id-2753 #masthead,
.page-id-2529 #masthead,
.page-id-2545 #masthead,
.page-id-2743 #masthead,
.page-id-2744 #masthead {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 9999;
	background: rgba(11, 27, 67, 0.84);
	-webkit-backdrop-filter: blur(10px) saturate(125%);
	backdrop-filter: blur(10px) saturate(125%);
	box-shadow: 0 5px 18px rgba(8, 20, 54, 0.18);
}

.page-id-2753 #masthead .ast-primary-header-bar,
.page-id-2529 #masthead .ast-primary-header-bar,
.page-id-2545 #masthead .ast-primary-header-bar,
.page-id-2743 #masthead .ast-primary-header-bar,
.page-id-2744 #masthead .ast-primary-header-bar,
.page-id-2753 #masthead .main-header-bar,
.page-id-2529 #masthead .main-header-bar,
.page-id-2545 #masthead .main-header-bar,
.page-id-2743 #masthead .main-header-bar,
.page-id-2744 #masthead .main-header-bar {
	background: transparent !important;
}

/* White primary navigation over the blended partnership header. */
.page-id-2753 #masthead .main-header-menu > .menu-item > a,
.page-id-2529 #masthead .main-header-menu > .menu-item > a,
.page-id-2545 #masthead .main-header-menu > .menu-item > a,
.page-id-2743 #masthead .main-header-menu > .menu-item > a,
.page-id-2744 #masthead .main-header-menu > .menu-item > a,
.page-id-2753 #masthead .ast-menu-toggle,
.page-id-2529 #masthead .ast-menu-toggle,
.page-id-2545 #masthead .ast-menu-toggle,
.page-id-2743 #masthead .ast-menu-toggle,
.page-id-2744 #masthead .ast-menu-toggle,
.page-id-2753 #masthead .mobile-menu-toggle-icon,
.page-id-2529 #masthead .mobile-menu-toggle-icon,
.page-id-2545 #masthead .mobile-menu-toggle-icon,
.page-id-2743 #masthead .mobile-menu-toggle-icon,
.page-id-2744 #masthead .mobile-menu-toggle-icon {
	color: #fff !important;
}

.page-id-2753 #masthead .main-header-menu > .menu-item > a:hover,
.page-id-2529 #masthead .main-header-menu > .menu-item > a:hover,
.page-id-2545 #masthead .main-header-menu > .menu-item > a:hover,
.page-id-2743 #masthead .main-header-menu > .menu-item > a:hover,
.page-id-2744 #masthead .main-header-menu > .menu-item > a:hover,
.page-id-2753 #masthead .main-header-menu > .current-menu-item > a,
.page-id-2529 #masthead .main-header-menu > .current-menu-item > a,
.page-id-2545 #masthead .main-header-menu > .current-menu-item > a,
.page-id-2743 #masthead .main-header-menu > .current-menu-item > a,
.page-id-2744 #masthead .main-header-menu > .current-menu-item > a {
	color: #82dff2 !important;
}

/* Partnership dropdowns use the same deep-blue glass treatment. */
.page-id-2753 #masthead .sub-menu,
.page-id-2529 #masthead .sub-menu,
.page-id-2545 #masthead .sub-menu,
.page-id-2743 #masthead .sub-menu,
.page-id-2744 #masthead .sub-menu {
	background: rgba(17, 32, 79, 0.97) !important;
	border: 1px solid rgba(255, 255, 255, 0.5) !important;
	box-shadow: 0 14px 30px rgba(5, 15, 42, 0.28) !important;
}

.page-id-2753 #masthead .sub-menu a,
.page-id-2529 #masthead .sub-menu a,
.page-id-2545 #masthead .sub-menu a,
.page-id-2743 #masthead .sub-menu a,
.page-id-2744 #masthead .sub-menu a {
	color: #fff !important;
}

.page-id-2753 #masthead .sub-menu a:hover,
.page-id-2529 #masthead .sub-menu a:hover,
.page-id-2545 #masthead .sub-menu a:hover,
.page-id-2743 #masthead .sub-menu a:hover,
.page-id-2744 #masthead .sub-menu a:hover {
	color: #82dff2 !important;
	background: rgba(255, 255, 255, 0.07) !important;
}

/* Let the Partners hero photograph blend behind the header at the top. */
.page-id-2753 #content {
	margin-top: -124px;
}

body.admin-bar.page-id-2753 #masthead,
body.admin-bar.page-id-2529 #masthead,
body.admin-bar.page-id-2545 #masthead,
body.admin-bar.page-id-2743 #masthead,
body.admin-bar.page-id-2744 #masthead {
	top: 32px;
}

@media (max-width: 782px) {
	.page-id-2753 #content {
		margin-top: -90px;
	}

	body.admin-bar.page-id-2753 #masthead,
	body.admin-bar.page-id-2529 #masthead,
	body.admin-bar.page-id-2545 #masthead,
	body.admin-bar.page-id-2743 #masthead,
	body.admin-bar.page-id-2744 #masthead {
		top: 46px;
	}
}

/* Improve contrast on the two legacy heroes that used unusually light overlays. */
.home main .elementor-top-section:first-child > .elementor-background-overlay,
.page-id-2001 main .elementor-top-section:first-child > .elementor-background-overlay {
	background: #172551 !important;
	opacity: 0.66 !important;
}

/* Site-wide sticky navigation: retain the same blended treatment everywhere. */
#masthead {
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 0;
	z-index: 9999;
	background: rgba(11, 27, 67, 0.84);
	-webkit-backdrop-filter: blur(10px) saturate(125%);
	backdrop-filter: blur(10px) saturate(125%);
	box-shadow: 0 5px 18px rgba(8, 20, 54, 0.18);
}

#masthead .ast-primary-header-bar,
#masthead .main-header-bar {
	background: transparent !important;
}

#masthead .main-header-menu > .menu-item > a,
#masthead .ast-menu-toggle,
#masthead .mobile-menu-toggle-icon {
	color: #fff !important;
}

#masthead .main-header-menu > .menu-item > a:hover,
#masthead .main-header-menu > .current-menu-item > a,
#masthead .main-header-menu > .current-menu-ancestor > a {
	color: #82dff2 !important;
}

#masthead .sub-menu {
	background: rgba(17, 32, 79, 0.97) !important;
	border: 1px solid rgba(255, 255, 255, 0.5) !important;
	box-shadow: 0 14px 30px rgba(5, 15, 42, 0.28) !important;
}

#masthead .sub-menu a {
	color: #fff !important;
}

#masthead .sub-menu a:hover {
	color: #82dff2 !important;
	background: rgba(255, 255, 255, 0.07) !important;
}

body.admin-bar #masthead {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar #masthead {
		top: 46px;
	}
}

/*
 * ProDash typography system
 * Headings: Poppins
 * Body and interface copy: Open Sans
 */
:root {
	--pd-font-heading: "Poppins", Arial, sans-serif;
	--pd-font-body: "Open Sans", Arial, sans-serif;
	--pd-text-size: 16px;
	--pd-text-line-height: 1.7;
}

body,
button,
input,
select,
textarea {
	font-family: var(--pd-font-body) !important;
	font-style: normal;
	font-synthesis: none;
}

#content p,
#content li,
#content label,
#content input,
#content select,
#content textarea,
#content blockquote,
#colophon,
#masthead .main-header-menu a {
	font-family: var(--pd-font-body) !important;
}

#content p,
#content li,
#content label,
#content input,
#content select,
#content textarea {
	font-size: var(--pd-text-size);
	line-height: var(--pd-text-line-height) !important;
	font-style: normal !important;
	font-weight: 400 !important;
}

#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6,
#content .entry-title {
	font-family: var(--pd-font-heading) !important;
	font-style: normal !important;
	font-weight: 700 !important;
	text-wrap: balance;
}

#content h1,
#content .entry-title {
	font-size: clamp(42px, 4.2vw, 52px) !important;
	line-height: 1.14 !important;
	letter-spacing: -0.025em;
}

#content h2 {
	font-size: clamp(32px, 3.4vw, 40px) !important;
	line-height: 1.2 !important;
	letter-spacing: -0.018em;
}

#content h3 {
	font-size: clamp(24px, 2.4vw, 27px) !important;
	line-height: 1.3 !important;
	letter-spacing: -0.012em;
}

#content h4 {
	font-size: 22px !important;
	line-height: 1.35 !important;
}

#content h5 {
	font-size: 19px !important;
	line-height: 1.4 !important;
}

#content h6 {
	font-size: 17px !important;
	line-height: 1.45 !important;
}

/* The dedicated partner templates use an H2 as the visual hero title. */
.page-id-2529 #content h2[style*="clamp(38px"],
.page-id-2545 #content h2[style*="clamp(38px"],
.page-id-2743 #content h2[style*="clamp(40px"],
.page-id-2744 #content h2[style*="clamp(40px"] {
	font-size: clamp(42px, 4.2vw, 52px) !important;
	line-height: 1.14 !important;
	letter-spacing: -0.025em;
}

/* Card titles remain one step below section headings. */
.page-id-2753 #content h2[style*="font-size:28px"] {
	font-size: 27px !important;
	line-height: 1.3 !important;
}

.page-id-2529 #content h2[style*="font-size:31px"],
.page-id-2545 #content h2[style*="font-size:31px"] {
	font-size: 30px !important;
	line-height: 1.28 !important;
}

/* Partner hero/intro copy uses one consistent lead size. */
.page-id-2753 #content p[style*="font-size:20px"],
.page-id-2529 #content p[style*="font-size:19px"],
.page-id-2529 #content p[style*="font-size:18px"],
.page-id-2545 #content p[style*="font-size:19px"],
.page-id-2545 #content p[style*="font-size:18px"],
.page-id-2743 #content p[style*="font-size:19px"],
.page-id-2743 #content p[style*="font-size:18px"],
.page-id-2744 #content p[style*="font-size:19px"],
.page-id-2744 #content p[style*="font-size:18px"] {
	font-size: 18px !important;
	line-height: 1.7 !important;
	font-weight: 400 !important;
}

#content strong,
#content b {
	font-weight: 600 !important;
}

/* Eyebrows and short partner labels use the same deliberate semibold weight. */
.page-id-2753 #content p[style*="font-weight:700"],
.page-id-2529 #content p[style*="font-weight:700"],
.page-id-2545 #content p[style*="font-weight:700"],
.page-id-2743 #content p[style*="font-weight:700"],
.page-id-2744 #content p[style*="font-weight:700"] {
	font-weight: 600 !important;
}

/* Remove accidental editorial italics while leaving icon fonts untouched. */
#content em,
#content i:not([class]) {
	font-style: normal !important;
}

/* This legacy Reporting widget is body copy rendered as an Elementor span. */
.page-id-1983 #content .elementor-element-87038dc .elementor-heading-title {
	font-family: var(--pd-font-body) !important;
	font-size: 16px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: var(--pd-text-line-height) !important;
	letter-spacing: 0 !important;
	text-wrap: pretty;
}

/*
 * Legacy widgets that contain paragraphs but were configured as headings or
 * wrapped entirely in bold tags. Treat them as readable body copy.
 */
.page-id-1983 #content .elementor-element-a99b8e0 .elementor-heading-title,
.page-id-2001 #content .elementor-element-3c5f346 .elementor-heading-title,
.page-id-2008 #content .elementor-element-bdb5955 .elementor-heading-title,
.page-id-2312 #content .elementor-element-58f0328 .elementor-heading-title,
.page-id-2312 #content .elementor-element-9ebd24b b,
.page-id-2312 #content .elementor-element-bb7aefd b,
.page-id-2312 #content .elementor-element-c3ba8b4 b,
.page-id-2338 #content .elementor-element-617a4d9 strong,
.page-id-2354 #content .elementor-element-79807c4 .elementor-heading-title,
.page-id-2354 #content .elementor-element-319f84b strong {
	font-family: var(--pd-font-body) !important;
	font-size: 16px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: var(--pd-text-line-height) !important;
	letter-spacing: 0 !important;
	text-wrap: pretty;
}

/* Crisp, readable step numbers in the About page's 6-D process. */
.page-id-1464 #content .elementor-element-23b42015 .elementor-heading-title,
.page-id-1464 #content .elementor-element-26439476 .elementor-heading-title,
.page-id-1464 #content .elementor-element-78496f5c .elementor-heading-title,
.page-id-1464 #content .elementor-element-71d76a41 .elementor-heading-title,
.page-id-1464 #content .elementor-element-55112740 .elementor-heading-title,
.page-id-1464 #content .elementor-element-73fe9709 .elementor-heading-title {
	color: #59649b !important;
	opacity: 1 !important;
	font-family: var(--pd-font-heading) !important;
	font-size: 18px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: 0.035em;
	text-shadow: none !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

#masthead .main-header-menu > .menu-item > a {
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
}

#masthead .sub-menu a {
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

#content .elementor-button,
#content .wp-element-button,
#content button,
#content input[type="button"],
#content input[type="submit"] {
	font-family: var(--pd-font-body) !important;
	font-size: 16px !important;
	font-style: normal !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: 0.01em;
}

#colophon,
#colophon p,
#colophon li,
#colophon a {
	font-size: 15px;
	line-height: 1.65;
	font-style: normal;
}

@media (max-width: 767px) {
	#content h1,
	#content .entry-title,
	.page-id-2529 #content h2[style*="clamp(38px"],
	.page-id-2545 #content h2[style*="clamp(38px"],
	.page-id-2743 #content h2[style*="clamp(40px"],
	.page-id-2744 #content h2[style*="clamp(40px"] {
		font-size: 40px !important;
		line-height: 1.16 !important;
	}

	#content h2 {
		font-size: 32px !important;
		line-height: 1.22 !important;
	}

	#content h3,
	.page-id-2753 #content h2[style*="font-size:28px"] {
		font-size: 24px !important;
		line-height: 1.32 !important;
	}

	#masthead .main-header-menu > .menu-item > a {
		font-size: 15px !important;
	}
}

@media (max-width: 480px) {
	#content h1,
	#content .entry-title,
	.page-id-2529 #content h2[style*="clamp(38px"],
	.page-id-2545 #content h2[style*="clamp(38px"],
	.page-id-2743 #content h2[style*="clamp(40px"],
	.page-id-2744 #content h2[style*="clamp(40px"] {
		font-size: 36px !important;
	}

	#content h2 {
		font-size: 30px !important;
	}

	#content h3,
	.page-id-2753 #content h2[style*="font-size:28px"] {
		font-size: 22px !important;
	}
}

/*
 * Astra mobile navigation
 * Keep the flyout and nested menus on the same dark brand surface as the
 * header so white navigation labels never disappear against a white panel.
 */
@media (max-width: 921px) {
	.ast-header-break-point #ast-mobile-header .ast-mobile-header-content,
	.ast-header-break-point .ast-mobile-header-content,
	.ast-header-break-point .ast-builder-menu-mobile .main-navigation,
	.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu,
	.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu > .menu-item {
		background: #10204d !important;
	}

	.ast-header-break-point .ast-mobile-header-content {
		max-height: calc(100vh - 84px);
		overflow-y: auto;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
		box-shadow: 0 18px 32px rgba(5, 15, 42, 0.28);
	}

	.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link,
	.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > a,
	.ast-header-break-point .ast-builder-menu-mobile .main-navigation .ast-menu-toggle {
		color: #fff !important;
		background: transparent !important;
		border-color: rgba(255, 255, 255, 0.14) !important;
		font-family: var(--pd-font-body) !important;
		font-style: normal !important;
		font-weight: 600 !important;
	}

	.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link:hover,
	.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link:focus,
	.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu .current-menu-item > .menu-link,
	.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu .current-menu-ancestor > .menu-link {
		color: #82dff2 !important;
		background: rgba(255, 255, 255, 0.07) !important;
	}

	.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu {
		background: #15295d !important;
		border: 0 !important;
		box-shadow: inset 4px 0 0 rgba(130, 223, 242, 0.55) !important;
	}

	.ast-header-break-point .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu .menu-link {
		color: #eef4ff !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		padding-left: 2.25em;
	}

	.ast-header-break-point .ast-button-wrap .menu-toggle.main-header-menu-toggle,
	.ast-header-break-point .ast-mobile-menu-trigger-minimal {
		color: #fff !important;
		background: #6375d8 !important;
		border-radius: 4px;
	}

	.ast-header-break-point .ast-button-wrap .menu-toggle.main-header-menu-toggle:hover,
	.ast-header-break-point .ast-button-wrap .menu-toggle.main-header-menu-toggle:focus,
	.ast-header-break-point .ast-button-wrap .menu-toggle.main-header-menu-toggle.toggled {
		color: #fff !important;
		background: #5267cb !important;
	}

	.ast-header-break-point .ast-button-wrap .menu-toggle svg,
	.ast-header-break-point .ast-mobile-menu-trigger-minimal svg {
		fill: currentColor !important;
	}
}
