/*
Theme Name: MPU-thentic Child
Theme URI: https://mpu-coach24.de/
Description: Konsolidierter Rendering-Layer für MPU-COACH24 auf Basis des Parent-Themes MPU-thentic.
Author: MPU-COACH24
Author URI: https://mpu-coach24.de/
Template: mpu-thentic
Version: 1.2.0
Text Domain: mpu-thentic-child
*/

/* ==========================================================================
   WP-DS-07: canonical global color system
   Values are the registered WP-DS-01 palette. Semantic aliases intentionally
   reuse registered values where WP-DS-01 did not define another swatch.
   ========================================================================== */

:root {
	--mc24-color-brand-primary: #0c2638;
	--mc24-color-brand-secondary: #0d3b66;
	--mc24-color-brand-accent: #d6ad45;

	--mc24-color-bg-primary: #ffffff;
	--mc24-color-bg-secondary: #f5f3ee;
	--mc24-color-bg-dark: var(--mc24-color-brand-primary);

	--mc24-color-surface: #ffffff;
	--mc24-color-surface-muted: #f7fafc;
	--mc24-color-surface-elevated: #f7fafc;
	--mc24-color-surface-dark: var(--mc24-color-brand-primary);

	--mc24-color-text-primary: #11151a;
	--mc24-color-text-secondary: #506372;
	--mc24-color-text-muted: #66707a;
	--mc24-color-text-on-dark: #ffffff;
	--mc24-color-text-on-accent: #11151a;

	--mc24-color-border: #dce4eb;
	--mc24-color-border-strong: #adb5bd;
	--mc24-color-border-on-dark: #adb5bd;

	--mc24-color-link: #0d3b66;
	--mc24-color-link-hover: #071d3b;
	--mc24-color-link-visited: #0d3b66;

	--mc24-color-focus: #d6ad45;
	--mc24-color-active: #071d3b;
	--mc24-color-disabled-bg: #dce4eb;
	--mc24-color-disabled-text: #506372;

	--mc24-color-success: #3f7a58;
	--mc24-color-warning: #8a691d;
	--mc24-color-error: #a23a43;
	--mc24-color-info: #0d3b66;
}

/*
 * WP-008: canonical global header.
 * These rules intentionally target only the shared #site-header component.
 */
#site-header {
	background: var(--mc24-color-bg-primary);
	border-bottom: 1px solid rgba(7, 29, 59, 0.08);
	box-shadow: none;
}

#site-header .branding {
	max-width: 1240px;
	margin: 0 auto;
	padding: 18px 28px 8px;
}

#site-header .branding > a {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

#site-header .site-header-logo {
	display: block;
	width: 172px;
	max-width: 48vw;
	height: auto;
}

#site-header nav {
	max-width: 1240px;
	margin: 0 auto;
	padding-right: 28px;
	padding-left: 28px;
}

#site-header .branding > a:focus-visible,
#site-header .navbar-toggler:focus-visible,
#site-header #main-menu a:focus-visible {
	outline: 3px solid var(--mc24-color-focus);
	outline-offset: 3px;
	box-shadow: 0 0 0 2px var(--mc24-color-brand-primary);
}

@media (max-width: 768px) {
	#site-header .branding,
	#site-header nav {
		padding-right: 17px;
		padding-left: 17px;
	}
}

/*
 * WP-WORLDCLASS-06: canonical global footer.
 * One compact brand block and one legal navigation replace the former widget
 * columns. The home selector is intentionally specific because legacy page-888
 * content hides .site-footer with an inline !important declaration.
 */
footer#site-footer.mc24-global-footer,
body.home footer#site-footer.mc24-global-footer {
	display: block;
	width: 100%;
	max-width: none;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--mc24-color-bg-dark);
	color: var(--mc24-color-text-secondary);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.home footer#site-footer.mc24-global-footer {
	display: block !important;
}

#site-footer.mc24-global-footer .mc24-global-footer__inner {
	display: flex;
	width: min(100% - 56px, 1240px);
	margin: 0 auto;
	padding: 38px 0;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

#site-footer.mc24-global-footer .mc24-global-footer__brand strong {
	display: block;
	margin: 0;
	color: var(--mc24-color-text-on-dark);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

#site-footer.mc24-global-footer .mc24-global-footer__brand p {
	margin: 6px 0 0;
	color: var(--mc24-color-border-on-dark);
	font-size: 14px;
	line-height: 1.5;
}

#site-footer.mc24-global-footer .mc24-global-footer__legal,
#site-footer.mc24-global-footer .mc24-global-footer__legal ul {
	margin: 0;
	padding: 0;
}

#site-footer.mc24-global-footer .mc24-global-footer__legal ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 4px 20px;
	list-style: none;
}

#site-footer.mc24-global-footer .mc24-global-footer__legal li {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1;
}

#site-footer.mc24-global-footer .mc24-global-footer__legal li::before,
#site-footer.mc24-global-footer .mc24-global-footer__legal li::after,
#site-footer.mc24-global-footer .mc24-global-footer__legal li::marker {
	content: none;
}

#site-footer.mc24-global-footer .mc24-global-footer__legal a {
	display: inline-flex;
	min-height: 44px;
	padding: 10px 0;
	align-items: center;
	color: var(--mc24-color-text-on-dark);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

#site-footer.mc24-global-footer .mc24-global-footer__legal a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

#site-footer.mc24-global-footer .mc24-global-footer__legal a:focus-visible {
	outline: 3px solid var(--mc24-color-focus);
	outline-offset: 3px;
}

@media (max-width: 680px) {
	#site-footer.mc24-global-footer .mc24-global-footer__inner {
		width: min(100% - 40px, 1240px);
		padding: 30px 0;
		align-items: flex-start;
		flex-direction: column;
		gap: 18px;
	}

	#site-footer.mc24-global-footer .mc24-global-footer__legal ul {
		justify-content: flex-start;
		gap: 2px 18px;
	}
}

/*
 * WP-DS-02: canonical global button component.
 *
 * The mc24-c-* classes are the governed API. Existing page-specific classes
 * remain as documented compatibility aliases until their markup can be
 * retired without changing content, URLs, JavaScript hooks, or plugin code.
 * Targeted !important declarations are intentional: several legacy variants
 * are emitted after this stylesheet in page-local and plugin-owned CSS.
 */
:is(
	.mc24-c-button,
	.v4-btn,
	body.page-id-499 .mc24-preparation-content .wp-block-button__link,
	.wpb01__button,
	.mpu-btn,
	.mpu-submit,
	.mc24-blog-v3__button,
	.dx1-button,
	.mc24-firstcall .mc24-button,
	.wpcf7-form .wpcf7-submit
) {
	box-sizing: border-box !important;
	display: inline-flex !important;
	min-height: 52px !important;
	max-width: 100%;
	padding: 14px 24px !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	border-width: 1px !important;
	border-style: solid !important;
	border-radius: 4px !important;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.01em !important;
	text-align: center;
	text-decoration: none !important;
	vertical-align: middle;
	cursor: pointer;
	overflow-wrap: normal;
	transition:
		background-color 160ms ease-out,
		border-color 160ms ease-out,
		color 160ms ease-out,
		box-shadow 160ms ease-out,
		transform 160ms ease-out !important;
}

