/*
 * Marketing Fanda — design system
 * ---------------------------------------------------------------
 * Every class is prefixed `mf-` and every custom property `--mf-`,
 * so nothing here can collide with Elementor, WordPress core, or a
 * plugin you install in three years' time.
 *
 * Change the palette or the fonts in ONE place: the :root block
 * below. Everything else follows.
 *
 * Full class reference: see SETUP-ELEMENTOR.md
 * ---------------------------------------------------------------
 */

/* Elementor sections get the canvas and base typography */
body{
  background:var(--mf-void);
  color:var(--mf-bone);
  font-family:var(--mf-sans);
  font-weight:300;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* Every link state, not just the resting one. Hello Elementor and most
   plugins set a blue on :hover and :visited — that would break the
   monochrome palette, and it did: the wordmark went dark blue on hover. */
body a,
body a:link,
body a:visited,
body a:hover,
body a:focus,
body a:active{color:inherit;text-decoration:none}
body img,body svg{display:block;max-width:100%}
::selection{background:var(--mf-bone);color:var(--mf-void)}

/* image slots read their picture from a variable, so Elementor's own
   background control can drive it, or you can set it per section */
.mf-img-slot{background-image:var(--mf-img,none)}

:root{
  /* canvas — near-black, barely graded */
  --mf-void:#08080A;
  --mf-void-2:#0C0C0E;
  --mf-void-3:#101012;

  /* ink — warm bone rather than pure white, softer on black */
  --mf-bone:#EFEDE8;
  --mf-bone-2:#A5A39D;
  --mf-bone-3:#82807B;

  /* the single restrained warmth — hairlines and active marks only */
  --mf-champagne:#C4B79C;

  --mf-hair:rgba(239,237,232,.13);
  --mf-hair-soft:rgba(239,237,232,.07);

  --mf-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --mf-sans:"Inter",-apple-system,system-ui,sans-serif;

  --mf-pad:clamp(22px,5.5vw,90px);
  --mf-ease:cubic-bezier(.19,1,.22,1);
  --mf-slow:1.15s;
}
.mf-grain body::after{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
.mf-wrap{max-width:1240px;margin:0 auto;padding:0 var(--mf-pad)}
.mf-narrow{max-width:760px;margin:0 auto}
.mf-micro{
  font-family:var(--mf-sans);font-weight:400;font-size:10.5px;
  letter-spacing:.3em;text-transform:uppercase;color:var(--mf-bone-3);
  line-height:1.9;
}
.mf-micro-lg{font-size:11.5px;letter-spacing:.26em}
.mf-serif-caps{
  font-family:var(--mf-serif);font-weight:300;text-transform:uppercase;
  letter-spacing:.16em;line-height:1;
  /* tracking pushes optical centre right; pull it back */
  margin-right:-.16em;
}
.mf-serif-italic{
  font-family:var(--mf-serif);font-style:italic;font-weight:300;
  letter-spacing:.02em;color:var(--mf-bone-2);
}
h1{font-size:clamp(2.05rem,7.6vw,6.6rem)}
h2{font-size:clamp(1.6rem,4.4vw,3.5rem)}
h3{font-family:var(--mf-serif);font-weight:400;font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.15;letter-spacing:.01em}
.mf-body-sm{font-size:.9rem;line-height:1.85;color:var(--mf-bone-2);font-weight:300}
.mf-body-md{font-size:1rem;line-height:1.85;color:var(--mf-bone-2);font-weight:300}
.mf-dash{width:34px;height:1px;background:var(--mf-champagne);opacity:.55;margin:26px 0}
.mf-dash.mf-mid{margin-left:auto;margin-right:auto}
.mf-rule{height:1px;background:var(--mf-hair-soft);border:0}
.mf-lnk{
  display:inline-block;position:relative;padding-bottom:5px;
  font-family:var(--mf-sans);font-weight:400;font-size:10.5px;
  letter-spacing:.3em;text-transform:uppercase;color:var(--mf-bone);
}
.mf-lnk::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:var(--mf-bone);transform-origin:left;transform:scaleX(1);
  transition:transform .7s var(--mf-ease);
}
.mf-lnk:hover::after{transform:scaleX(0);transform-origin:right}
.mf-btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--mf-sans);font-weight:400;font-size:10.5px;
  letter-spacing:.3em;text-transform:uppercase;
  padding:1.5em 2.6em;border:1px solid var(--mf-hair);
  position:relative;overflow:hidden;color:var(--mf-bone);
  transition:color .75s var(--mf-ease),border-color .75s var(--mf-ease);
}
.mf-btn span{position:relative;z-index:2}
.mf-btn::before{
  content:"";position:absolute;inset:0;background:var(--mf-bone);
  transform:scaleY(0);transform-origin:bottom;
  transition:transform .75s var(--mf-ease);
}
.mf-btn:hover{color:var(--mf-void);border-color:var(--mf-bone)}
.mf-btn:hover::before{transform:scaleY(1)}
.mf-btn-solid{background:var(--mf-bone);color:var(--mf-void);border-color:var(--mf-bone)}
.mf-btn-solid::before{background:var(--mf-void);transform:scaleY(0)}
.mf-btn-solid:hover{color:var(--mf-bone);border-color:var(--mf-bone)}
.mf-img-slot{
  position:absolute;inset:0;z-index:-2;
  background-color:#0A0A0C;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  filter:saturate(.15) contrast(1.06) brightness(.82);
}
.mf-img-slot::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(58% 74% at 50% 34%,rgba(255,255,255,.11),transparent 62%),
    radial-gradient(40% 50% at 22% 74%,rgba(255,255,255,.05),transparent 70%),
    radial-gradient(34% 44% at 82% 22%,rgba(255,255,255,.06),transparent 72%);
}
.mf-veil{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(8,8,10,.62) 0%,rgba(8,8,10,.14) 34%,rgba(8,8,10,.72) 82%,var(--mf-void) 100%),
    radial-gradient(120% 90% at 50% 50%,transparent 34%,rgba(8,8,10,.68) 100%);
}
.mf-rv{opacity:0;transform:translateY(22px);transition:opacity var(--mf-slow) var(--mf-ease),transform var(--mf-slow) var(--mf-ease)}
.mf-rv.mf-in{opacity:1;transform:none}
.mf-rv-track{opacity:0;letter-spacing:.34em;transition:opacity 1.5s var(--mf-ease),letter-spacing 1.5s var(--mf-ease)}
.mf-rv-track.mf-in{opacity:1;letter-spacing:.16em}
.mf-skip{
  position:absolute;left:-9999px;top:0;z-index:1200;
  background:var(--mf-bone);color:var(--mf-void);
  font-family:var(--mf-sans);font-size:10.5px;letter-spacing:.28em;
  text-transform:uppercase;padding:16px 26px;
}
.mf-skip:focus{left:0}
header#hdr{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  border-bottom:1px solid transparent;
  transition:background .8s var(--mf-ease),backdrop-filter .8s,border-color .8s;
}
header#hdr.mf-stuck{
  background:rgba(8,8,10,.72);backdrop-filter:blur(16px) saturate(120%);
  border-bottom-color:var(--mf-hair-soft);
}
.mf-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:88px}
.mf-wordmark{
  font-family:var(--mf-serif);font-weight:400;font-size:.95rem;
  letter-spacing:.36em;text-transform:uppercase;white-space:nowrap;
  color:var(--mf-bone);justify-self:start;
  transition:opacity .6s var(--mf-ease);
}
.mf-wordmark:hover{opacity:.7}
.mf-nav-main{justify-self:center}
.mf-nav-links{display:flex;align-items:center;gap:clamp(20px,3vw,46px);list-style:none}
.mf-nav-links > li > a,
.mf-menu-toggle{
  font-family:var(--mf-sans);font-weight:400;font-size:10.5px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--mf-bone-2);
  position:relative;padding:10px 0;display:inline-flex;align-items:center;gap:.7em;
  background:none;border:0;cursor:pointer;line-height:1;
  transition:color .6s var(--mf-ease);
}
.mf-nav-links > li > a::after,
.mf-menu-toggle::after{
  content:"";position:absolute;left:50%;bottom:2px;width:14px;height:1px;
  background:var(--mf-champagne);transform:translateX(-50%) scaleX(0);
  transition:transform .6s var(--mf-ease);
}
.mf-nav-links > li > a:hover,
.mf-nav-links > li > a[aria-current="page"],
.mf-has-menu.mf-is-section > .mf-menu-toggle{color:var(--mf-bone)}
.mf-menu-toggle:hover,
.mf-menu-toggle:focus-visible,
.mf-has-menu.mf-open > .mf-menu-toggle{color:var(--mf-red)}
.mf-nav-links > li > a:hover::after,
.mf-nav-links > li > a[aria-current="page"]::after,
.mf-menu-toggle:hover::after,
.mf-has-menu.mf-is-section > .mf-menu-toggle::after,
.mf-has-menu.mf-open > .mf-menu-toggle::after{transform:translateX(-50%) scaleX(1)}
.mf-caret{width:9px;height:6px;flex:none;opacity:.6;transition:transform .5s var(--mf-ease),opacity .5s}
.mf-has-menu.mf-open .mf-caret{transform:rotate(180deg);opacity:1}
.mf-has-menu{position:relative}
.mf-menu{
  position:absolute;left:50%;top:100%;transform:translateX(-50%) translateY(8px);
  min-width:296px;list-style:none;padding:12px 0;margin-top:2px;
  background:rgba(10,10,12,.97);backdrop-filter:blur(18px);
  border:1px solid var(--mf-hair-soft);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .45s var(--mf-ease),transform .45s var(--mf-ease),visibility .45s;
}
.mf-has-menu.mf-open > .mf-menu,
.mf-has-menu:focus-within > .mf-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
@media (hover:hover){
  .mf-has-menu:hover > .mf-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
}
.mf-menu a{
  display:block;padding:11px 26px;
  font-family:var(--mf-serif);font-weight:300;font-size:1rem;letter-spacing:.03em;
  color:var(--mf-bone-2);transition:color .4s var(--mf-ease),background .4s var(--mf-ease);
}
.mf-menu a:hover{color:var(--mf-bone);background:rgba(239,237,232,.04)}
.mf-menu a[aria-current="page"]{color:var(--mf-bone)}
.mf-menu a[aria-current="page"]::before{
  content:"";display:inline-block;width:12px;height:1px;background:var(--mf-champagne);
  vertical-align:middle;margin-right:12px;margin-left:-24px;
}
.mf-nav-right{display:flex;justify-content:flex-end}
.mf-burger{
  display:none;background:none;border:0;color:var(--mf-bone);
  cursor:pointer;padding:10px;justify-self:end;
}
.mf-burger svg{width:22px;height:22px}
.mf-sheet{
  position:fixed;inset:0;z-index:1100;
  background:rgba(8,8,10,.985);backdrop-filter:blur(20px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:88px 24px 40px;overflow-y:auto;
  opacity:0;transition:opacity .5s var(--mf-ease);
}
.mf-sheet.mf-open{opacity:1}
.mf-sheet[hidden]{display:none}
.mf-sheet-close{
  position:absolute;top:30px;right:calc(var(--mf-pad) - 10px);
  background:none;border:0;color:var(--mf-bone);cursor:pointer;padding:10px;
}
.mf-sheet-close svg{width:20px;height:20px}
.mf-sheet-nav{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.mf-sheet-nav a{
  font-family:var(--mf-serif);font-weight:300;text-transform:uppercase;
  letter-spacing:.16em;font-size:clamp(1rem,4.2vw,1.4rem);
  color:var(--mf-bone-2);padding:10px 6px;transition:color .4s var(--mf-ease);
}
.mf-sheet-nav a:hover,.mf-sheet-nav a[aria-current="page"]{color:var(--mf-bone)}
.mf-sheet-nav a[aria-current="page"]{position:relative}
.mf-sheet-nav a[aria-current="page"]::after{
  content:"";position:absolute;left:50%;bottom:4px;width:16px;height:1px;
  background:var(--mf-champagne);transform:translateX(-50%);
}
.mf-sheet-home{
  border-bottom:1px solid var(--mf-hair-soft);
  padding-bottom:16px!important;margin-bottom:12px;min-width:180px;
}
.mf-sheet-mail{
  margin-top:38px;font-family:var(--mf-sans);font-size:9.5px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--mf-bone-3);
}
@media (max-width:1080px){
  .mf-nav{grid-template-columns:1fr auto}
  .mf-nav-main,.mf-nav-right{display:none}
  .mf-burger{display:block}
}
@media (prefers-reduced-motion:reduce){
  .mf-sheet{transition:none}
}
.mf-hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  padding:150px var(--mf-pad) 130px;overflow:hidden;isolation:isolate;
}
.mf-hero .mf-img-slot{
  /* REPLACE → background-image:url('hero.jpg'); */
}
.mf-hero-inner{position:relative;max-width:1000px;width:100%}
.mf-hero .mf-micro{margin-bottom:clamp(30px,6vh,58px)}
.mf-hero .mf-lead-italic{
  font-size:clamp(1.05rem,2.5vw,1.9rem);margin-bottom:.5em;display:block;
}
.mf-hero h1{margin-bottom:0}
.mf-hero .mf-sub{
  font-family:var(--mf-serif);font-weight:300;font-style:italic;
  font-size:clamp(1rem,1.9vw,1.45rem);color:var(--mf-bone-2);
  letter-spacing:.02em;margin-top:.9em;
}
.mf-hero .mf-body-sm{max-width:62ch;margin:0 auto}
.mf-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:clamp(34px,5vh,52px)}
.mf-cue{
  position:absolute;left:50%;bottom:clamp(26px,5vh,50px);transform:translateX(-50%);
  width:52px;height:52px;border-radius:50%;
  border:1px solid var(--mf-hair);display:grid;place-items:center;
  color:var(--mf-bone-2);transition:border-color .6s,color .6s,transform .6s var(--mf-ease);
  z-index:3;
}
.mf-cue::before{
  content:"";position:absolute;inset:-1px;border-radius:50%;
  border:1px solid rgba(239,237,232,.22);animation:halo 3.6s ease-out infinite;
}
.mf-cue svg{width:13px;height:13px;animation:nudge 3s ease-in-out infinite}
.mf-cue:hover{border-color:var(--mf-bone);color:var(--mf-bone)}
@keyframes halo{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.55);opacity:0}}
@keyframes nudge{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
.mf-index-strip{border-top:1px solid var(--mf-hair-soft);border-bottom:1px solid var(--mf-hair-soft);background:var(--mf-void-2)}
.mf-index-strip .mf-wrap{
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding-top:26px;padding-bottom:26px;
}
.mf-index-strip span{font-family:var(--mf-sans);font-weight:400;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--mf-bone-3)}
.mf-about{padding:clamp(100px,17vh,190px) 0;text-align:center}
.mf-about h2{margin-bottom:0}
.mf-about .mf-quiet{font-family:var(--mf-serif);font-style:italic;font-weight:300;letter-spacing:.02em;text-transform:none;display:block;font-size:.5em;color:var(--mf-bone-2);margin-bottom:.5em}
.mf-about .mf-body-md{max-width:58ch;margin:0 auto 24px}
.mf-about .mf-body-md strong{color:var(--mf-bone);font-weight:400}
.mf-proof{padding:0 0 clamp(100px,17vh,190px)}
.mf-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--mf-hair);border-bottom:1px solid var(--mf-hair)}
.mf-stat{padding:clamp(32px,4vw,58px) clamp(18px,2.4vw,34px);text-align:center;border-right:1px solid var(--mf-hair-soft)}
.mf-stat:last-child{border-right:0}
.mf-stat b{
  display:block;font-family:var(--mf-serif);font-weight:300;
  font-size:clamp(2.4rem,4.6vw,3.9rem);line-height:1;letter-spacing:.04em;
  color:var(--mf-bone);margin-bottom:18px;
}
.mf-stat p{font-family:var(--mf-sans);font-weight:300;font-size:.8rem;line-height:1.75;color:var(--mf-bone-3);letter-spacing:.02em}
.mf-services{padding:clamp(100px,17vh,190px) 0;background:var(--mf-void-2)}
.mf-sec-head{text-align:center;margin-bottom:clamp(56px,9vh,100px)}
.mf-sec-head h2{margin-bottom:0}
.mf-sec-head .mf-body-sm{max-width:46ch;margin:0 auto}
.mf-svc-list{border-top:1px solid var(--mf-hair)}
.mf-svc{
  display:grid;grid-template-columns:74px minmax(0,1.05fr) minmax(0,1.25fr) 120px;
  gap:clamp(20px,3.5vw,56px);align-items:start;
  padding:clamp(30px,4.2vw,54px) clamp(6px,1.6vw,26px);
  border-bottom:1px solid var(--mf-hair);
  position:relative;isolation:isolate;
  transition:padding-left .8s var(--mf-ease);
}
.mf-svc::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--mf-void-3);
  opacity:0;transition:opacity .8s var(--mf-ease);
}
.mf-svc:hover::before{opacity:1}
.mf-svc:hover{padding-left:clamp(16px,2.6vw,42px)}
.mf-svc-num{font-family:var(--mf-serif);font-weight:300;font-size:1.05rem;letter-spacing:.18em;color:var(--mf-bone-3);padding-top:.32em;transition:color .7s var(--mf-ease)}
.mf-svc:hover .mf-svc-num{color:var(--mf-champagne)}
.mf-svc-title h3{margin-bottom:14px}
.mf-svc-title .mf-kicker{font-family:var(--mf-serif);font-style:italic;font-weight:300;font-size:1rem;color:var(--mf-bone-2);letter-spacing:.02em}
.mf-svc-copy p{font-size:.9rem;line-height:1.85;color:var(--mf-bone-2);font-weight:300;margin-bottom:18px}
.mf-svc-copy .mf-scope{
  font-family:var(--mf-sans);font-weight:400;font-size:9.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mf-bone-3);line-height:2.1;
}
.mf-svc-go{display:flex;justify-content:flex-end;padding-top:.4em}
.mf-svc-go a{
  font-family:var(--mf-sans);font-weight:400;font-size:9.5px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mf-bone-3);white-space:nowrap;
  display:inline-flex;align-items:center;gap:.9em;transition:color .7s var(--mf-ease),gap .7s var(--mf-ease);
}
.mf-svc-go svg{width:22px;height:6px}
.mf-svc:hover .mf-svc-go a{color:var(--mf-bone);gap:1.4em}
.mf-plate{
  position:relative;min-height:clamp(520px,78vh,760px);
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:clamp(80px,12vh,140px) var(--mf-pad);overflow:hidden;isolation:isolate;
}
.mf-plate .mf-img-slot{
  /* REPLACE → background-image:url('cta.jpg'); */
}
.mf-plate-inner{position:relative;max-width:820px}
.mf-plate h2{margin-bottom:0}
.mf-plate .mf-quiet{font-family:var(--mf-serif);font-style:italic;font-weight:300;letter-spacing:.02em;text-transform:none;display:block;font-size:.48em;color:var(--mf-bone-2);margin-bottom:.55em}
.mf-plate .mf-body-md{max-width:52ch;margin:0 auto}
.mf-quote{padding:clamp(100px,17vh,190px) 0}
.mf-quote .mf-sec-head,.mf-quote .mf-head{text-align:center;margin-bottom:clamp(50px,8vh,86px)}
.mf-q-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--mf-hair);border-bottom:1px solid var(--mf-hair);
}
.mf-q{
  padding:clamp(34px,3.6vw,52px) clamp(24px,2.6vw,40px);
  border-right:1px solid var(--mf-hair-soft);display:flex;flex-direction:column;
  transition:background .8s var(--mf-ease);
}
.mf-q:last-child{border-right:0}
.mf-q:hover{background:var(--mf-void-2)}
.mf-q .mf-mark{
  font-family:var(--mf-serif);font-weight:300;font-size:2.6rem;line-height:.6;
  color:var(--mf-champagne);opacity:.5;margin-bottom:22px;
}
.mf-q blockquote{
  font-family:var(--mf-serif);font-weight:300;font-style:italic;
  font-size:clamp(1rem,1.35vw,1.14rem);line-height:1.62;letter-spacing:.01em;
  color:var(--mf-bone-2);margin:0 0 auto;
}
.mf-q .mf-who{margin-top:32px;padding-top:22px;border-top:1px solid var(--mf-hair-soft)}
.mf-q .mf-who strong{
  display:block;font-family:var(--mf-sans);font-weight:400;font-size:10.5px;
  letter-spacing:.3em;text-transform:uppercase;color:var(--mf-bone);
}
.mf-q .mf-who span{
  display:block;font-family:var(--mf-serif);font-style:italic;font-size:.92rem;
  color:var(--mf-bone-3);margin-top:7px;
}
@media (max-width:900px){
  .mf-q-grid{grid-template-columns:1fr}
  .mf-q{border-right:0;border-bottom:1px solid var(--mf-hair-soft)}
  .mf-q:last-child{border-bottom:0}
  .mf-q blockquote{font-size:1.05rem}
}
.mf-closing{
  position:relative;padding:clamp(110px,20vh,220px) var(--mf-pad);
  text-align:center;overflow:hidden;isolation:isolate;
  border-top:1px solid var(--mf-hair-soft);
}
.mf-closing .mf-img-slot{
  /* REPLACE → background-image:url('closing.jpg'); */
  filter:saturate(.1) contrast(1.04) brightness(.6);
}
.mf-closing-inner{position:relative;max-width:900px;margin:0 auto}
.mf-closing h2{margin-bottom:0;font-size:clamp(1.5rem,4.6vw,3.7rem)}
.mf-closing .mf-body-md{max-width:46ch;margin:0 auto}
footer{border-top:1px solid var(--mf-hair-soft);padding:clamp(60px,9vh,100px) 0 36px;background:var(--mf-void)}
.mf-foot-grid{display:grid;grid-template-columns:1.3fr 1.35fr .75fr 1.25fr;gap:clamp(28px,4vw,56px);margin-bottom:clamp(50px,8vh,84px);align-items:start}
.mf-foot-brand .mf-wordmark,.mf-foot-col h4{display:flex;align-items:flex-end;height:16px;line-height:1;margin:0 0 26px;padding-bottom:0}
.mf-foot-brand .mf-wordmark{font-size:.85rem}
.mf-foot-brand .mf-wordmark::after{display:none}
.mf-foot-brand p{font-family:var(--mf-serif);font-style:italic;font-weight:300;font-size:1rem;line-height:1.55;color:var(--mf-bone-2);max-width:26ch;letter-spacing:.02em;margin:0}
.mf-foot-col h4{font-family:var(--mf-sans);font-weight:400;font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--mf-bone-3)}
.mf-foot-col ul{list-style:none;display:flex;flex-direction:column;gap:16px;margin:0;padding:0}
.mf-foot-col li{margin:0}
.mf-foot-col a{font-family:var(--mf-serif);font-weight:300;font-size:1rem;line-height:1.28;color:var(--mf-bone-2);letter-spacing:.02em;display:inline-block;overflow-wrap:break-word;transition:color .6s var(--mf-ease)}
.mf-foot-col a:hover{color:var(--mf-bone)}
.mf-foot-bottom{
  border-top:1px solid var(--mf-hair-soft);padding-top:28px;
  display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;
  font-family:var(--mf-sans);font-weight:400;font-size:9.5px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--mf-bone-3);
}
.mf-longform{padding:clamp(80px,12vh,150px) 0;border-top:1px solid var(--mf-hair-soft);background:var(--mf-void-2)}
.mf-longform .mf-sec-head{margin-bottom:34px}
.mf-longform .mf-sec-head h2{font-size:clamp(1.5rem,3.4vw,2.25rem);line-height:1.3}
.mf-lf-lede{
  font-family:var(--mf-serif);font-weight:300;font-size:clamp(1.02rem,1.7vw,1.3rem);
  line-height:1.75;letter-spacing:.02em;color:var(--mf-bone-2);
  max-width:62ch;margin:0 auto;text-align:center;text-wrap:pretty;
}
.mf-lf-body{max-height:0;overflow:hidden;opacity:0;transition:max-height 1.1s var(--mf-ease),opacity .7s var(--mf-ease)}
.mf-lf-body.mf-shown{opacity:1}
.mf-lf-inner{padding-top:clamp(38px,5vh,60px);text-align:left}
.mf-lf-inner h3{
  font-family:var(--mf-serif);font-weight:300;font-size:clamp(1.25rem,2.1vw,1.7rem);
  letter-spacing:.035em;line-height:1.35;color:var(--mf-bone);
  margin:clamp(44px,6vh,66px) 0 14px;
}
.mf-lf-inner h3:first-child{margin-top:0}
.mf-lf-inner h4{
  font-family:var(--mf-sans);font-weight:400;font-size:1rem;letter-spacing:.03em;
  color:var(--mf-bone);margin:34px 0 10px;
}
.mf-lf-inner h5{
  font-family:var(--mf-serif);font-style:italic;font-weight:300;font-size:1.02rem;
  letter-spacing:.02em;color:var(--mf-bone-3);margin:26px 0 8px;
}
.mf-lf-inner p{
  font-size:.92rem;font-weight:300;line-height:1.9;color:var(--mf-bone-2);
  margin-bottom:15px;max-width:74ch;
}
.mf-lf-inner strong{color:var(--mf-bone);font-weight:400}
.mf-lf-inner a{color:var(--mf-bone);border-bottom:1px solid var(--mf-hair);transition:border-color .6s var(--mf-ease)}
.mf-lf-inner a:hover{border-bottom-color:var(--mf-champagne)}
.mf-lf-act{text-align:center;margin-top:clamp(34px,5vh,54px)}
.mf-lf-toggle{cursor:pointer}
@media (prefers-reduced-motion:reduce){.mf-lf-body{transition:none}}
@media (max-width:1080px){
  .mf-nav{grid-template-columns:1fr auto}
  .mf-nav-links{display:none}
  .mf-nav-right{display:none}
  .mf-burger{display:block;justify-self:end}
  .mf-svc{grid-template-columns:56px minmax(0,1fr);gap:20px 26px}
  .mf-svc-copy{grid-column:2}
  .mf-svc-go{grid-column:2;justify-content:flex-start}
  .mf-foot-grid{grid-template-columns:1fr 1fr;gap:44px}
}
@media (max-width:760px){
  .mf-stats{grid-template-columns:1fr 1fr}
  .mf-stat:nth-child(2){border-right:0}
  .mf-stat:nth-child(1),.mf-stat:nth-child(2){border-bottom:1px solid var(--mf-hair-soft)}
}
@media (max-width:560px){
  .mf-hero{padding-top:126px}
  .mf-serif-caps{letter-spacing:.11em;margin-right:-.11em}
  .mf-rv-track.mf-in{letter-spacing:.11em}
  .mf-index-strip .mf-wrap{justify-content:flex-start;gap:14px 22px}
  .mf-stats{grid-template-columns:1fr}
  .mf-stat{border-right:0;border-bottom:1px solid var(--mf-hair-soft)}
  .mf-stat:last-child{border-bottom:0}
  .mf-svc{grid-template-columns:1fr;gap:14px}
  .mf-svc-copy,.mf-svc-go{grid-column:1}
  .mf-svc:hover{padding-left:clamp(6px,1.6vw,26px)}
  .mf-foot-grid{grid-template-columns:1fr}
  .mf-btn{width:100%}
  .mf-hero-actions{width:100%}
  .mf-quote blockquote{max-width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .mf-rv,.mf-rv-track{opacity:1;transform:none;letter-spacing:.16em}
}
.mf-img-slot::before{display:none}
@property --mf-kb{syntax:'<number>';initial-value:1.08;inherits:false}
.mf-img-slot,.mf-portrait{
  --mf-par:70px;
  --mf-kb-to:1.16;
  --mf-kb-time:26s;
  will-change:transform;
  transform:translate3d(0,var(--mf-py,0px),0) scale(var(--mf-kb,1.08));
}
.mf-img-slot,.mf-portrait{opacity:0;transition:opacity 1.6s var(--mf-ease)}
.mf-img-slot.mf-ready,.mf-portrait.mf-ready{opacity:1}
@keyframes kenburns{to{--mf-kb:var(--mf-kb-to)}}
.mf-img-slot.mf-ready,.mf-portrait.mf-ready{
  animation:kenburns var(--mf-kb-time) ease-in-out infinite alternate;
}
.mf-plate .mf-img-slot{--mf-kb-time:32s}
.mf-closing .mf-img-slot{--mf-kb-time:38s;--mf-kb-to:1.13}
.mf-portrait{--mf-par:26px;--mf-kb-time:30s;--mf-kb-to:1.1}
@media (prefers-reduced-motion:reduce){
  .mf-img-slot,.mf-portrait{
    transform:none!important;animation:none!important;opacity:1!important;
  }
}
:root{--mf-red:#E4574A}
.mf-hl{color:var(--mf-red)}
.mf-serif-caps .mf-hl,.mf-stat b .mf-hl{color:var(--mf-red)}
.mf-stat b .mf-hl{font-weight:inherit}
:target,[id]{scroll-margin-top:104px}
@media (max-width:760px){:target,[id]{scroll-margin-top:84px}}
@media (hover:none){
  a,button,summary,.mf-qa summary,label.mf-consent{-webkit-tap-highlight-color:transparent}
  /* nothing should depend on hover alone on a touch device */
  .mf-svc:hover::before,.mf-row:hover::before,.mf-q:hover,.mf-step:hover,.mf-way:hover{background:none}
  .mf-svc:hover,.mf-row:hover{padding-left:clamp(6px,1.6vw,26px)}
}
h1,h2,h3,.mf-serif-caps,.mf-quiet,blockquote,.mf-wordmark,.mf-foot-col a,.mf-way strong,.mf-deliv strong{
  overflow-wrap:anywhere;
}
h1,h2,.mf-sec-head .mf-body-sm,.mf-page-hero .mf-body-sm{text-wrap:balance}
.mf-body-md,.mf-body-sm,.mf-qa-body p,.mf-q blockquote{text-wrap:pretty}
@media (min-width:1600px){
  .mf-wrap{max-width:1400px}
}
@media (max-width:1080px){
  .mf-nav{height:76px}
  .mf-page-hero,.mf-hero{padding-top:150px}
  /* two columns reads better than three for long quotes */
  .mf-q-grid{grid-template-columns:1fr 1fr}
  .mf-q:nth-child(2){border-right:0}
  .mf-q:nth-child(1),.mf-q:nth-child(2){border-bottom:1px solid var(--mf-hair-soft)}
  .mf-q:nth-child(3){grid-column:1/-1;border-right:0}
}
@media (max-width:900px){
  .mf-q-grid{grid-template-columns:1fr}
  .mf-q,.mf-q:nth-child(2),.mf-q:nth-child(3){border-right:0;grid-column:auto}
  .mf-q:not(:last-child){border-bottom:1px solid var(--mf-hair-soft)}
  .mf-q:last-child{border-bottom:0}
}
@media (max-width:760px){
  /* a shorter header gives back real estate on a small screen */
  .mf-nav{height:64px}
  .mf-wordmark{font-size:.82rem;letter-spacing:.24em}
  .mf-burger{padding:12px;margin-right:-12px}
  .mf-burger svg{width:24px;height:24px}

  .mf-hero,.mf-page-hero{padding-top:112px}
  .mf-sheet{padding:76px 24px 40px}
  .mf-sheet-close{top:14px}

  /* every tapped thing gets a 44px target, per WCAG 2.5.8 */
  .mf-sheet-nav a{min-height:44px;display:flex;align-items:center;justify-content:center}
  .mf-foot-col a,.mf-foot-col li{min-height:40px;display:flex;align-items:center}
  .mf-svc-go a,.mf-rel-go,.mf-svc-link,.mf-lnk{min-height:44px;display:inline-flex;align-items:center}
  .mf-qa summary{min-height:56px;align-items:center}
  .mf-btn{min-height:52px}
  .mf-consent input{width:20px;height:20px;margin-top:2px}
  .mf-consent{gap:14px;padding:6px 0}

  /* stacked buttons need room to breathe */
  .mf-actions,.mf-hero-actions{gap:12px}

  /* footer reads as a list, not a grid */
  .mf-foot-grid{gap:34px}
  .mf-foot-col ul{gap:2px}
  .mf-foot-bottom{flex-direction:column;gap:10px;text-align:left}
}
@media (max-width:400px){
  /* the clamp minimums were tuned for 360px and overflow at 320 */
  h1{font-size:clamp(1.55rem,8.6vw,2.05rem)}
  h2{font-size:clamp(1.3rem,7.2vw,1.6rem)}
  .mf-serif-caps{letter-spacing:.07em;margin-right:-.07em}
  .mf-rv-track.mf-in{letter-spacing:.07em}
  .mf-lead-italic{font-size:clamp(.95rem,4.6vw,1.1rem)}
  .mf-page-hero .mf-sub,.mf-hero .mf-sub{font-size:1rem}

  .mf-micro{letter-spacing:.22em;font-size:10px}
  .mf-wordmark{letter-spacing:.2em;font-size:.78rem}

  .mf-stat b{font-size:2.6rem}
  .mf-q blockquote{font-size:1rem}
  .mf-pull p{font-size:1.15rem}
}
@media (max-height:520px) and (orientation:landscape){
  .mf-hero,.mf-page-hero{min-height:auto;padding-top:96px;padding-bottom:60px}
  .mf-plate{min-height:auto}
  .mf-cue{display:none}
  .mf-nav{height:56px}
  .mf-sheet{justify-content:flex-start;padding-top:64px}
  .mf-sheet-nav a{font-size:1rem;padding:7px 6px;min-height:0}
  .mf-sheet-home{padding-bottom:10px!important;margin-bottom:8px}
  .mf-sheet-mail{margin-top:18px}
}
@media print{
  header,.mf-sheet,.mf-cue,.mf-img-slot,.mf-veil,.mf-grain body::after{display:none!important}
  body{background:#fff;color:#000}
  .mf-rv,.mf-rv-track{opacity:1!important;transform:none!important}
  a{color:#000}
}
a,a:link,a:visited,a:hover,a:focus,a:active{color:inherit;text-decoration:none}
.mf-wordmark,.mf-wordmark:hover,.mf-wordmark:focus,.mf-wordmark:visited{color:var(--mf-bone);opacity:1}
.mf-wordmark{position:relative;padding-bottom:6px}
.mf-wordmark::after{
  content:"";position:absolute;left:50%;bottom:0;width:14px;height:1px;
  background:var(--mf-champagne);transform:translateX(-50%) scaleX(0);
  transition:transform .6s var(--mf-ease);
}
.mf-wordmark:hover::after,.mf-wordmark:focus-visible::after,
.mf-wordmark[aria-current="page"]::after{transform:translateX(-50%) scaleX(1)}
:root{
  --mf-void:#08080A;
  --mf-void-2:#0C0C0E;
  --mf-void-3:#101012;

  --mf-bone:#EFEDE8;
  --mf-bone-2:#A5A39D;
  --mf-bone-3:#82807B;

  --mf-champagne:#C4B79C;

  --mf-hair:rgba(239,237,232,.13);
  --mf-hair-soft:rgba(239,237,232,.07);

  --mf-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --mf-sans:"Inter",-apple-system,system-ui,sans-serif;

  --mf-pad:clamp(22px,5.5vw,90px);
  --mf-ease:cubic-bezier(.19,1,.22,1);
  --mf-slow:1.15s;
}
.mf-micro{
  font-family:var(--mf-sans);font-weight:400;font-size:10.5px;
  letter-spacing:.3em;text-transform:uppercase;color:var(--mf-bone-3);line-height:1.9;
}
.mf-serif-caps{
  font-family:var(--mf-serif);font-weight:300;text-transform:uppercase;
  letter-spacing:.16em;line-height:1;margin-right:-.16em;
}
.mf-quiet{
  font-family:var(--mf-serif);font-style:italic;font-weight:300;letter-spacing:.02em;
  text-transform:none;display:block;font-size:.5em;color:var(--mf-bone-2);margin-bottom:.5em;
}
h1{font-size:clamp(1.95rem,6.6vw,5.4rem)}
h2{font-size:clamp(1.55rem,4.2vw,3.3rem)}
h3{font-family:var(--mf-serif);font-weight:400;font-size:clamp(1.2rem,2.1vw,1.65rem);line-height:1.15;letter-spacing:.01em}
.mf-body-md strong,.mf-body-sm strong{color:var(--mf-bone);font-weight:400}
.mf-btn::before{
  content:"";position:absolute;inset:0;background:var(--mf-bone);
  transform:scaleY(0);transform-origin:bottom;transition:transform .75s var(--mf-ease);
}
.mf-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:clamp(34px,5vh,52px)}
.mf-img-slot{
  position:absolute;inset:0;z-index:-2;background-color:#0A0A0C;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  filter:saturate(.15) contrast(1.06) brightness(.82);
}
.mf-page-hero{
  position:relative;min-height:clamp(600px,90svh,900px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:170px var(--mf-pad) 120px;overflow:hidden;isolation:isolate;
}
.mf-page-hero-inner{position:relative;max-width:960px;width:100%}
.mf-page-hero .mf-micro{margin-bottom:clamp(30px,6vh,58px)}
.mf-lead-italic{font-size:clamp(1rem,2.3vw,1.75rem);margin-bottom:.5em;display:block}
.mf-page-hero h1{margin-bottom:0}
.mf-page-hero .mf-sub{
  font-family:var(--mf-serif);font-weight:300;font-style:italic;
  font-size:clamp(1rem,1.9vw,1.4rem);color:var(--mf-bone-2);
  letter-spacing:.02em;margin-top:.9em;
}
.mf-page-hero .mf-body-sm{max-width:60ch;margin:0 auto}
.mf-index-strip .mf-wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:26px;padding-bottom:26px}
.mf-problem{padding:clamp(100px,17vh,190px) 0;text-align:center}
.mf-problem h2{margin-bottom:0}
.mf-problem .mf-body-md{max-width:58ch;margin:0 auto 24px}
.mf-pull{
  margin:clamp(56px,9vh,96px) auto 0;max-width:26ch;
  border-top:1px solid var(--mf-hair);border-bottom:1px solid var(--mf-hair);
  padding:clamp(38px,6vh,60px) 0;
}
.mf-pull p{
  font-family:var(--mf-serif);font-weight:300;font-style:italic;
  font-size:clamp(1.2rem,2.6vw,2rem);line-height:1.4;letter-spacing:.01em;color:var(--mf-bone);
}
.mf-sec-head .mf-body-sm{max-width:48ch;margin:0 auto}
.mf-included{padding:clamp(100px,17vh,190px) 0;background:var(--mf-void-2)}
.mf-rows{border-top:1px solid var(--mf-hair)}
.mf-row{
  display:grid;grid-template-columns:74px minmax(0,1fr) minmax(0,1.35fr);
  gap:clamp(20px,3.5vw,56px);align-items:start;
  padding:clamp(30px,4.2vw,54px) clamp(6px,1.6vw,26px);
  border-bottom:1px solid var(--mf-hair);position:relative;isolation:isolate;
  transition:padding-left .8s var(--mf-ease);
}
.mf-row::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--mf-void-3);opacity:0;transition:opacity .8s var(--mf-ease)}
.mf-row:hover::before{opacity:1}
.mf-row:hover{padding-left:clamp(16px,2.6vw,42px)}
.mf-row-num{font-family:var(--mf-serif);font-weight:300;font-size:1.05rem;letter-spacing:.18em;color:var(--mf-bone-3);padding-top:.32em;transition:color .7s var(--mf-ease)}
.mf-row:hover .mf-row-num{color:var(--mf-champagne)}
.mf-row-copy p{font-size:.9rem;line-height:1.85;color:var(--mf-bone-2);font-weight:300}
.mf-plate{
  position:relative;min-height:clamp(470px,70vh,680px);
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:clamp(80px,12vh,140px) var(--mf-pad);overflow:hidden;isolation:isolate;
}
.mf-process{padding:clamp(100px,17vh,190px) 0}
.mf-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--mf-hair)}
.mf-step{
  padding:clamp(34px,4vw,56px) clamp(20px,2.4vw,34px) clamp(40px,5vw,64px);
  border-right:1px solid var(--mf-hair-soft);position:relative;isolation:isolate;
  transition:background .8s var(--mf-ease);
}
.mf-step:last-child{border-right:0}
.mf-step:hover{background:var(--mf-void-2)}
.mf-step b{display:block;font-family:var(--mf-serif);font-weight:300;font-size:.95rem;letter-spacing:.24em;color:var(--mf-bone-3);margin-bottom:26px}
.mf-step h3{margin-bottom:14px}
.mf-step p{font-size:.86rem;line-height:1.85;color:var(--mf-bone-2);font-weight:300}
.mf-deliverables{padding:clamp(100px,17vh,190px) 0;background:var(--mf-void-2)}
.mf-deliv-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(30px,5vw,80px);border-top:1px solid var(--mf-hair)}
.mf-deliv{
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;
  padding:clamp(24px,3vw,34px) 0;border-bottom:1px solid var(--mf-hair-soft);
}
.mf-deliv .mf-tick{
  width:14px;height:1px;background:var(--mf-champagne);opacity:.7;margin-top:.85em;flex:none;
}
.mf-deliv strong{
  display:block;font-family:var(--mf-serif);font-weight:400;font-size:1.12rem;
  letter-spacing:.03em;color:var(--mf-bone);margin-bottom:8px;
}
.mf-deliv p{font-size:.86rem;line-height:1.8;color:var(--mf-bone-3);font-weight:300}
.mf-faq{padding:clamp(100px,17vh,190px) 0}
.mf-faq-list{border-top:1px solid var(--mf-hair);max-width:900px;margin:0 auto}
.mf-qa{border-bottom:1px solid var(--mf-hair)}
.mf-qa summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:flex-start;justify-content:space-between;gap:30px;
  padding:clamp(26px,3.4vw,38px) clamp(4px,1.4vw,20px);
  transition:color .6s var(--mf-ease);
}
.mf-qa summary::-webkit-details-marker{display:none}
.mf-qa summary span{
  font-family:var(--mf-serif);font-weight:400;font-size:clamp(1.1rem,1.9vw,1.45rem);
  line-height:1.3;letter-spacing:.02em;color:var(--mf-bone);
}
.mf-qa summary i{
  position:relative;width:13px;height:13px;flex:none;margin-top:.5em;
}
.mf-qa summary i::before,.mf-qa summary i::after{
  content:"";position:absolute;left:0;top:6px;width:13px;height:1px;background:var(--mf-bone-3);
  transition:transform .6s var(--mf-ease),background .6s var(--mf-ease);
}
.mf-qa summary i::after{transform:rotate(90deg)}
.mf-qa[open] summary i::after{transform:rotate(0)}
.mf-qa[open] summary i::before,.mf-qa[open] summary i::after{background:var(--mf-champagne)}
.mf-qa-body{padding:0 clamp(4px,1.4vw,20px) clamp(28px,3.6vw,40px);max-width:70ch}
.mf-qa-body p{font-size:.92rem;line-height:1.9;color:var(--mf-bone-2);font-weight:300}
.mf-related{padding:clamp(90px,15vh,170px) 0;background:var(--mf-void-2)}
.mf-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--mf-hair-soft);border-top:1px solid var(--mf-hair);border-bottom:1px solid var(--mf-hair)}
.mf-rel{
  background:var(--mf-void-2);padding:clamp(32px,4vw,52px) clamp(24px,2.6vw,36px);
  display:flex;flex-direction:column;gap:20px;min-height:230px;
  transition:background .8s var(--mf-ease);
}
.mf-rel:hover{background:var(--mf-void-3)}
.mf-rel-num{font-family:var(--mf-serif);font-weight:300;font-size:1rem;letter-spacing:.2em;color:var(--mf-bone-3);transition:color .7s var(--mf-ease)}
.mf-rel:hover .mf-rel-num{color:var(--mf-champagne)}
.mf-rel h3{margin-bottom:auto}
.mf-rel-go{
  font-family:var(--mf-sans);font-weight:400;font-size:9.5px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--mf-bone-3);
  display:inline-flex;align-items:center;gap:.9em;transition:color .7s var(--mf-ease),gap .7s var(--mf-ease);
}
.mf-rel-go svg{width:22px;height:6px}
.mf-rel:hover .mf-rel-go{color:var(--mf-bone);gap:1.4em}
.mf-closing{
  position:relative;padding:clamp(110px,20vh,220px) var(--mf-pad);
  text-align:center;overflow:hidden;isolation:isolate;border-top:1px solid var(--mf-hair-soft);
}
.mf-closing .mf-img-slot{filter:saturate(.1) contrast(1.04) brightness(.6)}
.mf-closing h2{margin-bottom:0;font-size:clamp(1.5rem,4.4vw,3.5rem)}
@media (max-width:1080px){
  .mf-nav{grid-template-columns:1fr auto}
  .mf-nav-links,.mf-nav-right{display:none}
  .mf-burger{display:block;justify-self:end}
  .mf-row{grid-template-columns:56px minmax(0,1fr);gap:18px 26px}
  .mf-row-copy{grid-column:2}
  .mf-steps{grid-template-columns:1fr 1fr}
  .mf-step:nth-child(2){border-right:0}
  .mf-step:nth-child(1),.mf-step:nth-child(2){border-bottom:1px solid var(--mf-hair-soft)}
  .mf-deliv-grid{grid-template-columns:1fr}
  .mf-rel-grid{grid-template-columns:1fr}
  .mf-rel{min-height:0}
  .mf-foot-grid{grid-template-columns:1fr 1fr;gap:44px}
}
@media (max-width:560px){
  .mf-page-hero{padding-top:132px;min-height:auto}
  .mf-serif-caps{letter-spacing:.11em;margin-right:-.11em}
  .mf-rv-track.mf-in{letter-spacing:.11em}
  .mf-index-strip .mf-wrap{justify-content:flex-start;gap:14px 22px}
  .mf-row{grid-template-columns:1fr;gap:14px}
  .mf-row-copy{grid-column:1}
  .mf-row:hover{padding-left:clamp(6px,1.6vw,26px)}
  .mf-steps{grid-template-columns:1fr}
  .mf-step{border-right:0;border-bottom:1px solid var(--mf-hair-soft)}
  .mf-step:last-child{border-bottom:0}
  .mf-pull{max-width:100%}
  .mf-foot-grid{grid-template-columns:1fr}
  .mf-btn{width:100%}
  .mf-actions{width:100%}
}
h1{font-size:clamp(2.05rem,7.2vw,5.9rem)}
h3{font-family:var(--mf-serif);font-weight:400;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.15;letter-spacing:.01em}
.mf-page-hero{
  position:relative;min-height:clamp(600px,88svh,880px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:170px var(--mf-pad) 120px;overflow:hidden;isolation:isolate;
}
.mf-page-hero .mf-img-slot{
  /* REPLACE → background-image:url('about-hero.jpg'); studio / team / workspace, dark and low-key */
}
.mf-lead-italic{font-size:clamp(1.05rem,2.4vw,1.8rem);margin-bottom:.5em;display:block}
.mf-story{padding:clamp(100px,17vh,190px) 0;text-align:center}
.mf-story h2{margin-bottom:0}
.mf-story .mf-body-md{max-width:58ch;margin:0 auto 24px}
.mf-pull p{
  font-family:var(--mf-serif);font-weight:300;font-style:italic;
  font-size:clamp(1.25rem,2.8vw,2.1rem);line-height:1.4;letter-spacing:.01em;color:var(--mf-bone);
}
.mf-beliefs{padding:clamp(100px,17vh,190px) 0;background:var(--mf-void-2)}
.mf-plate{
  position:relative;min-height:clamp(480px,72vh,700px);
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:clamp(80px,12vh,140px) var(--mf-pad);overflow:hidden;isolation:isolate;
}
.mf-plate .mf-img-slot{
  /* REPLACE → background-image:url('about-plate.jpg'); */
}
.mf-step b{
  display:block;font-family:var(--mf-serif);font-weight:300;font-size:.95rem;
  letter-spacing:.24em;color:var(--mf-bone-3);margin-bottom:26px;
}
.mf-team{padding:clamp(100px,17vh,190px) 0;background:var(--mf-void-2)}
.mf-people{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,44px)}
.mf-people.mf-two{grid-template-columns:repeat(2,1fr);max-width:760px;margin:0 auto}
.mf-person .mf-portrait{
  position:relative;aspect-ratio:3/4;overflow:hidden;
  background-color:#0A0A0C;background-position:center;background-size:cover;
  filter:saturate(.12) contrast(1.05) brightness(.8);
  margin-bottom:24px;
  /* REPLACE → background-image:url('team-1.jpg'); portrait, dark background */
}
.mf-person .mf-portrait::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(66% 60% at 50% 34%,rgba(255,255,255,.1),transparent 68%);
}
.mf-person .mf-portrait::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 44%,rgba(8,8,10,.55) 100%);
}
.mf-person strong{
  display:block;font-family:var(--mf-serif);font-weight:400;font-size:1.15rem;
  letter-spacing:.06em;color:var(--mf-bone);margin-bottom:8px;
}
.mf-person span{
  display:block;font-family:var(--mf-sans);font-weight:400;font-size:9.5px;
  letter-spacing:.26em;text-transform:uppercase;color:var(--mf-bone-3);
}
.mf-proof{padding:clamp(100px,17vh,190px) 0}
.mf-closing .mf-img-slot{
  /* REPLACE → background-image:url('about-closing.jpg'); */
  filter:saturate(.1) contrast(1.04) brightness(.6);
}
@media (max-width:1080px){
  .mf-nav{grid-template-columns:1fr auto}
  .mf-nav-links,.mf-nav-right{display:none}
  .mf-burger{display:block;justify-self:end}
  .mf-row{grid-template-columns:56px minmax(0,1fr);gap:18px 26px}
  .mf-row-copy{grid-column:2}
  .mf-steps{grid-template-columns:1fr 1fr}
  .mf-step:nth-child(2){border-right:0}
  .mf-step:nth-child(1),.mf-step:nth-child(2){border-bottom:1px solid var(--mf-hair-soft)}
  .mf-people{grid-template-columns:1fr 1fr}
  .mf-foot-grid{grid-template-columns:1fr 1fr;gap:44px}
}
@media (max-width:560px){
  .mf-page-hero{padding-top:132px;min-height:auto}
  .mf-serif-caps{letter-spacing:.11em;margin-right:-.11em}
  .mf-rv-track.mf-in{letter-spacing:.11em}
  .mf-index-strip .mf-wrap{justify-content:flex-start;gap:14px 22px}
  .mf-row{grid-template-columns:1fr;gap:14px}
  .mf-row-copy{grid-column:1}
  .mf-row:hover{padding-left:clamp(6px,1.6vw,26px)}
  .mf-steps{grid-template-columns:1fr}
  .mf-step{border-right:0;border-bottom:1px solid var(--mf-hair-soft)}
  .mf-step:last-child{border-bottom:0}
  .mf-people{grid-template-columns:1fr;gap:40px}
  .mf-stats{grid-template-columns:1fr}
  .mf-stat{border-right:0;border-bottom:1px solid var(--mf-hair-soft)}
  .mf-stat:last-child{border-bottom:0}
  .mf-pull{max-width:100%}
  .mf-foot-grid{grid-template-columns:1fr}
  .mf-btn{width:100%}
  .mf-actions{width:100%}
}
.mf-btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--mf-sans);font-weight:400;font-size:10.5px;
  letter-spacing:.3em;text-transform:uppercase;
  padding:1.5em 2.6em;border:1px solid var(--mf-hair);
  position:relative;overflow:hidden;color:var(--mf-bone);cursor:pointer;
  background:transparent;
  transition:color .75s var(--mf-ease),border-color .75s var(--mf-ease);
}
.mf-btn[disabled]{opacity:.45;pointer-events:none}
.mf-page-hero{
  position:relative;min-height:clamp(520px,74svh,760px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:170px var(--mf-pad) 110px;overflow:hidden;isolation:isolate;
}
.mf-page-hero-inner{position:relative;max-width:940px;width:100%}
.mf-page-hero .mf-body-sm{max-width:58ch;margin:0 auto}
.mf-ways{border-top:1px solid var(--mf-hair-soft);background:var(--mf-void-2)}
.mf-ways-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--mf-hair-soft)}
.mf-way{
  padding:clamp(34px,4.4vw,58px) clamp(22px,2.6vw,40px);
  border-right:1px solid var(--mf-hair-soft);text-align:center;
  transition:background .8s var(--mf-ease);
}
.mf-way:last-child{border-right:0}
.mf-way:hover{background:var(--mf-void-3)}
.mf-way .mf-micro{margin-bottom:20px}
.mf-way strong{
  display:block;font-family:var(--mf-serif);font-weight:400;
  font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.35;letter-spacing:.03em;color:var(--mf-bone);
  margin-bottom:12px;overflow-wrap:break-word;
}
.mf-way strong a[href^="mailto"]{font-size:.82em;letter-spacing:.01em}
.mf-way p{font-size:.84rem;line-height:1.8;color:var(--mf-bone-3);font-weight:300}
.mf-enquiry{padding:clamp(100px,16vh,180px) 0}
.mf-sec-head{text-align:center;margin-bottom:clamp(50px,8vh,88px)}
form{max-width:820px;margin:0 auto}
.mf-f-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,52px)}
.mf-field{position:relative;margin-bottom:clamp(30px,4vh,44px)}
.mf-field.mf-full{grid-column:1/-1}
.mf-field label{
  display:block;font-family:var(--mf-sans);font-weight:400;font-size:9.5px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--mf-bone-3);
  margin-bottom:14px;transition:color .5s var(--mf-ease);
}
.mf-field label .mf-opt{color:var(--mf-bone-3);opacity:.6;letter-spacing:.16em}
.mf-field input,.mf-field select,.mf-field textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--mf-hair);
  color:var(--mf-bone);font-family:var(--mf-serif);font-weight:300;
  font-size:clamp(1.05rem,1.7vw,1.3rem);letter-spacing:.02em;line-height:1.5;
  padding:0 0 14px;border-radius:0;outline:none;
  transition:border-color .5s var(--mf-ease);
}
.mf-field textarea{resize:vertical;min-height:120px}
.mf-field input::placeholder,.mf-field textarea::placeholder{color:var(--mf-bone-3);opacity:.5}
.mf-field input:focus,.mf-field select:focus,.mf-field textarea:focus{border-bottom-color:var(--mf-champagne)}
.mf-field:focus-within label{color:var(--mf-bone-2)}
.mf-field select{
  appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:28px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%2382807B' stroke-width='1'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 2px center;
}
.mf-field select option{background:#101012;color:#EFEDE8}
.mf-field input:-webkit-autofill,
.mf-field input:-webkit-autofill:hover,
.mf-field input:-webkit-autofill:focus,
.mf-field textarea:-webkit-autofill{
  -webkit-text-fill-color:var(--mf-bone);
  -webkit-box-shadow:0 0 0 1000px var(--mf-void) inset;
  transition:background-color 9999s ease-in-out 0s;
}
.mf-err{
  display:block;font-family:var(--mf-sans);font-weight:400;font-size:9.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--mf-champagne);
  margin-top:12px;min-height:1px;opacity:0;transform:translateY(-4px);
  transition:opacity .4s var(--mf-ease),transform .4s var(--mf-ease);
}
.mf-field.mf-invalid input,.mf-field.mf-invalid select,.mf-field.mf-invalid textarea{border-bottom-color:var(--mf-champagne)}
.mf-field.mf-invalid .mf-err{opacity:1;transform:none}
.mf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.mf-consent{
  grid-column:1/-1;display:flex;align-items:flex-start;gap:16px;
  margin:6px 0 clamp(30px,4vh,44px);cursor:pointer;
}
.mf-consent input{
  appearance:none;-webkit-appearance:none;flex:none;
  width:15px;height:15px;margin-top:5px;border:1px solid var(--mf-hair);
  background:transparent;cursor:pointer;position:relative;border-radius:0;
  transition:border-color .5s var(--mf-ease);
}
.mf-consent input:checked{border-color:var(--mf-champagne)}
.mf-consent input:checked::after{
  content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;
  border:solid var(--mf-champagne);border-width:0 1px 1px 0;transform:rotate(42deg);
}
.mf-consent span{font-size:.82rem;line-height:1.8;color:var(--mf-bone-3);font-weight:300}
.mf-consent.mf-invalid span{color:var(--mf-champagne)}
.mf-submit-row{display:flex;justify-content:center;margin-top:8px}
.mf-form-note{
  text-align:center;margin-top:30px;
  font-family:var(--mf-sans);font-size:9.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mf-bone-3);
}
.mf-sent{
  display:none;text-align:center;border-top:1px solid var(--mf-hair);
  border-bottom:1px solid var(--mf-hair);padding:clamp(50px,8vh,80px) 0;max-width:52ch;margin:0 auto;
}
.mf-sent.mf-show{display:block}
.mf-sent h3{margin-bottom:18px}
.mf-sent p{font-size:.92rem;line-height:1.9;color:var(--mf-bone-2);font-weight:300}
form.mf-hide{display:none}
.mf-next{padding:clamp(90px,15vh,170px) 0;background:var(--mf-void-2)}
.mf-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--mf-hair)}
.mf-step{
  padding:clamp(34px,4vw,56px) clamp(20px,2.4vw,34px) clamp(40px,5vw,64px);
  border-right:1px solid var(--mf-hair-soft);transition:background .8s var(--mf-ease);
}
.mf-step:hover{background:var(--mf-void-3)}
.mf-faq{padding:clamp(90px,15vh,170px) 0}
.mf-qa summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:flex-start;justify-content:space-between;gap:30px;
  padding:clamp(26px,3.4vw,38px) clamp(4px,1.4vw,20px);
}
.mf-qa summary i{position:relative;width:13px;height:13px;flex:none;margin-top:.5em}
.mf-closing{
  position:relative;padding:clamp(100px,18vh,200px) var(--mf-pad);
  text-align:center;overflow:hidden;isolation:isolate;border-top:1px solid var(--mf-hair-soft);
}
@media (max-width:1080px){
  .mf-nav{grid-template-columns:1fr auto}
  .mf-nav-links,.mf-nav-right{display:none}
  .mf-burger{display:block;justify-self:end}
  .mf-foot-grid{grid-template-columns:1fr 1fr;gap:44px}
}
@media (max-width:760px){
  .mf-ways-grid{grid-template-columns:1fr}
  .mf-way{border-right:0;border-bottom:1px solid var(--mf-hair-soft)}
  .mf-way:last-child{border-bottom:0}
  .mf-steps{grid-template-columns:1fr}
  .mf-step{border-right:0;border-bottom:1px solid var(--mf-hair-soft)}
  .mf-step:last-child{border-bottom:0}
}
@media (max-width:560px){
  .mf-page-hero{padding-top:132px;min-height:auto}
  .mf-serif-caps{letter-spacing:.11em;margin-right:-.11em}
  .mf-rv-track.mf-in{letter-spacing:.11em}
  .mf-f-grid{grid-template-columns:1fr;gap:0}
  .mf-foot-grid{grid-template-columns:1fr}
  .mf-btn{width:100%}
  .mf-actions{width:100%}
  .mf-submit-row{width:100%}
}

