/**
 * SEER POWER responsive type-role contract.
 *
 * The historical version of this handle forced every mobile H1 and H2 to
 * 48px.  Keep the registered handle stable, but map headings by visual role
 * so compact forms, reading surfaces and technical controls are not promoted
 * to page-section scale.
 */
:root {
	--seer-type-display: "Iowan Old Style", Iowan, Baskerville, Georgia, "Times New Roman", serif;
	--seer-type-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--seer-type-page-h1: 40px;
	--seer-type-section-h2: 32px;
	--seer-type-content-h3: 24px;
	--seer-type-component-h3: 20px;
	--seer-type-ui-title: 18px;
	--seer-type-body: 16px;
}

@media (min-width: 480px) and (max-width: 767px) {
	:root {
		--seer-type-page-h1: clamp(40px, 6vw, 44px);
		--seer-type-section-h2: clamp(32px, 4.7vw, 36px);
		--seer-type-content-h3: clamp(24px, 3.4vw, 26px);
		--seer-type-component-h3: clamp(20px, 2.85vw, 22px);
	}
}

/* Engineering comparison labels are compact UI headings, not content H3s.
 * Keep long labels on one line at common desktop widths and prevent the
 * fixed-height visual header from clipping a wrapped second line. */
body .elementor-widget-seerpower_quality_assurance .sp-qa .seer-qa-comparison__visual-head h3 {
	font-family: var(--seer-type-display) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	line-height: 1.12 !important;
	letter-spacing: -.01em !important;
}

@media (max-width: 1024px) {
	body .elementor-widget-seerpower_quality_assurance .sp-qa .seer-qa-comparison__visual-head h3 {
		font-size: 20px !important;
	}
}