:is(
	.mc24-c-button--primary,
	.v4-btn:not(.v4-btn--ghost),
	body.page-id-499 .mc24-preparation-content .wp-block-button:not(.is-style-outline) .wp-block-button__link,
	.wpb01__button,
	.mpu-btn:not(.mpu-btn-light),
	.mpu-submit,
	.mc24-blog-v3__button--gold,
	.dx1-button--gold,
	.mc24-firstcall .mc24-button--gold,
	.wpcf7-form .wpcf7-submit
) {
	border-color: var(--mc24-color-brand-accent) !important;
	background: var(--mc24-color-brand-accent) !important;
	color: var(--mc24-color-text-on-accent) !important;
}

:is(
	.mc24-c-button--secondary,
	.v4-btn--ghost,
	body.page-id-499 .mc24-preparation-content .is-style-outline .wp-block-button__link,
	.mpu-btn-light,
	.dx1-button--ghost,
	.mc24-firstcall .mc24-button--light,
	.mc24-firstcall .mc24-button--ghost
) {
	border-color: var(--mc24-color-brand-primary) !important;
	background: transparent !important;
	color: var(--mc24-color-brand-primary) !important;
}

/* The governed Secondary inverse treatment is limited to dark surfaces. */
:is(
	.v4-hero .v4-btn--ghost,
	body.page-id-499 .mc24-prep-hero .is-style-outline .wp-block-button__link,
	.dx1-button--ghost,
	.mc24-firstcall-hero .mc24-button--light
) {
	border-color: var(--mc24-color-text-on-dark) !important;
	background: transparent !important;
	color: var(--mc24-color-text-on-dark) !important;
}

:is(
	.mc24-c-button--primary,
	.v4-btn:not(.v4-btn--ghost),
	body.page-id-499 .mc24-preparation-content .wp-block-button:not(.is-style-outline) .wp-block-button__link,
	.wpb01__button,
	.mpu-btn:not(.mpu-btn-light),
	.mpu-submit,
	.mc24-blog-v3__button--gold,
	.dx1-button--gold,
	.mc24-firstcall .mc24-button--gold,
	.wpcf7-form .wpcf7-submit
):hover {
	border-color: var(--mc24-color-brand-accent) !important;
	background: var(--mc24-color-brand-accent) !important;
	color: var(--mc24-color-text-on-accent) !important;
	box-shadow: 0 4px 12px rgba(12, 38, 56, 0.16);
	transform: translateY(-1px) !important;
}

:is(
	.mc24-c-button--secondary,
	.v4-btn--ghost,
	body.page-id-499 .mc24-preparation-content .is-style-outline .wp-block-button__link,
	.mpu-btn-light,
	.mc24-firstcall .mc24-button--ghost
):hover {
	border-color: var(--mc24-color-brand-primary) !important;
	background: var(--mc24-color-surface-muted) !important;
	color: var(--mc24-color-brand-primary) !important;
	box-shadow: 0 4px 12px rgba(12, 38, 56, 0.12);
	transform: translateY(-1px) !important;
}

:is(
	.v4-hero .v4-btn--ghost,
	body.page-id-499 .mc24-prep-hero .is-style-outline .wp-block-button__link,
	.dx1-button--ghost,
	.mc24-firstcall-hero .mc24-button--light
):hover {
	border-color: var(--mc24-color-text-on-dark) !important;
	background: rgba(255, 255, 255, 0.1) !important;
	color: var(--mc24-color-text-on-dark) !important;
	box-shadow: none;
	transform: translateY(-1px) !important;
}

:is(
	.mc24-c-button,
	.v4-btn,
	body.page-id-499 .mc24-preparation-content .wp-block-button__link,
	.wpb01__button,
	.mpu-btn,
	.mpu-submit,
	.mc24-blog-v3__button,
	.dx1-button,
	.mc24-firstcall .mc24-button,
	.wpcf7-form .wpcf7-submit
):focus-visible {
	outline: 3px solid var(--mc24-color-focus) !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px var(--mc24-color-brand-primary) !important;
}

:is(
	.mc24-c-button,
	.v4-btn,
	body.page-id-499 .mc24-preparation-content .wp-block-button__link,
	.wpb01__button,
	.mpu-btn,
	.mpu-submit,
	.mc24-blog-v3__button,
	.dx1-button,
	.mc24-firstcall .mc24-button,
	.wpcf7-form .wpcf7-submit
):active {
	box-shadow: none;
	transform: none !important;
}

:is(
	.mc24-c-button,
	.v4-btn,
	body.page-id-499 .mc24-preparation-content .wp-block-button__link,
	.wpb01__button,
	.mpu-btn,
	.mpu-submit,
	.mc24-blog-v3__button,
	.dx1-button,
	.mc24-firstcall .mc24-button,
	.wpcf7-form .wpcf7-submit
):is([disabled], [aria-disabled="true"]) {
	border-color: var(--mc24-color-border-strong) !important;
	background: var(--mc24-color-disabled-bg) !important;
	color: var(--mc24-color-disabled-text) !important;
	box-shadow: none !important;
	cursor: not-allowed;
	opacity: 1 !important;
	pointer-events: none;
	transform: none !important;
}

:is(.mc24-c-link, .mc24-blog-v3__read-more) {
	display: inline-flex !important;
	min-height: 44px;
	align-items: center;
	gap: 8px !important;
	color: var(--mc24-color-link) !important;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.4;
	letter-spacing: 0.01em;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 4px !important;
}

:is(.mc24-c-link, .mc24-blog-v3__read-more):hover {
	color: var(--mc24-color-link-hover) !important;
	text-decoration-thickness: 2px !important;
}

:is(.mc24-c-link, .mc24-blog-v3__read-more):focus-visible {
	border-radius: 2px;
	outline: 3px solid var(--mc24-color-focus) !important;
	outline-offset: 3px !important;
}

.mc24-blog-v3__read-more span:last-child,
.mc24-blog-v3__read-more:hover span:last-child {
	transition: none !important;
	transform: none !important;
}

@media (max-width: 767.98px) {
	:is(
		.v4-btns,
		.mc24-prep-actions,
		.mpu-actions,
		.dx1-actions,
		.mc24-firstcall-actions
	) {
		gap: 12px !important;
	}

	:is(
		.v4-btns .v4-btn,
		.mc24-prep-actions .wp-block-button,
		.mc24-prep-actions .wp-block-button__link,
		.wpb01__actions .wpb01__button,
		.mpu-actions .mpu-btn,
		.dx1-actions .dx1-button,
		.mc24-firstcall-actions .mc24-button,
		.mc24-blog-v3__final .mc24-blog-v3__button
	) {
		width: 100% !important;
	}
}

