/**
 * RWEC main marketing pages — brand UI/UX.
 * Palette: navy #113163 / #0b1f3a, dark #181819, gold #EEC83D / #F38800 / #FFA104, accent #e87722.
 * Applies to page canvas + Elementor section/single templates. Skips header, footer, mega-menu.
 */

body.rwec-main-page {
	--rwec-navy: #113163;
	--rwec-navy-deep: #0b1f3a;
	--rwec-dark: #181819;
	--rwec-ink: #243041;
	--rwec-muted: #5c6775;
	--rwec-line: #e6ebf2;
	--rwec-soft: #f5f7fa;
	--rwec-gold: #eec83d;
	--rwec-gold-mid: #f38800;
	--rwec-gold-bright: #ffa104;
	--rwec-accent: #e87722;
	--rwec-radius: 8px;
	--rwec-radius-sm: 4px;
	--rwec-focus: 0 0 0 3px rgba(238, 200, 61, 0.45);
	/*
	 * Spacing system — match Academy / course sales collateral:
	 * rail 56px · content 1300px · section Y 40px · stack gap 32px · nested 16px
	 */
	--rwec-rail-x: 56px;
	--rwec-content-max: 1300px;
	--rwec-section-pad-y: 40px;
	--rwec-section-gap: 32px;
	/* Nested vertical rhythm between stacked blocks (not title→body). */
	--rwec-stack-gap: 16px;
	--rwec-card-pad: 28px;
	--rwec-title-pad-y: 16px;
}

/*
 * Page canvases The7/Elementor actually use (many marketing blocks sit in
 * data-elementor-type="section", not #main).
 */
body.rwec-main-page :is(
	#main,
	#content,
	.content,
	.elementor-location-section,
	.elementor-location-single,
	.elementor-location-archive,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"],
	[data-elementor-type="single"]
) {
	--rwec-mp-canvas: 1;
}

/* ---------- Unified spacing (Academy / sales collateral rhythm) ---------- */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	.elementor-location-single,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"],
	[data-elementor-type="single"]
) {
	--rwec-space-scope: 1;
}

/*
 * Top-level section shells only (direct children of the page/section root).
 * Includes Elementor atomic bands that omit .e-parent (Services accordion, etc.).
 */
body.rwec-main-page :is(
	[data-elementor-type="wp-page"],
	[data-elementor-type="section"],
	[data-elementor-type="single"]
) > :is(
	.e-con.e-parent,
	.e-flexbox-base.e-parent,
	.e-grid.e-parent,
	.elementor-section.elementor-top-section,
	.e-con.e-atomic-element
):not(.elementor-element-2e45b21):not(.elementor-element-431fb73) {
	--padding-top: var(--rwec-section-pad-y) !important;
	--padding-bottom: var(--rwec-section-pad-y) !important;
	--gap: var(--rwec-section-gap) var(--rwec-section-gap) !important;
	--row-gap: var(--rwec-section-gap) !important;
	--column-gap: var(--rwec-section-gap) !important;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: var(--rwec-rail-x) !important;
	padding-right: var(--rwec-rail-x) !important;
	box-sizing: border-box !important;
}

/* Shells without .e-con-inner: Y pad on the shell itself */
body.rwec-main-page :is(
	[data-elementor-type="wp-page"],
	[data-elementor-type="section"],
	[data-elementor-type="single"]
) > :is(
	.e-flexbox-base.e-parent,
	.e-grid.e-parent,
	.e-con.e-atomic-element
):not(.elementor-element-2e45b21):not(.elementor-element-431fb73):not(:has(> .e-con-inner)) {
	padding-top: var(--rwec-section-pad-y) !important;
	padding-bottom: var(--rwec-section-pad-y) !important;
}

/* Home hero slider: true viewport full-bleed (break out of any parent rail) */
body.rwec-main-page .elementor-9728 .elementor-element-431fb73,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73.e-con,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73.e-con-full {
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	padding: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	overflow: hidden !important;
	position: relative !important;
	left: 0 !important;
	right: 0 !important;
}

