/* why: sticky CTA (phone bar, desktop pill) + ad-mode chrome strip */
.mf-sticky{position:fixed;z-index:900;right:max(var(--s-24),env(safe-area-inset-right));bottom:max(var(--s-24),env(safe-area-inset-bottom));opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--panel) var(--ease),transform var(--panel) var(--ease),visibility 0s linear var(--panel)}
.mf-sticky.is-on{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.mf-sticky__btn{height:48px;padding:0 var(--s-24);border-radius:999px;font-size:var(--t-16);box-shadow:0 2px 10px rgba(22,30,47,.2)}
html.lpm-lock .mf-sticky{display:none}
/* why: viewport-fit=cover on landers; content stays out of the landscape notch strip */
body.mf-lp-chrome{padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}
@media(max-width:760px){
.mf-sticky{left:0;right:0;bottom:0;padding:var(--s-8) max(var(--s-16),env(safe-area-inset-right)) calc(var(--s-8) + env(safe-area-inset-bottom)) max(var(--s-16),env(safe-area-inset-left));background:var(--bg);border-top:1px solid var(--line-strong)}
.mf-sticky__btn{width:100%;border-radius:var(--r-control);box-shadow:none}
/* trap: bar is 64px + inset; footer keeps its legal text clear of it */
body.mf-lp-chrome .foot{padding-bottom:calc(var(--s-64) + 64px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.mf-sticky{transition:none}}

/* ref: ad mode zeroes --mast-h/--mast-off so sticky-under-header sits at top:0 */
html.mf-ad{--mast-h:0px;--mast-off:0px;scroll-padding-top:var(--s-16)}
html.mf-ad .mast{position:static;transform:none!important}
html.mf-ad .mast-actions,html.mf-ad .mega,html.mf-ad .nav-toggle,html.mf-ad .about{display:none}
html.mf-ad .mast .logo{pointer-events:none;cursor:default}
@media(max-width:760px){html.mf-ad .mast .wrap{min-height:56px}}
