/* MissionFund.AI site styles
   Layout rule: flex containers only (no CSS grid), so every block maps to an Elementor container.
   Class prefix mf- ; each component notes its Elementor equivalent. */

/* IBM Plex Mono draws a dot inside every zero. This face overrides the digits only, so numbers in mono
   text use the plain Libre Franklin digits while letters stay IBM Plex Mono. Must load after the font CDN. */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('fonts/libre-franklin-digits.woff2') format('woff2');
  unicode-range: U+0030-0039;
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --bg: #0A1526;
  --panel: #0D1C33;
  --panel-2: #14273F;
  --line: #1B2C45;
  --line-2: #2A4B78;
  --gold: #C9922A;
  --gold-hi: #E8B44A;
  --text: #F5F2EC;
  --text-2: #C6D2E4;
  --text-3: #8FA3C2;
  --cream: #F5F2EC;
  --cream-ink: #14233A;
  --cream-muted: #4A5568;
  --cream-gold: #7A5A12;
  --font: 'Libre Franklin', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, 'Cascadia Mono', monospace;
  --pad-x: clamp(16px, 4vw, 56px);
  --pad-y: clamp(64px, 8vw, 112px);
  --max: 1240px;
  --radius: 10px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
  margin: 0; background: var(--bg); color: var(--text); font-family: var(--font);
  font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
a { color: var(--gold); text-decoration: none; transition: color .2s; }
a:hover { color: var(--gold-hi); }
p { margin: 0; }
h1, h2, h3, h4 { margin: 0; font-weight: 800; letter-spacing: -0.02em; line-height: 1.08; color: #FFFFFF; text-wrap: balance; }
:focus-visible { outline: 2px solid var(--gold-hi); outline-offset: 3px; border-radius: 4px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.mf-skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--gold); color: var(--bg); padding: 10px 16px; border-radius: 6px; font-weight: 700; }
.mf-skip:focus { top: 12px; color: var(--bg); }

/* ---------- Layout primitives (Elementor: Container) ---------- */
.mf-section { position: relative; padding: var(--pad-y) var(--pad-x); border-top: 1px solid var(--line); }
.mf-section--panel { background: var(--panel); }
.mf-section--cream { background: var(--cream); color: var(--cream-ink); border-top: 0; }
.mf-section--tight { padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(40px, 5vw, 64px); }
.mf-container { position: relative; width: 100%; max-width: var(--max); margin: 0 auto; display: flex; flex-direction: column; gap: clamp(28px, 4vw, 48px); }
.mf-container--narrow { max-width: 820px; }
.mf-row { display: flex; flex-wrap: wrap; gap: clamp(28px, 4vw, 64px); }
.mf-row--center { align-items: center; }
.mf-row--between { justify-content: space-between; align-items: flex-end; }
.mf-col { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.mf-col--narrow { flex: 0 1 380px; }
.mf-stack { display: flex; flex-direction: column; gap: 16px; }

/* ---------- Typography (Elementor: Heading / Text Editor) ---------- */
.mf-eyebrow { display: flex; align-items: center; gap: 12px; font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); line-height: 1.4; }
.mf-eyebrow::before { content: ""; width: 24px; height: 1px; background: currentColor; flex-shrink: 0; }
.mf-section--cream .mf-eyebrow { color: var(--cream-gold); }
.mf-h1 { font-size: clamp(38px, 5.6vw, 66px); letter-spacing: -0.035em; line-height: 1.02; }
.mf-h2 { font-size: clamp(28px, 3.8vw, 44px); letter-spacing: -0.03em; }
.mf-h2--sm { font-size: clamp(24px, 2.8vw, 32px); }
.mf-h3 { font-size: 19px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.3; }
.mf-section--cream h2, .mf-section--cream h3 { color: var(--cream-ink); }
.mf-lead { font-size: clamp(16px, 1.6vw, 18px); font-weight: 300; line-height: 1.75; color: var(--text-2); max-width: 64ch; text-wrap: pretty; }
.mf-section--cream .mf-lead { color: var(--cream-muted); }
.mf-muted { color: var(--text-3); }
.mf-mono { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; color: var(--text-3); }
.mf-prose { color: var(--text-2); font-weight: 300; font-size: 16.5px; line-height: 1.8; display: flex; flex-direction: column; gap: 18px; max-width: 70ch; }
.mf-prose strong { color: var(--text); font-weight: 600; }
.mf-prose a { text-decoration: underline; text-decoration-color: rgba(201,146,42,.45); text-underline-offset: 3px; }
.mf-prose a:hover { text-decoration-color: var(--gold-hi); }
.mf-prose ul, .mf-prose ol { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 10px; }
.mf-prose h2 { font-size: clamp(22px, 2.4vw, 28px); margin-top: 22px; }
.mf-prose h3 { font-size: 19px; margin-top: 10px; }
.mf-section--cream .mf-prose { color: var(--cream-muted); }

/* ---------- Buttons (Elementor: Button) ---------- */
.mf-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 14px 26px; border-radius: 6px; background: var(--gold); color: var(--bg); font-family: var(--font); font-size: 15px; font-weight: 700; letter-spacing: -0.005em; border: 1px solid var(--gold); cursor: pointer; transition: background .2s, border-color .2s, color .2s, transform .2s var(--ease); white-space: nowrap; }
.mf-btn:hover { background: var(--gold-hi); border-color: var(--gold-hi); color: var(--bg); }
.mf-btn svg { width: 16px; height: 16px; transition: transform .25s var(--ease); }
.mf-btn:hover svg { transform: translateX(3px); }
.mf-btn--ghost { background: transparent; color: var(--text); border-color: var(--line-2); }
.mf-btn--ghost:hover { background: rgba(42,75,120,.25); border-color: #4A6FA0; color: #FFFFFF; }
.mf-btn--sm { min-height: 44px; padding: 10px 18px; font-size: 14px; }
.mf-btn--lg { min-height: 56px; padding: 16px 34px; font-size: 16px; }
.mf-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.mf-textlink { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--text-2); border-bottom: 1px solid transparent; }
.mf-textlink span { border-bottom: 1px solid var(--line-2); padding-bottom: 2px; transition: border-color .2s; }
.mf-textlink:hover { color: #FFFFFF; }
.mf-textlink:hover span { border-color: var(--gold-hi); }
.mf-arrowlink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; font-size: 15px; }
.mf-arrowlink svg { width: 15px; height: 15px; transition: transform .25s var(--ease); }
.mf-arrowlink:hover svg { transform: translateX(3px); }

