@import url("https://fonts.googleapis.com/css2?family=Geologica:wght@100..900&display=swap");

:root{
  --mf-yellow:#ffca00;
  --mf-yellow-hover:#f2bd00;
  --mf-purple:#4802a2;
  --mf-purple-deep:#2d0067;
  --mf-purple-soft:#f2ecfb;
  --mf-ink:#111111;
  --mf-muted:#6a6a6a;
  --mf-subtle:#979797;
  --mf-paper:#fbfbf8;
  --mf-warm:#f0efe9;
  --mf-surface:#f5f5f2;
  --mf-border:#deded7;
  --mf-border-dark:#343434;
  --mf-success:#0f7c55;
  --mf-danger:#9a2d2d;
  --mf-header-h:76px;
  --mf-page:1440px;
  --mf-gutter:clamp(18px,3vw,46px);
  --mf-cookie-offset:0px;
}

*{box-sizing:border-box}
/* Keep the layout viewport the same width when a modal hides the page scrollbar. */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--mf-header-h) + 20px);background:var(--mf-warm);scrollbar-gutter:stable}
body{margin:0;color:var(--mf-ink);background:var(--mf-warm);font-family:"Geologica",Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.mf-lock{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
svg{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
[hidden]{display:none!important}
::selection{background:var(--mf-yellow);color:#000}
:focus-visible{outline:3px solid rgba(72,2,162,.23);outline-offset:3px}

.mf-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mf-skip-link:focus{position:fixed!important;left:12px;top:12px;width:auto;height:auto;margin:0;padding:12px 16px;clip:auto;background:#fff;z-index:1000;border-radius:12px}

.mf-header{position:fixed;left:0;right:0;top:0;z-index:120;height:var(--mf-header-h);background:rgba(251,251,248,.92);border-bottom:1px solid rgba(17,17,17,.08);backdrop-filter:blur(18px);transition:box-shadow .25s ease,background .25s ease}
.mf-header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(17,17,17,.07)}
.mf-header__inner{height:100%;width:min(var(--mf-page),calc(100% - (var(--mf-gutter)*2)));margin:auto;display:flex;align-items:center;gap:28px}
.mf-brand{display:inline-flex;align-items:center;gap:11px;min-width:0;flex-shrink:0}
.mf-brand img{width:42px;height:42px;object-fit:contain}
.mf-brand__text{display:flex;flex-direction:column;line-height:1.05}
.mf-brand__text strong{font-size:15px;font-weight:720;letter-spacing:-.025em}
.mf-brand__text small{margin-top:4px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--mf-muted);font-weight:650}
.mf-nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.mf-nav a{padding:10px 13px;border-radius:12px;font-size:14px;font-weight:560;transition:background .18s ease}
.mf-nav a:hover{background:rgba(17,17,17,.05)}
.mf-header__actions{display:flex;align-items:center;gap:10px}
.mf-header__phone{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:610;white-space:nowrap;padding:10px 8px}
.mf-header__phone svg{width:17px;height:17px}
.mf-menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;border-radius:14px;align-items:center;justify-content:center}
.mf-menu-toggle:hover{background:rgba(17,17,17,.05)}
.mf-menu-toggle svg{width:22px;height:22px}
.mf-menu-toggle__close{display:none}
.mf-menu-toggle[aria-expanded="true"] .mf-menu-toggle__open{display:none}
.mf-menu-toggle[aria-expanded="true"] .mf-menu-toggle__close{display:block}
.mf-mobile-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--mf-border);box-shadow:0 22px 45px rgba(17,17,17,.1)}
.mf-mobile-menu nav{width:min(var(--mf-page),calc(100% - 32px));margin:auto;display:flex;flex-direction:column;padding:12px 0 20px}
.mf-mobile-menu a{font-size:18px;font-weight:610;padding:14px 4px}
.mf-mobile-menu .mf-button{margin-top:10px}

.mf-button{border:0;min-height:52px;padding:0 22px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:15px;line-height:1;font-weight:690;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;white-space:nowrap}
.mf-button:hover{transform:translateY(-2px)}
.mf-button svg{width:17px;height:17px;transition:transform .18s ease}
.mf-button:hover svg{transform:translateX(2px)}
.mf-button--primary{background:var(--mf-yellow);color:#111;box-shadow:0 8px 26px rgba(255,202,0,.18)}
.mf-button--primary:hover{background:var(--mf-yellow-hover);box-shadow:0 12px 28px rgba(255,202,0,.28)}
.mf-button--compact{min-height:44px;padding:0 18px;border-radius:15px;font-size:14px}
.mf-button--ghost-light{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px)}
.mf-button--ghost-light:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5)}
.mf-button--outline{background:#fff;border:1px solid #cfcfc9;box-shadow:none}
.mf-button--outline:hover{background:#f7f7f4}
.mf-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--mf-purple);font-weight:680;font-size:15px}
.mf-text-link svg{width:17px;height:17px;transition:transform .18s}
.mf-text-link:hover svg{transform:translateX(3px)}

.mf-progress{position:fixed;top:var(--mf-header-h);left:0;right:0;height:2px;z-index:119;pointer-events:none;background:transparent}
.mf-progress span{display:block;height:100%;width:100%;transform-origin:left center;transform:scaleX(0);background:var(--mf-purple)}