@media (max-width: 767px) {
	body .elementor-widget-seerpower_quality_assurance .sp-qa .seer-qa-comparison__visual-head h3 {
		font-size: 18px !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	:root {
		--seer-type-page-h1: clamp(44px, 5.1vw, 52px);
		--seer-type-section-h2: clamp(36px, 4vw, 40px);
		--seer-type-content-h3: clamp(26px, 2.8vw, 28px);
		--seer-type-component-h3: 22px;
		--seer-type-body: 17px;
	}
}

@media (min-width: 1025px) {
	:root {
		--seer-type-page-h1: clamp(52px, 4.86vw, 70px);
		--seer-type-section-h2: clamp(40px, 3.9vw, 56px);
		--seer-type-content-h3: clamp(28px, 2.2vw, 32px);
		--seer-type-component-h3: 24px;
		--seer-type-body: 18px;
	}
}

/* Stable Elementor roots. New Widgets should consume the role classes below. */
body :is(
	.elementor-widget-seerpower_industry_solutions,
	.elementor-widget-seerpower_dealer_center,
	.elementor-widget-seerpower_service_commitment,
	.elementor-widget-seerpower_global_cases,
	.elementor-widget-seerpower_project_support_process,
	.elementor-widget-seerpower_solutions_hero,
	.elementor-widget-seerpower_solutions_faq,
	.elementor-widget-seerpower_solutions_project_cta,
	.elementor-widget-seerpower_product_hero,
	.elementor-widget-seerpower_product_specifications,
	.elementor-widget-seerpower_standard_configuration,
	.elementor-widget-seerpower_optional_upgrades,
	.elementor-widget-seerpower_industry_applications,
	.elementor-widget-seerpower_faq_trust,
	.elementor-widget-seerpower_more_products,
	.elementor-widget-seerpower_home_hero,
	.elementor-widget-seerpower_home_power_ranges,
	.elementor-widget-seerpower_home_dealer_value,
	.elementor-widget-seerpower_home_support_journey,
	.elementor-widget-seerpower_home_industry_solutions,
	.elementor-widget-seerpower_home_certifications,
	.elementor-widget-seerpower_home_faq,
	.elementor-widget-seerpower_home_dealer_cta,
	.elementor-widget-seerpower_products_hub,
	.elementor-widget-seerpower_single_guide,
	.elementor-widget-seerpower_resources_guides,
	.elementor-widget-seerpower_about_us,
	.elementor-widget-seerpower_quality_assurance
) {
	--seer-local-h1: var(--seer-type-page-h1);
	--seer-local-h2: var(--seer-type-section-h2);
	--seer-local-h3: var(--seer-type-component-h3);
}

body :is(
	.elementor-widget-seerpower_industry_solutions,
	.elementor-widget-seerpower_dealer_center,
	.elementor-widget-seerpower_service_commitment,
	.elementor-widget-seerpower_global_cases,
	.elementor-widget-seerpower_project_support_process,
	.elementor-widget-seerpower_solutions_hero,
	.elementor-widget-seerpower_solutions_faq,
	.elementor-widget-seerpower_solutions_project_cta,
	.elementor-widget-seerpower_product_hero,
	.elementor-widget-seerpower_product_specifications,
	.elementor-widget-seerpower_standard_configuration,
	.elementor-widget-seerpower_optional_upgrades,
	.elementor-widget-seerpower_industry_applications,
	.elementor-widget-seerpower_faq_trust,
	.elementor-widget-seerpower_more_products,
	.elementor-widget-seerpower_home_hero,
	.elementor-widget-seerpower_home_power_ranges,
	.elementor-widget-seerpower_home_dealer_value,
	.elementor-widget-seerpower_home_support_journey,
	.elementor-widget-seerpower_home_industry_solutions,
	.elementor-widget-seerpower_home_certifications,
	.elementor-widget-seerpower_home_faq,
	.elementor-widget-seerpower_home_dealer_cta,
	.elementor-widget-seerpower_products_hub,
	.elementor-widget-seerpower_single_guide,
	.elementor-widget-seerpower_resources_guides,
	.elementor-widget-seerpower_about_us,
	.elementor-widget-seerpower_quality_assurance
) > .elementor-widget-container h1,
.sp-type-page-title {
	font-family: var(--seer-type-display) !important;
	font-size: var(--seer-local-h1, var(--seer-type-page-h1)) !important;
	font-weight: 700 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.025em !important;
	text-transform: none !important;
	white-space: normal !important;
	text-wrap: balance;
}

body :is(
	.elementor-widget-seerpower_industry_solutions,
	.elementor-widget-seerpower_dealer_center,
	.elementor-widget-seerpower_service_commitment,
	.elementor-widget-seerpower_global_cases,
	.elementor-widget-seerpower_project_support_process,
	.elementor-widget-seerpower_solutions_hero,
	.elementor-widget-seerpower_solutions_faq,
	.elementor-widget-seerpower_solutions_project_cta,
	.elementor-widget-seerpower_product_hero,
	.elementor-widget-seerpower_product_specifications,
	.elementor-widget-seerpower_standard_configuration,
	.elementor-widget-seerpower_optional_upgrades,
	.elementor-widget-seerpower_industry_applications,
	.elementor-widget-seerpower_faq_trust,
	.elementor-widget-seerpower_more_products,
	.elementor-widget-seerpower_home_power_ranges,
	.elementor-widget-seerpower_home_dealer_value,
	.elementor-widget-seerpower_home_support_journey,
	.elementor-widget-seerpower_home_industry_solutions,
	.elementor-widget-seerpower_home_certifications,
	.elementor-widget-seerpower_home_faq,
	.elementor-widget-seerpower_home_dealer_cta,
	.elementor-widget-seerpower_products_hub,
	.elementor-widget-seerpower_resources_guides,
	.elementor-widget-seerpower_about_us,
	.elementor-widget-seerpower_quality_assurance
) > .elementor-widget-container h2,
.sp-type-section-title {
	font-family: var(--seer-type-display) !important;
	font-size: var(--seer-local-h2, var(--seer-type-section-h2)) !important;
	font-weight: 700 !important;
	line-height: 1.12 !important;
	letter-spacing: -0.02em !important;
	text-transform: none !important;
}

body :is(
	.elementor-widget-seerpower_industry_solutions,
	.elementor-widget-seerpower_dealer_center,
	.elementor-widget-seerpower_service_commitment,
	.elementor-widget-seerpower_global_cases,
	.elementor-widget-seerpower_project_support_process,
	.elementor-widget-seerpower_solutions_faq,
	.elementor-widget-seerpower_product_hero,
	.elementor-widget-seerpower_standard_configuration,
	.elementor-widget-seerpower_optional_upgrades,
	.elementor-widget-seerpower_industry_applications,
	.elementor-widget-seerpower_faq_trust,
	.elementor-widget-seerpower_more_products,
	.elementor-widget-seerpower_home_power_ranges,
	.elementor-widget-seerpower_home_support_journey,
	.elementor-widget-seerpower_products_hub,
	.elementor-widget-seerpower_single_guide,
	.elementor-widget-seerpower_resources_guides,
	.elementor-widget-seerpower_about_us,
	.elementor-widget-seerpower_quality_assurance
) > .elementor-widget-container h3,
.sp-type-component-title {
	font-family: var(--seer-type-display) !important;
	font-size: var(--seer-local-h3, var(--seer-type-component-h3)) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.005em !important;
	text-transform: none !important;
}

/* Important content subsections that must remain above card hierarchy. */
body :is(
	.elementor-widget-seerpower_about_us .sp-about-workflow__content > h3,
	.elementor-widget-seerpower_quality_assurance .seer-qa-timeline h3,
	.elementor-widget-seerpower_quality_assurance .seer-qa-comparison__visual-head h3
),
.sp-type-content-title {
	font-family: var(--seer-type-display) !important;
	font-size: var(--seer-type-content-h3) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
}

/* Compact technical/UI titles use the sans face and never scale like content H3. */
body :is(
	.elementor-widget-seerpower_products_hub .sp-ph__comparison h2,
	.elementor-widget-seerpower_standard_configuration .sp-brand-overview__title,
	.elementor-widget-seerpower_standard_configuration .sp-brand-features__title,
	.elementor-widget-seerpower_service_commitment .sc-three-service-points h3,
	.elementor-widget-seerpower_service_commitment .sc-three-response h3,
	.elementor-widget-seerpower_quality_assurance .seer-qa-evidence h4
),
.sp-type-ui-title {
	font-family: var(--seer-type-sans) !important;
	font-size: var(--seer-type-ui-title) !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
}

/* Form and compact conversion headings are semantic H2 with a quieter role. */
body .elementor-widget-seerpower_dealer_center .seer-dc__form header h2,
.sp-type-form-title {
	font-family: var(--seer-type-sans) !important;
	font-size: 28px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
}

body :is(
	.elementor-widget-seerpower_solutions_project_cta,
	.elementor-widget-seerpower_home_dealer_cta
) h2 {
	font-size: clamp(28px, 2.25vw, 32px) !important;
	line-height: 1.15 !important;
}

/* Single Guide is a reading system, not a marketing-section scale. */
body .elementor-widget-seerpower_single_guide .sp-sg__content h2,
body .elementor-widget-seerpower_single_guide .sp-sg-section__copy h2,
.sp-type-article-h2 {
	font-family: var(--seer-type-display) !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em !important;
}

body .elementor-widget-seerpower_single_guide .sp-sg__content h3,
.sp-type-article-h3 {
	font-family: var(--seer-type-display) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.01em !important;
}

body .elementor-widget-seerpower_single_guide :is(
	.sp-sg-help h2,
	.sp-sg-guides > h2,
	.sp-sg-product h2,
	.sp-sg-resource h2
) {
	font-family: var(--seer-type-sans) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

body .elementor-widget-seerpower_single_guide .sp-sg__content :where(p, li, dd) {
	font-family: var(--seer-type-sans) !important;
	font-size: var(--seer-type-body) !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
}

/* FAQ buttons keep the correct h3 > button outline while using component type. */
body :is(
	.elementor-widget-seerpower_dealer_center .seer-dc__faq h3 > button,
	.elementor-widget-seerpower_service_commitment .sc-faq h3 > button,
	.elementor-widget-seerpower_solutions_faq h3 > button,
	.elementor-widget-seerpower_faq_trust h3 > button,
	.elementor-widget-seerpower_single_guide .sp-sg-faq h3 > button
) {
	font-family: var(--seer-type-display) !important;
	font-size: var(--seer-type-component-h3) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.005em !important;
}

/* Product-detail FAQ follows the same verified question role as QA instead
 * of inheriting the generic component H3 weight. */
body .elementor-widget-seerpower_faq_trust .sp-faq-proof__item h3 > button,
body .elementor-widget-seerpower_faq_trust .sp-faq-proof__item h3 > button > span {
	font-family: "Iowan Old Style", Iowan, Baskerville, "Times New Roman", serif !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	letter-spacing: -.02em !important;
}

@media (max-width: 767px) {
	body .elementor-widget-seerpower_faq_trust .sp-faq-proof__item h3 > button,
	body .elementor-widget-seerpower_faq_trust .sp-faq-proof__item h3 > button > span {
		font-size: 18px !important;
	}
}

@media (max-width: 767px) {
	body :is(
		.elementor-widget-seerpower_home_hero,
		.elementor-widget-seerpower_products_hub,
		.elementor-widget-seerpower_solutions_hero,
		.elementor-widget-seerpower_quality_assurance,
		.elementor-widget-seerpower_service_commitment,
		.elementor-widget-seerpower_dealer_center,
		.elementor-widget-seerpower_resources_guides,
		.elementor-widget-seerpower_about_us,
		.elementor-widget-seerpower_single_guide,
		.elementor-widget-seerpower_product_hero
	) h1 br {
		display: none !important;
	}
}

/* Solutions desktop page contract: every native section H2 uses one 55px
 * role, including the closing FAQ and project CTA. */
@media (min-width: 1025px) {
	body :is(
		.elementor-widget-seerpower_project_support_process,
		.elementor-widget-seerpower_industry_solutions,
		.elementor-widget-seerpower_global_cases,
		.elementor-widget-seerpower_solutions_faq,
		.elementor-widget-seerpower_solutions_project_cta
	) h2 {
		font-size: 55px !important;
	}
}

/* 2026-08-11 mobile review: final component-specific typography and rhythm.
 * Keep these after the shared role mappings so legacy component rules cannot
 * re-promote the reviewed headings. */
@media (max-width: 767px) {
	/* Product specifications keeps the approved primary product-section role. */
	body .elementor-widget-seerpower_product_specifications h2.sp-product-specifications__label {
		font-size: 40px !important;
	}

	/* Solutions mobile section headings use the compact 32px role. */
	body :is(
		.elementor-widget-seerpower_project_support_process .seer-project-process-header h2,
		.elementor-widget-seerpower_industry_solutions .seer-dealer-support-header h2,
		.elementor-widget-seerpower_solutions_faq .seer-solutions-faq-title
	) {
		font-size: 32px !important;
	}

	/* Match the three later QA headings to Built Into Every Detail exactly in
	 * family, size, weight, line height and tracking while retaining each
	 * section's contextual colour and alignment. */
	body .elementor-widget-seerpower_quality_assurance :is(
		.seer-qa-comparison__header h2,
		.seer-qa-live h2,
		.seer-qa-certifications h2,
		.seer-qa-tour h2
	) {
		font-family: var(--qa-display, var(--seer-font-display, "Iowan Old Style", Iowan, Baskerville, "Times New Roman", serif)) !important;
		font-size: 40px !important;
		font-weight: 700 !important;
		line-height: 1.02 !important;
		letter-spacing: -.035em !important;
	}

	/* Guides mobile type follows the approved archive-page hierarchy. */
	body .elementor-widget-seerpower_resources_guides :is(
		.sp-guides-hero h1,
		.sp-guides-hero__title
	) {
		font-size: 40px !important;
	}

	body .elementor-widget-seerpower_resources_guides .sp-guides-library h2 {
		font-size: 32px !important;
	}

	/* Add a restrained gap between 01/02/03 and their dots, keeping connector
	 * lines centred on the dots. */
	body .elementor-widget-seerpower_dealer_center .seer-dc__process-step {
		grid-template-rows: 18px 17px 18px !important;
	}

	body .elementor-widget-seerpower_dealer_center .seer-dc__process-icon {
		align-self: end;
	}

	body .elementor-widget-seerpower_dealer_center .seer-dc__process-arrow {
		margin-top: 28px;
	}
}

/* Cross-page desktop H2 contract matched to the Solutions project-process
 * title. Section colors remain contextual so white titles stay accessible. */
@media (min-width: 1025px) {
	body :is(
		.elementor-widget-seerpower_quality_assurance .seer-qa-system__header h2,
		.elementor-widget-seerpower_quality_assurance .seer-qa-comparison__header h2,
		.elementor-widget-seerpower_quality_assurance .seer-qa-live h2,
		.elementor-widget-seerpower_quality_assurance .seer-qa-certifications h2,
		.elementor-widget-seerpower_quality_assurance .seer-qa-tour h2,
		.elementor-widget-seerpower_quality_assurance .seer-qa-faq__header h2,
		.elementor-widget-seerpower_service_commitment .sc-three-system__intro h2,
		.elementor-widget-seerpower_service_commitment .sc-results h2,
		.elementor-widget-seerpower_service_commitment .sc-faq__heading h2,
		.elementor-widget-seerpower_dealer_center .seer-dc__foundation-head h2,
		.elementor-widget-seerpower_dealer_center .seer-dc__development .seer-dc__section-head h2,
		.elementor-widget-seerpower_dealer_center .seer-dc__support .seer-dc__section-head h2,
		.elementor-widget-seerpower_dealer_center .seer-dc__confidence-header h2,
		.elementor-widget-seerpower_dealer_center .seer-dc__faq-header h2,
		.elementor-widget-seerpower_resources_guides .sp-guides-library h2,
		.elementor-widget-seerpower_about_us .sp-about-evolution__title,
		.elementor-widget-seerpower_about_us .sp-about-workflow__title,
		.elementor-widget-seerpower_about_us .sp-about-listening__title,
		.elementor-widget-seerpower_about_us .sp-about-future__title
	) {
		font-family: var(--seer-font-display) !important;
		font-size: 55px !important;
		font-weight: 600 !important;
		line-height: .96 !important;
		letter-spacing: -.055em !important;
		text-transform: none !important;
	}
}

@media (min-width: 1200px) {
	body:is(#seer-global-type-scale, body) .sp-qa .seer-qa-live .seer-qa-live__copy > h2 {
		font-size: clamp(38px, 3.2vw, 48px) !important;
		white-space: nowrap !important;
	}
}