body.rwec-main-page .elementor-9728 .elementor-element-431fb73 > .e-con-inner,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 > .elementor-element {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/*
 * Slide DOM: .the7-slide-content > .elementor-section-wrap > .e-con-boxed > .e-con-inner
 * Elementor “boxed” keeps a 1300px inner + 56px pad. Unbox the slide shell so the
 * photo/background spans the viewport; re-rail the left copy column only.
 */
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-widget-the7-slider-common,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-swiper,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .swiper,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .swiper-wrapper,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .the7-swiper-slide,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .the7-swiper-slide-inner,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .the7-slide-content,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-section-wrap {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-widget-the7-slider-common,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .swiper {
	overflow: hidden !important;
}

body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .the7-slide-content .e-con-boxed,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-section-wrap > .e-con-boxed {
	--width: 100% !important;
	--content-width: 100% !important;
	--container-max-width: 100% !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	position: relative !important;
	overflow: hidden !important;
	left: 0 !important;
	right: 0 !important;
}

body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .the7-slide-content .e-con-boxed > .e-con-inner,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-section-wrap > .e-con-boxed > .e-con-inner {
	--content-width: 100% !important;
	--container-max-width: 100% !important;
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Photo overlay must cover the full slide — never tile at intrinsic size */
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .e-con::before,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .e-con > .elementor-background-slideshow::before,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .e-con > .e-con-inner > .elementor-background-slideshow::before,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	/* Elementor had ~0.07–0.20 — too faint, so the hero read as a dark bar with an inset photo */
	opacity: 0.42 !important;
}

/* Left copy sits on the 1300 rail once the slide shell is full-bleed */
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-element-b12b573,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-element-8fd9546,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-element-5102d1b2,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-element-13acb3a8 {
	padding-left: max(var(--rwec-rail-x), calc((100% - var(--rwec-content-max)) / 2)) !important;
	box-sizing: border-box !important;
}

/* Keep the -50% pull image inside the hero (no page-wide horizontal scroll) */
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-widget-image,
body.rwec-main-page .elementor-9728 .elementor-element-431fb73 .elementor-widget-image img {
	max-width: none !important;
}

body.rwec-main-page :is(
	[data-elementor-type="wp-page"],
	[data-elementor-type="section"],
	[data-elementor-type="single"]
) > :is(
	.e-con.e-parent,
	.e-flexbox-base.e-parent,
	.e-grid.e-parent,
	.e-con.e-atomic-element
):not(.elementor-element-2e45b21):not(.elementor-element-431fb73) > .e-con-inner {
	padding-top: var(--rwec-section-pad-y) !important;
	padding-bottom: var(--rwec-section-pad-y) !important;
	row-gap: var(--rwec-section-gap) !important;
	column-gap: var(--rwec-section-gap) !important;
	gap: var(--rwec-section-gap) !important;
	max-width: var(--rwec-content-max) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

/* No .e-con-inner — pin direct children to the 1300 rail */
body.rwec-main-page :is(
	[data-elementor-type="wp-page"],
	[data-elementor-type="section"],
	[data-elementor-type="single"]
) > :is(
	.e-flexbox-base.e-parent,
	.e-con.e-parent,
	.e-con.e-atomic-element
):not(.elementor-element-2e45b21):not(.elementor-element-431fb73) > :is(
	.elementor-element,
	.e-heading-base,
	[class*="e-heading"]
) {
	max-width: var(--rwec-content-max) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
	/* Child shells often carry their own 56px / 25px — that double-insets the rail */
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Nested stacks: tighten vertical rhythm only — keep side-to-side column gap */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	.elementor-location-single,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"],
	[data-elementor-type="single"]
) :is(.e-con.e-child, .e-flexbox-base.e-child) {
	--row-gap: var(--rwec-stack-gap) !important;
	--column-gap: var(--rwec-section-gap) !important;
	--gap: var(--rwec-stack-gap) var(--rwec-section-gap) !important;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	.elementor-location-single,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"],
	[data-elementor-type="single"]
) :is(.e-con.e-child, .e-flexbox-base.e-child) > .e-con-inner {
	row-gap: var(--rwec-stack-gap) !important;
	column-gap: var(--rwec-section-gap) !important;
	gap: var(--rwec-stack-gap) var(--rwec-section-gap) !important;
}

/* Image + text grids: same Y pad, wider column gap */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .e-grid.e-parent > .e-con-inner {
	column-gap: 40px !important;
	row-gap: var(--rwec-section-gap) !important;
	gap: var(--rwec-section-gap) 40px !important;
	padding-top: var(--rwec-section-pad-y) !important;
	padding-bottom: var(--rwec-section-pad-y) !important;
}

/*
 * Zero default vertical margins on text/heading widgets only.
 * Do NOT wipe margins on images/containers — intentional overlaps use
 * negative margins / transforms that must stay intact.
 */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	.elementor-widget-heading,
	.elementor-widget-the7-heading,
	.elementor-widget-text-editor,
	[class*="e-heading"]
) {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .elementor-widget-spacer {
	display: none !important;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	.elementor-heading-title,
	.the7-heading-title,
	.e-heading-title,
	.e-heading-base
) {
	margin-top: 0 !important;
	margin-bottom: 0.2em !important;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .elementor-widget-text-editor > .elementor-widget-container > :last-child {
	margin-bottom: 0 !important;
}

/*
 * Text widgets often ship with Elementor 20px container pad — that shifts
 * copy off the logo/title rail AND inflates the gap under H2 titles.
 * Kill all sides; stack gap owns rhythm.
 */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	.elementor-widget-text-editor,
	.elementor-widget-text-editor > .elementor-widget-container,
	.elementor-widget-theme-post-content,
	.elementor-widget-theme-post-content > .elementor-widget-container
) {
	padding: 0 !important;
}

/* Title → body: keep heading widgets and following copy close */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	.elementor-widget-heading,
	.elementor-widget-the7-heading,
	.e-heading-base,
	[class*="e-heading"]
) + :is(.elementor-widget-text-editor, .elementor-element) {
	margin-top: 0 !important;
}

/* Page title strip (single template 5343): compact */
body.rwec-main-page .elementor-5343 .elementor-element-2e45b21,
body.rwec-main-page .elementor-5343 .elementor-element-2e45b21.e-con,
body.rwec-main-page .elementor-5343 .elementor-element-2e45b21.e-con-full {
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-block-start: 0px !important;
	--padding-block-end: 0px !important;
	padding: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	min-height: 0 !important;
}

body.rwec-main-page .elementor-5343 .elementor-element-d64de91,
body.rwec-main-page .elementor-5343 .elementor-element-d64de91 > .e-con-inner {
	--padding-top: var(--rwec-title-pad-y) !important;
	--padding-bottom: var(--rwec-title-pad-y) !important;
	padding-top: var(--rwec-title-pad-y) !important;
	padding-bottom: var(--rwec-title-pad-y) !important;
	min-height: 0 !important;
}

body.rwec-main-page .elementor-5343 .elementor-element-2e45b21 :is(.the7-heading-title, .elementor-heading-title, h1) {
	margin: 0 !important;
	padding: 0 !important;
}

/* ---------- Content readability ---------- */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-text-editor, .elementor-widget-theme-post-content, .wpb_text_column, .entry-content) {
	font-size: 17px;
	line-height: 1.7;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-text-editor, .wpb_text_column, .entry-content) p {
	margin-bottom: 1.1em;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-text-editor, .entry-content) a:not(.elementor-button):not(.dt-btn):not(.box-button) {
	color: var(--rwec-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	transition: color 0.2s ease;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-text-editor, .entry-content) a:not(.elementor-button):not(.dt-btn):not(.box-button):hover {
	color: var(--rwec-navy);
}

/* ---------- Headings ---------- */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-heading-title, .the7-heading-title, .box-heading, .elementor-cta__title) {
	letter-spacing: 0.01em;
	text-wrap: balance;
}

/* Gold rule under Elementor / The7 / CTA / content section titles */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .elementor-widget-heading:not(.elementor-absolute) :is(h1, h2, h3).elementor-heading-title,
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .elementor-widget-the7-heading:not(.elementor-absolute) .the7-heading-title,
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .elementor-cta__title,
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-text-editor, .elementor-widget-theme-post-content, .entry-content) :is(h2, h3) {
	padding-bottom: 0.2em;
}