/* ══════════════════════════════════════════════════════════
   LAST WORD
   Appended after everything so a parent theme or plugin cannot
   reintroduce a colour we did not choose.
   ══════════════════════════════════════════════════════════ */

.mf-wordmark,
.mf-wordmark:link,
.mf-wordmark:visited,
.mf-wordmark:hover,
.mf-wordmark:focus,
.mf-wordmark:active{
  color:var(--mf-bone);
  text-decoration:none;
  opacity:1;
}

/* The wordmark now behaves exactly like a nav item: it keeps its colour
   and picks up the same champagne mark underneath. */
.mf-wordmark{position:relative;padding-bottom:6px}
.mf-wordmark::after{
  content:"";position:absolute;left:50%;bottom:0;width:14px;height:1px;
  background:var(--mf-champagne);
  transform:translateX(-50%) scaleX(0);
  transition:transform .6s var(--mf-ease);
}
.mf-wordmark:hover::after,
.mf-wordmark:focus-visible::after,
.mf-wordmark[aria-current="page"]::after{transform:translateX(-50%) scaleX(1)}

/* Same guarantee for the footer and in-body links. */
/* Button colours, re-asserted last.
   The contact page defines its own .mf-btn rule (it adds cursor and
   background for <button> elements), so the dedupe legitimately keeps
   two. The later one was re-setting the text to bone, which made solid
   buttons bone-on-bone — the label vanished until hover. */