/*
 * WP-DS-04A: dark-hero context for the existing WP-DS-02 Secondary button.
 * State colors only; text, target, geometry, typography, and CTA order stay intact.
 */
body.page-id-412 .mpu-hero .mpu-btn.mpu-btn-light,
body.page-id-412 .mpu-hero .mpu-btn.mpu-btn-light:link,
body.page-id-412 .mpu-hero .mpu-btn.mpu-btn-light:visited {
	border-color: rgba(255, 255, 255, 0.82) !important;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #ffffff !important;
	opacity: 1 !important;
}

body.page-id-412 .mpu-hero .mpu-btn.mpu-btn-light:hover,
body.page-id-412 .mpu-hero .mpu-btn.mpu-btn-light:focus,
body.page-id-412 .mpu-hero .mpu-btn.mpu-btn-light:focus-visible {
	border-color: #ffffff !important;
	background: #ffffff !important;
	color: #0c2638 !important;
	opacity: 1 !important;
}

body.page-id-412 .mpu-hero .mpu-btn.mpu-btn-light:active {
	border-color: #ffffff !important;
	background: #f7fafc !important;
	color: #0c2638 !important;
	opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
	:is(
		.mc24-c-button,
		.v4-btn,
		body.page-id-499 .mc24-preparation-content .wp-block-button__link,
		.wpb01__button,
		.mpu-btn,
		.mpu-submit,
		.mc24-blog-v3__button,
		.dx1-button,
		.mc24-firstcall .mc24-button,
		.wpcf7-form .wpcf7-submit
	) {
		transition: none !important;
	}
}

/* ==========================================================================
   WP-DS-07: final active-source color integration
   Page-local assets load after the child theme. These narrowly scoped,
   color-only compatibility rules neutralize their competing palettes while
   preserving every component's geometry, markup, text and behavior.
   ========================================================================== */

/* One predictable light-page hierarchy. */
html body main :is(h1, h2, h3, h4) {
	color: var(--mc24-color-brand-primary) !important;
}

html body:is(.page-id-231, .page-id-647, .page-id-649, .page-id-758) main {
	background-color: var(--mc24-color-bg-primary);
	color: var(--mc24-color-text-primary);
}

html body main a:not(
	.mc24-c-button,
	.v4-btn,
	.wpb01__button,
	.mpu-btn,
	.mc24-blog-v3__button,
	.dx1-button,
	.mc24-button,
	.wp-block-button__link,
	.wpcf7-submit,
	.mpuk__primary,
	.mpuk__start,
	.mpu-topic,
	.mc24-blog-v3__media
):link,
html body main a:not(
	.mc24-c-button,
	.v4-btn,
	.wpb01__button,
	.mpu-btn,
	.mc24-blog-v3__button,
	.dx1-button,
	.mc24-button,
	.wp-block-button__link,
	.wpcf7-submit,
	.mpuk__primary,
	.mpuk__start,
	.mpu-topic,
	.mc24-blog-v3__media
):visited {
	color: var(--mc24-color-link) !important;
}

html body main a:not(
	.mc24-c-button,
	.v4-btn,
	.wpb01__button,
	.mpu-btn,
	.mc24-blog-v3__button,
	.dx1-button,
	.mc24-button,
	.wp-block-button__link,
	.wpcf7-submit,
	.mpuk__primary,
	.mpuk__start,
	.mpu-topic,
	.mc24-blog-v3__media
):hover {
	color: var(--mc24-color-link-hover) !important;
}

html body main a:not(
	.mc24-c-button,
	.v4-btn,
	.wpb01__button,
	.mpu-btn,
	.mc24-blog-v3__button,
	.dx1-button,
	.mc24-button,
	.wp-block-button__link,
	.wpcf7-submit,
	.mpuk__primary,
	.mpuk__start,
	.mpu-topic,
	.mc24-blog-v3__media
):active {
	color: var(--mc24-color-active) !important;
}

/* Registered dark surface replaces five competing near-black/navy swatches. */
html body :is(
	.v4-proof,
	.v4-dark,
	.wpb01__dark,
	.mpu-hero,
	.mpu-orientation,
	.mc24-blog-v3__final,
	.dx1-section--ink,
	.dx1-final
) {
	background-color: var(--mc24-color-bg-dark) !important;
}

html body.home .v4-hero :is(h1, .v4-lead),
html body.home .v4-proof :is(h2, p),
html body.home .mpu24-process__intro :is(h2, p),
html body.home .mpu24-process-cta :is(h2, h3, p, a),
html body.page-id-499 .mc24-prep-hero :is(h1, h2, p),
html body.page-id-634 .wpb01__dark :is(h2, h3, p, li, blockquote),
html body.page-id-412 .mpu-hero :is(h1, h2, p),
html body.page-id-412 .mpu-orientation :is(h2, h3, p, li),
html body.blog .mc24-blog-v3__hero :is(h1, h2, p),
html body.blog .mc24-blog-v3__final :is(h2, h3, p),
html body.page-id-934 :is(.dx1-section--ink, .dx1-final) :is(h2, h3, p, li),
html body.page-id-963 .mc24-firstcall-hero :is(h1, h2, p, li) {
	color: var(--mc24-color-text-on-dark) !important;
}

html body :is(
	.v4-hero,
	.v4-proof,
	.v4-dark,
	.wpb01__dark,
	.mpu-hero,
	.mpu-orientation,
	.mc24-blog-v3__hero,
	.mc24-blog-v3__final,
	.dx1-section--ink,
	.dx1-final,
	.mc24-firstcall-hero
) :is(.v4-kicker, .wpb01__eyebrow, .mpu-kicker, .mc24-blog-v3__kicker, .dx1-eyebrow, .mc24-eyebrow) {
	color: var(--mc24-color-brand-accent) !important;
}

html body :is(
	.v4-proof,
	.v4-dark,
	.wpb01__dark,
	.mpu-hero,
	.mpu-orientation,
	.mc24-blog-v3__hero,
	.mc24-blog-v3__final,
	.dx1-section--ink,
	.dx1-final,
	.mc24-firstcall-hero
) a:not(.mc24-c-button):not(.v4-btn):not(.mpu-btn):not(.mc24-blog-v3__button):not(.dx1-button):not(.mc24-button) {
	color: var(--mc24-color-text-on-dark) !important;
}

html body :is(
	.v4-proof,
	.v4-dark,
	.wpb01__dark,
	.mpu-hero,
	.mpu-orientation,
	.mc24-blog-v3__hero,
	.mc24-blog-v3__final,
	.dx1-section--ink,
	.dx1-final,
	.mc24-firstcall-hero
) a:not(.mc24-c-button):not(.v4-btn):not(.mpu-btn):not(.mc24-blog-v3__button):not(.dx1-button):not(.mc24-button):hover {
	color: var(--mc24-color-brand-accent) !important;
}

/* Accent on light surfaces uses the registered AA-capable warning tone. */
html body main :is(
	.v4-card__no,
	.mpu-kicker,
	.mc24-blog-v3__kicker,
	.dx1-eyebrow,
	.mpuk__kicker,
	.mc24-eyebrow--gold
) {
	color: var(--mc24-color-warning) !important;
}

