/* Mariflex, component layer v0.7.
   The v6 design is unchanged. This release adds an SEO layer to the eight
   service and seven equipment templates only, plus 45 knowledge articles.
   Popups are two-column above 820px so the content fits without scrolling.
   The header carries .mf-solid on pages that open on a light ground; the
   router measures that rather than assuming it. */

:root{
  --navy:#28285A; --deep:#16173A; --abyss:#0D0E26;
  --blue:#5A8CC8; --yellow:#FAC73A; --red:#E63223;
  --paper:#F4F2ED; --paper2:#E6E2D9; --line:#CFC8BC;
  --slate:#5E6672; --mist:#A9B2C4;
  --gut:clamp(18px,3.4vw,64px); --maxw:1680px;
  --e:cubic-bezier(.19,.72,.24,1);
  --bg:var(--paper); --fg:var(--navy); --fg2:var(--slate); --hair:var(--line);
}
.mf-dark{--bg:var(--deep);--fg:#fff;--fg2:var(--mist);--hair:rgba(255,255,255,.18)}
.mf-navy{--bg:var(--navy);--fg:#fff;--fg2:var(--mist);--hair:rgba(255,255,255,.2)}
.mf-abyss{--bg:var(--abyss);--fg:#fff;--fg2:var(--mist);--hair:rgba(255,255,255,.16)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--navy);overflow-x:hidden;
  font-family:Roboto,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
/* Visible focus on every interactive element, on both grounds. */
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--yellow);outline-offset:3px}
.mf-navy :focus-visible,.mf-dark :focus-visible,.mf-abyss :focus-visible,
.mf-eqhero :focus-visible,.mf-svchero :focus-visible,.mf-sig :focus-visible,
.mf-urg :focus-visible,.mf-top :focus-visible{outline-color:#fff}

.mf-dsp{margin:0;font-weight:900;letter-spacing:-.045em;line-height:.84;text-transform:uppercase;font-size:clamp(3rem,10.5vw,10rem)}
.mf-dsp2{margin:0;font-weight:900;letter-spacing:-.04em;line-height:.88;text-transform:uppercase;font-size:clamp(2rem,5.2vw,4.6rem)}
.mf-dsp3{margin:0;font-weight:900;letter-spacing:-.035em;line-height:.92;text-transform:uppercase;font-size:clamp(1.7rem,3.6vw,3rem)}
.h2{margin:0;font-weight:700;letter-spacing:-.028em;line-height:1.08;font-size:clamp(1.35rem,2.4vw,2.15rem)}
.h3{margin:0;font-weight:500;letter-spacing:-.018em;font-size:clamp(1rem,1.3vw,1.16rem)}
.mf-lede{margin:0;font-size:clamp(1rem,1.24vw,1.14rem);line-height:1.58;max-width:58ch;color:var(--fg2)}
/* Kicker labels: yellow is a house colour and behaves like one. Blue on light
   grounds, yellow wherever the ground is dark. One place, not twenty. */
.mf-cnd.mf-kick{color:var(--blue)}
.mf-dark .mf-cnd.mf-kick,.mf-navy .mf-cnd.mf-kick,.mf-abyss .mf-cnd.mf-kick,.mf-eqhero .mf-cnd.mf-kick,.mf-svchero .mf-cnd.mf-kick,
.mf-sig .mf-cnd.mf-kick,.mf-lock .mf-cnd.mf-kick,.mf-hero .mf-cnd.mf-kick,.mf-urg .mf-cnd.mf-kick{color:var(--yellow)}
.mf-rev{display:none}
body.mf-review .mf-rev{display:block}
body.mf-review .mf-rev.mf-box{display:block}
.mf-revtog{font:inherit;font-family:'Roboto Condensed';font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;background:none;border:1px solid var(--hair);color:var(--fg2);
  padding:5px 11px;cursor:pointer;transition:.25s}
.mf-revtog:hover{border-color:var(--fg);color:var(--fg)}
.mf-revtog[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff}
.mf-cnd{font-family:'Roboto Condensed',Roboto,sans-serif;font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;margin:0;color:var(--fg2)}
.mf-big{font-family:'Roboto Condensed';font-weight:700;letter-spacing:-.02em;line-height:1;font-size:clamp(2rem,4vw,3.6rem);color:var(--fg)}
.body p{margin:0 0 1.05em;max-width:64ch;color:var(--fg2)}
.body strong{color:var(--fg);font-weight:500}

.mf-wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.mf-g12{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,1.7vw,30px)}
.mf-sec{background:var(--bg);color:var(--fg);padding-block:clamp(56px,7.4vw,124px);position:relative}
.mf-sec--t{padding-block:clamp(36px,4.6vw,76px)}
.mf-sec--0{padding-top:0}
.mf-sec--rule{border-top:1px solid var(--hair)}
.mf-sec--panel{background:var(--paper2)}
.mf-dark .mf-sec--panel,.mf-navy .mf-sec--panel,.mf-abyss .mf-sec--panel{background:rgba(255,255,255,.04)}
.mf-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:clamp(16px,2vw,30px)}
.mf-eyebrow::after{content:"";flex:1;height:1px;background:var(--hair)}

/* ============ THE TRANSFER LINE ============
   Every section boundary is a coupling: a line leaves one section,
   changes column, and enters the next. It draws itself on scroll. */
.mf-flow{position:relative;background:var(--bg);height:clamp(96px,10.5vw,160px);overflow:hidden}
.mf-flow svg.mf-rail{position:absolute;inset:0;width:100%;height:100%;display:block}
.mf-flow .mf-rail path{fill:none;stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke;
  opacity:.28}
.mf-flow .mf-rail .draw{opacity:1;stroke:var(--fc,currentColor);stroke-dasharray:var(--L,1200);stroke-dashoffset:var(--L,1200);
  transition:stroke-dashoffset 1.5s var(--e)}
.mf-flow.in .mf-rail .draw{stroke-dashoffset:0}
.mf-flow .tag{position:absolute;bottom:16%;white-space:nowrap;opacity:0;
  transition:opacity .7s .8s var(--e)}
.mf-flow.in .tag{opacity:1}
.mf-flow{color:var(--navy)}
.mf-flow.mf-dark,.mf-flow.mf-navy,.mf-flow.mf-abyss{color:var(--blue)}


/* ============ THE OPENING ============
   Inner pages do not stack: headline field, photograph and the section below
   share one composition. The image straddles the boundary, so there is never a
   hard edge between two full-width blocks. */
.mf-open{position:relative;background:var(--navy);color:#fff;overflow:hidden;
  padding-top:clamp(104px,12vw,190px);padding-bottom:0}
.mf-open__hook{position:absolute;right:-42%;top:-56%;width:132%;aspect-ratio:178/109;
  z-index:0;pointer-events:none;will-change:transform}
