/*
 * Bounded repair for the pre-existing Astra/Elementor homepage.
 * These selectors adjust legacy section composition only. They do not set the
 * primary hero's type size, weight, wording, or links, which remain editable
 * in Elementor. The element IDs identify existing structural containers.
 */

/* Keep the two Brand-Power Gap arguments visibly separate without exposing
 * the legacy particle texture against a light field. */
body.ije-homepage-protected .elementor-element-a870c72 {
	background: #1b0d01 !important;
	color: #ffffff;
	border-bottom: 1px solid rgba(226, 128, 90, 0.7);
}

body.ije-homepage-protected .elementor-element-28e64d8 {
	background: #493529 !important;
	color: #ffffff;
	border-top: 0.5rem solid #e2805a;
	border-bottom: 1px solid rgba(241, 204, 54, 0.55);
}

body.ije-homepage-protected :is(.elementor-element-a870c72, .elementor-element-28e64d8) :where(h1, h2, h3, h4, h5, h6, p, li) {
	color: inherit !important;
}

/* The homepage source contains a second, visually redundant System heading
 * between the title and its content. Suppress only that duplicate container. */
body.ije-homepage-protected .elementor-element-7775670 {
	display: none !important;
}

/* Tighten the Brand-Power System from title into argument, then make its
 * method stages compact UI labels rather than oversized display headlines. */
body.ije-homepage-protected .elementor-element-601573e > .e-con-inner {
	row-gap: clamp(1.25rem, 2vw, 2rem) !important;
}

body.ije-homepage-protected .elementor-element-c2da90a {
	margin-bottom: 0 !important;
}

body.ije-homepage-protected .elementor-element-7c2b86a {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: clamp(0.55rem, 1vw, 0.9rem) !important;
}

body.ije-homepage-protected .elementor-element-7c2b86a > .e-con {
	min-height: 5rem !important;
	padding: 0.75rem !important;
	display: flex !important;
	align-items: center !important;
}

body.ije-homepage-protected :is(
	.elementor-element-5429e06,
	.elementor-element-8f9c86a,
	.elementor-element-4f44527,
	.elementor-element-66809db,
	.elementor-element-d41f094,
	.elementor-element-6756a05
) .elementor-heading-title {
	font-family: "Mulish", sans-serif !important;
	font-size: clamp(0.9rem, 1.1vw, 1.08rem) !important;
	font-weight: 800 !important;
	letter-spacing: 0.015em !important;
	line-height: 1.1 !important;
	text-wrap: balance;
}

/* Centre the existing System CTA pair without changing either button's size. */
body.ije-homepage-protected .elementor-element-e8c7a36 {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 1rem !important;
}

body.ije-homepage-protected .elementor-element-e8c7a36 .elementor-button-wrapper,
body.ije-homepage-protected .elementor-element-80102c2 .elementor-button-wrapper {
	text-align: center !important;
}

/* Bottom diagnosis CTA: one full-width editorial argument, its text directly
 * beneath, and a centred two-action row. */
body.ije-homepage-protected .elementor-element-1e4ce33 > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	column-gap: clamp(1rem, 2.5vw, 2.5rem) !important;
	row-gap: clamp(1.5rem, 3vw, 2.75rem) !important;
}

body.ije-homepage-protected .elementor-element-76be20e {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: none !important;
}

body.ije-homepage-protected .elementor-element-09bd854,
body.ije-homepage-protected .elementor-element-285f19d {
	width: 100% !important;
}

body.ije-homepage-protected .elementor-element-09bd854 .elementor-heading-title {
	width: 100%;
	max-width: none;
}

body.ije-homepage-protected .elementor-element-285f19d {
	max-width: 42rem;
	margin-top: 1rem;
}

body.ije-homepage-protected .elementor-element-53a728f {
	grid-column: 3 / span 4 !important;
}

body.ije-homepage-protected .elementor-element-cd8b931 {
	grid-column: 7 / span 4 !important;
}

body.ije-homepage-protected :is(.elementor-element-53a728f, .elementor-element-cd8b931) {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

body.ije-homepage-protected :is(.elementor-element-53a728f, .elementor-element-cd8b931) .elementor-button-wrapper {
	text-align: center !important;
}

/* The Funders pathway action belongs beneath the complete two-column route
 * list, so centre it against the section rather than its left text column. */
body.ije-homepage-protected .elementor-element-7685fc5 > .e-con-inner {
	position: relative;
	padding-bottom: 7rem !important;
}

body.ije-homepage-protected .elementor-element-80102c2 {
	position: absolute !important;
	left: 50%;
	bottom: 1rem;
	width: max-content !important;
	max-width: calc(100% - 2rem);
	margin: 0 !important;
	transform: translateX(-50%);
}

@media (max-width: 767px) {
	body.ije-homepage-protected .elementor-element-7c2b86a {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.ije-homepage-protected .elementor-element-53a728f,
	body.ije-homepage-protected .elementor-element-cd8b931 {
		grid-column: 1 / -1 !important;
	}

	body.ije-homepage-protected .elementor-element-7685fc5 > .e-con-inner {
		padding-bottom: 0 !important;
	}

	body.ije-homepage-protected .elementor-element-80102c2 {
		position: static !important;
		width: 100% !important;
		max-width: none;
		margin-top: 1.25rem !important;
		transform: none;
	}
}
