/* MFC Design System 1.0.0 — presentation layer, loaded after Elementor.
   Scope: body.mfc-ds (added only when the layer is enabled).
   Brand signatures kept on purpose: #006AFF, the glowing primary button, the horizon band. */

body.mfc-ds {
	--mfc-blue: #006AFF;
	--mfc-blue-hover: #1A78FF;
	--mfc-font: "Neue Haas Unica", -apple-system, "Helvetica Neue", Arial, sans-serif;
	--mfc-line-dark: #23252A;
	--mfc-line-light: #E3E5E8;
	--mfc-muted-light: #5B616E;
}

/* ---------------------------------------------------------------
   1. Type rhythm: override the Elementor kit's global typography.
   Breakpoints match the kit: laptop <=1600, tablet <=1024, mobile <=767.
   --------------------------------------------------------------- */
body.mfc-ds.elementor-kit-31424 {
	--e-global-typography-79c65f4-line-height: 1em;     /* H1 (was .91) */
	--e-global-typography-df10a89-line-height: 1.03em;  /* H2 (was .91) */
	--e-global-typography-b424123-line-height: 1.08em;  /* H3 (was .91) */
	--e-global-typography-c9e7b91-line-height: 1.15em;  /* Subhead */
	--e-global-typography-fc8cf1b-line-height: 1.12em;  /* Subhead Big */
	--e-global-typography-ab239f7-line-height: 1.35em;  /* Subhead Small */
	--e-global-typography-32ffb02-line-height: 1.55em;  /* Body 18 */
	--e-global-typography-6802af8-line-height: 1.45em;  /* Body 16 (was 1.28) */
	--e-global-typography-86a3cd8-font-family: "Neue Haas Unica"; /* Button (was Helvetica Neue) */
	--e-global-typography-86a3cd8-font-size: 1.6rem;
}
@media (max-width: 1600px) {
	body.mfc-ds.elementor-kit-31424 {
		--e-global-typography-32ffb02-font-size: 1.7rem;
		--e-global-typography-86a3cd8-font-size: 1.5rem;
	}
}
@media (max-width: 1024px) {
	body.mfc-ds.elementor-kit-31424 {
		--e-global-typography-b424123-font-size: 3.6rem;   /* H3 tablet was 2.8 (smaller than mobile) */
		--e-global-typography-ab239f7-font-size: 1.6rem;
		--e-global-typography-32ffb02-font-size: 1.6rem;   /* body text was 14px */
		--e-global-typography-6802af8-font-size: 1.5rem;
		--e-global-typography-86a3cd8-font-size: 1.6rem;
	}
}
@media (max-width: 767px) {
	body.mfc-ds.elementor-kit-31424 {
		--e-global-typography-79c65f4-line-height: 1.04em;
		--e-global-typography-df10a89-line-height: 1.06em;
		--e-global-typography-b424123-font-size: 3rem;
		--e-global-typography-b424123-line-height: 1.1em;
	}
}

body.mfc-ds .elementor-widget-heading h1.elementor-heading-title,
body.mfc-ds .elementor-widget-heading h2.elementor-heading-title {
	letter-spacing: -0.022em;
	text-wrap: balance;
}
body.mfc-ds .elementor-widget-heading h3.elementor-heading-title {
	letter-spacing: -0.012em;
	text-wrap: balance;
}

/* ---------------------------------------------------------------
   2. Accent rule. H1: the accent line is a muted tone of the heading.
   H2/H3: the accent phrase is brand blue (#006AFF reads on black and white).
   The diagonal sheen on text is removed: it reads as a rendering fault.
   --------------------------------------------------------------- */