.mf-open__hook svg{width:100%;height:100%;display:block}
.mf-open__in{position:relative;z-index:2}
.mf-open .mf-crumb{color:var(--mist)}
.mf-open .mf-crumb a:hover{color:#fff}
.mf-open h1{margin:14px 0 0}
.mf-open__lede{margin-top:22px;color:#CBD2DF;padding-bottom:clamp(30px,5vw,80px)}
.mf-open__fig{margin:0;position:relative;align-self:end;
  margin-bottom:calc(-1 * clamp(46px,7.5vw,130px))}
.mf-open__fig img{width:100%;height:clamp(230px,30vw,440px);object-fit:cover}
.mf-open__fig figcaption{position:absolute;left:0;bottom:0;transform:translateY(115%);
  padding-top:10px;color:var(--mist)}
.mf-after-open{padding-top:clamp(96px,13vw,210px)}

/* ============ DOSSIER INDEX ============ */
.mf-dnav{position:sticky;top:66px;z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.mf-dnav ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(14px,2.2vw,34px);
  overflow-x:auto;scrollbar-width:none}
.mf-dnav ul::-webkit-scrollbar{display:none}
.mf-dnav a{display:block;padding:15px 0;font-family:'Roboto Condensed';font-size:.73rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--slate);white-space:nowrap;
  border-bottom:2px solid transparent;transition:.3s}
.mf-dnav a:hover{color:var(--navy);border-bottom-color:var(--blue)}

/* ============ THE MAP ============ */
.mf-map__frame{position:relative;background:var(--deep);overflow:hidden}
.mf-map__frame svg{width:100%;height:auto;display:block}
.mf-map .mf-land{fill:#252c58;stroke:#3d4680;stroke-width:.8}
.mf-map .mf-pin{cursor:pointer}
.mf-map .mf-pin circle.hit{fill:transparent}
.mf-map .mf-pin circle.dot{fill:#5A8CC8;r:4.5;transition:fill .35s var(--e)}
.mf-map .mf-pin circle.ring{fill:none;stroke:#5A8CC8;stroke-width:1.4;opacity:0;r:9;
  transition:opacity .4s var(--e),r .5s var(--e)}
.mf-map .mf-pin:hover circle.dot,.mf-map .mf-pin.on circle.dot{fill:#FAC73A}
.mf-map .mf-pin:hover circle.ring,.mf-map .mf-pin.on circle.ring{opacity:.9;r:18;stroke:#FAC73A}
.mf-map .mf-pin.hq circle.dot{fill:#FAC73A;r:6.5}
.mf-map .mf-pin.hq circle.ring{opacity:.5;stroke:#FAC73A;animation:mfping 3.2s infinite}
@keyframes mfping{0%{r:9;opacity:.8}70%{r:26;opacity:0}100%{r:26;opacity:0}}
.mf-map__card{position:absolute;width:min(280px,62vw);background:var(--abyss);
  border-left:3px solid var(--yellow);pointer-events:none;opacity:0;
  transform:translateY(8px);transition:opacity .3s var(--e),transform .3s var(--e);z-index:5}
.mf-map__card.on{opacity:1;transform:none}
.mf-map__card img{width:100%;height:118px;object-fit:cover}
.mf-map__card .b{padding:13px 15px 15px}
.mf-map__card .t{font-weight:500;font-size:1rem;color:#fff}
.mf-map__card .s{font-size:.82rem;color:var(--mist);margin-top:5px;line-height:1.45}
.mf-map__card .mf-pending{font-family:'Roboto Condensed';font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--yellow);margin-top:9px}
.mf-map__list{list-style:none;margin:0;padding:0;columns:2;column-gap:24px}
.mf-map__list button{padding:7px 0;font-size:.88rem;color:var(--fg2);text-align:left;transition:.25s;width:100%}
.mf-map__list button:hover,.mf-map__list button.on{color:var(--fg)}
.mf-map__list .mf-ishq{color:var(--yellow)}

/* ============ HEADER ============ */
/* The header is transparent so it can sit over a dark hero. Pages that open on
   a light ground carry .mf-lighttop; the router then sets .solid on the header.
   Without it the white logo and navigation disappear into the paper. */
.mf-top.solid{background:var(--abyss)}
.mf-top{position:fixed;top:0;left:0;right:0;z-index:80;transition:background .5s var(--e)}
.mf-top.solid{background:rgba(13,14,38,.94);backdrop-filter:blur(14px)}
.mf-top__in{display:flex;align-items:center;gap:clamp(10px,2vw,32px);height:66px;max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.mf-top img.lg{height:23px}
.mf-nav{display:flex;gap:clamp(10px,1.5vw,24px);margin-left:auto;align-items:center}
.mf-nav>a,.mf-dd>button{font-size:.82rem;font-weight:500;color:#C8CEDA;padding:22px 0;position:relative;transition:color .3s}
.mf-nav>a:hover,.mf-dd>button:hover,.mf-dd:hover>button{color:#fff}
.mf-dd{position:relative}
.mf-dd>button::after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;vertical-align:2px;
  border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg)}
.mf-dd__menu{position:absolute;top:100%;left:-16px;min-width:270px;background:var(--deep);
  border-top:2px solid var(--blue);padding:8px 0;display:none;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.mf-dd:hover .mf-dd__menu,.mf-dd:focus-within .mf-dd__menu{display:block}
/* After a link inside the menu is clicked the pointer is usually still over the
   trigger, so :hover keeps the panel open on the page you just navigated to.
   .mf-shut suppresses it until the pointer actually leaves. */
.mf-dd.mf-shut .mf-dd__menu,.mf-dd.mf-shut:hover .mf-dd__menu,.mf-dd.mf-shut:focus-within .mf-dd__menu{display:none}
.mf-dd__menu a{display:block;padding:10px 18px;font-size:.86rem;color:#C8CEDA;transition:.25s}
.mf-dd__menu a:hover{background:var(--navy);color:#fff}
.mf-desk{display:flex;align-items:center;gap:9px;padding:22px 0 22px 4px;color:var(--yellow);
  font-family:'Roboto Condensed';font-weight:700;font-size:.8rem;letter-spacing:.1em;
  text-transform:uppercase;white-space:nowrap;position:relative;transition:color .3s}
.mf-desk:hover{color:#fff}
.mf-desk::after{content:"";position:absolute;left:4px;right:0;bottom:18px;height:2px;background:var(--yellow);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--e)}
.mf-desk:hover::after{transform:scaleX(1);background:#fff}
.mf-desk i{width:6px;height:6px;border-radius:50%;background:var(--yellow);animation:bl 1.7s infinite}
@keyframes bl{50%{opacity:.2}}
.mf-burger{display:none;margin-left:auto;padding:9px}
.mf-skip{position:absolute;left:-9999px;background:#fff;color:var(--navy);padding:10px 16px;z-index:99}
.mf-skip:focus{left:8px;top:8px}
main{padding-top:0}
.page{display:none}.page.on{display:block}

/* ============ HERO (home) ============ */
.mf-hero{position:relative;min-height:min(100svh,940px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--abyss)}
.mf-hero__ph{position:absolute;inset:0;z-index:0}
.mf-hero__ph img{width:100%;height:100%;object-fit:cover;filter:contrast(1.16) saturate(.55) brightness(.5)}
.mf-hero__ph::after{content:"";position:absolute;inset:0;background:var(--navy);mix-blend-mode:color;opacity:.62}
.mf-hero__vg{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,14,38,.86) 0%,rgba(13,14,38,.12) 34%,rgba(13,14,38,.94) 82%,var(--abyss) 100%)}
.mf-monolith{position:absolute;z-index:1;right:-6vw;top:-16vh;width:min(78vw,1180px);aspect-ratio:178/109;opacity:.5;will-change:transform}
.mf-tracer{position:absolute;z-index:1;left:-13vw;bottom:-15vh;width:min(33vw,430px);aspect-ratio:178/109;opacity:.5;will-change:transform}
.mf-tracer path,.mf-tracer use{fill:none;stroke:#fff;stroke-width:1.6;vector-effect:non-scaling-stroke}
.mf-monolith svg,.mf-tracer svg{width:100%;height:100%;display:block}
.mf-hero__in{position:relative;z-index:3;padding-bottom:clamp(26px,4vw,60px);padding-top:100px;color:#fff}
.mf-log{display:flex;flex-wrap:wrap;gap:clamp(12px,2.2vw,38px);align-items:center;color:var(--mist)}
.mf-log .mf-live{color:var(--yellow);display:flex;align-items:center;gap:9px;font-weight:700}
.mf-log .mf-live i{width:7px;height:7px;border-radius:50%;background:var(--yellow);animation:bl 1.7s infinite}
.mf-hero .mf-dsp{margin-top:clamp(14px,2.2vw,32px)}
.mf-hero h1{margin:clamp(18px,2.2vw,30px) 0 0;font-size:clamp(.96rem,1.4vw,1.26rem);font-weight:400;line-height:1.45;max-width:52ch;color:#CBD2DF}
.mf-hero h1 b{font-weight:700;color:#fff}
.mf-hero__foot{display:flex;flex-wrap:wrap;gap:clamp(10px,2.4vw,44px);margin-top:clamp(20px,2.6vw,34px);padding-top:18px;border-top:1px solid rgba(255,255,255,.16);color:var(--mist)}

/* ============ PAGE HEAD (inner pages) ============ */
.mf-ph{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding-top:clamp(96px,11vw,180px);padding-bottom:clamp(34px,4.4vw,74px)}
.mf-ph .mf-ghost{position:absolute;right:-24%;top:-40%;width:96%;aspect-ratio:178/109;opacity:1;pointer-events:none;will-change:transform}
.mf-ph .mf-ghost svg{width:100%;height:100%}
.mf-ph .mf-crumb{color:var(--mist)} .mf-ph .mf-crumb a:hover{color:#fff}
.mf-ph h1{margin:14px 0 0;position:relative}
.mf-ph .mf-lede{margin-top:20px;color:#CBD2DF;position:relative}
.mf-ph__in{position:relative;z-index:2}

/* ============ COUNTER-SHAPE CUT ============ */
.mf-cut{position:relative;height:clamp(70px,9vw,140px);margin-top:-1px;background:var(--abyss)}
.mf-cut .mf-plate{position:absolute;left:0;right:0;bottom:0;height:52%;background:var(--deep)}
.mf-cut svg{position:absolute;bottom:calc(52% - 2px);height:clamp(60px,7.4vw,116px);aspect-ratio:178/109;width:auto}
.mf-cut .k1{left:4%}.mf-cut .k2{left:36%;transform:scaleX(-1)}.mf-cut .k3{right:9%}
@media(max-width:760px){.mf-cut .k2,.mf-cut .k3{display:none}}

/* ============ TIMELINE ============ */
.mf-tlh{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.7vw,30px)}
.mf-tlh li{position:relative;padding-top:20px;border-top:2px solid rgba(255,255,255,.22)}
.mf-tlh li::before{content:"";position:absolute;top:-6px;left:0;width:10px;height:10px;background:rgba(255,255,255,.32);border-radius:50%}
.mf-tlh li:last-child{border-top-color:var(--yellow)}
.mf-tlh li:last-child::before{background:var(--yellow);animation:bl 1.7s infinite}
.mf-tlh .t{display:block;font-family:'Roboto Condensed';font-weight:700;font-size:clamp(1.2rem,2vw,1.8rem);color:var(--yellow)}
.mf-tlh .d{display:block;margin-top:8px;font-size:clamp(.84rem,1vw,.95rem);line-height:1.45;color:#C4CBD8}
@media(max-width:760px){.mf-tlh{grid-template-columns:repeat(2,1fr);gap:18px}}

/* ============ INTERLOCK ============ */
.mf-lock{position:relative;overflow:hidden;padding-block:clamp(80px,12vw,190px);background:var(--navy);color:#fff}
.mf-lock__stage{display:flex;justify-content:center}
.mf-lock__stage svg{width:min(100%,880px);height:auto;overflow:visible}
.mf-lock .mA{transform:translate(calc((1 - var(--t,0)) *  82px), calc((1 - var(--t,0)) *  74px));will-change:transform}
.mf-lock .mB{transform:translate(calc((1 - var(--t,0)) * -82px), calc((1 - var(--t,0)) * -74px));will-change:transform}
.mf-lock__cap{text-align:center;margin-top:clamp(22px,3vw,46px);opacity:var(--o,0)}
.mf-lock__cap .mf-lede{margin:16px auto 0;text-align:center;color:var(--mist)}

/* ============ LISTS / GRIDS ============ */
.mf-svc{border-top:1px solid var(--hair)}
.mf-svc a{display:grid;grid-template-columns:70px 1fr auto;gap:clamp(12px,2vw,32px);align-items:center;
  padding:clamp(15px,1.8vw,25px) 0;border-bottom:1px solid var(--hair);position:relative;transition:padding-left .5s var(--e)}
.mf-svc a:hover{padding-left:18px}
.mf-svc a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue);transform:scaleY(0);transition:transform .45s var(--e)}
.mf-svc a:hover::before{transform:scaleY(1)}
.mf-svc .n{font-family:'Roboto Condensed';font-size:.75rem;letter-spacing:.16em;color:var(--blue)}
.mf-svc .t{font-weight:500;font-size:clamp(1.02rem,1.8vw,1.55rem);letter-spacing:-.025em;color:var(--fg)}
.mf-svc .d{font-size:.85rem;color:var(--fg2);text-align:right;max-width:36ch;justify-self:end}
.mf-svc .urgent .t,.mf-svc .urgent .n{color:var(--red)}.mf-svc .urgent::before{background:var(--red)}
@media(max-width:900px){.mf-svc a{grid-template-columns:56px 1fr}.mf-svc .d{display:none}}

.mf-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair)}
.mf-cards a{background:var(--bg);padding:clamp(20px,2.4vw,34px);transition:background .4s var(--e);position:relative}
.mf-cards a:hover{background:var(--paper2)}
.mf-dark .mf-cards a:hover,.mf-navy .mf-cards a:hover,.mf-abyss .mf-cards a:hover{background:var(--navy)}
.mf-cards .n{font-family:'Roboto Condensed';font-size:.72rem;letter-spacing:.16em;color:var(--blue)}
.mf-cards .t{font-weight:500;font-size:1.04rem;margin-top:10px;color:var(--fg)}
.mf-cards .s{font-size:.85rem;color:var(--fg2);margin-top:7px}
@media(max-width:860px){.mf-cards{grid-template-columns:1fr}}

.mf-spec{width:100%;border-collapse:collapse;font-size:.92rem}
.mf-spec th,.mf-spec td{text-align:left;padding:13px 0;border-bottom:1px solid var(--hair);vertical-align:top;color:var(--fg)}
.mf-spec th{width:36%;font-weight:400;color:var(--fg2);font-family:'Roboto Condensed';font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;padding-top:16px}
.mf-spec td{font-weight:500}
.mf-tick{list-style:none;padding:0;margin:0}
.mf-tick li{padding:12px 0 12px 24px;position:relative;border-bottom:1px solid var(--hair);font-size:.93rem;color:var(--fg)}
.mf-tick li::before{content:"";position:absolute;left:0;top:20px;width:13px;height:2px;background:var(--blue)}
.mf-two{columns:2;column-gap:clamp(20px,3vw,52px)}.mf-two li{break-inside:avoid}
@media(max-width:760px){.mf-two{columns:1}}

.mf-reg{border-top:2px solid var(--navy)}
.mf-reg a{display:grid;grid-template-columns:96px 1.6fr 1fr 1fr 80px;gap:clamp(10px,1.6vw,26px);align-items:baseline;
  padding:17px 0;border-bottom:1px solid var(--hair);transition:background .35s}
.mf-reg a:hover{background:#fff}
.mf-reg .n{font-family:'Roboto Condensed';font-size:.73rem;letter-spacing:.15em;color:var(--blue)}
.mf-reg .t{font-weight:500;font-size:1.02rem;letter-spacing:-.018em;color:var(--fg)}
.mf-reg .m{font-family:'Roboto Condensed';font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}
.mf-reg .go{font-family:'Roboto Condensed';font-size:.71rem;letter-spacing:.14em;text-align:right;color:var(--navy)}
@media(max-width:900px){.mf-reg a{grid-template-columns:1fr 1fr}.mf-reg .t{grid-column:1/3}.mf-reg .go{display:none}}

.mf-qa details{border-bottom:1px solid var(--hair)}
.mf-qa details:first-child{border-top:1px solid var(--hair)}
.mf-qa summary{list-style:none;cursor:pointer;padding:clamp(16px,1.9vw,25px) 0;display:flex;gap:20px;align-items:baseline;color:var(--fg)}
.mf-qa summary::-webkit-details-marker{display:none}
.mf-qa summary .h3{flex:1}.mf-qa summary .n{font-family:'Roboto Condensed';font-size:.73rem;letter-spacing:.15em;color:var(--blue)}
.mf-qa .ans{padding-bottom:clamp(16px,2vw,28px);max-width:70ch;color:var(--fg2)}

.mf-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair)}
.mf-proof>div{background:var(--bg);padding:clamp(18px,2.4vw,38px) clamp(14px,1.8vw,26px)}
@media(max-width:900px){.mf-proof{grid-template-columns:repeat(2,1fr)}}

.mf-ghostbg{position:absolute;z-index:0;pointer-events:none;left:-38%;top:-28%;width:186%;aspect-ratio:178/109;will-change:transform}
.mf-ghostbg svg{width:100%;height:100%;display:block}
.rel{position:relative;z-index:1}
@media(max-width:860px){.mf-ghostbg{left:-60%;width:260%;top:-10%}}

.mf-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 25px;font-weight:500;font-size:.87rem;background:var(--navy);color:#fff;transition:.32s}
.mf-btn:hover{background:var(--blue);gap:16px}
.mf-dark .mf-btn,.mf-navy .mf-btn,.mf-abyss .mf-btn{background:#fff;color:var(--navy)}
.mf-dark .mf-btn:hover,.mf-navy .mf-btn:hover,.mf-abyss .mf-btn:hover{background:var(--yellow)}
.mf-btn--red{background:var(--red)!important;color:#fff!important}.mf-btn--red:hover{background:#c4291c!important}
.mf-field{display:block;margin-bottom:20px}
.mf-field span{display:block;font-family:'Roboto Condensed';font-size:.71rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fg2);margin-bottom:7px}
.mf-field input,.mf-field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--hair);color:var(--fg);font:inherit;padding:10px 0;border-radius:0;transition:border-color .3s}
.mf-field input:focus,.mf-field textarea:focus{outline:none;border-bottom-color:var(--yellow)}
.mf-chips{display:flex;flex-wrap:wrap;gap:8px}
.mf-chip{border:1px solid var(--hair);padding:9px 15px;font-size:.81rem;color:var(--fg2);transition:.28s}
.mf-chip:hover{border-color:var(--fg);color:var(--fg)}
.mf-chip[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.mf-chip.red[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff}
.mf-box{border:1px solid var(--hair);border-left:3px solid var(--blue);padding:clamp(18px,2.4vw,32px);color:var(--fg)}
.mf-box.mf-warn{border-left-color:var(--yellow)}
.mf-role img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.6) contrast(1.1);margin-bottom:13px}
.mf-role{border-top:3px solid var(--blue);padding-top:15px}
.mf-newsitem{border-top:1px solid var(--hair);padding:clamp(18px,2.2vw,30px) 0;display:grid;grid-template-columns:130px 1fr auto;gap:clamp(12px,2vw,30px);align-items:baseline;transition:padding-left .45s var(--e)}
.mf-newsitem:hover{padding-left:14px}
@media(max-width:760px){.mf-newsitem{grid-template-columns:1fr}}

.mf-rv{opacity:0;transform:translateY(18px);transition:opacity .85s var(--e),transform .85s var(--e)}
.mf-rv.in{opacity:1;transform:none}

.mf-foot{background:var(--abyss);color:#fff;padding-block:clamp(42px,5.4vw,80px)}
.mf-foot h4{font-family:'Roboto Condensed';font-size:.71rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);font-weight:700;margin:0 0 14px}
.mf-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.mf-foot a{font-size:.87rem;color:#C8CEDA;transition:color .3s}.mf-foot a:hover{color:#fff}
.mf-footbar{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:clamp(32px,4.2vw,60px);padding-top:20px;border-top:1px solid rgba(255,255,255,.16);color:var(--mist)}
.mf-sig4{display:flex;height:3px;width:150px;margin-bottom:24px}.mf-sig4 i{flex:1}

@media(max-width:900px){
  .mf-nav{position:fixed;inset:66px 0 auto 0;background:var(--deep);flex-direction:column;align-items:stretch;gap:0;padding:4px var(--gut) 20px;display:none;max-height:calc(100svh - 66px);overflow-y:auto}
  .mf-nav.mf-open{display:flex}
  .mf-nav>a,.mf-dd>button{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:1rem;width:100%;text-align:left}
  .mf-dd__menu{position:static;display:block;min-width:0;border-top:0;box-shadow:none;background:transparent;padding:0 0 10px 14px}
  .mf-dd__menu a{padding:9px 0;font-size:.9rem}
  .mf-burger{display:block}.mf-desk span{display:none}.mf-desk{margin-left:auto;padding:10px 6px}.mf-desk::after{display:none}
  .mf-hero{min-height:86svh}
  .mf-monolith{width:150vw;right:-40vw;opacity:.3}.mf-tracer{display:none}
  .mf-g12>*{grid-column:1/-1!important}
  .mf-open__fig{margin-bottom:calc(-1 * clamp(26px,6vw,60px))}
  .mf-open__fig figcaption{position:static;transform:none;padding-top:10px}
  .mf-after-open{padding-top:clamp(62px,10vw,120px)}
  .mf-open__hook{right:-70%;width:190%}
  .mf-map__list{columns:1}
  .mf-map__card{position:static!important;width:100%;margin-top:16px;opacity:1;transform:none}
  .mf-dnav{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .mf-rv{opacity:1;transform:none}
  .mf-jr__rail path{stroke-dashoffset:0}.mf-jr__dot{opacity:1}
  .mf-lock .mA,.mf-lock .mB{transform:none}.mf-lock__cap{opacity:1}
  .mf-flow .mf-rail .draw{stroke-dashoffset:0}.mf-flow .mf-cpl{opacity:1;transform:translate(-50%,-50%)}.mf-flow .tag{opacity:1}
}

/* ============ EQUIPMENT OPENING ============
   The callout layer lives INSIDE the photograph, so its coordinate system is
   the image and it can never reach into the text column. */
.mf-eqhero{position:relative;background:var(--abyss);color:#fff;overflow:hidden;min-height:min(92svh,880px);display:flex;align-items:center}
/* The photograph is bound to the CONTAINER, not to the viewport: it starts at
   42% of the content column and bleeds to the right edge of the screen. Anchoring
   it to the viewport left a growing dead field on ultrawide displays, because the
   text sits inside a centred 1680px container while the image did not. */
.mf-eqhero__ph{position:absolute;top:0;bottom:0;right:0;z-index:0;
  left:calc(max(var(--gut), (100vw - var(--maxw)) / 2)
       + min(100vw - 2 * var(--gut), var(--maxw)) * 0.40)}
.mf-eqhero__ph>img{width:100%;height:100%;object-fit:cover;object-position:40% 50%}
.mf-eqhero__ph::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,var(--abyss) 0%,rgba(13,14,38,.76) 24%,rgba(13,14,38,.06) 64%,transparent 100%)}
.mf-eqhero__hook{position:absolute;left:-32%;bottom:-62%;width:80%;aspect-ratio:178/109;z-index:1}
.mf-eqhero__hook svg{width:100%;height:100%}
/* width:100% is load-bearing. .mf-eqhero is a flex container and this element
   carries .mf-wrap (margin:0 auto). Without an explicit width a flex item is sized
   to its content, and the auto margins then centre that narrow block in the
   viewport — which is what put the text in the middle of the screen. */
.mf-eqhero__in{position:relative;z-index:3;width:100%;padding-block:clamp(80px,10vw,140px)}
.mf-eqhero__in>*{max-width:min(100%,640px)}
.mf-eqhero h1{margin:10px 0 0;max-width:10ch}
.mf-eqhero h1 .small{display:block;font-size:.28em;letter-spacing:.03em;font-weight:700;color:var(--yellow);
  margin-top:14px;text-transform:uppercase}
.mf-eqhero .mf-lede{margin-top:20px;max-width:32ch;color:#C6CDD9}
.mf-eqavail{display:inline-flex;align-items:center;gap:14px;margin-top:clamp(22px,3vw,36px)}
.mf-eqavail .dot{width:38px;height:38px;border:1px solid var(--yellow);border-radius:50%;flex:0 0 auto;
  display:grid;place-items:center;color:var(--yellow);transition:.3s}
.mf-eqavail:hover .dot{background:var(--yellow);color:var(--navy)}
.mf-eqavail b{display:block;font-family:'Roboto Condensed';font-size:.76rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--yellow);font-weight:700}
.mf-eqavail em{display:block;font-style:normal;font-family:'Roboto Condensed';font-size:.72rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
.mf-callout{position:absolute;inset:0;z-index:2;pointer-events:none}
.mf-callout svg{position:absolute;inset:0;width:100%;height:100%}
.mf-callout svg line{stroke:rgba(255,255,255,.45);stroke-width:1;vector-effect:non-scaling-stroke}
.mf-callout .pt{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--yellow);
  transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(250,199,58,.18)}
.mf-callout .lab{position:absolute;transform:translate(0,-50%);white-space:nowrap;
  font-family:'Roboto Condensed';font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.74);background:rgba(13,14,38,.55);backdrop-filter:blur(4px);padding:4px 9px}
.mf-callout .g{opacity:0;transform:translateY(4px);transition:opacity .7s var(--e),transform .7s var(--e)}
.mf-eqhero.in .mf-callout .g{opacity:1;transform:none}
.mf-eqhero.in .mf-callout .g:nth-child(2){transition-delay:.45s}
.mf-eqhero.in .mf-callout .g:nth-child(3){transition-delay:.6s}
.mf-eqhero.in .mf-callout .g:nth-child(4){transition-delay:.75s}
.mf-eqhero.in .mf-callout .g:nth-child(5){transition-delay:.9s}
.mf-eqhero.in .mf-callout .g:nth-child(6){transition-delay:1.05s}
@media(max-width:1200px){.mf-callout .lab{font-size:.57rem;letter-spacing:.12em;padding:3px 7px}}
@media(max-width:1000px){
  .mf-eqhero{min-height:auto;display:block}
  .mf-eqhero__ph{position:relative;left:auto;right:auto;width:calc(100% + var(--gut)*2);
    margin-inline:calc(var(--gut)*-1);height:42svh}
  .mf-eqhero__ph::after{background:linear-gradient(0deg,var(--abyss) 0%,transparent 55%)}
  .mf-eqhero__in{padding-block:clamp(26px,5vw,50px)}
  .mf-eqhero__in>*{max-width:none}
  .mf-callout{display:none}
}

/* ============ MODE STRIP ============ */
.mf-modes{position:sticky;top:66px;z-index:55;background:var(--abyss);border-bottom:1px solid rgba(255,255,255,.14)}
.mf-modes .mi{display:flex;align-items:center;justify-content:space-between;gap:20px}
.mf-modes ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(18px,3.2vw,58px);overflow-x:auto;scrollbar-width:none}
.mf-modes ul::-webkit-scrollbar{display:none}
.mf-modes a{display:block;padding:16px 0 14px;white-space:nowrap;position:relative}
.mf-modes .n{display:block;font-family:'Roboto Condensed';font-size:.64rem;letter-spacing:.2em;color:var(--blue)}
.mf-modes .t{display:block;margin-top:4px;font-family:'Roboto Condensed';font-size:.78rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mist);transition:color .3s}
.mf-modes a:hover .t,.mf-modes a[aria-current="true"] .t{color:#fff}
.mf-modes a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--yellow);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--e)}
.mf-modes a[aria-current="true"]::after{transform:scaleX(1)}
.mf-modes .sc{font-family:'Roboto Condensed';font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
@media(max-width:900px){.mf-modes .sc{display:none}}

/* ============ DESCRIPTION BAND ============ */
.mf-dband{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;align-items:stretch}
.mf-dband__txt{padding:clamp(28px,3.6vw,58px) clamp(20px,2.4vw,40px) clamp(28px,3.6vw,58px) 0}
.mf-dband__img img{width:100%;height:100%;min-height:clamp(240px,30vw,420px);object-fit:cover}
.mf-dband__attr{padding:clamp(28px,3.6vw,58px) 0 clamp(28px,3.6vw,58px) clamp(20px,2.4vw,40px)}
.mf-attr{list-style:none;margin:0;padding:0}
.mf-attr li{padding:14px 0;border-bottom:1px solid var(--hair);display:grid;grid-template-columns:16px 1fr;gap:14px}
.mf-attr li:first-child{border-top:1px solid var(--hair)}
.mf-attr .m{width:9px;height:9px;border:1.5px solid var(--blue);margin-top:6px}
.mf-attr b{display:block;font-family:'Roboto Condensed';font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.mf-attr .s{display:block;font-size:.85rem;color:var(--fg2);margin-top:3px}
@media(max-width:1000px){.mf-dband{grid-template-columns:1fr}
  .mf-dband__txt,.mf-dband__attr{padding-inline:0}.mf-dband__img{margin-block:clamp(18px,3vw,30px)}}

/* ============ APPLICATIONS + SPECIFICATION ============ */
.mf-aspec{display:grid;grid-template-columns:1.5fr 1fr;gap:0;align-items:start}
.mf-aspec__l{padding-right:clamp(22px,3vw,52px);border-right:1px solid var(--hair)}
.mf-aspec__r{padding-left:clamp(22px,3vw,52px)}
.mf-aspec__r .mf-spec th,.mf-aspec__r .mf-spec td{padding:9px 0}
.mf-aspec__r .mf-spec th{padding-top:11px;width:44%}
.mf-aspec__r .mf-spec td{font-size:.9rem}
.mf-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;align-items:stretch}
.mf-tile{position:relative;width:100%;aspect-ratio:5/7;overflow:hidden;background:var(--deep)}
.mf-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.06) brightness(.72);
  transition:transform 1.2s var(--e),filter .6s var(--e)}
.mf-tile:hover img{transform:scale(1.05);filter:saturate(1) contrast(1.06) brightness(.86)}
.mf-tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:clamp(12px,1.1vw,18px);color:#fff;
  background:linear-gradient(0deg,rgba(13,14,38,.94) 0%,rgba(13,14,38,.5) 55%,transparent 100%)}
.mf-tile b{display:block;font-family:'Roboto Condensed';font-size:clamp(.7rem,.82vw,.82rem);letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;line-height:1.25}
.mf-tile .s{display:block;font-size:clamp(.74rem,.85vw,.85rem);color:#C6CDD9;margin-top:6px;line-height:1.4}
.mf-tile::before{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--yellow);z-index:2;
  transition:width .5s var(--e)}
.mf-tile:hover::before{width:100%}
@media(max-width:1000px){.mf-aspec{grid-template-columns:1fr}
  .mf-aspec__l{padding-right:0;border-right:0;border-bottom:1px solid var(--hair);padding-bottom:clamp(24px,4vw,44px)}
  .mf-aspec__r{padding-left:0;padding-top:clamp(24px,4vw,44px)}
  .mf-tiles{grid-template-columns:repeat(2,1fr)}}
.mf-dsheet{display:inline-flex;align-items:center;gap:12px;margin-top:16px}
.mf-dsheet .ic{width:32px;height:32px;border:1px solid var(--hair);border-radius:50%;display:grid;place-items:center;
  color:var(--blue);flex:0 0 auto;transition:.3s}
.mf-dsheet:hover .ic{border-color:var(--blue);background:var(--blue);color:#fff}
.mf-dsheet b{display:block;font-family:'Roboto Condensed';font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.mf-dsheet em{display:block;font-style:normal;font-family:'Roboto Condensed';font-size:.66rem;letter-spacing:.12em;color:var(--fg2)}
.mf-phnote{font-family:'Roboto Condensed';font-size:.68rem;letter-spacing:.1em;color:var(--fg2);margin-top:14px}
.mf-phnote b{color:var(--red);font-weight:700}

/* ============ BUILD THE OPERATION ============
   Hard square crops, no fade. A radial fade on a photograph that still contains
   its own background reads as a smudge, not as a floating object — the object
   only floats once the background is actually gone.
   When cut-out PNGs with transparency are supplied, swap the src and add:
     .mf-chain__i figure{background:none}
     .mf-chain__i img{object-fit:contain}
   No other change is needed. */
.mf-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,2.4vw,40px);position:relative}
.mf-chain__i{position:relative}
.mf-chain__i figure{margin:0;aspect-ratio:1/1;position:relative;overflow:hidden;background:var(--deep)}
.mf-chain__i img{width:100%;height:100%;object-fit:cover;filter:saturate(1.02) contrast(1.04)}
.mf-chain__i .n{font-family:'Roboto Condensed';font-size:.64rem;letter-spacing:.2em;color:var(--blue);margin:14px 0 0}
.mf-chain__i .t{font-family:'Roboto Condensed';font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;margin:5px 0 0;font-weight:700}
.mf-chain__i .d{font-size:.79rem;color:var(--mist);margin:6px 0 0;line-height:1.4}
.mf-chain__link{position:absolute;right:calc(-1 * clamp(14px,2.4vw,40px));top:calc(28% - 1px);
  width:clamp(14px,2.4vw,40px);height:2px}
.mf-chain__link svg{width:100%;height:100%;overflow:visible}
.mf-chain__link path{fill:none;stroke:var(--yellow);stroke-width:1.6;vector-effect:non-scaling-stroke;
  stroke-dasharray:60;stroke-dashoffset:60;transition:stroke-dashoffset .8s var(--e)}
.mf-chain.in .mf-chain__link path{stroke-dashoffset:0}
.mf-chain.in .mf-chain__i:nth-child(2) .mf-chain__link path{transition-delay:.12s}
.mf-chain.in .mf-chain__i:nth-child(3) .mf-chain__link path{transition-delay:.24s}
.mf-chain.in .mf-chain__i:nth-child(4) .mf-chain__link path{transition-delay:.36s}
@media(max-width:900px){.mf-chain{grid-template-columns:1fr 1fr;gap:20px}.mf-chain__link{display:none}}

/* ============ EQUIPMENT CONTACT BAND ============ */
.mf-cband{display:grid;grid-template-columns:1.1fr 1fr auto;gap:clamp(20px,3vw,50px);align-items:center}
.mf-cband .route{display:flex;gap:clamp(18px,3vw,46px);flex-wrap:wrap}
.mf-cband .route p{margin:0}
.mf-cband .k{display:block;font-family:'Roboto Condensed';font-size:.68rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--fg2)}
.mf-cband .v{display:block;font-weight:500;font-size:1.02rem;margin-top:3px}
@media(max-width:1000px){.mf-cband{grid-template-columns:1fr}}

/* ============ ABOUT — the journey ============
   The same transfer line as everywhere else: one stroke per period, entering at
   one column and leaving at another, with a node where it crosses the middle.
   Compact rows — this block is read, not admired. */
.mf-jr{position:relative}
/* No padding on the row itself: it would sit between the rails and break the
   line into disconnected segments. The padding lives in the cells. */
.mf-jr__row{display:grid;grid-template-columns:clamp(84px,8.4vw,124px) clamp(62px,6.5vw,96px) 1fr clamp(150px,16vw,215px);
  gap:clamp(12px,1.8vw,30px);align-items:stretch;padding-block:0}
.mf-jr__row>*:not(.mf-jr__rail){padding-block:clamp(16px,2vw,28px)}
.mf-jr__yr{font-family:'Roboto Condensed';font-weight:700;letter-spacing:-.03em;line-height:1;
  font-size:clamp(1.5rem,2.6vw,2.3rem);color:var(--navy)}
.mf-jr__rail{position:relative;align-self:stretch;min-height:118px}
.mf-jr__rail svg{position:absolute;inset:0;width:100%;height:100%}
/* Scroll-linked: the line draws itself from the top down as you approach, so it
   is already ahead of you by the time you reach a period. --p is set per row by
   mariflex.js; --L is the rendered path length, also measured there. */
.mf-jr__rail path{fill:none;stroke:var(--jc,var(--navy));stroke-width:2;vector-effect:non-scaling-stroke;
  stroke-dasharray:var(--L,260);stroke-dashoffset:calc(var(--L,260) * (1 - var(--p,0)))}
.mf-jr__dot{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--bg);
  border:2px solid var(--jc,var(--navy));transform:translate(-50%,-50%);
  opacity:var(--o,0);transition:opacity .35s var(--e)}
.mf-jr__t{font-family:'Roboto Condensed';font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:700;color:var(--navy);padding-top:3px}
.mf-jr__d{font-size:.9rem;color:var(--fg2);margin-top:7px;max-width:40ch;line-height:1.55}
.mf-jr__img img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(var(--gs,1)) contrast(1.06)}
@media(max-width:900px){
  .mf-jr__row{grid-template-columns:76px 1fr;gap:14px;padding-block:18px;border-bottom:1px solid var(--hair)}
  .mf-jr__rail{display:none}
  .mf-jr__img{grid-column:1/3;margin-top:12px;max-width:260px}}

/* ============ ABOUT — then / now ============ */
.mf-thennow{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.mf-thennow figure{margin:0;position:relative;overflow:hidden}
.mf-thennow img{width:100%;aspect-ratio:4/3;object-fit:cover}
.mf-thennow .then img{filter:grayscale(1) contrast(1.12)}
.mf-thennow figcaption{position:absolute;left:0;bottom:0;padding:12px 14px;color:#fff;
  font-family:'Roboto Condensed';font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  background:linear-gradient(0deg,rgba(13,14,38,.9),transparent)}
@media(max-width:760px){.mf-thennow{grid-template-columns:1fr}}

/* ============ CONTACT — three pathways ============ */
.mf-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair)}
.mf-paths button{display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;
  padding:clamp(20px,2.6vw,34px);background:var(--bg);transition:background .35s var(--e),color .35s}
.mf-paths .ttl{font-family:'Roboto Condensed';font-size:clamp(.86rem,1.1vw,1rem);letter-spacing:.13em;
  text-transform:uppercase;font-weight:700;color:var(--fg)}
.mf-paths .sub{display:block;font-size:.84rem;color:var(--fg2);margin-top:6px;text-transform:none;letter-spacing:0;font-weight:400}
.mf-paths .ar{width:38px;height:38px;border-radius:50%;border:1px solid var(--hair);flex:0 0 auto;
  display:grid;place-items:center;transition:.3s}
.mf-paths button:hover .ar{border-color:var(--fg)}
.mf-paths button[aria-pressed="true"]{background:var(--navy)}
.mf-paths button[aria-pressed="true"] .ttl{color:#fff}
.mf-paths button[aria-pressed="true"] .sub{color:var(--mist)}
.mf-paths button[aria-pressed="true"] .ar{border-color:#fff;color:#fff}
.mf-paths button.urgent[aria-pressed="true"]{background:var(--red)}
.mf-paths button.urgent[aria-pressed="true"] .sub{color:rgba(255,255,255,.82)}
@media(max-width:900px){.mf-paths{grid-template-columns:1fr}}

/* ============ CONTACT — operation brief ============ */
.mf-brief{display:grid;grid-template-columns:1.75fr 1fr;gap:0;align-items:start}
.mf-brief__f{padding-right:clamp(22px,3vw,54px)}
.mf-brief__p{background:var(--navy);color:#fff;padding:clamp(24px,3vw,44px);position:sticky;top:86px}
.mf-brief__p .k{font-family:'Roboto Condensed';font-size:.68rem;letter-spacing:.17em;text-transform:uppercase;color:var(--mist)}
.mf-brief__p .num{font-family:'Roboto Condensed';font-weight:700;letter-spacing:-.02em;
  font-size:clamp(1.5rem,2.4vw,2.05rem);margin:10px 0 0;color:#fff}
.mf-step{display:grid;grid-template-columns:64px 1fr;gap:clamp(14px,2vw,28px);padding-block:clamp(16px,2vw,26px);
  border-bottom:1px solid var(--hair);position:relative}
.mf-step:first-child{border-top:1px solid var(--hair)}
.mf-step__n{font-family:'Roboto Condensed';font-size:.78rem;letter-spacing:.15em;color:var(--blue);padding-top:4px}
.mf-step.done .mf-step__n{color:var(--navy);font-weight:700}
.mf-step__l{font-family:'Roboto Condensed';font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.mf-step__h{display:block;font-size:.84rem;color:var(--fg2);margin-top:4px;font-weight:400;text-transform:none;letter-spacing:0}
.mf-step input,.mf-step select,.mf-step textarea{width:100%;margin-top:12px;background:transparent;border:0;
  border-bottom:1px solid var(--hair);color:var(--fg);font:inherit;font-size:1rem;padding:9px 0;border-radius:0}
.mf-step input:focus,.mf-step select:focus,.mf-step textarea:focus{outline:none;border-bottom-color:var(--navy)}
.mf-step__bar{position:absolute;left:26px;top:0;bottom:0;width:2px;background:var(--hair)}
.mf-step__bar i{display:block;width:100%;height:0;background:var(--blue);transition:height .5s var(--e)}
.mf-step.done .mf-step__bar i{height:100%}
.mf-briefdone{font-family:'Roboto Condensed';font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--blue);margin-top:16px;opacity:0;transition:opacity .4s}
.mf-briefdone.on{opacity:1}
@media(max-width:1000px){.mf-brief{grid-template-columns:1fr}.mf-brief__f{padding-right:0}
  .mf-brief__p{position:static;margin-top:clamp(24px,4vw,40px)}}

/* ============ CAREERS ============ */
.mf-drives{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--hair)}
.mf-drives>div{background:var(--bg);padding:clamp(20px,2.4vw,32px)}
.mf-drives .n{font-family:'Roboto Condensed';font-size:.66rem;letter-spacing:.18em;color:var(--blue)}
.mf-drives .t{font-family:'Roboto Condensed';font-size:.84rem;letter-spacing:.13em;text-transform:uppercase;
  font-weight:700;margin-top:12px}
.mf-drives .d{font-size:.86rem;color:var(--fg2);margin-top:8px;line-height:1.5}
@media(max-width:1000px){.mf-drives{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.mf-drives{grid-template-columns:1fr}}
.mf-strip5{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}
.mf-strip5 img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.95) contrast(1.06)}
@media(max-width:900px){.mf-strip5{grid-template-columns:repeat(2,1fr)}.mf-strip5 img{aspect-ratio:4/3}}
.mf-vac{border-top:1px solid var(--hair)}
.mf-vac a{display:grid;grid-template-columns:1.5fr auto 1fr 56px;gap:clamp(12px,2vw,30px);align-items:center;
  padding:clamp(18px,2.2vw,30px) 0;border-bottom:1px solid var(--hair);position:relative;
  transition:padding-left .45s var(--e)}
.mf-vac a:hover{padding-left:16px}
.mf-vac a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--yellow);
  transform:scaleY(0);transition:transform .45s var(--e)}
.mf-vac a:hover::before{transform:scaleY(1)}
.mf-vac .t{font-family:'Roboto Condensed';font-size:clamp(1rem,1.5vw,1.28rem);letter-spacing:.06em;
  text-transform:uppercase;font-weight:700;color:var(--fg)}
.mf-vac .d{display:block;font-size:.86rem;color:var(--fg2);margin-top:6px;font-weight:400;
  letter-spacing:0;text-transform:none;font-family:Roboto,sans-serif}
.mf-vac .tags{display:flex;gap:6px;flex-wrap:wrap}
.mf-vac .tag{font-family:'Roboto Condensed';font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;
  border:1px solid var(--hair);padding:3px 8px;color:var(--fg2)}
.mf-vac .loc{font-family:'Roboto Condensed';font-size:.76rem;letter-spacing:.1em;color:var(--fg2)}
.mf-vac .go{width:40px;height:40px;border-radius:50%;border:1px solid var(--hair);display:grid;place-items:center;
  justify-self:end;transition:.3s}
.mf-vac a:hover .go{border-color:var(--yellow);color:var(--yellow)}
@media(max-width:900px){.mf-vac a{grid-template-columns:1fr}.mf-vac .go{display:none}}

/* ============ SERVICE HERO ============
   The operation fills the frame. Type sits inside it, not beside it. */
.mf-svchero{position:relative;background:var(--abyss);color:#fff;overflow:hidden;
  min-height:min(96svh,940px);display:flex;align-items:flex-end}
.mf-svchero__ph{position:absolute;inset:0;z-index:0}
.mf-svchero__ph img{width:100%;height:100%;object-fit:cover}
.mf-svchero__ph::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(13,14,38,.95) 0%,rgba(13,14,38,.72) 34%,rgba(13,14,38,.25) 66%,rgba(13,14,38,.55) 100%)}
.mf-svchero__in{position:relative;z-index:3;width:100%;padding-block:clamp(70px,8vw,110px)}
.mf-svchero h1{margin:12px 0 0;max-width:11ch}
.mf-svchero .mf-lede{margin-top:20px;max-width:38ch;color:#C6CDD9}
.mf-svcmeta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.16);
  margin-top:clamp(26px,3.4vw,46px)}