.mf-story{padding-top:calc(var(--mf-header-h) + 18px);padding-bottom:clamp(70px,8vw,130px);background:var(--mf-warm)}
.mf-stage{position:relative;height:112vh;min-height:780px;padding:0 var(--mf-gutter)}
.mf-stage--final{height:102vh}
.mf-slide{position:sticky;top:calc(var(--mf-header-h) + 18px);width:min(var(--mf-page),100%);height:calc(100vh - var(--mf-header-h) - 36px);min-height:650px;margin:0 auto;border-radius:28px;overflow:hidden;box-shadow:0 22px 60px rgba(17,17,17,.12);isolation:isolate;transition:box-shadow .2s linear,filter .2s linear;will-change:transform}
.mf-slide:after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(17,17,17,.08);border-radius:inherit;z-index:10}
.mf-slide--dark{background:#101010;color:#fff}
.mf-slide--paper{background:var(--mf-paper)}
.mf-slide--light{background:#fff}
.mf-slide--yellow{background:var(--mf-yellow)}
.mf-slide--purple{background:var(--mf-purple);color:#fff}
.mf-slide--gallery{background:#dfded8}
.mf-slide--final{background:#111;color:#fff}
.mf-slide__meta{position:absolute;top:24px;left:30px;right:30px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.14em;font-weight:650;opacity:.68}
.mf-slide__grid{height:100%;display:grid;align-items:center;gap:clamp(28px,4vw,70px);padding:76px clamp(30px,5vw,84px) 52px}
.mf-kicker{display:block;margin:0 0 16px;font-size:12px;line-height:1.2;font-weight:720;text-transform:uppercase;letter-spacing:.14em;color:var(--mf-purple)}
.mf-kicker--yellow{color:var(--mf-yellow)}
.mf-lead{font-size:clamp(18px,1.4vw,23px);line-height:1.45;letter-spacing:-.018em}
.mf-slide h1,.mf-slide h2,.mf-slide h3,.mf-tariffs h2,.mf-tariffs h3,.mf-legal h1,.mf-legal h2,.mf-simple-page h1{margin:0;letter-spacing:-.048em;line-height:.98;font-weight:760}
.mf-slide h2{font-size:clamp(42px,4.5vw,74px)}
.mf-slide h3{font-size:clamp(25px,2.1vw,34px)}
.mf-slide p{margin-top:0}
blockquote{margin:0}

.mf-slide__grid--hero{grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);padding-top:82px}
.mf-hero-copy{max-width:760px;position:relative;z-index:2}
.mf-hero-copy h1{font-size:clamp(66px,6.5vw,102px);line-height:.82;letter-spacing:-.078em;text-transform:uppercase;max-width:900px}
.mf-hero-copy h1>span{display:block}.mf-hero-line-sub{font-size:.72em;white-space:nowrap}.mf-hero-line-sub b{font:inherit;color:var(--mf-yellow)}
.mf-hero-lead{max-width:760px;margin:32px 0 0;font-size:clamp(18px,1.35vw,23px);line-height:1.46;color:#d7d7d7}
.mf-hero-note{max-width:660px;margin:16px 0 0;color:#fff;font-weight:620}
.mf-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.mf-photo-stack{height:70%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;transform:rotate(1.25deg)}
.mf-photo-stack--hero .mf-photo-placeholder--tall{grid-row:1/3}
.mf-photo-placeholder{position:relative;overflow:hidden;min-height:160px;background:
  radial-gradient(circle at 76% 20%,rgba(255,202,0,.98) 0 6%,transparent 6.5%),
  linear-gradient(135deg,#d9d8d2,#b8b7b1 44%,#8b8984);color:#111;border:1px solid rgba(255,255,255,.24);transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.mf-photo-placeholder:before{content:"";position:absolute;inset:0;background:
  repeating-linear-gradient(135deg,transparent 0 24px,rgba(255,255,255,.12) 24px 25px),
  linear-gradient(180deg,transparent 55%,rgba(0,0,0,.5));mix-blend-mode:soft-light}
.mf-photo-placeholder:after{content:"PHOTO";position:absolute;top:14px;right:14px;font-size:10px;font-weight:760;letter-spacing:.2em;color:rgba(17,17,17,.55)}
.mf-photo-placeholder span,.mf-photo-placeholder small{position:absolute;left:16px;z-index:2}
.mf-photo-placeholder span{bottom:34px;font-size:13px;font-weight:720;color:#fff}
.mf-photo-placeholder small{bottom:15px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.72)}
.mf-photo-placeholder:hover{transform:scale(1.018) rotate(-.35deg);filter:contrast(1.04)}
.mf-scroll-cue{position:absolute;left:clamp(30px,5vw,84px);bottom:22px;display:flex;align-items:center;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#a9a9a9}
.mf-scroll-cue i{width:46px;height:1px;background:#555;overflow:hidden;position:relative}
.mf-scroll-cue i:after{content:"";position:absolute;top:0;left:-70%;width:50%;height:100%;background:var(--mf-yellow);animation:mfCue 1.8s ease-in-out infinite}
@keyframes mfCue{to{left:120%}}

.mf-slide__grid--evidence{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.mf-copy-column{align-self:center;max-width:640px}
.mf-copy-column h2{max-width:730px}
.mf-copy-column .mf-lead{margin:26px 0 16px}
.mf-copy-column>p:last-child{max-width:600px;color:var(--mf-muted);font-size:17px}
.mf-proof-column{align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--mf-border);padding-left:clamp(30px,4vw,70px)}
.mf-big-number{padding-bottom:28px}
.mf-big-number strong{display:block;font-size:clamp(56px,6.5vw,108px);line-height:.9;letter-spacing:-.07em}
.mf-big-number span{display:block;max-width:580px;margin-top:16px;color:var(--mf-muted);font-size:15px;line-height:1.5}
.mf-proof-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;border-top:1px solid var(--mf-border);padding-top:24px}
.mf-proof-split>div:first-child{display:flex;flex-direction:column;justify-content:flex-end}
.mf-proof-split strong{font-size:clamp(48px,5vw,78px);line-height:.9;letter-spacing:-.06em}
.mf-proof-split span{margin-top:12px;font-size:14px;line-height:1.45;color:var(--mf-muted)}
.mf-mini-photo{min-height:170px}
.mf-proof-column blockquote{margin-top:22px;padding-top:18px;border-top:1px solid var(--mf-border);font-size:20px;line-height:1.35;font-weight:640}

.mf-slide__grid--history{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;align-content:center;gap:26px;padding-top:78px}
.mf-history-head{max-width:1080px}
.mf-history-head h2{max-width:1150px}
.mf-history-line{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
.mf-history-line>div{padding:22px 24px 22px 0;min-height:150px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;column-gap:12px}
.mf-history-line>div+div{border-left:1px solid rgba(255,255,255,.25);padding-left:24px}
.mf-history-line span{grid-column:1/3;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.62)}
.mf-history-line strong{font-size:clamp(50px,5vw,78px);line-height:.92;letter-spacing:-.06em;color:var(--mf-yellow)}
.mf-history-line small{align-self:end;font-size:13px;line-height:1.45;color:rgba(255,255,255,.76)}
.mf-airex-band{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:stretch;min-height:190px}
.mf-airex-band>div:first-child{padding:20px 0;display:flex;flex-direction:column;justify-content:center}
.mf-airex-band h3{font-size:clamp(54px,5.4vw,86px);letter-spacing:-.07em;color:#fff}
.mf-airex-band p{max-width:520px;margin:10px 0 0;color:rgba(255,255,255,.76);font-size:14px}
.mf-photo-placeholder--wide{min-height:190px}

.mf-slide__grid--system{grid-template-columns:.8fr 1.2fr}
.mf-system-intro{max-width:580px}
.mf-system-intro h2{max-width:620px}
.mf-system-intro .mf-lead{max-width:510px;margin:25px 0 32px}
.mf-system-intro blockquote{padding-left:18px;border-left:3px solid var(--mf-yellow);font-size:18px;font-weight:650;line-height:1.35;max-width:500px}
.mf-index-list{align-self:center}
.mf-index-row{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;padding:18px 0;transition:transform .18s ease}
.mf-index-row+.mf-index-row{border-top:1px solid var(--mf-border)}
.mf-index-row:hover{transform:translateX(5px)}
.mf-index-row>span{font-size:12px;font-weight:680;color:var(--mf-purple);padding-top:4px}
.mf-index-row h3{font-size:clamp(25px,2vw,32px)}
.mf-index-row p{max-width:660px;margin:7px 0 0;color:var(--mf-muted);font-size:14px;line-height:1.45}

.mf-slide__grid--money{grid-template-columns:1.1fr .9fr;gap:55px}
.mf-money-head h2{font-size:clamp(60px,6.4vw,100px)}
.mf-money-metrics{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(17,17,17,.3);border-bottom:1px solid rgba(17,17,17,.3)}
.mf-money-metrics>div{padding:21px 18px 20px 0}
.mf-money-metrics>div+div{border-left:1px solid rgba(17,17,17,.3);padding-left:18px}
.mf-money-metrics strong{display:block;font-size:clamp(25px,2.35vw,38px);line-height:1;letter-spacing:-.05em}
.mf-money-metrics small{display:block;margin-top:10px;font-size:13px;line-height:1.42;color:rgba(17,17,17,.74)}
.mf-money-table-wrap{margin-top:20px;background:#111;color:#fff;padding:clamp(24px,3vw,42px);border-radius:22px;transform:rotate(.45deg);box-shadow:0 25px 55px rgba(17,17,17,.15)}
.mf-money-table{transform:rotate(-.45deg)}
.mf-money-row{display:grid;grid-template-columns:.75fr 1fr 1fr;gap:18px;align-items:baseline;padding:18px 0;font-size:16px}
.mf-money-row+.mf-money-row{border-top:1px solid #333}
.mf-money-row--head{padding-top:0;color:#a9a9a9;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.mf-money-row strong:last-child{font-size:clamp(22px,2vw,30px);letter-spacing:-.04em;color:var(--mf-yellow)}
.mf-fineprint{margin:22px 0 0;padding-top:18px;border-top:1px solid #333;color:#aaa;font-size:11.5px;line-height:1.6;transform:rotate(-.45deg)}

.mf-slide__grid--inside{grid-template-columns:.72fr 1.28fr;grid-template-rows:1fr auto;align-items:center}
.mf-inside-head{max-width:610px}
.mf-inside-head h2{font-size:clamp(46px,4.8vw,78px)}
.mf-inside-head .mf-lead{margin:24px 0 0;max-width:530px}
.mf-inside-grid{display:grid;grid-template-columns:repeat(2,1fr);align-self:center}
.mf-inside-grid>div{padding:22px 24px 22px 0;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;gap:2px 14px;transition:background .18s ease,padding-left .18s ease}
.mf-inside-grid>div:nth-child(even){border-left:1px solid var(--mf-border);padding-left:24px}
.mf-inside-grid>div:nth-child(n+3){border-top:1px solid var(--mf-border)}
.mf-inside-grid>div:last-child{grid-column:1/3;border-left:0;padding-left:0}
.mf-inside-grid>div:hover{background:#f5f5f0;padding-left:12px}
.mf-inside-grid>div:nth-child(even):hover{padding-left:36px}
.mf-inside-grid svg{grid-row:1/3;width:25px;height:25px;color:var(--mf-purple)}
.mf-inside-grid strong{font-size:20px;letter-spacing:-.03em}
.mf-inside-grid span{font-size:13px;color:var(--mf-muted);line-height:1.4}
.mf-slide__grid--inside .mf-text-link{grid-column:2;justify-self:start}

.mf-slide__grid--start{grid-template-columns:.9fr 1.1fr}
.mf-slide--start h2{max-width:700px}
.mf-start-alone{margin-top:38px;max-width:640px;border-top:1px solid #363636;padding-top:20px}
.mf-start-alone>span,.mf-start-detail>span{font-size:11px;letter-spacing:.12em;color:var(--mf-yellow);font-weight:700}
.mf-start-alone strong{display:block;margin-top:10px;font-size:clamp(30px,2.6vw,42px);line-height:1.08;letter-spacing:-.045em}
.mf-start-alone p{max-width:560px;margin:12px 0 0;color:#a9a9a9}
.mf-start-details{align-self:center;border-top:1px solid #363636}
.mf-start-detail{display:grid;grid-template-columns:48px .8fr 1.2fr;gap:14px;padding:22px 0;align-items:baseline}
.mf-start-detail+.mf-start-detail{border-top:1px solid #363636}
.mf-start-detail h3{font-size:22px;line-height:1.08}
.mf-start-detail p{margin:0;color:#aaa;font-size:13px;line-height:1.45}

.mf-slide--gallery{padding:72px clamp(26px,4vw,64px) 44px;display:flex;flex-direction:column}
.mf-gallery-head{display:grid;grid-template-columns:.55fr 1.05fr .7fr;gap:26px;align-items:end}
.mf-gallery-head .mf-kicker{align-self:start}
.mf-gallery-head h2{font-size:clamp(43px,4.2vw,68px)}
.mf-gallery-head p:last-child{margin:0;color:#686862;font-size:14px;line-height:1.45}
.mf-object-wall{height:auto;flex:1;min-height:0;margin-top:24px;display:grid;grid-template-columns:1.1fr .9fr 1fr;grid-template-rows:1fr 1fr;gap:10px}
.mf-object-wall__a{grid-row:1/3}
.mf-object-wall__b{grid-column:2;grid-row:1}
.mf-object-wall__c{grid-column:2;grid-row:2}
.mf-object-wall__d{grid-column:3;grid-row:1/3}
.mf-object-wall blockquote{position:absolute;right:8%;bottom:8%;z-index:8;width:min(430px,38%);padding:22px 24px;background:var(--mf-yellow);font-size:clamp(19px,1.6vw,25px);line-height:1.25;font-weight:700;letter-spacing:-.03em;box-shadow:0 18px 45px rgba(17,17,17,.18);transform:rotate(-1.2deg)}

.mf-slide__grid--steps{grid-template-columns:.72fr 1.28fr}
.mf-bonus{align-self:center;padding:32px;border:1px solid var(--mf-border);background:var(--mf-paper);transform:rotate(-1deg)}
.mf-bonus>span{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--mf-purple);font-weight:700}
.mf-bonus>strong{display:block;margin-top:16px;font-size:clamp(54px,5.2vw,82px);line-height:.9;letter-spacing:-.065em}
.mf-bonus p{margin:16px 0 0;max-width:410px;color:var(--mf-muted);font-size:14px}
.mf-slide__grid--steps>div:last-child h2{max-width:760px}
.mf-steps{list-style:none;padding:0;margin:26px 0 0}
.mf-steps li{display:grid;grid-template-columns:58px .9fr;gap:18px;padding:15px 0}
.mf-steps li+li{border-top:1px solid var(--mf-border)}
.mf-steps li>span{font-size:11px;color:var(--mf-purple);font-weight:700;letter-spacing:.1em;padding-top:4px}
.mf-steps strong{font-size:19px;letter-spacing:-.03em}
.mf-steps p{margin:4px 0 0;color:var(--mf-muted);font-size:13px;line-height:1.4}

.mf-final-grid{height:100%;display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;padding:84px clamp(32px,5vw,84px) 72px}
.mf-final-grid>div:first-child{max-width:820px}
.mf-final-grid h2{font-size:clamp(65px,7.2vw,116px);line-height:.82;max-width:950px}
.mf-final-grid .mf-lead{max-width:690px;margin:28px 0 30px;color:#bbb}
.mf-final-side{display:grid;gap:18px;align-content:start;align-self:center}
.mf-russia-map{position:relative;overflow:hidden;padding:18px 18px 14px;border-radius:24px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));box-shadow:0 20px 46px rgba(0,0,0,.16)}
.mf-russia-map::after{content:"";position:absolute;inset:auto auto -32px -24px;width:172px;height:172px;border-radius:50%;background:radial-gradient(circle,rgba(230,193,47,.18),transparent 70%);pointer-events:none}
.mf-russia-map__intro{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}
.mf-russia-map__eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.56)}
.mf-russia-map__intro strong{font-size:15px;line-height:1.1;color:#fff}
.mf-russia-map__svg{display:block;width:100%;height:auto;overflow:visible}
.mf-russia-map__silhouette{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.16);stroke-width:2.4;stroke-linejoin:round}
.mf-russia-map__spine{fill:none;stroke:rgba(255,255,255,.1);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:5 9}
.mf-russia-map__region{fill:rgba(196,196,196,.11);stroke:rgba(255,255,255,.22);stroke-width:1.15;vector-effect:non-scaling-stroke;transform-origin:center;transform-box:fill-box;transition:fill .55s cubic-bezier(.2,.8,.2,1),stroke .55s cubic-bezier(.2,.8,.2,1),filter .55s cubic-bezier(.2,.8,.2,1),transform .55s cubic-bezier(.2,.8,.2,1),opacity .55s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--region-order,0) * 34ms);opacity:.94}
.mf-russia-map__region:hover{fill:rgba(255,214,68,.82);stroke:rgba(255,233,146,.95)}
.mf-russia-map.is-active .mf-russia-map__region{fill:var(--mf-yellow);stroke:rgba(255,237,150,.96);filter:drop-shadow(0 0 10px rgba(230,193,47,.18));transform:translateY(-1px);opacity:1}
.mf-final-contacts{align-self:end;padding-bottom:30px;display:flex;flex-direction:column;gap:10px;border-top:1px solid #363636;padding-top:20px}
.mf-final-contacts a,.mf-final-contacts span{font-size:clamp(16px,1.5vw,22px);font-weight:610;letter-spacing:-.02em}
.mf-final-arrow{position:absolute;left:clamp(32px,5vw,84px);right:clamp(32px,5vw,84px);bottom:22px;display:flex;align-items:center;justify-content:space-between;color:#8e8e8e;font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.mf-final-arrow svg{width:28px;height:28px;color:var(--mf-yellow);transform:rotate(90deg)}

/* Tariffs */
.mf-tariffs{position:relative;background:#fff;padding:clamp(84px,8vw,140px) var(--mf-gutter) 120px;border-top:1px solid var(--mf-border)}
.mf-tariffs__intro,.mf-plan-cards,.mf-tariff-table,.mf-tariff-cta,.mf-tariff-mobile-switch{width:min(1320px,100%);margin-left:auto;margin-right:auto}
.mf-tariffs__intro{display:grid;grid-template-columns:.5fr 1.15fr .75fr;gap:32px;align-items:start;margin-bottom:48px}
.mf-tariffs__intro h2{font-size:clamp(46px,5.3vw,82px);line-height:.96;max-width:840px}
.mf-tariffs__intro>p:last-child{margin:0;color:var(--mf-muted);font-size:15px;line-height:1.55;max-width:420px}
.mf-plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}
.mf-plan-card{position:relative;text-align:left;min-height:260px;padding:26px;border:1px solid var(--mf-border);background:#f9f9f6;border-radius:22px;display:flex;flex-direction:column;transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s ease,border-color .24s ease,background .24s ease}
.mf-plan-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(17,17,17,.08);border-color:#c5c5bd;background:#fff}
.mf-plan-card--recommended{background:var(--mf-purple);color:#fff;border-color:var(--mf-purple);transform:translateY(-8px);box-shadow:0 22px 50px rgba(72,2,162,.22)}
.mf-plan-card--recommended:hover{transform:translateY(-12px);background:#400090;border-color:#400090;box-shadow:0 28px 60px rgba(72,2,162,.29)}
.mf-plan-card__badge{position:absolute;top:18px;right:18px;background:var(--mf-yellow);color:#111;padding:7px 10px;border-radius:999px;font-size:10px;font-style:normal;font-weight:760;text-transform:uppercase;letter-spacing:.1em}
.mf-plan-card__eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--mf-muted);font-weight:680}
.mf-plan-card--recommended .mf-plan-card__eyebrow{color:rgba(255,255,255,.68)}
.mf-plan-card--recommended .mf-plan-card__eyebrow{padding-right:112px}
.mf-plan-card strong{margin-top:26px;font-size:clamp(32px,3vw,44px);line-height:.9;letter-spacing:-.055em}
.mf-plan-card b{margin-top:8px;font-size:22px;letter-spacing:-.04em}
.mf-plan-card small{margin-top:16px;color:var(--mf-muted);font-size:13px;line-height:1.45;max-width:350px}
.mf-plan-card--recommended small{color:rgba(255,255,255,.72)}
.mf-plan-card em{margin-top:auto;padding-top:20px;font-style:normal;font-size:13px;font-weight:690;display:flex;align-items:center;gap:8px}
.mf-plan-card em svg{width:16px;height:16px;transition:transform .18s}
.mf-plan-card:hover em svg{transform:translateX(3px)}
.mf-tariff-mobile-switch{display:none}
.mf-tariff-table{border-top:1px solid var(--mf-border);border-bottom:1px solid var(--mf-border);--plan-col:minmax(150px,.52fr)}
.mf-tariff-head{position:sticky;top:var(--mf-header-h);z-index:30;display:grid;grid-template-columns:minmax(430px,1.75fr) repeat(3,var(--plan-col));background:rgba(255,255,255,.975);backdrop-filter:blur(18px);border-bottom:1px solid var(--mf-border);box-shadow:0 10px 28px rgba(17,17,17,.04)}
.mf-tariff-head>div,.mf-tariff-head>button{min-height:84px;padding:15px 18px;border:0;background:transparent;text-align:left;display:flex;flex-direction:column;justify-content:center}
.mf-tariff-head>div small{color:var(--mf-muted);font-size:11px;margin-top:4px}
.mf-tariff-head>button{border-left:1px solid var(--mf-border);transition:background .18s ease}
.mf-tariff-head>button:hover{background:#f7f7f3}
.mf-tariff-head>button.is-recommended{background:var(--mf-purple-soft);color:var(--mf-purple)}
.mf-tariff-head>button>small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px;color:var(--mf-purple)}
.mf-tariff-head strong{font-size:17px;letter-spacing:-.03em}
.mf-tariff-head span{font-size:12px;color:var(--mf-muted);margin-top:3px}
.mf-tariff-group{border:0}
.mf-tariff-group+ .mf-tariff-group{border-top:1px solid var(--mf-border)}
.mf-tariff-group summary{list-style:none;min-height:82px;padding:0 18px;display:grid;grid-template-columns:42px 1fr 32px;gap:14px;align-items:center;background:#f5f5f1;cursor:pointer;user-select:none}
.mf-tariff-group summary::-webkit-details-marker{display:none}
.mf-tariff-group__icon{width:38px;height:38px;border-radius:12px;background:#fff;border:1px solid #e4e4dd;display:flex;align-items:center;justify-content:center;color:var(--mf-purple)}
.mf-tariff-group__icon svg{width:19px;height:19px}
.mf-tariff-group summary>span:nth-child(2){display:flex;flex-direction:column}
.mf-tariff-group summary strong{font-size:18px;letter-spacing:-.03em}
.mf-tariff-group summary small{font-size:11px;color:var(--mf-muted);margin-top:2px}
.mf-tariff-group__chevron{justify-self:end;transition:transform .18s ease}
.mf-tariff-group__chevron svg{width:18px;height:18px}
.mf-tariff-group[open] .mf-tariff-group__chevron{transform:rotate(180deg)}
.mf-tariff-row{display:grid;grid-template-columns:minmax(430px,1.75fr) repeat(3,var(--plan-col));align-items:stretch;transition:background .16s ease}
.mf-tariff-row+.mf-tariff-row{border-top:1px solid #ecece7}
.mf-tariff-row:hover{background:#fffced}
.mf-tariff-row__criterion{padding:17px 18px;font-size:13px;line-height:1.45;white-space:normal}
.mf-tariff-cell{min-height:62px;padding:12px 15px;border-left:1px solid #ecece7;display:flex;align-items:center;justify-content:flex-start;gap:9px;flex-wrap:wrap}
.mf-tariff-cell.is-recommended{background:rgba(242,236,251,.55)}
.mf-tariff-row:hover .mf-tariff-cell.is-recommended{background:rgba(237,224,255,.72)}
.mf-tariff-status{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.mf-tariff-status svg{width:15px;height:15px;stroke-width:2.4}
.mf-tariff-status--yes{background:#eaf6ef;color:var(--mf-success)}
.mf-tariff-status--no{background:#f1f1ee;color:#7b7b76}
.mf-tariff-cell small{font-size:10px;line-height:1.3;color:var(--mf-muted);max-width:105px}
.mf-tariff-cta{margin-top:42px;padding:34px 0;border-top:1px solid var(--mf-border);display:flex;align-items:center;justify-content:space-between;gap:30px}
.mf-tariff-cta h3{font-size:clamp(28px,3vw,44px);line-height:1.05;max-width:800px}
.mf-tariff-cta .mf-kicker{margin-bottom:10px}


/* Deck mechanics and tariff routes */
.mf-money-nowrap,.mf-plan-card b,.mf-tariff-head>button span{white-space:nowrap}

.mf-slide__grid--plans{grid-template-columns:minmax(300px,.58fr) minmax(0,1.42fr);grid-template-rows:1fr auto;align-content:center;gap:34px 46px}
.mf-plans-intro{grid-row:1/3;align-self:center;max-width:500px}
.mf-plans-intro h2{font-size:clamp(44px,4.4vw,70px)}
.mf-plans-intro .mf-lead{margin:24px 0 0;color:var(--mf-muted);font-size:17px;max-width:460px}
.mf-plan-cards--slide{grid-column:2;margin:0;align-self:center}
.mf-plan-cards--slide .mf-plan-card{min-height:300px}
.mf-plans-compare-link{grid-column:2;justify-self:start;margin-top:4px}

@media (min-width:901px){
  .mf-story.is-deck-ready{position:relative;padding-top:calc(var(--mf-header-h) + 18px);padding-bottom:0}
  .mf-story__deck{position:sticky;top:calc(var(--mf-header-h) + 18px);height:calc(100vh - var(--mf-header-h) - 36px);width:100%;overflow:visible}
  .mf-story.is-deck-ready .mf-stage,.mf-story.is-deck-ready .mf-stage--final{position:absolute;inset:0;height:100%;min-height:0;padding:0 var(--mf-gutter);margin:0}
  .mf-story.is-deck-ready .mf-slide{position:relative;top:auto;height:100%;min-height:0;margin:0 auto;transform-origin:center top;transition:none;will-change:transform,opacity,filter}
  .mf-story.is-deck-ready .mf-stage[aria-hidden="true"]{visibility:visible}
}

.mf-tariffs-page{background:#fff}
.mf-tariffs-hero{padding:calc(var(--mf-header-h) + 66px) var(--mf-gutter) 76px;background:var(--mf-warm)}
.mf-tariffs-hero__inner,.mf-tariff-comparison__inner{width:min(1320px,100%);margin:0 auto}
.mf-tariffs-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:42px;color:var(--mf-muted);font-size:13px;font-weight:640}
.mf-tariffs-back svg{width:16px;height:16px;transition:transform .18s}
.mf-tariffs-back:hover svg{transform:translateX(-3px)}
.mf-tariffs-hero__copy{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.55fr);gap:64px;align-items:end}
.mf-tariffs-hero h1{margin:0;max-width:940px;font-size:clamp(54px,6.2vw,92px);line-height:.93;letter-spacing:-.065em;font-weight:760}
.mf-tariffs-hero__aside>p{margin:0;color:var(--mf-muted);font-size:15px;line-height:1.6}
.mf-tariffs-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:26px}
.mf-tariffs-facts span{padding-top:14px;border-top:1px solid rgba(17,17,17,.18);display:flex;flex-direction:column}
.mf-tariffs-facts strong{font-size:30px;line-height:1;letter-spacing:-.05em}
.mf-tariffs-facts small{margin-top:6px;color:var(--mf-muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.mf-plan-cards--tariffs-page{margin-top:54px;margin-bottom:0}
.mf-plan-cards--tariffs-page .mf-plan-card{min-height:280px}
.mf-tariffs-guide{margin-top:22px;padding:24px 26px;border:1px solid rgba(17,17,17,.12);border-radius:20px;display:grid;grid-template-columns:.55fr repeat(3,1fr);gap:22px;background:rgba(255,255,255,.42)}
.mf-tariffs-guide__label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--mf-purple);font-weight:720}
.mf-tariffs-guide strong{font-size:13px;letter-spacing:-.02em}
.mf-tariffs-guide p{margin:7px 0 0;color:var(--mf-muted);font-size:12px;line-height:1.45}

.mf-tariff-comparison{padding:88px var(--mf-gutter) 118px;background:#fff}
.mf-tariff-comparison__intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:64px;align-items:end;margin-bottom:38px}
.mf-tariff-comparison__intro h2{margin:0;max-width:900px;font-size:clamp(44px,4.8vw,72px);line-height:.98;letter-spacing:-.055em;font-weight:760}
.mf-tariff-comparison__intro>p{margin:0;color:var(--mf-muted);font-size:15px;line-height:1.6}
.mf-tariff-table--cards{border:0}
.mf-tariff-head--page{top:calc(var(--mf-header-h) + 10px);border:1px solid var(--mf-border);border-radius:18px;overflow:hidden;box-shadow:0 12px 32px rgba(17,17,17,.07)}
.mf-tariff-groups{display:grid;gap:18px;margin-top:18px}
.mf-tariff-group--card{border:1px solid var(--mf-border);border-radius:22px;overflow:clip;background:#fff;box-shadow:0 12px 32px rgba(17,17,17,.035)}
.mf-tariff-group--card+ .mf-tariff-group--card{border-top:1px solid var(--mf-border)}
.mf-tariff-group--card summary{min-height:104px;padding:0 22px;grid-template-columns:46px minmax(0,1fr) auto 30px;gap:16px;background:#f6f6f2}
.mf-tariff-group--card .mf-tariff-group__icon{width:42px;height:42px;border-radius:13px}
.mf-tariff-group__title{display:flex;flex-direction:column;min-width:0}
.mf-tariff-group--card summary .mf-tariff-group__title strong{font-size:21px;line-height:1.1}
.mf-tariff-group--card summary .mf-tariff-group__title small{max-width:820px;margin-top:7px;color:var(--mf-muted);font-size:13px;line-height:1.45;text-transform:none;letter-spacing:0}
.mf-tariff-group__count{padding:8px 11px;border:1px solid #deded7;border-radius:999px;background:#fff;color:var(--mf-muted);font-size:10px;font-weight:650;white-space:nowrap}
.mf-tariff-group--card .mf-tariff-row__criterion{padding:20px 22px;font-size:15px;line-height:1.5}
.mf-tariff-group--card .mf-tariff-cell{min-height:72px;padding:15px 18px}
.mf-tariff-group--card .mf-tariff-cell small{max-width:135px;font-size:12px;line-height:1.4}
.mf-tariff-cta--page{margin-top:52px;padding:40px 0 0}
.mf-tariff-cta--page h3{max-width:880px}

/* Footer */
.mf-footer{background:#111;color:#fff;padding:68px var(--mf-gutter) 24px}
.mf-footer__inner,.mf-footer__bottom{width:min(var(--mf-page),100%);margin:auto}
.mf-footer__inner{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:48px;padding-bottom:46px}
.mf-brand--footer .mf-brand__text small{color:#aaa}
.mf-footer__brand p{max-width:500px;margin:20px 0 0;color:#909090;font-size:14px;line-height:1.55}
.mf-footer__contacts,.mf-footer__legal{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.mf-footer__label{margin:0 0 7px;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.mf-footer__contacts a,.mf-footer__contacts span,.mf-footer__legal a,.mf-footer__cookie{font-size:13px;color:#d0d0d0}
.mf-footer__contacts a:hover,.mf-footer__legal a:hover,.mf-footer__cookie:hover{color:var(--mf-yellow)}
.mf-footer__cookie{border:0;background:transparent;padding:0;cursor:pointer;text-align:left}
.mf-footer__bottom{padding-top:22px;border-top:1px solid #2a2a2a;display:flex;justify-content:space-between;gap:20px;color:#666;font-size:11px}

/* Cookie / floating controls */
.mf-cookie{position:fixed;left:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:190;width:min(620px,calc(100vw - 40px));padding:18px;display:grid;grid-template-columns:1fr auto;gap:18px;background:rgba(255,255,255,.98);border:1px solid #d8d8d2;border-radius:18px;box-shadow:0 22px 55px rgba(17,17,17,.16);backdrop-filter:blur(14px)}
.mf-cookie strong{font-size:14px}
.mf-cookie p{margin:5px 0 2px;font-size:12px;color:var(--mf-muted);line-height:1.45}
.mf-cookie a{font-size:11px;color:var(--mf-purple);font-weight:650}
.mf-cookie__actions{display:flex;align-items:center;gap:8px}
.mf-cookie .mf-button{min-height:42px;padding:0 14px;font-size:12px;border-radius:14px}
.mf-float-button{position:fixed;z-index:170;border:0;box-shadow:0 14px 34px rgba(17,17,17,.16);transition:transform .18s ease,bottom .25s ease,background .18s ease}
.mf-float-button:hover{transform:translateY(-3px)}
.mf-float-button--chat{right:20px;bottom:calc(max(20px,env(safe-area-inset-bottom)) + var(--mf-cookie-offset));min-height:50px;padding:0 18px;border-radius:18px;background:var(--mf-purple);color:#fff;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:680}
.mf-float-button--chat svg{width:18px;height:18px}
.mf-float-button--top{right:20px;bottom:calc(max(82px,env(safe-area-inset-bottom) + 62px) + var(--mf-cookie-offset));width:50px;height:50px;border-radius:18px;background:#fff;color:#111;display:flex;align-items:center;justify-content:center}
.mf-float-button--top svg{width:19px;height:19px}

/* Modal */
.mf-modal{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;padding:24px}
.mf-modal__backdrop{position:absolute;inset:0;background:rgba(17,17,17,.62);backdrop-filter:blur(9px)}
.mf-modal__dialog{position:relative;z-index:1;width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:26px;padding:38px;box-shadow:0 35px 90px rgba(0,0,0,.28)}
.mf-modal__close{position:absolute;right:20px;top:20px;width:42px;height:42px;border:0;border-radius:14px;background:#f1f1ee;display:flex;align-items:center;justify-content:center}
.mf-modal__close svg{width:19px;height:19px}
.mf-modal__intro{max-width:620px;padding-right:44px}
.mf-modal__intro h2{margin:0;font-size:clamp(32px,4.3vw,50px);line-height:1;letter-spacing:-.05em}
.mf-modal__intro p{margin:14px 0 0;color:var(--mf-muted);font-size:14px;line-height:1.5}
.mf-lead-form{margin-top:28px}
.mf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mf-lead-form label>span:not(.mf-check span){display:block;margin-bottom:7px;font-size:12px;font-weight:650}
.mf-lead-form input[type="text"],.mf-lead-form input[type="tel"],.mf-lead-form input[type="email"],.mf-lead-form textarea{width:100%;border:1px solid #cecec8;background:#fff;border-radius:14px;padding:0 14px;transition:border .18s ease,box-shadow .18s ease;font-size:16px}
.mf-lead-form input[type="text"],.mf-lead-form input[type="tel"],.mf-lead-form input[type="email"]{height:50px}
.mf-lead-form textarea{padding-top:13px;resize:vertical;min-height:94px}
.mf-lead-form input:focus,.mf-lead-form textarea:focus{outline:0;border-color:var(--mf-purple);box-shadow:0 0 0 4px rgba(72,2,162,.08)}
.mf-lead-form input.is-invalid{border-color:var(--mf-danger);box-shadow:0 0 0 4px rgba(154,45,45,.08)}
.mf-form-message{display:block;margin-top:14px}
.mf-check{margin-top:14px;display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;color:var(--mf-muted);font-size:11px;line-height:1.45}
.mf-check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--mf-purple)}
.mf-check a{color:var(--mf-purple);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.mf-form-footer{margin-top:20px;display:flex;align-items:center;gap:16px;min-height:52px}
.mf-form-status{margin:0;font-size:12px;color:var(--mf-muted)}
.mf-form-status.is-error{color:var(--mf-danger)}
.mf-form-status.is-success{color:var(--mf-success)}
.mf-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

/* Legal / simple pages */
.mf-legal,.mf-simple-page{min-height:100vh;padding:calc(var(--mf-header-h) + 70px) var(--mf-gutter) 100px;background:#fff}
.mf-legal__inner,.mf-simple-page__inner{width:min(1000px,100%);margin:auto}
.mf-legal__back{display:inline-block;margin-bottom:44px;color:var(--mf-muted);font-size:13px}
.mf-legal h1,.mf-simple-page h1{font-size:clamp(44px,6vw,76px);line-height:.96;max-width:900px}
.mf-legal-sections{margin-top:48px;max-width:820px}
.mf-legal-sections section{padding:30px 0}
.mf-legal-sections section+section{border-top:1px solid var(--mf-border)}
.mf-legal h2{font-size:28px;line-height:1.08;margin-bottom:14px}
.mf-legal p,.mf-legal li,.mf-reading-content{font-size:15px;line-height:1.7;color:#4f4f4f}
.mf-legal p{margin:0 0 12px}
.mf-legal ul{padding-left:20px;margin:12px 0}
.mf-legal li+li{margin-top:6px}
.mf-legal a:not(.mf-button):not(.mf-legal__back){color:var(--mf-purple);text-decoration:underline;text-underline-offset:3px}
.mf-requisites{margin:0}
.mf-requisites>div{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:13px 0}
.mf-requisites>div+div{border-top:1px solid var(--mf-border)}
.mf-requisites dt{color:var(--mf-muted);font-size:13px}
.mf-requisites dd{margin:0;font-size:14px;font-weight:610;overflow-wrap:anywhere}
.mf-simple-page__inner>p{color:var(--mf-muted);max-width:620px;font-size:17px;margin:20px 0 28px}
.mf-thank-you{padding:30px 0 80px;max-width:740px}
.mf-thank-you__icon{width:58px;height:58px;border-radius:50%;background:var(--mf-yellow);display:flex;align-items:center;justify-content:center;margin-bottom:26px}
.mf-thank-you__icon svg{width:26px;height:26px;stroke-width:2.5}
.mf-thank-you>p{font-size:17px;max-width:620px;margin:24px 0 28px}

/* Entrance motion */
[data-photo],.mf-index-row,.mf-inside-grid>div,.mf-start-detail,.mf-steps li{opacity:.001;transform:translateY(16px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
[data-photo].is-visible,.mf-index-row.is-visible,.mf-inside-grid>div.is-visible,.mf-start-detail.is-visible,.mf-steps li.is-visible{opacity:1;transform:translateY(0)}
.mf-photo-placeholder.is-visible:hover{transform:scale(1.018) rotate(-.35deg)}

@media (max-width:1180px){
  :root{--mf-header-h:72px}
  .mf-nav{display:none}
  .mf-header__phone span{display:none}
  .mf-slide__grid{padding-left:42px;padding-right:42px}
  .mf-slide__grid--hero{grid-template-columns:1.12fr .88fr}
  .mf-hero-copy h1{font-size:clamp(60px,7vw,88px)}
  .mf-money-metrics{grid-template-columns:1fr}
  .mf-money-metrics>div+div{border-left:0;border-top:1px solid rgba(17,17,17,.3);padding-left:0}
  .mf-money-metrics>div{padding:13px 0}
  .mf-money-metrics small{max-width:320px}
  .mf-tariffs__intro{grid-template-columns:.45fr 1.2fr}.mf-tariffs__intro>p:last-child{grid-column:2}
  .mf-tariff-table{--plan-col:minmax(132px,.48fr)}
  .mf-tariff-head,.mf-tariff-row{grid-template-columns:minmax(330px,1.6fr) repeat(3,var(--plan-col))}
}

@media (max-width:900px){
  .mf-header__inner{width:calc(100% - 32px);gap:10px}
  .mf-header__actions{margin-left:auto}
  .mf-header__phone{display:none}
  .mf-header .mf-button--compact{display:none}
  .mf-menu-toggle{display:flex}
  .mf-story{padding-top:calc(var(--mf-header-h) + 10px);padding-bottom:70px}
  .mf-stage,.mf-stage--final{height:auto;min-height:0;padding:0 14px;margin-bottom:12px}
  .mf-slide{position:relative;top:auto;height:auto;min-height:0;border-radius:22px;overflow:hidden;transform:none!important;filter:none!important}
  .mf-slide__meta{top:18px;left:20px;right:20px}
  .mf-slide__meta span:last-child{display:none}
  .mf-slide__grid{min-height:auto;padding:70px 22px 34px;display:grid;grid-template-columns:1fr;gap:34px}
  .mf-slide h2{font-size:clamp(38px,10vw,62px)}
  .mf-slide__grid--hero{grid-template-columns:1fr;padding-top:76px}
  .mf-hero-copy h1{font-size:clamp(56px,12vw,72px);line-height:.82}.mf-hero-line-sub{font-size:.72em}
  .mf-hero-lead{font-size:17px;margin-top:24px}
  .mf-hero-note{font-size:14px}
  .mf-photo-stack{height:380px;transform:none}
  .mf-scroll-cue{display:none}
  .mf-proof-column{border-left:0;border-top:1px solid var(--mf-border);padding:28px 0 0}
  .mf-big-number strong{font-size:clamp(58px,15vw,94px)}
  .mf-proof-split{grid-template-columns:.8fr 1.2fr}
  .mf-slide__grid--history{grid-template-columns:1fr;grid-template-rows:auto;padding-top:70px}
  .mf-history-line{grid-template-columns:1fr}
  .mf-history-line>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.25);padding-left:0}
  .mf-history-line>div{min-height:110px;grid-template-columns:120px 1fr}
  .mf-history-line span{grid-column:1/3}
  .mf-airex-band{grid-template-columns:1fr}
  .mf-photo-placeholder--wide{min-height:230px}
  .mf-slide__grid--system,.mf-slide__grid--money,.mf-slide__grid--inside,.mf-slide__grid--start,.mf-slide__grid--steps{grid-template-columns:1fr}
  .mf-money-metrics{grid-template-columns:repeat(3,1fr)}
  .mf-money-metrics>div+div{border-top:0;border-left:1px solid rgba(17,17,17,.3);padding-left:14px}
  .mf-money-metrics>div{padding:16px 10px 16px 0}
  .mf-money-table-wrap{transform:none}.mf-money-table,.mf-fineprint{transform:none}
  .mf-slide__grid--inside .mf-text-link{grid-column:1}
  .mf-start-detail{grid-template-columns:44px .8fr 1.2fr}
  .mf-slide--gallery{padding:66px 20px 28px;display:block}
  .mf-gallery-head{grid-template-columns:1fr}.mf-gallery-head .mf-kicker{margin-bottom:-10px}.mf-gallery-head h2{font-size:clamp(38px,9vw,58px)}
  .mf-object-wall{height:540px;grid-template-columns:1fr 1fr;margin-top:22px}.mf-object-wall__a{grid-row:1;grid-column:1}.mf-object-wall__b{grid-row:1;grid-column:2}.mf-object-wall__c{grid-row:2;grid-column:1}.mf-object-wall__d{grid-row:2;grid-column:2}.mf-object-wall blockquote{width:min(430px,70%);right:7%;bottom:5%}
  .mf-final-grid{min-height:620px;grid-template-columns:1fr;padding:82px 24px 70px}.mf-final-grid h2{font-size:clamp(58px,13vw,88px)}.mf-final-side{gap:16px}.mf-russia-map{max-width:620px}.mf-final-contacts{align-self:start;padding-bottom:0}.mf-final-arrow{left:24px;right:24px}
  .mf-tariffs{padding-left:16px;padding-right:16px}
  .mf-tariffs__intro{display:block}.mf-tariffs__intro h2{font-size:clamp(42px,9vw,66px);margin-top:12px}.mf-tariffs__intro>p:last-child{margin-top:20px}
  .mf-plan-cards{grid-template-columns:1fr}.mf-plan-card{min-height:220px}.mf-plan-card--recommended{transform:none}.mf-plan-card--recommended:hover{transform:translateY(-6px)}
  .mf-tariff-mobile-switch{display:grid;position:sticky;top:var(--mf-header-h);z-index:35;grid-template-columns:repeat(3,1fr);margin-top:24px;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border:1px solid var(--mf-border);border-radius:16px;padding:4px;box-shadow:0 10px 28px rgba(17,17,17,.07)}
  .mf-tariff-mobile-switch button{border:0;background:transparent;border-radius:12px;padding:10px 6px;font-size:12px;font-weight:720;display:flex;flex-direction:column;align-items:center;gap:2px}.mf-tariff-mobile-switch button small{font-size:9px;color:var(--mf-muted)}.mf-tariff-mobile-switch button.is-active{background:var(--mf-purple);color:#fff}.mf-tariff-mobile-switch button.is-active small{color:rgba(255,255,255,.7)}
  .mf-tariff-table{margin-top:12px}
  .mf-tariff-head{display:none}
  .mf-tariff-group summary{min-height:72px;padding:0 12px;grid-template-columns:36px 1fr 26px}.mf-tariff-group__icon{width:34px;height:34px}
  .mf-tariff-row{grid-template-columns:1fr auto;min-height:68px}
  .mf-tariff-row__criterion{padding:15px 12px;font-size:12px}
  .mf-tariff-cell{display:none;border-left:0;padding:12px;min-width:74px;justify-content:flex-end;background:transparent!important}
  .mf-tariff-table[data-active-plan="start"] .mf-tariff-cell--start,.mf-tariff-table[data-active-plan="profi"] .mf-tariff-cell--profi,.mf-tariff-table[data-active-plan="boss"] .mf-tariff-cell--boss{display:flex}
  .mf-tariff-cell small{max-width:105px;text-align:right}
  .mf-tariff-cta{align-items:flex-start;flex-direction:column}.mf-tariff-cta .mf-button{width:100%}
  .mf-footer__inner{grid-template-columns:1fr 1fr}.mf-footer__brand{grid-column:1/3}.mf-footer__bottom{flex-direction:column}
}

@media (max-width:620px){
  :root{--mf-gutter:16px}
  body{font-size:15px}
  .mf-brand img{width:38px;height:38px}.mf-brand__text strong{font-size:14px}.mf-brand__text small{font-size:9px}
  .mf-slide{border-radius:18px;box-shadow:0 14px 36px rgba(17,17,17,.1)}
  .mf-slide__grid{padding:64px 18px 26px;gap:28px}
  .mf-slide__meta{left:18px;top:17px}
  .mf-kicker{font-size:10px;margin-bottom:12px}
  .mf-hero-copy h1{font-size:clamp(52px,12.5vw,58px)}.mf-hero-line-sub{font-size:.72em;letter-spacing:-.075em}
  .mf-hero-actions{flex-direction:column}.mf-hero-actions .mf-button{width:100%}
  .mf-photo-stack{height:320px;gap:7px}
  .mf-photo-placeholder span{left:12px;bottom:30px;font-size:11px}.mf-photo-placeholder small{left:12px;bottom:12px;font-size:8px}.mf-photo-placeholder:after{top:10px;right:10px;font-size:8px}
  .mf-proof-split{grid-template-columns:1fr}.mf-mini-photo{min-height:210px}
  .mf-history-line>div{grid-template-columns:95px 1fr;padding:16px 0}.mf-history-line strong{font-size:52px}
  .mf-airex-band h3{font-size:56px}
  .mf-system-intro blockquote{font-size:16px}
  .mf-index-row{grid-template-columns:42px 1fr;padding:15px 0}.mf-index-row h3{font-size:24px}
  .mf-money-head h2{font-size:56px}.mf-money-metrics{grid-template-columns:1fr}.mf-money-metrics>div+div{border-left:0;border-top:1px solid rgba(17,17,17,.3);padding-left:0}.mf-money-metrics strong{font-size:30px}.mf-money-table-wrap{padding:20px 16px}.mf-money-row{grid-template-columns:.72fr .85fr 1.05fr;gap:8px;font-size:12px}.mf-money-row--head{font-size:8px}.mf-money-row strong:last-child{font-size:18px}.mf-fineprint{font-size:9px}
  .mf-inside-grid{grid-template-columns:1fr}.mf-inside-grid>div,.mf-inside-grid>div:nth-child(even),.mf-inside-grid>div:last-child{grid-column:1;border-left:0!important;padding:16px 0!important}.mf-inside-grid>div+div{border-top:1px solid var(--mf-border)}.mf-inside-grid strong{font-size:18px}
  .mf-start-detail{grid-template-columns:36px 1fr}.mf-start-detail h3{font-size:20px}.mf-start-detail p{grid-column:2}
  .mf-slide--gallery{padding:62px 14px 20px}.mf-object-wall{height:460px;gap:7px}.mf-object-wall blockquote{width:82%;padding:16px;font-size:17px;right:4%}
  .mf-bonus{padding:24px}.mf-bonus>strong{font-size:58px}
  .mf-steps li{grid-template-columns:42px 1fr;gap:10px}.mf-steps strong{font-size:17px}
  .mf-final-grid{min-height:600px;padding:70px 20px 66px}.mf-final-grid h2{font-size:clamp(52px,15vw,72px)}.mf-final-grid .mf-lead{font-size:16px}.mf-russia-map{padding:15px 14px 12px;border-radius:20px}.mf-russia-map__intro{display:block;margin-bottom:10px}.mf-russia-map__intro strong{display:block;margin-top:4px;font-size:14px}.mf-final-contacts a,.mf-final-contacts span{font-size:14px}
  .mf-tariffs{padding-top:78px;padding-bottom:80px}.mf-tariffs__intro{margin-bottom:34px}.mf-tariffs__intro h2{font-size:42px}.mf-plan-card{padding:22px;min-height:205px;border-radius:18px}.mf-plan-card strong{font-size:34px}
  .mf-tariff-group summary strong{font-size:15px}.mf-tariff-group summary small{font-size:9px}.mf-tariff-row__criterion{font-size:11px;line-height:1.4}.mf-tariff-status{width:26px;height:26px}.mf-tariff-cell small{font-size:9px}
  .mf-cookie{left:10px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100vw - 20px);grid-template-columns:1fr;padding:14px;border-radius:16px}.mf-cookie__actions{display:grid;grid-template-columns:1fr 1fr}.mf-cookie .mf-button{width:100%;padding:0 8px}
  .mf-float-button--chat{right:10px;bottom:calc(max(10px,env(safe-area-inset-bottom)) + var(--mf-cookie-offset));min-height:48px;padding:0 14px}.mf-float-button--chat span{display:none}.mf-float-button--top{right:10px;bottom:calc(max(68px,env(safe-area-inset-bottom) + 58px) + var(--mf-cookie-offset));width:48px;height:48px}
  .mf-modal{align-items:flex-end;padding:0}.mf-modal__dialog{width:100%;max-height:92vh;border-radius:24px 24px 0 0;padding:28px 18px max(24px,env(safe-area-inset-bottom))}.mf-modal__close{right:14px;top:14px}.mf-modal__intro{padding-right:38px}.mf-modal__intro h2{font-size:34px}.mf-form-grid{grid-template-columns:1fr}.mf-form-footer{flex-direction:column;align-items:stretch}.mf-form-footer .mf-button{width:100%}
  .mf-footer{padding:52px 16px 22px}.mf-footer__inner{grid-template-columns:1fr;gap:32px}.mf-footer__brand{grid-column:1}.mf-footer__bottom{font-size:10px}
  .mf-legal,.mf-simple-page{padding:calc(var(--mf-header-h) + 50px) 16px 70px}.mf-legal__back{margin-bottom:30px}.mf-legal h1,.mf-simple-page h1{font-size:42px}.mf-legal-sections{margin-top:34px}.mf-legal-sections section{padding:24px 0}.mf-legal h2{font-size:23px}.mf-requisites>div{grid-template-columns:1fr;gap:3px;padding:11px 0}
}


@media (max-width:900px){
  .mf-slide__grid--plans{grid-template-columns:1fr;grid-template-rows:auto;gap:28px}
  .mf-plans-intro,.mf-plan-cards--slide,.mf-plans-compare-link{grid-column:1;grid-row:auto}
  .mf-plans-compare-link{width:100%}
  .mf-plans-intro h2{font-size:clamp(38px,10vw,58px)}
  .mf-plan-cards--slide .mf-plan-card{min-height:205px}
  .mf-tariffs-hero{padding:calc(var(--mf-header-h) + 42px) 16px 64px}
  .mf-tariffs-back{margin-bottom:30px}
  .mf-tariffs-hero__copy,.mf-tariff-comparison__intro{grid-template-columns:1fr;gap:24px}
  .mf-tariffs-hero h1{font-size:clamp(46px,10.5vw,68px)}
  .mf-plan-cards--tariffs-page{margin-top:36px}
  .mf-tariffs-guide{grid-template-columns:1fr;gap:16px;padding:20px}
  .mf-tariffs-guide>div{padding-top:14px;border-top:1px solid rgba(17,17,17,.12)}
  .mf-tariff-comparison{padding:70px 16px 88px}
  .mf-tariff-comparison__intro h2{font-size:clamp(38px,9vw,56px)}
  .mf-tariff-table--cards{margin-top:12px}
  .mf-tariff-groups{gap:14px;margin-top:14px}
  .mf-tariff-group--card{border-radius:18px}
  .mf-tariff-group--card summary{min-height:88px;padding:13px 14px;grid-template-columns:38px minmax(0,1fr) 24px;gap:11px}
  .mf-tariff-group--card .mf-tariff-group__icon{width:36px;height:36px}
  .mf-tariff-group--card summary .mf-tariff-group__title strong{font-size:17px}
  .mf-tariff-group--card summary .mf-tariff-group__title small{font-size:11px;line-height:1.4;margin-top:5px}
  .mf-tariff-group__count{display:none}
  .mf-tariff-group--card .mf-tariff-row__criterion{padding:17px 14px;font-size:13px;line-height:1.48}
  .mf-tariff-group--card .mf-tariff-cell{padding:13px 14px;min-width:88px}
  .mf-tariff-group--card .mf-tariff-cell small{max-width:120px;font-size:11px;line-height:1.35}
  .mf-tariff-cta--page{margin-top:38px;padding-top:30px}
}

@media (max-width:620px){
  .mf-plan-card--recommended .mf-plan-card__eyebrow{padding-right:104px}
  .mf-tariffs-facts strong{font-size:26px}
  .mf-tariffs-facts small{font-size:9px}
  .mf-tariffs-hero__aside>p,.mf-tariff-comparison__intro>p{font-size:14px}
  .mf-plan-cards--tariffs-page .mf-plan-card{min-height:205px}
  .mf-tariff-group--card .mf-tariff-row__criterion{font-size:13px}
  .mf-tariff-group--card .mf-tariff-cell small{font-size:10px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-photo],.mf-index-row,.mf-inside-grid>div,.mf-start-detail,.mf-steps li{opacity:1;transform:none}
  .mf-slide{transform:none!important;filter:none!important}
}

/* v2.0.3 — floating side navigation, crisp deck, floating footer and selling tariff comparison */
:root{--mf-header-h:0px}
html{scroll-padding-top:28px}

/* Floating navigation instead of a full-width header */
.mf-header{position:fixed;inset:0;z-index:145;height:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;pointer-events:none;transition:none}
.mf-header.is-scrolled{background:transparent;box-shadow:none}
.mf-side-header{position:fixed;right:clamp(12px,1.4vw,24px);top:50%;z-index:146;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:auto}
.mf-side-brand{position:relative;width:54px;height:54px;border-radius:19px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.96);border:1px solid rgba(17,17,17,.1);box-shadow:0 14px 34px rgba(17,17,17,.12);transition:transform .18s ease,box-shadow .18s ease}
.mf-side-brand:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(17,17,17,.15)}
.mf-side-brand img{width:40px;height:40px}
.mf-side-brand>span{position:absolute;right:calc(100% + 10px);top:50%;transform:translate(8px,-50%);opacity:0;pointer-events:none;white-space:nowrap;padding:9px 11px;border-radius:11px;background:#111;color:#fff;font-size:12px;font-weight:650;box-shadow:0 10px 28px rgba(17,17,17,.18);transition:opacity .16s ease,transform .16s ease}
.mf-side-brand:hover>span,.mf-side-brand:focus-visible>span{opacity:1;transform:translate(0,-50%)}
.mf-side-nav{display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid rgba(17,17,17,.1);border-radius:23px;background:rgba(255,255,255,.94);box-shadow:0 18px 44px rgba(17,17,17,.12);backdrop-filter:blur(14px)}
.mf-side-nav>a,.mf-side-nav>button{position:relative;width:46px;height:46px;padding:0;border:0;border-radius:16px;background:transparent;color:#111;display:flex;align-items:center;justify-content:center;transition:background .16s ease,color .16s ease,transform .16s ease}
.mf-side-nav>a:hover,.mf-side-nav>button:hover{background:#f1f0eb;transform:translateX(-2px)}
.mf-side-nav__icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:inherit}
.mf-side-nav__icon svg{width:19px;height:19px;stroke-width:1.9}
.mf-side-nav__icon--accent{background:var(--mf-yellow)}
.mf-side-nav__label{position:absolute;right:calc(100% + 10px);top:50%;transform:translate(8px,-50%);opacity:0;pointer-events:none;white-space:nowrap;padding:9px 11px;border-radius:11px;background:#111;color:#fff;font-size:12px;font-weight:650;box-shadow:0 10px 28px rgba(17,17,17,.18);transition:opacity .16s ease,transform .16s ease}
.mf-side-nav>a:hover .mf-side-nav__label,.mf-side-nav>a:focus-visible .mf-side-nav__label,.mf-side-nav>button:hover .mf-side-nav__label,.mf-side-nav>button:focus-visible .mf-side-nav__label{opacity:1;transform:translate(0,-50%)}
.mf-mobile-header{display:none}
.mf-mobile-menu{pointer-events:auto}

/* Slides become larger; the active sheet is kept on whole pixels with no scale/filter to preserve sharp text */
.mf-progress{top:0;height:3px;z-index:142}
.mf-story{padding-top:18px;background:var(--mf-warm)}
.mf-stage{padding-left:clamp(12px,1.35vw,20px);padding-right:clamp(12px,1.35vw,20px)}
.mf-slide{top:18px;width:min(1540px,100%);height:calc(100vh - 36px);transition:box-shadow .2s linear;will-change:auto}
@media (min-width:901px){
  .mf-story.is-deck-ready{padding-top:18px}
  .mf-story__deck{top:18px;height:calc(100vh - 36px)}
  .mf-story.is-deck-ready .mf-stage,.mf-story.is-deck-ready .mf-stage--final{padding-left:clamp(12px,1.35vw,20px);padding-right:clamp(12px,1.35vw,20px)}
  .mf-story.is-deck-ready .mf-slide{width:min(1540px,100%);transform-origin:center top;transition:none;will-change:auto;filter:none!important}
  .mf-float-button--chat{display:none}
}

/* Floating closing panel instead of a full-width footer */
.mf-footer{background:var(--mf-warm);color:#fff;padding:clamp(120px,12vw,210px) var(--mf-gutter) 28px}
.mf-footer__panel{width:min(1500px,100%);margin:0 auto;background:#111;border-radius:30px;padding:clamp(30px,4vw,58px);box-shadow:0 24px 70px rgba(17,17,17,.16)}
.mf-footer__lead{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.25fr) auto;gap:38px;align-items:center;padding-bottom:38px}
.mf-footer__brand{display:inline-flex;align-items:center;gap:13px;min-width:0}
.mf-footer__brand img{width:58px;height:58px}
.mf-footer__brand>span{display:flex;flex-direction:column;line-height:1.04}
.mf-footer__brand strong{font-size:18px;letter-spacing:-.03em}
.mf-footer__brand small{margin-top:5px;color:#8a8a8a;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:650}
.mf-footer__lead>p{max-width:650px;margin:0;color:#a5a5a5;font-size:15px;line-height:1.6}
.mf-footer__rail{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding:34px 0;border-top:1px solid #2b2b2b;border-bottom:1px solid #2b2b2b}
.mf-footer__contacts,.mf-footer__legal{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.mf-footer__contacts a,.mf-footer__site{display:inline-flex;align-items:center;gap:9px;color:#d2d2d2;font-size:13px}
.mf-footer__contacts svg,.mf-footer__site svg{width:16px;height:16px;color:var(--mf-yellow)}
.mf-footer__label{margin:0 0 4px;color:#707070;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.mf-footer__legal a,.mf-footer__cookie{color:#c7c7c7;font-size:13px}
.mf-footer__contacts a:hover,.mf-footer__legal a:hover,.mf-footer__cookie:hover{color:var(--mf-yellow)}
.mf-footer__cookie{border:0;background:transparent;padding:0;cursor:pointer;text-align:left}
.mf-footer__bottom{width:auto;margin:0;padding-top:22px;border:0;display:flex;justify-content:space-between;gap:20px;color:#666;font-size:11px}

/* Tariffs: no interface-instruction copy, stronger editorial hierarchy */
.mf-tariffs-hero{padding-top:66px}
.mf-tariff-comparison__intro{grid-template-columns:minmax(0,1fr);margin-bottom:34px}
.mf-tariff-comparison__intro h2{max-width:1040px}
.mf-tariff-table--cards{--plan-col:minmax(170px,.54fr)}

/* The sticky comparison control behaves like a floating tariff dock */
.mf-tariff-head--page{top:14px;z-index:50;padding:6px;gap:6px;border:0;border-radius:24px;overflow:visible;background:rgba(17,17,17,.94);box-shadow:0 18px 46px rgba(17,17,17,.16);backdrop-filter:blur(15px);grid-template-columns:minmax(430px,1.75fr) repeat(3,var(--plan-col))}
.mf-tariff-head--page>div,.mf-tariff-head--page>button{min-height:94px;border:0;border-radius:18px}
.mf-tariff-head--page>button{position:relative;padding:14px 16px;background:#fff;color:#111;align-items:flex-start;justify-content:center;gap:3px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.mf-tariff-head--page>button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.15)}
.mf-tariff-head--page>button.is-recommended{background:var(--mf-purple);color:#fff}
.mf-tariff-head__context{padding:16px 20px;background:transparent;color:#fff;display:flex;flex-direction:column;justify-content:center}
.mf-tariff-head__context>span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#888;font-weight:700}
.mf-tariff-head__context>strong{margin-top:5px;font-size:24px;line-height:1.05;letter-spacing:-.035em}
.mf-tariff-head__plan{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--mf-muted);font-weight:720}
.mf-tariff-head--page>button.is-recommended .mf-tariff-head__plan{color:rgba(255,255,255,.62)}
.mf-tariff-head--page>button strong{font-size:24px;line-height:1;letter-spacing:-.045em}
.mf-tariff-head--page>button>small:last-child{margin:2px 0 0;color:var(--mf-muted);font-size:10px;text-transform:none;letter-spacing:0}
.mf-tariff-head--page>button.is-recommended>small:last-child{color:rgba(255,255,255,.68)}
.mf-tariff-head__badge{position:absolute;top:-8px;right:10px;padding:5px 8px;border-radius:999px;background:var(--mf-yellow);color:#111;font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:760;box-shadow:0 6px 16px rgba(0,0,0,.16)}

/* Each semantic block is a large selling card; rows are feature cards, not spreadsheet lines */
.mf-tariff-groups{gap:22px;margin-top:22px}
.mf-tariff-group--card{border:1px solid #dddcd5;border-radius:28px;overflow:clip;background:#fff;box-shadow:0 14px 36px rgba(17,17,17,.045)}
.mf-tariff-group--card+ .mf-tariff-group--card{border-top:1px solid #dddcd5}
.mf-tariff-group--card summary{min-height:118px;padding:20px 24px;grid-template-columns:50px minmax(0,1fr) auto 30px;gap:18px;background:#f3f2ed}
.mf-tariff-group--card .mf-tariff-group__icon{width:46px;height:46px;border-radius:15px;background:#fff;box-shadow:0 6px 16px rgba(17,17,17,.05)}
.mf-tariff-group--card summary .mf-tariff-group__title strong{font-size:24px;line-height:1.08;letter-spacing:-.035em}
.mf-tariff-group--card summary .mf-tariff-group__title small{max-width:880px;margin-top:8px;font-size:14px;line-height:1.5}
.mf-tariff-group__count{padding:9px 12px;background:#fff;font-size:10px}
.mf-tariff-group__rows{display:grid;gap:8px;padding:12px}
.mf-tariff-group--card .mf-tariff-row{min-height:82px;border:1px solid transparent!important;border-radius:17px;background:#f8f8f5;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.mf-tariff-group--card .mf-tariff-row+.mf-tariff-row{border-top:1px solid transparent}
.mf-tariff-group--card .mf-tariff-row:hover{background:#fff;border-color:#ded9e7!important;transform:translateY(-1px);box-shadow:0 9px 24px rgba(17,17,17,.055)}
.mf-tariff-group--card .mf-tariff-row__criterion{padding:20px 22px;font-size:16px;line-height:1.5;display:flex;align-items:center}
.mf-tariff-group--card .mf-tariff-cell{min-height:82px;padding:14px 16px;border-left:8px solid #f8f8f5;background:#fff;align-content:center}
.mf-tariff-group--card .mf-tariff-cell.is-recommended{background:var(--mf-purple-soft)}
.mf-tariff-group--card .mf-tariff-row:hover .mf-tariff-cell{border-left-color:#fff}
.mf-tariff-group--card .mf-tariff-cell small{max-width:145px;font-size:12px;line-height:1.4}
.mf-tariff-status{width:31px;height:31px}

@media (max-width:900px){
  html{scroll-padding-top:16px}
  .mf-side-header{display:none}
  .mf-mobile-header{position:fixed;top:max(10px,env(safe-area-inset-top));right:10px;z-index:147;display:flex;align-items:center;gap:5px;padding:5px;border:1px solid rgba(17,17,17,.1);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(17,17,17,.12);backdrop-filter:blur(14px);pointer-events:auto}
  .mf-mobile-brand{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:13px}
  .mf-mobile-brand img{width:34px;height:34px}
  .mf-menu-toggle{display:flex;width:40px;height:40px;border-radius:13px}
  .mf-mobile-menu{position:fixed;top:calc(max(10px,env(safe-area-inset-top)) + 58px);right:10px;left:auto;width:min(330px,calc(100vw - 20px));border:1px solid var(--mf-border);border-radius:20px;background:#fff;box-shadow:0 22px 55px rgba(17,17,17,.16);overflow:hidden}
  .mf-mobile-menu nav{width:100%;padding:10px 14px 16px}
  .mf-mobile-menu a{font-size:17px;padding:12px 4px}
  .mf-story{padding-top:10px}
  .mf-stage,.mf-stage--final{padding-left:10px;padding-right:10px}
  .mf-slide{width:100%;height:auto;top:auto;will-change:auto}
  .mf-tariffs-hero{padding-top:54px}
  .mf-tariff-mobile-switch{top:10px;margin-top:18px;border-radius:18px;box-shadow:0 12px 30px rgba(17,17,17,.1)}
  .mf-tariff-group__rows{gap:8px;padding:8px}
  .mf-tariff-group--card .mf-tariff-row{grid-template-columns:minmax(0,1fr) auto;min-height:76px;border-radius:14px}
  .mf-tariff-group--card .mf-tariff-row__criterion{padding:16px 14px;font-size:14px;line-height:1.48}
  .mf-tariff-group--card .mf-tariff-cell{display:none;min-width:94px;min-height:76px;padding:12px 13px;border-left:0;background:#fff!important;border-radius:12px;margin:5px}
  .mf-tariff-table[data-active-plan="start"] .mf-tariff-cell--start,.mf-tariff-table[data-active-plan="profi"] .mf-tariff-cell--profi,.mf-tariff-table[data-active-plan="boss"] .mf-tariff-cell--boss{display:flex}
  .mf-tariff-group--card .mf-tariff-cell.is-recommended{background:var(--mf-purple-soft)!important}
  .mf-footer{padding:96px 12px 14px}
  .mf-footer__panel{border-radius:24px;padding:28px 22px}
  .mf-footer__lead{grid-template-columns:1fr;gap:22px;align-items:start;padding-bottom:28px}
  .mf-footer__lead .mf-button{width:100%}
  .mf-footer__rail{grid-template-columns:1fr 1fr;gap:28px;padding:28px 0}
}

@media (max-width:620px){
  .mf-tariffs-hero{padding-top:48px}
  .mf-tariff-comparison{padding-left:10px;padding-right:10px}
  .mf-tariff-group--card{border-radius:20px}
  .mf-tariff-group--card summary{min-height:92px;padding:14px;grid-template-columns:38px minmax(0,1fr) 24px;gap:11px}
  .mf-tariff-group--card .mf-tariff-group__icon{width:36px;height:36px;border-radius:12px}
  .mf-tariff-group--card summary .mf-tariff-group__title strong{font-size:18px}
  .mf-tariff-group--card summary .mf-tariff-group__title small{font-size:11px;line-height:1.42;margin-top:5px}
  .mf-tariff-group__count{display:none}
  .mf-tariff-group--card .mf-tariff-row__criterion{font-size:13px}
  .mf-footer{padding-top:82px}
  .mf-footer__panel{padding:24px 18px;border-radius:20px}
  .mf-footer__rail{grid-template-columns:1fr;gap:26px}
  .mf-footer__bottom{flex-direction:column;font-size:10px}
}

/* v2.0.3 — legal pages, compact inner-page footer and minimal tariff comparison */
.mf-tariffs-page + .mf-footer,
.mf-legal + .mf-footer,
.mf-simple-page + .mf-footer{
  padding-top:clamp(54px,5vw,78px);
}

/* Legal pages: same design language, calmer document layout */
.mf-legal{
  min-height:0;
  padding:54px var(--mf-gutter) 34px;
  background:var(--mf-warm);
}
.mf-legal__inner{width:min(1120px,100%)}
.mf-legal__back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 22px;
  color:var(--mf-muted);
  font-size:13px;
  font-weight:640;
}
.mf-legal__back svg{width:16px;height:16px;transition:transform .18s ease}
.mf-legal__back:hover svg{transform:translateX(-3px)}
.mf-legal__document{
  padding:clamp(30px,5vw,68px);
  border:1px solid rgba(17,17,17,.08);
  border-radius:30px;
  background:#fff;
  box-shadow:0 18px 50px rgba(17,17,17,.045);
}
.mf-legal__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.36fr);
  gap:34px;
  align-items:end;
  padding-bottom:34px;
  border-bottom:1px solid var(--mf-border);
}
.mf-legal__head .mf-kicker{grid-column:1/-1;margin-bottom:-12px}
.mf-legal__head h1{max-width:800px}
.mf-legal__meta{
  margin:0!important;
  color:var(--mf-muted)!important;
  font-size:13px!important;
  line-height:1.5!important;
  text-align:right;
}
.mf-legal-sections{max-width:none;margin-top:8px}
.mf-legal-sections section{
  display:grid;
  grid-template-columns:minmax(200px,.34fr) minmax(0,1fr);
  column-gap:48px;
  padding:30px 0;
}
.mf-legal-sections section>h2{grid-column:1;margin:0;font-size:22px;line-height:1.12}
.mf-legal-sections section>h2~*{grid-column:2}
.mf-legal-sections section>p:first-child:not(:only-child){grid-column:1/-1}
.mf-legal-sections section>p:only-child{grid-column:1/-1;max-width:860px}
.mf-legal p,.mf-legal li{font-size:15px;line-height:1.72}
.mf-requisites{grid-column:2;margin:0}
.mf-requisites>div{grid-template-columns:210px 1fr;gap:24px;padding:14px 0}
.mf-requisites>div:first-child{padding-top:0}
.mf-requisites>div:last-child{padding-bottom:0}

/* Tariff comparison: lighter, flatter and easier to scan */
.mf-tariff-comparison{background:#f7f6f1}
.mf-tariff-table--cards{--plan-col:minmax(160px,.5fr)}
.mf-tariff-head--page{
  top:12px;
  z-index:50;
  grid-template-columns:minmax(360px,1.7fr) repeat(3,var(--plan-col));
  gap:0;
  padding:0;
  border:1px solid #deddd6;
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,255,255,.97);
  box-shadow:0 10px 28px rgba(17,17,17,.07);
  backdrop-filter:blur(12px);
}
.mf-tariff-head--page>div,.mf-tariff-head--page>button{
  min-height:72px;
  border:0;
  border-radius:0;
}
.mf-tariff-head__context{
  padding:14px 20px;
  background:#fff;
  color:#111;
}
.mf-tariff-head__context>strong{
  margin:0;
  font-size:18px;
  line-height:1.1;
  letter-spacing:-.025em;
}
.mf-tariff-head--page>button{
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  padding:11px 14px;
  border-left:1px solid #e8e7e1;
  background:#fff;
  color:#111;
  transition:background .16s ease;
}
.mf-tariff-head--page>button:hover{transform:none;box-shadow:none;background:#fafaf7}
.mf-tariff-head--page>button.is-recommended{background:#f5effd;color:var(--mf-purple)}
.mf-tariff-head--page>button strong{font-size:19px;letter-spacing:-.035em}
.mf-tariff-head__plan{font-size:9px}
.mf-tariff-head--page>button.is-recommended .mf-tariff-head__plan{color:var(--mf-purple)}
.mf-tariff-head--page>button>small:last-child{font-size:9px;color:var(--mf-muted)}
.mf-tariff-head--page>button.is-recommended>small:last-child{color:#76539f}
.mf-tariff-head__badge{
  top:7px;
  right:9px;
  padding:3px 6px;
  box-shadow:none;
  font-size:7px;
}
.mf-tariff-groups{gap:14px;margin-top:14px}
.mf-tariff-group--card{
  border:1px solid #dfded8;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:none;
}
.mf-tariff-group--card+ .mf-tariff-group--card{border-top:1px solid #dfded8}
.mf-tariff-group--card summary{
  min-height:88px;
  padding:15px 20px;
  grid-template-columns:40px minmax(0,1fr) auto 24px;
  gap:14px;
  background:#fff;
}
.mf-tariff-group--card .mf-tariff-group__icon{
  width:38px;
  height:38px;
  border-radius:12px;
  background:#f7f6f1;
  box-shadow:none;
}
.mf-tariff-group--card summary .mf-tariff-group__title strong{font-size:20px}
.mf-tariff-group--card summary .mf-tariff-group__title small{
  max-width:820px;
  margin-top:5px;
  font-size:13px;
  line-height:1.42;
}
.mf-tariff-group__count{
  padding:0;
  border:0;
  background:transparent;
  color:#8b8a84;
  font-size:10px;
}
.mf-tariff-group__rows{display:block;padding:0 20px 12px}
.mf-tariff-group--card .mf-tariff-row{
  min-height:68px;
  border:0!important;
  border-radius:0;
  background:#fff;
  overflow:visible;
  transition:background .14s ease;
}
.mf-tariff-group--card .mf-tariff-row+.mf-tariff-row{border-top:1px solid #ecebe5!important}
.mf-tariff-group--card .mf-tariff-row:hover{
  border-color:transparent!important;
  background:#fffdf4;
  transform:none;
  box-shadow:none;
}
.mf-tariff-group--card .mf-tariff-row__criterion{
  padding:16px 14px 16px 0;
  font-size:15px;
  line-height:1.48;
}
.mf-tariff-group--card .mf-tariff-cell{
  min-height:68px;
  padding:11px 14px;
  border-left:1px solid #efeee9;
  background:transparent;
  align-content:center;
}
.mf-tariff-group--card .mf-tariff-cell.is-recommended{background:#fbf9fe}
.mf-tariff-group--card .mf-tariff-row:hover .mf-tariff-cell{border-left-color:#efeee9}
.mf-tariff-group--card .mf-tariff-cell small{max-width:150px;font-size:11px;line-height:1.38}
.mf-tariff-status{width:25px;height:25px}
.mf-tariff-status svg{width:13px;height:13px}

@media (max-width:900px){
  .mf-tariffs-page + .mf-footer,
  .mf-legal + .mf-footer,
  .mf-simple-page + .mf-footer{padding-top:54px}
  .mf-legal{padding:22px 12px 18px}
  .mf-legal__back{margin-bottom:14px}
  .mf-legal__document{padding:28px 20px;border-radius:22px}
  .mf-legal__head{grid-template-columns:1fr;gap:14px;padding-bottom:26px}
  .mf-legal__head .mf-kicker{margin-bottom:0}
  .mf-legal__meta{text-align:left}
  .mf-legal-sections section{grid-template-columns:1fr;gap:12px;padding:24px 0}
  .mf-legal-sections section>h2,.mf-legal-sections section>h2~*,.mf-legal-sections section>p:first-child:not(:only-child),.mf-legal-sections section>p:only-child{grid-column:1}
  .mf-requisites{grid-column:1}
  .mf-requisites>div{grid-template-columns:1fr;gap:5px;padding:13px 0}
  .mf-tariff-group__rows{padding:0 10px 8px}
  .mf-tariff-group--card .mf-tariff-row{grid-template-columns:minmax(0,1fr) auto;min-height:68px;border-radius:0}
  .mf-tariff-group--card .mf-tariff-row__criterion{padding:14px 10px 14px 0;font-size:14px}
  .mf-tariff-group--card .mf-tariff-cell{min-height:58px;margin:5px 0 5px 5px;border-left:0;border-radius:10px;background:#f7f6f1!important}
  .mf-tariff-group--card .mf-tariff-cell.is-recommended{background:#f5effd!important}
}

@media (max-width:620px){
  .mf-legal__document{padding:24px 17px;border-radius:20px}
  .mf-legal h1{font-size:clamp(38px,11vw,54px)}
  .mf-legal p,.mf-legal li{font-size:14px}
  .mf-tariff-group--card summary{min-height:80px;padding:12px 13px;grid-template-columns:36px minmax(0,1fr) 22px;gap:10px}
  .mf-tariff-group--card .mf-tariff-group__icon{width:34px;height:34px}
  .mf-tariff-group--card summary .mf-tariff-group__title strong{font-size:17px}
  .mf-tariff-group--card summary .mf-tariff-group__title small{font-size:11px}
}


/* v2.0.4 — focused polish: hero rhythm, minimal cookie, sharp tariff accents */
.mf-hero-copy .mf-kicker{margin-bottom:22px}
.mf-hero-lead{margin-top:38px}
.mf-hero-note{margin-top:20px;line-height:1.55}
.mf-hero-actions{margin-top:32px}

/* Minimal cookie control. Desktop back-to-top sits on the same baseline. */
.mf-cookie{
  left:18px;
  bottom:max(18px,env(safe-area-inset-bottom));
  width:min(560px,calc(100vw - 108px));
  min-height:52px;
  padding:7px 8px 7px 14px;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border-radius:15px;
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 34px rgba(17,17,17,.11);
  backdrop-filter:none;
}
.mf-cookie p{margin:0;font-size:11px;line-height:1.4;color:#66645f}
.mf-cookie p a{font-size:inherit;margin-left:2px;white-space:nowrap}
.mf-cookie__actions{gap:4px}
.mf-cookie__actions button{min-height:38px;padding:0 11px;border:0;border-radius:11px;background:transparent;color:#55534f;font:inherit;font-size:10px;font-weight:680;cursor:pointer;white-space:nowrap}
.mf-cookie__actions button:hover{background:#f1f0eb;color:#111}
.mf-cookie__actions [data-cookie-accept]{background:#111;color:#fff}
.mf-cookie__actions [data-cookie-accept]:hover{background:var(--mf-purple);color:#fff}
@media (min-width:901px){
  .mf-float-button--top{right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:52px;height:52px}
}

/* Tariff section icons use canonical Lucide stroke rendering; positive state stays in brand palette. */
.mf-tariff-status--yes{background:var(--mf-purple-soft);color:var(--mf-purple)}
.mf-tariff-status--no{background:#f1f1ee;color:#77756f}
.mf-tariff-group__icon svg{fill:none;stroke:currentColor}

@media (max-width:900px){
  .mf-cookie{left:10px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100vw - 20px);min-height:0;padding:10px;grid-template-columns:1fr;gap:8px;border-radius:14px}
  .mf-cookie p{font-size:10px}
  .mf-cookie__actions{justify-content:flex-end}
  .mf-cookie__actions button{min-height:34px;font-size:10px}
  .mf-hero-copy .mf-kicker{margin-bottom:18px}
  .mf-hero-lead{margin-top:28px}
  .mf-hero-note{margin-top:18px}
  .mf-hero-actions{margin-top:26px}
}

@media (max-width: 900px) {
  .mf-cookie { left: 12px; right: 12px; bottom: 12px; width: auto; transform: none; }
  .mf-cookie__inner { padding: 14px 14px 16px; border-radius: 18px; }
  .mf-cookie__actions { justify-content: stretch; }
  .mf-cookie__actions .mf-button { width: 100%; }
}

/* v2.0.5 — centered glass cookie, real object photos, stronger hero rhythm */
.mf-slide__grid--hero{grid-template-columns:minmax(0,1.02fr) minmax(400px,.98fr);gap:36px;padding-top:98px}
.mf-hero-copy .mf-kicker{margin-bottom:24px}
.mf-hero-lead{margin-top:48px!important;max-width:740px;line-height:1.5}
.mf-hero-note{margin-top:22px!important;line-height:1.6}
.mf-hero-actions{margin-top:34px}

.mf-photo-placeholder{padding:18px}
.mf-photo-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mf-photo-placeholder:before{background:linear-gradient(180deg,rgba(10,12,20,.08) 0%,rgba(10,12,20,.14) 40%,rgba(10,12,20,.66) 100%);mix-blend-mode:normal}
.mf-photo-placeholder:after{content:none}
.mf-photo-placeholder span{bottom:36px;font-size:13px;font-weight:760;color:#fff;text-shadow:0 10px 28px rgba(0,0,0,.42)}
.mf-photo-placeholder small{bottom:16px;font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.84);text-shadow:0 10px 28px rgba(0,0,0,.42)}

.mf-cookie{left:50%!important;right:auto!important;bottom:max(18px,env(safe-area-inset-bottom))!important;transform:translateX(-50%);width:min(720px,calc(100vw - 112px));min-height:56px;padding:12px 14px 12px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border-radius:20px;background:rgba(255,255,255,.72)!important;border:1px solid rgba(255,255,255,.5);box-shadow:0 18px 46px rgba(17,17,17,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.mf-cookie p{font-size:12px;line-height:1.45;color:rgba(29,33,41,.82)}
.mf-cookie__actions{gap:8px}
.mf-cookie__actions button{min-height:40px;padding:0 13px;border-radius:12px;background:rgba(255,255,255,.58);color:#4e4a44}
.mf-cookie__actions button:hover{background:rgba(255,255,255,.92);color:#111}
.mf-cookie__actions [data-cookie-essential]{border:1px solid rgba(122,70,255,.14)}
.mf-cookie__actions [data-cookie-accept]{background:var(--mf-purple);color:#fff}
.mf-cookie__actions [data-cookie-accept]:hover{background:#6535ff;color:#fff}
@media (min-width:901px){.mf-float-button--top{right:18px!important;bottom:max(18px,env(safe-area-inset-bottom))!important;width:52px;height:52px}}

@media (max-width:900px){
  .mf-slide__grid--hero{grid-template-columns:1fr;gap:24px;padding-top:90px}
  .mf-hero-lead{margin-top:28px!important}
  .mf-cookie{left:12px!important;right:12px!important;bottom:12px!important;width:auto;transform:none;padding:14px}
  .mf-cookie__actions{width:100%;justify-content:stretch}
  .mf-cookie__actions button{flex:1 1 auto}
}


/* v2.0.6 — no floating cookie banner; cookie disclosure lives in the footer */
.mf-footer__cookie-note{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid #2b2b2b;color:#747474;font-size:12px;line-height:1.5}
.mf-footer__cookie-note a{flex:0 0 auto;color:#c7c7c7;font-size:12px;font-weight:620}
.mf-footer__cookie-note a:hover{color:var(--mf-yellow)}
.mf-float-button--top{bottom:max(18px,env(safe-area-inset-bottom))!important}
@media (max-width:900px){
  .mf-footer__cookie-note{align-items:flex-start;flex-direction:column;gap:7px;padding:18px 0}
  .mf-footer__cookie-note a{font-size:12px}
  .mf-float-button--top{bottom:max(68px,env(safe-area-inset-bottom) + 58px)!important}
}


/* v2.0.8 — compact cookie disclosure in footer */
.mf-footer__rail{border-bottom:0}
.mf-footer__cookie-note{justify-content:flex-start;gap:6px;padding:14px 0;border-bottom:0;flex-wrap:wrap}
.mf-footer__cookie-note a{flex:0 0 auto;margin:0}
@media (max-width:620px){
  .mf-footer__cookie-note{flex-direction:row;align-items:baseline;gap:6px;padding:12px 0}
}

/* v2.0.9 — rounded project media + in-slide photo sliders */
.mf-photo-placeholder{
  border:0!important;
  border-radius:24px;
  box-shadow:0 16px 38px rgba(17,17,17,.10);
}
.mf-photo-placeholder:before{border-radius:inherit}

.mf-slide__grid--hero{
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);
  gap:clamp(34px,4vw,62px);
}
.mf-media-slider{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-radius:26px;
  background:#171717;
  box-shadow:0 22px 54px rgba(17,17,17,.18);
  touch-action:pan-y;
}
.mf-media-slider--hero{
  width:100%;
  height:min(68vh,620px);
  min-height:440px;
  align-self:center;
}
.mf-media-slider__viewport{position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit}
.mf-media-slider__slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  visibility:hidden;
  transform:scale(1.018);
  transition:opacity .48s ease,transform 1.15s cubic-bezier(.2,.7,.2,1),visibility 0s linear .48s;
  pointer-events:none;
}
.mf-media-slider__slide.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
  transition-delay:0s;
  pointer-events:auto;
  z-index:2;
}
.mf-media-slider__slide img{display:block;width:100%;height:100%;object-fit:cover}
.mf-media-slider__slide:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(5,8,14,.02) 40%,rgba(5,8,14,.42) 100%);
}
.mf-media-slider__caption{
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:4;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:5px 9px;
  max-width:calc(100% - 104px);
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:13px;
  background:rgba(20,20,20,.35);
  color:#fff;
  box-shadow:0 9px 28px rgba(0,0,0,.12);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.mf-media-slider__caption strong{font-size:12px;line-height:1.2;letter-spacing:-.01em}
.mf-media-slider__caption span{font-size:10px;line-height:1.2;color:rgba(255,255,255,.72)}
.mf-media-slider__counter{
  position:absolute;
  top:16px;
  right:16px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:5px;
  min-height:32px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(17,17,17,.30);
  color:#fff;
  font-size:10px;
  line-height:1;
  font-weight:650;
  backdrop-filter:blur(13px);
  -webkit-backdrop-filter:blur(13px);
}
.mf-media-slider__counter b{font:inherit}.mf-media-slider__counter i{font-style:normal;color:rgba(255,255,255,.45)}
.mf-media-slider__arrow{
  position:absolute;
  top:50%;
  z-index:6;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:15px;
  background:rgba(17,17,17,.34);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  cursor:pointer;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:opacity .18s ease,background .18s ease,transform .18s ease;
}
.mf-media-slider__arrow svg{width:17px;height:17px;stroke-width:2}
.mf-media-slider__arrow--prev{left:16px;transform:translate(-6px,-50%)}
.mf-media-slider__arrow--next{right:16px;transform:translate(6px,-50%)}
.mf-media-slider:hover .mf-media-slider__arrow,.mf-media-slider:focus-within .mf-media-slider__arrow{opacity:1;pointer-events:auto;transform:translate(0,-50%)}
.mf-media-slider__arrow:hover{background:rgba(72,2,162,.78)}


.mf-photo-placeholder--contain img{object-fit:contain;background:#efefef}
.mf-photo-placeholder--captioned span,
.mf-photo-placeholder--captioned small{display:none}
.mf-photo-caption{position:absolute;left:16px;bottom:16px;z-index:3;display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;max-width:calc(100% - 32px);padding:9px 12px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(20,20,20,.35);color:#fff;box-shadow:0 9px 28px rgba(0,0,0,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mf-photo-caption strong{font-size:12px;line-height:1.2;letter-spacing:-.01em}
.mf-photo-caption span{font-size:10px;line-height:1.2;color:rgba(255,255,255,.72)}

.mf-gallery-slider-wrap{position:relative;flex:1;min-height:0;margin-top:22px}
.mf-media-slider--gallery{width:100%;height:100%;min-height:320px}
.mf-gallery-slider-wrap>blockquote{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:8;
  width:min(390px,38%);
  padding:16px 18px;
  border-radius:16px;
  background:rgba(255,202,0,.94);
  box-shadow:0 14px 36px rgba(17,17,17,.16);
  transform:none;
  font-size:clamp(17px,1.4vw,22px);
  line-height:1.24;
  font-weight:700;
  letter-spacing:-.03em;
}

@media (max-width:1180px) and (min-width:901px){
  .mf-slide__grid--hero{grid-template-columns:minmax(0,1fr) minmax(430px,1fr);gap:30px}
  .mf-media-slider--hero{height:min(62vh,540px);min-height:390px}
}
@media (max-width:900px){
  .mf-slide__grid--hero{grid-template-columns:1fr!important;gap:28px}
  .mf-media-slider--hero{height:clamp(330px,66vw,500px);min-height:0}
  .mf-slide--gallery{display:flex;flex-direction:column}
  .mf-gallery-slider-wrap{height:clamp(360px,70vw,510px);flex:none;margin-top:20px}
  .mf-media-slider--gallery{min-height:0}
  .mf-gallery-slider-wrap>blockquote{right:14px;bottom:14px;width:min(360px,72%);padding:13px 15px;border-radius:14px;font-size:16px}
  .mf-media-slider__caption,.mf-photo-caption{left:12px;bottom:12px;max-width:calc(100% - 76px);padding:8px 10px;border-radius:12px}
  .mf-media-slider__counter{top:12px;right:12px;min-height:29px;padding:0 9px}
}
@media (hover:none){
  .mf-media-slider__arrow{display:none}
}
@media (max-width:620px){
  .mf-photo-placeholder,.mf-media-slider{border-radius:20px}
  .mf-media-slider--hero{height:330px}
  .mf-gallery-slider-wrap{height:390px}
  .mf-gallery-slider-wrap>blockquote{left:12px;right:12px;bottom:12px;width:auto;max-width:none}
  .mf-media-slider--gallery .mf-media-slider__caption{bottom:82px}
}
@media (prefers-reduced-motion:reduce){
  .mf-media-slider__slide{transition:none;transform:none}
}

/* v2.0.9 — slide 02 animated construction-volume chart */
.mf-build-chart{
  position:relative;
  min-height:230px;
  padding:18px 18px 14px;
  overflow:hidden;
  border:1px solid rgba(17,17,17,.10);
  border-radius:22px;
  background:linear-gradient(180deg,#fbfbf8 0%,#f3f2ec 100%);
  box-shadow:0 16px 36px rgba(17,17,17,.055);
}
.mf-build-chart__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;position:relative;z-index:2}
.mf-build-chart__head>span{font-size:13px;font-weight:720;letter-spacing:-.02em;color:#171717}
.mf-build-chart__head>small{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--mf-purple);font-weight:720;white-space:nowrap}
.mf-build-chart__svg{display:block;width:100%;height:auto;margin-top:7px;overflow:visible}
.mf-build-chart__grid path{fill:none;stroke:rgba(17,17,17,.075);stroke-width:1;vector-effect:non-scaling-stroke}
.mf-build-chart__area{fill:rgba(72,2,162,.07);opacity:0;transition:opacity .5s ease .72s}
.mf-build-chart__line{fill:none;stroke:var(--mf-purple);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 4px 8px rgba(72,2,162,.13))}
.mf-build-chart__points circle{fill:#fff;stroke:var(--mf-purple);stroke-width:3;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.4)}
.mf-build-chart__labels{display:flex;align-items:center;justify-content:space-between;margin-top:-4px;color:var(--mf-muted);font-size:9px;text-transform:uppercase;letter-spacing:.09em}
.mf-build-chart.is-animating .mf-build-chart__area,.mf-build-chart.is-built .mf-build-chart__area{opacity:1}
.mf-build-chart.is-animating .mf-build-chart__points circle,.mf-build-chart.is-built .mf-build-chart__points circle{animation:mfBuildPoint .32s cubic-bezier(.2,.8,.2,1) forwards}
.mf-build-chart.is-animating .mf-build-chart__points circle:nth-child(1){animation-delay:.12s}
.mf-build-chart.is-animating .mf-build-chart__points circle:nth-child(2){animation-delay:.38s}
.mf-build-chart.is-animating .mf-build-chart__points circle:nth-child(3){animation-delay:.65s}
.mf-build-chart.is-animating .mf-build-chart__points circle:nth-child(4){animation-delay:.92s}
.mf-build-chart.is-animating .mf-build-chart__points circle:nth-child(5){animation-delay:1.18s}
.mf-build-chart.is-built .mf-build-chart__points circle{opacity:1;transform:scale(1);animation:none}
@keyframes mfBuildPoint{to{opacity:1;transform:scale(1)}}
@media (max-width:620px){
  .mf-build-chart{min-height:210px;padding:15px 14px 12px;border-radius:18px}
  .mf-build-chart__head{align-items:flex-start;flex-direction:column;gap:3px}
  .mf-build-chart__svg{margin-top:2px}
}
@media (prefers-reduced-motion:reduce){
  .mf-build-chart__area{opacity:1!important}
  .mf-build-chart__points circle{opacity:1!important;transform:none!important;animation:none!important}
}

/* v2.0.9 — slide 05 installation media + slide 06 tariff CTA */
.mf-media-slider--economics{
  height:clamp(140px,18vh,190px);
  margin-top:18px;
  border:1px solid #303030;
  border-radius:18px;
  box-shadow:none;
  transform:rotate(-.45deg);
}
.mf-media-slider--economics .mf-media-slider__caption{left:12px;bottom:12px;padding:8px 10px;border-radius:12px}
.mf-media-slider--economics .mf-media-slider__counter{top:12px;right:12px}
.mf-media-slider--economics .mf-media-slider__arrow{width:40px;height:40px;border-radius:13px}
.mf-media-slider--economics .mf-media-slider__arrow--prev{left:12px}
.mf-media-slider--economics .mf-media-slider__arrow--next{right:12px}

.mf-inside-tariff-cta{
  grid-column:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  align-self:end;
  margin-top:4px;
}
.mf-inside-tariff-cta p{margin:0;max-width:430px;display:flex;flex-direction:column;gap:5px}
.mf-inside-tariff-cta p strong{font-size:14px;line-height:1.25;letter-spacing:-.02em}
.mf-inside-tariff-cta p span{font-size:12px;line-height:1.45;color:var(--mf-muted)}
.mf-button--tariff{
  flex:0 0 auto;
  min-height:48px;
  padding:0 19px;
  border-radius:15px;
  background:var(--mf-purple);
  color:#fff;
  box-shadow:0 10px 28px rgba(72,2,162,.18);
}
.mf-button--tariff:hover{background:#3e008d;color:#fff;box-shadow:0 14px 32px rgba(72,2,162,.24)}

@media (max-width:1180px) and (min-width:901px){
  .mf-media-slider--economics{height:140px;margin-top:14px}
  .mf-inside-tariff-cta{gap:14px}
  .mf-inside-tariff-cta p span{font-size:11px}
  .mf-button--tariff{padding:0 15px;font-size:13px}
}
@media (max-width:900px){
  .mf-media-slider--economics{height:clamp(210px,52vw,360px);margin-top:16px;transform:none}
  .mf-inside-tariff-cta{grid-column:1;align-items:flex-start;flex-direction:column;gap:14px;margin-top:4px}
  .mf-inside-tariff-cta p{max-width:520px}
  .mf-button--tariff{width:100%}
}

/* v2.0.9 — slide 09 partner community photo slider */
.mf-media-slider--community{
  width:100%;
  height:min(58vh,500px);
  min-height:360px;
  align-self:center;
  border-radius:24px;
  background:#151515;
  box-shadow:0 20px 54px rgba(17,17,17,.11);
}
.mf-media-slider--community .mf-media-slider__slide img{object-position:center center}
@media (max-width:900px){
  .mf-media-slider--community{height:clamp(300px,72vw,460px);min-height:0}
}

/* v2.0.9 — tariff row hierarchy and stronger centered statuses */
.mf-tariff-group--card .mf-tariff-row__criterion{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
}
.mf-tariff-row__title{
  display:block;
  font-size:16px;
  line-height:1.26;
  font-weight:760;
  letter-spacing:-.025em;
  color:#171717;
}
.mf-tariff-row__description{
  display:block;
  max-width:720px;
  font-size:13px;
  line-height:1.48;
  font-weight:430;
  color:var(--mf-muted);
}
.mf-tariff-row__note{
  display:block;
  margin-top:2px;
  font-size:10px;
  line-height:1.42;
  font-weight:450;
  color:#8a8881;
}
.mf-tariff-group--card .mf-tariff-cell{
  justify-content:center;
  align-items:center;
  align-content:center;
  text-align:center;
}
.mf-tariff-status{
  width:36px;
  height:36px;
}
.mf-tariff-status svg{
  width:20px;
  height:20px;
  stroke-width:3.15;
}
.mf-tariff-cell small{
  text-align:center;
}
@media (max-width:900px){
  .mf-tariff-group--card .mf-tariff-row__criterion{gap:4px}
  .mf-tariff-row__title{font-size:14px;line-height:1.28}
  .mf-tariff-row__description{font-size:12px;line-height:1.42}
  .mf-tariff-row__note{font-size:9px}
  .mf-tariff-status{width:34px;height:34px}
  .mf-tariff-status svg{width:19px;height:19px;stroke-width:3.1}
}

/* v2.0.9 — slide 07 media integrated without changing the two-column composition */
.mf-media-slider--start{
  width:min(620px,100%);
  height:clamp(170px,22vh,220px);
  margin-top:22px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:#171717;
  box-shadow:none;
}
.mf-media-slider--start .mf-media-slider__caption{left:12px;bottom:12px;padding:8px 10px;border-radius:12px}
.mf-media-slider--start .mf-media-slider__counter{top:12px;right:12px}
.mf-media-slider--start .mf-media-slider__arrow{width:40px;height:40px;border-radius:13px}
@media (max-width:1180px) and (min-width:901px){
  .mf-media-slider--start{height:170px;margin-top:16px}
  .mf-start-alone{margin-top:28px}
}
@media (max-width:900px){
  .mf-media-slider--start{height:clamp(240px,56vw,390px);margin-top:18px;border-radius:20px}
}

/* v2.0.10 — crisp deck motion, proportional media, slide 05/07/09 layout polish */
@media (min-width:901px){
  .mf-story.is-deck-ready .mf-slide{will-change:auto!important}
  .mf-story.is-deck-ready [data-photo],
  .mf-story.is-deck-ready .mf-index-row,
  .mf-story.is-deck-ready .mf-inside-grid>div,
  .mf-story.is-deck-ready .mf-start-detail,
  .mf-story.is-deck-ready .mf-steps li{opacity:1!important;transform:none!important;transition:none!important}
}
.mf-slide{will-change:auto}

/* Slider images always keep their natural proportions. A soft blurred copy fills
   any remaining space, so portrait and landscape photographs never stretch. */
.mf-media-slider__slide{transform:none;transition:opacity .32s ease,visibility 0s linear .32s;background:#151515}
.mf-media-slider__slide.is-active{transform:none;transition-delay:0s}
.mf-media-slider__slide:before{content:"";position:absolute;inset:-18px;z-index:0;background-image:var(--mf-slide-image);background-size:cover;background-position:center;filter:blur(20px);opacity:.42;transform:scale(1.08);pointer-events:none}
.mf-media-slider__slide img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center center;background:transparent}
.mf-media-slider__slide:after{z-index:2}

/* Slide 05 — metrics and the existing table stay together on the left; media is a
   larger independent block on the right. */
.mf-slide__grid--money{grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);gap:clamp(28px,3vw,48px);align-items:stretch}
.mf-money-main{display:flex;min-width:0;flex-direction:column;justify-content:center}
.mf-money-main .mf-money-head{min-width:0}
.mf-money-main .mf-money-table-wrap{margin-top:22px;padding:clamp(18px,2vw,28px);transform:rotate(.35deg)}
.mf-money-main .mf-money-table{transform:rotate(-.35deg)}
.mf-money-main .mf-fineprint{margin-top:15px;padding-top:14px;transform:rotate(-.35deg)}
.mf-media-slider--economics{width:100%;height:100%;min-height:440px;margin:0;align-self:stretch;border:0;border-radius:24px;box-shadow:0 20px 48px rgba(17,17,17,.14);transform:none}

/* Slide 07 — all four start steps form one clear left rail, with a larger photo
   slider occupying the right half. */
.mf-slide__grid--start{grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);gap:clamp(30px,4vw,62px);align-items:center}
.mf-start-copy{min-width:0;align-self:center}
.mf-start-copy h2{max-width:620px;font-size:clamp(42px,4.2vw,66px)}
.mf-start-list{margin-top:24px;border-top:1px solid #363636}
.mf-start-list .mf-start-detail{grid-template-columns:38px minmax(150px,.78fr) minmax(0,1.22fr);gap:12px;padding:13px 0;align-items:start}
.mf-start-list .mf-start-detail h3{font-size:18px;line-height:1.12}
.mf-start-list .mf-start-detail p{font-size:12px;line-height:1.42}
.mf-media-slider--start{width:100%;height:min(61vh,535px);min-height:430px;margin:0;align-self:center;border-radius:24px;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.2)}

/* Slide 09 — give the community photography more visual weight and shift the
   process copy slightly to the right without changing its typography. */
.mf-slide__grid--steps{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:clamp(42px,4.5vw,74px)}
.mf-slide__grid--steps>div:last-child{padding-left:clamp(8px,1.3vw,22px)}
.mf-media-slider--community{height:min(63vh,540px);min-height:400px;border-radius:26px}

@media (max-width:1180px) and (min-width:901px){
  .mf-slide__grid--money{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:24px}
  .mf-slide__grid--money .mf-money-metrics{grid-template-columns:repeat(3,1fr)}
  .mf-slide__grid--money .mf-money-metrics>div{padding:13px 10px 13px 0;border-top:0}
  .mf-slide__grid--money .mf-money-metrics>div+div{border-left:1px solid rgba(17,17,17,.3);padding-left:10px}
  .mf-slide__grid--money .mf-money-metrics strong{font-size:clamp(22px,2.4vw,31px)}
  .mf-slide__grid--money .mf-money-metrics small{font-size:10px}
  .mf-money-main .mf-money-table-wrap{margin-top:14px;padding:17px}
  .mf-money-row{padding:11px 0;font-size:12px;gap:10px}
  .mf-money-row strong:last-child{font-size:19px}
  .mf-money-main .mf-fineprint{font-size:9px;line-height:1.4}
  .mf-media-slider--economics{min-height:390px}

  .mf-slide__grid--start{grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:26px}
  .mf-start-copy h2{font-size:clamp(38px,4.3vw,54px)}
  .mf-start-list{margin-top:17px}
  .mf-start-list .mf-start-detail{grid-template-columns:32px minmax(120px,.74fr) minmax(0,1.26fr);padding:10px 0;gap:9px}
  .mf-start-list .mf-start-detail h3{font-size:15px}
  .mf-start-list .mf-start-detail p{font-size:10px;line-height:1.35}
  .mf-media-slider--start{height:min(58vh,470px);min-height:360px;margin:0}

  .mf-slide__grid--steps{grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:34px}
  .mf-media-slider--community{height:min(59vh,480px);min-height:360px}
}

@media (max-width:900px){
  .mf-money-main .mf-money-table-wrap{margin-top:18px}
  .mf-media-slider--economics{height:clamp(300px,72vw,470px);min-height:0;margin-top:4px}
  .mf-start-list{margin-top:20px}
  .mf-start-list .mf-start-detail{grid-template-columns:36px 1fr;padding:15px 0;gap:10px 12px}
  .mf-start-list .mf-start-detail h3{font-size:18px}
  .mf-start-list .mf-start-detail p{grid-column:2;font-size:12px}
  .mf-media-slider--start{height:clamp(320px,72vw,500px);min-height:0;margin-top:0}
  .mf-slide__grid--steps>div:last-child{padding-left:0}
  .mf-media-slider--community{height:clamp(340px,76vw,500px);min-height:0}
}


/* v2.0.11 — slide 05 short-screen fit + full-bleed slider media + persistent controls */
/* All slider photography fills the complete media plaque. Cropping is preferable
   to letterboxing here; source aspect ratio is preserved by object-fit: cover. */
.mf-media-slider__slide:before{content:none!important;display:none!important}
.mf-media-slider__slide img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover!important;
  object-position:center center;
  background:#151515;
}

/* Navigation is present on every slider and on every input mode. It stays subtle
   until hover/focus, but never disappears completely. */
.mf-media-slider__arrow{
  display:flex!important;
  opacity:.82!important;
  pointer-events:auto!important;
}
.mf-media-slider__arrow--prev{transform:translate(0,-50%)!important}
.mf-media-slider__arrow--next{transform:translate(0,-50%)!important}
.mf-media-slider:hover .mf-media-slider__arrow,
.mf-media-slider:focus-within .mf-media-slider__arrow{
  opacity:1!important;
  transform:translate(0,-50%)!important;
}

/* The 05 slide is intentionally dense. On short desktop screens preserve the
   approved two-column structure but tighten only its internal vertical rhythm. */
@media (min-width:901px) and (max-height:860px){
  .mf-slide__grid--money{
    padding-top:62px;
    padding-bottom:30px;
    gap:clamp(22px,2.4vw,34px);
    align-items:stretch;
  }
  .mf-money-main{
    min-height:0;
    height:100%;
    justify-content:center;
  }
  .mf-money-head h2{
    font-size:clamp(46px,4.25vw,60px);
    line-height:.93;
  }
  .mf-money-head .mf-kicker{margin-bottom:9px}
  .mf-money-metrics{margin-top:16px}
  .mf-money-metrics>div{padding:11px 9px 10px 0}
  .mf-money-metrics>div+div{padding-left:9px}
  .mf-money-metrics strong{
    font-size:clamp(21px,2.05vw,29px);
    line-height:1;
  }
  .mf-money-metrics small{
    margin-top:6px;
    font-size:10.5px;
    line-height:1.35;
  }
  .mf-money-main .mf-money-table-wrap{
    margin-top:16px;
    padding:14px 16px;
    border-radius:18px;
  }
  .mf-money-row{
    gap:9px;
    padding:9px 0;
    font-size:12px;
  }
  .mf-money-row--head{
    padding-top:0;
    font-size:9px;
    letter-spacing:.08em;
  }
  .mf-money-row strong:last-child{font-size:18px}
  .mf-money-main .mf-fineprint{
    margin-top:10px;
    padding-top:8px;
    font-size:9px;
    line-height:1.36;
  }
  .mf-media-slider--economics{
    height:100%;
    min-height:0;
    align-self:stretch;
  }
}

@media (max-width:900px){
  .mf-media-slider__arrow{
    width:40px;
    height:40px;
    border-radius:13px;
    opacity:.9!important;
  }
  .mf-media-slider__arrow--prev{left:10px}
  .mf-media-slider__arrow--next{right:10px}
}

/* v2.0.12 — mobile composition audit for slides 05 / 07 / 09 */
@media (max-width:900px){
  /* Slide 05: meaning first, media second. Keep the economics block readable
     instead of squeezing the approved desktop two-column composition. */
  .mf-slide__grid--money{
    grid-template-columns:1fr!important;
    gap:26px;
    align-items:start;
  }
  .mf-slide__grid--money .mf-money-main{
    order:1;
    width:100%;
    min-width:0;
    height:auto;
    justify-content:flex-start;
  }
  .mf-slide__grid--money .mf-media-slider--economics{
    order:2;
    width:100%;
    height:clamp(280px,72vw,460px);
    min-height:0;
    margin:0;
    align-self:auto;
  }
  .mf-money-head h2{font-size:clamp(44px,11vw,58px)}
  .mf-money-metrics{margin-top:24px}
  .mf-money-main .mf-money-table-wrap{
    width:100%;
    min-width:0;
    margin-top:20px;
    transform:none;
  }
  .mf-money-main .mf-money-table,
  .mf-money-main .mf-fineprint{transform:none}
  .mf-money-row>*{min-width:0}

  /* Slide 07: all four start steps are the primary mobile story. */
  .mf-slide__grid--start{
    grid-template-columns:1fr!important;
    gap:26px;
    align-items:start;
  }
  .mf-slide__grid--start .mf-start-copy{
    order:1;
    width:100%;
    min-width:0;
  }
  .mf-slide__grid--start .mf-media-slider--start{
    order:2;
    width:100%;
    height:clamp(300px,76vw,480px);
    min-height:0;
    margin:0;
    align-self:auto;
  }
  .mf-start-copy h2{max-width:none;font-size:clamp(40px,10.5vw,56px)}
  .mf-start-list{margin-top:24px}
  .mf-start-list .mf-start-detail{
    grid-template-columns:38px minmax(0,1fr);
    gap:7px 12px;
    padding:17px 0;
    align-items:start;
  }
  .mf-start-list .mf-start-detail h3{
    min-width:0;
    font-size:19px;
    line-height:1.16;
  }
  .mf-start-list .mf-start-detail p{
    grid-column:2;
    margin:2px 0 0;
    font-size:13px;
    line-height:1.48;
  }

  /* Slide 09: the process must be understood before community photography. */
  .mf-slide__grid--steps{
    grid-template-columns:1fr!important;
    gap:28px;
    align-items:start;
  }
  .mf-slide__grid--steps>div:last-child{
    order:1;
    width:100%;
    min-width:0;
    padding-left:0!important;
  }
  .mf-slide__grid--steps .mf-media-slider--community{
    order:2;
    width:100%;
    height:clamp(300px,74vw,470px);
    min-height:0;
    margin:0;
    align-self:auto;
  }
  .mf-slide__grid--steps>div:last-child h2{
    max-width:none;
    font-size:clamp(40px,10.5vw,56px);
  }
  .mf-steps{margin-top:24px}
  .mf-steps li{
    grid-template-columns:40px minmax(0,1fr);
    gap:10px;
    padding:17px 0;
  }
  .mf-steps strong{font-size:18px;line-height:1.2}
  .mf-steps p{margin-top:5px;font-size:13px;line-height:1.48}
}

@media (max-width:620px){
  /* Slide 05 metrics become a calm vertical stack on phones. */
  .mf-slide__grid--money{gap:24px}
  .mf-money-head h2{font-size:clamp(42px,13vw,54px)}
  .mf-money-metrics{grid-template-columns:1fr;margin-top:20px}
  .mf-money-metrics>div{
    padding:15px 0;
    border-left:0!important;
  }
  .mf-money-metrics>div+div{
    padding-left:0;
    border-top:1px solid rgba(17,17,17,.3);
  }
  .mf-money-metrics strong{font-size:29px}
  .mf-money-metrics small{max-width:100%;font-size:11px;line-height:1.4}
  .mf-money-main .mf-money-table-wrap{margin-top:18px;padding:18px 14px}
  .mf-money-row{grid-template-columns:.72fr .86fr 1.08fr;gap:7px;font-size:11px}
  .mf-money-row--head{font-size:8px}
  .mf-money-row strong:last-child{font-size:18px}
  .mf-money-main .mf-fineprint{font-size:9px;line-height:1.45}
  .mf-slide__grid--money .mf-media-slider--economics{height:clamp(250px,72vw,400px)}

  .mf-slide__grid--start{gap:24px}
  .mf-start-list{margin-top:20px}
  .mf-start-list .mf-start-detail{grid-template-columns:34px minmax(0,1fr);padding:15px 0}
  .mf-start-list .mf-start-detail h3{font-size:18px}
  .mf-start-list .mf-start-detail p{font-size:12px;line-height:1.48}
  .mf-slide__grid--start .mf-media-slider--start{height:clamp(260px,72vw,400px)}

  .mf-slide__grid--steps{gap:24px}
  .mf-steps{margin-top:20px}
  .mf-steps li{grid-template-columns:36px minmax(0,1fr);padding:15px 0}
  .mf-steps strong{font-size:17px}
  .mf-steps p{font-size:12px;line-height:1.48}
  .mf-slide__grid--steps .mf-media-slider--community{height:clamp(260px,72vw,400px)}
}

@media (max-width:375px){
  /* Protect the three-column economics table on the narrowest supported phones. */
  .mf-money-main .mf-money-table-wrap{padding:16px 11px}
  .mf-money-row{grid-template-columns:.68fr .83fr 1.08fr;gap:5px;font-size:10px}
  .mf-money-row--head{font-size:7px;letter-spacing:.055em}
  .mf-money-row strong:last-child{font-size:15px;letter-spacing:-.035em}
  .mf-money-metrics strong{font-size:27px}
}

@media (max-width:900px){.mf-photo-caption strong{font-size:12px}.mf-photo-caption span{font-size:10px}}

@media (max-width:640px){.mf-russia-map__eyebrow{font-size:9px}.mf-russia-map__intro strong{font-size:13px}.mf-russia-map__region{stroke-width:1}}

/* v2.0.16 — slide 03 composition, slide 05 readability, authentic Russia map */
/* Slide 03: heading remains untouched; facts become a left vertical rail and the
   know-how block occupies the right side. */
.mf-history-content{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:clamp(32px,4vw,64px);
  align-items:stretch;
  min-height:0;
}
.mf-history-content .mf-history-line{
  display:flex;
  flex-direction:column;
  border-top:1px solid rgba(255,255,255,.25);
  border-bottom:1px solid rgba(255,255,255,.25);
}
.mf-history-content .mf-history-line>div{
  flex:1 1 0;
  min-height:0;
  padding:15px 0;
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  column-gap:14px;
  align-items:end;
}
.mf-history-content .mf-history-line>div+div{
  border-left:0;
  border-top:1px solid rgba(255,255,255,.25);
  padding-left:0;
}
.mf-history-content .mf-history-line span{grid-column:1/3}
.mf-history-content .mf-history-line strong{font-size:clamp(46px,4.4vw,70px)}
.mf-history-content .mf-history-line small{font-size:12.5px;line-height:1.42}
.mf-history-content .mf-airex-band{
  min-height:0;
  grid-template-columns:minmax(190px,.72fr) minmax(300px,1.28fr);
  gap:24px;
  align-items:stretch;
}
.mf-history-content .mf-airex-band>div:first-child{padding:10px 0}
.mf-history-content .mf-airex-band h3{font-size:clamp(52px,5vw,82px)}
.mf-history-content .mf-airex-band p{font-size:14px;line-height:1.5}
.mf-history-content .mf-photo-placeholder{min-height:250px;height:100%}

/* Slide 05: slightly more breathing room before the table and larger supporting
   typography without changing the approved composition. */
.mf-money-main .mf-money-table-wrap{margin-top:30px}
.mf-slide__grid--money .mf-money-metrics small{font-size:12px;line-height:1.42}
.mf-money-row{font-size:14px}
.mf-money-row--head{font-size:10.5px}
.mf-money-row strong:last-child{font-size:21px}
.mf-money-main .mf-fineprint{font-size:10.5px;line-height:1.45}

/* Slide 10: no card/plaque around the map. The genuine administrative-region SVG
   is loaded into the clear canvas; inactive regions remain neutral outlines. */
.mf-russia-map{
  overflow:visible;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}
.mf-russia-map::after{content:none;display:none}
.mf-russia-map__title{
  display:block;
  margin:0 0 7px;
  font-size:15px;
  line-height:1.2;
  color:#fff;
}
.mf-russia-map__canvas{position:relative;width:100%;min-height:205px}
.mf-russia-map__svg,
.mf-russia-map__fallback{display:block;width:100%;height:auto;margin:0;overflow:visible}
.mf-russia-map__fallback path{
  fill:rgba(255,255,255,.025);
  stroke:rgba(255,255,255,.28);
  stroke-width:2;
}
.mf-russia-map.is-map-ready .mf-russia-map__fallback{display:none}
.mf-russia-map__region{
  fill:rgba(255,255,255,.018)!important;
  stroke:rgba(255,255,255,.30)!important;
  stroke-width:.75!important;
  vector-effect:non-scaling-stroke;
  transition:fill .48s cubic-bezier(.2,.8,.2,1),stroke .48s cubic-bezier(.2,.8,.2,1),filter .48s cubic-bezier(.2,.8,.2,1),opacity .48s cubic-bezier(.2,.8,.2,1)!important;
  transition-delay:0s!important;
  opacity:.92;
}
.mf-russia-map.is-active .mf-russia-map__region--active{
  fill:var(--mf-yellow)!important;
  stroke:rgba(255,231,124,.95)!important;
  filter:drop-shadow(0 0 4px rgba(230,193,47,.14));
  opacity:1;
  transition-delay:calc(var(--region-order,0) * 34ms)!important;
}
.mf-russia-map__region:hover{fill:rgba(255,214,68,.72)!important;stroke:rgba(255,238,166,.95)!important}

@media (min-width:901px) and (max-height:860px){
  .mf-money-main .mf-money-table-wrap{margin-top:24px;padding:15px 17px}
  .mf-money-metrics small{font-size:11.5px;line-height:1.38}
  .mf-money-row{font-size:13px;padding:9px 0}
  .mf-money-row--head{font-size:10px}
  .mf-money-row strong:last-child{font-size:20px}
  .mf-money-main .mf-fineprint{font-size:10px;line-height:1.4}
  .mf-history-content{gap:28px;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr)}
  .mf-history-content .mf-history-line>div{padding:11px 0;grid-template-columns:92px minmax(0,1fr)}
  .mf-history-content .mf-history-line strong{font-size:clamp(40px,3.7vw,58px)}
  .mf-history-content .mf-history-line small{font-size:11.5px}
  .mf-history-content .mf-airex-band{grid-template-columns:minmax(165px,.7fr) minmax(270px,1.3fr);gap:18px}
  .mf-history-content .mf-airex-band h3{font-size:clamp(46px,4.3vw,68px)}
  .mf-history-content .mf-airex-band p{font-size:12.5px}
}

@media (max-width:900px){
  .mf-history-content{grid-template-columns:1fr;gap:26px}
  .mf-history-content .mf-history-line>div{grid-template-columns:96px minmax(0,1fr);padding:15px 0}
  .mf-history-content .mf-airex-band{grid-template-columns:1fr;gap:16px}
  .mf-history-content .mf-photo-placeholder{height:clamp(250px,68vw,430px);min-height:0}
  .mf-money-main .mf-money-table-wrap{margin-top:28px}
  .mf-slide__grid--money .mf-money-metrics small{font-size:12px}
  .mf-money-row{font-size:13px}
  .mf-money-row--head{font-size:10px}
  .mf-money-main .mf-fineprint{font-size:10.5px}
  .mf-russia-map__title{font-size:14px;margin-bottom:6px}
  .mf-russia-map__canvas{min-height:170px}
}


/* v2.0.17 — slide 03 stacked know-how media, slide 05 nowrap metrics,
   exposed-slide interactivity, slide 10 contacts without divider */

/* Slide 03: keep the facts rail on the left; on the right the know-how copy
   comes first and the image sits directly underneath it. */
.mf-history-content .mf-airex-band{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto minmax(0,1fr);
  gap:16px;
  align-content:stretch;
}
.mf-history-content .mf-airex-band>div:first-child{
  padding:4px 0 0;
}
.mf-history-content .mf-photo-placeholder{
  min-height:210px;
  height:100%;
}

/* Slide 05: the three headline values must stay on one line. Their wrapping
   was increasing the height of the metrics strip and pushing the table down. */
.mf-slide__grid--money .mf-money-metrics strong{
  white-space:nowrap;
}

/* In the desktop deck the stage itself must not form an invisible click shield.
   Only the visible slide surface of the current / adjacent sheets receives input. */
@media (min-width:901px){
  .mf-story.is-deck-ready .mf-stage{
    pointer-events:none!important;
  }
  .mf-story.is-deck-ready .mf-stage .mf-slide{
    pointer-events:none;
  }
  .mf-story.is-deck-ready .mf-stage.is-interactive .mf-slide{
    pointer-events:auto;
  }
}

/* Slide 10: remove the horizontal divider below the map. */
.mf-final-contacts{
  border-top:0!important;
  padding-top:4px;
}

@media (min-width:901px) and (max-height:860px){
  .mf-history-content .mf-airex-band{
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
    gap:12px;
  }
  .mf-history-content .mf-photo-placeholder{
    min-height:180px;
  }
}

@media (max-width:900px){
  .mf-history-content .mf-airex-band{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    gap:16px;
  }
  .mf-history-content .mf-photo-placeholder{
    height:clamp(250px,68vw,430px);
    min-height:0;
  }
}

/* v2.0.18 — slide 03 wider facts rail / know-how shifted right; slide 05 table micro-adjustment */
@media (min-width:901px){
  /* Slide 03: give the facts more horizontal room and move the know-how column
     further to the right without changing the heading or the internal stack. */
  .mf-history-content{
    grid-template-columns:minmax(340px,1.08fr) minmax(320px,.92fr);
    gap:clamp(48px,5vw,82px);
  }

  /* Slide 05: a very small reduction after the previous readability increase,
     keeping the table compact enough for the fixed slide height. */
  .mf-money-row{
    font-size:13.25px;
  }
  .mf-money-row--head{
    font-size:10px;
  }
  .mf-money-row strong:last-child{
    font-size:20px;
  }
}

@media (min-width:901px) and (max-height:860px){
  .mf-history-content{
    grid-template-columns:minmax(300px,1.04fr) minmax(300px,.96fr);
    gap:clamp(38px,4vw,64px);
  }
  .mf-money-row{
    font-size:12.5px;
  }
  .mf-money-row--head{
    font-size:9.5px;
  }
  .mf-money-row strong:last-child{
    font-size:19px;
  }
}


/* v2.0.19 — slide 03 mobile cleanup and safer description spacing */
@media (min-width:901px){
  /* Reserve enough real width for 2001 / 80+ / 34 so the descriptions never
     collide with the large figures. Apply the same rhythm to all three rows. */
  .mf-history-content .mf-history-line>div{
    grid-template-columns:minmax(142px,auto) minmax(0,1fr);
    column-gap:clamp(22px,2vw,34px);
  }
  .mf-history-content .mf-history-line small{
    padding-left:2px;
  }
}

@media (min-width:901px) and (max-height:860px){
  .mf-history-content .mf-history-line>div{
    grid-template-columns:minmax(124px,auto) minmax(0,1fr);
    column-gap:20px;
  }
}

@media (max-width:900px){
  /* Mobile: one clear vertical reading order per fact instead of squeezing a
     large number and its copy into competing columns. */
  .mf-history-content .mf-history-line{
    display:flex;
    flex-direction:column;
  }
  .mf-history-content .mf-history-line>div{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto auto;
    row-gap:7px;
    min-height:0;
    padding:17px 0;
  }
  .mf-history-content .mf-history-line>div+div{
    padding-left:0;
  }
  .mf-history-content .mf-history-line span,
  .mf-history-content .mf-history-line strong,
  .mf-history-content .mf-history-line small{
    grid-column:1;
  }
  .mf-history-content .mf-history-line span{
    margin:0;
  }
  .mf-history-content .mf-history-line strong{
    font-size:clamp(48px,15vw,64px);
    line-height:.9;
    width:max-content;
    max-width:100%;
  }
  .mf-history-content .mf-history-line small{
    max-width:34rem;
    font-size:13px;
    line-height:1.45;
    padding:0;
  }
}

@media (max-width:380px){
  .mf-history-content .mf-history-line>div{
    padding:15px 0;
    row-gap:6px;
  }
  .mf-history-content .mf-history-line strong{
    font-size:48px;
  }
  .mf-history-content .mf-history-line small{
    font-size:12.5px;
  }
}


/* v2.0.20 — slide 03 mobile hardening + proportional know-how image fitting */
/* Slide 03 image: keep the Airex structure illustration visually centered and
   proportionally fitted inside its card on desktop and mobile. */
.mf-history-content .mf-photo-placeholder{
  aspect-ratio:3 / 2;
  height:auto;
  min-height:0;
}
.mf-history-content .mf-photo-placeholder--contain{
  background:#efefef;
}
.mf-history-content .mf-photo-placeholder--contain::before{
  background:linear-gradient(180deg,rgba(10,12,20,.03) 0%,rgba(10,12,20,.06) 56%,rgba(10,12,20,.18) 100%);
}
.mf-history-content .mf-photo-placeholder--contain img{
  position:absolute;
  inset:14px;
  width:calc(100% - 28px);
  height:calc(100% - 28px);
  object-fit:contain;
  object-position:center center;
  background:transparent;
}

@media (max-width:900px){
  /* Mobile: simplify each fact into a clean vertical stack so the large figure,
     label and description never compete for width or overlap visually. */
  .mf-history-content{
    gap:22px;
  }
  .mf-history-content .mf-history-line{
    display:flex;
    flex-direction:column;
    align-content:stretch;
  }
  .mf-history-content .mf-history-line>div{
    display:block;
    min-height:0;
    padding:15px 0 16px;
  }
  .mf-history-content .mf-history-line span{
    display:block;
    margin:0 0 6px;
  }
  .mf-history-content .mf-history-line strong{
    display:block;
    margin:0 0 8px;
    font-size:clamp(44px,14vw,60px);
    line-height:.9;
    max-width:100%;
  }
  .mf-history-content .mf-history-line small{
    display:block;
    max-width:none;
    font-size:13px;
    line-height:1.45;
    padding:0;
  }
  .mf-history-content .mf-airex-band{
    gap:14px;
  }
  .mf-history-content .mf-photo-placeholder{
    aspect-ratio:3 / 2;
  }
}

@media (max-width:620px){
  .mf-history-content{
    gap:20px;
  }
  .mf-history-content .mf-history-line>div{
    padding:14px 0 15px;
  }
  .mf-history-content .mf-history-line strong{
    font-size:clamp(42px,13vw,56px);
  }
  .mf-history-content .mf-history-line small{
    font-size:12.5px;
  }
  .mf-history-content .mf-photo-placeholder--contain img{
    inset:12px;
    width:calc(100% - 24px);
    height:calc(100% - 24px);
  }
}

/* v2.0.21 — slide 03 rebuilt as a single isolated component.
   Desktop: full-width heading, wide facts rail left, know-how + image right.
   Mobile: heading, facts, know-how, image in one reading flow. */
.mf-s3{
  grid-template-columns:1fr;
  grid-template-rows:auto minmax(0,1fr);
  align-content:center;
  gap:clamp(22px,2.4vw,34px);
  padding-top:78px;
}
.mf-s3__head{
  max-width:1150px;
}
.mf-s3__head h2{
  max-width:1150px;
}
.mf-s3__content{
  display:grid;
  grid-template-columns:minmax(0,1.14fr) minmax(330px,.86fr);
  gap:clamp(46px,5vw,82px);
  min-height:0;
  align-items:stretch;
}
.mf-s3__facts{
  display:grid;
  grid-template-rows:repeat(3,auto);
  align-content:center;
  min-height:0;
}
.mf-s3__fact{
  display:grid;
  grid-template-columns:minmax(150px,.38fr) minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr);
  column-gap:clamp(24px,2.2vw,38px);
  row-gap:3px;
  align-items:end;
  min-height:0;
  padding:14px 0 16px;
}
.mf-s3__fact+.mf-s3__fact{
  border-top:1px solid rgba(255,255,255,.24);
}
.mf-s3__fact>span{
  grid-column:1/-1;
  display:block;
  font-size:11px;
  line-height:1.2;
  font-weight:650;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
.mf-s3__fact>strong{
  grid-column:1;
  display:block;
  align-self:end;
  width:max-content;
  max-width:100%;
  font-size:clamp(48px,4.7vw,74px);
  line-height:.88;
  letter-spacing:-.065em;
  color:var(--mf-yellow);
}
.mf-s3__fact>small{
  grid-column:2;
  display:block;
  align-self:end;
  max-width:430px;
  padding-bottom:2px;
  font-size:13px;
  line-height:1.45;
  color:rgba(255,255,255,.76);
}
.mf-s3__knowhow{
  display:grid;
  grid-template-rows:auto auto;
  gap:clamp(14px,1.5vw,20px);
  min-width:0;
  align-content:center;
}
.mf-s3__copy{
  min-width:0;
}
.mf-s3__copy .mf-kicker{
  margin-bottom:8px;
}
.mf-s3__copy h3{
  font-size:clamp(52px,5vw,80px);
  line-height:.9;
  letter-spacing:-.07em;
  color:#fff;
}
.mf-s3__copy p{
  max-width:520px;
  margin:12px 0 0;
  font-size:14px;
  line-height:1.5;
  color:rgba(255,255,255,.76);
}
.mf-s3__media{
  position:relative;
  width:100%;
  aspect-ratio:3 / 2;
  margin:0;
  overflow:hidden;
  border-radius:24px;
  background:#efefef;
  box-shadow:0 16px 38px rgba(17,17,17,.12);
}
.mf-s3__media img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}
.mf-s3__media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,rgba(8,8,8,.16) 100%);
}
.mf-s3__caption{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:2;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:5px 9px;
  max-width:calc(100% - 28px);
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:13px;
  background:rgba(20,20,20,.35);
  color:#fff;
  box-shadow:0 9px 28px rgba(0,0,0,.12);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.mf-s3__caption strong{
  font-size:12px;
  line-height:1.2;
  letter-spacing:-.01em;
}
.mf-s3__caption span{
  font-size:10px;
  line-height:1.2;
  color:rgba(255,255,255,.72);
}

@media (min-width:901px) and (max-height:860px){
  .mf-s3{
    gap:18px;
    padding-top:70px;
    padding-bottom:34px;
  }
  .mf-s3__content{
    grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
    gap:clamp(34px,3.7vw,56px);
  }
  .mf-s3__fact{
    grid-template-columns:minmax(130px,.36fr) minmax(0,1fr);
    column-gap:22px;
    padding:9px 0 11px;
  }
  .mf-s3__fact>strong{
    font-size:clamp(42px,4vw,60px);
  }
  .mf-s3__fact>small{
    font-size:11.8px;
    line-height:1.4;
  }
  .mf-s3__copy h3{
    font-size:clamp(46px,4.3vw,66px);
  }
  .mf-s3__copy p{
    margin-top:8px;
    font-size:12.5px;
    line-height:1.42;
  }
  .mf-s3__knowhow{
    gap:10px;
  }
}

@media (max-width:900px){
  .mf-s3{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    align-items:start;
    align-content:start;
    gap:26px;
    padding-top:70px;
  }
  .mf-s3__head{
    max-width:none;
  }
  .mf-s3__content{
    display:flex;
    flex-direction:column;
    gap:28px;
  }
  .mf-s3__facts{
    display:flex;
    flex-direction:column;
  }
  .mf-s3__fact{
    display:block;
    min-height:0;
    padding:14px 0 16px;
  }
  .mf-s3__fact>span{
    margin-bottom:7px;
    font-size:10px;
  }
  .mf-s3__fact>strong{
    width:auto;
    max-width:none;
    margin:0 0 9px;
    font-size:clamp(46px,14vw,62px);
    line-height:.88;
  }
  .mf-s3__fact>small{
    max-width:36rem;
    padding:0;
    font-size:13px;
    line-height:1.45;
  }
  .mf-s3__knowhow{
    gap:16px;
    align-content:start;
  }
  .mf-s3__copy .mf-kicker{
    margin-bottom:8px;
  }
  .mf-s3__copy h3{
    font-size:clamp(50px,15vw,66px);
  }
  .mf-s3__copy p{
    margin-top:10px;
    font-size:13.5px;
    line-height:1.48;
  }
  .mf-s3__media{
    width:100%;
    aspect-ratio:3 / 2;
    border-radius:20px;
  }
  .mf-s3__caption{
    left:12px;
    bottom:12px;
    max-width:calc(100% - 24px);
    padding:8px 10px;
    border-radius:12px;
  }
}

@media (max-width:380px){
  .mf-s3{
    gap:22px;
  }
  .mf-s3__content{
    gap:24px;
  }
  .mf-s3__fact{
    padding:13px 0 14px;
  }
  .mf-s3__fact>strong{
    font-size:44px;
  }
  .mf-s3__fact>small{
    font-size:12.5px;
  }
  .mf-s3__copy p{
    font-size:13px;
  }
}


/* v2.0.22 — slide 03 desktop fact labels visually attached to figures */
@media (min-width:901px){
  .mf-s3__fact{
    grid-template-rows:auto auto;
    row-gap:0;
    padding:9px 0 10px;
  }
  .mf-s3__fact>span{
    grid-column:1;
    grid-row:1;
    align-self:end;
    margin:0 0 3px;
  }
  .mf-s3__fact>strong{
    grid-column:1;
    grid-row:2;
  }
  .mf-s3__fact>small{
    grid-column:2;
    grid-row:1 / 3;
    align-self:end;
  }
}

@media (min-width:901px) and (max-height:860px){
  .mf-s3__fact{
    padding:7px 0 8px;
  }
  .mf-s3__fact>span{
    margin-bottom:2px;
  }
}

/* v2.0.24 — slide 03 desktop: headline joins the left column, know-how rises right */
@media (min-width:901px){
  .mf-s3{
    grid-template-columns:minmax(0,1.14fr) minmax(320px,.86fr);
    grid-template-rows:auto minmax(0,1fr);
    grid-template-areas:
      "head knowhow"
      "facts knowhow";
    column-gap:clamp(48px,5vw,82px);
    row-gap:clamp(18px,2vw,28px);
    align-content:center;
    align-items:start;
  }
  .mf-s3__head{
    grid-area:head;
    max-width:none;
    align-self:start;
  }
  .mf-s3__head h2{
    max-width:780px;
  }
  .mf-s3__content{
    display:contents;
  }
  .mf-s3__facts{
    grid-area:facts;
    align-content:start;
    align-self:start;
  }
  .mf-s3__knowhow{
    grid-area:knowhow;
    align-self:start;
    align-content:start;
    padding-top:0;
  }
}

@media (min-width:901px) and (max-height:860px){
  .mf-s3{
    grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
    column-gap:clamp(38px,4vw,62px);
    row-gap:14px;
    align-content:center;
  }
  .mf-s3__head h2{
    max-width:760px;
    font-size:clamp(42px,4vw,62px);
  }
}


/* v2.0.25 — desktop landing flow
   The existing 11 content blocks are preserved. Only the desktop presentation
   changes from a stacked deck to a natural full-width landing-page flow. */
@media (min-width:901px){
  :root{
    --mf-header-h:78px;
    --mf-landing-section-y:clamp(88px,10vh,132px);
    --mf-landing-inline:max(var(--mf-gutter),calc((100vw - var(--mf-page))/2));
  }

  html{scroll-padding-top:calc(var(--mf-header-h) + 18px)}

  /* Full-width fixed desktop header built from the existing side-nav markup. */
  .mf-header{
    position:fixed;
    inset:0 0 auto;
    z-index:145;
    height:var(--mf-header-h);
    background:rgba(251,251,248,.94);
    border-bottom:1px solid rgba(17,17,17,.08);
    box-shadow:none;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    pointer-events:auto;
    transition:background .2s ease,box-shadow .2s ease;
  }
  .mf-header.is-scrolled{
    background:rgba(255,255,255,.97);
    box-shadow:0 10px 28px rgba(17,17,17,.07);
  }
  .mf-side-header{
    position:relative;
    inset:auto;
    z-index:auto;
    width:min(var(--mf-page),calc(100% - (var(--mf-gutter) * 2)));
    height:100%;
    margin:0 auto;
    transform:none;
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:clamp(22px,2.8vw,42px);
    pointer-events:auto;
  }
  .mf-side-brand{
    position:relative;
    width:auto;
    height:auto;
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:11px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    transition:none;
  }
  .mf-side-brand:hover{transform:none;box-shadow:none}
  .mf-side-brand img{width:42px;height:42px}
  .mf-side-brand>span{
    position:static;
    display:block;
    transform:none;
    opacity:1;
    pointer-events:auto;
    padding:0;
    border-radius:0;
    background:transparent;
    color:var(--mf-ink);
    box-shadow:none;
    font-size:15px;
    line-height:1;
    font-weight:720;
    letter-spacing:-.025em;
  }
  .mf-side-brand:hover>span,.mf-side-brand:focus-visible>span{transform:none;opacity:1}

  .mf-side-nav{
    min-width:0;
    margin-left:auto;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    gap:4px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }
  .mf-side-nav>a,.mf-side-nav>button{
    position:relative;
    width:auto;
    height:44px;
    min-width:0;
    padding:0 12px;
    border:0;
    border-radius:14px;
    background:transparent;
    color:var(--mf-ink);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    white-space:nowrap;
    transition:background .16s ease,transform .16s ease,box-shadow .16s ease;
  }
  .mf-side-nav>a:hover,.mf-side-nav>button:hover{background:rgba(17,17,17,.055);transform:none}
  .mf-side-nav>a:nth-child(-n+3) .mf-side-nav__icon{display:none}
  .mf-side-nav>a:nth-child(4){margin-left:8px;padding-left:16px;border-left:1px solid rgba(17,17,17,.1);border-radius:0 14px 14px 0}
  .mf-side-nav>button{
    margin-left:6px;
    padding:0 17px;
    background:var(--mf-yellow);
    box-shadow:0 8px 24px rgba(255,202,0,.18);
    font-weight:700;
  }
  .mf-side-nav>button:hover{background:var(--mf-yellow-hover);box-shadow:0 10px 28px rgba(255,202,0,.25)}
  .mf-side-nav__icon{
    width:auto;
    height:auto;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:0;
  }
  .mf-side-nav__icon svg{width:17px;height:17px;stroke-width:1.9}
  .mf-side-nav__icon--accent{background:transparent}
  .mf-side-nav__label{
    position:static;
    display:block;
    transform:none;
    opacity:1;
    pointer-events:auto;
    padding:0;
    border-radius:0;
    background:transparent;
    color:inherit;
    box-shadow:none;
    font-size:13px;
    line-height:1;
    font-weight:620;
  }
  .mf-side-nav>a:hover .mf-side-nav__label,.mf-side-nav>a:focus-visible .mf-side-nav__label,
  .mf-side-nav>button:hover .mf-side-nav__label,.mf-side-nav>button:focus-visible .mf-side-nav__label{
    transform:none;
    opacity:1;
  }
  .mf-mobile-header{display:none}

  /* Natural document flow: no sticky/deck geometry, no rounded presentation cards. */
  .mf-progress{top:var(--mf-header-h);height:2px;z-index:144}
  .mf-story,
  .mf-story.is-deck-ready{
    height:auto!important;
    padding:var(--mf-header-h) 0 0!important;
    background:var(--mf-warm);
  }
  .mf-story__deck{
    position:static!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .mf-stage,
  .mf-stage--final,
  .mf-story.is-deck-ready .mf-stage,
  .mf-story.is-deck-ready .mf-stage--final{
    position:relative!important;
    inset:auto!important;
    z-index:auto!important;
    width:100%;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    scroll-margin-top:var(--mf-header-h);
  }
  .mf-stage.is-interactive .mf-slide,
  .mf-story.is-deck-ready .mf-stage .mf-slide,
  .mf-story.is-deck-ready .mf-stage.is-interactive .mf-slide{
    pointer-events:auto!important;
  }
  .mf-slide,
  .mf-story.is-deck-ready .mf-slide{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:calc(100svh - var(--mf-header-h));
    margin:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden;
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    isolation:isolate;
  }
  .mf-slide::after{display:none}

  /* Shared landing rhythm for every standard screen. */
  .mf-slide__grid{
    width:min(var(--mf-page),calc(100% - (var(--mf-gutter) * 2)));
    min-height:calc(100svh - var(--mf-header-h));
    height:auto!important;
    margin:0 auto;
    padding:var(--mf-landing-section-y) 0!important;
    align-content:center;
  }
  .mf-slide__meta{
    top:clamp(24px,3.4vh,36px);
    left:var(--mf-landing-inline);
    right:var(--mf-landing-inline);
  }

  /* Gallery and final screen do not use the generic grid wrapper. */
  .mf-slide--gallery{
    min-height:calc(100svh - var(--mf-header-h));
    padding:var(--mf-landing-section-y) var(--mf-landing-inline)!important;
  }
  .mf-gallery-slider-wrap{min-height:clamp(420px,52vh,680px)}
  .mf-final-grid{
    width:min(var(--mf-page),calc(100% - (var(--mf-gutter) * 2)));
    min-height:calc(100svh - var(--mf-header-h));
    height:auto!important;
    margin:0 auto;
    padding:var(--mf-landing-section-y) 0!important;
  }
  .mf-final-arrow{
    left:var(--mf-landing-inline);
    right:var(--mf-landing-inline);
    bottom:28px;
  }

  /* Landing sections may grow beyond one viewport on short screens instead of
     compressing content or overflowing the old slide frame. */
  .mf-media-slider--hero{height:clamp(440px,58vh,650px)}
  .mf-media-slider--economics{min-height:440px;height:clamp(440px,56vh,620px)}
  .mf-media-slider--start{height:clamp(360px,46vh,520px);min-height:320px}
  .mf-media-slider--community{height:clamp(420px,54vh,620px);min-height:380px}

  /* The desktop landing no longer needs the old floating chat control because
     the persistent header already contains the primary contact CTA. */
  .mf-float-button--chat{display:none}

  /* Full-width footer; its existing content and hierarchy remain unchanged. */
  .mf-footer,
  .mf-tariffs-page + .mf-footer,
  .mf-legal + .mf-footer,
  .mf-simple-page + .mf-footer{
    width:100%;
    margin:0;
    padding:0!important;
    background:#111;
    color:#fff;
  }
  .mf-footer__panel{
    width:100%;
    max-width:none;
    margin:0;
    padding:clamp(48px,5vw,76px) var(--mf-landing-inline) 30px;
    border-radius:0;
    background:#111;
    box-shadow:none;
  }

  /* Keep inner pages clear of the newly restored fixed desktop header. */
  .mf-legal{padding-top:calc(var(--mf-header-h) + 54px)}
}

@media (min-width:901px) and (max-width:1120px){
  .mf-side-header{gap:16px}
  .mf-side-brand>span{font-size:13px}
  .mf-side-nav>a,.mf-side-nav>button{padding-left:9px;padding-right:9px}
  .mf-side-nav>button{padding-left:13px;padding-right:13px}
  .mf-side-nav__label{font-size:12px}
  .mf-side-nav>a:nth-child(4){margin-left:3px;padding-left:11px}
}

@media (min-width:901px) and (max-height:760px){
  :root{--mf-landing-section-y:clamp(66px,8vh,88px)}
  .mf-slide__meta{top:20px}
  .mf-slide__grid,.mf-final-grid{align-content:center}
}

/* v2.0.26 — landing cleanup, sales header, inner-page alignment */
@media (min-width:901px){
  /* Header brand follows the footer's two-line brand treatment. */
  .mf-side-brand__text{
    display:flex!important;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    line-height:1.02;
  }
  .mf-side-brand__text strong{
    font-size:15px;
    line-height:1;
    font-weight:760;
    letter-spacing:-.03em;
  }
  .mf-side-brand__text small{
    margin-top:4px;
    color:var(--mf-muted);
    font-size:9px;
    line-height:1;
    font-weight:680;
    letter-spacing:.13em;
    text-transform:uppercase;
  }

  /* The landing now has more sales-oriented anchors. */
  .mf-side-nav{gap:1px}
  .mf-side-nav>a:nth-child(4){
    margin-left:0;
    padding-left:12px;
    border-left:0;
    border-radius:14px;
  }
  .mf-side-nav__item{padding-left:9px!important;padding-right:9px!important}
  .mf-side-nav__item .mf-side-nav__label{font-size:12px;font-weight:620}

  /* Phone is a contact link, not a CTA button. */
  .mf-side-nav>a.mf-side-nav__phone{
    margin-left:8px;
    padding:0 0 0 15px;
    border-left:1px solid rgba(17,17,17,.1);
    border-radius:0;
    background:transparent;
  }
  .mf-side-nav>a.mf-side-nav__phone:hover,
  .mf-side-nav>a.mf-side-nav__phone:focus-visible{
    background:transparent!important;
    color:var(--mf-purple);
    box-shadow:none;
    transform:none;
  }
  .mf-side-nav__phone .mf-side-nav__label{font-size:12px;font-weight:670}
  .mf-side-nav__phone .mf-side-nav__icon svg{width:16px;height:16px}

  /* Old slide presentation affordances are gone from markup; reserve no space for them. */
  .mf-slide__grid{padding-top:var(--mf-landing-section-y)!important}

  /* All desktop photo sliders are immediately visible in the landing flow.
     The former slide entrance observer must never leave a gallery transparent. */
  .mf-story [data-media-slider][data-photo]{
    opacity:1!important;
    transform:none!important;
  }

  /* Economics: use the new flexible vertical space and let photography carry
     more visual weight beside the approved calculation block. */
  #economics .mf-slide__grid--money{
    align-items:stretch;
    gap:clamp(38px,4vw,68px);
  }
  #economics .mf-media-slider--economics{
    height:auto!important;
    min-height:clamp(540px,68vh,760px)!important;
    align-self:stretch;
  }

  /* Projects: the old fixed-slide assumptions made the media area too shallow.
     Give the real object gallery a proper landing-page scale. */
  #projects .mf-slide--gallery{
    padding-left:max(var(--mf-gutter),calc((100vw - 1560px)/2))!important;
    padding-right:max(var(--mf-gutter),calc((100vw - 1560px)/2))!important;
  }
  #projects .mf-gallery-slider-wrap{
    flex:none;
    width:100%;
    height:clamp(560px,68vh,780px);
    min-height:560px;
    margin-top:clamp(28px,4vh,44px);
  }
  #projects .mf-media-slider--gallery{
    width:100%;
    height:100%;
    min-height:0;
  }

  /* Tariffs page stays a comparison page rather than becoming another landing
     section. Its content width is simply aligned with the new site shell. */
  .mf-tariffs-hero__inner,
  .mf-tariff-comparison__inner{width:min(var(--mf-page),100%)}

  /* Sticky tariff comparison header becomes a real secondary header below the
     main navigation instead of disappearing behind it. */
  .mf-tariff-head--page{
    top:var(--mf-header-h)!important;
    z-index:140!important;
    border-top:0!important;
    border-radius:0 0 18px 18px!important;
    background:rgba(251,251,248,.96)!important;
    box-shadow:0 12px 30px rgba(17,17,17,.08)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    transition:box-shadow .2s ease,background .2s ease;
  }
  .mf-tariff-head--page>div,
  .mf-tariff-head--page>button{background:rgba(255,255,255,.84)}
  .mf-tariff-head--page>button.is-recommended{background:rgba(242,236,251,.94)}

  /* Legal pages keep the calmer document width — that is more readable than a
     full landing layout — but align with the current fixed header rhythm. */
  .mf-legal{
    padding-top:calc(var(--mf-header-h) + 48px)!important;
    padding-bottom:58px;
  }
  .mf-legal__inner{width:min(1180px,100%)}
  .mf-legal__document{border-radius:26px}

  /* 404 is a purposeful route back into the sales flow. */
  .mf-error-page{
    min-height:calc(100svh - var(--mf-header-h));
    display:flex;
    align-items:center;
    padding-top:calc(var(--mf-header-h) + 54px)!important;
    padding-bottom:72px;
    background:var(--mf-warm);
  }
  .mf-error-page .mf-simple-page__inner{position:relative;width:min(980px,100%)}
  .mf-error-page__code{
    display:block;
    margin-bottom:10px;
    color:var(--mf-purple);
    font-size:clamp(84px,12vw,170px);
    line-height:.72;
    font-weight:800;
    letter-spacing:-.09em;
    opacity:.12;
  }
  .mf-error-page h1{max-width:720px}
  .mf-error-page__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
}

@media (min-width:901px) and (max-width:1340px){
  .mf-side-nav__item--optional{display:none!important}
}

@media (min-width:901px) and (max-width:1060px){
  .mf-side-nav__item--medium{display:none!important}
  .mf-side-header{gap:12px}
  .mf-side-brand__text strong{font-size:14px}
  .mf-side-nav__item{padding-left:7px!important;padding-right:7px!important}
  .mf-side-nav>a.mf-side-nav__phone{margin-left:4px;padding-left:10px}
  .mf-side-nav>button{margin-left:3px;padding-left:12px;padding-right:12px}
}

@media (max-width:900px){
  .mf-error-page__code{
    display:block;
    margin-bottom:12px;
    color:var(--mf-purple);
    font-size:clamp(72px,25vw,120px);
    line-height:.75;
    font-weight:800;
    letter-spacing:-.08em;
    opacity:.12;
  }
  .mf-error-page__actions{display:grid;gap:9px;margin-top:24px}
  .mf-error-page__actions .mf-button{width:100%}
}


/* v2.0.27 — unified landing shell, responsive headers and typography audit */

/* Typography scale: keep utility text readable and remove accidental 7–10px
   remnants from the former presentation layout. */
:root{
  --mf-type-xs:12px;
  --mf-type-sm:13px;
  --mf-type-body:15px;
  --mf-inner-bg:#f8f8f6;
}
.mf-kicker{font-size:var(--mf-type-xs)}
.mf-plan-card__badge,
.mf-plan-card__eyebrow,
.mf-tariffs-facts small,
.mf-tariffs-guide__label,
.mf-tariff-group__count,
.mf-footer__label,
.mf-footer__bottom,
.mf-tariff-head__plan,
.mf-tariff-head--page>button>small:last-child,
.mf-tariff-head__badge,
.mf-build-chart__head>small,
.mf-build-chart__labels,
.mf-tariff-row__note,
.mf-photo-caption span,
.mf-media-slider__caption span{
  font-size:var(--mf-type-xs);
}
.mf-photo-caption strong,.mf-media-slider__caption strong{font-size:var(--mf-type-sm)}
.mf-check{font-size:12px}
.mf-money-main .mf-fineprint{font-size:11px;line-height:1.45}

/* Inner pages use the same light-neutral family as the new landing shell. */
.mf-tariffs-page,
.mf-tariffs-hero,
.mf-tariff-comparison,
.mf-legal,
.mf-simple-page,
.mf-error-page{
  background:var(--mf-inner-bg)!important;
}
.mf-legal__document{background:#fff}

@media (min-width:901px){
  :root{
    --mf-header-h:82px;
  }

  /* Main desktop header: stronger brand and navigation hierarchy. */
  .mf-side-header{
    gap:clamp(18px,2vw,34px);
  }
  .mf-side-brand{gap:12px}
  .mf-side-brand img{width:44px;height:44px}
  .mf-side-brand__text strong{
    font-size:17px;
    line-height:1;
    font-weight:780;
  }
  .mf-side-brand__text small{
    margin-top:5px;
    font-size:11px;
    letter-spacing:.12em;
  }
  .mf-side-nav{gap:2px}
  .mf-side-nav__item .mf-side-nav__label{
    font-size:14px;
    font-weight:630;
  }
  .mf-side-nav__phone .mf-side-nav__label{
    font-size:13px;
    font-weight:680;
  }
  .mf-side-nav>a.mf-side-nav__phone{
    margin-left:10px;
    padding-left:16px;
  }
  .mf-side-nav>button{
    margin-left:20px;
    padding-left:18px;
    padding-right:18px;
  }
  .mf-side-nav>button .mf-side-nav__label{font-size:13px;font-weight:720}

  /* Full-bleed tariff secondary header with its content aligned to the same
     central shell as the primary header. */
  .mf-tariff-head--page{
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    padding-left:max(var(--mf-gutter),calc((100vw - var(--mf-page))/2));
    padding-right:max(var(--mf-gutter),calc((100vw - var(--mf-page))/2));
    top:var(--mf-header-h)!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    background:rgba(255,255,255,.965)!important;
    box-shadow:0 10px 26px rgba(17,17,17,.075)!important;
  }
  .mf-tariff-head--page>div,
  .mf-tariff-head--page>button{
    min-height:76px;
  }
  .mf-tariff-head--page>button strong{font-size:20px}
  .mf-tariff-head__context>strong{font-size:19px}
  .mf-tariff-head__badge{font-size:10px}

  /* More coherent typography on tariff and legal routes. */
  .mf-tariffs-facts small,.mf-tariffs-guide__label{font-size:12px}
  .mf-tariff-group--card summary .mf-tariff-group__title small{font-size:13px}
  .mf-tariff-group__count{font-size:12px}
  .mf-tariff-group--card .mf-tariff-cell small{font-size:12px}
  .mf-legal__back,.mf-legal__meta{font-size:13px!important}
  .mf-legal p,.mf-legal li{font-size:15px}

  /* Regular desktop screens: header + one landing section exactly fill the
     viewport. Short laptop displays fall back to natural document height below. */
  @media (min-height:820px){
    .mf-slide,
    .mf-story.is-deck-ready .mf-slide{
      height:calc(100svh - var(--mf-header-h))!important;
      min-height:0!important;
    }
    .mf-slide__grid{
      height:100%!important;
      min-height:0!important;
    }
    .mf-slide--gallery{
      height:calc(100svh - var(--mf-header-h))!important;
      min-height:0!important;
    }
    .mf-final-grid{
      height:calc(100svh - var(--mf-header-h))!important;
      min-height:0!important;
    }
    #projects .mf-gallery-slider-wrap{
      height:clamp(430px,55vh,650px);
      min-height:0;
    }
  }

  @media (max-height:819px){
    .mf-slide,
    .mf-story.is-deck-ready .mf-slide,
    .mf-slide--gallery,
    .mf-final-grid{
      height:auto!important;
      min-height:0!important;
    }
    .mf-slide__grid{height:auto!important;min-height:0!important}
  }
}

@media (min-width:901px) and (max-width:1340px){
  /* Larger menu type is preserved; optional anchors collapse before the header
     becomes crowded. */
  .mf-side-nav__item .mf-side-nav__label{font-size:13px}
  .mf-side-nav>button{margin-left:14px}
}

@media (min-width:901px) and (max-width:1080px){
  .mf-side-brand__text strong{font-size:16px}
  .mf-side-brand__text small{font-size:10px}
  .mf-side-nav__item .mf-side-nav__label{font-size:13px}
  .mf-side-nav__phone .mf-side-nav__label{font-size:12px}
  .mf-side-nav>button{margin-left:10px}
}

@media (max-width:900px){
  :root{
    --mf-header-h:68px;
    --mf-mobile-header-h:68px;
  }
  html{scroll-padding-top:calc(var(--mf-mobile-header-h) + 12px)}

  /* Mobile becomes a normal full-width landing header rather than a floating
     presentation control. */
  .mf-header{
    position:fixed;
    inset:0 0 auto;
    z-index:145;
    height:var(--mf-mobile-header-h);
    background:rgba(255,255,255,.965);
    border-bottom:1px solid rgba(17,17,17,.08);
    box-shadow:0 8px 24px rgba(17,17,17,.06);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    pointer-events:auto;
  }
  .mf-mobile-header{
    position:relative;
    inset:auto;
    z-index:auto;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:0 14px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }
  .mf-mobile-brand{
    width:auto;
    height:auto;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    border-radius:0;
  }
  .mf-mobile-brand img{width:38px;height:38px;flex:0 0 auto}
  .mf-mobile-brand__text{
    min-width:0;
    display:flex;
    flex-direction:column;
    line-height:1;
  }
  .mf-mobile-brand__text strong{
    font-size:15px;
    font-weight:780;
    letter-spacing:-.03em;
  }
  .mf-mobile-brand__text small{
    margin-top:4px;
    color:var(--mf-muted);
    font-size:10px;
    font-weight:680;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .mf-menu-toggle{
    display:flex;
    width:42px;
    height:42px;
    flex:0 0 auto;
    border-radius:13px;
    background:#f4f4f1;
  }

  .mf-mobile-menu{
    position:fixed;
    top:var(--mf-mobile-header-h);
    left:0;
    right:0;
    width:100%;
    max-height:calc(100dvh - var(--mf-mobile-header-h));
    overflow:auto;
    border:0;
    border-bottom:1px solid var(--mf-border);
    border-radius:0 0 22px 22px;
    background:rgba(255,255,255,.985);
    box-shadow:0 20px 42px rgba(17,17,17,.12);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .mf-mobile-menu nav{width:100%;padding:10px 18px 22px}
  .mf-mobile-menu a{
    min-height:48px;
    display:flex;
    align-items:center;
    padding:10px 2px;
    font-size:17px;
    line-height:1.25;
    font-weight:640;
  }
  .mf-mobile-menu a+a{border-top:1px solid rgba(17,17,17,.07)}
  .mf-mobile-menu .mf-button{width:100%;margin-top:14px}

  /* Remove the last card/deck cues from mobile. Content and its approved inner
     layouts stay intact; only the page shell becomes a continuous landing. */
  .mf-story,
  .mf-story.is-deck-ready{
    height:auto!important;
    padding:var(--mf-mobile-header-h) 0 0!important;
    background:var(--mf-warm);
  }
  .mf-stage,
  .mf-stage--final,
  .mf-story.is-deck-ready .mf-stage,
  .mf-story.is-deck-ready .mf-stage--final{
    width:100%;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  .mf-slide,
  .mf-story.is-deck-ready .mf-slide{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    transform:none!important;
    filter:none!important;
  }
  .mf-slide::after{display:none!important}
  .mf-slide__grid{
    height:auto!important;
    min-height:0!important;
    padding-top:clamp(60px,13vw,78px)!important;
    padding-bottom:clamp(56px,12vw,72px)!important;
  }
  .mf-slide--gallery{
    padding-top:clamp(60px,13vw,78px)!important;
    padding-bottom:clamp(56px,12vw,72px)!important;
    border-radius:0!important;
  }
  .mf-final-grid{
    height:auto!important;
    min-height:0!important;
    padding-top:clamp(62px,13vw,80px)!important;
    padding-bottom:clamp(64px,13vw,82px)!important;
  }

  /* Full-width mobile footer to match the landing shell. */
  .mf-footer,
  .mf-tariffs-page + .mf-footer,
  .mf-legal + .mf-footer,
  .mf-simple-page + .mf-footer{
    width:100%;
    margin:0;
    padding:0!important;
  }
  .mf-footer__panel{
    width:100%;
    max-width:none;
    margin:0;
    padding:52px 18px 24px;
    border-radius:0;
    box-shadow:none;
  }
  .mf-footer__label,.mf-footer__bottom{font-size:12px}
  .mf-footer__brand small{font-size:11px}

  /* Inner pages now acknowledge the real fixed mobile header. */
  .mf-tariffs-hero{
    padding-top:calc(var(--mf-mobile-header-h) + 36px)!important;
    background:var(--mf-inner-bg)!important;
  }
  .mf-tariff-comparison{background:var(--mf-inner-bg)!important}
  .mf-tariff-mobile-switch{
    top:calc(var(--mf-mobile-header-h) + 8px)!important;
  }
  .mf-legal,
  .mf-simple-page,
  .mf-error-page{
    padding-top:calc(var(--mf-mobile-header-h) + 30px)!important;
    background:var(--mf-inner-bg)!important;
  }

  /* Mobile typography audit: small text remains secondary, but not illegible. */
  .mf-kicker{font-size:11px}
  .mf-photo-caption strong,.mf-media-slider__caption strong{font-size:12px}
  .mf-photo-caption span,.mf-media-slider__caption span{font-size:11px}
  .mf-tariffs-facts small,
  .mf-tariffs-guide__label,
  .mf-tariff-group--card summary .mf-tariff-group__title small,
  .mf-tariff-group--card .mf-tariff-cell small,
  .mf-tariff-row__note,
  .mf-money-main .mf-fineprint{
    font-size:11px!important;
  }
  .mf-tariff-group--card .mf-tariff-row__criterion{font-size:14px}
  .mf-legal p,.mf-legal li{font-size:14px}
  .mf-check{font-size:12px}
}

@media (max-width:380px){
  .mf-mobile-brand__text strong{font-size:14px}
  .mf-mobile-brand__text small{font-size:9px}
}


/* v2.0.28 — tariff column alignment + economics breathing room + projects as background media */

@media (min-width:901px){
  /* Tariffs: one geometry for both the table head and every advantage row.
     The full-viewport treatment appears only after the head actually sticks. */
  .mf-tariffs-hero{
    padding-top:calc(var(--mf-header-h) + 56px)!important;
  }
  .mf-tariffs-hero__inner{
    width:min(var(--mf-page),calc(100% - (var(--mf-gutter) * 2)))!important;
  }
  .mf-tariff-comparison__inner{
    width:min(1520px,calc(100% - (var(--mf-gutter) * 2)))!important;
  }
  .mf-tariff-table--cards{
    --mf-tariff-criterion:minmax(460px,1.78fr);
    --mf-tariff-plan:minmax(180px,.58fr);
    width:100%;
    border-top:0;
  }
  .mf-tariff-head--page,
  .mf-tariff-group--card .mf-tariff-row{
    grid-template-columns:var(--mf-tariff-criterion) repeat(3,var(--mf-tariff-plan))!important;
  }

  .mf-tariff-head--page{
    position:sticky;
    top:var(--mf-header-h)!important;
    z-index:140!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    padding-left:0!important;
    padding-right:0!important;
    border:1px solid #dfded8!important;
    border-radius:18px!important;
    overflow:visible!important;
    isolation:isolate;
    background:#fff!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    transition:border-color .2s ease,border-radius .2s ease,background .2s ease;
  }
  .mf-tariff-head--page::before{
    content:"";
    position:absolute;
    z-index:-1;
    top:0;
    bottom:0;
    left:50%;
    width:100vw;
    transform:translateX(-50%);
    pointer-events:none;
    opacity:0;
    background:rgba(255,255,255,.965);
    border-bottom:1px solid rgba(17,17,17,.09);
    box-shadow:0 12px 30px rgba(17,17,17,.08);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    transition:opacity .2s ease;
  }
  .mf-tariff-head--page:not(.is-stuck){
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .mf-tariff-head--page.is-stuck{
    border-color:transparent!important;
    border-radius:0!important;
    overflow:visible!important;
    background:transparent!important;
  }
  .mf-tariff-head--page.is-stuck::before{opacity:1}
  .mf-tariff-head--page>div,
  .mf-tariff-head--page>button{
    min-height:78px;
    background:#fff!important;
  }
  .mf-tariff-head--page>button.is-recommended{
    background:var(--mf-purple-soft)!important;
  }

  /* Remove the inset that used to make advantage rows narrower than the head. */
  .mf-tariff-group__rows{
    padding:0 0 12px!important;
  }
  .mf-tariff-group--card .mf-tariff-row__criterion{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .mf-tariff-group--card .mf-tariff-cell{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .mf-tariff-group--card .mf-tariff-row{
    width:100%;
  }

  /* Economics: the photography no longer stretches almost from edge to edge.
     A slightly smaller one-line heading gives the screen real top/bottom air. */
  #economics .mf-slide__grid--money{
    align-items:stretch!important;
    padding-top:clamp(76px,8.5vh,104px)!important;
    padding-bottom:clamp(76px,8.5vh,104px)!important;
  }
  #economics .mf-money-main{
    display:grid;
    grid-template-rows:auto 1fr;
    align-self:stretch;
    min-height:clamp(570px,63vh,690px);
  }
  #economics .mf-money-head h2{
    width:max-content;
    max-width:100%;
    white-space:nowrap;
    font-size:clamp(44px,4.35vw,66px)!important;
    line-height:.94;
  }
  #economics .mf-money-table-wrap{
    align-self:end;
    margin-top:clamp(30px,4vh,48px)!important;
  }
  #economics .mf-media-slider--economics{
    align-self:stretch!important;
    height:100%!important;
    min-height:0!important;
  }

  /* Projects: existing project photos become the background of the whole screen.
     The old visible slider chrome disappears, while autoplay quietly crossfades
     the same ten real project images behind the content. */
  #projects .mf-slide--gallery{
    position:relative;
    min-height:calc(100svh - var(--mf-header-h));
    display:flex!important;
    flex-direction:column;
    justify-content:flex-start;
    isolation:isolate;
    overflow:hidden;
    padding:clamp(96px,11vh,138px) var(--mf-landing-inline)!important;
    background:#171717!important;
    color:#fff;
  }
  #projects .mf-slide--gallery::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(180deg,rgba(8,8,10,.72) 0%,rgba(8,8,10,.46) 38%,rgba(8,8,10,.28) 63%,rgba(8,8,10,.64) 100%),
      linear-gradient(90deg,rgba(8,8,10,.28),transparent 68%);
  }
  #projects .mf-gallery-head{
    position:relative;
    z-index:3;
    width:100%;
    max-width:var(--mf-page);
    margin:0 auto;
    align-items:start;
  }
  #projects .mf-gallery-head .mf-kicker,
  #projects .mf-gallery-head h2,
  #projects .mf-gallery-head p:last-child{
    color:#fff!important;
  }
  #projects .mf-gallery-head p:last-child{
    color:rgba(255,255,255,.86)!important;
    text-shadow:0 2px 18px rgba(0,0,0,.18);
  }
  #projects .mf-gallery-head h2{
    text-shadow:0 3px 28px rgba(0,0,0,.2);
  }
  #projects .mf-gallery-slider-wrap{
    position:absolute!important;
    inset:0!important;
    z-index:auto;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
  }
  #projects .mf-media-slider--gallery{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    border-radius:0!important;
    background:#171717;
    box-shadow:none!important;
  }
  #projects .mf-media-slider--gallery .mf-media-slider__viewport,
  #projects .mf-media-slider--gallery .mf-media-slider__slide{
    border-radius:0!important;
  }
  #projects .mf-media-slider--gallery .mf-media-slider__slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
  #projects .mf-media-slider--gallery .mf-media-slider__slide::after,
  #projects .mf-media-slider--gallery .mf-media-slider__caption,
  #projects .mf-media-slider--gallery .mf-media-slider__counter{
    display:none!important;
  }
  #projects .mf-media-slider--gallery .mf-media-slider__arrow{
    display:flex!important;
    top:50%!important;
    width:46px;
    height:46px;
    border:1px solid rgba(255,255,255,.28)!important;
    border-radius:15px;
    background:rgba(17,17,17,.22)!important;
    color:#fff;
    opacity:.76!important;
    transform:translateY(-50%)!important;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  #projects .mf-media-slider--gallery .mf-media-slider__arrow--prev{left:22px!important}
  #projects .mf-media-slider--gallery .mf-media-slider__arrow--next{right:22px!important}
  #projects .mf-media-slider--gallery .mf-media-slider__arrow:hover,
  #projects .mf-media-slider--gallery .mf-media-slider__arrow:focus-visible{
    opacity:1!important;
    background:rgba(17,17,17,.34)!important;
    border-color:rgba(255,255,255,.42)!important;
  }
  #projects .mf-gallery-slider-wrap>blockquote{
    position:absolute;
    z-index:4;
    right:var(--mf-landing-inline);
    bottom:clamp(72px,9vh,112px);
    width:min(460px,36vw);
    margin:0;
    color:#111;
    background:var(--mf-yellow);
  }
}

@media (min-width:901px) and (max-height:819px){
  #economics .mf-slide__grid--money{
    padding-top:64px!important;
    padding-bottom:64px!important;
  }
  #economics .mf-money-main{
    min-height:520px;
  }
  #economics .mf-media-slider--economics{
    height:100%!important;
    min-height:0!important;
  }
  #projects .mf-slide--gallery{
    min-height:680px!important;
    padding-top:78px!important;
    padding-bottom:78px!important;
  }
  #projects .mf-gallery-slider-wrap>blockquote{bottom:64px}
}

@media (min-width:901px) and (max-width:1180px){
  .mf-tariff-table--cards{
    --mf-tariff-criterion:minmax(390px,1.62fr);
    --mf-tariff-plan:minmax(145px,.58fr);
  }
  #economics .mf-money-head h2{font-size:clamp(42px,4.9vw,58px)!important}
  #projects .mf-gallery-slider-wrap>blockquote{width:min(430px,42vw)}
}

@media (max-width:900px){
  /* Projects gets the same background treatment on mobile, with enough natural
     height for the existing copy and yellow quote. */
  #projects .mf-slide--gallery{
    position:relative;
    min-height:720px!important;
    display:flex!important;
    flex-direction:column;
    isolation:isolate;
    overflow:hidden;
    padding:72px 18px 56px!important;
    background:#171717!important;
    color:#fff;
  }
  #projects .mf-slide--gallery::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(8,8,10,.74) 0%,rgba(8,8,10,.48) 44%,rgba(8,8,10,.34) 66%,rgba(8,8,10,.72) 100%);
  }
  #projects .mf-gallery-head{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
    width:100%;
    margin:0;
  }
  #projects .mf-gallery-head .mf-kicker,
  #projects .mf-gallery-head h2,
  #projects .mf-gallery-head p:last-child{color:#fff!important}
  #projects .mf-gallery-head p:last-child{color:rgba(255,255,255,.84)!important}
  #projects .mf-gallery-slider-wrap{
    position:absolute!important;
    inset:0!important;
    z-index:auto;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
  }
  #projects .mf-media-slider--gallery{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border-radius:0!important;
    box-shadow:none!important;
  }
  #projects .mf-media-slider--gallery .mf-media-slider__slide img{
    object-fit:cover;
    object-position:center center;
  }
  #projects .mf-media-slider--gallery .mf-media-slider__slide::after,
  #projects .mf-media-slider--gallery .mf-media-slider__caption,
  #projects .mf-media-slider--gallery .mf-media-slider__counter{display:none!important}
  #projects .mf-media-slider--gallery .mf-media-slider__arrow{
    display:flex!important;
    top:50%!important;
    width:40px;
    height:40px;
    border:1px solid rgba(255,255,255,.26)!important;
    border-radius:14px;
    background:rgba(17,17,17,.22)!important;
    color:#fff;
    opacity:.72!important;
    transform:translateY(-50%)!important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  #projects .mf-media-slider--gallery .mf-media-slider__arrow--prev{left:12px!important}
  #projects .mf-media-slider--gallery .mf-media-slider__arrow--next{right:12px!important}
  #projects .mf-gallery-slider-wrap>blockquote{
    z-index:4;
    left:18px;
    right:18px;
    bottom:54px;
    width:auto;
    max-width:none;
    margin:0;
    color:#111;
    background:var(--mf-yellow);
  }
}


/* v2.0.29 — tariff polish, stable economics numbers and background-gallery controls */
.mf-plan-card__badge,
.mf-tariff-head__badge{
  color:#111!important;
}
#economics .mf-money-metrics strong{
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}
#economics .mf-money-metrics [data-counter]{
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}


/* v2.0.30 — solid mobile header, blurred burger backdrop and iOS tap/focus hardening */
@media (max-width:900px){
  /* The mobile header is deliberately opaque: no page content or background
     should show through while scrolling. */
  .mf-header{
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 8px 24px rgba(17,17,17,.07)!important;
  }
  .mf-mobile-header{background:#fff!important}

  /* Keep the menu itself perfectly crisp and opaque. The page underneath gets
     the same modal-like blur treatment used by the lead dialog. */
  .mf-mobile-menu{
    z-index:2;
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 22px 54px rgba(17,17,17,.16)!important;
  }
  body.mf-mobile-menu-open::before{
    content:"";
    position:fixed;
    z-index:144;
    left:0;
    right:0;
    top:var(--mf-mobile-header-h);
    bottom:0;
    background:rgba(17,17,17,.20);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    pointer-events:auto;
    opacity:1;
  }
}

/* iPhone/iPad Safari: prevent CSS tap-zoom/elevation and Safari's automatic
   form-control zoom, while preserving normal pinch-to-zoom accessibility. */
@supports (-webkit-touch-callout:none){
  @media (hover:none) and (pointer:coarse){
    html{-webkit-text-size-adjust:100%}
    a,button,input,textarea,select,[role="button"]{
      -webkit-tap-highlight-color:transparent;
      touch-action:manipulation;
    }
    input,
    textarea,
    select,
    .mf-lead-form input[type="text"],
    .mf-lead-form input[type="tel"],
    .mf-lead-form input[type="email"],
    .mf-lead-form textarea{
      font-size:16px!important;
    }

    .mf-button:hover,
    .mf-button:active,
    .mf-plan-card:hover,
    .mf-plan-card:active,
    .mf-index-row:hover,
    .mf-index-row:active,
    .mf-photo-placeholder:hover,
    .mf-photo-placeholder:active,
    .mf-photo-placeholder.is-visible:hover,
    .mf-inside-grid>div:hover,
    .mf-inside-grid>div:active,
    .mf-float-button:hover,
    .mf-float-button:active,
    .mf-tariff-group--card .mf-tariff-row:hover,
    .mf-tariff-group--card .mf-tariff-row:active,
    .mf-tariff-head--page>button:hover,
    .mf-tariff-head--page>button:active{
      transform:none!important;
    }
    .mf-button:hover svg,
    .mf-button:active svg,
    .mf-text-link:hover svg,
    .mf-text-link:active svg,
    .mf-plan-card:hover em svg,
    .mf-plan-card:active em svg{
      transform:none!important;
    }
    .mf-media-slider__slide,
    .mf-media-slider__slide.is-active{
      transform:none!important;
      transition-property:opacity,visibility!important;
    }
  }
}

/* v2.0.31 — utility topbar, cleaner primary header, hero as background media,
   unified form feedback and marketing icon refresh */

/* Shared topbar */
.mf-topbar{
  flex:0 0 var(--mf-topbar-h,32px);
  height:var(--mf-topbar-h,32px);
  background:#f4f4f1;
  border-bottom:1px solid rgba(17,17,17,.07);
  color:#4e4e49;
}
.mf-topbar__inner{
  width:min(var(--mf-page),calc(100% - (var(--mf-gutter) * 2)));
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.mf-topbar__tagline{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  line-height:1;
  font-weight:610;
  letter-spacing:.01em;
  color:#66665f;
}
.mf-topbar__contacts{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  min-width:0;
}
.mf-topbar__contact{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#3f3f3a;
  font-size:11px;
  line-height:1;
  font-weight:620;
  white-space:nowrap;
  transition:color .16s ease;
}
.mf-topbar__contact:hover{color:var(--mf-purple)}
.mf-topbar__contact svg{width:13px;height:13px;flex:0 0 auto;stroke-width:1.9}

/* First screen: keep the existing media slider, but use it as the full-screen
   photographic background instead of a separate card. */
.mf-stage--hero .mf-slide--dark{position:relative;background:#101010}
.mf-stage--hero .mf-slide__grid--hero{
  grid-template-columns:1fr!important;
  position:relative;
  z-index:2;
}
.mf-stage--hero .mf-hero-copy{
  max-width:780px;
  text-shadow:0 2px 22px rgba(0,0,0,.16);
}
.mf-stage--hero .mf-media-slider--hero{
  position:absolute!important;
  inset:0!important;
  z-index:0;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  border-radius:0!important;
  background:#111;
  box-shadow:none!important;
}
.mf-stage--hero .mf-media-slider__viewport,
.mf-stage--hero .mf-media-slider__slide{width:100%;height:100%}
.mf-stage--hero .mf-media-slider__slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.mf-stage--hero .mf-media-slider__slide::after{
  display:block!important;
  background:
    linear-gradient(90deg,rgba(8,8,8,.84) 0%,rgba(8,8,8,.66) 38%,rgba(8,8,8,.30) 68%,rgba(8,8,8,.18) 100%),
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.12) 52%,rgba(0,0,0,.44) 100%)!important;
}
.mf-stage--hero .mf-media-slider__caption,
.mf-stage--hero .mf-media-slider__counter{display:none!important}
.mf-stage--hero .mf-media-slider__arrow{
  display:flex!important;
  width:44px;
  height:44px;
  opacity:.66!important;
  pointer-events:auto!important;
  transform:translateY(-50%)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:15px;
  background:rgba(17,17,17,.22)!important;
  color:#fff;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.mf-stage--hero .mf-media-slider__arrow--prev{left:22px!important}
.mf-stage--hero .mf-media-slider__arrow--next{right:22px!important}
.mf-stage--hero .mf-media-slider__arrow:hover,
.mf-stage--hero .mf-media-slider__arrow:focus-visible{
  opacity:1!important;
  background:rgba(17,17,17,.34)!important;
}

/* Lead form feedback is a real UI state rather than a small text fragment. */
.mf-form-status{
  display:none;
  min-height:44px;
  margin:0;
  padding:11px 13px;
  border:1px solid transparent;
  border-radius:12px;
  align-items:center;
  gap:9px;
  font-size:12px;
  line-height:1.35;
  font-weight:620;
}
.mf-form-status:not(:empty){display:flex}
.mf-form-status::before{
  content:"";
  width:9px;
  height:9px;
  flex:0 0 auto;
  border-radius:50%;
  background:#8c8c85;
}
.mf-form-status.is-loading{
  color:#54544f;
  background:#f4f4f1;
  border-color:#e4e4de;
}
.mf-form-status.is-loading::before{
  width:14px;
  height:14px;
  border:2px solid #d2d2ca;
  border-top-color:var(--mf-purple);
  background:transparent;
  animation:mf-form-spin .75s linear infinite;
}
.mf-form-status.is-success{
  color:#1d6538;
  background:#eef8f1;
  border-color:#cfe8d6;
}
.mf-form-status.is-success::before{background:#2f8a50}
.mf-form-status.is-error{
  color:#8c3030;
  background:#fff1f1;
  border-color:#f0caca;
}
.mf-form-status.is-error::before{background:#b84a4a}
@keyframes mf-form-spin{to{transform:rotate(360deg)}}
.mf-lead-form[aria-busy="true"] .mf-button[type="submit"]{cursor:wait;opacity:.72}

@media (min-width:901px){
  :root{
    --mf-topbar-h:32px;
    --mf-main-header-h:78px;
    --mf-header-h:calc(var(--mf-topbar-h) + var(--mf-main-header-h));
  }
  .mf-header{
    height:var(--mf-header-h)!important;
    display:flex;
    flex-direction:column;
    background:#fff!important;
  }
  .mf-side-header{
    flex:0 0 var(--mf-main-header-h);
    height:var(--mf-main-header-h)!important;
  }
  .mf-side-nav__item .mf-side-nav__label{font-size:15px}
  .mf-side-nav>button .mf-side-nav__label{font-size:14px}
  .mf-side-nav>button{margin-left:14px}

  /* Keep the hero copy comfortably inside the new viewport height after the
     utility bar is introduced. */
  .mf-stage--hero .mf-slide__grid--hero{padding-top:clamp(70px,8vh,112px)!important;padding-bottom:clamp(70px,8vh,112px)!important}
}

@media (min-width:901px) and (max-width:1380px){
  .mf-topbar__contacts{gap:12px}
  .mf-topbar__contact{font-size:10.5px}
  .mf-side-nav__item .mf-side-nav__label{font-size:14px}
}

@media (min-width:901px) and (max-width:1180px){
  .mf-topbar__tagline{max-width:260px}
  .mf-topbar__contact--mail span{display:none}
  .mf-topbar__contact--mail{width:28px;height:28px;justify-content:center}
}

@media (max-width:900px){
  :root{
    --mf-topbar-h:32px;
    --mf-mobile-main-h:68px;
    --mf-mobile-header-h:calc(var(--mf-topbar-h) + var(--mf-mobile-main-h));
    --mf-header-h:var(--mf-mobile-header-h);
  }
  .mf-header{
    height:var(--mf-mobile-header-h)!important;
    display:flex;
    flex-direction:column;
  }
  .mf-topbar{
    position:relative;
    z-index:2;
    background:#f5f5f2;
  }
  .mf-topbar__inner{
    width:100%;
    padding:0 14px;
    gap:8px;
  }
  .mf-topbar__tagline{display:none}
  .mf-topbar__contacts{width:100%;gap:12px}
  .mf-topbar__contact{font-size:11px}
  .mf-topbar__contact--mail span,
  .mf-topbar__contact--site span{display:none}
  .mf-topbar__contact--mail,
  .mf-topbar__contact--site{
    width:25px;
    height:25px;
    justify-content:center;
    border-radius:8px;
  }
  .mf-mobile-header{
    flex:0 0 var(--mf-mobile-main-h);
    height:var(--mf-mobile-main-h)!important;
  }
  .mf-mobile-menu{
    top:var(--mf-mobile-header-h)!important;
    max-height:calc(100dvh - var(--mf-mobile-header-h))!important;
  }
  .mf-mobile-menu a svg{
    width:17px;
    height:17px;
    flex:0 0 auto;
    margin-right:9px;
    color:var(--mf-purple);
  }
  body.mf-mobile-menu-open::before{top:var(--mf-mobile-header-h)!important}

  .mf-stage--hero .mf-slide__grid--hero{
    min-height:calc(100svh - var(--mf-mobile-header-h));
    padding-top:56px!important;
    padding-bottom:64px!important;
    align-content:center;
  }
  .mf-stage--hero .mf-media-slider--hero{height:100%!important;min-height:100%!important}
  .mf-stage--hero .mf-media-slider__slide::after{
    background:
      linear-gradient(180deg,rgba(7,7,7,.42) 0%,rgba(7,7,7,.58) 40%,rgba(7,7,7,.76) 100%)!important;
  }
  .mf-stage--hero .mf-media-slider__arrow{
    width:38px;
    height:38px;
    border-radius:13px;
    opacity:.72!important;
  }
  .mf-stage--hero .mf-media-slider__arrow--prev{left:12px!important}
  .mf-stage--hero .mf-media-slider__arrow--next{right:12px!important}
  .mf-form-footer{gap:12px}
  .mf-form-status{width:100%;font-size:12px}
}

@media (max-width:380px){
  .mf-topbar__contacts{gap:8px}
  .mf-topbar__contact--phone{font-size:10.5px}
}

@media (prefers-reduced-motion:reduce){
  .mf-form-status.is-loading::before{animation:none}
}

/* v2.0.31 QA correction: hero media must be positioned against the full slide,
   not the centered content grid. */
.mf-stage--hero .mf-slide__grid--hero{position:static!important;z-index:auto!important}
@media (min-width:901px){
  .mf-stage--hero .mf-media-slider__arrow{
    top:auto!important;
    bottom:24px!important;
    transform:none!important;
  }
  .mf-stage--hero .mf-media-slider__arrow--prev{left:auto!important;right:76px!important}
  .mf-stage--hero .mf-media-slider__arrow--next{right:22px!important}
}
@media (max-width:900px){
  .mf-stage--hero .mf-media-slider__arrow{
    top:auto!important;
    bottom:16px!important;
    transform:none!important;
  }
  .mf-stage--hero .mf-media-slider__arrow--prev{left:auto!important;right:62px!important}
  .mf-stage--hero .mf-media-slider__arrow--next{right:14px!important}
}


/* v2.0.32 — premium light utility bar, canonical franchise contacts,
   stronger hero text-side contrast and cleaner mobile hero controls */
.mf-topbar{
  background:rgba(255,255,255,.88)!important;
  border-bottom:1px solid rgba(17,17,17,.055)!important;
  color:#343432;
  box-shadow:0 1px 0 rgba(255,255,255,.78) inset;
  backdrop-filter:blur(18px) saturate(1.18);
  -webkit-backdrop-filter:blur(18px) saturate(1.18);
}
.mf-topbar__tagline{
  color:#51514c;
  font-weight:650;
  letter-spacing:.012em;
}
.mf-topbar__contact{
  color:#31312e;
  font-weight:640;
}
.mf-topbar__contact svg{
  color:var(--mf-purple);
  opacity:.82;
}
.mf-topbar__contact:hover{
  color:var(--mf-purple);
}

/* Hero: deepen only the copy side so the photography remains lively on the right. */
.mf-stage--hero .mf-media-slider__slide::after{
  background:
    linear-gradient(90deg,rgba(5,5,5,.91) 0%,rgba(7,7,7,.78) 34%,rgba(8,8,8,.48) 58%,rgba(8,8,8,.22) 78%,rgba(8,8,8,.15) 100%),
    linear-gradient(180deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.12) 50%,rgba(0,0,0,.46) 100%)!important;
}

@media (max-width:900px){
  .mf-topbar{
    background:rgba(255,255,255,.96)!important;
    border-bottom:1px solid rgba(17,17,17,.055)!important;
    box-shadow:none;
    backdrop-filter:blur(16px) saturate(1.12);
    -webkit-backdrop-filter:blur(16px) saturate(1.12);
  }
  .mf-stage--hero .mf-media-slider__slide::after{
    background:
      linear-gradient(180deg,rgba(5,5,5,.50) 0%,rgba(5,5,5,.66) 42%,rgba(5,5,5,.80) 100%)!important;
  }
  /* Mobile hero stays automatic/swipe-only: no visible navigation controls. */
  .mf-stage--hero .mf-media-slider__arrow{
    display:none!important;
  }
}

/* v2.0.33 — refined utility-bar typography and neutral premium interaction */
@media (min-width:901px){
  :root{
    --mf-topbar-h:36px;
  }
  .mf-topbar__tagline{
    font-size:12px;
    color:#6a6a65;
    font-weight:650;
  }
  .mf-topbar__contact{
    font-size:12.5px;
    color:#5f5f5a;
    font-weight:630;
  }
  .mf-topbar__contact svg{
    width:14px;
    height:14px;
    color:inherit;
    opacity:.76;
    transition:color .16s ease,opacity .16s ease;
  }
  .mf-topbar__contact:hover,
  .mf-topbar__contact:focus-visible{
    color:#111;
  }
  .mf-topbar__contact:hover svg,
  .mf-topbar__contact:focus-visible svg{
    color:#111;
    opacity:1;
  }
}

@media (min-width:901px) and (max-width:1380px){
  .mf-topbar__contact{font-size:12px}
  .mf-topbar__tagline{font-size:11.5px}
}

@media (max-width:900px){
  :root{
    --mf-topbar-h:34px;
  }
  .mf-topbar__contact{
    color:#60605b;
    font-size:11.5px;
    font-weight:630;
  }
  .mf-topbar__contact svg{
    width:14px;
    height:14px;
    color:inherit;
    opacity:.76;
  }
  .mf-topbar__contact:hover,
  .mf-topbar__contact:focus-visible,
  .mf-topbar__contact:hover svg,
  .mf-topbar__contact:focus-visible svg{
    color:#111;
    opacity:1;
  }
}

/* v2.0.34 — mobile tariff switch as a true full-width secondary header */
@media (max-width:900px){
  .mf-tariffs-page .mf-tariff-mobile-switch{
    position:sticky;
    top:var(--mf-mobile-header-h)!important;
    z-index:36;
    width:100vw;
    max-width:none;
    margin:18px calc(50% - 50vw) 0;
    padding:7px max(14px, env(safe-area-inset-right)) 7px max(14px, env(safe-area-inset-left));
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px;
    box-sizing:border-box;
    border:0;
    border-top:1px solid rgba(17,17,17,.055);
    border-bottom:1px solid rgba(17,17,17,.08);
    border-radius:0!important;
    background:rgba(255,255,255,.96);
    box-shadow:0 10px 26px rgba(17,17,17,.055);
    backdrop-filter:blur(18px) saturate(1.12);
    -webkit-backdrop-filter:blur(18px) saturate(1.12);
  }
  .mf-tariffs-page .mf-tariff-mobile-switch button{
    min-width:0;
    min-height:48px;
    padding:8px 6px;
    border-radius:12px;
    font-size:13px;
    line-height:1.05;
    letter-spacing:-.01em;
  }
  .mf-tariffs-page .mf-tariff-mobile-switch button small{
    margin-top:2px;
    font-size:10px;
    line-height:1;
  }
  .mf-tariffs-page .mf-tariff-mobile-switch button:not(.is-active):hover,
  .mf-tariffs-page .mf-tariff-mobile-switch button:not(.is-active):focus-visible{
    background:#f5f5f2;
    color:#111;
  }
}


/* v2.0.35 — mobile topbar tagline + visually distinct burger contacts */
.mf-topbar__tagline-track{
  display:inline-block;
  white-space:nowrap;
}

@media (max-width:900px){
  /* Keep the nationwide message on the left. The contacts remain a compact
     utility cluster on the right instead of consuming the entire topbar. */
  .mf-topbar__inner{
    justify-content:space-between;
  }
  .mf-topbar__tagline{
    display:block!important;
    flex:1 1 auto;
    min-width:68px;
    max-width:none;
    overflow:hidden;
    text-overflow:clip;
    white-space:nowrap;
    font-size:11.5px;
    color:#686863;
    mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent 100%);
  }
  .mf-topbar__tagline.is-marquee .mf-topbar__tagline-track{
    animation:mf-topbar-marquee 8.5s linear infinite;
    will-change:transform;
  }
  .mf-topbar__tagline.is-marquee .mf-topbar__tagline-track::after{
    content:"Работаем по всей стране";
    padding-left:28px;
  }
  .mf-topbar__contacts{
    width:auto!important;
    flex:0 0 auto;
    gap:8px;
  }
  .mf-topbar__contact--phone{
    font-size:11px;
  }

  /* Navigation keeps its dividers; contacts are a separate calm information
     block so they no longer read as three more menu destinations. */
  .mf-mobile-menu__nav-links{
    display:flex;
    flex-direction:column;
  }
  .mf-mobile-menu__nav-links>a+a{
    border-top:1px solid rgba(17,17,17,.07);
  }
  .mf-mobile-menu__contacts{
    display:grid;
    gap:2px;
    margin-top:12px;
    padding:10px 12px;
    border:1px solid rgba(17,17,17,.055);
    border-radius:15px;
    background:#f7f7f4;
  }
  .mf-mobile-menu__contacts a,
  .mf-mobile-menu__contacts a+a{
    min-height:36px;
    padding:6px 2px;
    border-top:0!important;
    color:#666660;
    font-size:13px;
    line-height:1.25;
    font-weight:570;
  }
  .mf-mobile-menu__contacts a svg{
    width:15px;
    height:15px;
    margin-right:8px;
    color:#777771;
    opacity:.9;
  }
  .mf-mobile-menu__contacts a:active,
  .mf-mobile-menu__contacts a:focus-visible{
    color:#111;
  }
  .mf-mobile-menu__contacts a:active svg,
  .mf-mobile-menu__contacts a:focus-visible svg{
    color:#111;
  }
  .mf-mobile-menu .mf-button{
    margin-top:12px;
  }
}

@keyframes mf-topbar-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 14px))}
}

@media (max-width:360px){
  .mf-topbar__inner{padding-left:10px;padding-right:10px;gap:6px}
  .mf-topbar__tagline{font-size:11px}
  .mf-topbar__contact--phone{font-size:10.5px}
  .mf-topbar__contacts{gap:6px}
}

@media (prefers-reduced-motion:reduce){
  .mf-topbar__tagline.is-marquee .mf-topbar__tagline-track{animation:none}
  .mf-topbar__tagline.is-marquee .mf-topbar__tagline-track::after{content:none}
}

/* v2.0.36 — final supporting-text typography audit.
   Increase only secondary copy that remained too small after the slide-to-landing
   transition; preserve grids, section heights and responsive structure. */

/* Main landing: supporting descriptions should read as body copy, not captions. */
.mf-s3__fact>small{
  font-size:14.5px;
  line-height:1.48;
}
#economics .mf-money-metrics small{
  font-size:12.5px;
  line-height:1.42;
}
.mf-start-list .mf-start-detail p{
  font-size:13.5px;
  line-height:1.5;
}
.mf-index-row p{
  font-size:14.5px;
  line-height:1.5;
}
.mf-inside-grid span{
  font-size:14px;
  line-height:1.45;
}
.mf-steps p{
  font-size:14px;
  line-height:1.5;
}
.mf-money-main .mf-fineprint{
  font-size:12px;
  line-height:1.5;
}

/* Tariffs: normalize descriptive copy across cards, comparison rows and notes. */
.mf-plan-card small{
  font-size:14px;
  line-height:1.5;
}
.mf-tariffs-guide p{
  font-size:13.5px;
  line-height:1.5;
}
.mf-tariffs-facts small,
.mf-tariffs-guide__label{
  font-size:12.5px;
}
.mf-tariff-group--card summary .mf-tariff-group__title small{
  font-size:13.5px;
  line-height:1.48;
}
.mf-tariff-row__description{
  font-size:14px;
  line-height:1.5;
}
.mf-tariff-row__note{
  font-size:11.5px;
  line-height:1.45;
}
.mf-tariff-group--card .mf-tariff-cell small{
  font-size:12.5px;
  line-height:1.42;
}

/* Utility bar: one small step up while retaining the secondary hierarchy. */
@media (min-width:901px){
  .mf-topbar__tagline{font-size:12.5px}
  .mf-topbar__contact{font-size:13px}
}

/* Intermediate desktop/laptop widths previously inherited old 10px slide copy. */
@media (min-width:901px) and (max-width:1380px){
  .mf-topbar__tagline{font-size:12px}
  .mf-topbar__contact{font-size:12.5px}
}
@media (min-width:901px) and (max-width:1180px){
  .mf-s3__fact>small{
    font-size:13.5px;
    line-height:1.45;
  }
  #economics .mf-money-metrics small{
    font-size:12px;
    line-height:1.4;
  }
  .mf-start-list .mf-start-detail p{
    font-size:13px;
    line-height:1.46;
  }
}
@media (min-width:901px) and (max-height:860px){
  .mf-s3__fact>small{font-size:13px}
  #economics .mf-money-metrics small{font-size:12px}
  .mf-start-list .mf-start-detail p{font-size:12.75px}
}

/* Mobile keeps the approved layout, only the undersized copy is raised. */
@media (max-width:900px){
  .mf-s3__fact>small{
    font-size:14px;
    line-height:1.5;
  }
  #economics .mf-money-metrics small{
    font-size:12.5px;
    line-height:1.45;
  }
  .mf-start-list .mf-start-detail p{
    font-size:13.5px;
    line-height:1.5;
  }
  .mf-index-row p{font-size:14px}
  .mf-inside-grid span{font-size:13.5px}
  .mf-steps p{font-size:13.5px}
  .mf-money-main .mf-fineprint{font-size:11.5px}

  .mf-plan-card small{font-size:13.5px}
  .mf-tariffs-guide p{font-size:13px}
  .mf-tariffs-facts small,
  .mf-tariffs-guide__label,
  .mf-tariff-group--card summary .mf-tariff-group__title small{
    font-size:12px!important;
  }
  .mf-tariff-row__description{
    font-size:13px;
    line-height:1.46;
  }
  .mf-tariff-row__note{
    font-size:11.5px!important;
    line-height:1.42;
  }
  .mf-tariff-group--card .mf-tariff-cell small{
    font-size:12px!important;
    line-height:1.4;
  }

  .mf-topbar__tagline{font-size:12px}
  .mf-topbar__contact--phone{font-size:11.5px}
}

@media (max-width:380px){
  .mf-s3__fact>small{font-size:13.5px}
  .mf-start-list .mf-start-detail p{font-size:13px}
  .mf-topbar__tagline{font-size:11.5px}
  .mf-topbar__contact--phone{font-size:11px}
}

/* v2.0.37 — curated hero photography refresh.
   Full-cover hero photos do not need the legacy blurred duplicate layer used by
   proportional card sliders. Keeping it disabled avoids redundant background
   requests when the first screen contains a larger photo set. */
.mf-stage--hero .mf-media-slider__slide::before{
  content:none!important;
  display:none!important;
}


/* v2.0.38 — people/video screen, 45% margin column and two-year financial model. */

/* Economics table: four aligned columns with readable values. */
#economics .mf-money-table-scroll{width:100%;overflow:visible}
#economics .mf-money-row{
  grid-template-columns:minmax(82px,.72fr) minmax(116px,.88fr) minmax(128px,1fr) minmax(142px,1.08fr)!important;
  gap:clamp(10px,1.1vw,18px)!important;
}
#economics .mf-money-row>*{min-width:0}
#economics .mf-money-row--head span:last-child{color:#fff;font-weight:700}
#economics .mf-money-margin{color:var(--mf-yellow)!important;font-size:clamp(17px,1.55vw,22px)!important;letter-spacing:-.025em!important}
#economics .mf-money-outcome{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid #333;
}
#economics .mf-money-outcome p{margin:0;max-width:430px;font-size:15px;line-height:1.45;color:#fff}
#economics .mf-money-outcome p strong{color:var(--mf-yellow);font-weight:760}
#economics .mf-money-outcome .mf-button{flex:0 0 auto;white-space:nowrap}

/* People behind the brand — v2.0.39 background-video layout. */
.mf-slide--people{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#111;
  color:#fff;
}
.mf-people-background{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:#151515 url('../img/masterfibre-people-poster.jpg') center center/cover no-repeat;
}
.mf-people-background::before{
  content:"";
  position:absolute;
  inset:-34px;
  z-index:0;
  background:inherit;
  filter:blur(28px) saturate(.9) brightness(.56);
  transform:scale(1.08);
}
.mf-people-background__video{
  position:absolute;
  z-index:1;
  top:0;
  bottom:0;
  left:clamp(26px,5vw,88px);
  width:auto;
  height:100%;
  aspect-ratio:9/16;
  object-fit:cover;
  object-position:center center;
  background:#111;
  box-shadow:32px 0 80px rgba(0,0,0,.26);
}
.mf-slide--people::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(12,12,12,.08) 0%,rgba(12,12,12,.14) 28%,rgba(12,12,12,.74) 50%,rgba(12,12,12,.94) 76%,#111 100%),
    linear-gradient(180deg,rgba(10,10,10,.12),rgba(10,10,10,.32));
}
.mf-people-grid{
  position:relative;
  z-index:2;
  grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr);
  grid-template-areas:"empty copy" "empty quote";
  column-gap:clamp(46px,5vw,86px);
  row-gap:clamp(28px,4vh,44px);
  align-content:center;
  align-items:center;
}
.mf-people-grid::before{content:"";grid-area:empty}
.mf-people-copy{grid-area:copy;align-self:end;max-width:820px}
.mf-people-copy h2{font-size:clamp(48px,5.2vw,82px);line-height:.94;letter-spacing:-.06em;color:#fff}
.mf-people-copy>p:last-child{max-width:680px;margin:24px 0 0;font-size:17px;line-height:1.58;color:rgba(255,255,255,.76)}
.mf-people-quote{
  grid-area:quote;
  position:relative;
  align-self:start;
  max-width:760px;
  min-height:190px;
  padding:32px 36px 30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  background:rgba(22,22,22,.34);
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.mf-people-quote__mark{
  position:absolute;
  right:18px;
  top:-42px;
  font-family:Georgia,serif;
  font-size:190px;
  line-height:1;
  color:rgba(255,255,255,.075);
  pointer-events:none;
}
.mf-people-quote p{position:relative;z-index:1;margin:0;max-width:620px;font-size:clamp(23px,2.1vw,34px);line-height:1.25;font-weight:680;letter-spacing:-.035em;color:#fff}
.mf-people-quote cite{position:relative;z-index:1;display:block;margin-top:24px;font-style:normal;font-size:12.5px;color:rgba(255,255,255,.58)}

/* Financial-model page. */
.mf-financial-page{background:#f6f6f4;color:var(--mf-ink)}
.mf-financial-hero{padding:calc(var(--mf-header-h) + 66px) var(--mf-gutter) 74px;background:#fff}
.mf-financial-hero__inner,.mf-financial-calculator__inner{width:min(var(--mf-page),calc(100% - (var(--mf-gutter)*2)));margin:0 auto}
.mf-financial-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:44px;color:var(--mf-muted);font-size:13px;font-weight:620}
.mf-financial-back svg{width:16px;height:16px}
.mf-financial-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.55fr);gap:64px;align-items:end}
.mf-financial-hero h1{margin:0;max-width:900px;font-size:clamp(56px,6.2vw,94px);line-height:.92;letter-spacing:-.065em;font-weight:760}
.mf-financial-hero__lead{margin:0 0 6px;font-size:16px;line-height:1.62;color:var(--mf-muted)}
.mf-financial-calculator{padding:72px var(--mf-gutter) 96px}
.mf-financial-calculator__inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(36px,5vw,74px);align-items:start}
.mf-financial-controls,.mf-financial-results{border-radius:28px;background:#fff;box-shadow:0 18px 54px rgba(17,17,17,.07)}
.mf-financial-controls{padding:clamp(28px,3.4vw,48px)}
.mf-financial-controls__head h2{margin:0;font-size:clamp(38px,4vw,58px);line-height:.96;letter-spacing:-.05em}
.mf-financial-controls__head>p:last-child{margin:18px 0 0;max-width:600px;font-size:14px;line-height:1.55;color:var(--mf-muted)}
.mf-financial-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.mf-financial-fields label{display:flex;flex-direction:column;gap:8px}
.mf-financial-fields label span{font-size:12.5px;line-height:1.35;font-weight:650;color:#555}
.mf-financial-fields input{width:100%;min-height:54px;padding:0 15px;border:1px solid rgba(17,17,17,.14);border-radius:15px;background:#fafafa;color:#111;font:inherit;font-size:16px;font-weight:650;outline:none}
.mf-financial-fields input:focus{border-color:rgba(72,2,162,.48);box-shadow:0 0 0 3px rgba(72,2,162,.08)}
.mf-financial-results{padding:clamp(30px,3.6vw,52px);background:#111;color:#fff}
.mf-financial-result--hero{padding:24px 0 30px;border-bottom:1px solid #323232}
.mf-financial-result span,.mf-financial-years span,.mf-financial-total span{display:block;font-size:12.5px;color:rgba(255,255,255,.58)}
.mf-financial-result strong{display:block;margin-top:8px;font-size:clamp(42px,4.5vw,68px);line-height:1;letter-spacing:-.055em;color:var(--mf-yellow)}
.mf-financial-result small,.mf-financial-years small,.mf-financial-total small{display:block;margin-top:8px;font-size:12.5px;color:rgba(255,255,255,.55)}
.mf-financial-years{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:0;border-bottom:1px solid #323232}
.mf-financial-years>div{padding:28px 0}
.mf-financial-years>div+div{padding-left:26px;border-left:1px solid #323232}
.mf-financial-years strong{display:block;margin-top:8px;font-size:clamp(26px,2.5vw,38px);letter-spacing:-.04em}
.mf-financial-total{padding:30px 0 10px}
.mf-financial-total strong{display:block;margin-top:8px;font-size:clamp(34px,3.3vw,50px);line-height:1;letter-spacing:-.05em}
.mf-financial-note{margin:26px 0 24px;font-size:12px;line-height:1.5;color:rgba(255,255,255,.52)}
.mf-financial-results .mf-button{width:100%;justify-content:center}

@media (min-width:901px) and (max-height:820px){
  .mf-people-video-shell{width:min(100%,330px)}
  .mf-people-copy h2{font-size:clamp(44px,4.5vw,66px)}
  .mf-people-quote{min-height:160px;padding:26px 30px}
}

@media (max-width:900px){
  #economics .mf-money-table-scroll{overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:4px}
  #economics .mf-money-table{min-width:590px}
  #economics .mf-money-row{grid-template-columns:92px 126px 148px 158px!important;gap:12px!important;font-size:13px!important}
  #economics .mf-money-row--head{font-size:10px!important}
  #economics .mf-money-margin{font-size:17px!important}
  #economics .mf-money-outcome{align-items:flex-start;flex-direction:column;gap:16px}
  #economics .mf-money-outcome p{font-size:14px}
  #economics .mf-money-outcome .mf-button{width:100%;white-space:normal;text-align:left;justify-content:space-between}

  .mf-people-grid{
    grid-template-columns:1fr;
    grid-template-areas:"copy" "media" "quote";
    gap:28px;
    align-items:start;
  }
  .mf-people-copy{align-self:auto}
  .mf-people-copy h2{font-size:clamp(40px,10vw,58px)}
  .mf-people-copy>p:last-child{margin-top:18px;font-size:15px}
  .mf-people-media{justify-content:flex-start}
  .mf-people-video-shell{width:min(82vw,360px);border-radius:22px}
  .mf-people-quote{min-height:0;padding:24px 22px;border-radius:20px}
  .mf-people-quote p{font-size:22px}
  .mf-people-quote__mark{font-size:140px;right:8px;top:-34px}

  .mf-financial-hero{padding:calc(var(--mf-mobile-header-h) + 38px) 16px 52px}
  .mf-financial-hero__inner,.mf-financial-calculator__inner{width:100%}
  .mf-financial-back{margin-bottom:28px}
  .mf-financial-hero__grid{grid-template-columns:1fr;gap:22px}
  .mf-financial-hero h1{font-size:clamp(44px,11.5vw,64px)}
  .mf-financial-hero__lead{font-size:14px}
  .mf-financial-calculator{padding:28px 14px 64px}
  .mf-financial-calculator__inner{grid-template-columns:1fr;gap:18px}
  .mf-financial-controls,.mf-financial-results{border-radius:22px}
  .mf-financial-fields{grid-template-columns:1fr;gap:13px}
  .mf-financial-fields input{font-size:16px}
  .mf-financial-years{grid-template-columns:1fr}
  .mf-financial-years>div+div{padding-left:0;border-left:0;border-top:1px solid #323232}
}

@media (max-width:520px){
  .mf-people-video-shell{width:100%;max-width:330px}
  .mf-financial-result strong{font-size:42px}
  .mf-financial-total strong{font-size:34px}
}

/* v2.0.38 QA refinements */
.mf-financial-page + .mf-footer{
  width:100%;
  margin:0;
  padding:0!important;
  background:#111;
  color:#fff;
}
#economics .mf-money-outcome .mf-button{
  white-space:normal;
  text-align:left;
  justify-content:space-between;
  line-height:1.25;
}
@media (min-width:901px) and (max-width:1280px){
  #economics .mf-money-outcome{
    align-items:flex-start;
    flex-direction:column;
    gap:16px;
  }
}


/* v2.0.39 — economics table rhythm and people video responsive background */
#economics .mf-money-row{
  height:62px;
  min-height:62px;
  padding:0!important;
  align-items:center;
}
#economics .mf-money-row--head{
  height:62px;
  min-height:62px;
  padding:0!important;
  align-items:center;
}
#economics .mf-money-fineprint{
  margin:18px 0 0;
  padding:0;
  border-top:0;
  transform:none;
  color:rgba(17,17,17,.68);
  font-size:12.5px;
  line-height:1.55;
  max-width:860px;
}

@media (min-width:901px) and (max-height:820px){
  .mf-people-background__video{left:clamp(18px,4vw,64px)}
  .mf-people-grid{grid-template-columns:minmax(280px,.78fr) minmax(390px,1.22fr);row-gap:24px}
  .mf-people-copy h2{font-size:clamp(42px,4.4vw,64px)}
  .mf-people-quote{min-height:150px;padding:24px 28px}
}

@media (max-width:900px){
  #economics .mf-money-row,
  #economics .mf-money-row--head{
    height:62px;
    min-height:62px;
  }
  #economics .mf-money-fineprint{
    margin-top:16px;
    font-size:12px;
  }
  .mf-people-background::before{inset:-24px;filter:blur(22px) saturate(.9) brightness(.48)}
  .mf-people-background__video{
    inset:0;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center center;
    box-shadow:none;
  }
  .mf-slide--people::after{
    background:
      linear-gradient(180deg,rgba(10,10,10,.38) 0%,rgba(10,10,10,.38) 35%,rgba(10,10,10,.72) 72%,rgba(10,10,10,.88) 100%),
      linear-gradient(90deg,rgba(10,10,10,.18),rgba(10,10,10,.28));
  }
  .mf-people-grid{
    min-height:calc(100svh - var(--mf-mobile-header-h));
    grid-template-columns:1fr;
    grid-template-areas:"copy" "quote";
    align-content:space-between;
    gap:32px;
  }
  .mf-people-grid::before{display:none}
  .mf-people-copy{align-self:start;max-width:100%}
  .mf-people-copy h2{font-size:clamp(40px,10vw,58px)}
  .mf-people-copy>p:last-child{margin-top:18px;font-size:15px}
  .mf-people-quote{align-self:end;min-height:0;padding:24px 22px;border-radius:20px;background:rgba(20,20,20,.4)}
  .mf-people-quote p{font-size:22px}
  .mf-people-quote__mark{font-size:140px;right:8px;top:-34px}
}


/* v2.0.40 — centered desktop navigation, 50/50 people video and unified section rhythm */

@media (min-width:901px){
  :root{
    --mf-section-y:clamp(82px,8.4vh,112px);
  }

  /* Header: center the menu in the real space between the brand and CTA. */
  .mf-side-header{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:clamp(22px,2.6vw,42px)!important;
  }
  .mf-side-nav{
    width:100%!important;
    min-width:0;
    margin-left:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:clamp(18px,2vw,30px)!important;
  }
  .mf-side-nav__links{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
  }
  .mf-side-nav__links>a{
    position:relative;
    width:auto;
    height:44px;
    min-width:0;
    padding:0 12px;
    border:0;
    border-radius:14px;
    background:transparent;
    color:var(--mf-ink);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    transition:background .16s ease,color .16s ease;
  }
  .mf-side-nav__links>a:hover,
  .mf-side-nav__links>a:focus-visible{background:rgba(17,17,17,.055)}
  .mf-side-nav>button{
    margin-left:0!important;
    flex:0 0 auto;
  }

  /* One vertical rhythm for standard landing screens. Full-background media
     screens (hero / projects / people) intentionally keep their own spacing. */
  .mf-story .mf-stage:not(.mf-stage--hero):not(#projects):not(.mf-stage--people) .mf-slide__grid{
    padding-top:var(--mf-section-y)!important;
    padding-bottom:var(--mf-section-y)!important;
  }
  .mf-story .mf-stage--final .mf-final-grid{
    padding-top:var(--mf-section-y)!important;
    padding-bottom:var(--mf-section-y)!important;
  }

  /* Economics contains more vertical information than a simple screen. It may
     grow beyond one viewport instead of clipping the note below the table. */
  #economics .mf-slide{
    height:auto!important;
    min-height:calc(100svh - var(--mf-header-h))!important;
    overflow:visible!important;
  }
  #economics .mf-slide__grid--money{
    height:auto!important;
    min-height:calc(100svh - var(--mf-header-h))!important;
    padding-top:var(--mf-section-y)!important;
    padding-bottom:var(--mf-section-y)!important;
    align-items:stretch!important;
  }
  #economics .mf-money-main{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-height:0!important;
  }
  #economics .mf-money-table-wrap{
    flex:0 0 auto;
    align-self:stretch!important;
  }
  #economics .mf-money-fineprint{
    display:block!important;
    position:static!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 0 auto;
    margin:18px 0 0!important;
    padding:0!important;
    border:0!important;
    transform:none!important;
    max-width:900px;
    color:rgba(17,17,17,.72)!important;
    font-size:13px!important;
    line-height:1.55!important;
  }

  /* People: exactly half of the desktop screen is live 9:16 video. The video
     is cropped with cover, never stretched; copy occupies the right half. */
  .mf-people-background__video{
    top:0!important;
    right:auto!important;
    bottom:0!important;
    left:0!important;
    width:50%!important;
    height:100%!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center center!important;
    box-shadow:26px 0 70px rgba(0,0,0,.22)!important;
  }
  .mf-slide--people::after{
    background:
      linear-gradient(90deg,rgba(10,10,10,.08) 0%,rgba(10,10,10,.1) 43%,rgba(10,10,10,.44) 50%,rgba(10,10,10,.88) 66%,#111 100%),
      linear-gradient(180deg,rgba(10,10,10,.10),rgba(10,10,10,.30))!important;
  }
  .mf-people-grid{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:"empty copy" "empty quote"!important;
    column-gap:clamp(38px,4vw,72px)!important;
  }
}

@media (min-width:901px) and (max-width:1380px){
  .mf-side-nav__links{gap:1px}
  .mf-side-nav__links>a{padding-left:9px;padding-right:9px}
}

@media (min-width:901px) and (max-width:1180px){
  .mf-side-nav__links>a{padding-left:8px;padding-right:8px}
}

@media (max-width:900px){
  :root{--mf-mobile-section-y:clamp(58px,12vw,72px)}
  /* Keep the mobile landing rhythm even, while the three full-background media
     screens retain their dedicated compositions. */
  .mf-story .mf-stage:not(.mf-stage--hero):not(#projects):not(.mf-stage--people) .mf-slide__grid{
    padding-top:var(--mf-mobile-section-y)!important;
    padding-bottom:var(--mf-mobile-section-y)!important;
  }
  .mf-story .mf-stage--final .mf-final-grid{
    padding-top:var(--mf-mobile-section-y)!important;
    padding-bottom:var(--mf-mobile-section-y)!important;
  }
  #economics .mf-money-fineprint{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    margin-top:16px!important;
    padding:0!important;
    border:0!important;
    color:rgba(17,17,17,.72)!important;
    font-size:12.5px!important;
    line-height:1.55!important;
  }
}

/* v2.0.41 — stronger mobile text readability on People video screen */
@media (max-width:900px){
  .mf-slide--people::after{
    background:
      linear-gradient(180deg,
        rgba(8,8,8,.68) 0%,
        rgba(8,8,8,.48) 24%,
        rgba(8,8,8,.18) 48%,
        rgba(8,8,8,.30) 66%,
        rgba(8,8,8,.74) 84%,
        rgba(8,8,8,.88) 100%
      ),
      linear-gradient(90deg,rgba(8,8,8,.20),rgba(8,8,8,.08))!important;
  }
  .mf-people-copy,
  .mf-people-quote{
    position:relative;
    z-index:2;
  }
}


/* v2.0.42 — financial model mobile containment */
@media (max-width:900px){
  .mf-financial-page,
  .mf-financial-hero,
  .mf-financial-calculator{
    width:100%;
    max-width:100%;
    overflow-x:clip;
  }
  .mf-financial-hero__inner,
  .mf-financial-calculator__inner,
  .mf-financial-hero__grid,
  .mf-financial-controls,
  .mf-financial-results,
  .mf-financial-fields,
  .mf-financial-fields label,
  .mf-financial-years,
  .mf-financial-years>div,
  .mf-financial-total,
  .mf-financial-result{
    min-width:0;
    max-width:100%;
  }
  .mf-financial-controls,
  .mf-financial-results{
    width:100%;
    overflow:hidden;
    box-shadow:0 14px 38px rgba(17,17,17,.065);
  }
  .mf-financial-fields input{
    min-width:0;
    max-width:100%;
  }
  .mf-financial-result strong,
  .mf-financial-years strong,
  .mf-financial-total strong,
  .mf-financial-result small,
  .mf-financial-years small,
  .mf-financial-total small{
    max-width:100%;
  }
  .mf-financial-results .mf-button{
    max-width:100%;
    min-width:0;
    height:auto;
    min-height:52px;
    padding-top:13px;
    padding-bottom:13px;
    white-space:normal;
    text-align:center;
    line-height:1.25;
  }
}

@media (max-width:520px){
  .mf-financial-calculator{padding-left:12px;padding-right:12px}
  .mf-financial-controls{padding:24px 20px}
  .mf-financial-results{padding:26px 20px}
  .mf-financial-result strong{font-size:clamp(34px,10.5vw,42px)}
  .mf-financial-years strong{font-size:clamp(27px,8.5vw,34px)}
  .mf-financial-total strong{font-size:clamp(30px,9.5vw,36px)}
}

/* v2.0.44 — explicit mobile readability gradient for People video screen */
@media (max-width:900px){
  .mf-slide--people{
    isolation:isolate;
  }

  /* Keep the video at the bottom of the stack, the global tint above it,
     and the content above both. */
  .mf-people-background{
    z-index:0;
  }
  .mf-slide--people::after{
    z-index:1!important;
    background:
      linear-gradient(180deg,
        rgba(7,7,7,.66) 0%,
        rgba(7,7,7,.48) 25%,
        rgba(7,7,7,.16) 48%,
        rgba(7,7,7,.22) 62%,
        rgba(7,7,7,.64) 82%,
        rgba(7,7,7,.86) 100%
      )!important;
  }

  .mf-people-grid{
    position:relative;
    z-index:2;
    isolation:isolate;
  }

  /* Local soft gradients sit immediately behind the headline and quote.
     This is intentionally separate from the full-screen tint so bright video
     frames can never wash out the text. */
  .mf-people-grid::before{
    content:""!important;
    display:block!important;
    position:absolute;
    inset:-26px -18px -30px;
    z-index:-1;
    pointer-events:none;
    background:
      radial-gradient(ellipse 120% 44% at 34% 10%,
        rgba(0,0,0,.70) 0%,
        rgba(0,0,0,.48) 42%,
        rgba(0,0,0,0) 78%
      ),
      radial-gradient(ellipse 118% 42% at 46% 94%,
        rgba(0,0,0,.68) 0%,
        rgba(0,0,0,.42) 44%,
        rgba(0,0,0,0) 80%
      );
  }

  .mf-people-copy,
  .mf-people-quote{
    position:relative;
    z-index:1;
  }
}


/* v2.0.45 — darker mobile People header gradient + robust muted autoplay */
@media (max-width:900px){
  /* Strengthen only the upper reading zone. The middle of the video remains
     lighter so the background still feels like live media rather than a dark card. */
  .mf-slide--people::after{
    background:
      linear-gradient(180deg,
        rgba(5,5,5,.82) 0%,
        rgba(5,5,5,.66) 18%,
        rgba(5,5,5,.40) 32%,
        rgba(5,5,5,.16) 50%,
        rgba(5,5,5,.24) 64%,
        rgba(5,5,5,.66) 82%,
        rgba(5,5,5,.88) 100%
      )!important;
  }

  .mf-people-grid::before{
    background:
      radial-gradient(ellipse 130% 50% at 32% 5%,
        rgba(0,0,0,.86) 0%,
        rgba(0,0,0,.62) 38%,
        rgba(0,0,0,.24) 64%,
        rgba(0,0,0,0) 82%
      ),
      radial-gradient(ellipse 118% 42% at 46% 94%,
        rgba(0,0,0,.68) 0%,
        rgba(0,0,0,.42) 44%,
        rgba(0,0,0,0) 80%
      );
  }
}


/* v2.0.46 — People desktop spacing and title hierarchy */
@media (min-width:901px){
  /* Create a clear breathing zone between the 50% video field and the copy. */
  .mf-people-copy,
  .mf-people-quote{
    margin-left:clamp(30px,3vw,58px);
  }

  .mf-people-copy h2{
    max-width:760px;
  }
  .mf-people-title__lead,
  .mf-people-title__secondary{
    display:block;
  }
  .mf-people-title__secondary{
    margin-top:10px;
    max-width:720px;
    font-size:.66em;
    line-height:1.04;
    letter-spacing:-.045em;
  }
}

@media (min-width:901px) and (max-width:1180px){
  .mf-people-copy,
  .mf-people-quote{
    margin-left:24px;
  }
  .mf-people-title__secondary{
    font-size:.7em;
  }
}


/* v2.0.47 — People supporting copy hierarchy + symmetric desktop vertical rhythm */
.mf-people-copy .mf-people-support{
  max-width:680px;
  margin:0;
  font-size:17px;
  line-height:1.58;
  font-weight:400;
  letter-spacing:normal;
  color:rgba(255,255,255,.76);
}
.mf-people-copy h2 + .mf-people-support{margin-top:24px}
.mf-people-copy .mf-people-support + .mf-people-support{margin-top:8px}

@media (min-width:901px){
  /* The copy + quote are centered as one composition, while equal block padding
     preserves the same visual breathing room above and below. */
  .mf-people-grid{
    grid-template-rows:auto auto!important;
    align-content:center!important;
    row-gap:clamp(28px,3.4vh,42px)!important;
    padding-top:clamp(54px,7vh,78px)!important;
    padding-bottom:clamp(54px,7vh,78px)!important;
  }
  .mf-people-copy{align-self:end!important}
  .mf-people-quote{align-self:start!important}
  .mf-people-copy h2{margin:0}
}

@media (max-width:900px){
  .mf-people-copy .mf-people-support{
    max-width:100%;
    font-size:15px;
    line-height:1.56;
  }
  .mf-people-copy h2 + .mf-people-support{margin-top:18px}
  .mf-people-copy .mf-people-support + .mf-people-support{margin-top:7px}
}


/* v2.0.48 — economics result CTA moved outside the dark calculation table. */
#economics .mf-money-outcome{
  margin:22px 0 0;
  padding:0;
  border:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
#economics .mf-money-outcome p{
  margin:0;
  max-width:520px;
  color:#111;
  font-size:15px;
  line-height:1.5;
}
#economics .mf-money-outcome p strong{
  color:#111;
  font-weight:780;
}
#economics .mf-money-outcome .mf-button{
  flex:0 0 auto;
  background:#111;
  color:#fff;
  box-shadow:0 10px 26px rgba(17,17,17,.14);
}
#economics .mf-money-outcome .mf-button:hover{
  background:#242424;
  color:#fff;
  box-shadow:0 14px 30px rgba(17,17,17,.18);
}
#economics .mf-money-fineprint{margin-top:16px!important;}
@media (min-width:901px) and (max-width:1280px){
  #economics .mf-money-outcome{align-items:flex-start;flex-direction:column;gap:14px;}
}
@media (max-width:900px){
  #economics .mf-money-outcome{
    align-items:stretch;
    flex-direction:column;
    gap:14px;
    margin-top:18px;
  }
  #economics .mf-money-outcome p{font-size:14px;max-width:none;}
  #economics .mf-money-outcome .mf-button{width:100%;white-space:normal;text-align:left;justify-content:space-between;}
}

/* v2.0.49 — unified card contour on light inner pages */
.mf-financial-controls{
  border:1px solid rgba(17,17,17,.08);
  background:#fff;
  box-shadow:0 18px 50px rgba(17,17,17,.045);
}


/* v2.0.54 - browser-rendered tariff PDF with reliable server fallback */

.mf-tariffs-pdf-link[disabled],
.mf-tariffs-pdf-link.is-loading {
  cursor: wait;
  opacity: .72;
  transform: none !important;
}

.mf-tariffs-pdf-link{
  margin-top:22px;
  min-height:48px;
  padding:0 18px;
  justify-content:space-between;
  background:rgba(255,255,255,.74);
  border-color:rgba(17,17,17,.14);
  color:var(--mf-ink);
  box-shadow:none;
}
.mf-tariffs-pdf-link:hover{
  background:#fff;
  border-color:rgba(17,17,17,.25);
}
.mf-tariffs-pdf-link:hover svg{transform:translateY(2px)}
@media (max-width:900px){
  .mf-tariffs-pdf-link{width:100%;margin-top:18px}
}

/* v2.0.57 — seamless desktop menu hover and franchise news */
@media (min-width:901px){
  /* Full-height hover belongs to the main header only; the utility bar is separate. */
  .mf-side-nav,
  .mf-side-nav__links{height:100%!important;align-items:stretch!important}
  .mf-side-nav>button{align-self:center}
  .mf-side-nav__links>a.mf-side-nav__item{
    height:100%!important;
    min-height:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent;
    transform:none!important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .mf-side-nav__links>a.mf-side-nav__item:hover,
  .mf-side-nav__links>a.mf-side-nav__item:focus-visible,
  .mf-side-nav__links>a.mf-side-nav__item[aria-current="page"]{
    background:rgba(17,17,17,.055);
    color:var(--mf-ink);
  }
  .mf-side-nav__links>a.mf-side-nav__item::before,
  .mf-side-nav__links>a.mf-side-nav__item::after{border-radius:0}
}

/* Shared card pattern on archive, home and recommended-news rail. */
.mf-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,1.8vw,24px)}
.mf-news-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(17,17,17,.095);
  border-radius:23px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 50px rgba(17,17,17,.04);
  transition:transform .22s ease,box-shadow .22s ease;
}
.mf-news-card:hover{transform:translateY(-3px);box-shadow:0 23px 52px rgba(17,17,17,.08)}
.mf-news-card__media{
  display:block;position:relative;aspect-ratio:16/10;
  width:100%;overflow:hidden;background:#f3f2ee;
}
.mf-news-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.mf-news-card:hover .mf-news-card__media img{transform:scale(1.035)}
.mf-news-card__image-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:rgba(72,2,162,.25)}
.mf-news-card__image-placeholder svg{width:54px;height:54px;stroke-width:1.15}
.mf-news-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:0;padding:clamp(19px,2vw,27px)}
.mf-news-card__date{display:block;margin-bottom:12px;font-size:13px;font-weight:670;color:var(--mf-purple);font-variant-numeric:tabular-nums}
.mf-news-card h3{margin:0;font-size:clamp(19px,1.55vw,23px);line-height:1.24;letter-spacing:-.03em;font-weight:730}
.mf-news-card h3 a{color:var(--mf-ink);text-decoration:none}
.mf-news-card h3 a:hover{color:var(--mf-purple)}
.mf-news-card__body>p{margin:14px 0 21px;font-size:15px;line-height:1.56;color:#686868}
.mf-news-card__read{display:inline-flex;align-items:center;gap:9px;margin-top:auto;font-size:14px;font-weight:720;color:var(--mf-purple);text-decoration:none}
.mf-news-card__read svg{width:17px;height:17px;transition:transform .18s ease}
.mf-news-card__read:hover svg{transform:translateX(3px)}
/* Focus belongs to the focused link, not the entire card (mouse clicks do not leave a heavy ring). */
.mf-news-card :is(h3 a,.mf-news-card__read):focus-visible{
  outline:2px solid var(--mf-purple);
  outline-offset:4px;
  border-radius:3px;
}

/* Landing: a calm editorial section after the tariff comparison. */
.mf-story .mf-stage--news .mf-slide--news{
  width:100%!important;height:auto!important;min-height:0!important;
  background:var(--mf-inner-bg)!important;
  padding:clamp(72px,7vw,108px) var(--mf-gutter)!important;
}
.mf-news-home__inner{width:min(var(--mf-page),100%);margin:0 auto}
.mf-news-home__head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:0 0 36px}
.mf-news-home__head h2{margin:8px 0 0;line-height:1.08;letter-spacing:-.052em;font-size:clamp(39px,4.5vw,64px);font-weight:760}
.mf-news-home__head p:not(.mf-kicker){max-width:650px;margin:18px 0 0;font-size:16px;line-height:1.6;color:var(--mf-muted)}
.mf-news-home__head .mf-button{flex:0 0 auto;white-space:nowrap}
.mf-news-home__head .mf-button svg{width:18px;height:18px}

/* Archive + story layout reuse the legal/cookie document wrapper. */
.mf-news-page{min-height:55vh;padding-bottom:76px!important}
.mf-news-page .mf-legal__inner{width:min(1360px,100%)}
.mf-news-document{padding:clamp(28px,4.8vw,64px)}
.mf-news-archive__head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.6fr);align-items:end;gap:35px;padding-bottom:38px;margin-bottom:38px;border-bottom:1px solid var(--mf-border)}
.mf-news-archive__head h1{max-width:none;font-size:clamp(46px,5.8vw,74px);line-height:1.04;letter-spacing:-.052em}
.mf-news-archive__head>p{margin:0;max-width:355px;font-size:16px;line-height:1.6;color:var(--mf-muted)}
.mf-news-page .mf-news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.mf-news-more{display:flex;flex-direction:column;gap:14px;align-items:center;margin:43px 0 0}
.mf-news-more__button{min-height:50px;gap:12px}
.mf-news-more__button svg{width:18px;height:18px}
.mf-news-more__status{font-size:14px;color:var(--mf-muted)}
.mf-news-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:38px}
.mf-news-pager[hidden]{display:none!important}
.mf-news-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:7px 13px;border:1px solid var(--mf-border);border-radius:12px;background:#fff;color:var(--mf-ink);font-weight:660;text-decoration:none}
.mf-news-pager .page-numbers.current{background:var(--mf-yellow);border-color:var(--mf-yellow)}
.mf-news-pager .page-numbers:hover:not(.current){background:var(--mf-warm)}
.mf-news-empty{margin:42px 0 12px;font-size:16px;color:var(--mf-muted)}

.mf-news-article__head{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.mf-news-article__head h1{max-width:900px;font-size:clamp(40px,4.4vw,64px);line-height:1.08;letter-spacing:-.04em}
.mf-news-article__content{display:block!important;max-width:910px;margin:36px auto 0!important;font-size:17px;line-height:1.73;color:#3d3d3d;overflow-wrap:anywhere}
.mf-news-article__content p{margin:0 0 22px;font-size:17px;line-height:1.73;color:inherit}
.mf-news-article__content h2{margin:42px 0 17px;font-size:clamp(26px,2.7vw,34px);letter-spacing:-.025em;line-height:1.18}
.mf-news-article__content h3{margin:30px 0 12px;font-size:clamp(20px,2vw,26px);letter-spacing:-.02em;line-height:1.25}
.mf-news-article__content ul,.mf-news-article__content ol{padding-left:23px;margin:0 0 25px}
.mf-news-article__content li{margin-bottom:8px}
.mf-news-article__content img{display:block;max-width:100%;height:auto;border-radius:15px;margin:18px auto 25px}
.mf-news-article__content figure{margin:24px 0 32px;text-align:center}
.mf-news-article__content figure img{margin:0 auto}
.mf-news-article__content figcaption{margin-top:10px;font-size:13px;color:var(--mf-muted)}
.mf-news-article__content blockquote{margin:30px 0;padding:12px 26px;border-left:4px solid var(--mf-purple);background:var(--mf-inner-bg);border-radius:0 12px 12px 0;font-size:19px;line-height:1.55}
.mf-news-article__content a{color:var(--mf-purple);text-decoration:underline;text-underline-offset:3px}
.mf-news-article__content iframe{max-width:100%}
.mf-news-article__end{display:flex;gap:12px;flex-wrap:wrap;margin-top:45px;padding-top:28px;border-top:1px solid var(--mf-border)}
.mf-news-related{margin:64px 0 0}
.mf-news-related__head{margin-bottom:25px}
.mf-news-related__head h2{margin:7px 0 0;font-size:clamp(30px,3vw,43px);line-height:1.12;letter-spacing:-.04em}

@media (max-width:1120px){
  .mf-news-grid,.mf-news-page .mf-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .mf-story .mf-stage--news .mf-slide--news{padding:64px 16px!important}
  .mf-news-home__head{align-items:flex-start;flex-direction:column;gap:21px;margin-bottom:26px}
  .mf-news-home__head .mf-button{width:auto}
  .mf-news-page{padding-top:calc(var(--mf-header-h) + 22px)!important;padding-bottom:52px!important}
  .mf-news-document{padding:28px 20px}
  .mf-news-archive__head{grid-template-columns:1fr;gap:18px;padding-bottom:27px;margin-bottom:27px}
  .mf-news-archive__head>p{max-width:600px}
  .mf-news-article__head{grid-template-columns:1fr;gap:16px}
  .mf-news-article__head .mf-legal__meta{text-align:left}
  .mf-news-article__content,.mf-news-article__content p{font-size:16px;line-height:1.66}
  .mf-news-article__content{margin-top:25px!important}
  .mf-news-related{margin-top:50px}
}
@media (max-width:620px){
  .mf-news-grid,.mf-news-page .mf-news-grid{grid-template-columns:1fr}
  .mf-news-home__head .mf-button{width:100%}
  .mf-news-card__media{aspect-ratio:16/9}
  .mf-news-archive__head h1{font-size:clamp(39px,11vw,56px)}
  .mf-news-article__head h1{font-size:clamp(35px,10vw,48px)}
  .mf-news-article__end .mf-button{width:100%}
}

/* News article body follows editorial flow, not the cookie-policy two-column legal rows. */
.mf-news-article__content section,
.mf-news-article__content .wp-block-group{display:block!important;padding:0!important;margin:0 0 24px!important}
.mf-news-article__content section>*{grid-column:auto!important}
.mf-news-article__content figure>a{display:inline-block;max-width:100%}

/* v2.0.58 — first-screen photographic glass header, seamless menu, news polish. */
@media (min-width:901px){
  .mf-side-nav__links{
    gap:0!important;
    align-self:stretch;
  }
  .mf-side-nav__links>a.mf-side-nav__item{
    padding-left:clamp(12px,1vw,17px)!important;
    padding-right:clamp(12px,1vw,17px)!important;
  }
}
@media (min-width:901px) and (max-width:1380px){
  .mf-side-nav__links>a.mf-side-nav__item{
    padding-left:10px!important;
    padding-right:10px!important;
  }
}

/* Only the homepage hero slides underneath the two header bars.
   All other pages and the header after scrolling retain their current look. */
body.mf-franchise-home .mf-story,
body.mf-franchise-home .mf-story.is-deck-ready{
  padding-top:0!important;
}
body.mf-franchise-home .mf-stage--hero .mf-slide{
  min-height:100svh!important;
}
body.mf-franchise-home .mf-stage--hero .mf-slide__grid--hero{
  min-height:100svh!important;
  padding-top:calc(var(--mf-header-h) + clamp(52px,7vh,105px))!important;
  padding-bottom:clamp(54px,7vh,88px)!important;
}
@media (min-width:901px) and (min-height:820px){
  body.mf-franchise-home .mf-stage--hero .mf-slide{
    height:100svh!important;
    min-height:100svh!important;
  }
  body.mf-franchise-home .mf-stage--hero .mf-slide__grid--hero{
    height:100%!important;
  }
}
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled){
  background:rgba(12,12,18,.16)!important;
  border-bottom:1px solid rgba(255,255,255,.20)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px) saturate(1.16)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.16)!important;
}
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-topbar{
  background:rgba(8,8,14,.20)!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-topbar__tagline,
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-topbar__contact,
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-topbar__contact svg{
  color:rgba(255,255,255,.94)!important;
  opacity:1!important;
}
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-topbar__contact:hover{
  color:#ffca00!important;
}
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-side-brand__text,
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-side-brand__text strong,
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-side-brand__text small,
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-mobile-brand__text,
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-mobile-brand__text strong,
body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-mobile-brand__text small{
  color:#fff!important;
}
@media (min-width:901px){
  body.mf-franchise-home .mf-header:not(.is-scrolled) .mf-side-nav__links>a.mf-side-nav__item{
    color:#fff!important;
  }
  body.mf-franchise-home .mf-header:not(.is-scrolled) .mf-side-nav__links>a.mf-side-nav__item:hover,
  body.mf-franchise-home .mf-header:not(.is-scrolled) .mf-side-nav__links>a.mf-side-nav__item:focus-visible{
    background:rgba(255,255,255,.17)!important;
  }
}
@media (max-width:900px){
  body.mf-franchise-home .mf-stage--hero .mf-slide{
    height:auto!important;
    min-height:100svh!important;
  }
  body.mf-franchise-home .mf-stage--hero .mf-slide__grid--hero{
    min-height:100svh!important;
    height:auto!important;
    padding-top:calc(var(--mf-header-h) + 40px)!important;
    padding-bottom:60px!important;
  }
  body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-mobile-header{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.mf-franchise-home:not(.mf-mobile-menu-open) .mf-header:not(.is-scrolled) .mf-menu-toggle{
    color:#fff!important;
    background:rgba(255,255,255,.14)!important;
    border:1px solid rgba(255,255,255,.24);
  }
}

/* News card anchors are not ordinary legal-policy text links. The earlier
   generic .mf-legal a selector had higher specificity and caused underlines. */
.mf-legal.mf-news-page .mf-news-card__media,
.mf-legal.mf-news-page .mf-news-card h3 a{
  color:var(--mf-ink)!important;
  text-decoration:none!important;
}
.mf-legal.mf-news-page .mf-news-card h3 a:hover,
.mf-legal.mf-news-page .mf-news-card h3 a:focus-visible{
  color:var(--mf-purple)!important;
  text-decoration:none!important;
}
.mf-legal.mf-news-page .mf-news-card__read{
  color:var(--mf-purple)!important;
  text-decoration:none!important;
}
.mf-legal.mf-news-page .mf-news-card__read:hover,
.mf-legal.mf-news-page .mf-news-card__read:focus-visible{
  color:#360078!important;
  text-decoration:none!important;
}
.mf-legal.mf-news-page .mf-news-card__date,
.mf-news-home .mf-news-card__date{
  display:inline-flex;
  align-items:center;
  gap:7px;
  line-height:1.35;
}
.mf-news-card__date svg,
.mf-news-article__date svg{
  width:15px;
  height:15px;
  flex:0 0 auto;
  stroke-width:1.8;
}
.mf-news-article__head .mf-news-article__date{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  white-space:nowrap;
}
/* Editorial article body is aligned with the title's left edge, not centered
   inside the wide article document or indented by the old Elementor markup. */
.mf-legal.mf-news-single .mf-news-article__content{
  width:100%;
  max-width:none;
  margin:30px 0 0!important;
  padding:0!important;
  text-indent:0!important;
}
.mf-legal.mf-news-single .mf-news-article__content :is(p,div,figure,blockquote,h2,h3,h4){
  text-indent:0!important;
}
.mf-news-article__content>p:empty,
.mf-news-article__content p:empty{
  display:none!important;
}
.mf-news-article__content>div{
  max-width:100%;
  margin-left:0!important;
  padding-left:0!important;
}
.mf-news-article__content figure,
.mf-news-article__content .wp-block-image{
  max-width:100%;
}
@media (max-width:900px){
  .mf-news-article__head .mf-news-article__date{
    justify-content:flex-start;
  }
  .mf-legal.mf-news-single .mf-news-article__content{
    margin-top:24px!important;
  }
}

/* Dates have the same icon and baseline in all three news card placements. */
.mf-news-card__date{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
}

/* v2.0.59 — retain the original yellow/black logo, calm news cards,
   photographic article hero, slightly larger desktop kickers. */
@media (min-width:901px){
  .mf-kicker{font-size:13.5px}
  /* Legal/news screens have a stronger generic .mf-legal p rule. */
  .mf-legal p.mf-kicker{font-size:15.5px}
}

/* The header photo is a proper hero, not a separate illustration between
   the article heading and its body. Only news articles receive this layout. */
.mf-news-article{
  --mf-news-article-pad:clamp(28px,4.8vw,64px);
  padding:var(--mf-news-article-pad);
}
.mf-news-article__hero-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  width:100%;
}
.mf-news-article__head:not(.has-image) .mf-news-article__hero-content{
  grid-column:1/-1;
}
.mf-news-article__head.has-image{
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:flex-end;
  min-height:clamp(370px,37vw,530px);
  margin:calc(-1 * var(--mf-news-article-pad)) calc(-1 * var(--mf-news-article-pad)) 0;
  padding:clamp(32px,4.8vw,64px);
  overflow:hidden;
  border:0;
  border-radius:29px 29px 0 0;
  background:#1a1720;
}
.mf-news-article__hero-media,
.mf-news-article__hero-media img{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.mf-news-article__hero-media{z-index:0;overflow:hidden}
.mf-news-article__hero-media img{
  object-fit:cover;
  object-position:center 45%;
}
.mf-news-article__head.has-image::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(11,10,18,.88) 0%,rgba(11,10,18,.62) 49%,rgba(11,10,18,.22) 100%),
    linear-gradient(0deg,rgba(11,10,18,.46) 0%,rgba(11,10,18,0) 70%);
}
.mf-legal.mf-news-single .mf-news-article__head.has-image h1{
  max-width:min(900px,100%);
  color:#fff!important;
  text-shadow:0 3px 24px rgba(0,0,0,.22);
}
.mf-legal.mf-news-single .mf-news-article__head.has-image .mf-kicker{
  margin:0 0 20px!important;
  color:rgba(255,255,255,.94)!important;
}
.mf-legal.mf-news-single .mf-news-article__head.has-image .mf-news-article__date{
  margin-top:25px!important;
  justify-content:flex-start!important;
  text-align:left!important;
  color:rgba(255,255,255,.94)!important;
  text-shadow:0 2px 12px rgba(0,0,0,.2);
}
.mf-news-article__head:not(.has-image) .mf-news-article__hero-content .mf-kicker{
  margin:0 0 18px;
}
.mf-news-article__head:not(.has-image) .mf-news-article__hero-content .mf-news-article__date{
  margin-top:18px!important;
  justify-content:flex-start;
}
@media (max-width:900px){
  .mf-news-article{
    --mf-news-article-pad:20px;
    padding:28px var(--mf-news-article-pad);
  }
  .mf-news-article__head.has-image{
    min-height:360px;
    margin:-28px calc(-1 * var(--mf-news-article-pad)) 0;
    padding:34px 26px;
    border-radius:26px 26px 0 0;
  }
  .mf-news-article__head.has-image::after{
    background:
      linear-gradient(90deg,rgba(11,10,18,.84),rgba(11,10,18,.38)),
      linear-gradient(0deg,rgba(11,10,18,.60),rgba(11,10,18,.04) 85%);
  }
}
@media (max-width:620px){
  .mf-news-article__head.has-image{
    min-height:330px;
    padding:28px 20px;
  }
  .mf-legal.mf-news-single .mf-news-article__head.has-image h1{
    font-size:clamp(30px,8.2vw,43px);
    line-height:1.08;
  }
  .mf-legal.mf-news-single .mf-news-article__head.has-image .mf-kicker{
    margin-bottom:16px!important;
  }
  .mf-legal.mf-news-single .mf-news-article__head.has-image .mf-news-article__date{
    margin-top:21px!important;
  }
}


/* v2.0.60 — consistent page width, real Lucide breadcrumbs and an editorial
   reading column with a sticky sales/contact rail. No changes to the landing. */
.mf-news-page .mf-legal__inner{
  width:min(var(--mf-page),100%);
  margin-inline:auto;
}

/* All legal and news documents use the same accessible breadcrumb component. */
.mf-breadcrumbs{
  display:block;
  max-width:100%;
  margin:0 0 24px;
  color:var(--mf-muted);
  font-size:14px;
  font-weight:400;
  line-height:1.45;
}
.mf-breadcrumbs__list{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:0;
  width:100%;
  min-width:0;
  padding:0!important;
  margin:0!important;
  list-style:none;
}
.mf-breadcrumbs__item{
  display:inline-flex;
  align-items:center;
  min-width:0;
  flex:0 0 auto;
  padding:0;
  margin:0!important;
  font:inherit;
}
.mf-legal .mf-breadcrumbs__item{font-size:inherit;line-height:inherit}
.mf-breadcrumbs__item.is-current{flex:0 1 auto;min-width:0}
.mf-legal .mf-breadcrumbs__list a:not(.mf-button):not(.mf-legal__back),
.mf-legal .mf-breadcrumbs__list a:not(.mf-button):not(.mf-legal__back):visited{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 0;
  color:var(--mf-muted);
  text-decoration:none;
  white-space:nowrap;
  transition:color .18s ease;
}
.mf-legal .mf-breadcrumbs__list a:not(.mf-button):not(.mf-legal__back):hover{
  color:var(--mf-purple);
  text-decoration:none;
}
.mf-breadcrumbs__link svg{width:17px;height:17px;flex:0 0 auto;stroke-width:1.9}
.mf-breadcrumbs__divider{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 11px;
  color:#a8a7a1;
}
.mf-breadcrumbs__divider svg{width:15px;height:15px;stroke-width:1.8}
.mf-breadcrumbs__current{
  display:block;
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:var(--mf-ink);
  font-weight:400;
}

/* The article (including the photographic hero) and the sidebar are
   independent siblings. Both columns scroll naturally with the page. */
.mf-news-single__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(276px,310px);
  column-gap:clamp(24px,3vw,40px);
  align-items:start;
  width:100%;
  max-width:1330px;
}
.mf-news-single__layout>.mf-news-article{
  min-width:0;
  width:100%;
}
.mf-news-article__main{min-width:0;width:100%}
.mf-legal.mf-news-single .mf-news-article__content{
  width:100%;
  max-width:840px;
  margin:34px 0 0!important;
}
@media (max-width:900px){
  .mf-legal.mf-news-single .mf-news-article__content{margin-top:24px!important}
}
.mf-legal.mf-news-single .mf-news-article__content img,
.mf-legal.mf-news-single .mf-news-article__content figure img{
  margin-left:0;
  margin-right:auto;
}
.mf-legal.mf-news-single .mf-news-article__content figure{text-align:left}

.mf-news-sidebar{min-width:0;align-self:stretch}
.mf-news-sidebar__stack{
  display:grid;
  gap:14px;
  /* No nested or sticky scrolling: the cards move with the article. */
  position:static;
  max-height:none;
  overflow:visible;
}
.mf-news-sidebar__card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-width:0;
  gap:0;
  padding:24px;
  border:1px solid #eeede8;
  border-radius:21px;
  background:#fff;
}
.mf-news-sidebar__card--contact{
  background:#fff;
}
.mf-news-sidebar__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:16px;
  color:var(--mf-purple);
  font-size:12px;
  line-height:1.3;
  font-weight:740;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.mf-news-sidebar__eyebrow svg{width:19px;height:19px;flex:0 0 auto;stroke-width:1.75}
.mf-legal.mf-news-single .mf-news-sidebar__card h2{
  margin:0 0 10px;
  font-size:clamp(20px,1.6vw,24px);
  line-height:1.17;
  letter-spacing:-.03em;
  font-weight:750;
  color:var(--mf-ink);
}
.mf-legal.mf-news-single .mf-news-sidebar__card p{
  margin:0 0 19px;
  font-size:14px;
  line-height:1.55;
  color:#66655f;
}
.mf-news-sidebar__button{
  width:100%;
  min-height:45px;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:9px 15px;
  border-radius:14px;
  font-size:13px;
  font-weight:730;
  line-height:1.3;
  white-space:normal;
  text-align:center;
}
/* Accent actions on white cards; the contact CTA keeps the theme yellow. */
.mf-news-sidebar__card .mf-news-sidebar__button.mf-button--outline{
  background:var(--mf-purple);
  border:1px solid var(--mf-purple);
  color:#fff;
  box-shadow:none;
}
.mf-news-sidebar__card .mf-news-sidebar__button.mf-button--outline:hover{
  background:var(--mf-purple-deep);
  border-color:var(--mf-purple-deep);
  color:#fff;
}
.mf-news-sidebar__card .mf-news-sidebar__button.mf-button--primary{
  background:var(--mf-yellow);
  color:var(--mf-ink);
}
.mf-news-sidebar__card .mf-news-sidebar__button.mf-button--primary:hover{
  background:var(--mf-yellow-hover);
}
.mf-news-sidebar__button svg{width:16px;height:16px;flex:0 0 auto}
.mf-news-sidebar__contacts{
  display:grid;
  gap:10px;
  margin:0 0 19px;
  font-size:12.5px;
  line-height:1.4;
}
.mf-legal .mf-news-sidebar__contacts a:not(.mf-button):not(.mf-legal__back){
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  color:var(--mf-ink);
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:color .18s ease;
}
.mf-legal .mf-news-sidebar__contacts a:not(.mf-button):not(.mf-legal__back):hover{
  color:var(--mf-purple);
  text-decoration:none;
}
.mf-news-sidebar__contacts svg{width:16px;height:16px;flex:0 0 auto;color:var(--mf-purple)}
.mf-news-sidebar__contacts span{min-width:0}

@media (max-width:1120px){
  .mf-news-single__layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .mf-news-article__main{max-width:100%}
  .mf-news-sidebar__stack{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mf-news-sidebar__card--contact{grid-column:1/-1}
}
@media (max-width:620px){
  .mf-breadcrumbs{font-size:12.5px;margin-bottom:18px}
  .mf-breadcrumbs__divider{margin:0 7px}
  .mf-breadcrumbs__link svg{width:16px;height:16px}
  .mf-news-single__layout{gap:26px}
  .mf-news-sidebar__stack{grid-template-columns:1fr}
  .mf-news-sidebar__card--contact{grid-column:auto}
  .mf-news-sidebar__card{padding:22px}
}