/* CTA cards — subtle hover */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .elementor-cta {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .elementor-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(11, 31, 58, 0.12);
}

/* Service / icon-box titles */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .box-heading {
	transition: color 0.2s ease;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .wf-cell:hover .box-heading,
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .elementor-image-box-wrapper:hover .elementor-image-box-title {
	color: var(--rwec-gold-mid) !important;
}

/* ---------- Buttons / CTAs ---------- */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(a.elementor-button, .elementor-button, .dt-btn, .box-button, button[type="submit"], input[type="submit"], .wpcf7-submit) {
	border-radius: var(--rwec-radius-sm) !important;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(a.elementor-button, .elementor-button, .dt-btn, .box-button, button[type="submit"], input[type="submit"], .wpcf7-submit):hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(243, 136, 0, 0.28);
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(a.elementor-button, .elementor-button, .dt-btn, .box-button, button, a):focus-visible {
	outline: none;
	box-shadow: var(--rwec-focus);
}

/* ---------- Forms ---------- */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="file"]),
	textarea,
	select,
	.elementor-field-textual
) {
	border: 1px solid #d5dbe6 !important;
	border-radius: var(--rwec-radius-sm) !important;
	background: #fff !important;
	color: var(--rwec-ink) !important;
	min-height: 46px;
	padding: 10px 14px !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(textarea, textarea.elementor-field-textual) {
	min-height: 120px;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
	textarea:focus,
	select:focus,
	.elementor-field-textual:focus
) {
	border-color: var(--rwec-gold-mid) !important;
	box-shadow: var(--rwec-focus);
	outline: none;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(label, .elementor-field-label) {
	color: var(--rwec-navy);
	font-weight: 600;
	letter-spacing: 0.01em;
}

/* ---------- Media, cards, icon boxes ---------- */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .elementor-widget-image:not(.elementor-widget__width-auto) img,
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .elementor-widget-theme-post-featured-image img {
	border-radius: var(--rwec-radius);
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-image-box-wrapper, .elementor-icon-box-wrapper, .dt-icon-box, .wf-cell .text-primary) {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-icon-box-wrapper, .dt-icon-box):hover {
	transform: translateY(-3px);
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) .elementor-icon-box-wrapper:hover .elementor-icon {
	transform: scale(1.04);
	box-shadow: 0 8px 18px rgba(232, 119, 34, 0.28);
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-icon-box-description, .elementor-image-box-description, .box-shortcode-content) {
	color: var(--rwec-muted);
	line-height: 1.6;
}

/* Soft lift on The7 service / icon boxes */
body.rwec-main-page :is(
	.elementor-location-section,
	[data-elementor-type="section"],
	#main,
	#content
) .wf-cell {
	transition: transform 0.25s ease;
}

body.rwec-main-page :is(
	.elementor-location-section,
	[data-elementor-type="section"],
	#main,
	#content
) .wf-cell:hover {
	transform: translateY(-3px);
}

/* ---------- Breadcrumbs ---------- */
body.rwec-main-page :is(.breadcrumbs, .dt-breadcrumbs, .elementor-widget-breadcrumbs, .rank-math-breadcrumb) {
	font-size: 13px;
	letter-spacing: 0.02em;
	opacity: 0.9;
}

body.rwec-main-page :is(.breadcrumbs, .dt-breadcrumbs, .rank-math-breadcrumb) a {
	text-decoration: none;
	transition: color 0.2s ease, opacity 0.2s ease;
}

body.rwec-main-page :is(.breadcrumbs, .dt-breadcrumbs, .rank-math-breadcrumb) a:hover {
	color: var(--rwec-gold) !important;
	opacity: 1;
}

/* ---------- Lists / accordions ---------- */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-text-editor, .entry-content) ul {
	padding-left: 1.2em;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-text-editor, .entry-content) li {
	margin: 0.35em 0;
	line-height: 1.65;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-text-editor, .entry-content) li::marker {
	color: var(--rwec-gold-mid);
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-accordion-item, .elementor-toggle-item) {
	border-radius: var(--rwec-radius-sm);
	overflow: hidden;
}

/* Accordion chrome sits on the 1300 rail — don't add a second 20px inset */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	.the7-accordion-header,
	.elementor-tab-title,
	.elementor-toggle-title,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-tab-title, .elementor-toggle-title) {
	transition: background-color 0.2s ease, color 0.2s ease;
}