body.mfc-ds .elementor-widget-heading h1.elementor-heading-title .mfc-accent.mfc-accent {
	color: inherit !important;
	-webkit-text-fill-color: currentColor !important;
	opacity: .56;
}
body.mfc-ds .elementor-widget-heading h2.elementor-heading-title .mfc-accent.mfc-accent,
body.mfc-ds .elementor-widget-heading h3.elementor-heading-title .mfc-accent.mfc-accent {
	color: var(--mfc-blue) !important;
	-webkit-text-fill-color: var(--mfc-blue) !important;
	opacity: 1;
}
/* A heading that opens with the accent span: the opening span reads as plain heading text. */
body.mfc-ds .elementor-widget-heading.mfc-accent-lead .elementor-heading-title .mfc-accent.mfc-accent:first-child {
	color: inherit !important;
	-webkit-text-fill-color: currentColor !important;
	opacity: 1;
}
body.mfc-ds .elementor-widget-heading .elementor-heading-title span.mfc-accent-gradient.mfc-accent-gradient {
	background: none !important;
	-webkit-text-fill-color: currentColor !important;
	display: inline !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* ---------------------------------------------------------------
   3. Ledes: long texts set in "Subhead Accent" (mono caps) become readable
   sentence-case paragraphs. Short labels stay mono (eyebrows, column heads).
   --------------------------------------------------------------- */
body.mfc-ds .elementor-widget.mfc-lede .elementor-heading-title,
body.mfc-ds .elementor-widget.mfc-lede.elementor-widget-text-editor,
body.mfc-ds .elementor-widget.mfc-lede.elementor-widget-text-editor * {
	font-family: var(--mfc-font) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight: 400 !important;
	font-size: 1.8rem !important;
	line-height: 1.5 !important;
	text-wrap: pretty;
}
body.mfc-ds .elementor-widget.mfc-lede { opacity: .78; }
@media (max-width: 1600px) {
	body.mfc-ds .elementor-widget.mfc-lede .elementor-heading-title,
	body.mfc-ds .elementor-widget.mfc-lede.elementor-widget-text-editor,
	body.mfc-ds .elementor-widget.mfc-lede.elementor-widget-text-editor * { font-size: 1.7rem !important; }
}
@media (max-width: 1024px) {
	body.mfc-ds .elementor-widget.mfc-lede .elementor-heading-title,
	body.mfc-ds .elementor-widget.mfc-lede.elementor-widget-text-editor,
	body.mfc-ds .elementor-widget.mfc-lede.elementor-widget-text-editor * { font-size: 1.6rem !important; }
}

/* Comparison tables: values in the text face, column heads stay mono labels. */
body.mfc-ds table.ct td {
	font-family: var(--mfc-font) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 1.5rem !important;
	font-variant-numeric: tabular-nums;
}
body.mfc-ds table.ct td.lt { font-weight: 500 !important; }

/* ---------------------------------------------------------------
   4. Buttons. Primary keeps the signature (12px radius, top highlight, glow).
   Secondary/quiet buttons lose the glow so the primary action stands out.
   --------------------------------------------------------------- */
body.mfc-ds .elementor-widget-button .elementor-button.elementor-button {
	font-family: var(--mfc-font) !important;
	letter-spacing: -0.005em;
}
body.mfc-ds .elementor-widget-button.mfc-btn--quiet .elementor-button.elementor-button {
	box-shadow: none !important;
}

/* ---------------------------------------------------------------
   5. Horizon: kept as the brand transition between dark and light,
   35% shorter on tablet and desktop. Falling "comets" are removed.
   --------------------------------------------------------------- */
@media (min-width: 768px) {
	body.mfc-ds .elementor-widget-image img[src*="BG-v1"] {
		height: 22rem !important;
		width: 100% !important;
		object-fit: cover;
		object-position: 50% 50%;
	}
}
body.mfc-ds .comet-flying,
body.mfc-ds .comet-source { display: none !important; }

/* ---------------------------------------------------------------
   6. Calculator halo: one controlled blue glow and a thin light rim
   instead of three rings (navy 155px, cyan 41px, white 5.7px).
   --------------------------------------------------------------- */
body.mfc-ds .elementor-element-59cd6587,
body.mfc-ds .elementor-element-10d9a68,
body.mfc-ds .elementor-element-138d9b6 { transition: none !important; animation: none !important; }
body.mfc-ds .elementor-element-59cd6587,
body.mfc-ds .elementor-element-10d9a68 { box-shadow: none !important; background: transparent !important; }
body.mfc-ds .elementor-element-138d9b6 {
	background: #0B0D12 !important;
	border: 0 !important;
	box-shadow:
		0 0 0 1.5px rgba(140, 185, 255, .75),
		0 0 0 6px rgba(0, 106, 255, .14),
		0 0 56px 6px rgba(0, 106, 255, .55),
		0 0 180px 60px rgba(0, 40, 190, .32) !important;
}

/* ---------------------------------------------------------------
   7. Surfaces: soft purple drop shadows on light cards become hairlines.
   --------------------------------------------------------------- */
body.mfc-ds .mfc-shadow {
	box-shadow: none !important;
	border: 1px solid var(--mfc-line-light) !important;
}
body.mfc-ds .elementor-element-fdbe2ea { box-shadow: none !important; }

/* ---------------------------------------------------------------
   8. Footer link columns start at the top (were pushed down by space-between).
   --------------------------------------------------------------- */
body.mfc-ds .elementor-element-6ee21bf1 > .e-con {
	justify-content: flex-start !important;
	gap: 2rem !important;
}

/* ---------------------------------------------------------------
   9. Mobile hero: the primary action comes first.
   --------------------------------------------------------------- */
@media (max-width: 767px) {
	body.mfc-ds .elementor-element-11306f0 { flex-direction: column !important; }
}

/* ---------------------------------------------------------------
   10. Blog article: a readable 720px measure, real tables and callouts.
   --------------------------------------------------------------- */
body.mfc-ds.single-post .elementor-widget-theme-post-content,
body.mfc-ds.single-post .elementor-widget-theme-post-title,
body.mfc-ds.single-post .elementor-widget-post-info,
body.mfc-ds.single-post .elementor-widget-theme-post-featured-image {
	max-width: 72rem !important;
	width: 100% !important;
	margin-inline: auto !important;
	align-self: center !important;
}
body.mfc-ds.single-post .elementor-widget-theme-post-content p,
body.mfc-ds.single-post .elementor-widget-theme-post-content li {
	font-size: 1.8rem;
	line-height: 1.65;
	color: #1D1F23;
}
body.mfc-ds.single-post .elementor-widget-theme-post-content h2 {
	font-size: 3.2rem;
	line-height: 1.15;
	letter-spacing: -0.02em;
	margin: 5.6rem 0 1.6rem;
}
body.mfc-ds.single-post .elementor-widget-theme-post-content h3 {
	font-size: 2.2rem;
	line-height: 1.25;
	margin: 3.6rem 0 1.2rem;
}
body.mfc-ds.single-post .elementor-widget-theme-post-content table {
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--mfc-line-light);
	border-radius: 1.2rem;
	overflow: hidden;
	font-size: 1.5rem;
	width: 100%;
}
body.mfc-ds.single-post .elementor-widget-theme-post-content th,
body.mfc-ds.single-post .elementor-widget-theme-post-content td {
	border: 0;
	border-bottom: 1px solid var(--mfc-line-light);
	padding: 1.2rem 1.6rem;
	text-align: start;
	vertical-align: top;
}
body.mfc-ds.single-post .elementor-widget-theme-post-content tr:last-child td { border-bottom: 0; }
body.mfc-ds.single-post .elementor-widget-theme-post-content th {
	background: #F7F8F9;
	font-weight: 500;
	color: var(--mfc-muted-light);
	font-size: 1.3rem;
	letter-spacing: .02em;
}
body.mfc-ds.single-post .elementor-widget-theme-post-content blockquote {
	border-inline-start: 3px solid var(--mfc-blue);
	background: #F4F7FF;
	margin: 2.4rem 0;
	padding: 1.6rem 2rem;
	border-radius: 0 1.2rem 1.2rem 0;
}
@media (max-width: 767px) {
	body.mfc-ds.single-post .elementor-widget-theme-post-content table { display: block; overflow-x: auto; }
	body.mfc-ds.single-post .elementor-widget-theme-post-content p,
	body.mfc-ds.single-post .elementor-widget-theme-post-content li { font-size: 1.7rem; }
	body.mfc-ds.single-post .elementor-widget-theme-post-content h2 { font-size: 2.6rem; margin-top: 4rem; }
}

