/* M&F Standard — White Glove / Heavy Industry design system */

.mf-body {
  --mf-midnight: #071626;
  --mf-navy: #0b2035;
  --mf-blue: #8ecfff;
  --mf-sky: #c6e7ff;
  --mf-accent: #2b6590;
  --mf-linen: #f1ecdf;
  --mf-paper: #faf8f2;
  --mf-ink: #112131;
  --mf-rule: rgba(17, 33, 49, 0.18);
  --mf-light-rule: rgba(255, 255, 255, 0.2);
  background: var(--mf-midnight);
  min-width: 320px;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(142, 207, 255, .18);
}

.mf-body .shell { max-width: none; }
.mf-body main { overflow-x: hidden; }
@supports (overflow: clip) { .mf-body main { overflow-x: clip; } }

.mf-page {
  position: relative;
  color: var(--mf-ink);
  background: var(--mf-paper);
  font-family: "URW DIN", Helvetica, Arial, sans-serif;
}

.mf-page img { display: block; width: 100%; }
.mf-page em {
  font-family: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  font-weight: 400;
}

.mf-nav {
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 92px;
  padding: 0 clamp(24px, 4vw, 68px);
  border-bottom: 1px solid var(--mf-light-rule);
  color: #fff;
  background: var(--mf-midnight);
  padding-top: env(safe-area-inset-top);
  padding-right: max(clamp(24px, 4vw, 68px), env(safe-area-inset-right));
  padding-left: max(clamp(24px, 4vw, 68px), env(safe-area-inset-left));
}

.page-pages-home .mf-nav {
  position: absolute;
  background: linear-gradient(180deg, rgba(4, 14, 25, 0.78), transparent);
}

.mf-wordmark { display: inline-flex; align-items: center; gap: 13px; width: fit-content; }
.mf-wordmark__logo { width: 43px !important; height: 43px; object-fit: contain; filter: brightness(0) invert(1); opacity: 0.92; }
.mf-wordmark span { font-size: 18px; font-weight: 300; letter-spacing: 0.08em; text-transform: uppercase; }
.mf-wordmark b { font-weight: 900; }
.mf-nav .mf-wordmark__logo { width: 58px !important; height: 58px; }

.mf-nav__links { display: flex; gap: clamp(22px, 3vw, 46px); }
.mf-nav__links a,
.mf-nav__cta {
  color: rgba(255, 255, 255, 0.75);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  transition: color 180ms ease;
}
.mf-nav__links a:hover,
.mf-nav__cta:hover { color: #fff; }
.mf-nav__cta { justify-self: end; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,0.7); }