/* Consolidated registered light surfaces. */
html body :is(.v4-soft, .mpu-process, .dx1-section--soft, .dx1-privacy, .wpb01__sand) {
	background-color: var(--mc24-color-bg-secondary) !important;
}

html body :is(
	.wpb01__soft,
	.mc24-section--soft,
	.mc24-blog-v3__media,
	.mc24-firstcall-trust,
	.mc24-firstcall-trust__grid
) {
	background-color: var(--mc24-color-surface-muted) !important;
}

/* Form colors only; field geometry and plugin behavior remain untouched. */
html body main :is(input, textarea, select) {
	border-color: var(--mc24-color-border-strong);
	background-color: var(--mc24-color-surface);
	color: var(--mc24-color-text-primary);
}

html body main :is(input, textarea, select)::placeholder {
	color: var(--mc24-color-text-muted);
	opacity: 1;
}

html body main :is(input, textarea, select):focus-visible {
	border-color: var(--mc24-color-brand-secondary);
	outline: 3px solid var(--mc24-color-focus);
	outline-offset: 2px;
	box-shadow: 0 0 0 2px var(--mc24-color-brand-primary);
}

html body .wpcf7-not-valid-tip,
html body.page-id-934 :is(.mpuk__validation, .mpuk__status--error) {
	color: var(--mc24-color-error) !important;
}

html body .wpcf7 form.invalid .wpcf7-response-output,
html body .wpcf7 form.unaccepted .wpcf7-response-output,
html body .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: var(--mc24-color-error);
	color: var(--mc24-color-error);
}

html body .wpcf7 form.sent .wpcf7-response-output,
html body.page-id-934 .mpuk__hx-feedback {
	border-color: var(--mc24-color-success);
	color: var(--mc24-color-success);
}

/* Consistent visible keyboard focus without changing component dimensions. */
html body :is(a, button, input, textarea, select, summary):focus-visible {
	outline-color: var(--mc24-color-focus);
}

html body main :is(a, button, input, textarea, select, summary):focus-visible {
	outline-style: solid;
	outline-width: 3px;
	outline-offset: 1px;
	box-shadow: 0 0 0 5px var(--mc24-color-brand-primary);
}

/* ==========================================================================
   MPU-COACH24 canonical typography system — WP-DS-04
   Geometry, color, CTA hierarchy, and component spacing remain untouched.
   ========================================================================== */

:root {
	--mc24-type-family-primary: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--mc24-type-family-display: Georgia, "Times New Roman", serif;
	--mc24-type-family-fallback: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;

	--mc24-type-h1-size: 64px;
	--mc24-type-h1-line-height: 1.05;
	--mc24-type-h1-weight: 500;
	--mc24-type-h1-letter-spacing: -0.025em;
	--mc24-type-h1-max-width: 15ch;

	--mc24-type-h2-size: 44px;
	--mc24-type-h2-line-height: 1.12;
	--mc24-type-h2-weight: 500;
	--mc24-type-h2-letter-spacing: -0.02em;
	--mc24-type-h2-max-width: 22ch;

	--mc24-type-h3-size: 28px;
	--mc24-type-h3-line-height: 1.25;
	--mc24-type-h3-weight: 600;
	--mc24-type-h3-letter-spacing: -0.01em;
	--mc24-type-h3-max-width: 32ch;

	--mc24-type-h4-size: 21px;
	--mc24-type-h4-line-height: 1.35;
	--mc24-type-h4-weight: 600;
	--mc24-type-h4-letter-spacing: -0.005em;
	--mc24-type-h4-max-width: 40ch;

	--mc24-type-lead-size: 21px;
	--mc24-type-lead-line-height: 1.55;
	--mc24-type-lead-max-width: 62ch;
	--mc24-type-body-large-size: 18px;
	--mc24-type-body-size: 17px;
	--mc24-type-body-mobile-size: 16px;
	--mc24-type-body-line-height: 1.65;
	--mc24-type-body-max-width: 68ch;
	--mc24-type-body-small-size: 15px;
	--mc24-type-body-small-line-height: 1.55;
	--mc24-type-body-small-max-width: 72ch;
	--mc24-type-caption-size: 14px;
	--mc24-type-caption-line-height: 1.45;
	--mc24-type-caption-letter-spacing: 0.01em;
	--mc24-type-caption-max-width: 60ch;
	--mc24-type-label-size: 13px;
	--mc24-type-label-line-height: 1.35;
	--mc24-type-label-letter-spacing: 0.08em;
	--mc24-type-label-max-width: 32ch;
	--mc24-type-button-size: 16px;
	--mc24-type-button-line-height: 1.2;
	--mc24-type-button-letter-spacing: 0.01em;
	--mc24-type-navigation-size: 16px;
	--mc24-type-navigation-mobile-size: 17px;
	--mc24-type-navigation-line-height: 1.3;
}

body {
	font-family: var(--mc24-type-family-primary);
	font-size: var(--mc24-type-body-size);
	font-weight: 400;
	line-height: var(--mc24-type-body-line-height);
	letter-spacing: 0;
}

body h1,
body .mc24-type-h1 {
	max-width: var(--mc24-type-h1-max-width);
	font-family: var(--mc24-type-family-display);
	font-size: var(--mc24-type-h1-size);
	font-weight: var(--mc24-type-h1-weight);
	line-height: var(--mc24-type-h1-line-height);
	letter-spacing: var(--mc24-type-h1-letter-spacing);
	text-wrap: balance;
}

body h2,
body .mc24-type-h2 {
	max-width: var(--mc24-type-h2-max-width);
	font-family: var(--mc24-type-family-display);
	font-size: var(--mc24-type-h2-size);
	font-weight: var(--mc24-type-h2-weight);
	line-height: var(--mc24-type-h2-line-height);
	letter-spacing: var(--mc24-type-h2-letter-spacing);
	text-wrap: balance;
}

body h3,
body .mc24-type-h3 {
	max-width: var(--mc24-type-h3-max-width);
	font-family: var(--mc24-type-family-primary);
	font-size: var(--mc24-type-h3-size);
	font-weight: var(--mc24-type-h3-weight);
	line-height: var(--mc24-type-h3-line-height);
	letter-spacing: var(--mc24-type-h3-letter-spacing);
	text-wrap: balance;
}

body h4,
body .mc24-type-h4 {
	max-width: var(--mc24-type-h4-max-width);
	font-family: var(--mc24-type-family-primary);
	font-size: var(--mc24-type-h4-size);
	font-weight: var(--mc24-type-h4-weight);
	line-height: var(--mc24-type-h4-line-height);
	letter-spacing: var(--mc24-type-h4-letter-spacing);
}

body :is(p, li, blockquote) {
	font-family: var(--mc24-type-family-primary);
}