/* ---------- Home tabs: Who we are / Experience / Principles ---------- */
body.rwec-main-page .rwec-tab-cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 48px;
	margin: 0;
}

body.rwec-main-page .rwec-tab-cols p {
	margin: 0;
	font-size: 17px;
	line-height: 1.7;
	color: var(--rwec-ink);
}

@media (max-width: 1024px) {
	body.rwec-main-page .rwec-tab-cols {
		grid-template-columns: 1fr;
		gap: 22px;
	}
}

/* ---------- Shaded panels / elevated cards ---------- */
body.rwec-main-page {
	--rwec-card-bg: #ffffff;
	--rwec-card-shadow: 0 10px 28px rgba(17, 49, 99, 0.1);
	--rwec-card-shadow-hover: 0 14px 34px rgba(17, 49, 99, 0.14);
	--rwec-card-radius: 12px;
}

/* About: Ron portrait — one third shorter */
body.rwec-main-page .elementor-element-83584bb img,
body.rwec-main-page img[src*="ron-waterfield002"] {
	max-height: 610px !important;
	width: 100% !important;
	height: 610px !important;
	object-fit: cover !important;
	object-position: center top !important;
	border-radius: var(--rwec-card-radius);
	box-shadow: var(--rwec-card-shadow);
}

body.rwec-main-page .elementor-element-482c16f {
	background: var(--rwec-card-bg) !important;
	border-radius: var(--rwec-card-radius);
	box-shadow: var(--rwec-card-shadow);
	padding: 12px !important;
}

/*
 * The7 sets #page.closed-mobile-header { overflow: hidden }, which blocks
 * position:sticky sitewide. Allow sticky on marketing pages only.
 */
body.rwec-main-page #page.closed-mobile-header {
	overflow: visible !important;
}

/* About “A Word From Ron”: stretch columns; left fills height with quote + blog stack */
body.rwec-main-page .elementor-element-6678cb0 {
	overflow: visible !important;
}

body.rwec-main-page .elementor-element-6678cb0 > .e-con-inner {
	display: flex !important;
	align-items: stretch !important;
	overflow: visible !important;
}

body.rwec-main-page .elementor-element-ceeedd6 {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	min-height: 100% !important;
}

body.rwec-main-page .elementor-element-ceeedd6 > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-items: stretch !important;
	gap: 16px !important;
	flex: 1 1 auto !important;
	height: 100% !important;
	min-height: 100% !important;
}

body.rwec-main-page .elementor-element-ceeedd6 > .e-con-inner > .elementor-element:not(.elementor-element-rwecabs1) {
	flex: 0 0 auto;
}

body.rwec-main-page .elementor-element-rwecabs1,
body.rwec-main-page .elementor-element-rwecabs1 > .elementor-widget-container {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: auto !important;
}

body.rwec-main-page .elementor-element-ceeedd6 .rwec-about-blog-stack,
body.rwec-main-page .elementor-element-ceeedd6 .rwec-about-blog-stack__cards {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

body.rwec-main-page .elementor-element-ceeedd6 .rwec-about-blog-card {
	flex: 1 1 0;
}

/* Elevated white cards over soft bands */
body.rwec-main-page :is(
	.elementor-22383 .elementor-element[data-id][class*="e-con"].e-child,
	.elementor-element-6a51677,
	.elementor-element-c609faf,
	.elementor-element-4569a6a,
	.elementor-element-9344bc2,
	.elementor-element-0498759,
	.elementor-element-b189b7a,
	.elementor-element-99f6e5c,
	.elementor-element-b8d56d8,
	.elementor-element-6179770,
	.elementor-element-7445a02,
	.elementor-element-abd203b,
	.elementor-element-ca22dff,
	.elementor-element-ac124f9,
	.elementor-element-b62b48c,
	.elementor-element-891faa4,
	.elementor-element-66ed7db,
	.elementor-element-bed3dd2,
	.elementor-element-2e5a6c9
) {
	background-color: var(--rwec-card-bg) !important;
	border-radius: var(--rwec-card-radius) !important;
	box-shadow: var(--rwec-card-shadow) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.rwec-main-page :is(
	.elementor-element-6a51677,
	.elementor-element-c609faf,
	.elementor-element-4569a6a,
	.elementor-element-9344bc2,
	.elementor-element-0498759,
	.elementor-element-b189b7a,
	.elementor-element-99f6e5c,
	.elementor-element-b8d56d8,
	.elementor-element-6179770,
	.elementor-element-7445a02
):hover {
	transform: translateY(-4px);
	box-shadow: var(--rwec-card-shadow-hover) !important;
}

/*
 * Accordion / toggle: NO filled inner panels (never dark band + light card + dark text).
 * Copy sits on the section background. Separation = soft shadow/glow SFX only.
 */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-accordion-item, .elementor-toggle-item, .the7-adv-accordion .elementor-accordion-item) {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	outline: none !important;
	border-radius: 12px !important;
	box-shadow: 0 10px 28px rgba(17, 49, 99, 0.1) !important;
	margin-top: 0 !important;
	margin-bottom: 12px !important;
	padding: 4px 0 !important;
	overflow: visible;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-accordion-item, .elementor-toggle-item, .the7-adv-accordion .elementor-accordion-item):hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 36px rgba(17, 49, 99, 0.14) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	.elementor-accordion-item,
	.elementor-toggle-item,
	.the7-adv-accordion .elementor-accordion-item
),
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	.elementor-element-91dc152,
	.elementor-element-61ba7de,
	.elementor-element-4aa182e,
	.elementor-element-eb8dd08
) :is(.elementor-accordion-item, .elementor-toggle-item, .the7-adv-accordion .elementor-accordion-item) {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow:
		0 16px 40px rgba(0, 0, 0, 0.35),
		0 0 24px rgba(238, 200, 61, 0.1) !important;
	padding: 4px 0 !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	.elementor-accordion-item,
	.elementor-toggle-item,
	.the7-adv-accordion .elementor-accordion-item
):hover,
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	.elementor-element-91dc152,
	.elementor-element-61ba7de,
	.elementor-element-4aa182e,
	.elementor-element-eb8dd08
) :is(.elementor-accordion-item, .elementor-toggle-item, .the7-adv-accordion .elementor-accordion-item):hover {
	transform: translateY(-1px);
	background: transparent !important;
	box-shadow:
		0 20px 48px rgba(0, 0, 0, 0.42),
		0 0 32px rgba(238, 200, 61, 0.16) !important;
}