.mf-nav__actions { display: flex; align-items: center; justify-self: end; gap: clamp(18px, 2.2vw, 34px); }
.mf-lang { display: flex; align-items: center; gap: 5px; color: rgba(255,255,255,.34); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.mf-lang a { color: rgba(255,255,255,.44); }
.mf-lang a:hover, .mf-lang a.is-active { color: #fff; }
.mf-mobile-menu { display: none; position: relative; }
.mf-mobile-menu summary { display: flex; align-items: center; justify-content: flex-end; gap: 9px; min-width: 44px; min-height: 44px; color: #fff; cursor: pointer; list-style: none; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.mf-mobile-menu summary::-webkit-details-marker { display: none; }
.mf-mobile-menu summary i,
.mf-mobile-menu summary i::after { display: block; width: 17px; height: 1px; background: currentColor; content: ""; transition: transform 180ms ease; }
.mf-mobile-menu summary i::after { transform: translateY(5px); }
.mf-mobile-menu[open] summary i { transform: rotate(45deg); }
.mf-mobile-menu[open] summary i::after { transform: rotate(90deg); }
.mf-mobile-menu nav { position: absolute; top: 34px; right: 0; display: grid; width: min(280px, calc(100vw - 40px)); padding: 18px; border: 1px solid rgba(255,255,255,.16); background: rgba(4,14,25,.98); box-shadow: 0 24px 60px rgba(0,0,0,.34); }
.mf-mobile-menu nav a { display: flex; align-items: center; min-height: 44px; padding: 10px 9px; border-bottom: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.76); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.mf-mobile-menu nav a:last-child { border-bottom: 0; color: var(--mf-sky); }

.mf-hero {
  position: relative;
  min-height: min(900px, 100vh);
  min-height: min(900px, 100svh);
  overflow: hidden;
  color: #fff;
  background: var(--mf-midnight) url("/assets/mf-hero-poster-593b6ded.jpg") center / cover no-repeat;
}

.mf-hero__media,
.mf-hero__veil,
.mf-hero__grid { position: absolute; inset: 0; width: 100%; height: 100%; }
.mf-hero__media { object-fit: cover; opacity: 0.68; }
.mf-hero__media.is-video-fallback { opacity: 0; }
.mf-hero__veil {
  background:
    linear-gradient(90deg, rgba(3, 15, 28, 0.92) 0%, rgba(5, 20, 35, 0.78) 44%, rgba(5, 17, 29, 0.28) 78%),
    linear-gradient(0deg, rgba(4, 15, 26, 0.82) 0%, transparent 48%, rgba(4, 13, 23, 0.45) 100%);
}
.mf-hero__grid {
  opacity: 0.28;
  background-image: linear-gradient(to right, transparent calc(25% - 1px), rgba(255,255,255,0.14) 25%, transparent calc(25% + 1px));
  background-size: 25% 100%;
}

.mf-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: min(900px, 100vh);
  min-height: min(900px, 100svh);
  padding: 152px clamp(24px, 4vw, 68px) 118px;
}

.mf-kicker { display: flex; align-items: center; gap: 0; margin-bottom: 28px; }
.mf-kicker span {
  padding: 0 15px;
  border-left: 1px solid rgba(255,255,255,0.35);
  color: rgba(255,255,255,0.68);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.mf-kicker span:first-child { padding-left: 0; border-left: 0; }

.mf-hero h1 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(62px, 8vw, 124px);
  font-weight: 300;
  letter-spacing: -0.055em;
  line-height: 0.82;
}
.mf-hero h1 span,
.mf-hero h1 em { display: block; }
.mf-hero h1 em { margin-left: 0.5em; color: var(--mf-sky); font-size: 0.78em; letter-spacing: -0.045em; line-height: 1.02; }

.mf-hero__lower {
  display: grid;
  grid-template-columns: minmax(260px, 450px) auto;
  gap: 54px;
  align-items: end;
  width: calc(100% - min(350px, 28vw));
  margin-top: 62px;
}
.mf-hero__lower > p { max-width: 44ch; margin: 0; color: rgba(255,255,255,0.7); font-size: 16px; line-height: 1.68; }
.mf-actions { display: flex; align-items: center; gap: 28px; }

.mf-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 28px;
  border: 1px solid transparent;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}
.mf-button:hover { transform: translateY(-2px); }
.mf-button--light { color: var(--mf-midnight); background: var(--mf-linen); }
.mf-button--light:hover { background: #fff; }
.mf-button--dark { color: #fff; background: var(--mf-midnight); }
.mf-button--dark:hover { background: #153b5b; }

.mf-text-link {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  width: fit-content;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  color: var(--mf-sky);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.mf-text-link span { transition: transform 180ms ease; }
.mf-text-link:hover span { transform: translate(3px, -3px); }
.mf-text-link--light { color: var(--mf-sky); }

.mf-hero__ledger {
  position: absolute;
  z-index: 3;
  right: clamp(24px, 4vw, 68px);
  bottom: 72px;
  width: min(310px, 26vw);
  border: 1px solid rgba(255,255,255,0.22);
  background: rgba(7,22,38,0.56);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.mf-ledger__head,
.mf-ledger__row,
.mf-ledger__status { display: flex; align-items: center; justify-content: space-between; }
.mf-ledger__head { padding: 15px 18px; border-bottom: 1px solid var(--mf-light-rule); color: rgba(255,255,255,.48); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.mf-ledger__row { padding: 15px 18px; border-bottom: 1px solid var(--mf-light-rule); }
.mf-ledger__row strong { color: #fff; font-size: 30px; font-weight: 300; letter-spacing: -.04em; }
.mf-ledger__row span { color: rgba(255,255,255,.55); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.mf-ledger__status { justify-content: flex-start; gap: 9px; padding: 14px 18px; color: var(--mf-sky); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.mf-ledger__status i { width: 6px; height: 6px; border-radius: 50%; background: #7ee2b8; box-shadow: 0 0 0 4px rgba(126,226,184,.1); }

.mf-hero__foot {
  position: absolute;
  right: clamp(24px, 4vw, 68px);
  bottom: 28px;
  left: clamp(24px, 4vw, 68px);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 16px;
  color: rgba(255,255,255,.36);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.mf-hero__line { flex: 1; height: 1px; background: rgba(255,255,255,.18); }

.mf-section-mark { display: flex; flex-direction: column; gap: 4px; color: rgba(17,33,49,.48); font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.mf-section-mark span:first-child { color: var(--mf-ink); font-size: 12px; }
.mf-section-mark--light { color: rgba(255,255,255,.42); }
.mf-section-mark--light span:first-child { color: #fff; }
.mf-eyebrow { margin: 0 0 20px; color: #4c7090; font-size: 10px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.mf-eyebrow--light { color: var(--mf-blue); }

.mf-manifesto {
  display: grid;
  grid-template-columns: 140px minmax(0, 1.05fr) minmax(340px, .95fr);
  gap: clamp(32px, 5vw, 84px);
  padding: clamp(96px, 11vw, 168px) clamp(24px, 5.5vw, 88px);
  background: var(--mf-linen);
}
.mf-manifesto__copy h2,
.mf-process h2,
.mf-services h2,
.mf-people h2,
.mf-calculator h2,
.mf-close h2 {
  margin: 0;
  font-size: clamp(48px, 6vw, 88px);
  font-weight: 300;
  letter-spacing: -.05em;
  line-height: .96;
}
.mf-manifesto__copy h2 em,
.mf-process h2 em,
.mf-services h2 em,
.mf-people h2 em,
.mf-calculator h2 em,
.mf-close h2 em { color: #2b6590; }
.mf-manifesto__body { max-width: 51ch; margin: 42px 0 0 20%; color: #536270; font-size: 16px; line-height: 1.78; }
.mf-manifesto__figure { align-self: end; margin: 0; }
.mf-manifesto__figure img { min-height: 360px; object-fit: cover; }
.mf-manifesto__figure figcaption,
.mf-people__photo figcaption { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--mf-rule); color: #63717d; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.mf-process { position: relative; padding: clamp(96px, 11vw, 160px) clamp(24px, 5.5vw, 88px); color: #fff; background: var(--mf-midnight); }
.mf-process__intro { display: grid; grid-template-columns: 140px 1fr; column-gap: clamp(32px, 5vw, 84px); }
.mf-process__intro .mf-eyebrow { grid-column: 2; }
.mf-process__intro h2 { grid-column: 2; max-width: 850px; }
.mf-process__intro h2 em,
.mf-people h2 em,
.mf-close h2 em { color: var(--mf-sky); }
.mf-process__track { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 96px; border-top: 1px solid var(--mf-light-rule); }
.mf-process__step { position: relative; min-height: 290px; padding: 28px clamp(20px, 2.4vw, 40px) 36px; border-right: 1px solid var(--mf-light-rule); }
.mf-process__step:first-child { border-left: 1px solid var(--mf-light-rule); }
.mf-process__number { color: var(--mf-blue); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.mf-process__step h3 { margin: 86px 0 17px; font-size: 25px; font-weight: 500; letter-spacing: -.02em; }
.mf-process__step p { margin: 0; color: rgba(255,255,255,.52); font-size: 13px; line-height: 1.68; }
.mf-process__step i { position: absolute; top: -4px; left: -4px; width: 7px; height: 7px; border-radius: 50%; background: var(--mf-blue); box-shadow: 0 0 0 5px var(--mf-midnight); }
.mf-process__image { position: relative; margin: 80px 0 0 28%; }
.mf-process__image img { max-height: 610px; object-fit: cover; }
.mf-process__image figcaption { position: absolute; right: 0; bottom: 0; padding: 13px 18px; color: var(--mf-midnight); background: var(--mf-linen); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }

.mf-services { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); gap: clamp(54px, 8vw, 130px); padding: clamp(100px, 12vw, 180px) clamp(24px, 5.5vw, 88px); background: var(--mf-paper); }
.mf-services__head .mf-section-mark { margin-bottom: 76px; }
.mf-services__head h2 { font-size: clamp(48px, 5.5vw, 80px); }
.mf-services__head p { max-width: 38ch; margin: 38px 0 0 18%; color: #66727e; font-size: 15px; line-height: 1.7; }
.mf-services__list { border-top: 1px solid var(--mf-rule); }
.mf-service { display: grid; grid-template-columns: 48px minmax(180px, .8fr) minmax(220px, 1fr) 24px; gap: 20px; align-items: center; min-height: 116px; border-bottom: 1px solid var(--mf-rule); transition: padding 220ms ease, background 220ms ease; }
.mf-service:hover { padding-right: 16px; padding-left: 16px; background: rgba(142,207,255,.11); }
.mf-service__num { color: #7b8791; font-size: 10px; letter-spacing: .12em; }
.mf-service__title { font-size: 23px; font-weight: 500; letter-spacing: -.02em; }
.mf-service__copy { color: #75808a; font-size: 13px; line-height: 1.5; }
.mf-service__arrow { color: #2b6590; font-size: 16px; transition: transform 180ms ease; }
.mf-service:hover .mf-service__arrow { transform: translate(3px,-3px); }

.mf-people { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 760px; color: #fff; background: #0c2941; }
.mf-people__photo { display: flex; flex-direction: column; margin: 0; padding: clamp(34px,5vw,74px); background: var(--mf-linen); }
.mf-people__photo img { flex: 1; min-height: 540px; object-fit: cover; object-position: center; }
.mf-people__photo figcaption { color: #5e6a75; }
.mf-people__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(76px,8vw,126px) clamp(40px,6vw,96px); }
.mf-people__copy .mf-section-mark { margin-bottom: 72px; }
.mf-people__copy h2 { font-size: clamp(44px, 4.8vw, 70px); }
.mf-people blockquote { margin: 64px 0 0; padding-top: 28px; border-top: 1px solid var(--mf-light-rule); color: rgba(255,255,255,.78); font-family: "Iowan Old Style", Baskerville, serif; font-size: 20px; line-height: 1.55; }
.mf-quote-attr { margin: 18px 0 34px; color: var(--mf-blue); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

.mf-calculator { display: grid; grid-template-columns: minmax(0,.95fr) minmax(380px,1.05fr); gap: clamp(60px,9vw,150px); align-items: center; padding: clamp(100px,12vw,180px) clamp(24px,5.5vw,88px); background: var(--mf-linen); }
.mf-calculator__copy .mf-section-mark { margin-bottom: 70px; }
.mf-calculator__copy h2 { font-size: clamp(48px,5.5vw,80px); }
.mf-calculator__copy > p:not(.mf-eyebrow) { max-width: 45ch; margin: 34px 0; color: #63717d; font-size: 15px; line-height: 1.72; }
.mf-calculator__preview { padding: clamp(32px,4vw,60px); border: 1px solid rgba(17,33,49,.12); background: rgba(255,255,255,.56); box-shadow: 0 24px 70px rgba(45,54,61,.1); }
.mf-calc__top,
.mf-calc__foot { display: flex; justify-content: space-between; gap: 20px; color: #657481; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.mf-calc__value { padding: 74px 0 52px; }
.mf-calc__value span { display: block; margin-bottom: 13px; color: #687682; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.mf-calc__value strong { font-size: clamp(62px,7vw,104px); font-weight: 300; letter-spacing: -.06em; line-height: .9; }
.mf-calc__value small { margin-left: 8px; color: #687682; font-size: 13px; text-transform: uppercase; }
.mf-calc__scale { position: relative; height: 3px; margin-bottom: 22px; background: rgba(17,33,49,.15); }
.mf-calc__scale i { position: absolute; inset: 0 28% 0 0; background: #2b6590; }
.mf-calc__scale span { position: absolute; top: 50%; left: 72%; width: 15px; height: 15px; border: 3px solid var(--mf-linen); border-radius: 50%; background: #2b6590; transform: translate(-50%,-50%); }
.mf-calc__scale b { position: absolute; top: -10px; right: 0; color: #2b6590; }

.mf-close { position: relative; min-height: 720px; display: grid; place-items: center; overflow: hidden; text-align: center; color: #fff; background: var(--mf-midnight); }
.mf-close__wash { position: absolute; inset: 0; opacity: .27; background: radial-gradient(circle at 50% 115%, #6fc5ff 0, #1a5d88 23%, transparent 58%), linear-gradient(115deg, transparent 35%, rgba(137,208,255,.18) 50%, transparent 65%); }
.mf-close__content { position: relative; z-index: 1; padding: 100px 24px; }
.mf-close h2 { margin-bottom: 46px; font-size: clamp(54px,7vw,100px); }

.mf-footer { display: grid; grid-template-columns: 1.1fr 1fr .8fr 1fr; gap: 40px; align-items: start; padding: 58px clamp(24px,5.5vw,88px) 96px; color: rgba(255,255,255,.55); background: #040e19; }
.mf-wordmark--footer { color: #fff; }
.mf-footer p { margin: 0; font-size: 11px; line-height: 1.8; }
.mf-footer__links { display: grid; gap: 10px; color: rgba(255,255,255,.76); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.mf-footer__copy { text-align: right; }
.mf-footer__end { display: grid; justify-items: end; gap: 20px; }
.mf-footer__social { display: flex; gap: 16px; }
.mf-footer .social-link { color: rgba(255,255,255,.5); }
.mf-footer .social-link:hover { color: var(--mf-sky); }

/* Permanent public design system ------------------------------------------------ */

.mf-body .section {
  padding: clamp(82px, 9vw, 138px) clamp(24px, 5.5vw, 88px);
  color: var(--mf-ink);
  background: var(--mf-paper);
}

.mf-body .section--soft { background: var(--mf-linen); }
.mf-body .section--flush-top { padding-top: clamp(82px, 9vw, 138px); }

.mf-body .section--hero {
  position: relative;
  min-height: 620px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 82% 82%, rgba(91, 179, 235, .2), transparent 34%),
    linear-gradient(115deg, #071626 0%, #0b2035 58%, #102f4a 100%);
}

.mf-body .section--hero::before,
.mf-body .section--hero::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}
.mf-body .section--hero::before {
  opacity: .24;
  background-image: linear-gradient(to right, transparent calc(25% - 1px), rgba(255,255,255,.14) 25%, transparent calc(25% + 1px));
  background-size: 25% 100%;
}
.mf-body .section--hero::after {
  top: auto;
  right: clamp(24px, 5.5vw, 88px);
  bottom: 32px;
  left: clamp(24px, 5.5vw, 88px);
  height: 1px;
  background: rgba(255,255,255,.18);
}
.mf-body .section--hero > * { position: relative; z-index: 1; }

.mf-body .eyebrow {
  margin: 0 0 26px;
  color: var(--mf-accent);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.mf-body .section--hero .eyebrow { color: var(--mf-blue); }

.mf-body .display {
  max-width: 15ch;
  margin: 0;
  color: #fff;
  font-size: clamp(58px, 7vw, 102px);
  font-weight: 300;
  letter-spacing: -.055em;
  line-height: .94;
}
.mf-body .display--md { max-width: 16ch; font-size: clamp(54px, 6.6vw, 94px); }
.mf-body .display strong,
.mf-body .title strong,
.mf-body .cta-line strong,
.mf-close h2 strong {
  color: var(--mf-sky);
  font-family: "Iowan Old Style", Baskerville, "Times New Roman", serif;
  font-weight: 400;
}
/* .title/.cta-line render on paper/linen grounds, not the dark hero — the
   light --mf-sky accent above them fails contrast there, so darken them. */
.mf-body .title strong,
.mf-body .cta-line strong { color: var(--mf-accent); }

.mf-body .hero-row {
  display: grid;
  grid-template-columns: minmax(280px, 520px) auto;
  gap: 48px;
  align-items: end;
  margin-top: 52px;
}
.mf-body .lead { max-width: 50ch; margin: 0; color: #667581; font-size: 16px; line-height: 1.75; }
.mf-body .section--hero .lead { color: rgba(255,255,255,.66); }
.mf-body .hero-actions { display: flex; align-items: center; gap: 26px; }

.mf-body .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 28px;
  border: 1px solid var(--mf-midnight);
  border-radius: 0;
  color: #fff;
  background: var(--mf-midnight);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: transform 180ms ease, background 180ms ease;
}
.mf-body .btn:hover { background: #153b5b; transform: translateY(-2px); }
.mf-body .section--hero .btn { border-color: var(--mf-linen); color: var(--mf-midnight); background: var(--mf-linen); }
.mf-body .section--hero .btn:hover { background: #fff; }
.mf-body .btn--wide { width: 100%; }
.mf-body .text-link,
.mf-body .back-link,
.mf-body .apply-link { color: #2b6590; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 700; letter-spacing: .05em; }
.mf-body .section--hero .text-link,
.mf-body .section--hero .back-link { color: var(--mf-sky); }

.mf-body .photo-bleed { width: 100%; height: clamp(420px, 53vw, 700px); object-fit: cover; display: block; }
.mf-body .photo-bleed--service { height: clamp(390px, 45vw, 610px); }
.mf-body .photo-bleed--fit-contain { object-fit: contain; background: var(--mf-midnight); }

.mf-body .stats { display: grid; grid-template-columns: repeat(3,1fr); color: var(--mf-ink); background: var(--mf-linen); border: 0; }
.mf-body .stats > div { padding: clamp(42px,5vw,72px) clamp(24px,5.5vw,88px); border-bottom: 1px solid var(--mf-rule); }
.mf-body .stats > div + div { border-left: 1px solid var(--mf-rule); }
.mf-body .stat-value { color: #2b6590; font-size: clamp(52px,5vw,76px); font-weight: 300; letter-spacing: -.04em; }
.mf-body .stat-value small { font-size: .38em; }
.mf-body .stat-label { color: #687682; font-size: 9px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }

.mf-body .split { display: grid; grid-template-columns: minmax(180px,.52fr) minmax(0,1.48fr); gap: clamp(54px,9vw,150px); }
.mf-body .split-intro .eyebrow { margin-bottom: 26px; }
.mf-body .title { margin: 0; color: var(--mf-ink); font-size: clamp(38px,4.3vw,64px); font-weight: 300; letter-spacing: -.045em; line-height: 1; }
.mf-body .title--lg { font-size: clamp(44px,5vw,72px); }
.mf-body .split-intro > p:not(.eyebrow) { max-width: 36ch; margin: 30px 0 0; color: #687682; font-size: 14px; line-height: 1.7; }
.mf-body .intro-photo { width: 100%; max-width: 360px; margin-top: 36px; }

.mf-body .row-list { border-top: 1px solid var(--mf-rule); }
.mf-body .row-list .row {
  display: grid;
  grid-template-columns: 44px minmax(190px,.7fr) minmax(220px,1fr) 24px;
  gap: 20px;
  align-items: center;
  min-height: 112px;
  padding: 22px 0;
  border-top: 0;
  border-bottom: 1px solid var(--mf-rule);
  transition: padding 200ms ease, background 200ms ease;
}
.mf-body .row-list .row:hover { padding-right: 14px; padding-left: 14px; background: rgba(142,207,255,.11); }
.mf-body .row-num { width: auto; color: #7a8690; font-size: 10px; letter-spacing: .12em; }
.mf-body .row-title { width: auto; color: var(--mf-ink); font-size: 21px; font-weight: 500; letter-spacing: -.02em; }
.mf-body .row-desc { color: #6c7882; font-size: 13px; line-height: 1.58; }
.mf-body .row-arrow { color: #2b6590; }

.mf-body .leader-row { grid-template-columns: 84px minmax(180px,.7fr) minmax(220px,1fr); }
.mf-body .leader-photo { width: 68px; height: 82px; object-fit: cover; filter: saturate(.35); }
.mf-body .leader-row:hover .leader-photo { filter: none; }
.mf-body .posting-meta { margin-top: 8px; color: #75818b; font-size: 9px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }

.mf-body .photo-strip { display: grid; grid-template-columns: repeat(5,1fr); background: var(--mf-midnight); }
.mf-body .photo-strip img { width: 100%; height: clamp(220px,25vw,360px); object-fit: cover; filter: saturate(.72) contrast(1.03); transition: filter 220ms ease; }
.mf-body .photo-strip img:hover { filter: none; }

.mf-body .process { display: grid; grid-template-columns: repeat(4,1fr); color: #fff; background: var(--mf-midnight); border: 0; }
.mf-body .process > div { min-height: 280px; padding: 44px clamp(24px,3.2vw,52px); border-bottom: 1px solid var(--mf-light-rule); }
.mf-body .process > div + div { border-left: 1px solid var(--mf-light-rule); }
.mf-body .process-num { color: var(--mf-blue); font-size: 10px; letter-spacing: .14em; }
.mf-body .process-title { margin-top: 74px; color: #fff; font-size: 22px; font-weight: 500; }
.mf-body .process p { color: rgba(255,255,255,.52); font-size: 13px; line-height: 1.65; }

.mf-body .spec-head,
.mf-body .spec-row { display: grid; grid-template-columns: 2fr 1.35fr 1fr; }
.mf-body .spec-head { padding: 0 0 15px; color: #74818b; font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.mf-body .spec-row { padding: 22px 0; border-top: 1px solid var(--mf-rule); font-size: 14px; }
.mf-body .spec-row:last-child { border-bottom: 1px solid var(--mf-rule); }
.mf-body .spec-item { color: var(--mf-ink); font-weight: 700; }
.mf-body .spec-finish { color: #74808a; }
.mf-body .spec-turnaround { color: var(--mf-ink); }
.mf-body .spec-turnaround--rush { color: #2b6590; font-weight: 900; }

.mf-body .panel { padding: clamp(28px,4.5vw,60px); border: 1px solid rgba(17,33,49,.13); background: rgba(255,255,255,.62); box-shadow: 0 24px 70px rgba(45,54,61,.08); }
.mf-body .field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.mf-body .field { gap: 9px; }
.mf-body .field label { color: #64727e; font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.mf-body .field input[type="text"],
.mf-body .field input[type="email"],
.mf-body .field input[type="tel"],
.mf-body .field input[type="password"],
.mf-body .field select,
.mf-body .field textarea { padding: 15px 0; border: 0; border-bottom: 1px solid rgba(17,33,49,.3); color: var(--mf-ink); background: transparent; font-size: 16px; }
.mf-body .field input:focus,
.mf-body .field select:focus,
.mf-body .field textarea:focus { border-color: #2b6590; box-shadow: none; }
.mf-body .field-error { color: #a43737; }
.mf-body .dropzone { padding: 32px; border: 1px dashed rgba(17,33,49,.32); background: rgba(255,255,255,.3); color: #65737e; }
.mf-body .dropzone:hover,
.mf-body .dropzone.is-dragover { border-color: #2b6590; background: rgba(142,207,255,.1); }
.mf-body .applying-for { border-bottom-color: var(--mf-rule); }
.mf-body .applying-for strong { color: #2b6590; }
.mf-body .confirmation p { color: #65737e; }

.mf-body .calc-controls { gap: 42px; }
.mf-body .calc-control-head label { color: #64727e; }
.mf-body .calc-figure-input { color: var(--mf-ink); }
.mf-body .calc-slider { background: linear-gradient(to right, #2b6590 0%, #2b6590 var(--pct,50%), rgba(17,33,49,.18) var(--pct,50%), rgba(17,33,49,.18) 100%); }
.mf-body .calc-slider::-webkit-slider-thumb { background: #2b6590; }
.mf-body .calc-slider::-moz-range-thumb { background: #2b6590; }
.mf-body .calc-result-hero,
.mf-body .calc-breakdown { border-top-color: var(--mf-rule); }
.mf-body .calc-hero-value { color: #2b6590; font-size: clamp(58px,6vw,88px); }
.mf-body .calc-hero-sub,
.mf-body .calc-note { color: #687682; }
.mf-body .calc-mini--total { color: #2b6590; }

.page-pages-calculator .panel { overflow: hidden; }
.page-pages-calculator .calc-result-hero {
  margin-inline: -42px;
  padding: 36px 42px 34px;
  color: var(--mf-linen);
  background: var(--mf-ink);
  border-top: 0;
}
.page-pages-calculator .calc-result-hero .stat-label { color: rgba(246,241,231,.62); }
.page-pages-calculator .calc-hero-value { color: var(--mf-linen); }
.page-pages-calculator .calc-hero-sub { color: rgba(246,241,231,.58); }
.page-pages-calculator .calc-hero-sub span { color: var(--mf-linen); }
.page-pages-calculator .calc-budget-lens {
  display: grid;
  grid-template-columns: minmax(170px, .72fr) 1fr;
  gap: 30px;
  align-items: center;
  padding: 28px 0;
  border-bottom: 1px solid var(--mf-rule);
}
.page-pages-calculator .calc-budget-value {
  color: #2b6590;
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.025em;
  font-variant-numeric: tabular-nums;
}
.page-pages-calculator .calc-budget-lens .stat-label { margin-top: 0; color: var(--mf-ink); }
.page-pages-calculator .calc-budget-lens p {
  margin: 7px 0 0;
  color: #687682;
  font-size: 14px;
}
.page-pages-calculator .calc-note { margin-top: 22px; }

@media (max-width: 760px) {
  .page-pages-calculator .calc-result-hero { margin-inline: -20px; padding: 30px 20px; }
  .page-pages-calculator .calc-budget-lens { grid-template-columns: 1fr; gap: 12px; }
}

/* M&F Admin — the public midnight/linen system tuned for operational density. */
.mf-admin-body {
  --admin-midnight: #0b1824;
  --admin-ink: #142332;
  --admin-linen: #f3f0e8;
  --admin-paper: #fbfaf6;
  --admin-rule: rgba(20,35,50,.16);
  --admin-muted: #687682;
  --admin-blue: #2b6590;
  --admin-green: #4f8a6a;
  margin: 0;
  color: var(--admin-ink);
  background: var(--admin-linen);
  min-width: 320px;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(142,207,255,.18);
}
.mf-admin-body .shell { max-width: none; min-height: 100vh; }
.mf-admin-body .admin-nav {
  height: 78px;
  padding-inline: clamp(24px,4vw,64px);
  color: #f6f1e7;
  background: var(--admin-midnight);
  border: 0;
  padding-top: env(safe-area-inset-top);
  padding-right: max(clamp(24px,4vw,64px), env(safe-area-inset-right));
  padding-left: max(clamp(24px,4vw,64px), env(safe-area-inset-left));
}
.mf-admin-body .admin-nav .wordmark b,
.mf-admin-body .admin-nav .wordmark span { color: #f6f1e7; }
.mf-admin-body .admin-nav .wordmark span { font-weight: 300; opacity: .68; }
.mf-admin-body .admin-nav-links { color: rgba(246,241,231,.6); }
.mf-admin-body .admin-nav-links a:hover,
.mf-admin-body .admin-nav-links a.is-active { color: #fff; }
.mf-admin-body .admin-nav-links a.is-active { border-bottom-color: #8bb9a1; }
.mf-admin-body .admin-nav-links .btn-ghost {
  color: #f6f1e7;
  border-color: rgba(246,241,231,.28);
}
.mf-admin-body .admin-nav-links .btn-ghost:hover { background: rgba(255,255,255,.08); }
.mf-admin-body .admin-main {
  width: min(100%,1580px);
  min-height: calc(100vh - 78px);
  margin-inline: auto;
  padding: clamp(38px,5vw,72px) clamp(24px,4vw,64px) 80px;
  background: transparent;
}
.mf-admin-body .admin-head { align-items: flex-end; margin-bottom: 36px; }
.mf-admin-body .admin-head .title {
  color: var(--admin-ink);
  font-size: clamp(42px,5vw,66px);
  letter-spacing: -.035em;
}
.mf-admin-body .admin-head .title strong {
  color: var(--admin-blue);
  font-family: Georgia,"Times New Roman",serif;
  font-style: italic;
  font-weight: 400;
}
.mf-admin-body .admin-note { color: var(--admin-muted); font-size: 15px; }
.mf-admin-body .micro a { color: var(--admin-blue); }
.mf-admin-body .btn {
  color: #fff;
  background: var(--admin-midnight);
  border: 1px solid var(--admin-midnight);
}
.mf-admin-body .btn:hover { background: var(--admin-blue); border-color: var(--admin-blue); }
.mf-admin-body .btn-ghost { color: var(--admin-ink); border-color: var(--admin-rule); }
.mf-admin-body .btn-ghost:hover { background: rgba(20,35,50,.05); }
.mf-admin-body .positions-head,
.mf-admin-body .prospect-head { color: var(--admin-muted); padding-inline: 18px; }
.mf-admin-body .positions-row,
.mf-admin-body .prospect-row {
  padding-inline: 18px;
  background: var(--admin-paper);
  border-color: var(--admin-rule);
}
.mf-admin-body .positions-row:first-of-type,
.mf-admin-body .prospect-row:first-child { border-top: 1px solid var(--admin-rule); }
.mf-admin-body .positions-row:hover,
.mf-admin-body .prospect-row:hover,
.mf-admin-body .market-row:hover { background: #fff; }
.mf-admin-body .positions-row .pos-title { color: var(--admin-ink); }
.mf-admin-body .positions-row .pos-dept,
.mf-admin-body .pr-city,
.mf-admin-body .pr-seg,
.mf-admin-body .pr-legal { color: var(--admin-muted); }
.mf-admin-body .pos-actions .edit { color: var(--admin-blue); border-bottom-color: var(--admin-blue); }
.mf-admin-body .status-dot { background: var(--admin-green); }
.mf-admin-body .edit-panel {
  max-width: 760px;
  padding: clamp(28px,4vw,44px);
  background: var(--admin-paper);
  border-color: var(--admin-rule);
}
.mf-admin-body .mf-admin-about-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 24px;
  align-items: start;
}
.mf-admin-body .mf-admin-about-grid .edit-panel { max-width: none; margin: 0; }
.mf-admin-body .mf-admin-about-grid h2 {
  margin: 6px 0 28px;
  color: var(--admin-ink);
  font-size: clamp(28px,3vw,40px);
  letter-spacing: -.035em;
}
.mf-admin-body .mf-admin-about-grid h2 em {
  color: var(--admin-blue);
  font-family: Georgia,"Times New Roman",serif;
  font-weight: 400;
}
.mf-admin-body .mf-admin-stack-list { margin: 0; }
.mf-admin-body .mf-admin-stack-list > div,
.mf-admin-body .mf-admin-user-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 0;
  border-top: 1px solid var(--admin-rule);
}
.mf-admin-body .mf-admin-stack-list dt,
.mf-admin-body .mf-admin-user-row time {
  flex: 0 0 104px;
  color: var(--admin-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mf-admin-body .mf-admin-stack-list dd { margin: 0; text-align: right; }
.mf-admin-body .mf-admin-panel-note { margin: 28px 0 0; }
.mf-admin-body .mf-admin-panel-note a { color: var(--admin-blue); }
.mf-admin-body .mf-admin-user-form { display: grid; gap: 20px; margin-top: 26px; }
.mf-admin-body .mf-admin-user-list { margin-top: 40px; }
.mf-admin-body .mf-admin-user-row { align-items: baseline; }
.mf-admin-body .mf-admin-user-row span { overflow-wrap: anywhere; }
.mf-admin-body .mf-admin-user-row time { flex-basis: auto; text-align: right; text-transform: none; }
.mf-admin-body .field label,
.mf-admin-body .edit-panel-label { color: var(--admin-muted); }
.mf-admin-body .field input,
.mf-admin-body .field select,
.mf-admin-body .field textarea,
.mf-admin-body .filter-bar input[type="text"],
.mf-admin-body .filter-bar input[type="search"],
.mf-admin-body .filter-bar select {
  color: var(--admin-ink);
  background-color: #fff;
  border-color: var(--admin-rule);
}
.mf-admin-body .field input:focus,
.mf-admin-body .field select:focus,
.mf-admin-body .field textarea:focus,
.mf-admin-body .filter-bar input:focus,
.mf-admin-body .filter-bar select:focus {
  border-color: var(--admin-blue);
  box-shadow: 0 0 0 3px rgba(43,101,144,.14);
}
.mf-admin-body .tiles { gap: 8px; }
.mf-admin-body .tile {
  min-width: 112px;
  color: var(--admin-ink);
  background: var(--admin-paper);
  border-color: var(--admin-rule);
  border-radius: 0;
}
.mf-admin-body .tile:hover { background: #fff; border-color: var(--admin-blue); }
.mf-admin-body .tile.is-active { border-color: var(--admin-midnight); box-shadow: inset 0 0 0 1px var(--admin-midnight); }
.mf-admin-body .tile-num { color: var(--admin-ink); }
.mf-admin-body .tile-label,
.mf-admin-body .result-count { color: var(--admin-muted); }
.mf-admin-body .tier-chip,
.mf-admin-body .flag-chip,
.mf-admin-body .mini-btn { border-radius: 0; }
.mf-admin-body .tier-chip--a { background: var(--admin-green); }
.mf-admin-body .tier-chip--b { background: #b67c2e; }
.mf-admin-body .mini-btn { color: var(--admin-ink); background: #fff; border-color: var(--admin-rule); }
.mf-admin-body .flash { padding-inline: clamp(24px,4vw,64px); }
.mf-admin-body.admin-auth { background: var(--admin-midnight); }
.mf-admin-body .login-wrap {
  min-height: 100vh;
  color: var(--admin-ink);
  background: linear-gradient(rgba(11,24,36,.9),rgba(11,24,36,.96)), url("/assets/mf-production-58c7d593.jpg") center/cover;
  padding-top: max(64px, env(safe-area-inset-top));
  padding-right: max(48px, env(safe-area-inset-right));
  padding-bottom: max(64px, env(safe-area-inset-bottom));
  padding-left: max(48px, env(safe-area-inset-left));
}
.mf-admin-body .login-wrap::before {
  content: "STAFF OPERATIONS";
  margin-bottom: 32px;
  color: rgba(246,241,231,.55);
  font-size: 11px;
  letter-spacing: .24em;
}
.mf-admin-body .login-wrap .login-logo { filter: grayscale(1) brightness(3); }
.mf-admin-body .login-wrap .wordmark b,
.mf-admin-body .login-wrap .wordmark span { color: #f6f1e7; }
.mf-admin-body .login-bar { width: 44px; background: #8bb9a1; }
.mf-admin-body .login-form {
  width: min(100%,390px);
  padding: 34px;
  background: var(--admin-paper);
}
.mf-admin-body .login-foot { color: rgba(246,241,231,.42); }
.mf-admin-body .login-help a { color: var(--admin-blue); border-bottom-color: var(--admin-blue); }
@media (max-width: 760px) {
  .mf-admin-body .admin-nav { height: auto; min-height: calc(78px + env(safe-area-inset-top)); gap: 18px; flex-wrap: wrap; padding-top: calc(18px + env(safe-area-inset-top)); padding-right: max(18px, env(safe-area-inset-right)); padding-bottom: 18px; padding-left: max(18px, env(safe-area-inset-left)); }
  .mf-admin-body .admin-nav-links { width: 100%; gap: 18px; flex-wrap: wrap; }
  .mf-admin-body .admin-main { padding-inline: 18px; }
  .mf-admin-body .admin-head { align-items: flex-start; flex-direction: column; }
  .mf-admin-body .mf-admin-about-grid { grid-template-columns: 1fr; }
  .mf-admin-body .positions-row,
  .mf-admin-body .prospect-row { padding: 16px; }
  .mf-admin-body .login-wrap { padding: max(40px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(40px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); }
  .mf-admin-body .login-form { padding: 28px 22px; }
}

.mf-body .contact-lines { display: grid; gap: 5px; margin-top: 56px; }
.mf-body .contact-lines a,
.mf-body .contact-lines span { color: #fff; font-size: clamp(28px,4vw,54px); font-weight: 300; line-height: 1.2; }
.mf-body .contact-lines a:hover { color: var(--mf-sky); }
.mf-body .micro { color: #6f7c86; font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.mf-body .section--hero .micro { color: rgba(255,255,255,.45); }

.mf-body .posting-facts { display: flex; flex-wrap: wrap; gap: 12px 22px; color: rgba(255,255,255,.52); }
.mf-body .posting-facts .posting-pay { color: var(--mf-sky); }
.mf-body .posting-body { gap: 52px; }
.mf-body .posting-block-title { color: #65727d; border-bottom-color: var(--mf-rule); }
.mf-body .posting-list li,
.mf-body .posting-text { color: var(--mf-ink); }
.mf-body .posting-list li::before { background: #2b6590; }
.mf-body .posting-list--check li::before { color: #2b6590; background: transparent; }

.mf-close--compact { min-height: 590px; }
.mf-close--compact h2 { font-size: clamp(46px,6vw,84px); }

.mf-body .flash { position: relative; z-index: 20; border: 0; color: var(--mf-midnight); background: var(--mf-sky); }

.mf-reveal--ready { opacity: 0; transform: translateY(26px); transition: opacity 700ms cubic-bezier(.2,.7,.2,1), transform 700ms cubic-bezier(.2,.7,.2,1); }
.mf-reveal--ready.is-visible { opacity: 1; transform: none; }

@media (max-width: 1060px) {
  .mf-nav { grid-template-columns: 1fr auto; }
  .mf-nav__links { display: none; }
  .mf-mobile-menu { display: block; }
  .mf-nav__cta { display: none; }
  .mf-hero__ledger { display: none; }
  .mf-hero__lower { grid-template-columns: 1fr; width: 100%; }
  .mf-manifesto { grid-template-columns: 90px 1fr; }
  .mf-manifesto__figure { grid-column: 2; }
  .mf-process__intro { grid-template-columns: 90px 1fr; }
  .mf-services { grid-template-columns: 1fr; }
  .mf-services__head { display: grid; grid-template-columns: 90px 1fr; column-gap: 34px; }
  .mf-services__head .mf-section-mark { grid-row: 1 / 4; margin: 0; }
  .mf-services__head p { margin-left: 0; }
  .mf-people { grid-template-columns: 1fr; }
  .mf-people__photo { min-height: 680px; }
  .mf-calculator { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .mf-nav {
    min-height: calc(76px + env(safe-area-inset-top));
    padding-right: max(20px, env(safe-area-inset-right));
    padding-left: max(20px, env(safe-area-inset-left));
  }
  .mf-lang { display: none; }
  .mf-hero__media { display: none; }
  .mf-wordmark__logo { width: 36px !important; height: 36px; }
  .mf-nav .mf-wordmark__logo { width: 48px !important; height: 48px; }
  .mf-wordmark span { font-size: 15px; }
  .mf-hero { min-height: 760px; min-height: max(760px, 100svh); }
  .mf-hero__content {
    justify-content: flex-end;
    min-height: 760px;
    min-height: max(760px, 100svh);
    padding: calc(116px + env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
  }
  .mf-kicker span:nth-child(n+2) { display: none; }
  .mf-hero h1 { font-size: clamp(54px,17vw,78px); line-height: .87; }
  .mf-hero h1 em { margin: .15em 0 0; font-size: .74em; line-height: .9; }
  .mf-hero__lower { gap: 34px; margin-top: 42px; }
  .mf-actions { align-items: flex-start; flex-direction: column; gap: 24px; }
  .mf-hero__foot { right: max(20px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); left: max(20px, env(safe-area-inset-left)); }
  .mf-hero__foot span:first-child { display: none; }
  .mf-hero__grid { background-size: 50% 100%; }

  .mf-manifesto,
  .mf-process,
  .mf-services,
  .mf-calculator { padding: 88px 20px; }
  .mf-manifesto { display: block; }
  .mf-manifesto .mf-section-mark,
  .mf-process .mf-section-mark,
  .mf-services .mf-section-mark,
  .mf-calculator .mf-section-mark { margin-bottom: 54px; }
  .mf-manifesto__copy h2,
  .mf-process h2,
  .mf-services h2,
  .mf-people h2,
  .mf-calculator h2 { font-size: 48px; }
  .mf-manifesto__body { margin: 34px 0 52px; }
  .mf-manifesto__figure img { min-height: 260px; }

  .mf-process__intro { display: block; }
  .mf-process__track { grid-template-columns: 1fr; margin-top: 62px; }
  .mf-process__step,
  .mf-process__step:first-child { min-height: auto; padding: 28px 8px 28px 42px; border-right: 0; border-left: 1px solid var(--mf-light-rule); }
  .mf-process__step h3 { margin: 22px 0 12px; }
  .mf-process__image { margin: 60px 0 0; }
  .mf-process__image img { min-height: 420px; object-fit: cover; }

  .mf-services__head { display: block; }
  .mf-services__head p { margin: 32px 0 48px; }
  .mf-service { grid-template-columns: 34px 1fr 22px; gap: 12px; min-height: 98px; }
  .mf-service__copy { display: none; }
  .mf-service__title { font-size: 20px; }

  .mf-people__photo { min-height: auto; padding: 20px; }
  .mf-people__photo img { min-height: 360px; }
  .mf-people__photo figcaption span:first-child { display: none; }
  .mf-people__copy { padding: 88px 20px 104px; }
  .mf-people__copy .mf-section-mark { margin-bottom: 54px; }
  .mf-people blockquote { margin-top: 48px; }

  .mf-calculator__preview { padding: 28px 20px; }
  .mf-calc__top span:first-child,
  .mf-calc__foot span:first-child { display: none; }
  .mf-calc__value { padding: 56px 0 40px; }
  .mf-calc__value strong { font-size: 64px; }

  .mf-close { min-height: 620px; }
  .mf-close h2 { font-size: 50px; }
  .mf-footer { grid-template-columns: 1fr; padding: 54px max(20px, env(safe-area-inset-right)) max(110px, calc(54px + env(safe-area-inset-bottom))) max(20px, env(safe-area-inset-left)); }
  .mf-footer__copy { text-align: left; }
  .mf-footer__end { justify-items: start; }

  .mf-body .section { padding: 78px 20px; }
  .mf-body .section--hero { min-height: 560px; }
  .mf-body .section--hero::before { background-size: 50% 100%; }
  .mf-body .display,
  .mf-body .display--md { font-size: 50px; }
  .mf-body .hero-row { grid-template-columns: 1fr; gap: 34px; }
  .mf-body .hero-actions { flex-wrap: wrap; }
  .mf-body .stats { grid-template-columns: 1fr; }
  .mf-body .stats > div + div { border-left: 0; }
  .mf-body .split { grid-template-columns: 1fr; gap: 50px; }
  .mf-body .row-list .row { grid-template-columns: 34px 1fr 22px; }
  .mf-body .row-desc { display: none; }
  .mf-body .leader-row { grid-template-columns: 74px 1fr; }
  .mf-body .leader-row .row-desc { display: block; grid-column: 2; }
  .mf-body .photo-strip { grid-template-columns: repeat(2,1fr); }
  .mf-body .photo-strip img:last-child { display: none; }
  .mf-body .process { grid-template-columns: 1fr; }
  .mf-body .process > div + div { border-left: 0; }
  .mf-body .process > div { min-height: auto; }
  .mf-body .process-title { margin-top: 36px; }
  .mf-body .field-grid { grid-template-columns: 1fr; }
  .mf-body .spec-head,
  .mf-body .spec-row { grid-template-columns: 1.5fr 1fr; }
  .mf-body .spec-head span:nth-child(2),
  .mf-body .spec-finish { display: none; }

  .mf-body input,
  .mf-body select,
  .mf-body textarea,
  .mf-admin-body input,
  .mf-admin-body select,
  .mf-admin-body textarea { font-size: 16px; }

  .mf-reveal--ready { opacity: 1; transform: none; }
}

@media (hover: none) {
  .mf-button:hover,
  .mf-body .btn:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .mf-page *, .mf-page *::before, .mf-page *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