/* ---------------------------------------------------------------
   11. Layout fixes found in the regression run.
   --------------------------------------------------------------- */
/* No sideways page scroll: decorative glows and carousels may bleed, the page may not. */
html:has(body.mfc-ds),
body.mfc-ds { overflow-x: clip; }
/* Compare Plans: the three table sections had a fixed 1050px width (overflowed tablets). */
body.mfc-ds .elementor-element-de33c24,
body.mfc-ds .elementor-element-39eae377,
body.mfc-ds .elementor-element-2b3cc593 { max-width: 100% !important; }
/* Dark CTA sections with the 777 glow image (home, about, some posts): the white top/bottom of the bitmap
   landed behind white text. The same horizon is drawn in CSS so the text block always sits on black. */
@media (min-width: 768px) {
	body.mfc-ds .elementor-widget-image:has(img[src*="/777."]) { display: none !important; }
	body.mfc-ds .e-con:has(> .e-con-inner > .elementor-widget-image img[src*="/777."]) {
		background:
			radial-gradient(70% 22% at 50% 14%, rgba(0, 106, 255, .55), rgba(0, 106, 255, 0) 70%),
			radial-gradient(70% 22% at 50% 86%, rgba(0, 106, 255, .55), rgba(0, 106, 255, 0) 70%),
			linear-gradient(to bottom, #fff 0%, #dfe9ff 4%, #3b6dff 9%, #08124d 15%, #000 21%, #000 79%, #08124d 85%, #3b6dff 91%, #dfe9ff 96%, #fff 100%) !important;
	}
}

/* 12. Calculator styles removed 2026-10-01: the calculator is MFC ONE plan-ticket (.mfct, own CSS). */

/* ---------------------------------------------------------------
   13. Coded components (components.php): shared primitives
   --------------------------------------------------------------- */
body.mfc-ds .mfc-ic { width: 2.4rem; height: 2.4rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: none; }
body.mfc-ds .mfc-eyebrow { display: block; font: 500 1.2rem/1.2 "Chivo Mono", ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--mfc-blue); }
body.mfc-ds .mfc-h2 { margin: 0; font-family: var(--mfc-font); font-weight: 500; font-size: var(--e-global-typography-df10a89-font-size, 5.7rem); line-height: 1.03; letter-spacing: -.022em; color: inherit; text-wrap: balance; }
body.mfc-ds .mfc-accent-blue { color: var(--mfc-blue); }
body.mfc-ds .mfc-lede-p { margin: 0; font-family: var(--mfc-font); font-size: 1.8rem; line-height: 1.5; opacity: .72; max-width: 56ch; text-wrap: pretty; }
body.mfc-ds .mfc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .8rem; height: 4.8rem; padding: 0 2.4rem;
	border-radius: 1.2rem; font: 500 1.6rem/1 var(--mfc-font); text-decoration: none !important; white-space: nowrap;
}
body.mfc-ds .mfc-btn .mfc-ic { width: 1.8rem; height: 1.8rem; }
body.mfc-ds .mfc-btn.mfc-btn--primary {
	background: var(--mfc-blue); color: #fff !important;
	box-shadow: inset 0 2.4px 1.2px rgba(255, 255, 255, .2), 0 0 13px rgba(255, 255, 255, .15), 0 8px 24px -10px rgba(0, 106, 255, .8);
	transition: background-color .15s;
}
body.mfc-ds .mfc-btn.mfc-btn--primary:hover { background: var(--mfc-blue-hover); }
body.mfc-ds .mfc-btn:focus-visible, body.mfc-ds .mfc-link:focus-visible, body.mfc-ds .mfc-toc a:focus-visible { outline: 2px solid var(--mfc-blue); outline-offset: 3px; }
body.mfc-ds .mfc-link { font: 500 1.5rem/1 var(--mfc-font); color: inherit; text-decoration: underline; text-underline-offset: .3em; text-decoration-color: rgba(0, 0, 0, .25); }
body.mfc-ds .mfc-sh { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1.6rem; margin-bottom: 4.8rem; }
body.mfc-ds .mfc-sh .mfc-lede-p { margin-inline: auto; }

