/* ==========================================================================
   Manifold Management Consultants — design layer
   Institutional editorial: hairlines, oversized display type, ledger rows,
   gold used once per zone. Loaded alongside the Tailwind CDN build; the
   markup uses mf-* classes so the two layers do not fight.
   ========================================================================== */

:root{
  --ink:#00142E;
  --navy:#0E294A;
  --navy-70:rgba(14,41,74,.70);
  --teal:#136872;
  --teal-deep:#11455E;
  --gold:#B48921;
  --gold-soft:#CA9D35;
  --canvas:#F8FAFA;
  --paper:#FFFFFF;
  --neutral:#E1E3E3;
  --steel:#44474E;
  --line:#DCE0E4;
  --line-strong:#C4C6CF;
  --line-dark:rgba(255,255,255,.16);

  --ease:cubic-bezier(.22,1,.36,1);
  --shell:1280px;
}

/* ------------------------------------------------------------------ base */

@layer base{
  html,body{margin:0;padding:0;}
}
body{overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;}
main>:first-child{margin-top:0!important;}
main>:last-child{margin-bottom:0!important;}
img{max-width:100%;}
::selection{background:#0E294A;color:#fff;}

/* Full-height sections must survive iOS Safari's collapsing toolbar */
.min-h-screen{min-height:100dvh;}

/* Visible focus for keyboard users */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,details:focus-visible{
  outline:2px solid var(--teal);outline-offset:3px;border-radius:2px;
}

/* -------------------------------------------------------------- typography
   Hierarchy comes from scale + weight + colour, so the display sizes are
   pulled up well past the Tailwind defaults and tracked tight. */

.mf-display{
  font-family:Manrope,system-ui,sans-serif;
  font-weight:800;
  font-size:clamp(2.25rem,1.15rem + 3.1vw,3.5rem);
  line-height:1.06;
  letter-spacing:-.035em;
  color:var(--ink);
  text-wrap:balance;
}
.mf-h2{
  font-family:Manrope,system-ui,sans-serif;
  font-weight:700;
  font-size:clamp(1.75rem,1.15rem + 1.9vw,2.625rem);
  line-height:1.06;
  letter-spacing:-.03em;
  color:var(--ink);
  text-wrap:balance;
  margin:0;
}
.mf-h3{
  font-family:Manrope,system-ui,sans-serif;
  font-weight:700;
  font-size:clamp(1.25rem,1.05rem + .7vw,1.625rem);
  line-height:1.16;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:0;
}
.mf-h4{
  font-family:Manrope,system-ui,sans-serif;
  font-weight:700;font-size:1.0625rem;line-height:1.3;letter-spacing:-.01em;
  color:var(--ink);margin:0;
}
.mf-lede{
  font-family:Inter,system-ui,sans-serif;
  font-size:clamp(1rem,.95rem + .25vw,1.1875rem);
  line-height:1.65;color:var(--steel);max-width:58ch;margin:0;
}
.mf-body{font-family:Inter,system-ui,sans-serif;font-size:.9375rem;line-height:1.7;color:var(--steel);margin:0;}
.mf-small{font-family:Inter,system-ui,sans-serif;font-size:.8125rem;line-height:1.6;color:var(--steel);margin:0;}

.mf-accent{color:var(--teal);}
.mf-quiet{color:var(--steel);}

/* Eyebrow: uppercase micro-label preceded by a short gold rule */
.mf-eyebrow{
  display:inline-flex;align-items:center;gap:.625rem;
  font-family:Inter,system-ui,sans-serif;font-size:.6875rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--teal);
  margin:0 0 1.25rem;
}
.mf-eyebrow::before{
  content:"";width:1.75rem;height:2px;background:var(--gold);flex:none;
  transform-origin:left;
}
.mf-eyebrow.is-gold{color:var(--gold);}
.on-dark .mf-eyebrow,.mf-eyebrow.on-dark{color:var(--gold-soft);}

/* --------------------------------------------------------------- shell */

.mf-shell{
  width:100%;max-width:var(--shell);margin-inline:auto;
  padding-inline:1.25rem;
}
@media(min-width:768px){.mf-shell{padding-inline:2rem;}}
@media(min-width:1024px){.mf-shell{padding-inline:3rem;}}