body :is(.mc24-type-lead, .v4-lead, .wpb01__lead, .mc24-prep-lead, .mpu-lead, .mc24-firstcall-lead) {
	max-width: var(--mc24-type-lead-max-width);
	font-size: var(--mc24-type-lead-size);
	font-weight: 400;
	line-height: var(--mc24-type-lead-line-height);
	letter-spacing: 0;
}

body .mc24-type-body-large {
	max-width: var(--mc24-type-body-max-width);
	font-size: var(--mc24-type-body-large-size);
	font-weight: 400;
	line-height: var(--mc24-type-body-line-height);
	letter-spacing: 0;
}

body :is(.entry-content > p, .mc24-type-body) {
	max-width: var(--mc24-type-body-max-width);
	font-size: var(--mc24-type-body-size);
	font-weight: 400;
	line-height: var(--mc24-type-body-line-height);
	letter-spacing: 0;
}

body :is(.mc24-type-body-small, small) {
	max-width: var(--mc24-type-body-small-max-width);
	font-size: var(--mc24-type-body-small-size);
	font-weight: 400;
	line-height: var(--mc24-type-body-small-line-height);
	letter-spacing: 0;
}

body :is(.mc24-type-caption, figcaption, .wp-element-caption, .mc24-blog-v3__meta) {
	max-width: var(--mc24-type-caption-max-width);
	font-family: var(--mc24-type-family-primary);
	font-size: var(--mc24-type-caption-size);
	font-weight: 400;
	line-height: var(--mc24-type-caption-line-height);
	letter-spacing: var(--mc24-type-caption-letter-spacing);
}

body :is(.mc24-type-label, label, .v4-eyebrow, .wpb01__eyebrow, .mc24-prep-eyebrow, .mpu-eyebrow, .mc24-firstcall-eyebrow) {
	max-width: var(--mc24-type-label-max-width);
	font-family: var(--mc24-type-family-primary);
	font-size: var(--mc24-type-label-size);
	font-weight: 600;
	line-height: var(--mc24-type-label-line-height);
	letter-spacing: var(--mc24-type-label-letter-spacing);
}

body :is(#site-header nav a, #site-header .menu-item a, .mobile-navigation a) {
	font-family: var(--mc24-type-family-primary);
	font-size: var(--mc24-type-navigation-size);
	font-weight: 600;
	line-height: var(--mc24-type-navigation-line-height);
	letter-spacing: 0;
}

/* WP-DS-02 protection: typography token only; geometry and states are unchanged. */
body :is(
	.mc24-c-button,
	.v4-btn,
	.mc24-preparation-content .wp-block-button__link,
	.wpb01__button,
	.mpu-btn,
	.mpu-submit,
	.mc24-blog-v3__button,
	.dx1-button,
	.mc24-firstcall .mc24-button,
	.wpcf7-form .wpcf7-submit
) {
	font-family: var(--mc24-type-family-primary);
	font-size: var(--mc24-type-button-size);
	font-weight: 600;
	line-height: var(--mc24-type-button-line-height);
	letter-spacing: var(--mc24-type-button-letter-spacing);
}

@media (max-width: 767.98px) {
	:root {
		--mc24-type-h1-size: 42px;
		--mc24-type-h2-size: 32px;
		--mc24-type-h3-size: 24px;
		--mc24-type-h4-size: 19px;
		--mc24-type-lead-size: 19px;
	}

	body {
		font-size: var(--mc24-type-body-mobile-size);
	}

	body :is(.entry-content > p, .mc24-type-body) {
		font-size: var(--mc24-type-body-mobile-size);
	}

	body :is(#site-header nav a, #site-header .menu-item a, .mobile-navigation a) {
		font-size: var(--mc24-type-navigation-mobile-size);
	}
}

/* ==========================================================================
   WP-DS-05: canonical global spacing and layout system
   Layout axes only. Typography, colors, cards, buttons and CTA semantics stay
   governed by their existing systems.
   ========================================================================== */

:root {
	--mc24-space-xxs: 4px;
	--mc24-space-xs: 8px;
	--mc24-space-s: 12px;
	--mc24-space-m: 16px;
	--mc24-space-l: 24px;
	--mc24-space-xl: 32px;
	--mc24-space-2xl: 48px;
	--mc24-space-3xl: 64px;

	--mc24-section-space-small: 48px;
	--mc24-section-space-standard: 64px;
	--mc24-section-space-large: 80px;

	--mc24-container-padding: 20px;
	--mc24-container-width-standard: 1240px;
	--mc24-container-width-narrow: 720px;
	--mc24-container-width-wide: 1360px;
	--mc24-text-width: 68ch;
	--mc24-grid-gap: 16px;
}

/* Canonical API for future governed markup. */
.mc24-l-container,
.mc24-l-container--narrow,
.mc24-l-container--wide {
	box-sizing: border-box;
	width: 100%;
	margin-inline: auto;
	padding-inline: var(--mc24-container-padding);
}

.mc24-l-container {
	max-width: calc(var(--mc24-container-width-standard) + (2 * var(--mc24-container-padding)));
}

.mc24-l-container--narrow {
	max-width: calc(var(--mc24-container-width-narrow) + (2 * var(--mc24-container-padding)));
}

.mc24-l-container--wide {
	max-width: calc(var(--mc24-container-width-wide) + (2 * var(--mc24-container-padding)));
}

.mc24-l-section {
	padding-block: var(--mc24-section-space-standard);
}

.mc24-l-section--small {
	padding-block: var(--mc24-section-space-small);
}

.mc24-l-section--large {
	padding-block: var(--mc24-section-space-large);
}

.mc24-l-grid {
	gap: var(--mc24-grid-gap);
}

/*
 * Migration compatibility: the named containers are the confirmed content
 * boundaries on the eleven audited pages. Targeted !important declarations
 * only resolve existing page-inline width and gutter competition.
 */
body :is(
	.v4-wrap,
	.mc24-preparation-content .wp-block-group__inner-container,
	.wpb01__inner,
	.mpu-shell,
	.mpu-final-inner,
	.mc24-blog-v3__shell,
	.mc24-blog-v3__final-inner,
	.dx1-shell,
	.mc24-container,
	main.wrapper-std
) {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: calc(var(--mc24-container-width-standard) + (2 * var(--mc24-container-padding))) !important;
	margin-inline: auto !important;
	padding-inline: var(--mc24-container-padding) !important;
}

/* Legal and contact long-form copy use the approved narrow reading measure. */
body:is(.page-id-231, .page-id-647, .page-id-649, .page-id-758) main.wrapper-std .entry-content {
	width: 100%;
	max-width: var(--mc24-container-width-narrow);
	margin-inline: auto;
}

/* Standard sections: one vertical rhythm across the existing page systems. */
body :is(
	.v4-section,
	.mc24-prep-section,
	.wpb01__section,
	.mc24-blog-v3__section,
	.dx1-section,
	.mc24-section
) {
	box-sizing: border-box;
	padding-block: var(--mc24-section-space-standard) !important;
}