/* Trust checks (Elementor: Icon List, inline) */
.mf-trust { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; padding: 0; list-style: none; }
.mf-trust li { display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 12px; color: var(--text-3); }
.mf-trust svg { width: 15px; height: 15px; color: var(--gold); flex-shrink: 0; }

/* Program chips (Elementor: Buttons in a wrap container) */
.mf-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mf-chips__label { font-family: var(--mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--text-3); margin-right: 6px; }
.mf-chip { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 13px; border: 1px solid var(--line-2); border-radius: 999px; font-family: var(--mono); font-size: 12px; color: var(--text-2); background: rgba(13,28,51,.6); transition: border-color .2s, color .2s, background .2s; }
.mf-chip:hover { border-color: var(--gold); color: var(--gold-hi); background: rgba(201,146,42,.08); }

/* ---------- Header (Elementor Theme Builder: Header) ---------- */
.mf-header { position: sticky; top: 0; z-index: 50; background: rgba(10,21,38,.86); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); transition: background .3s; }
.mf-header.is-scrolled { background: rgba(10,21,38,.97); }
.mf-header__bar { max-width: 1320px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px var(--pad-x); transition: padding .3s var(--ease); }
.mf-header.is-scrolled .mf-header__bar { padding-top: 9px; padding-bottom: 9px; }
.mf-logo { display: flex; align-items: center; gap: 11px; color: #FFFFFF; flex-shrink: 0; }
.mf-logo:hover { color: #FFFFFF; }
.mf-logo svg { width: 36px; height: 36px; }
.mf-logo__text { display: flex; flex-direction: column; gap: 3px; }
.mf-logo__word { font-size: 20px; font-weight: 700; letter-spacing: -0.03em; line-height: 1; color: #FFFFFF; }
.mf-logo__word span { color: var(--gold); }
.mf-logo__tag { font-family: var(--mono); font-size: 8.5px; letter-spacing: .24em; text-transform: uppercase; color: #7B96BE; line-height: 1; }
.mf-nav { display: flex; align-items: center; gap: 4px; }
.mf-nav__list { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.mf-nav__item { position: relative; }
.mf-nav__link { display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 13px; font-size: 14.5px; font-weight: 500; color: var(--text-2); background: none; border: 0; font-family: var(--font); cursor: pointer; border-radius: 6px; }
.mf-nav__link:hover, .mf-nav__link[aria-current="page"], .mf-nav__item.is-open > .mf-nav__link, .mf-nav__item.is-current > .mf-nav__link { color: #FFFFFF; }
.mf-nav__item.is-current > .mf-nav__link { box-shadow: inset 0 -2px 0 var(--gold); border-radius: 0; }
.mf-nav__link[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--gold); border-radius: 0; }
.mf-nav__link svg { width: 14px; height: 14px; transition: transform .2s; }
.mf-nav__item.is-open > .mf-nav__link svg { transform: rotate(180deg); }
.mf-nav__phone { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; font-family: var(--mono); font-size: 13px; color: var(--text-2); }
.mf-nav__phone svg { width: 16px; height: 16px; color: var(--gold); }
.mf-nav__phone:hover { color: #FFFFFF; }
.mf-nav .mf-btn { margin-left: 8px; }

/* Industries dropdown (Elementor: Menu widget dropdown content) */
.mf-dropdown { position: absolute; top: calc(100% + 10px); left: 50%; width: 600px; transform: translate(-50%, 6px); background: var(--panel); border: 1px solid var(--line-2); border-radius: 12px; padding: 14px; box-shadow: 0 24px 60px rgba(0,0,0,.45); opacity: 0; visibility: hidden; transition: opacity .18s, transform .18s var(--ease), visibility .18s; }
.mf-dropdown::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.mf-nav__item.is-open .mf-dropdown { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
@media (hover: hover) and (min-width: 1081px) {
  .mf-nav__item--has-dd:hover .mf-dropdown { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
}
.mf-dropdown__list { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.mf-dropdown__list li { flex: 0 0 50%; }
.mf-dropdown__link { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 8px 12px; border-radius: 8px; font-size: 14.5px; font-weight: 500; color: var(--text-2); }
.mf-dropdown__link svg { width: 22px; height: 22px; color: var(--gold); stroke-width: 1.5; transition: color .2s; flex-shrink: 0; }
.mf-dropdown__link:hover { background: var(--panel-2); color: #FFFFFF; }
.mf-dropdown__link:hover svg { color: var(--gold-hi); }
.mf-dropdown__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 10px; padding: 12px 12px 4px; border-top: 1px solid var(--line); }
.mf-burger { display: none; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--line-2); border-radius: 8px; background: transparent; color: var(--text); cursor: pointer; }
.mf-burger svg { width: 22px; height: 22px; }
.mf-burger .mf-i-close { display: none; }
.mf-burger[aria-expanded="true"] .mf-i-menu { display: none; }
.mf-burger[aria-expanded="true"] .mf-i-close { display: block; }

@media (max-width: 1080px) {
  /* backdrop-filter would make the header the containing block of the fixed menu panel */
  .mf-header { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(10,21,38,.98); }
  .mf-burger { display: inline-flex; }
  .mf-nav { position: fixed; inset: 0; top: var(--mf-header-h, 72px); z-index: 49; flex-direction: column; align-items: stretch; gap: 0; padding: 12px var(--pad-x) 32px; background: var(--bg); overflow-y: auto; opacity: 0; transform: translateY(-10px); visibility: hidden; pointer-events: none; transition: opacity .25s var(--ease), transform .3s var(--ease), visibility .3s; }
  .mf-nav.is-open { opacity: 1; transform: none; visibility: visible; pointer-events: auto; }
  .mf-nav__list { flex-direction: column; align-items: stretch; }
  .mf-nav__link { width: 100%; justify-content: space-between; min-height: 56px; font-size: 18px; padding: 0 4px; border-bottom: 1px solid var(--line); border-radius: 0; }
  .mf-nav__link[aria-current="page"] { box-shadow: none; color: var(--gold-hi); }
  .mf-dropdown { position: static; width: auto; transform: none; opacity: 1; visibility: visible; display: none; box-shadow: none; border: 0; background: transparent; padding: 6px 0 12px; }
  .mf-nav__item.is-open .mf-dropdown { display: block; transform: none; }
  .mf-dropdown__list li { flex: 0 0 100%; }
  .mf-dropdown__foot { display: none; }
  .mf-nav__phone { padding: 18px 4px; font-size: 15px; }
  .mf-nav .mf-btn { margin: 8px 0 0; width: 100%; }
}
@media (max-width: 420px) { .mf-logo__tag { display: none; } .mf-logo__word { font-size: 18px; } }

/* Minimal header (apply page) */
.mf-header--minimal .mf-header__bar { justify-content: space-between; }
.mf-header__trust { display: flex; align-items: center; gap: 18px; font-family: var(--mono); font-size: 12px; color: var(--text-3); }
.mf-header__trust a { color: var(--text-2); }
@media (max-width: 760px) { .mf-header__trust span { display: none; } }

/* ---------- Breadcrumbs (Elementor: Breadcrumbs widget) ---------- */
.mf-crumbs { margin: 0 0 22px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; font-family: var(--mono); font-size: 12px; color: var(--text-3); }
.mf-crumbs li { display: flex; align-items: center; }
.mf-crumbs li + li::before { content: "/"; margin: 0 10px; color: var(--line-2); }
.mf-crumbs a { color: var(--text-3); display: inline-flex; min-height: 32px; align-items: center; }
.mf-crumbs a:hover { color: var(--gold-hi); }
.mf-crumbs [aria-current] { color: var(--text-2); }

/* ---------- Hero ---------- */
.mf-hero { position: relative; overflow: hidden; padding: clamp(36px, 6vw, 80px) var(--pad-x) clamp(56px, 8vw, 104px); border-bottom: 1px solid var(--line); isolation: isolate; }
.mf-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background:
  radial-gradient(60% 70% at 18% 20%, rgba(201,146,42,.10), transparent 70%),
  radial-gradient(50% 60% at 90% 90%, rgba(42,75,120,.35), transparent 70%); animation: mf-breathe 12s ease-in-out infinite alternate; }
.mf-hero::after { content: ""; position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(rgba(42,75,120,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(42,75,120,.14) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(70% 80% at 30% 40%, #000 20%, transparent 75%); mask-image: radial-gradient(70% 80% at 30% 40%, #000 20%, transparent 75%); }
.mf-hero__inner { max-width: var(--max); margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: clamp(36px, 5vw, 72px); }
.mf-hero__copy { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 22px; position: relative; }
.mf-hero__visual { flex: 0 1 440px; min-width: 0; display: flex; justify-content: center; margin: 0 auto; }
.mf-hero .mf-lead + .mf-lead { margin-top: -6px; }

/* Rotating compass behind the headline (Elementor: HTML widget, inline SVG) */
.mf-compass { position: absolute; z-index: -1; pointer-events: none; color: var(--line-2); opacity: .55; }
.mf-compass--hero { width: min(760px, 120vw); height: auto; left: -12%; top: 50%; transform: translateY(-50%); }
.mf-compass__ring { transform-origin: 50% 50%; animation: mf-spin 140s linear infinite; }
.mf-compass__needle { transform-origin: 50% 50%; animation: mf-sway 9s ease-in-out infinite alternate; }

/* Coverage card (Elementor: Container + Headings + Icon List) */
.mf-card-stat { flex: 1 1 360px; max-width: 460px; background: linear-gradient(180deg, rgba(20,39,63,.9), rgba(13,28,51,.9)); border: 1px solid var(--line-2); border-radius: 14px; padding: clamp(24px, 3vw, 34px); display: flex; flex-direction: column; gap: 20px; box-shadow: 0 30px 80px rgba(0,0,0,.35); }
.mf-card-stat__top { display: flex; align-items: center; justify-content: space-between; }
.mf-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 0 rgba(201,146,42,.6); animation: mf-pulse 2.4s ease-out infinite; }
.mf-card-stat__big { display: flex; align-items: baseline; gap: 6px; font-size: clamp(56px, 7vw, 72px); font-weight: 800; letter-spacing: -0.05em; line-height: 1; color: #FFFFFF; }
.mf-card-stat__big span { color: var(--gold); font-size: .5em; }
.mf-rows { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.mf-rows li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 16px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.mf-rows__k { font-family: var(--mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-3); }
.mf-rows__v { font-size: 14.5px; font-weight: 600; color: var(--text); text-align: right; }

/* Circle photo / icon ring (Elementor: Image with 50% radius + border; icon fallback: Icon widget framed) */
.mf-orb { position: relative; width: min(400px, 78vw); aspect-ratio: 1; flex-shrink: 0; }
.mf-orb__ticks { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--line-2); animation: mf-spin 120s linear infinite; }
.mf-orb__frame { position: absolute; inset: 9%; border-radius: 50%; padding: 6px; background: conic-gradient(from 210deg, var(--gold), rgba(201,146,42,.15) 35%, var(--gold-hi) 60%, rgba(201,146,42,.15) 85%, var(--gold)); }
.mf-orb__frame img, .mf-orb__frame .mf-orb__icon { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: var(--panel); }
.mf-orb__icon { display: flex; align-items: center; justify-content: center; color: var(--gold); }
.mf-orb__icon svg { width: 40%; height: 40%; stroke-width: 1.1; }
.mf-orb--sm { width: min(300px, 70vw); }

/* ---------- Stats band (Elementor: Counter widgets) ---------- */
.mf-stats { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); overflow: hidden; }
.mf-stat { flex: 1 1 260px; padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; gap: 10px; border-right: 1px solid var(--line); margin-right: -1px; border-bottom: 1px solid var(--line); margin-bottom: -1px; }
.mf-stat__num { display: flex; align-items: baseline; flex-wrap: wrap; font-size: clamp(40px, 5vw, 60px); font-weight: 800; letter-spacing: -0.045em; line-height: 1; color: #FFFFFF; font-variant-numeric: tabular-nums; }
.mf-stat__num .mf-u { color: var(--gold); }
.mf-stat__label { font-size: 15px; color: var(--text-2); font-weight: 400; line-height: 1.5; max-width: 30ch; }
@property --n { syntax: '<integer>'; inherits: false; initial-value: 0; }
.mf-stat__num--range { font-size: clamp(36px, 4.2vw, 52px); }
.mf-stat__to { font-family: var(--mono); font-size: .32em; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); margin: 0 .45em; align-self: center; }
.mf-count { --n: var(--to); counter-reset: n var(--n); transition: --n 2s var(--ease); }
.mf-count::after { content: counter(n); }
.js .mf-stats:not(.is-in) .mf-count { --n: 0; }

/* ---------- Cards and tiles (Elementor: Icon Box / Image Box in wrap containers) ---------- */
.mf-cards { display: flex; flex-wrap: wrap; gap: clamp(14px, 1.6vw, 20px); margin: 0; padding: 0; list-style: none; }
.mf-cards > * { flex: 1 1 280px; min-width: 0; }
/* Cards in one row share the row's height, so the boxes line up */
.mf-cards > li { display: flex; align-items: stretch; }
.mf-cards > li > .mf-card, .mf-cards > li > .mf-tile, .mf-cards > li > .mf-ind { width: 100%; }
.mf-cards--2 > * { flex: 1 1 calc(50% - 20px); min-width: min(100%, 320px); }
.mf-cards--3 > * { flex: 1 1 calc(33.333% - 20px); min-width: min(100%, 280px); }
.mf-cards--4 > * { flex: 1 1 calc(25% - 20px); min-width: min(100%, 240px); }
.mf-card { position: relative; display: flex; flex-direction: column; gap: 14px; padding: clamp(22px, 2.6vw, 32px); background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); transition: border-color .25s, transform .3s var(--ease), background .25s; }
.mf-section--panel .mf-card { background: var(--bg); }
.mf-card::before { content: ""; position: absolute; left: 20px; right: 20px; top: -1px; height: 2px; background: linear-gradient(90deg, transparent, var(--gold), transparent); opacity: 0; transition: opacity .3s; }
.mf-card:hover { border-color: var(--line-2); transform: translateY(-2px); }
.mf-card:hover::before { opacity: 1; }
.mf-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mf-card__num { font-family: var(--mono); font-size: 12px; color: var(--text-3); letter-spacing: .08em; }
.mf-card p, .mf-card li { color: var(--text-3); font-size: 15px; font-weight: 300; line-height: 1.7; }
.mf-card p strong { color: var(--text-2); font-weight: 600; }
.mf-card--link { color: inherit; }
.mf-card--link:hover { color: inherit; }
.mf-card__more { margin-top: auto; padding-top: 6px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--gold); }
.mf-card__more svg { width: 14px; height: 14px; transition: transform .25s var(--ease); }
.mf-card--link:hover .mf-card__more { color: var(--gold-hi); }
.mf-card--link:hover .mf-card__more svg { transform: translateX(3px); }
.mf-card--featured { border-color: var(--line-2); background: linear-gradient(180deg, var(--panel-2), var(--panel)); }
.mf-badge { font-family: var(--mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); border: 1px solid #6B4F14; padding: 4px 9px; border-radius: 4px; }
.mf-amount { font-size: 14px; font-weight: 600; color: var(--gold); font-variant-numeric: tabular-nums; }

/* Icon in gold (Elementor: Icon widget; hover color #E8B44A) */
.mf-icon { width: 44px; height: 44px; color: var(--gold); flex-shrink: 0; transition: color .25s, transform .3s var(--ease); }
.mf-icon svg { width: 100%; height: 100%; stroke-width: 1.5; }
.mf-icon--ring { width: 60px; height: 60px; padding: 12px; border: 1px solid var(--line-2); border-radius: 50%; background: rgba(13,28,51,.8); transition: color .25s, border-color .25s, background .25s; }
.mf-card:hover .mf-icon, .mf-tile:hover .mf-icon { color: var(--gold-hi); }
.mf-card:hover .mf-icon--ring, .mf-tile:hover .mf-icon--ring { border-color: var(--gold); background: rgba(201,146,42,.08); }

/* Equipment tile */
.mf-tile { display: flex; flex-direction: column; gap: 12px; height: 100%; padding: 24px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); color: inherit; transition: border-color .25s, transform .3s var(--ease), background .25s; }
.mf-section--panel .mf-tile { background: var(--bg); }
.mf-tile:hover { color: inherit; border-color: var(--gold); transform: translateY(-3px); }
.mf-tile h3 { font-size: 17px; }
.mf-tile p { font-size: 14.5px; color: var(--text-3); font-weight: 300; line-height: 1.6; }

/* Industry tile with circle photo (Elementor: Image Box / Loop Item) */
.mf-ind { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; height: 100%; padding: 28px 22px 26px; border-radius: 14px; border: 1px solid var(--line); background: var(--panel); color: inherit; transition: border-color .3s, transform .35s var(--ease), background .3s; }
.mf-section--panel .mf-ind { background: var(--bg); }
.mf-ind:hover { color: inherit; border-color: var(--line-2); transform: translateY(-3px); }
.mf-ind__photo { position: relative; width: 168px; height: 168px; border-radius: 50%; padding: 4px; background: conic-gradient(from 0deg, var(--gold) 0turn, var(--gold) var(--sweep, 0turn), var(--line-2) var(--sweep, 0turn)); transition: --sweep .9s var(--ease); }
@property --sweep { syntax: '<angle>'; inherits: false; initial-value: 0turn; }
.mf-ind:hover .mf-ind__photo, .mf-ind:focus-visible .mf-ind__photo { --sweep: 1turn; }
.mf-ind__photo img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: var(--panel-2); transition: transform .6s var(--ease); }
.mf-ind:hover .mf-ind__photo img { transform: scale(1.04); }
.mf-ind__photo .mf-icon { width: 100%; height: 100%; border-radius: 50%; background: var(--panel-2); display: flex; align-items: center; justify-content: center; padding: 30%; }
.mf-ind h3 { font-size: 18px; }
.mf-ind p { font-size: 14.5px; color: var(--text-3); font-weight: 300; line-height: 1.6; max-width: 34ch; }

/* ---------- Journey steps (Elementor: Icon Boxes + HTML widget for the line) ---------- */
.mf-steps { position: relative; }
.mf-steps__list { position: relative; display: flex; flex-wrap: wrap; gap: 20px; margin: 0; padding: 0; list-style: none; }
.mf-steps__track { position: absolute; left: 30px; right: calc(25% - 30px); top: 29px; height: 2px; background: var(--line-2); overflow: visible; }
.mf-steps--3 .mf-steps__track { right: calc(33.333% - 30px); }
.mf-steps__fill { position: absolute; inset: 0; background: linear-gradient(90deg, var(--gold), var(--gold-hi)); transform-origin: 0 50%; transform: scaleX(1); transition: transform 2.2s var(--ease); }
.js .mf-steps:not(.is-in) .mf-steps__fill { transform: scaleX(0); }
.mf-steps__spark { position: absolute; top: 50%; left: 0; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--gold-hi); box-shadow: 0 0 14px 4px rgba(232,180,74,.55); opacity: 0; }
.mf-steps.is-in .mf-steps__spark { animation: mf-travel 5.5s 2.4s var(--ease) infinite; }
.mf-step { position: relative; flex: 1 1 calc(25% - 20px); min-width: 200px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.mf-step__dot { position: relative; z-index: 1; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--bg); border: 2px solid var(--gold); color: var(--gold); font-family: var(--mono); font-size: 14px; font-weight: 600; transition: background .5s var(--ease) var(--d, 0s), color .5s var(--d, 0s), box-shadow .5s var(--d, 0s); }
.mf-section--panel .mf-step__dot { background: var(--panel); }
.js .mf-steps:not(.is-in) .mf-step__dot { border-color: var(--line-2); color: var(--text-3); }
.mf-steps.is-in .mf-step__dot { background: var(--gold); color: var(--bg); box-shadow: 0 0 0 6px rgba(201,146,42,.14); }
.mf-step__dot svg { width: 24px; height: 24px; }
.mf-step h3 { font-size: 19px; margin-top: 6px; }
.mf-step p { font-size: 15px; color: var(--text-3); font-weight: 300; line-height: 1.7; }
.mf-step p strong { color: var(--text-2); font-weight: 600; }
.mf-steps--3 .mf-step { flex-basis: calc(33.333% - 20px); }
@media (max-width: 860px) {
  .mf-steps__list { flex-direction: column; gap: 28px; }
  .mf-steps__track, .mf-steps--3 .mf-steps__track { left: 29px; right: auto; top: 30px; bottom: 30px; width: 2px; height: auto; }
  .mf-steps__fill { transform-origin: 50% 0; background: linear-gradient(180deg, var(--gold), var(--gold-hi)); }
  .js .mf-steps:not(.is-in) .mf-steps__fill { transform: scaleY(0); }
  .mf-steps.is-in .mf-steps__spark { animation-name: mf-travel-y; left: 50%; }
  .mf-step { flex: 1 1 auto; flex-direction: row; gap: 20px; min-width: 0; }
  .mf-step__dot { flex-shrink: 0; }
  .mf-step__body { display: flex; flex-direction: column; gap: 8px; }
  .mf-step h3 { margin-top: 14px; }
}

/* Checklist (Elementor: Icon List) */
.mf-checks { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 14px 28px; }
.mf-checks li { flex: 1 1 calc(50% - 28px); min-width: min(100%, 260px); display: flex; gap: 12px; align-items: flex-start; color: var(--text-2); font-size: 15.5px; line-height: 1.6; }
.mf-checks--list { flex-direction: column; gap: 10px; }
.mf-checks--list li { flex: 0 0 auto; font-size: 14.5px; }
.mf-checks svg { width: 20px; height: 20px; color: var(--gold); flex-shrink: 0; margin-top: 2px; }
.mf-panel { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: clamp(24px, 3.4vw, 44px); display: flex; flex-direction: column; gap: 22px; }
.mf-section--panel .mf-panel { background: var(--bg); }
.mf-panel--gold { border-color: rgba(201,146,42,.45); background: linear-gradient(160deg, rgba(201,146,42,.08), transparent 60%), var(--panel); }

/* Split heading + text (Elementor: 2 containers) */
.mf-split { display: flex; flex-wrap: wrap; gap: clamp(24px, 4vw, 72px); align-items: flex-start; }
.mf-split__head { flex: 1 1 300px; display: flex; flex-direction: column; gap: 16px; }
.mf-split__body { flex: 1.6 1 440px; min-width: 0; }
@media (min-width: 900px) { .mf-split__head { position: sticky; top: 110px; } }

/* Facts (at a glance) */
.mf-facts { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; border-top: 1px solid var(--line); }
.mf-facts li { flex: 1 1 calc(50% - 0px); min-width: min(100%, 320px); display: flex; flex-direction: column; gap: 6px; padding: 20px 24px 20px 0; border-bottom: 1px solid var(--line); }
.mf-facts__k { font-family: var(--mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.mf-facts__v { color: var(--text-2); font-size: 16px; line-height: 1.6; }

/* ---------- Accordion (Elementor: Accordion widget with FAQ Schema on) ---------- */
.mf-acc { display: flex; flex-direction: column; gap: 10px; }
.mf-acc__item { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); transition: border-color .25s, background .25s; }
.mf-section--panel .mf-acc__item { background: var(--bg); }
.mf-acc__item:hover { border-color: var(--line-2); }
.mf-acc__item[open] { border-color: rgba(201,146,42,.5); }
.mf-acc__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; min-height: 64px; }
.mf-acc__item summary::-webkit-details-marker { display: none; }
.mf-acc__q { font-size: 16.5px; font-weight: 600; letter-spacing: -0.005em; line-height: 1.4; color: var(--text); }
.mf-acc__icon { position: relative; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--line-2); flex-shrink: 0; transition: border-color .25s, transform .3s var(--ease); }
.mf-acc__icon::before, .mf-acc__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 1.5px; margin: -.75px 0 0 -5px; background: var(--gold); transition: transform .3s var(--ease); }
.mf-acc__icon::after { transform: rotate(90deg); }
.mf-acc__item[open] .mf-acc__icon { border-color: var(--gold); transform: rotate(180deg); }
.mf-acc__item[open] .mf-acc__icon::after { transform: rotate(0deg); }
.mf-acc__a { padding: 0 22px 22px; color: var(--text-3); font-size: 15.5px; font-weight: 300; line-height: 1.8; display: flex; flex-direction: column; gap: 12px; max-width: 72ch; }
.mf-acc__item[open] .mf-acc__a { animation: mf-fade .35s var(--ease); }

/* ---------- Tabs (Elementor: Tabs widget, vertical on desktop, accordion on mobile) ---------- */
.mf-tabs { display: flex; gap: clamp(20px, 3vw, 40px); align-items: flex-start; }
.mf-tabs__list { flex: 0 0 300px; display: flex; flex-direction: column; gap: 4px; position: sticky; top: 110px; }
.mf-tabs__tab { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; padding: 12px 16px; text-align: left; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--text-3); font-family: var(--font); font-size: 15px; font-weight: 600; cursor: pointer; transition: color .2s, background .2s, border-color .2s; }
.mf-tabs__tab::after { content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-top: 1.5px solid currentColor; transform: rotate(45deg); opacity: 0; transition: opacity .2s, transform .2s; }
.mf-tabs__tab:hover { color: #FFFFFF; background: rgba(20,39,63,.6); }
.mf-tabs__tab[aria-selected="true"] { color: #FFFFFF; background: var(--panel-2); border-color: var(--line-2); box-shadow: inset 3px 0 0 var(--gold); }
.mf-tabs__tab[aria-selected="true"]::after { opacity: 1; color: var(--gold); }
.mf-tabs__panels { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.mf-tabs__panel { border: 1px solid var(--line); border-radius: 14px; background: var(--panel); scroll-margin-top: 110px; }
.mf-section--panel .mf-tabs__panel { background: var(--bg); }
.mf-tabs__acc { display: none; width: 100%; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 16px 20px; background: none; border: 0; color: var(--text); font-family: var(--font); font-size: 16.5px; font-weight: 600; text-align: left; cursor: pointer; }
.mf-tabs__body { padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; gap: 16px; }
.mf-tabs__body h3 { font-size: clamp(22px, 2.4vw, 28px); }
.mf-tabs__body p { color: var(--text-2); font-weight: 300; font-size: 16px; line-height: 1.8; }
.mf-tabs__body p strong { display: block; font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; }
.js .mf-tabs--desktop .mf-tabs__panel:not(.is-active) { display: none; }
.js .mf-tabs--desktop .mf-tabs__panel.is-active { animation: mf-fade .35s var(--ease); }
.mf-tabs:not(.mf-tabs--desktop) .mf-tabs__list { display: none; }
.mf-tabs:not(.mf-tabs--desktop) { display: block; }
.js .mf-tabs:not(.mf-tabs--desktop) .mf-tabs__acc { display: flex; }
.js .mf-tabs:not(.mf-tabs--desktop) .mf-tabs__body h3 { display: none; }
.js .mf-tabs:not(.mf-tabs--desktop) .mf-tabs__body { padding-top: 0; }
.js .mf-tabs:not(.mf-tabs--desktop) .mf-tabs__panel:not(.is-open) .mf-tabs__body { display: none; }
.mf-tabs__panel.is-open { border-color: rgba(201,146,42,.5); }

/* ---------- Closing banner (Elementor: full width Container, background #14273F) ---------- */
.mf-closing { position: relative; overflow: hidden; isolation: isolate; padding: clamp(64px, 9vw, 120px) var(--pad-x); background: var(--panel-2); border-top: 1px solid var(--line-2); text-align: center; }
.mf-closing::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(50% 80% at 50% 0%, rgba(201,146,42,.14), transparent 70%); }
.mf-closing .mf-compass { width: 720px; left: 50%; top: 50%; transform: translate(-50%, -50%); opacity: .35; }
.mf-closing__inner { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 20px; }
.mf-closing .mf-eyebrow { justify-content: center; color: var(--gold-hi); }
.mf-closing .mf-eyebrow::after { content: ""; width: 24px; height: 1px; background: currentColor; }
.mf-closing .mf-lead { color: #D3DEEE; margin: 0 auto; max-width: 52ch; }
.mf-closing .mf-actions { justify-content: center; }
.mf-closing .mf-mono { color: #A9BCD8; }

/* Inline apply CTA */
.mf-cta-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; padding: 8px 0; }

/* ---------- Footer (Elementor Theme Builder: Footer) ---------- */
.mf-footer { background: #081120; border-top: 1px solid var(--line); padding: clamp(56px, 6vw, 80px) var(--pad-x) 24px; }
.mf-footer__inner { max-width: 1320px; margin: 0 auto; display: flex; flex-direction: column; gap: 44px; }
.mf-footer__cols { display: flex; flex-wrap: wrap; gap: 40px clamp(28px, 4vw, 64px); }
.mf-footer__brand { flex: 1.4 1 280px; display: flex; flex-direction: column; gap: 18px; max-width: 360px; }
.mf-footer__brand p { font-size: 14px; line-height: 1.7; color: var(--text-3); font-weight: 300; }
.mf-footer__col { flex: 1 1 160px; display: flex; flex-direction: column; gap: 6px; }
.mf-footer__col--wide { flex: 2 1 400px; }
.mf-footer__title { font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.mf-footer ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.mf-footer__col--wide ul { flex-direction: row; flex-wrap: wrap; column-gap: 20px; }
.mf-footer__col--wide li { flex: 1 1 calc(50% - 20px); min-width: 180px; }
.mf-footer ul a { display: flex; align-items: center; min-height: 36px; font-size: 14px; color: var(--text-3); }
.mf-footer ul a:hover { color: var(--gold-hi); }
.mf-contact { display: flex; flex-direction: column; gap: 4px; }
.mf-contact li, .mf-contact a { display: flex; align-items: center; gap: 10px; min-height: 36px; font-size: 14px; color: var(--text-2); }
.mf-contact svg { width: 17px; height: 17px; color: var(--gold); flex-shrink: 0; }
.mf-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 28px; padding-top: 20px; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 11.5px; color: #7F95B8; letter-spacing: .02em; }
.mf-footer__legal nav { display: flex; gap: 20px; }
.mf-footer__legal a { color: #7F95B8; display: inline-flex; align-items: center; min-height: 44px; }
.mf-footer__legal a:hover { color: var(--gold-hi); }

/* ---------- Forms (vendors) (Elementor: Form widget) ---------- */
.mf-form { display: flex; flex-wrap: wrap; gap: 16px; text-align: left; }
.mf-field { flex: 1 1 calc(50% - 16px); min-width: min(100%, 240px); display: flex; flex-direction: column; gap: 7px; }
.mf-field--full { flex-basis: 100%; }
.mf-field label { font-family: var(--mono); font-size: 12px; color: var(--text-2); letter-spacing: .02em; }
.mf-field .req { color: var(--gold-hi); }
.mf-field input, .mf-field select { width: 100%; min-height: 50px; padding: 12px 14px; border-radius: 8px; border: 1px solid var(--line-2); background: rgba(10,21,38,.7); color: var(--text); font-family: var(--font); font-size: 15px; transition: border-color .2s, box-shadow .2s; }
.mf-field input::placeholder { color: #6F84A6; }
.mf-field input:focus, .mf-field select:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,146,42,.2); }
.mf-field select option { background: var(--panel); }
.mf-form__foot { flex-basis: 100%; display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 8px; text-align: center; }

/* Calendly card */
.mf-embed { background: #FFFFFF; border-radius: 14px; overflow: hidden; border: 1px solid rgba(201,146,42,.35); box-shadow: 0 30px 80px rgba(0,0,0,.35); }

/* ---------- Motion (Elementor: Entrance Animation "Fade In Up"; Motion Effects) ---------- */
.js [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--ease) var(--d, 0s), transform .8s var(--ease) var(--d, 0s); }
.js [data-reveal="zoom"] { transform: scale(.94); transition-duration: 1.1s; }
.js [data-reveal].is-in { opacity: 1; transform: none; }
/* Above the fold: play on load with CSS only, so the hero never waits on scroll detection */
.js .mf-hero [data-reveal] { opacity: 1; transform: none; transition: none; animation: mf-rise .9s var(--ease) both; animation-delay: var(--d, 0s); }
.js .mf-hero [data-reveal="zoom"] { animation-name: mf-zoom; animation-duration: 1.2s; }
@keyframes mf-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes mf-zoom { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }

@keyframes mf-spin { to { transform: rotate(360deg); } }
@keyframes mf-sway { from { transform: rotate(-4deg); } to { transform: rotate(4deg); } }
@keyframes mf-breathe { from { opacity: .7; } to { opacity: 1; } }
@keyframes mf-pulse { 0% { box-shadow: 0 0 0 0 rgba(201,146,42,.55); } 80%, 100% { box-shadow: 0 0 0 12px rgba(201,146,42,0); } }
@keyframes mf-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes mf-travel { 0% { left: 0; opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { left: 100%; opacity: 0; } }
@keyframes mf-travel-y { 0% { top: 0; opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { top: 100%; opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; transition-delay: 0s !important; }
  .mf-compass__ring, .mf-compass__needle, .mf-orb__ticks, .mf-pulse, .mf-steps__spark, .mf-hero::before { animation: none !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
  .js .mf-stats:not(.is-in) .mf-count { --n: var(--to); }
  .js .mf-steps:not(.is-in) .mf-steps__fill { transform: none; }
  .js .mf-steps:not(.is-in) .mf-step__dot { border-color: var(--gold); color: var(--gold); }
  .mf-steps__spark { display: none; }
}

/* ---------- Generated template helpers ---------- */
.mf-hero + .mf-section, .mf-hero + .mf-section--tight { border-top: 0; }
.mf-hero--legal { padding-bottom: clamp(32px, 4vw, 48px); }
.mf-hero--legal::after { display: none; }
.mf-section__head { max-width: 760px; }
.mf-cards--grid4, .mf-cards--grid3 { gap: 20px; justify-content: center; }
.mf-cards--grid4 > * { flex: 0 1 calc((100% - 60px) / 4); min-width: 0; }
.mf-cards--grid3 > * { flex: 0 1 calc((100% - 40px) / 3); min-width: 0; }
@media (max-width: 1024px) { .mf-cards--grid4 > * { flex-basis: calc((100% - 40px) / 3); } }
@media (max-width: 760px) { .mf-cards--grid4 > *, .mf-cards--grid3 > * { flex-basis: calc((100% - 20px) / 2); } .mf-ind__photo { width: 128px; height: 128px; } .mf-ind { padding: 22px 14px; } }
@media (max-width: 520px) { .mf-cards--grid3 > * { flex-basis: 100%; } }
@media (max-width: 400px) { .mf-cards--grid4 > * { flex-basis: 100%; } }
.mf-card--unit .mf-card__top { justify-content: flex-start; }
.mf-card__rule { flex: 1; height: 1px; background: linear-gradient(90deg, var(--line-2), transparent); }
.mf-card--unit p { color: var(--text-2); }
.mf-card--program { padding-bottom: 26px; }
.mf-card--program .mf-card__num { color: var(--gold); text-transform: uppercase; letter-spacing: .16em; font-size: 11px; }
.mf-card--program h3 a { color: #FFFFFF; }
.mf-stretch::after { content: ""; position: absolute; inset: 0; border-radius: var(--radius); }
.mf-card--program:hover { border-color: var(--gold); }
.mf-card--program:hover .mf-card__more svg { transform: translateX(3px); }
.mf-card--program:focus-within { border-color: var(--gold); }
.mf-icon--sm { width: 44px; height: 44px; padding: 11px; }
.mf-row--panels { align-items: stretch; gap: clamp(16px, 2vw, 24px); }
.mf-row--panels .mf-panel { flex: 1 1 380px; }
.mf-contact--row { flex-direction: row; flex-wrap: wrap; gap: 4px 28px; }
.mf-trio { position: relative; display: flex; align-items: center; justify-content: center; width: min(460px, 86vw); height: min(420px, 78vw); }
.mf-trio__item { position: absolute; border-radius: 50%; padding: 5px; background: conic-gradient(from 200deg, var(--gold), rgba(201,146,42,.15) 40%, var(--gold-hi) 70%, var(--gold)); box-shadow: 0 30px 60px rgba(0,0,0,.45); }
.mf-trio__item img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.mf-trio__item--0 { width: 58%; aspect-ratio: 1; left: 0; top: 4%; z-index: 2; }
.mf-trio__item--1 { width: 46%; aspect-ratio: 1; right: 0; top: 0; z-index: 1; }
.mf-trio__item--2 { width: 44%; aspect-ratio: 1; right: 10%; bottom: 0; z-index: 3; }
.mf-section--programs .mf-cards, .mf-section--features .mf-cards { margin-top: 4px; }
.mf-tabs + .mf-prose, .mf-cards + .mf-prose, .mf-steps + .mf-prose, .mf-panel + .mf-prose { max-width: 72ch; }

/* ---------- Small screens ---------- */
@media (max-width: 760px) {
  .mf-hero__visual { flex-basis: 100%; }
  .mf-card-stat { max-width: none; }
  .mf-tabs__list { position: static; }
  .mf-footer__col--wide li { flex-basis: 100%; }
  .mf-acc__item summary { padding: 16px 18px; }
  .mf-acc__a { padding: 0 18px 18px; }
  .mf-stat { flex-basis: 100%; margin-right: 0; border-right: 0; }
}
@media print { .mf-header, .mf-footer, .mf-closing, .mf-compass { display: none; } body { background: #fff; color: #000; } }

/* Meet the Founder on /about/. Photo left, copy right, stacked on phones.
   The portrait uses the same gold ring and rotating tick treatment as the industry photos. */
.mf-founder { display: flex; flex-wrap: wrap; gap: 44px 56px; align-items: flex-start; }
.mf-founder__aside { flex: 0 0 300px; display: flex; flex-direction: column; align-items: center; gap: 22px; position: sticky; top: 108px; }
.mf-founder__photo { position: relative; width: 300px; height: 300px; color: var(--line-2); }
.mf-founder__photo .mf-orb__ticks { position: absolute; inset: -9%; width: 118%; height: 118%; animation: mf-spin 160s linear infinite; }
.mf-founder__frame { position: absolute; inset: 0; border-radius: 50%; padding: 5px;
  background: conic-gradient(from 210deg, var(--gold), rgba(201,146,42,.15) 35%, var(--gold-hi) 60%, rgba(201,146,42,.15) 85%, var(--gold)); }
.mf-founder__frame img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: var(--panel-2); display: block; }
.mf-founder__quote { margin: 0; text-align: center; font-size: 17.5px; line-height: 1.5; font-weight: 600; color: var(--gold-hi); letter-spacing: -0.01em; max-width: 300px; }
.mf-founder__body { flex: 1 1 420px; min-width: min(100%, 420px); }
.mf-founder__body .mf-h2 { margin-bottom: 22px; }
.mf-founder__subhead { font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); margin: 32px 0 10px; }
.mf-founder__sig { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 13px; letter-spacing: .04em; color: var(--text-2); }
@media (max-width: 860px) {
  .mf-founder { gap: 28px; }
  .mf-founder__aside { flex-basis: 100%; position: static; }
  .mf-founder__photo { width: 220px; height: 220px; }
  .mf-founder__quote { font-size: 16.5px; }
}
@media (prefers-reduced-motion: reduce) { .mf-founder__photo .mf-orb__ticks { animation: none; } }