.mf-sec{padding-block:clamp(4rem,8vw,7.5rem);position:relative;}
.mf-sec--tight{padding-block:clamp(2.75rem,5vw,4.5rem);}
.mf-sec--canvas{background:var(--canvas);}
.mf-sec--paper{background:var(--paper);}
.mf-sec--ink{background:var(--ink);color:#fff;}
.mf-sec--navy{background:var(--navy);color:#fff;}

/* Section head: title left on a 7-col measure, lede right — never centred */
.mf-head{
  display:grid;grid-template-columns:1fr;gap:1.5rem;
  padding-top:1.75rem;border-top:1px solid var(--line);
  margin-bottom:clamp(2.5rem,4vw,4rem);
}
@media(min-width:900px){
  .mf-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:3rem;align-items:end;}
  .mf-head>.mf-head-aside{padding-bottom:.35rem;}
}
.on-dark .mf-head,.mf-sec--ink .mf-head,.mf-sec--navy .mf-head{border-top-color:var(--line-dark);}
.mf-sec--ink .mf-h2,.mf-sec--navy .mf-h2,.mf-sec--ink .mf-h3,.mf-sec--navy .mf-h3,
.mf-sec--ink .mf-display{color:#fff;}
.mf-sec--ink .mf-lede,.mf-sec--navy .mf-lede,
.mf-sec--ink .mf-body,.mf-sec--navy .mf-body,
.mf-sec--ink .mf-small,.mf-sec--navy .mf-small{color:rgba(255,255,255,.72);}

/* Hairline rule that draws itself in on reveal */
.mf-rule{height:1px;width:100%;background:var(--line);border:0;transform-origin:left;}
.mf-sec--ink .mf-rule,.mf-sec--navy .mf-rule{background:var(--line-dark);}

/* ---------------------------------------------------------------- panels
   A panel is a hairline box, not a floating card. Elevation is reserved for
   things that genuinely lift (the hero panel, the enquiry form). */

.mf-panel{
  position:relative;background:var(--paper);border:1px solid var(--line);
  border-radius:2px;padding:1.75rem;
  transition:border-color 320ms var(--ease),transform 320ms var(--ease),background-color 320ms var(--ease);
}
.mf-panel::before{
  content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:2px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform 420ms var(--ease);
}
a.mf-panel,.mf-panel--link{display:flex;flex-direction:column;text-decoration:none;}
a.mf-panel:hover,.mf-panel--link:hover,.mf-panel:focus-within{border-color:rgba(14,41,74,.38);}
a.mf-panel:hover::before,.mf-panel--link:hover::before,.mf-panel:focus-within::before{transform:scaleX(1);}

.mf-sec--ink .mf-panel,.mf-sec--navy .mf-panel{
  background:rgba(255,255,255,.035);border-color:var(--line-dark);
}
.mf-sec--ink a.mf-panel:hover,.mf-sec--navy a.mf-panel:hover{
  background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.34);
}

/* Panel grids share one hairline system, so tiles read as a table, not cards */
.mf-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px;}
.mf-grid>*{background:var(--paper);}
.mf-grid--2{grid-template-columns:1fr;}
.mf-grid--3{grid-template-columns:1fr;}
.mf-grid--4{grid-template-columns:1fr;}
@media(min-width:640px){.mf-grid--3,.mf-grid--4{grid-template-columns:repeat(2,1fr);}.mf-grid--2{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.mf-grid--3{grid-template-columns:repeat(3,1fr);}.mf-grid--4{grid-template-columns:repeat(4,1fr);}}

/* A tile inside a hairline grid: no border of its own, the gutter is the rule */
.mf-tile{
  position:relative;display:flex;flex-direction:column;gap:.75rem;
  padding:clamp(1.25rem,2.4vw,2rem);text-decoration:none;
  transition:background-color 320ms var(--ease);
}
.mf-tile::after{
  content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform 420ms var(--ease);
}
a.mf-tile:hover{background:#FCFDFD;}
a.mf-tile:hover::after{transform:scaleX(1);}
a.mf-tile:hover .mf-tile-go{transform:translateX(4px);color:var(--gold);}

.mf-tile-go{
  display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;padding-top:1rem;
  font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--teal);
  transition:transform 320ms var(--ease),color 320ms var(--ease);
}
.mf-tile-go .material-symbols-outlined{font-size:16px;}

/* Glyph: hairline square, teal mark — replaces the grey icon chip */
.mf-glyph{
  width:2.75rem;height:2.75rem;flex:none;display:grid;place-items:center;
  border:1px solid var(--line-strong);border-radius:2px;color:var(--teal);
  transition:border-color 320ms var(--ease),color 320ms var(--ease),background-color 320ms var(--ease);
}
.mf-glyph .material-symbols-outlined{font-size:22px;}
a:hover>.mf-glyph,a:hover .mf-glyph,.mf-tile:hover .mf-glyph{border-color:var(--gold);color:var(--gold);}
.mf-sec--ink .mf-glyph,.mf-sec--navy .mf-glyph{border-color:var(--line-dark);color:var(--gold-soft);}

/* ------------------------------------------------------------ ledger rows
   The replacement for three-equal-cards: numbered rows separated by
   hairlines, with the index set as a large quiet numeral. */

.mf-ledger{border-top:1px solid var(--line);}
.mf-ledger-row{
  display:grid;grid-template-columns:1fr;gap:.75rem 2rem;
  padding-block:clamp(1.5rem,3vw,2.25rem);
  border-bottom:1px solid var(--line);
  transition:background-color 320ms var(--ease);
}
@media(min-width:820px){
  .mf-ledger-row{grid-template-columns:5.5rem minmax(0,7fr) minmax(0,6fr);align-items:start;}
}
.mf-ledger-row:hover{background:rgba(14,41,74,.018);}
.mf-ledger-index{
  font-family:Manrope,system-ui,sans-serif;font-weight:800;
  font-size:clamp(1.75rem,1.2rem + 1.6vw,2.75rem);line-height:1;
  letter-spacing:-.03em;color:var(--line-strong);
  font-variant-numeric:tabular-nums;
  transition:color 320ms var(--ease);
}
.mf-ledger-row:hover .mf-ledger-index{color:var(--gold);}
.mf-sec--ink .mf-ledger,.mf-sec--navy .mf-ledger{border-top-color:var(--line-dark);}
.mf-sec--ink .mf-ledger-row,.mf-sec--navy .mf-ledger-row{border-bottom-color:var(--line-dark);}
.mf-sec--ink .mf-ledger-index,.mf-sec--navy .mf-ledger-index{color:rgba(255,255,255,.26);}
.mf-sec--ink .mf-ledger-row:hover,.mf-sec--navy .mf-ledger-row:hover{background:rgba(255,255,255,.035);}

/* ---------------------------------------------------------------- metrics */

.mf-metrics{
  display:grid;grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
@media(min-width:820px){.mf-metrics{grid-template-columns:repeat(4,1fr);}}
.mf-metric{
  padding:clamp(1.25rem,2.5vw,2rem) 1.25rem;
  border-left:1px solid var(--line);
  display:flex;flex-direction:column;gap:.5rem;
}
.mf-metric:first-child{border-left:0;}
@media(max-width:819px){.mf-metric:nth-child(odd){border-left:0;}}
.mf-metric-figure{
  font-family:Manrope,system-ui,sans-serif;font-weight:800;
  font-size:clamp(2.25rem,1.4rem + 2.4vw,3.5rem);line-height:1;letter-spacing:-.035em;
  color:var(--ink);font-variant-numeric:tabular-nums;
}
.mf-metric-figure .mf-unit{color:var(--gold);}
.mf-metric-label{
  font-family:Inter,system-ui,sans-serif;font-size:.6875rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--steel);
}
.mf-sec--ink .mf-metrics,.mf-sec--navy .mf-metrics{border-color:var(--line-dark);}
.mf-sec--ink .mf-metric,.mf-sec--navy .mf-metric{border-left-color:var(--line-dark);}
.mf-sec--ink .mf-metric-figure,.mf-sec--navy .mf-metric-figure{color:#fff;}
.mf-sec--ink .mf-metric-label,.mf-sec--navy .mf-metric-label{color:rgba(255,255,255,.6);}

/* ---------------------------------------------------------------- buttons */

.mf-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:2.875rem;padding:.75rem 1.5rem;border-radius:2px;border:1px solid transparent;
  font-family:Inter,system-ui,sans-serif;font-size:.8125rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  position:relative;overflow:hidden;
  transition:transform 260ms var(--ease),background-color 260ms var(--ease),
             color 260ms var(--ease),border-color 260ms var(--ease);
}
.mf-btn .material-symbols-outlined{font-size:18px;transition:transform 320ms var(--ease);}
.mf-btn:hover{transform:translateY(-2px);}
.mf-btn:active{transform:translateY(0);}
.mf-btn:hover .material-symbols-outlined{transform:translateX(3px);}

.mf-btn--primary{background:var(--navy);color:#fff;}
.mf-btn--primary::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform 340ms var(--ease);
}
.mf-btn--primary:hover{background:var(--ink);}
.mf-btn--primary:hover::after{transform:scaleX(1);}

.mf-btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong);}
.mf-btn--ghost:hover{border-color:var(--ink);background:rgba(14,41,74,.04);}