/* Kill Elementor/The7 leftover accordion rule lines */
body.rwec-main-page :is(
	#main,
	#content
) :is(
	.elementor-accordion,
	.the7-adv-accordion,
	.elementor-toggle
) :is(.elementor-accordion-item, .elementor-toggle-item, .elementor-tab-title, .the7-accordion-header) {
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	outline: none !important;
}

/* Services CTA boxes */
body.rwec-main-page .elementor-cta,
body.rwec-main-page .elementor-widget-call-to-action .elementor-cta,
body.rwec-main-page .elementor-element-9ddd6df {
	border-radius: var(--rwec-card-radius) !important;
	box-shadow: var(--rwec-card-shadow) !important;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.rwec-main-page .elementor-cta:hover,
body.rwec-main-page .elementor-widget-call-to-action .elementor-cta:hover {
	transform: translateY(-3px);
	box-shadow: var(--rwec-card-shadow-hover) !important;
}

/* Soft inset band behind tab content */
body.rwec-main-page .elementor-element-abd203b {
	background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
	border: 1px solid var(--rwec-line);
}

/*
 * Service detail pages: do NOT invent white inner cards on dark/soft bands.
 * Copy sits on the section background (gold/light on navy, ink on light).
 */
body.rwec-main-page :is(
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) :is(
	.elementor-element-5cfc080,
	.elementor-element-2d5c719,
	.elementor-element-5f2579b,
	.elementor-element-0f431ec
) {
	background: transparent !important;
	background-color: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

body.rwec-main-page :is(
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) > .e-flexbox-base.elementor-element-385d5bc > .elementor-element,
body.rwec-main-page :is(
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) > .e-flexbox-base.elementor-element-c853775 > .elementor-element,
body.rwec-main-page :is(
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) > .e-flexbox-base.elementor-element-0274fd4 > .elementor-element {
	background: transparent !important;
	background-color: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* Service process / expect images */
body.rwec-main-page :is(
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) :is(.elementor-element-38da421, .elementor-element-9cfa16b) img {
	border-radius: var(--rwec-card-radius);
	box-shadow: var(--rwec-card-shadow);
}

@media (max-width: 767px) {
	body.rwec-main-page .elementor-element-83584bb img,
	body.rwec-main-page img[src*="ron-waterfield002"] {
		height: auto !important;
		max-height: 420px !important;
	}
}

/* ---------- Contrast: headings + FAQ (no gold/white on white) ---------- */
/*
 * Gold/orange headings fail WCAG on white/soft panels.
 * Use navy on light sections; keep gold only on intentional dark bands.
 *
 * Also: Elementor sometimes binds body copy to el_c_bg_main (white canvas) —
 * never allow white/near-white text on light panels.
 */

/* Coaching Services + service pages: body copy defaults to ink */
body.rwec-main-page :is(
	.elementor-18914,
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) .elementor-widget-text-editor,
body.rwec-main-page :is(
	.elementor-18914,
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) .elementor-widget-text-editor :is(p, li, span, div, strong, em, b, i) {
	color: var(--rwec-ink) !important;
}

body.rwec-main-page :is(
	.elementor-18914,
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) .elementor-widget-text-editor a:not(.elementor-button):not(.dt-btn) {
	color: var(--rwec-navy) !important;
	text-decoration: underline;
	text-decoration-color: rgba(243, 136, 0, 0.55);
}

/* CTA cards on light rails: title/description never white */
body.rwec-main-page .elementor-cta__title {
	color: var(--rwec-navy) !important;
}

body.rwec-main-page .elementor-cta__description {
	color: var(--rwec-ink) !important;
}

body.rwec-main-page .elementor-cta__button {
	color: var(--rwec-dark) !important;
}

/* Dark navy bands: restore light body copy */
body.rwec-main-page .elementor-18914 .elementor-element-91dc152 .elementor-widget-text-editor,
body.rwec-main-page .elementor-18914 .elementor-element-91dc152 .elementor-widget-text-editor :is(p, li, span, div, strong, em, b, i),
body.rwec-main-page :is(
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) :is(
	.elementor-element-61ba7de,
	.elementor-element-4aa182e,
	.elementor-element-eb8dd08
) .elementor-widget-text-editor,
body.rwec-main-page :is(
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) :is(
	.elementor-element-61ba7de,
	.elementor-element-4aa182e,
	.elementor-element-eb8dd08
) .elementor-widget-text-editor :is(p, li, span, div, strong, em, b, i) {
	color: #ffffff !important;
}

body.rwec-main-page :is(
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013,
	.elementor-18914
) :is(
	.elementor-heading-title,
	.the7-heading-title,
	.e-heading-title,
	.e-heading-base,
	h1, h2, h3, h4
) {
	color: var(--rwec-navy) !important;
}

/* Atomic Elementor heading utility classes (e.g. e-f397174-*) */
body.rwec-main-page :is(
	.elementor-18914,
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) [class*="e-heading"] {
	color: var(--rwec-navy) !important;
}

/* Dark navy bands only: gold headings (service detail pages) */
body.rwec-main-page :is(
	.elementor-22826,
	.elementor-22690,
	.elementor-22837,
	.elementor-22914,
	.elementor-22938,
	.elementor-22939,
	.elementor-22867,
	.elementor-23013
) :is(
	.elementor-element-61ba7de,
	.elementor-element-4aa182e,
	.elementor-element-eb8dd08
) :is(
	.elementor-heading-title,
	.the7-heading-title,
	.e-heading-title,
	.e-heading-base,
	h1, h2, h3, h4,
	[class*="e-heading"]
) {
	color: var(--rwec-gold) !important;
}

/* FAQ / accordion: readable titles + body (never white-on-white) */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-the7-accordion, .elementor-widget-accordion, .elementor-widget-toggle) :is(
	.elementor-accordion-title,
	.elementor-tab-title,
	.elementor-toggle-title,
	.dt-accordion-title
) {
	color: var(--rwec-navy) !important;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-the7-accordion, .elementor-widget-accordion, .elementor-widget-toggle) :is(
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
),
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-the7-accordion, .elementor-widget-accordion, .elementor-widget-toggle) :is(
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) :is(p, li, span, div, a:not(.elementor-button)) {
	color: var(--rwec-ink) !important;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(.elementor-widget-the7-accordion, .elementor-widget-accordion, .elementor-widget-toggle) :is(
	.elementor-accordion-icon,
	.elementor-accordion-icon-closed,
	.elementor-accordion-icon-opened,
	.elementor-accordion-icon i,
	.elementor-accordion-icon svg
) {
	color: var(--rwec-navy) !important;
	fill: var(--rwec-navy) !important;
}

/*
 * Dark bands: accordion titles/body stay light.
 * Must include #main so specificity beats the FAQ navy defaults (which use #main).
 */
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	.elementor-element-91dc152,
	.elementor-element-61ba7de,
	.elementor-element-4aa182e,
	.elementor-element-eb8dd08
) :is(.elementor-widget-the7-accordion, .elementor-widget-accordion, .elementor-widget-toggle) :is(
	.elementor-accordion-title,
	.elementor-tab-title,
	.elementor-toggle-title,
	.dt-accordion-title,
	.the7-accordion-header
) {
	color: var(--rwec-gold) !important;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	.elementor-element-91dc152,
	.elementor-element-61ba7de,
	.elementor-element-4aa182e,
	.elementor-element-eb8dd08
) :is(.elementor-widget-the7-accordion, .elementor-widget-accordion, .elementor-widget-toggle) :is(
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
),
body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	.elementor-element-91dc152,
	.elementor-element-61ba7de,
	.elementor-element-4aa182e,
	.elementor-element-eb8dd08
) :is(.elementor-widget-the7-accordion, .elementor-widget-accordion, .elementor-widget-toggle) :is(
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) :is(p, li, span, div, a:not(.elementor-button)) {
	color: #ffffff !important;
}