.mf-svcmeta>div{background:rgba(13,14,38,.72);backdrop-filter:blur(6px);padding:14px 16px}
.mf-svcmeta .k{font-family:'Roboto Condensed';font-size:.62rem;letter-spacing:.17em;text-transform:uppercase;color:var(--mist)}
.mf-svcmeta .v{font-size:.88rem;margin-top:5px;color:#fff}
@media(max-width:900px){.mf-svcmeta{grid-template-columns:1fr 1fr}.mf-svchero{min-height:auto;padding-top:80px}}

/* ============ SERVICE RAIL ============ */
.mf-srail{position:sticky;top:66px;z-index:55;background:var(--abyss);border-bottom:1px solid rgba(255,255,255,.14)}
.mf-srail ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(16px,2.6vw,44px);overflow-x:auto;scrollbar-width:none}
.mf-srail ul::-webkit-scrollbar{display:none}
.mf-srail a{display:block;padding:15px 0 13px;white-space:nowrap;position:relative}
.mf-srail .n{display:block;font-family:'Roboto Condensed';font-size:.62rem;letter-spacing:.2em;color:var(--blue)}
.mf-srail .t{display:block;margin-top:4px;font-family:'Roboto Condensed';font-size:.74rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--mist);transition:color .3s}
.mf-srail a:hover .t,.mf-srail a[aria-current="true"] .t{color:#fff}
.mf-srail a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--yellow);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--e)}
.mf-srail a[aria-current="true"]::after{transform:scaleX(1)}