.mf-btn--gold{background:var(--gold);color:#1A1200;}
.mf-btn--gold:hover{background:var(--gold-soft);}

.mf-sec--ink .mf-btn--ghost,.mf-sec--navy .mf-btn--ghost{color:#fff;border-color:rgba(255,255,255,.34);}
.mf-sec--ink .mf-btn--ghost:hover,.mf-sec--navy .mf-btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}

/* Text link with a rule that grows from the left */
.mf-link{
  position:relative;display:inline-flex;align-items:center;gap:.4rem;
  font-weight:600;color:var(--teal);text-decoration:none;
}
.mf-link::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:left;transition:transform 300ms var(--ease);
}
.mf-link:hover::after{transform:scaleX(1);}

/* ----------------------------------------------------------------- chrome */

/* Scroll progress: a 2px gold hairline across the very top */
.mf-progress{
  position:fixed;top:0;left:0;right:0;height:2px;z-index:60;pointer-events:none;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
}

header{transition:background-color 300ms var(--ease),box-shadow 300ms var(--ease),border-color 300ms var(--ease);}
header.is-scrolled{background-color:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line),0 10px 30px -18px rgba(14,41,74,.35);}

/* Nav underline grows from the left, in gold */
header nav a{position:relative;}
header nav a::after{
  content:"";position:absolute;left:0;bottom:-6px;height:2px;width:100%;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--ease);
}
header nav a:hover::after,header nav a[aria-current="page"]::after{transform:scaleX(1);}