body.rwec-main-page :is(
	#main,
	#content,
	.elementor-location-section,
	[data-elementor-type="section"],
	[data-elementor-type="single-page"],
	[data-elementor-type="wp-page"]
) :is(
	.elementor-element-91dc152,
	.elementor-element-61ba7de,
	.elementor-element-4aa182e,
	.elementor-element-eb8dd08
) :is(.elementor-widget-the7-accordion, .elementor-widget-accordion, .elementor-widget-toggle) :is(
	.elementor-accordion-icon,
	.elementor-accordion-icon-closed,
	.elementor-accordion-icon-opened,
	.elementor-accordion-icon i,
	.elementor-accordion-icon svg
) {
	color: var(--rwec-gold) !important;
	fill: var(--rwec-gold) !important;
}

/*
 * Per-node contrast overrides from rwec-main-pages-contrast.js
 * (applied when computed fg/bg fail luminance checks).
 */
body.rwec-main-page :is(#main, #content) .rwec-fg-light,
body.rwec-main-page :is(#main, #content) .rwec-fg-light :is(span, strong, em, b, i) {
	color: #ffffff !important;
}

body.rwec-main-page :is(#main, #content) .rwec-fg-gold,
body.rwec-main-page :is(#main, #content) .rwec-fg-gold :is(span, strong, em, b, i, a:not(.elementor-button)) {
	color: var(--rwec-gold) !important;
	fill: var(--rwec-gold) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-fg-ink,
body.rwec-main-page :is(#main, #content) .rwec-fg-ink :is(span, strong, em, b, i) {
	color: var(--rwec-ink) !important;
}

body.rwec-main-page :is(#main, #content) :is(
	h1, h2, h3, h4, h5, h6,
	.elementor-heading-title,
	.the7-heading-title,
	.e-heading-title,
	.elementor-tab-title,
	.elementor-accordion-title,
	.the7-accordion-header,
	.elementor-cta__title,
	[class*="e-heading"]
).rwec-fg-ink {
	color: var(--rwec-navy) !important;
}

/*
 * Luminance-based contrast (bands marked by rwec-main-pages-contrast.js).
 * Include #main so these beat FAQ navy defaults. Nested light inside dark
 * wins via .rwec-on-dark .rwec-on-light.
 */
body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	.elementor-heading-title,
	.the7-heading-title,
	.e-heading-title,
	.e-heading-base,
	h1, h2, h3, h4, h5, h6,
	[class*="e-heading"],
	.elementor-accordion-title,
	.elementor-tab-title,
	.elementor-toggle-title,
	.dt-accordion-title,
	.the7-accordion-header
) {
	color: var(--rwec-gold) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
),
body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) :is(p, li, span, div, strong, em, b, i) {
	color: #ffffff !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) a:not(.elementor-button):not(.dt-btn) {
	color: var(--rwec-gold) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	.elementor-accordion-icon,
	.elementor-accordion-icon-closed,
	.elementor-accordion-icon-opened,
	.elementor-accordion-icon i,
	.elementor-accordion-icon svg
) {
	color: var(--rwec-gold) !important;
	fill: var(--rwec-gold) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-light :is(
	.elementor-heading-title,
	.the7-heading-title,
	.e-heading-title,
	.e-heading-base,
	h1, h2, h3, h4, h5, h6,
	[class*="e-heading"],
	.elementor-accordion-title,
	.elementor-tab-title,
	.elementor-toggle-title,
	.dt-accordion-title,
	.the7-accordion-header
) {
	color: var(--rwec-navy) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-light :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
),
body.rwec-main-page :is(#main, #content) .rwec-on-light :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) :is(p, li, span, div, strong, em, b, i) {
	color: var(--rwec-ink) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-light :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) a:not(.elementor-button):not(.dt-btn) {
	color: var(--rwec-navy) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-light :is(
	.elementor-accordion-icon,
	.elementor-accordion-icon-closed,
	.elementor-accordion-icon-opened,
	.elementor-accordion-icon i,
	.elementor-accordion-icon svg
) {
	color: var(--rwec-navy) !important;
	fill: var(--rwec-navy) !important;
}

/* Nested light panel inside a dark band: keep dark ink */
body.rwec-main-page :is(#main, #content) .rwec-on-dark .rwec-on-light :is(
	.elementor-heading-title,
	.the7-heading-title,
	.e-heading-title,
	.e-heading-base,
	h1, h2, h3, h4, h5, h6,
	[class*="e-heading"],
	.elementor-accordion-title,
	.elementor-tab-title,
	.elementor-toggle-title,
	.dt-accordion-title,
	.the7-accordion-header
) {
	color: var(--rwec-navy) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-dark .rwec-on-light :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
),
body.rwec-main-page :is(#main, #content) .rwec-on-dark .rwec-on-light :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) :is(p, li, span, div, strong, em, b, i) {
	color: var(--rwec-ink) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-dark .rwec-on-light :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) a:not(.elementor-button):not(.dt-btn) {
	color: var(--rwec-navy) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-dark .rwec-on-light :is(
	.elementor-accordion-icon,
	.elementor-accordion-icon-closed,
	.elementor-accordion-icon-opened,
	.elementor-accordion-icon i,
	.elementor-accordion-icon svg
) {
	color: var(--rwec-navy) !important;
	fill: var(--rwec-navy) !important;
}

/* Nested dark panel inside a light band: keep light copy */
body.rwec-main-page :is(#main, #content) .rwec-on-light .rwec-on-dark :is(
	.elementor-heading-title,
	.the7-heading-title,
	.e-heading-title,
	.e-heading-base,
	h1, h2, h3, h4, h5, h6,
	[class*="e-heading"],
	.elementor-accordion-title,
	.elementor-tab-title,
	.elementor-toggle-title,
	.dt-accordion-title,
	.the7-accordion-header
) {
	color: var(--rwec-gold) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-light .rwec-on-dark :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
),
body.rwec-main-page :is(#main, #content) .rwec-on-light .rwec-on-dark :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) :is(p, li, span, div, strong, em, b, i) {
	color: #ffffff !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-light .rwec-on-dark :is(
	.elementor-widget-text-editor,
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) a:not(.elementor-button):not(.dt-btn) {
	color: var(--rwec-gold) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-light .rwec-on-dark :is(
	.elementor-accordion-icon,
	.elementor-accordion-icon-closed,
	.elementor-accordion-icon-opened,
	.elementor-accordion-icon i,
	.elementor-accordion-icon svg
) {
	color: var(--rwec-gold) !important;
	fill: var(--rwec-gold) !important;
}

/*
 * Blog loop cards: navy bar under the image (“Read article” was near-black on ink).
 * Outline/transparent CTAs on dark bands → gold. Solid orange/gold box-buttons → dark ink.
 */
body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	a.elementor-button:not(.box-button),
	.elementor-button:not(.box-button),
	.dt-btn
),
body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	a.elementor-button:not(.box-button),
	.elementor-button:not(.box-button),
	.dt-btn
) :is(span, .elementor-button-text, .elementor-button-content-wrapper),
body.rwec-main-page .elementor-element-8e06431 :is(
	a.elementor-button:not(.box-button),
	.elementor-button:not(.box-button),
	.dt-btn
),
body.rwec-main-page .elementor-element-8e06431 :is(
	a.elementor-button:not(.box-button),
	.elementor-button:not(.box-button),
	.dt-btn
) :is(span, .elementor-button-text, .elementor-button-content-wrapper),
body.rwec-main-page .elementor-9780 .elementor-element-8e06431 :is(
	a.elementor-button:not(.box-button)
) {
	color: var(--rwec-gold) !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	a.box-button,
	.box-button
),
body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	a.box-button,
	.box-button
) :is(span, .elementor-button-text, .elementor-button-content-wrapper),
body.rwec-main-page .elementor-element-8e06431 :is(
	a.box-button,
	.box-button
),
body.rwec-main-page .elementor-element-8e06431 :is(
	a.box-button,
	.box-button
) :is(span, .elementor-button-text, .elementor-button-content-wrapper),
body.rwec-main-page .elementor-9780 .elementor-element-8e06431 :is(
	a.box-button
),
body.rwec-main-page :is(#main, #content) .scroll-top {
	color: #111111 !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	a.elementor-button:not(.box-button),
	.elementor-button:not(.box-button),
	.dt-btn
):hover,
body.rwec-main-page .elementor-element-8e06431 :is(
	a.elementor-button:not(.box-button),
	.elementor-button:not(.box-button),
	.dt-btn
):hover {
	color: #ffffff !important;
}

body.rwec-main-page :is(#main, #content) .rwec-on-dark :is(
	a.box-button,
	.box-button
):hover,
body.rwec-main-page .elementor-element-8e06431 :is(
	a.box-button,
	.box-button
):hover,
body.rwec-main-page :is(#main, #content) .scroll-top:hover {
	color: #000000 !important;
}

/*
 * Hard font colors on known navy accordion bands.
 * Elementor sets accordion titles to navy #113163 — beat that explicitly.
 */
body.rwec-main-page .elementor-element-91dc152 :is(
	.elementor-tab-title,
	.the7-accordion-header,
	.elementor-accordion-title,
	a.elementor-accordion-title,
	.dt-accordion-title
),
body.rwec-main-page .elementor-18914 .elementor-element-8b81a7a :is(
	.elementor-tab-title,
	.the7-accordion-header,
	.elementor-accordion-title,
	a.elementor-accordion-title,
	.elementor-tab-title.elementor-active .elementor-accordion-title,
	.elementor-tab-title .elementor-accordion-title
) {
	color: #eec83d !important;
}

body.rwec-main-page .elementor-element-91dc152 :is(
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
),
body.rwec-main-page .elementor-element-91dc152 :is(
	.elementor-tab-content,
	.elementor-accordion-content,
	.elementor-toggle-content
) :is(p, li, span, div, strong, em, b, i, a:not(.elementor-button)),
body.rwec-main-page .elementor-18914 .elementor-element-8b81a7a :is(
	.elementor-tab-content,
	.elementor-accordion-content
),
body.rwec-main-page .elementor-18914 .elementor-element-8b81a7a :is(
	.elementor-tab-content,
	.elementor-accordion-content
) :is(p, li, span, div, strong, em, b, i, a:not(.elementor-button)) {
	color: #ffffff !important;
}

body.rwec-main-page .elementor-element-91dc152 :is(
	.elementor-accordion-icon,
	.elementor-accordion-icon-closed,
	.elementor-accordion-icon-opened,
	.elementor-accordion-icon i,
	.elementor-accordion-icon svg
),
body.rwec-main-page .elementor-18914 .elementor-element-8b81a7a :is(
	.elementor-accordion-icon,
	.elementor-accordion-icon-closed,
	.elementor-accordion-icon-opened,
	.elementor-accordion-icon i,
	.elementor-accordion-icon svg
) {
	color: #eec83d !important;
	fill: #eec83d !important;
}

/* ---------- Selection + reduced motion ---------- */
body.rwec-main-page ::selection {
	background: rgba(243, 136, 0, 0.28);
	color: var(--rwec-dark);
}

@media (prefers-reduced-motion: reduce) {
	body.rwec-main-page :is(
		#main,
		#content,
		.elementor-location-section,
		[data-elementor-type="section"],
		[data-elementor-type="single-page"],
		[data-elementor-type="wp-page"]
	) :is(a.elementor-button, .elementor-button, .dt-btn, .box-button, .elementor-icon-box-wrapper, .dt-icon-box, .elementor-icon, .wf-cell) {
		transition: none !important;
		transform: none !important;
	}
}

@media (max-width: 767px) {
	body.rwec-main-page :is(
		#main,
		#content,
		.elementor-location-section,
		[data-elementor-type="section"],
		[data-elementor-type="single-page"],
		[data-elementor-type="wp-page"]
	) :is(.elementor-widget-text-editor, .wpb_text_column, .entry-content) {
		font-size: 16px;
		line-height: 1.65;
	}

	body.rwec-main-page :is(
		#main,
		#content,
		.elementor-location-section,
		[data-elementor-type="section"],
		[data-elementor-type="single-page"],
		[data-elementor-type="wp-page"]
	) :is(a.elementor-button, .elementor-button, .dt-btn, .box-button) {
		min-height: 44px;
	}
}