/* ============ RESPONSE SEQUENCE ============
   Seven steps on one continuous transfer path. Not circles on a string:
   the path is the same line used everywhere else, drawn as you scroll. */
.mf-seq{position:relative;padding-top:clamp(18px,2.4vw,34px)}
.mf-seq__line{position:absolute;left:0;right:0;top:clamp(26px,3vw,42px);height:2px}
.mf-seq__line svg{width:100%;height:2px;display:block;overflow:visible}
.mf-seq__line path{fill:none;stroke:var(--blue);stroke-width:2;vector-effect:non-scaling-stroke;
  stroke-dasharray:var(--L,1000);stroke-dashoffset:calc(var(--L,1000) * (1 - var(--p,0)))}
.mf-seq__row{display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(10px,1.4vw,22px);position:relative}
.mf-seq__i{position:relative;padding-top:clamp(44px,5vw,72px)}
.mf-seq__i::before{content:"";position:absolute;left:0;top:clamp(21px,2.6vw,37px);width:11px;height:11px;
  border-radius:50%;background:var(--bg);border:2px solid var(--blue);
  opacity:var(--o,0);transition:opacity .35s var(--e)}
.mf-seq__i .n{font-family:'Roboto Condensed';font-size:.62rem;letter-spacing:.2em;color:var(--blue)}
.mf-seq__i .t{font-family:'Roboto Condensed';font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;
  font-weight:700;margin-top:6px;color:var(--fg)}