/* Heroes are the sole audited large-section use case. */
body :is(
	.v4-hero,
	.mc24-prep-hero,
	.wpb01__hero,
	.mpu-hero,
	.mc24-blog-v3__hero,
	.dx1-hero,
	.mc24-firstcall-hero
) {
	box-sizing: border-box;
	padding-block: var(--mc24-section-space-large) !important;
}

/* Confirmed shared grids receive only the canonical gap, not card styling. */
body :is(
	.v4-grid4,
	.v4-proof__grid,
	.v4-split,
	.mpu24-process-grid,
	.mpu24-final-conversion__grid,
	.mc24-prep-grid,
	.wpb01__grid,
	.wpb01__hero-grid,
	.wpb01__story-grid,
	.mpu-hero-grid,
	.mpu-understand-grid,
	.mpu-trust-grid,
	.mpu-form-layout,
	.mc24-blog-v3__grid,
	.mc24-blog-v3__hero-grid,
	.dx1-hero__grid,
	.dx1-privacy__grid,
	.mc24-firstcall-grid,
	.mc24-firstcall-hero__grid,
	.mc24-firstcall-trust__grid,
	.mc24-firstcall-contact__grid,
	.mc24-firstcall-split
) {
	column-gap: var(--mc24-grid-gap) !important;
	row-gap: var(--mc24-grid-gap) !important;
}

/* Type-to-content rhythm; type metrics themselves remain untouched. */
body main :is(
	.v4-eyebrow,
	.mc24-prep-eyebrow,
	.wpb01__eyebrow,
	.mpu-eyebrow,
	.mc24-blog-v3__eyebrow,
	.dx1-eyebrow,
	.mc24-firstcall-eyebrow
) {
	margin-block-end: var(--mc24-space-s);
}

body main :is(h1, h2) + :is(
	.v4-lead,
	.mc24-prep-lead,
	.wpb01__lead,
	.mpu-lead,
	.mc24-blog-v3__lead,
	.dx1-lead,
	.mc24-firstcall-lead,
	p
) {
	margin-block-start: var(--mc24-space-m);
}

body main :is(
	.v4-lead,
	.mc24-prep-lead,
	.wpb01__lead,
	.mpu-lead,
	.mc24-blog-v3__lead,
	.dx1-lead,
	.mc24-firstcall-lead
) + :is(
	.v4-btns,
	.mc24-prep-actions,
	.wpb01__actions,
	.mpu-actions,
	.mc24-blog-v3__actions,
	.dx1-actions,
	.mc24-firstcall-actions
) {
	margin-block-start: var(--mc24-space-l);
}

body main :where(p + p, p + ul, p + ol, ul + p, ol + p) {
	margin-block-start: var(--mc24-space-m);
}