/* Why MFC grid (replaces the 3D glass cards) */
body.mfc-ds .mfc-why { color: #0A0B0D; width: 100%; max-width: 120rem; margin-inline: auto; padding-block: 2.4rem 4rem; }
body.mfc-ds .mfc-why__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--mfc-line-light); }
body.mfc-ds .mfc-why__cell { display: flex; flex-direction: column; gap: 1.2rem; padding: 3.2rem 3.2rem 3.2rem 0; border-bottom: 1px solid var(--mfc-line-light); }
body.mfc-ds .mfc-why__cell:not(:nth-child(3n+1)) { padding-inline-start: 3.2rem; border-inline-start: 1px solid var(--mfc-line-light); }
body.mfc-ds .mfc-why__icon { display: grid; place-items: center; width: 4.4rem; height: 4.4rem; border: 1px solid var(--mfc-line-light); border-radius: 1.2rem; color: var(--mfc-blue); }
body.mfc-ds .mfc-why__title { margin: .4rem 0 0; font: 500 2.2rem/1.2 var(--mfc-font); letter-spacing: -.01em; color: #0A0B0D; }
body.mfc-ds .mfc-why__text { margin: 0; font: 400 1.6rem/1.5 var(--mfc-font); color: var(--mfc-muted-light); }
body.mfc-ds .mfc-why__fact { margin: auto 0 0; padding-top: 1.2rem; display: flex; justify-content: space-between; gap: 1rem; font: 500 1.2rem/1.3 "Chivo Mono", ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; color: var(--mfc-muted-light); }
body.mfc-ds .mfc-why__fact b { color: #0A0B0D; font-weight: 500; }
@media (max-width: 1024px) {
	body.mfc-ds .mfc-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.mfc-ds .mfc-why__cell:not(:nth-child(3n+1)) { padding-inline-start: 0; border-inline-start: 0; }
	body.mfc-ds .mfc-why__cell:nth-child(2n) { padding-inline-start: 2.4rem; border-inline-start: 1px solid var(--mfc-line-light); }
	body.mfc-ds .mfc-why__cell { padding: 2.4rem 2.4rem 2.4rem 0; }
}
@media (max-width: 767px) {
	body.mfc-ds .mfc-why__grid { grid-template-columns: minmax(0, 1fr); }
	body.mfc-ds .mfc-why__cell, body.mfc-ds .mfc-why__cell:nth-child(2n) { padding: 2.4rem 0; border-inline-start: 0; }
	body.mfc-ds .mfc-sh { margin-bottom: 3.2rem; }
	body.mfc-ds .mfc-h2 { font-size: 3.6rem; line-height: 1.06; }
	body.mfc-ds .mfc-lede-p { font-size: 1.7rem; }
}

/* Program rules (Instant / 1-Step pages) */
body.mfc-ds .mfc-rules { color: #0A0B0D; width: 100%; max-width: 120rem; margin: 0 auto 9.6rem; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 6.4rem; align-items: start; }
body.mfc-ds .mfc-rules__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 2rem; }
body.mfc-ds .mfc-rules__from { margin: .4rem 0 0; display: flex; align-items: baseline; gap: 1rem; color: var(--mfc-muted-light); font: 400 1.5rem/1 var(--mfc-font); }
body.mfc-ds .mfc-rules__from b { color: #0A0B0D; font: 500 4.4rem/1 var(--mfc-font); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
body.mfc-ds .mfc-rules__list { margin: 0; border-top: 1px solid var(--mfc-line-light); }
body.mfc-ds .mfc-rules__list > div { display: flex; justify-content: space-between; gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--mfc-line-light); }
body.mfc-ds .mfc-rules__list dt { margin: 0; color: var(--mfc-muted-light); font: 400 1.6rem/1.4 var(--mfc-font); }
body.mfc-ds .mfc-rules__list dd { margin: 0; text-align: end; font: 500 1.6rem/1.4 var(--mfc-font); font-variant-numeric: tabular-nums; }
@media (max-width: 1024px) {
	body.mfc-ds .mfc-rules { grid-template-columns: minmax(0, 1fr); gap: 3.2rem; margin-bottom: 6.4rem; }
}

/* Article: meta, table of contents, closing CTA */
body.mfc-ds .mfc-article-meta { margin: 0 0 2rem; font: 500 1.2rem/1.2 "Chivo Mono", ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--mfc-muted-light); }
body.mfc-ds .mfc-toc { margin: 0 0 4rem; border: 1px solid var(--mfc-line-light); border-radius: 1.2rem; background: #F7F8F9; }
body.mfc-ds .mfc-toc summary { cursor: pointer; padding: 1.6rem 2rem; font: 500 1.2rem/1.2 "Chivo Mono", ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--mfc-muted-light); list-style-position: inside; }
body.mfc-ds .mfc-toc ol { margin: 0; padding: 0 2rem 1.8rem 4rem; display: flex; flex-direction: column; gap: .8rem; }
body.mfc-ds .mfc-toc li { font: 400 1.6rem/1.4 var(--mfc-font) !important; color: #1D1F23; }
body.mfc-ds .mfc-toc a { color: #1D1F23; text-decoration: none; }
body.mfc-ds .mfc-toc a:hover { color: var(--mfc-blue); text-decoration: underline; text-underline-offset: .25em; }
body.mfc-ds.single-post .elementor-widget-theme-post-content h2[id] { scroll-margin-top: 10rem; }
body.mfc-ds .mfc-article-cta { margin: 5.6rem 0 0; padding: 3.2rem; border-radius: 2rem; background: #08090A; color: #F2F4F6; display: flex; flex-direction: column; align-items: flex-start; gap: 1.2rem; }
body.mfc-ds .mfc-article-cta__title { margin: 0 !important; font: 500 3rem/1.1 var(--mfc-font) !important; letter-spacing: -.02em; color: #fff !important; }
body.mfc-ds .mfc-article-cta__text { margin: 0 0 .8rem !important; font: 400 1.6rem/1.5 var(--mfc-font) !important; color: #C9CED6 !important; max-width: 52ch; }
/* Components sit above decorative glows and keep a side gutter on small screens. */
body.mfc-ds .mfc-why,
body.mfc-ds .mfc-rules { position: relative; z-index: 3; }
body.mfc-ds .mfc-rules { margin-top: 4rem; }
@media (max-width: 1024px) {
	body.mfc-ds .mfc-why,
	body.mfc-ds .mfc-rules { padding-inline: 2rem; box-sizing: border-box; }
}

/* Timeline (About) */
body.mfc-ds .mfc-timeline { color: #0A0B0D; width: 100%; max-width: 120rem; margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 6.4rem; padding-block: 2.4rem; position: relative; z-index: 3; }
body.mfc-ds .mfc-timeline__intro { display: flex; flex-direction: column; gap: 1.6rem; align-self: start; position: sticky; top: 12rem; }
body.mfc-ds .mfc-timeline__list { list-style: none; margin: 0; padding: 0; border-inline-start: 1px solid var(--mfc-line-light); }
body.mfc-ds .mfc-timeline__item { display: grid; grid-template-columns: 16rem minmax(0, 1fr); gap: 2.4rem; padding: 2.4rem 0 2.4rem 3.2rem; position: relative; }
body.mfc-ds .mfc-timeline__item::before { content: ""; position: absolute; inset-inline-start: -.5rem; top: 3.1rem; width: .9rem; height: .9rem; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1.5px #B8BCC4; }
body.mfc-ds .mfc-timeline__item.is-now::before { background: var(--mfc-blue); box-shadow: 0 0 0 4px rgba(0, 106, 255, .18); }
body.mfc-ds .mfc-timeline__date { font: 500 1.2rem/1.9 "Chivo Mono", ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--mfc-muted-light); }
body.mfc-ds .mfc-timeline__item.is-now .mfc-timeline__date { color: var(--mfc-blue); }
body.mfc-ds .mfc-timeline__title { margin: 0 0 .6rem; font: 500 2.2rem/1.2 var(--mfc-font); letter-spacing: -.01em; color: #0A0B0D; }
body.mfc-ds .mfc-timeline__text { margin: 0; font: 400 1.6rem/1.5 var(--mfc-font); color: var(--mfc-muted-light); max-width: 56ch; }
@media (max-width: 1024px) {
	body.mfc-ds .mfc-timeline { grid-template-columns: minmax(0, 1fr); gap: 3.2rem; padding-inline: 2rem; box-sizing: border-box; }
	body.mfc-ds .mfc-timeline__intro { position: static; }
	body.mfc-ds .mfc-timeline__item { grid-template-columns: minmax(0, 1fr); gap: .6rem; padding-inline-start: 2.4rem; }
}

/* Careers roles */
body.mfc-ds .mfc-ds-after { width: 100%; padding: 9.6rem 2rem; box-sizing: border-box; background: #fff; position: relative; z-index: 3; }
body.mfc-ds .mfc-roles { color: #0A0B0D; max-width: 96rem; margin-inline: auto; }
body.mfc-ds .mfc-roles__list { border-top: 1px solid var(--mfc-line-light); }
body.mfc-ds .mfc-role { border-bottom: 1px solid var(--mfc-line-light); }
body.mfc-ds .mfc-role summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) auto 2.4rem; align-items: center; gap: 2rem; padding: 2.4rem 0; }
body.mfc-ds .mfc-role summary::-webkit-details-marker { display: none; }
body.mfc-ds .mfc-role__title { font: 500 2.2rem/1.2 var(--mfc-font); letter-spacing: -.01em; }
body.mfc-ds .mfc-role__meta { font: 500 1.2rem/1.3 "Chivo Mono", ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; color: var(--mfc-muted-light); text-align: end; }
body.mfc-ds .mfc-role__toggle { width: 2.4rem; height: 2.4rem; position: relative; }
body.mfc-ds .mfc-role__toggle::before, body.mfc-ds .mfc-role__toggle::after { content: ""; position: absolute; left: 50%; top: 50%; width: 1.4rem; height: 1.5px; background: #0A0B0D; transform: translate(-50%, -50%); transition: transform .2s; }
body.mfc-ds .mfc-role__toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
body.mfc-ds .mfc-role[open] .mfc-role__toggle::after { transform: translate(-50%, -50%) rotate(0deg); }
body.mfc-ds .mfc-role__body { padding: 0 0 3.2rem; display: flex; flex-direction: column; align-items: flex-start; gap: 2rem; }
body.mfc-ds .mfc-role__body > p { margin: 0; font: 400 1.7rem/1.55 var(--mfc-font); color: #2A2D33; max-width: 64ch; }
body.mfc-ds .mfc-role__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3.2rem; width: 100%; }
body.mfc-ds .mfc-role__cols h4 { margin: 0 0 1rem; font: 500 1.2rem/1.3 "Chivo Mono", ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--mfc-muted-light); }
body.mfc-ds .mfc-role__cols ul { margin: 0; padding-inline-start: 1.8rem; display: flex; flex-direction: column; gap: .6rem; }
body.mfc-ds .mfc-role__cols li { font: 400 1.6rem/1.5 var(--mfc-font); color: #2A2D33; }
body.mfc-ds .mfc-role__note { margin: 0; font: 400 1.4rem/1.4 var(--mfc-font); color: var(--mfc-muted-light); }
body.mfc-ds .mfc-role__note b { color: #0A0B0D; font-weight: 500; user-select: all; }
@media (max-width: 767px) {
	body.mfc-ds .mfc-role summary { grid-template-columns: minmax(0, 1fr) 2.4rem; }
	body.mfc-ds .mfc-role__meta { grid-column: 1; grid-row: 2; text-align: start; }
	body.mfc-ds .mfc-role__cols { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
	body.mfc-ds .mfc-ds-after { padding-block: 6.4rem; }
}

/* 404 */
body.mfc-ds.error404 .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(9.6rem, 16vw, 18rem) !important; line-height: 1 !important; }
body.mfc-ds .mfc-404 { max-width: 72rem; margin-inline: auto; color: #0A0B0D; }
body.mfc-ds .mfc-404__lede { margin: 0 0 2rem; text-align: center; font: 400 1.8rem/1.5 var(--mfc-font); color: var(--mfc-muted-light); }
body.mfc-ds .mfc-404 ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--mfc-line-light); }
body.mfc-ds .mfc-404 li a { display: grid; grid-template-columns: 18rem minmax(0, 1fr) 2rem; gap: 1.6rem; align-items: center; padding: 1.8rem .4rem; border-bottom: 1px solid var(--mfc-line-light); color: #0A0B0D; text-decoration: none; }
body.mfc-ds .mfc-404 li a:hover { background: #F7F8F9; }
body.mfc-ds .mfc-404 li b { font: 500 1.8rem/1.2 var(--mfc-font); }
body.mfc-ds .mfc-404 li span { font: 400 1.5rem/1.4 var(--mfc-font); color: var(--mfc-muted-light); }
body.mfc-ds .mfc-404 .mfc-ic { width: 1.8rem; height: 1.8rem; color: var(--mfc-blue); }
@media (max-width: 767px) { body.mfc-ds .mfc-404 li a { grid-template-columns: minmax(0, 1fr) 2rem; } body.mfc-ds .mfc-404 li span { grid-column: 1; } }

body.mfc-ds .mfc-roles__open { margin-top: 4.8rem; padding: 3.2rem; border-radius: 2rem; background: #F7F8F9; border: 1px solid var(--mfc-line-light); display: flex; align-items: center; justify-content: space-between; gap: 2.4rem; flex-wrap: wrap; }
body.mfc-ds .mfc-roles__open .mfc-btn { user-select: all; }
/* Careers: the generic contact block moves into the roles section; one horizon instead of two. */
body.mfc-ds.page-id-26094 .elementor-element-25f4eab6,
body.mfc-ds.page-id-26094 .elementor-element-9c1debc { display: none !important; }

/* Features hero: the left column (1d37aff6) is empty, which pushed the copy to the right half. */
body.mfc-ds .elementor-element-1d37aff6 { display: none !important; }
body.mfc-ds .elementor-element-60629cd8 { max-width: 115rem; margin-inline: auto; width: 100%; }
body.mfc-ds .elementor-element-39e69fe4 { width: min(100%, 78rem) !important; max-width: 78rem; }
@media (min-width: 1025px) {
	/* The notebook visual (190bf993) collapsed to 0×0 on desktop: show it on the right of the copy. */
	html body.mfc-ds .elementor .elementor-element.elementor-element-190bf993.e-con { left: auto !important; right: max(2rem, calc((100% - 132rem) / 2)) !important; top: 12rem !important; width: min(58rem, 44%) !important; height: auto !important; z-index: 1 !important; pointer-events: none; }
	body.mfc-ds .elementor-element-190bf993 .elementor-widget-image,
	body.mfc-ds .elementor-element-190bf993 .elementor-widget-image img { width: 100% !important; height: auto !important; max-width: none !important; }
	body.mfc-ds .elementor-element-190bf993 .elementor-widget-image img { border-radius: 1.6rem; box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 30px 80px -20px rgba(0, 106, 255, .45); }
	body.mfc-ds .elementor-element-60629cd8 { position: relative; z-index: 2; }
}

/* Legal documents */
body.mfc-ds.mfc-legal .elementor-widget-text-editor,
body.mfc-ds.mfc-legal .mfc-legal-toc { max-width: 72rem !important; width: 100% !important; margin-inline: auto !important; align-self: center !important; }
body.mfc-ds.mfc-legal .elementor-widget-text-editor p,
body.mfc-ds.mfc-legal .elementor-widget-text-editor li { font-size: 1.6rem !important; line-height: 1.65 !important; color: #2A2D33 !important; }
body.mfc-ds.mfc-legal .elementor-widget-text-editor h4,
body.mfc-ds.mfc-legal .elementor-widget-text-editor h2 { font: 500 2.2rem/1.25 var(--mfc-font) !important; letter-spacing: -.01em; color: #0A0B0D !important; margin: 4.8rem 0 1.2rem !important; scroll-margin-top: 10rem; }
body.mfc-ds.mfc-legal .mfc-legal-toc { margin-block: 1.6rem 3.2rem !important; }
body.mfc-ds .mfc-legal-updated { margin: 0 0 1.6rem; font: 500 1.2rem/1.2 "Chivo Mono", ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--mfc-muted-light); }
body.mfc-ds .mfc-legal-toc details { border: 1px solid var(--mfc-line-light); border-radius: 1.2rem; background: #F7F8F9; }
body.mfc-ds .mfc-legal-toc summary { cursor: pointer; padding: 1.6rem 2rem; font: 500 1.2rem/1.2 "Chivo Mono", ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--mfc-muted-light); }
body.mfc-ds .mfc-legal-toc ol { margin: 0; padding: 0 2rem 2rem 4rem; columns: 2; column-gap: 3.2rem; }
body.mfc-ds .mfc-legal-toc li { break-inside: avoid; margin-bottom: .6rem; font: 400 1.5rem/1.4 var(--mfc-font); }
body.mfc-ds .mfc-legal-toc a { color: #1D1F23; text-decoration: none; }
body.mfc-ds .mfc-legal-toc a:hover { color: var(--mfc-blue); text-decoration: underline; }
@media (max-width: 767px) { body.mfc-ds .mfc-legal-toc ol { columns: 1; } }
body.mfc-ds.mfc-legal .elementor-widget-heading:has(h1) { max-width: 72rem !important; width: 100% !important; margin-inline: auto !important; align-self: center !important; }
body.mfc-ds.mfc-legal .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(3.6rem, 5vw, 5.6rem) !important; }
body.mfc-ds.mfc-legal .elementor-widget-heading h1.elementor-heading-title .mfc-accent.mfc-accent { opacity: 1; }

/* Blog archive cards (loop template 31153) */
body.mfc-ds .elementor-31153 .elementor-element-2b6ea80 {
	background: #fff !important;
	border-radius: 1.6rem !important;
	box-shadow: inset 0 0 0 1px var(--mfc-line-light) !important;
	overflow: hidden;
	transition: box-shadow .15s, transform .15s;
}
body.mfc-ds .elementor-31153 .elementor-element-2b6ea80:hover { box-shadow: inset 0 0 0 1px #B8C6E6, 0 12px 32px -16px rgba(10, 30, 80, .25) !important; transform: translateY(-2px); }
body.mfc-ds .elementor-31153 .elementor-element-71de28e7 .elementor-heading-title { font-size: 1.9rem !important; font-weight: 500 !important; line-height: 1.25 !important; letter-spacing: -.005em; color: #0A0B0D !important; }
body.mfc-ds .elementor-31153 .elementor-element-268d328 p { font-size: 1.5rem !important; line-height: 1.5 !important; color: var(--mfc-muted-light) !important; }
body.mfc-ds .elementor-31153 .elementor-element-5d1afde5 .elementor-heading-title { font-size: 1.2rem !important; letter-spacing: .08em; text-transform: uppercase; color: var(--mfc-muted-light) !important; }
@media (prefers-reduced-motion: reduce) { body.mfc-ds .elementor-31153 .elementor-element-2b6ea80 { transition: none; } body.mfc-ds .elementor-31153 .elementor-element-2b6ea80:hover { transform: none; } }
body.mfc-ds .elementor-31153 .elementor-element-39cbf22d,
body.mfc-ds .elementor-31153 .elementor-element-71de28e7,
body.mfc-ds .elementor-31153 .elementor-element-268d328 { height: auto !important; max-height: none !important; }
body.mfc-ds .elementor-31153 .elementor-element-71de28e7 .elementor-heading-title,
body.mfc-ds .elementor-31153 .elementor-element-268d328 p {
	display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; height: auto !important; max-height: none !important;
}


/* Neon glow layers (marked in components.php) */
body.mfc-ds .e-con.mfc-neon { display: none !important; }
body.mfc-ds .e-con.mfc-neon-rim {
	background: #0B0D12 !important;
	transition: none !important;
	animation: none !important;
	box-shadow: 0 0 0 1.5px rgba(140, 185, 255, .7), 0 0 0 6px rgba(0, 106, 255, .12), 0 0 56px 6px rgba(0, 106, 255, .5), 0 0 160px 40px rgba(0, 40, 190, .25) !important;
}

/* Guide feature tiles: line icons instead of Noto emoji (markup in components.php) */
body.mfc-ds .elementor-widget-image img[src*="-noto.svg"] { display: none !important; }
body.mfc-ds .elementor-widget-image .mfc-gi { display: block !important; width: 2.8rem; height: 2.8rem; color: #4D94FF; margin: auto; }
body.mfc-ds .elementor-widget-image:has(.mfc-gi) { display: flex; align-items: center; justify-content: center; }
body.mfc-ds .elementor-widget-image img:has(+ .mfc-gi) { display: none !important; }
body.mfc-ds .elementor-widget-image img[src*="Frame-1449235672"] + .mfc-gi {
	width: 3.6rem; height: 3.6rem; padding: .8rem; margin: 0; color: #fff; stroke-width: 1.75;
	border: 1px solid rgba(255, 255, 255, .24); border-radius: 50%; box-sizing: border-box;
}
body.mfc-ds .elementor-widget-image img[src*="attention-circle"] + .mfc-gi { width: 2.4rem; height: 2.4rem; margin: 0; }

/* Font Awesome glyphs in icon widgets → line icons (markup in components.php) */
body.mfc-ds .elementor-icon > svg.e-font-icon-svg:has(+ .mfc-gi) { display: none !important; }
body.mfc-ds .elementor-icon > .mfc-gi {
	display: block !important; width: 1em; height: 1em; fill: none !important; stroke: currentColor !important; stroke-width: 1.6;
}

/* Compare Plans program cards: same rhythm in all three — description reserves two lines,
   the closing divider and CTA sit on the card bottom. */
body.mfc-ds .elementor-element-5077f6f3 > .e-con > .e-con { flex-grow: 1; }
body.mfc-ds .elementor-element-5077f6f3 > .e-con > .e-con > .e-con:first-child .elementor-widget-heading:last-child .elementor-heading-title { min-height: 2lh; }
body.mfc-ds .elementor-element-5077f6f3 > .e-con > .e-con > .elementor-widget-divider:nth-last-child(3) { margin-top: auto; }

/* Blog cards: covers are 16:9 (1672×941); the frame matches, so the cover title is never cropped */
body.mfc-ds .elementor-31153 .elementor-element.elementor-element-f96203b { --min-height: 0px; min-height: 0 !important; aspect-ratio: 16 / 9; background-position: center center !important; background-size: cover !important; }

/* Home and Promo (stage 3 order): FAQ → founder quote → payout CTA → footer. The CTA runs straight into the
   dark footer, so it keeps only its top horizon and the footer's own white→black horizon is skipped. */
html body.mfc-ds:is(.home, .page-id-32161) .e-con.elementor-element-6f3002aa:has(> .e-con-inner > .elementor-widget-image img[src*="/777."]) {
	background:
		radial-gradient(70% 22% at 50% 14%, rgba(0, 106, 255, .55), rgba(0, 106, 255, 0) 70%),
		linear-gradient(to bottom, #fff 0%, #dfe9ff 4%, #3b6dff 9%, #08124d 15%, #000 21%, #000 100%) !important;
}
body.mfc-ds:is(.home, .page-id-32161) .elementor-element-6f3002aa .elementor-widget-image:has(img[src*="/777."], img[src*="/36."]) { display: none !important; }
body.mfc-ds:is(.home, .page-id-32161) .elementor-31409 .elementor-element-7c0401ec { display: none !important; }
body.mfc-ds:is(.home, .page-id-32161) .elementor-31409 .elementor-element-7d84bc9f { padding-top: 4rem; }

/* Trading Platforms (52788): download links are secondary — one primary CTA per screen.
   Outline buttons on the dark cards; the closing "Choose Program & Platform" stays primary. */
body.mfc-ds.page-id-52788 .elementor-widget-button:is(.elementor-element-b39c11b, .elementor-element-24f9838, .elementor-element-77a4a49, .elementor-element-b4412e7, .elementor-element-3e1d883, .elementor-element-2f58980, .elementor-element-32dc188, .elementor-element-fdc4e56, .elementor-element-c975a07, .elementor-element-3c47e33) .elementor-button.elementor-button {
	background: transparent !important;
	background-image: none !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .26) !important;
	color: #F2F4F6 !important;
	transition: box-shadow .15s ease, background-color .15s ease;
}
body.mfc-ds.page-id-52788 .elementor-widget-button:is(.elementor-element-b39c11b, .elementor-element-24f9838, .elementor-element-77a4a49, .elementor-element-b4412e7, .elementor-element-3e1d883, .elementor-element-2f58980, .elementor-element-32dc188, .elementor-element-fdc4e56, .elementor-element-c975a07, .elementor-element-3c47e33) .elementor-button.elementor-button:hover {
	background: rgba(0, 106, 255, .14) !important;
	box-shadow: inset 0 0 0 1px #006AFF !important;
}
body.mfc-ds.page-id-52788 .elementor-widget-button:is(.elementor-element-b39c11b, .elementor-element-24f9838, .elementor-element-77a4a49, .elementor-element-b4412e7, .elementor-element-3e1d883, .elementor-element-2f58980, .elementor-element-32dc188, .elementor-element-fdc4e56, .elementor-element-c975a07, .elementor-element-3c47e33) .elementor-button::before,
body.mfc-ds.page-id-52788 .elementor-widget-button:is(.elementor-element-b39c11b, .elementor-element-24f9838, .elementor-element-77a4a49, .elementor-element-b4412e7, .elementor-element-3e1d883, .elementor-element-2f58980, .elementor-element-32dc188, .elementor-element-fdc4e56, .elementor-element-c975a07, .elementor-element-3c47e33) .elementor-button::after { display: none !important; }

/* Decorative backgrounds (hero glow, horizons, CTA glows): not selectable, not draggable, click-through.
   Select-all or a stray drag no longer paints the hero blue. */
body.mfc-ds .elementor-widget-image:has(img[src*="/188."], img[src*="BG-v1"], img[src*="Footer-BG"], img[src*="/777."], img[src*="/36."]),
body.mfc-ds img[src*="/188."], body.mfc-ds img[src*="BG-v1"], body.mfc-ds img[src*="Footer-BG"], body.mfc-ds img[src*="/777."], body.mfc-ds img[src*="/36."] {
	-webkit-user-select: none; user-select: none; -webkit-user-drag: none; pointer-events: none;
}

/* Careers: pitch for people at other prop firms */
body.mfc-ds .mfc-roles__switch { margin-top: 4.8rem; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 4rem; padding: 4rem; border-radius: 2rem; background: #0A0B0D; color: #F2F4F6; }
body.mfc-ds .mfc-roles__switch .mfc-eyebrow { color: #6EA8FF; }
body.mfc-ds .mfc-roles__switch .mfc-why__title { color: #fff; margin: 1.2rem 0 1rem; }
body.mfc-ds .mfc-roles__switch .mfc-why__text { color: rgba(242, 244, 246, .72); margin: 0; }
body.mfc-ds .mfc-roles__switch ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
body.mfc-ds .mfc-roles__switch li { display: flex; flex-direction: column; gap: .4rem; padding: 1.6rem 0; border-top: 1px solid rgba(255, 255, 255, .12); }
body.mfc-ds .mfc-roles__switch li:first-child { border-top: 0; padding-top: 0; }
body.mfc-ds .mfc-roles__switch li b { font: 500 1.8rem/1.3 var(--mfc-font); color: #fff; }
body.mfc-ds .mfc-roles__switch li span { font: 400 1.6rem/1.5 var(--mfc-font); color: rgba(242, 244, 246, .72); }
@media (max-width: 767px) {
	body.mfc-ds .mfc-roles__switch { grid-template-columns: minmax(0, 1fr); gap: 2.4rem; padding: 2.4rem; }
}

/* UI chrome is not text: buttons and the logo are not selectable */
body.mfc-ds .elementor-button, body.mfc-ds .mfc-btn, body.mfc-ds .elementor-widget-image a img { -webkit-user-select: none; user-select: none; }

/* Promo (32161): program list under the offer is a label, not a headline */
body.mfc-ds.page-id-32161 .elementor-element-646ff63 .elementor-heading-title {
	font: 500 1.4rem/1.4 "Chivo Mono", ui-monospace, monospace !important; letter-spacing: .08em !important; text-transform: uppercase; color: rgba(242, 244, 246, .72) !important;
}

/* Speed (mobile LCP): Elementor entrance animations keep blocks hidden (.elementor-invisible) until
   frontend JS runs — on phones the hero waited ~8 s for it. Phones and tablets get content immediately. */
@media (max-width: 1024px) {
	body.mfc-ds .elementor-invisible { visibility: visible !important; }
	body.mfc-ds .elementor-element.animated { animation: none !important; }
}