.mf-seq__i .d{font-size:.82rem;color:var(--fg2);margin-top:7px;line-height:1.5}
@media(max-width:1100px){.mf-seq__row{grid-template-columns:repeat(4,1fr);row-gap:26px}.mf-seq__line{display:none}
  .mf-seq__i::before{opacity:1}}
@media(max-width:680px){.mf-seq__row{grid-template-columns:1fr 1fr}}

/* ============ APPLICATIONS — one dominant, four supporting ============ */
.mf-appx{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(16px,2.2vw,36px);align-items:start}
.mf-appx__lead figure{margin:0;position:relative;overflow:hidden}
.mf-appx__lead img{width:100%;aspect-ratio:4/3;object-fit:cover}
.mf-appx__lead .cap{margin-top:16px}
.mf-appx__lead .t{font-family:'Roboto Condensed';font-size:clamp(1rem,1.5vw,1.3rem);letter-spacing:.08em;
  text-transform:uppercase;font-weight:700;color:var(--fg)}
.mf-appx__lead .d{font-size:.94rem;color:var(--fg2);margin-top:8px;max-width:46ch;line-height:1.6}
.mf-appx__grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.mf-appx__grid figure{margin:0;position:relative;overflow:hidden;aspect-ratio:1}
.mf-appx__grid img{width:100%;height:100%;object-fit:cover;filter:brightness(.66) saturate(.9);
  transition:filter .5s var(--e),transform 1.1s var(--e)}