/* --------------------------------------------------------------- surfaces */

/* Fine architectural grid, used instead of blurred colour blobs */
.mf-gridlines{
  position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(to right,rgba(14,41,74,.055) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(14,41,74,.055) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(120% 90% at 82% 20%,#000 0%,transparent 72%);
          mask-image:radial-gradient(120% 90% at 82% 20%,#000 0%,transparent 72%);
}
.mf-sec--ink .mf-gridlines,.mf-sec--navy .mf-gridlines{
  background-image:linear-gradient(to right,rgba(255,255,255,.07) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(255,255,255,.07) 1px,transparent 1px);
}

/* Brand mark watermark, restrained and clipped to the section */
.mf-watermark{
  position:absolute;pointer-events:none;user-select:none;
  right:-10%;top:50%;translate:0 -50%;
  width:min(32vw,400px);opacity:.035;
  -webkit-mask-image:linear-gradient(to left,#000 0%,#000 35%,transparent 92%);
          mask-image:linear-gradient(to left,#000 0%,#000 35%,transparent 92%);
}
.mf-watermark img{display:block;width:100%;height:auto;}
.mf-sec--ink .mf-watermark,.mf-sec--navy .mf-watermark{opacity:.045;}

/* ------------------------------------------------------------------- FAQ */

.mf-faq{border-top:1px solid var(--line);}
.mf-faq details{border-bottom:1px solid var(--line);}
.mf-faq summary{
  list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:1.25rem;
  padding-block:1.375rem;
  font-family:Manrope,system-ui,sans-serif;font-weight:700;font-size:1.0625rem;
  line-height:1.4;letter-spacing:-.015em;color:var(--ink);
  transition:color 240ms var(--ease);
}
.mf-faq summary:hover{color:var(--teal);}
.mf-faq summary::-webkit-details-marker{display:none;}
.mf-faq summary .mf-faq-mark{
  margin-left:auto;flex:none;color:var(--teal);
  transition:transform 280ms var(--ease),color 280ms var(--ease);
}
.mf-faq details[open] summary{color:var(--teal);}
.mf-faq details[open] summary .mf-faq-mark{transform:rotate(180deg);color:var(--gold);}
.mf-faq-body{padding:0 0 1.5rem 0;max-width:70ch;}
details>summary::-webkit-details-marker{display:none;}
details summary .material-symbols-outlined{transition:transform 260ms var(--ease);}
details[open] summary .material-symbols-outlined{transform:rotate(180deg);}

/* ----------------------------------------------------------------- forms */

.mf-field{display:flex;flex-direction:column;gap:.4375rem;}
.mf-label{
  font-family:Inter,system-ui,sans-serif;font-size:.6875rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink);
}
.mf-label .mf-req{color:var(--gold);}
.mf-input,.mf-select,.mf-textarea{
  width:100%;font-family:Inter,system-ui,sans-serif;font-size:.9375rem;color:var(--ink);
  background:#F4F6F7;border:1px solid transparent;border-bottom:1px solid var(--line-strong);
  border-radius:2px;padding:.8125rem .875rem;min-height:2.875rem;
  transition:background-color 240ms var(--ease),border-color 240ms var(--ease),box-shadow 240ms var(--ease);
}
.mf-textarea{min-height:7rem;resize:vertical;}
.mf-input::placeholder,.mf-textarea::placeholder{color:#8B9097;}
.mf-input:focus,.mf-select:focus,.mf-textarea:focus{
  outline:none;background:#fff;border-color:var(--teal);box-shadow:0 0 0 3px rgba(19,104,114,.14);
}
.mf-help{font-family:Inter,system-ui,sans-serif;font-size:.75rem;color:var(--steel);}

/* ---------------------------------------------------------------- footer */

footer .mf-foot-col{position:relative;}
@media(min-width:1024px){
  footer .mf-foot-col+.mf-foot-col::before{
    content:"";position:absolute;left:-1.25rem;top:0;bottom:0;width:1px;background:rgba(255,255,255,.12);
  }
}

/* ==========================================================================
   Motion — every rule is gated on .motion-on, added by site.js only when JS
   runs and the visitor has not asked for reduced motion. Without it the page
   renders complete and static.
   ========================================================================== */

.motion-on .reveal{opacity:0;transform:translateY(26px);
  transition:opacity 700ms var(--ease),transform 700ms var(--ease);}
.motion-on .reveal.is-visible{opacity:1;transform:none;}

.motion-on .reveal .reveal-item{opacity:0;transform:translateY(18px);
  transition:opacity 620ms var(--ease),transform 620ms var(--ease);}
.motion-on .reveal.is-visible .reveal-item{opacity:1;transform:none;}

/* Headlines rise out of a clipped band */
.motion-on .mf-mask{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.16em;}
.motion-on .mf-mask>span{display:block;transform:translateY(110%);
  transition:transform 900ms var(--ease);}
.motion-on .is-visible .mf-mask>span,
.motion-on .hero-in .mf-mask>span{transform:none;}

/* Hairlines draw themselves in */
.motion-on .mf-head,.motion-on .mf-ledger,.motion-on .mf-faq{position:relative;}
.motion-on .reveal .mf-rule{transform:scaleX(0);transition:transform 800ms var(--ease) 120ms;}
.motion-on .reveal.is-visible .mf-rule{transform:scaleX(1);}
.motion-on .mf-eyebrow::before{transform:scaleX(0);transition:transform 600ms var(--ease) 200ms;}
.motion-on .is-visible .mf-eyebrow::before,
.motion-on .hero-in .mf-eyebrow::before{transform:scaleX(1);}

/* Hero: an on-load waterfall rather than a scroll trigger */
@keyframes rise-in{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
@keyframes fade-in{from{opacity:0;}to{opacity:1;}}
.motion-on .hero-in .hero-stagger>*{animation:rise-in 820ms var(--ease) both;}
.motion-on .hero-in .hero-stagger>*:nth-child(1){animation-delay:60ms;}
.motion-on .hero-in .hero-stagger>*:nth-child(2){animation-delay:140ms;}
.motion-on .hero-in .hero-stagger>*:nth-child(3){animation-delay:220ms;}
.motion-on .hero-in .hero-stagger>*:nth-child(4){animation-delay:300ms;}
.motion-on .hero-in .hero-stagger>*:nth-child(5){animation-delay:380ms;}
.motion-on .hero-in .hero-stagger>*:nth-child(6){animation-delay:460ms;}
.motion-on .hero-in .hero-late{animation:rise-in 900ms var(--ease) 320ms both;}
.motion-on .hero-in .mf-gridlines,.motion-on .hero-in .mf-watermark{animation:fade-in 1400ms ease-out both;}

/* Portraits zoom slowly inside a clipped frame */
.mf-frame{overflow:hidden;position:relative;}
.motion-on .mf-frame img{transition:transform 900ms var(--ease);}
.motion-on .mf-frame:hover img,.motion-on a:hover .mf-frame img{transform:scale(1.045);}

/* Accordion content settles in */
@keyframes details-open{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.motion-on details[open]>*:not(summary){animation:details-open 320ms ease-out both;}

.font-stat-display,[data-count-to]{font-variant-numeric:tabular-nums;}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
  .reveal,.reveal-item{opacity:1!important;transform:none!important;}
  .mf-mask>span{transform:none!important;}
  .mf-progress{display:none;}
}

/* ==========================================================================
   Page-level pieces
   ========================================================================== */

/* Hero ------------------------------------------------------------------- */
.mf-hero{min-height:clamp(560px,86vh,860px);display:flex;align-items:center;
  padding-block:clamp(4rem,9vw,7rem);position:relative;overflow:clip;}
.mf-hero-signal{display:flex;align-items:center;gap:.75rem;color:var(--steel);}
.mf-hero-signal .material-symbols-outlined{font-size:20px;color:var(--gold);font-variation-settings:'FILL' 1;}

/* The one genuinely elevated object on the page */
.mf-lift{
  background:var(--paper);border:1px solid var(--line);border-radius:2px;
  box-shadow:0 24px 60px -32px rgba(14,41,74,.45),0 2px 6px -2px rgba(14,41,74,.10);
}
.mf-lift-media{position:relative;aspect-ratio:16/9;overflow:hidden;}
.mf-lift-media img{width:100%;height:100%;object-fit:cover;display:block;}
.mf-lift-media-cap{
  position:absolute;inset:auto 0 0 0;padding:1.25rem;
  background:linear-gradient(to top,rgba(0,20,46,.92),rgba(0,20,46,.35) 55%,transparent);
}
.mf-lift-row{
  display:flex;gap:1rem;align-items:flex-start;padding:1.125rem 1.25rem;
  border-top:1px solid var(--line);transition:background-color 280ms var(--ease);
}
.mf-lift-row:hover{background:#FAFCFC;}
.mf-lift-row:hover .mf-glyph{border-color:var(--gold);color:var(--gold);}

/* Tag: uppercase micro-label on a hairline, replaces the pastel pill */
.mf-tag{
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:Inter,system-ui,sans-serif;font-size:.625rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--steel);
  padding:.25rem .5rem;border:1px solid var(--line-strong);border-radius:2px;
}
.mf-tag--gold{color:var(--gold);border-color:rgba(180,137,33,.45);}
.mf-tag--teal{color:var(--teal);border-color:rgba(19,104,114,.35);}

/* Kicker strip: label / label / label separated by gold dots */
.mf-kicker{
  display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;
  font-family:Inter,system-ui,sans-serif;font-size:.6875rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--navy);
}
.mf-kicker span.dot{width:4px;height:4px;border-radius:50%;background:var(--gold);}

/* Pillars ---------------------------------------------------------------- */
.mf-pillar{position:relative;display:flex;flex-direction:column;padding:clamp(1.75rem,3vw,2.75rem);}
.mf-pillar-mark{
  position:absolute;top:clamp(1.75rem,3vw,2.75rem);right:clamp(1.75rem,3vw,2.75rem);
  font-family:Manrope,system-ui,sans-serif;font-weight:800;font-size:3.5rem;line-height:1;
  color:var(--line);letter-spacing:-.04em;
}
.mf-chips{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);
  border-block:1px solid var(--line);margin-block:1.75rem;}
@media(min-width:520px){.mf-chips{grid-template-columns:repeat(2,1fr);}}
.mf-chip{display:flex;align-items:center;gap:.625rem;background:var(--paper);
  padding:.75rem .875rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem;
  font-weight:500;color:var(--ink);transition:background-color 240ms var(--ease),color 240ms var(--ease);}
.mf-chip .material-symbols-outlined{font-size:18px;color:var(--teal);transition:color 240ms var(--ease);}
.mf-chip:hover{background:#FAFCFC;}
.mf-chip:hover .material-symbols-outlined{color:var(--gold);}

/* Indexed tile: the numeral does the work the icon chip used to do badly */
.mf-tile-index{
  font-family:Manrope,system-ui,sans-serif;font-weight:800;font-size:.8125rem;
  letter-spacing:.1em;color:var(--line-strong);font-variant-numeric:tabular-nums;
  transition:color 320ms var(--ease);
}
a.mf-tile:hover .mf-tile-index{color:var(--gold);}

/* Steps on a connecting hairline ---------------------------------------- */
.mf-steps{display:grid;grid-template-columns:1fr;gap:0;position:relative;}
@media(min-width:900px){.mf-steps{grid-template-columns:repeat(4,1fr);}}
.mf-step{position:relative;padding:2.5rem 1.5rem 0 0;}
@media(min-width:900px){.mf-step{padding-right:2rem;}}
.mf-step::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line-dark);
}
.mf-step::after{
  content:"";position:absolute;top:-4px;left:0;width:9px;height:9px;border-radius:50%;
  background:var(--gold);
}
.mf-step-num{
  font-family:Manrope,system-ui,sans-serif;font-weight:800;
  font-size:clamp(2.5rem,2rem + 1.8vw,3.75rem);line-height:1;letter-spacing:-.04em;
  color:rgba(255,255,255,.30);font-variant-numeric:tabular-nums;margin-bottom:1rem;display:block;
}

/* People ----------------------------------------------------------------- */
.mf-person{display:flex;flex-direction:column;}
.mf-person .mf-frame{aspect-ratio:4/5;border:1px solid var(--line);border-radius:2px;background:var(--neutral);}
.mf-person .mf-frame img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;}
.mf-person-body{padding-top:1.25rem;border-top:2px solid var(--ink);margin-top:1.25rem;}
@media(min-width:900px){.mf-offset{margin-top:3rem;}.mf-offset-lg{margin-top:5rem;}}
.mf-sample{
  position:absolute;top:.75rem;right:.75rem;background:rgba(255,255,255,.92);
  font-family:Inter,system-ui,sans-serif;font-size:.625rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--steel);
  padding:.25rem .5rem;border-radius:2px;
}

/* Masked headline lines cascade */
.motion-on .mf-mask:nth-of-type(2)>span{transition-delay:90ms;}
.motion-on .mf-mask:nth-of-type(3)>span{transition-delay:180ms;}
.motion-on .mf-mask:nth-of-type(4)>span{transition-delay:270ms;}
.motion-on .hero-in .hero-stagger>h1{animation:fade-in 600ms ease-out both;}

/* Dark tile variant used to break a long grid */
.mf-tile--ink{background:var(--ink);}
.mf-tile--ink .mf-h4,.mf-tile--ink .mf-h3{color:#fff;}
.mf-tile--ink .mf-small,.mf-tile--ink .mf-body{color:rgba(255,255,255,.72);}
.mf-tile--ink .mf-tile-index{color:rgba(255,255,255,.32);}
.mf-tile--ink .mf-tile-go{color:var(--gold-soft);}
a.mf-tile--ink:hover{background:#001A3B;}

/* Compact strip tile: glyph inline with the heading */
.mf-tile--strip{gap:.625rem;}
.mf-tile--strip .mf-tile-head{display:flex;align-items:center;gap:.875rem;}
.mf-tile--strip .mf-glyph{width:2.25rem;height:2.25rem;}
.mf-tile--strip .mf-glyph .material-symbols-outlined{font-size:19px;}

/* Light variant of the connected steps, and a five-stage row */
@media(min-width:1024px){.mf-steps--5{grid-template-columns:repeat(5,1fr);}}
.mf-steps.is-light .mf-step::before{background:var(--line);}
.mf-steps.is-light .mf-step-num{color:var(--line-strong);}
.mf-steps.is-light .mf-step:hover .mf-step-num{color:var(--gold);}
.mf-step-num{transition:color 320ms var(--ease);}

/* Full-bleed feature panel used for a single standout offer */
.mf-feature{
  display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;
  background:var(--ink);color:#fff;border-radius:2px;padding:clamp(1.75rem,3.5vw,3rem);
  position:relative;overflow:clip;
}
@media(min-width:900px){.mf-feature{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:3rem;}}
.mf-feature .mf-h3{color:#fff;}
.mf-feature .mf-body{color:rgba(255,255,255,.72);}

/* FAQ column layout: heading holds its own column and stays put */
@media(min-width:1000px){
  .mf-faq-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:4rem;align-items:start;}
  .mf-faq-layout>.mf-faq-aside{position:sticky;top:7rem;}
}

/* Hairline grids on a dark band: the gutter is the rule, the cell is the ground */
.mf-sec--ink .mf-grid,.mf-sec--navy .mf-grid{background:var(--line-dark);border-color:var(--line-dark);}
.mf-sec--ink .mf-grid>*,.mf-sec--navy .mf-grid>*{background:var(--ink);}
.mf-sec--ink .mf-grid .mf-h4,.mf-sec--navy .mf-grid .mf-h4,
.mf-sec--ink .mf-grid .mf-h3,.mf-sec--navy .mf-grid .mf-h3{color:#fff;}
.mf-sec--ink .mf-grid .mf-small,.mf-sec--navy .mf-grid .mf-small,
.mf-sec--ink .mf-grid .mf-body,.mf-sec--navy .mf-grid .mf-body{color:rgba(255,255,255,.7);}
.mf-sec--ink a.mf-tile:hover,.mf-sec--navy a.mf-tile:hover{background:#001A3B;}

/* The brand watermark is desktop furniture; on phones it only crowds the copy */
@media(max-width:767px){.mf-watermark{display:none;}}

/* The growing underline belongs to the desktop nav only */
#mobile-drawer a::after{content:none;}
#mobile-drawer{box-shadow:0 18px 40px -24px rgba(14,41,74,.5);}

/* Embedded location map: sits flush inside its hairline frame */
.mf-map{display:block;width:100%;height:14rem;border:0;}

/* --------------------------------------------------------------- alignment
   Cards in a row must agree on where their baselines and footers sit, no
   matter how long the copy inside them runs. */

/* Portrait cards: bios differ in length, so pin the meta strip to the bottom */
.mf-person{height:100%;}
.mf-person-body{display:flex;flex-direction:column;flex:1;}
.mf-person-body>div:last-child{margin-top:auto;}

/* Ledger switches to its three-column form at the same width the markup's
   md: utilities do, so the right-hand column never justifies while stacked */
@media(min-width:820px){.mf-ledger-row{grid-template-columns:5.5rem minmax(0,7fr) minmax(0,6fr);}}
@media(min-width:768px) and (max-width:819px){
  .mf-ledger-row>*:last-child{justify-content:flex-start!important;}
}

/* Contact rows: long values (email) must not wrap under their own label */
.mf-lift-row .mf-contact-value{font-size:.875rem;font-weight:600;line-height:1.45;letter-spacing:0;overflow-wrap:anywhere;}

/* A hairline grid must never leave a half-empty cell: when an odd item lands
   alone on the final two-column row, let it take the whole width */
@media(min-width:640px) and (max-width:1023px){
  .mf-grid--3>*:last-child:nth-child(odd),
  .mf-grid--4>*:last-child:nth-child(odd){grid-column:1 / -1;}
}
@media(min-width:1024px){
  .mf-grid--3>*:last-child:nth-child(3n+1){grid-column:1 / -1;}
}

/* Five stages wrap 3+2 in the middle band rather than orphaning one cell in a
   four-column row */
@media(min-width:900px) and (max-width:1023px){
  .mf-steps--5{grid-template-columns:repeat(3,1fr);row-gap:2.5rem;}
}

/* Contact row label sits on its own line so the value gets the full column */
.mf-lift-row .mf-metric-label{display:block;}