.mf-btn{color:var(--mf-bone)}
.mf-btn:hover,.mf-btn:focus-visible{color:var(--mf-void)}
.mf-btn-solid{background:var(--mf-bone);color:var(--mf-void);border-color:var(--mf-bone)}
.mf-btn-solid:hover,.mf-btn-solid:focus-visible{color:var(--mf-bone)}

.mf-foot-col a:hover,
.mf-foot-brand a:hover,
.mf-menu a:hover,
.mf-sheet-nav a:hover,
.mf-lnk:hover,
.mf-row-copy a:hover{color:var(--mf-bone)}

/* Hello Elementor's reset.css styles every bare <button> with a pink
   (#cc3366) border and a filled pink hover. Its `button:hover` selector
   outranks our single-class rules, so the Services toggle, the burger and
   the sheet close all flashed pink. Strip it from the elements we own. */
.mf-menu-toggle,.mf-burger,.mf-sheet-close,
.mf-menu-toggle:hover,.mf-menu-toggle:focus,.mf-menu-toggle:active,
.mf-burger:hover,.mf-burger:focus,.mf-burger:active,
.mf-sheet-close:hover,.mf-sheet-close:focus,.mf-sheet-close:active{
  background:none;border:0;border-radius:0;box-shadow:none;
}
button.mf-btn:hover,button.mf-btn:focus{background:none}
button.mf-btn-solid,
button.mf-btn-solid:focus{background:var(--mf-bone)}
button.mf-btn-solid:hover{background:none}