.mf-appx__grid figure:hover img{filter:brightness(.82) saturate(1);transform:scale(1.04)}
.mf-appx__grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:clamp(12px,1.2vw,18px);color:#fff;
  background:linear-gradient(0deg,rgba(13,14,38,.92),transparent)}
.mf-appx__grid b{display:block;font-family:'Roboto Condensed';font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;line-height:1.25}
.mf-appx__grid span{display:block;font-size:.78rem;color:#C6CDD9;margin-top:5px;line-height:1.4}
@media(max-width:900px){.mf-appx{grid-template-columns:1fr}}

/* ============ PEOPLE + EQUIPMENT, connected ============ */
.mf-pe{display:grid;grid-template-columns:1fr 46px 1fr;gap:clamp(14px,2vw,30px);align-items:start}
.mf-pe__link{position:relative;align-self:stretch;min-height:120px}
.mf-pe__link svg{position:absolute;inset:0;width:100%;height:100%}
.mf-pe__link path{fill:none;stroke:var(--yellow);stroke-width:2;vector-effect:non-scaling-stroke;
  stroke-dasharray:var(--L,300);stroke-dashoffset:calc(var(--L,300) * (1 - var(--p,0)))}
@media(max-width:900px){.mf-pe{grid-template-columns:1fr}.mf-pe__link{display:none}}

/* ============ SIGNATURE MODULES ============ */
.mf-sig{background:var(--navy);color:#fff;overflow:hidden;position:relative}
.mf-sig__in{padding-block:clamp(56px,8vw,120px);position:relative;z-index:2}
/* connect: two fields converging */
.mf-conn2{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;gap:0}
.mf-conn2 figure{margin:0;overflow:hidden}
.mf-conn2 img{width:100%;aspect-ratio:5/4;object-fit:cover;
  transform:translateX(calc(var(--cx,1) * var(--dir,-1) * 60px));transition:transform .1s linear}
.mf-conn2 .join{position:relative;height:100%;min-height:120px}
.mf-conn2 .join svg{position:absolute;inset:0;width:100%;height:100%}
.mf-conn2 .join path{fill:none;stroke:var(--yellow);stroke-width:2.5;vector-effect:non-scaling-stroke;
  stroke-dasharray:120;stroke-dashoffset:calc(120 * (1 - var(--p,0)))}
@media(max-width:760px){.mf-conn2{grid-template-columns:1fr}.mf-conn2 .join{min-height:70px}.mf-conn2 img{transform:none}}
/* recover: before / process / after */
.mf-recov{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.mf-recov figure{margin:0;position:relative;overflow:hidden}
.mf-recov img{width:100%;aspect-ratio:4/5;object-fit:cover}
.mf-recov .b img{filter:saturate(.35) contrast(1.2) brightness(.72)}
.mf-recov .p img{filter:saturate(.7) contrast(1.1) brightness(.86)}
.mf-recov figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px;color:#fff;
  font-family:'Roboto Condensed';font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;
  background:linear-gradient(0deg,rgba(13,14,38,.9),transparent)}
@media(max-width:760px){.mf-recov{grid-template-columns:1fr}}
/* time: mobilisation clock */
.mf-clock{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18)}
.mf-clock>div{background:var(--navy);padding:clamp(18px,2.4vw,32px)}
.mf-clock .t{font-family:'Roboto Condensed';font-weight:700;font-size:clamp(1.4rem,2.4vw,2.1rem);color:var(--red)}
.mf-clock .d{font-size:.84rem;color:var(--mist);margin-top:8px}
@media(max-width:760px){.mf-clock{grid-template-columns:1fr 1fr}}
/* system: problem -> engineered response */
.mf-sys{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px}
.mf-sys figure{margin:0;position:relative;overflow:hidden}
.mf-sys img{width:100%;aspect-ratio:1;object-fit:cover}
.mf-sys figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px;color:#fff;
  font-family:'Roboto Condensed';font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;
  background:linear-gradient(0deg,rgba(13,14,38,.9),transparent)}