@media (max-width: 767.98px) {
	/* Deliberate one-column composition for structural two-column modules. */
	body :is(
		.v4-split,
		.wpb01__hero-grid,
		.wpb01__story-grid,
		.mpu-hero-grid,
		.mpu-understand-grid,
		.mpu-form-layout,
		.mc24-blog-v3__hero-grid,
		.dx1-hero__grid,
		.dx1-privacy__grid,
		.mc24-firstcall-hero__grid,
		.mc24-firstcall-contact__grid,
		.mc24-firstcall-split
	) {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (min-width: 768px) {
	:root {
		--mc24-section-space-small: 56px;
		--mc24-section-space-standard: 80px;
		--mc24-section-space-large: 104px;
		--mc24-container-padding: 32px;
		--mc24-grid-gap: 20px;
	}
}

@media (min-width: 1024px) {
	:root {
		--mc24-section-space-small: 64px;
		--mc24-section-space-standard: 96px;
		--mc24-section-space-large: 128px;
		--mc24-container-padding: 40px;
		--mc24-grid-gap: 24px;
	}
}

/* ==========================================================================
   WP-DS-06: canonical global card and content-component system
   Component geometry only. Content, typography, global spacing, color
   governance, buttons, CTAs and form behavior remain unchanged.
   ========================================================================== */

:root {
	--mc24-card-surface: var(--mc24-color-surface);
	--mc24-card-surface-muted: var(--mc24-color-surface-muted);
	--mc24-card-border: var(--mc24-color-border);
	--mc24-card-radius: 8px;
	--mc24-card-padding: var(--mc24-space-l);
	--mc24-card-shadow: none;
	--mc24-card-interaction-shift: -2px;
}

/* Canonical component API for governed markup. */
:is(
	.mc24-c-card,
	.mc24-c-process-card,
	.mc24-c-article-card,
	.mc24-c-notice,
	.mc24-c-form
) {
	box-sizing: border-box;
	min-width: 0;
	height: auto;
	min-height: 0;
	border: 1px solid var(--mc24-card-border);
	border-radius: var(--mc24-card-radius);
	background: var(--mc24-card-surface);
	box-shadow: var(--mc24-card-shadow);
}

:is(.mc24-c-card, .mc24-c-process-card, .mc24-c-form) {
	padding: var(--mc24-card-padding);
}

.mc24-c-article-card {
	overflow: hidden;
	transition: border-color 180ms ease-out, transform 180ms ease-out;
}

.mc24-c-article-card:is(:hover, :focus-within) {
	transform: translateY(var(--mc24-card-interaction-shift));
}

.mc24-c-article-card:focus-within {
	outline: 3px solid var(--mc24-color-focus);
	outline-offset: 3px;
}

:is(.mc24-c-feature-list, .mc24-c-check-list) {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mc24-c-notice {
	padding: var(--mc24-space-l);
	background: var(--mc24-card-surface-muted);
}

/*
 * Compatibility mapping for the active audited sources. These selectors are
 * intentionally page-scoped and specific because several page assets load
 * after the child stylesheet. They replace visual fragmentation without
 * changing source markup, semantics, text, links or functional hooks.
 */
html body :is(
	.v4-card,
	.wpb01__card,
	.mpu-trust-item,
	.mc24-firstcall-card
),
html body.page-id-499 .mc24-preparation-content :is(
	.mc24-prep-grid > li,
	.mc24-prep-trust-list > li
),
html body.page-id-934 main .dx1-cards > article {
	box-sizing: border-box !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	padding: var(--mc24-card-padding) !important;
	border: 1px solid var(--mc24-card-border) !important;
	border-radius: var(--mc24-card-radius) !important;
	background: var(--mc24-card-surface) !important;
	box-shadow: var(--mc24-card-shadow) !important;
	transform: none !important;
}

html body :is(
	.mpu24-process-card,
	.mpu-step,
	.mc24-firstcall-step
),
html body.page-id-499 .mc24-preparation-content .mc24-prep-steps > li,
html body.page-id-934 main .dx1-steps > li {
	box-sizing: border-box !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	padding: var(--mc24-card-padding) !important;
	border: 1px solid var(--mc24-card-border) !important;
	border-radius: var(--mc24-card-radius) !important;
	background: var(--mc24-card-surface) !important;
	box-shadow: var(--mc24-card-shadow) !important;
	transform: none !important;
}

/* The former inverse process cards now use the registered process surface. */
html body .mpu24-process-card :is(h3, h4, p) {
	color: var(--mc24-color-text-primary) !important;
}

html body .mpu24-process-card .mpu24-process-number {
	color: var(--mc24-color-brand-accent) !important;
}

/* Article is the sole audited card archetype with motion feedback. */
html body.blog main .mc24-blog-v3__card {
	box-sizing: border-box !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: hidden !important;
	border: 1px solid var(--mc24-card-border) !important;
	border-radius: var(--mc24-card-radius) !important;
	background: var(--mc24-card-surface) !important;
	box-shadow: var(--mc24-card-shadow) !important;
	transition: border-color 180ms ease-out, transform 180ms ease-out !important;
}

html body.blog main .mc24-blog-v3__card-body {
	padding: var(--mc24-space-l) !important;
}

html body.blog main .mc24-blog-v3__card:is(:hover, :focus-within) {
	transform: translateY(var(--mc24-card-interaction-shift)) !important;
}

html body.blog main .mc24-blog-v3__card:focus-within {
	outline: 3px solid var(--mc24-color-focus);
	outline-offset: 3px;
}

/* Form containers are visual shells only; fields and behavior are untouched. */
html body.page-id-412 main .mpu-contact-form {
	box-sizing: border-box !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	padding: var(--mc24-card-padding) !important;
	border: 1px solid var(--mc24-card-border) !important;
	border-radius: var(--mc24-card-radius) !important;
	background: var(--mc24-card-surface) !important;
	box-shadow: var(--mc24-card-shadow) !important;
}

html body.page-id-963 main .mc24-firstcall-form {
	box-sizing: border-box !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	padding: var(--mc24-card-padding) !important;
	border: 1px solid var(--mc24-card-border) !important;
	border-radius: var(--mc24-card-radius) !important;
	background: var(--mc24-card-surface) !important;
	box-shadow: var(--mc24-card-shadow) !important;
}

/* Flat trust facts remain facts, not a new decorative card variant. */
html body :is(
	.v4-proof__grid > article,
	.mc24-blog-v3__trust-list > li,
	.mpu-trust-item,
	.mc24-firstcall-trust__grid > li
) {
	box-sizing: border-box;
	min-width: 0;
	box-shadow: none !important;
	transform: none !important;
}

/* Registered neutral notice treatment; the dark factual panel stays inverse. */
html body :is(.mpu24-process-note) {
	box-sizing: border-box !important;
	padding: var(--mc24-space-l) !important;
	border: 1px solid var(--mc24-card-border) !important;
	border-radius: var(--mc24-card-radius) !important;
	background: var(--mc24-card-surface-muted) !important;
	color: var(--mc24-color-text-secondary) !important;
	box-shadow: none !important;
}

html body .mc24-firstcall-futurecard {
	border-radius: var(--mc24-card-radius) !important;
	box-shadow: none !important;
}

/* WP-CONTACT-02: canonical premium contact presentation on page 231 only. */
html body.page-id-231 {
	--mpu-contact-navy: #071d3b;
	--mpu-contact-navy-2: #0d2e55;
	--mpu-contact-gold: #d89a12;
	--mpu-contact-ink: #182637;
	--mpu-contact-muted: #5b6878;
}

html body.page-id-231 main .mpu-premium-contact {
	box-sizing: border-box;
	width: 100vw;
	max-width: none;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding: clamp(72px, 9vw, 140px) 0 clamp(90px, 11vw, 170px);
	overflow: clip;
	background: #fff;
	color: var(--mpu-contact-ink);
}

html body.page-id-231 main .mpu-premium-contact *,
html body.page-id-231 main .mpu-premium-contact *::before,
html body.page-id-231 main .mpu-premium-contact *::after {
	box-sizing: border-box;
}

html body.page-id-231 main .mpu-premium-contact .mpu-shell {
	width: min(1120px, calc(100% - 56px));
	margin-inline: auto;
}

html body.page-id-231 main .mpu-premium-contact .mpu-kicker {
	margin: 0 0 22px;
	color: var(--mpu-contact-gold);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

html body.page-id-231 main .mpu-premium-contact :is(h2, h3) {
	margin-top: 0;
	color: var(--mpu-contact-navy);
	font-weight: 750;
	letter-spacing: -.035em;
	text-wrap: balance;
}

html body.page-id-231 main .mpu-premium-contact .mpu-form-intro {
	max-width: 860px;
	margin: 0 auto 78px;
	text-align: center;
}

html body.page-id-231 main .mpu-premium-contact .mpu-form-intro h2 {
	margin-bottom: 26px;
	font-size: clamp(2.25rem, 4.2vw, 4.1rem);
	line-height: 1.04;
}

html body.page-id-231 main .mpu-premium-contact .mpu-form-intro > p:last-child {
	max-width: 670px;
	margin: 0 auto;
	color: var(--mpu-contact-muted);
	font-size: 1.18rem;
	line-height: 1.75;
}

html body.page-id-231 main .mpu-premium-contact .mpu-form-layout {
	display: grid;
	grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr);
	gap: clamp(60px, 8vw, 110px);
	align-items: start;
	max-width: 1120px;
	margin: 0 auto;
}

html body.page-id-231 main .mpu-premium-contact .mpu-form-aside {
	padding-top: 24px;
}

html body.page-id-231 main .mpu-premium-contact .mpu-form-aside h3 {
	margin-bottom: 1rem;
	font-size: 1.6rem;
	line-height: 1.25;
}

html body.page-id-231 main .mpu-premium-contact .mpu-form-aside p {
	margin: 0;
	color: var(--mpu-contact-muted);
	font-size: 1rem;
	line-height: 1.75;
}

html body.page-id-231 main .mpu-premium-contact .mpu-form-aside ul {
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

html body.page-id-231 main .mpu-premium-contact .mpu-form-aside li {
	padding: 14px 0;
	border-bottom: 1px solid rgba(7, 29, 59, .1);
	color: var(--mpu-contact-navy);
	font-weight: 650;
}

html body.page-id-231 main .mpu-premium-contact .mpu-contact-form {
	min-width: 0;
	padding: clamp(28px, 4vw, 54px);
	border: 1px solid rgba(7, 29, 59, .12);
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 30px 80px rgba(7, 29, 59, .09);
}

html body.page-id-231 main .mpu-premium-contact .wpcf7 {
	margin: 0;
}

html body.page-id-231 main .mpu-premium-contact .wpcf7-form {
	margin: 0;
}

html body.page-id-231 main .mpu-premium-contact .mpu-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}

html body.page-id-231 main .mpu-premium-contact .mpu-field {
	min-width: 0;
	margin-bottom: 22px;
}

html body.page-id-231 main .mpu-premium-contact .mpu-field label {
	display: block;
	margin-bottom: 9px;
	color: var(--mpu-contact-navy);
	font-size: .91rem;
	font-weight: 750;
}

html body.page-id-231 main .mpu-premium-contact .wpcf7-form-control-wrap {
	display: block;
}

html body.page-id-231 main .mpu-premium-contact .mpu-field :is(input, select, textarea) {
	width: 100%;
	min-height: 54px;
	margin: 0;
	padding: 13px 15px;
	border: 1px solid #cbd3db;
	border-radius: 10px;
	background: #fff;
	color: var(--mpu-contact-ink);
	font: inherit;
	transition: border-color .2s ease, outline-color .2s ease;
}

html body.page-id-231 main .mpu-premium-contact .mpu-field textarea {
	min-height: 128px;
	resize: vertical;
}

html body.page-id-231 main .mpu-premium-contact .mpu-field :is(input, select, textarea):focus {
	border-color: var(--mpu-contact-gold);
	outline: 3px solid rgba(216, 154, 18, .18);
}

html body.page-id-231 main .mpu-premium-contact .mpu-privacy {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 5px 0 28px;
	color: #4c5a6c;
	font-size: .91rem;
	line-height: 1.55;
}

html body.page-id-231 main .mpu-premium-contact .mpu-privacy .wpcf7-list-item {
	margin: 0;
}

html body.page-id-231 main .mpu-premium-contact .mpu-privacy label {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0;
	font-weight: 400;
}

html body.page-id-231 main .mpu-premium-contact .mpu-privacy input {
	width: 18px;
	height: 18px;
	margin: 3px 0 0;
	flex: 0 0 auto;
}

html body.page-id-231 main .mpu-premium-contact .mpu-privacy a {
	color: var(--mpu-contact-navy);
	font-weight: 700;
	text-underline-offset: 3px;
}

html body.page-id-231 main .mpu-premium-contact .mpu-submit {
	display: block;
	width: 100%;
	min-height: 58px;
	margin: 0;
	border: 0;
	border-radius: 999px;
	background: var(--mpu-contact-navy);
	color: #fff;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

html body.page-id-231 main .mpu-premium-contact .mpu-submit:is(:hover, :focus) {
	background: var(--mpu-contact-navy-2);
}

html body.page-id-231 main .mpu-premium-contact .wpcf7-not-valid-tip {
	margin-top: 7px;
	font-size: .88rem;
}

html body.page-id-231 main .mpu-premium-contact .wpcf7-response-output {
	margin: 24px 0 0;
	border-radius: 10px;
}

@media (max-width: 1024px) {
	html body.page-id-231 main .mpu-premium-contact .mpu-form-layout {
		grid-template-columns: 1fr;
	}

	html body.page-id-231 main .mpu-premium-contact .mpu-form-aside {
		max-width: 700px;
	}
}

@media (max-width: 768px) {
	html body.page-id-231 main .mpu-premium-contact .mpu-shell {
		width: min(100% - 34px, 1120px);
	}

	html body.page-id-231 main .mpu-premium-contact .mpu-form-intro {
		margin-bottom: 50px;
		text-align: left;
	}

	html body.page-id-231 main .mpu-premium-contact .mpu-form-intro > p:last-child {
		margin-left: 0;
	}

	html body.page-id-231 main .mpu-premium-contact .mpu-row {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

@media (max-width: 420px) {
	html body.page-id-231 main .mpu-premium-contact .mpu-contact-form {
		padding: 23px 18px;
		border-radius: 20px;
	}

	html body.page-id-231 main .mpu-premium-contact .mpu-form-intro h2 {
		font-size: 2.3rem;
	}
}

/* Preserve one meaningful marker treatment and suppress duplicate bullets. */
html body :is(
	.v4-checks,
	.mc24-prep-grid,
	.mc24-prep-trust-list,
	.mc24-firstcall-checklist
) {
	list-style: none !important;
	padding-inline-start: 0 !important;
}

html body :is(
	.mc24-prep-grid,
	.mc24-prep-trust-list
) > li::marker {
	content: "" !important;
}

/* Homepage checklist: retain the intended gold check, remove theme squares. */
html body.home.page-id-888 .mpu24-final-conversion__trust li {
	list-style: none;
}

html body.home.page-id-888 .mpu24-final-conversion__trust li::marker {
	content: "";
}

/*
 * 100vw includes the vertical scrollbar at 1024px. Percentage width follows
 * the document client width and preserves the existing 1360px desktop cap.
 */
html body.home.page-id-888 .mpu24-v4 {
	width: min(1360px, 100%) !important;
}

@media (min-width: 1024px) {
	:root {
		--mc24-card-padding: var(--mc24-space-xl);
	}
}

@media (max-width: 767.98px) {
	html body :is(
		.v4-grid4,
		.mpu24-process-grid,
		.mc24-prep-grid,
		.mc24-prep-steps,
		.mc24-prep-trust-list,
		.wpb01__grid,
		.mpu-trust-grid,
		.mpu-steps,
		.mc24-blog-v3__grid,
		.dx1-cards,
		.dx1-steps,
		.mc24-firstcall-grid,
		.mc24-firstcall-steps
	) {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mc24-c-article-card,
	html body.blog main .mc24-blog-v3__card {
		transition: none !important;
	}

	.mc24-c-article-card:is(:hover, :focus-within),
	html body.blog main .mc24-blog-v3__card:is(:hover, :focus-within) {
		transform: none !important;
	}
}

/* ==========================================================================
   WP-B01A: about-page story expansion
   Scope: page 634, existing "Warum MPU-Coach24 entstanden ist" section only.
   The approved typography, colors, vertical quote line and section order stay
   unchanged; these rules only protect reading width, paragraph rhythm and
   top-aligned responsive flow for the longer approved copy.
   ========================================================================== */

html body.page-id-634 .wpb01__story .wpb01__story-grid {
	align-items: start !important;
}

html body.page-id-634 .wpb01__story .wpb01__quote {
	max-width: 30ch;
	margin-block: 0;
	overflow-wrap: break-word;
	hyphens: manual;
}

html body.page-id-634 .wpb01__story .wpb01__narrow {
	width: min(68ch, 100%);
	max-width: 100%;
}

html body.page-id-634 .wpb01__story .wpb01__narrow > p {
	margin-block: 0 !important;
	overflow-wrap: break-word;
	hyphens: manual;
}

html body.page-id-634 .wpb01__story .wpb01__narrow > p + p {
	margin-block-start: var(--mc24-space-l) !important;
}

@media (min-width: 901px) {
	html body.page-id-634 .wpb01__story .wpb01__story-grid {
		grid-template-columns: minmax(220px, 0.64fr) minmax(0, 1.36fr) !important;
		column-gap: clamp(32px, 5vw, 64px) !important;
	}
}

@media (max-width: 900px) {
	html body.page-id-634 .wpb01__story {
		padding-inline: 0 !important;
	}

	html body.page-id-634 .wpb01__story .wpb01__story-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: var(--mc24-space-xl) !important;
		padding-inline: 0 !important;
	}

	html body.page-id-634 .wpb01__story .wpb01__quote {
		max-width: 42ch;
	}
}