/* Services takes the same red the copy uses for its highlights. */
.mf-menu-toggle:hover,
.mf-menu-toggle:focus-visible,
.mf-has-menu.mf-open > .mf-menu-toggle{color:var(--mf-red)}
.mf-burger:hover,.mf-burger:focus-visible,
.mf-sheet-close:hover,.mf-sheet-close:focus-visible{color:var(--mf-bone)}

/* The contact page runs a three-step process, the service and about pages
   run four. Both defined a bare `.mf-steps` rule, so after the stylesheets
   were merged the last one won and four steps were forced into three
   columns. Let the column count follow the content instead of the source
   order — this cannot be undone by a cache plugin reshuffling the file. */
.mf-steps:has(> .mf-step:nth-child(4)){grid-template-columns:repeat(4,1fr)}
.mf-steps:has(> .mf-step:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
/* :has() carries the specificity of its argument, so the two rules above
   outrank a plain .mf-steps inside a media query. The responsive rules have
   to repeat the same selectors to stay in the running. */
/* Four steps halve to 2x2; three steps stay three-up until they no longer
   fit, then go single file. Neither ever leaves an orphan on its own row. */
@media (max-width:1080px){
  .mf-steps:has(> .mf-step:nth-child(4)){grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .mf-steps:has(> .mf-step:nth-child(3):last-child){grid-template-columns:1fr}
}
@media (max-width:560px){
  .mf-steps:has(> .mf-step:nth-child(4)){grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════
   BLOG
   Index cards and the reading view for a single post. Prose
   here is wider-set and looser than the marketing pages,
   because it is read rather than scanned.
   ══════════════════════════════════════════════════════════ */

.mf-blog-hero{padding:clamp(104px,16vh,158px) 0 clamp(28px,4vh,44px);border-bottom:1px solid var(--mf-hair-soft)}
.mf-blog-list{padding:clamp(34px,5vh,58px) 0 clamp(90px,14vh,170px)}

/* The shared display size is set for phrases like ZERO BORING MEETINGS.
   A single five-letter word at that size reads as a mistake, so the blog
   hero steps it down and closes the gap to the line above it. */
.mf-blog-hero h1{margin:0}
.mf-blog-hero .mf-quiet{
  font-size:clamp(1.15rem,2.4vw,1.75rem);
  line-height:1.15;
  margin-bottom:2px;
}
.mf-blog-hero .mf-serif-caps{
  font-size:clamp(2rem,5.2vw,3.6rem);
  line-height:1.08;
  /* Tracked caps carry the letter-space after the final letter too, which
     pushes the word right of true centre. Pulling the same amount back off
     the right edge lands it where the eye expects. */
  margin-right:-.16em;
}
.mf-blog-hero .mf-dash{margin-top:20px;margin-bottom:20px}
.mf-blog-hero .mf-body-sm{max-width:46ch;margin-left:auto;margin-right:auto}

.mf-post-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(34px,4vw,58px) clamp(26px,3vw,44px);
}
.mf-card{position:relative}
.mf-card-link{display:block;height:100%}
.mf-card-img{
  aspect-ratio:16/10;overflow:hidden;margin-bottom:22px;
  background:var(--mf-void-2);border:1px solid var(--mf-hair-soft);
}
.mf-card-img img{
  width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) contrast(1.05) brightness(.72);
  transform:scale(1.02);
  transition:transform 1.4s var(--mf-ease),filter 1s var(--mf-ease);
}
/* Colour returns on hover. The index stays monochrome so twenty bright
   thumbnails cannot fight the page, and the picture becomes itself when
   you show interest in it. */
.mf-card-link:hover .mf-card-img img,
.mf-card-link:focus-visible .mf-card-img img{
  filter:grayscale(0) contrast(1) brightness(.95);
  transform:scale(1.06);
}
.mf-card-copy .mf-micro{margin-bottom:14px;color:var(--mf-bone-3)}
.mf-card h2{
  font-family:var(--mf-serif);font-weight:300;
  font-size:clamp(1.12rem,1.6vw,1.34rem);line-height:1.35;letter-spacing:.02em;
  color:var(--mf-bone);margin:0 0 12px;text-wrap:pretty;
}
.mf-card-excerpt{
  font-size:.86rem;font-weight:300;line-height:1.8;color:var(--mf-bone-3);
  margin:0 0 18px;
}
.mf-card-go{
  font-family:var(--mf-sans);font-weight:400;font-size:9.5px;
  letter-spacing:.26em;text-transform:uppercase;color:var(--mf-bone-3);
  display:inline-flex;align-items:center;gap:10px;
  transition:color .6s var(--mf-ease);
}
.mf-card-go i{
  width:18px;height:1px;background:currentColor;display:block;
  transition:width .6s var(--mf-ease);
}
.mf-card-link:hover .mf-card-go,
.mf-card-link:focus-visible .mf-card-go{color:var(--mf-bone)}
.mf-card-link:hover .mf-card-go i{width:30px}

.mf-pagination{margin-top:clamp(50px,8vh,90px);text-align:center}
.mf-pagination ul{list-style:none;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.mf-pagination a,.mf-pagination span{
  font-family:var(--mf-sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  padding:12px 16px;border:1px solid var(--mf-hair-soft);color:var(--mf-bone-3);
  display:block;min-width:42px;transition:color .5s var(--mf-ease),border-color .5s var(--mf-ease);
}
.mf-pagination a:hover{color:var(--mf-bone);border-color:var(--mf-hair)}
.mf-pagination .current{color:var(--mf-bone);border-color:var(--mf-champagne)}

/* ── single post ─────────────────────────────────────────── */
/* position is stated outright so no bare element rule can pin this to the
   viewport again — that is what put the title on top of the article. */
.mf-post-hero{position:static;padding:clamp(120px,20vh,190px) 0 clamp(30px,4vh,46px);text-align:center}
.mf-post-hero .mf-micro{margin-bottom:26px;color:var(--mf-bone-3)}
.mf-post-hero h1{
  font-family:var(--mf-serif);font-weight:300;
  font-size:clamp(1.6rem,3.6vw,2.9rem);line-height:1.22;letter-spacing:.02em;
  color:var(--mf-bone);margin:0 auto;max-width:22ch;text-wrap:balance;
}
.mf-post-figure{margin:clamp(34px,5vh,60px) 0 0}
.mf-post-figure img{
  width:100%;height:auto;border:1px solid var(--mf-hair-soft);
}
.mf-post-body{padding:clamp(46px,7vh,86px) 0 clamp(90px,14vh,160px)}

.mf-post-body p{
  font-size:1rem;font-weight:300;line-height:1.95;color:var(--mf-bone-2);
  margin:0 0 22px;
}
.mf-post-body h2{
  font-family:var(--mf-serif);font-weight:300;
  font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.3;letter-spacing:.03em;
  color:var(--mf-bone);margin:clamp(48px,7vh,74px) 0 18px;
}
.mf-post-body h3{
  font-family:var(--mf-sans);font-weight:400;font-size:1.02rem;letter-spacing:.03em;
  color:var(--mf-bone);margin:38px 0 12px;
}
.mf-post-body ul,.mf-post-body ol{
  margin:0 0 22px 1.15em;color:var(--mf-bone-2);font-weight:300;line-height:1.9;
}
.mf-post-body li{margin-bottom:9px;font-size:1rem}
.mf-post-body strong{color:var(--mf-bone);font-weight:400}
.mf-post-body blockquote{
  border-left:1px solid var(--mf-champagne);padding-left:26px;margin:34px 0;
  font-family:var(--mf-serif);font-style:italic;font-size:1.1rem;color:var(--mf-bone-2);
}
.mf-post-body a{
  color:var(--mf-bone);border-bottom:1px solid var(--mf-hair);
  transition:border-color .6s var(--mf-ease);
}
.mf-post-body a:hover{border-bottom-color:var(--mf-champagne)}
.mf-post-body img{width:100%;height:auto;margin:30px 0}

/* keep-reading block appended by the importer */
.mf-post-related{
  margin-top:clamp(56px,8vh,90px);padding-top:clamp(34px,5vh,50px);
  border-top:1px solid var(--mf-hair-soft);
}
.mf-post-related h2{
  font-family:var(--mf-sans);font-weight:400;font-size:9.5px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--mf-bone-3);
  margin:0 0 22px;
}
.mf-post-related ul{list-style:none;margin:0 0 28px;padding:0}
.mf-post-related li{margin-bottom:14px;font-size:1rem}
.mf-post-related li a{
  font-family:var(--mf-serif);font-weight:300;font-size:1.06rem;
  color:var(--mf-bone-2);border-bottom:0;letter-spacing:.02em;
  transition:color .6s var(--mf-ease);
}
.mf-post-related li a:hover{color:var(--mf-bone)}
.mf-post-cta{font-size:.9rem;color:var(--mf-bone-3)}

@media (max-width:1080px){
  .mf-post-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .mf-post-grid{grid-template-columns:1fr;gap:40px}
  .mf-post-hero h1{max-width:none}
  .mf-post-body p,.mf-post-body li{font-size:.96rem}
}