@media(max-width:760px){.mf-sys{grid-template-columns:1fr}}

/* ============ URGENT PANEL ============ */
.mf-urg{background:var(--red);color:#fff;padding:clamp(24px,3.4vw,48px);position:relative;overflow:hidden}
.mf-urg h2{margin:0;font-family:'Roboto Condensed';font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  font-size:clamp(1.2rem,2vw,1.7rem)}
.mf-urg .num{font-family:'Roboto Condensed';font-weight:700;letter-spacing:-.02em;
  font-size:clamp(1.6rem,3vw,2.5rem);margin:14px 0 0}
.mf-urg .btnw{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--red);
  padding:14px 24px;font-weight:500;font-size:.88rem;margin-top:20px;transition:.3s}
.mf-urg .btnw:hover{background:var(--navy);color:#fff}
.mf-urg__hook{position:absolute;right:-14%;bottom:-52%;width:52%;aspect-ratio:178/109;opacity:.13}
.mf-urg__hook svg{width:100%;height:100%}

/* ============ CLOSING SEQUENCE ============ */
.mf-close4{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:clamp(14px,2vw,34px);align-items:center}
.mf-close4 .st .n{font-family:'Roboto Condensed';font-weight:700;font-size:clamp(1.3rem,2.2vw,1.9rem);color:var(--yellow)}
.mf-close4 .st .d{font-family:'Roboto Condensed';font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--mist);margin-top:8px;line-height:1.5}
@media(max-width:900px){.mf-close4{grid-template-columns:1fr 1fr}}

/* ============ v0.7 · SEO LAYER ============
   Added to the service and equipment templates only. Everything reuses the
   existing v6 vocabulary: hairline grids, condensed labels, no new colours,
   no rounded corners, no shadows. */

/* offer tiles: same construction as .mf-tiles on equipment, made clickable */
.mf-offer{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;align-items:stretch}
.mf-offer figure{margin:0;position:relative;overflow:hidden;background:var(--deep)}
.mf-offer button{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;
  text-align:left;position:relative;font:inherit}
.mf-offer button::before{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--yellow);
  z-index:3;transition:width .5s var(--e)}
.mf-offer button:hover::before,.mf-offer button:focus-visible::before{width:100%}
.mf-offer img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  filter:saturate(.85) contrast(1.06) brightness(.7);transition:filter .5s var(--e),transform 1.1s var(--e)}
.mf-offer button:hover img{filter:saturate(1) contrast(1.06) brightness(.86);transform:scale(1.04)}
.mf-offer figcaption{position:absolute;left:0;right:0;bottom:0;padding:clamp(13px,1.3vw,20px);color:#fff;
  background:linear-gradient(0deg,rgba(13,14,38,.94) 0%,rgba(13,14,38,.5) 56%,transparent 100%)}
.mf-offer h3{margin:0;font-family:'Roboto Condensed';font-size:clamp(.72rem,.85vw,.84rem);letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;line-height:1.25}
.mf-offer p{margin:7px 0 0;font-size:clamp(.75rem,.86vw,.85rem);color:#C6CDD9;line-height:1.45}
.mf-offer .more{display:inline-flex;align-items:center;gap:7px;margin-top:11px;font-family:'Roboto Condensed';
  font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--yellow)}
@media(max-width:1000px){.mf-offer{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.mf-offer{grid-template-columns:1fr}.mf-offer img{aspect-ratio:16/9}}

/* modal: Elementor Pro Popup equivalent */
.mf-modal{position:fixed;inset:0;z-index:200;display:none}
.mf-modal[data-open="true"]{display:block}
.mf-modal__bg{position:absolute;inset:0;background:rgba(13,14,38,.74);opacity:0;transition:opacity .35s var(--e)}
.mf-modal[data-open="true"] .mf-modal__bg{opacity:1}
.mf-modal__win{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);width:min(94vw,1020px);
  max-height:88svh;overflow:auto;background:var(--bg);opacity:0;
  transition:opacity .35s var(--e),transform .45s var(--e)}
.mf-modal[data-open="true"] .mf-modal__win{opacity:1;transform:translate(-50%,-50%)}
.mf-modal__img{width:100%;height:auto;aspect-ratio:24/9;object-fit:cover;display:block}
.mf-modal__in{padding:clamp(20px,2.4vw,34px)}
/* Two columns above 820px: the description and the four rows sit side by side,
   so the whole popup fits in one view without scrolling. Stacks on mobile. */
.mf-modal__cols{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(20px,3vw,44px);align-items:start;margin-top:14px}
@media(max-width:820px){.mf-modal__cols{grid-template-columns:1fr;gap:18px}}
.mf-modal__t{margin:8px 0 0;font-size:clamp(1.15rem,2vw,1.5rem);font-weight:500;letter-spacing:-.025em}
.mf-modal__b{margin:0;font-size:.95rem;line-height:1.6;color:var(--fg2);max-width:none}
.mf-modal__x{position:absolute;right:14px;top:14px;width:40px;height:40px;background:rgba(13,14,38,.62);
  border:0;color:#fff;cursor:pointer;display:grid;place-items:center;z-index:2}
.mf-modal__x:hover{background:var(--navy)}
.mf-modal__act{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:clamp(16px,2.2vw,24px)}
/* the four rows sit close together so the whole popup fits without scrolling */
.mf-modal__win .mf-spec{margin:0}
.mf-modal__win .mf-spec th,.mf-modal__win .mf-spec td{padding:8px 0}
.mf-modal__win .mf-spec th{padding-top:9px;width:46%}
.mf-modal__win .mf-spec td{font-size:.92rem}
/* Shorter viewports: the image gives way first, then the padding. */
@media(max-height:820px){.mf-modal__img{aspect-ratio:32/9}.mf-modal__in{padding:clamp(16px,2vw,26px)}}
@media(max-width:900px){.mf-modal__img{aspect-ratio:21/9}}
@media(max-width:600px){
  .mf-modal__win{width:100vw;max-height:100svh;top:0;left:0;transform:none}
  .mf-modal[data-open="true"] .mf-modal__win{transform:none}
  .mf-modal__img{aspect-ratio:16/9}
  .mf-modal__b{font-size:.92rem;line-height:1.55}
  .mf-modal__win .mf-spec th,.mf-modal__win .mf-spec td{padding:6px 0}}
@media(prefers-reduced-motion:reduce){.mf-modal__bg,.mf-modal__win{transition:none}}

/* spec tabs: Elementor Pro Tabs widget, vertical */
.mf-stabs{display:grid;grid-template-columns:210px 1fr;border:1px solid var(--hair)}
.mf-stabs__list{list-style:none;margin:0;padding:0;border-right:1px solid var(--hair)}
.mf-stabs__list button{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;font:inherit;
  padding:13px 17px;border-bottom:1px solid var(--hair);position:relative;font-family:'Roboto Condensed';
  font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;color:var(--fg2);transition:.25s}
.mf-stabs__list li:last-child button{border-bottom:0}
.mf-stabs__list button:hover{color:var(--fg)}
.mf-stabs__list button[aria-selected="true"]{background:var(--bg);color:var(--navy);font-weight:700}
.mf-stabs__list button[aria-selected="true"]::before{content:"";position:absolute;left:0;top:0;bottom:0;
  width:3px;background:var(--navy)}
.mf-stabs__panel{padding:clamp(17px,2.2vw,28px)}
.mf-stabs__panel[hidden]{display:none}
.mf-stabs__panel h3{margin:0;font-family:'Roboto Condensed';font-size:.78rem;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;color:var(--navy)}
.mf-stabs__panel .intro{margin:8px 0 0;font-size:.89rem;color:var(--fg2);max-width:48ch;line-height:1.55}
@media(max-width:820px){
  .mf-stabs{grid-template-columns:1fr}
  .mf-stabs__list{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--hair);scrollbar-width:none}
  .mf-stabs__list::-webkit-scrollbar{display:none}
  .mf-stabs__list button{white-space:nowrap;border-bottom:0;border-right:1px solid var(--hair)}
  .mf-stabs__list button[aria-selected="true"]::before{left:0;right:0;top:auto;bottom:0;width:auto;height:3px}}

/* the fold */
.mf-fold{border-top:1px solid var(--hair)}
.mf-fold__bar{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;
  padding:clamp(20px,2.6vw,34px) 0;text-align:left;background:none;border:0;cursor:pointer;font:inherit}
.mf-fold__t{margin:9px 0 0;font-size:clamp(1.15rem,1.9vw,1.5rem);font-weight:500;letter-spacing:-.02em;
  color:var(--fg);transition:color .25s}
.mf-fold__bar:hover .mf-fold__t{color:var(--navy)}
.mf-fold__c{margin:7px 0 0;font-size:.9rem;color:var(--fg2);max-width:58ch}
.mf-fold__ic{flex:0 0 auto;width:46px;height:46px;border:1px solid var(--hair);display:grid;place-items:center;transition:.3s}
.mf-fold__bar:hover .mf-fold__ic{border-color:var(--navy)}
.mf-fold__ic svg{transition:transform .45s var(--e)}
.mf-fold__bar[aria-expanded="true"] .mf-fold__ic{background:var(--navy);border-color:var(--navy);color:#fff}
.mf-fold__bar[aria-expanded="true"] .mf-fold__ic svg{transform:rotate(180deg)}
.mf-fold__body{overflow:hidden;max-height:0;opacity:0;transition:max-height .7s var(--e),opacity .45s var(--e)}
.mf-fold__body[data-open="true"]{max-height:none;opacity:1}
.mf-fold__inner{padding-bottom:clamp(20px,3vw,44px)}
@media(prefers-reduced-motion:reduce){.mf-fold__body{transition:none}}

/* chapters inside the fold: same hairline grid as .subs elsewhere */
.mf-chap{border-top:1px solid var(--hair);padding-top:clamp(18px,2.4vw,30px);margin-top:clamp(26px,3.6vw,50px)}
.mf-chap:first-child{margin-top:0;border-top:0;padding-top:clamp(12px,1.8vw,22px)}
.mf-chap__head{display:grid;grid-template-columns:50px 1fr;gap:14px;align-items:baseline}
.mf-chap__n{font-family:'Roboto Condensed';font-size:.72rem;letter-spacing:.18em;color:var(--blue);font-weight:700}
.mf-chap h2{margin:0;font-size:clamp(1.12rem,1.75vw,1.45rem);letter-spacing:-.02em;font-weight:500}
.mf-chap__lede{grid-column:2;margin:10px 0 0;font-size:.97rem;color:var(--fg2);max-width:52ch;line-height:1.55}
.mf-subgrid{margin-top:clamp(16px,2vw,26px);display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--hair);border:1px solid var(--hair)}
.mf-subgrid>div{background:var(--bg);padding:clamp(15px,1.8vw,24px)}
.mf-subgrid h3{margin:0;font-family:'Roboto Condensed';font-size:.79rem;letter-spacing:.11em;
  text-transform:uppercase;font-weight:700;color:var(--navy)}
.mf-subgrid p{margin:9px 0 0;font-size:.88rem;line-height:1.6;color:var(--fg2)}
@media(max-width:760px){.mf-subgrid{grid-template-columns:1fr}}

/* on-page enquiry form */
.mf-enq{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,54px);align-items:start}
.mf-enq__f{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.mf-enq__f .full{grid-column:1/-1}
.mf-enq label{display:block;font-family:'Roboto Condensed';font-size:.67rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--fg2)}
.mf-enq input,.mf-enq select,.mf-enq textarea{width:100%;margin-top:7px;background:transparent;border:0;
  border-bottom:1px solid var(--hair);color:var(--fg);font:inherit;font-size:.97rem;padding:9px 0;border-radius:0}
.mf-enq input:focus,.mf-enq select:focus,.mf-enq textarea:focus{outline:none;border-bottom-color:var(--navy)}
.mf-enq textarea{resize:vertical;min-height:60px}
@media(max-width:900px){.mf-enq{grid-template-columns:1fr}.mf-enq__f{grid-template-columns:1fr}}

/* knowledge cards */
.mf-klist{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.mf-klist a{display:block;background:var(--bg);padding:clamp(17px,2.1vw,27px);transition:background .3s}
.mf-klist a:hover{background:#fff}
.mf-klist .k{font-family:'Roboto Condensed';font-size:.61rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.mf-klist h3{margin:9px 0 0;font-size:1rem;font-weight:500;letter-spacing:-.02em;color:var(--fg)}
.mf-klist p{margin:8px 0 0;font-size:.86rem;color:var(--fg2);line-height:1.55}
@media(max-width:900px){.mf-klist{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.mf-klist{grid-template-columns:1fr}}

/* knowledge article */
.mf-arthead{border-bottom:1px solid var(--hair);padding-block:clamp(34px,5vw,72px) clamp(20px,2.6vw,34px)}
.mf-arthead h1{margin:14px 0 0;font-size:clamp(1.5rem,3.2vw,2.5rem);letter-spacing:-.03em;font-weight:700;
  max-width:22ch;line-height:1.1}
.mf-art{display:grid;grid-template-columns:230px 1fr;gap:clamp(24px,4.6vw,80px);align-items:start;
  padding-block:clamp(28px,4vw,64px)}
.mf-art__side{position:sticky;top:88px}
/* Contextual return: goes back to wherever the reader came from when that was
   an internal page, and to the parent product page otherwise. */
.mf-backlink{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;
  font-family:'Roboto Condensed';font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:#2F4A78;transition:.25s}
.mf-backlink:hover{color:var(--navy);gap:13px}
.mf-art__toc{list-style:none;margin:12px 0 0;padding:0;counter-reset:t}
.mf-art__toc li{counter-increment:t;padding:8px 0 8px 30px;position:relative;font-size:.87rem;color:var(--fg2);
  line-height:1.45;border-bottom:1px solid var(--hair)}
.mf-art__toc li::before{content:counter(t,decimal-leading-zero);position:absolute;left:0;top:9px;
  font-family:'Roboto Condensed';font-size:.65rem;letter-spacing:.12em;color:var(--blue)}
.mf-art__cta{margin-top:clamp(18px,2.4vw,30px);padding-top:16px;border-top:1px solid var(--hair)}
.mf-art__body{max-width:68ch}
.mf-art__s{margin-top:clamp(24px,3.2vw,44px)}
.mf-art__s:first-child{margin-top:0}
.mf-art__s h2{margin:0;font-size:clamp(1.12rem,1.85vw,1.45rem);font-weight:500;letter-spacing:-.02em}
.mf-art__s p{margin:14px 0 0;font-size:1rem;line-height:1.72}
@media(max-width:1000px){.mf-art{grid-template-columns:1fr;gap:0}
  .mf-art__side{position:static;margin-bottom:clamp(18px,2.6vw,30px)}.mf-art__body{max-width:none}}

/* language switch */
.mf-lang{display:inline-flex;gap:1px;background:rgba(255,255,255,.24);margin-left:14px}
.mf-lang a{display:block;padding:5px 9px;font-family:'Roboto Condensed';font-size:.66rem;letter-spacing:.13em;
  text-transform:uppercase;background:var(--abyss);color:var(--mist);transition:.25s}
.mf-lang a:hover{color:#fff}
.mf-lang a[aria-current="true"]{background:var(--yellow);color:var(--navy);font-weight:700}
@media(max-width:900px){.mf-lang{margin:14px 0 0}}

/* sticky mobile contact */
.mf-mcall{display:none}
@media(max-width:900px){
  .mf-mcall{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--navy);color:#fff;
    align-items:center;justify-content:space-between;gap:12px;padding:11px 16px}
  .mf-mcall .k{font-family:'Roboto Condensed';font-size:.61rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mist)}
  .mf-mcall .v{font-family:'Roboto Condensed';font-weight:700;font-size:1rem;color:#fff}
  .mf-mcall a.mf-btn{padding:10px 16px;font-size:.79rem;background:var(--yellow);color:var(--navy);border:0}
  body{padding-bottom:62px}}

/* contrast corrections measured in review: blue on paper was 3.12:1 */
.mf-cnd.mf-kick{color:#2F4A78}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.mf-navy :focus-visible,.mf-dark :focus-visible,.mf-abyss :focus-visible,.mf-eqhero :focus-visible,
.mf-svchero :focus-visible,.mf-sig :focus-visible,.mf-urg :focus-visible,.mf-top :focus-visible,
.mf-modal :focus-visible,.mf-mcall :focus-visible{outline-color:#fff}
.mf-cf{display:inline-block;font-family:'Roboto Condensed';font-size:.6rem;letter-spacing:.13em;
  text-transform:uppercase;color:#C42718;border:1px solid #C42718;padding:2px 7px}


/* Suppress a hover dropdown after one of its links has been used. */
.mf-shut .sub-menu,.mf-shut:hover .sub-menu,.mf-shut:focus-within .sub-menu{display:none!important;opacity:0!important;visibility:hidden!important}
