
/* ==========================================================================
   GLOBAL TYPOGRAPHY — POPPINS BODY / INTER HEADINGS
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Poppins:wght@400;500;600;700&display=swap");
:root {
  --pxn-ff-body: 'Poppins', sans-serif;
  --pxn-ff-heading: 'Inter', sans-serif;
}
html, body {
  font-family: 'Poppins', sans-serif !important;
  font-size: 17px;
}
body, body *:not(i):not([class*="pxni-"]) {
  font-family: 'Poppins', sans-serif !important;
}
h1, h2, h3, h4, h5, h6,
.pxn_site_logo, .pxn_main_navigation,
button, .mf-btn, .pxn-btn-primary, .pxn_header_btn,
.mf-eyebrow, .mf-leader-readmore {
  font-family: 'Inter', sans-serif !important;
}
/* ==========================================================================
   MASFLAIR — Premium Leadership Consulting Theme
   Layered on top of main.css. Overrides brand tokens + adds new sections.
   ========================================================================== */

:root {
  /* Brand palette */
  --pxn-color-theme-primary: #D71920;
  --pxn-color-theme-secondary: #111111;
  --pxn-color-heading-primary: #111111;
  --pxn-color-text-body: #111111;
  --pxn-color-theme-bg-primary: #111111;
  --pxn-color-theme-bg-light: #F8F8F8;
  --pxn-color-theme-bg-light-2: #F8F8F8;
  --pxn-color-border-1: rgba(17, 17, 17, 0.1);

  --mf-primary: #D71920;
  --mf-primary-dark: #a91217;
  --mf-dark: #111111;
  --mf-white: #ffffff;
  --mf-grey: #F8F8F8;
  --mf-accent: #666666;
  --mf-border: rgba(17, 17, 17, 0.08);
}

body {
  color: var(--mf-accent);
  -webkit-font-smoothing: antialiased;
}

/* ---------- Global helpers ---------- */
.mf-section { padding: 120px 0; position: relative; }
.mf-section.no-top { padding-top: 0; }
.mf-section-sm { padding: 90px 0; }
@media (max-width: 991px) {
  .mf-section { padding: 80px 0; }
  .mf-section-sm { padding: 60px 0; }
}

.mf-container { max-width: 1320px; margin: 0 auto; padding: 0 24px; }

.mf-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: var(--mf-primary);
  margin-bottom: 18px;
}
.mf-eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  background: var(--mf-primary);
  display: inline-block;
}

.mf-heading {
  text-align: center;
  max-width: 740px;
  margin: 0 auto 64px;
}
.mf-heading.mf-left { text-align: left; margin-left: 0; }
.mf-heading h2 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 700;
  font-size: 46px;
  line-height: 1.18;
  color: var(--mf-dark);
  letter-spacing: -0.5px;
  margin-bottom: 18px;
}
.mf-heading p {
  font-size: 17px;
  line-height: 1.8;
  color: var(--mf-accent);
}
@media (max-width: 767px) {
  .mf-heading h2 { font-size: 32px; }
}

.mf-bg-grey { background: var(--mf-grey); }
.mf-bg-dark { background: var(--mf-dark); }
.mf-bg-white { background: var(--mf-white); }

/* Buttons */
.mf-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 17px 34px;
  border-radius: 100px;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.2px;
  text-decoration: none;
  transition: all 0.35s ease;
  border: 1px solid transparent;
  white-space: nowrap;
}
.mf-btn-primary {
  background: var(--mf-primary);
  color: var(--mf-white);
  box-shadow: 0 14px 30px -10px rgba(215, 25, 32, 0.55);
}
.mf-btn-primary:hover {
  background: var(--mf-dark);
  color: var(--mf-white);
  transform: translateY(-2px);
  box-shadow: 0 18px 34px -10px rgba(17, 17, 17, 0.4);
}
.mf-btn-outline {
  background: transparent;
  color: var(--mf-dark);
  border-color: rgba(17, 17, 17, 0.18);
}
.mf-btn-outline:hover {
  background: var(--mf-dark);
  color: var(--mf-white);
  border-color: var(--mf-dark);
  transform: translateY(-2px);
}
.mf-btn-outline-light {
  background: transparent;
  color: var(--mf-white);
  border-color: rgba(255, 255, 255, 0.35);
}
.mf-btn-outline-light:hover {
  background: var(--mf-white);
  color: var(--mf-dark);
  border-color: var(--mf-white);
  transform: translateY(-2px);
}
.mf-btn i { font-size: 13px; }

/* ==========================================================================
   HEADER tweaks
   ========================================================================== */
.pxn_header_top { background: var(--mf-dark); }
.pxn_topbar_info { color: rgba(255,255,255,0.85); }
.pxn_header_main { background: rgba(17,17,17,0.0); }
.header-sticky.sticky .pxn_header_main,
.header-duplicate .pxn_header_main { background: var(--mf-white); box-shadow: 0 8px 30px rgba(17,17,17,0.06); }

/* The vendor CSS colors the duplicate header's nav links, social icons, search
   button and offcanvas toggle white (built for a dark sticky bar). Since our
   sticky bar is white, that left every one of those elements invisible
   (white-on-white). Force them back to dark/charcoal here.
   IMPORTANT: scoped to the TOP-LEVEL nav links only (.pxn_main_navigation > ul > li > a).
   The previous unscoped "ul > li > a" selector also matched the dropdown
   sub-menu's links, forcing dark text onto the sub-menu's own dark background
   — making the dropdown text unreadable on hover in the sticky header. */
.header-duplicate .pxn_main_navigation > ul > li > a,
.header-duplicate .pxn_socials_2 li > .social,
.header-duplicate .pxn_header_search,
.header-duplicate .pxn_offcanvas_toggle {
  color: var(--mf-dark) !important;
}
.header-duplicate .pxn_main_navigation > ul > li.current-menu-ancestor > a,
.header-duplicate .pxn_main_navigation > ul > li.current-menu-item > a,
.header-duplicate .pxn_main_navigation > ul > li:hover > a,
.header-duplicate .pxn_socials_2 li > a:hover,
.header-duplicate .pxn_header_search:hover,
.header-duplicate .pxn_offcanvas_toggle:hover {
  color: var(--mf-primary) !important;
}
/* Dropdown sub-menu keeps its original white-on-dark treatment (unaffected by
   the overrides above), so hovering a sub-menu item in the sticky header
   stays legible: dark panel background, white text, red on hover. */
.header-duplicate .pxn_main_navigation ul > li .sub-menu > li > a {
  color: var(--pxn-color-common-white) !important;
}
.header-duplicate .pxn_main_navigation ul > li .sub-menu > li:hover > a {
  color: var(--mf-primary) !important;
}
.header-duplicate .pxn_header_main_inner { border-color: var(--mf-border); }
.pxn_site_logo img { height: 40px; width: auto; }

/* ==========================================================================
   HEADER — responsive layout (single source of truth)
   Two clean states only — no in-between "shrink and hope it fits" breakpoints:

   1) DESKTOP & LAPTOP (>=1200px): full nav pill + search, on one row.
      The "Book Consultation" button is NOT shown here — a plain text link
      ("Book a Consultation") lives in the top bar instead. Social icons
      also live in the top bar, not in the nav pill, so the pill only ever
      has to fit the nav links themselves.
   2) TABLET & MOBILE (<1200px): the nav pill/search-adjacent elements are
      hidden and the existing off-canvas menu trigger is shown instead.
      Here the filled "Book Consultation" BUTTON is shown (and the top
      bar's text link is hidden, since the button already covers it).
      Logo + Book Consultation + Menu trigger stay on one row at every
      width down to small phones.

   Visibility is driven by two custom classes (.mf-nav-desktop / .mf-nav-
   compact) set directly on the header markup instead of Bootstrap's
   d-*-none utilities, because those utilities carry `!important` and were
   fighting each other across several overlapping breakpoints — the actual
   cause of the nav wrapping/overlapping onto its own row. (The button/
   text-link swap below is the one place we DO use Bootstrap's d-xl-*
   utilities, since nothing else competes for those specific elements'
   display property, so there's no fight to have.)
   ========================================================================== */
.pxn-header-3 .pxn_header_main_wrap {
  flex-wrap: nowrap;
  gap: 20px;
}
.pxn-header-3 .pxn_site_logo { flex: 0 0 auto; }

/* Desktop/laptop-only nav + search — hidden by default, shown at >=1200px */
.pxn-header-3 .mf-nav-desktop { display: none; }
@media (min-width: 1200px) {
  .pxn-header-3 .mf-nav-desktop { display: inline-flex; flex-wrap: nowrap; align-items: center; }
}

/* Compact-only menu trigger — shown by default, hidden at >=1200px */
.pxn-header-3 .mf-nav-compact { display: inline-flex; }
@media (min-width: 1200px) {
  .pxn-header-3 .mf-nav-compact { display: none; }
}
/* Same breakpoint, block-level variant for the off-canvas panel's cloned
   mobile menu container (lives outside the <header> element, so it needs
   its own unscoped rule rather than the header toggle button's inline-flex). */
.mf-nav-compact { display: block; }
@media (min-width: 1200px) {
  .mf-nav-compact { display: none; }
}

.pxn-header-3 .pxn_header_right {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  flex: 0 0 auto;
  margin-left: initial;
  gap: 14px;
}
/* Search is icon-only now — no "Explore" label to make room for. */
.pxn-header-3 .pxn_header_search span { display: none; }

/* Nav pill: no social icons or button inside any more, so it only needs
   to fit the nav links themselves — tighten its own padding/gaps
   accordingly. */
@media (min-width: 1200px) {
  .pxn-header-3 .pxn_header_main_inner { padding: 15px 26px; column-gap: 0; }
  .pxn-header-3 .pxn_main_navigation ul:not(.sub-menu) { column-gap: 20px; }
}
@media (min-width: 1400px) {
  .pxn-header-3 .pxn_header_main_inner { padding: 17px 34px; }
  .pxn-header-3 .pxn_main_navigation ul:not(.sub-menu) { column-gap: 26px; }
}

/* Top bar's text "Book a Consultation" link — desktop/laptop only. Its
   underline already tracks currentColor, so setting the text color to
   white is all that's needed for it to read correctly on the dark bar. */
.mf-topbar-book { color: #fff; }
.mf-topbar-book:hover { color: rgba(255, 255, 255, 0.75); }

/* Topbar contact links + social icons (moved out of inline style="" attrs
   and out of the nav pill respectively). */
.mf-topbar-contact { gap: 22px; }
.mf-topbar-link { color: rgba(255, 255, 255, 0.85); text-decoration: none; }
.mf-topbar-right { gap: 20px; }
.mf-topbar-socials { column-gap: 14px; margin-left: 6px; }
.pxn-header-3 .mf-topbar-socials li > .social { color: #fff; }
.pxn-header-3 .mf-topbar-socials li > .social:hover { color: rgba(255, 255, 255, 0.75); }

/* Top bar on small screens: keep contact details + social icons on one
   row (the "Trusted leadership consulting partner" line is hidden below
   md via d-none d-md-inline-flex on the markup itself), shrinking type
   and gaps just enough to avoid wrapping. */
@media (max-width: 575px) {
  .pxn-header-3 .pxn_header_top { padding: 8px 0; }
  .pxn-header-3 .pxn_header_top_wrap { justify-content: space-between; gap: 8px; flex-wrap: nowrap; }
  .pxn-header-3 .mf-topbar-contact { gap: 10px; flex-wrap: nowrap; overflow: hidden; }
  .pxn-header-3 .mf-topbar-contact .info_text { font-size: 11px; white-space: nowrap; }
  .pxn-header-3 .mf-topbar-contact .info_text i { font-size: 14px; }
  .pxn-header-3 .mf-topbar-right { gap: 10px; flex: 0 0 auto; }
  .pxn-header-3 .mf-topbar-socials { column-gap: 10px; margin-left: 0; }
  .pxn-header-3 .mf-topbar-socials li > .social { font-size: 14px; }
}
@media (max-width: 380px) {
  .pxn-header-3 .mf-topbar-contact a[href^="mailto"] { display: none; }
}

/* ---------- Header search: live results dropdown ---------- */
.mf-search-results {
  max-width: 720px;
  margin: 18px auto 0;
  max-height: 50vh;
  overflow-y: auto;
  border-radius: 12px;
  display: none;
}
.mf-search-results.has-results {
  display: block;
  background: #fff;
  border: 1px solid var(--mf-border, rgba(29, 2, 3, 0.12));
  box-shadow: 0 24px 50px -20px rgba(29, 2, 3, 0.25);
}
.mf-search-result {
  display: block;
  padding: 14px 22px;
  color: var(--mf-dark, #1D0203);
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  border-bottom: 1px solid var(--mf-border, rgba(29, 2, 3, 0.08));
  transition: background .2s ease, color .2s ease;
}
.mf-search-result:last-child { border-bottom: none; }
.mf-search-result:hover { background: var(--mf-grey, #F8F8F8); color: var(--mf-primary, #D71920); }
.mf-search-empty { padding: 18px 22px; font-size: 14.5px; color: var(--mf-accent, #666); }

/* Compact row (<1200px): logo + search + Book Consultation + menu trigger.
   Progressively tighten spacing/size for smaller screens so the row never
   wraps, right down to small phones. */
@media (max-width: 1199px) {
  .pxn-header-3 .pxn_header_main { padding: 14px 0; }
}
@media (max-width: 767px) {
  .pxn-header-3 .pxn_header_main { padding: 10px 0; }
  .pxn-header-3 .pxn_header_main_wrap { gap: 10px; }
  .pxn-header-3 .pxn_site_logo { max-width: 130px; }
  .pxn-header-3 .pxn_site_logo img { height: 32px; }
  .pxn-header-3 .pxn_header_right { gap: 10px; }
  .pxn-header-3 .pxn_header_search i { font-size: 110%; }
  .pxn-header-3 .pxn_header_btn { padding: 10px 16px; font-size: 13.5px; }
  .pxn-header-3 .pxn_header_btn .btn_icon { width: 20px; height: 20px; min-width: 26px; }
  .pxn-header-3 .pxn_offcanvas_toggle .text { display: none; }
}
@media (max-width: 480px) {
  .pxn-header-3 .pxn_header_top { padding: 6px 0; }
  .pxn-header-3 .pxn_site_logo { max-width: 130px; }
  .pxn-header-3 .pxn_site_logo img { height: 35px; }
  .pxn-header-3 .pxn_header_main_wrap { gap: 8px; }
  .pxn-header-3 .pxn_header_right { gap: 8px; }
  .pxn-header-3 .pxn_header_btn { padding: 5px 8px; font-size: 12px; }
  .pxn-header-3 .pxn_header_btn .btn_text span { white-space: nowrap; }
}
@media (max-width: 400px) {
  .pxn-header-3 .pxn_header_btn .btn_icon { display: none; }
}

/* ==========================================================================
   HERO
   ========================================================================== */
.mf-hero { position: relative; background: var(--mf-dark); overflow: hidden; padding-top: 250px; padding-bottom: 150px; }
.mf-hero::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 82% 12%, rgba(215,25,32,0.30), transparent 45%),
    linear-gradient(125deg, rgba(10,10,10,0.97) 15%, rgba(15,15,15,0.88) 48%, rgba(215,25,32,0.28) 100%),
    url('../images/hero/hero-v2.png') center right / cover no-repeat;
}
.mf-hero::after {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.09) 1px, transparent 1px);
  background-size: 26px 26px;
  opacity: 0.35;
  pointer-events: none;
}
.mf-hero .mf-container { position: relative; z-index: 2; }
.mf-hero-inner { max-width: 780px; }
.mf-hero-sub {
  display: inline-flex; align-items: center; gap: 10px;
  color: #fff; background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  padding: 9px 20px; border-radius: 100px;
  font-size: 13px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
  margin-bottom: 32px; backdrop-filter: blur(6px);
}
.mf-hero-sub i { color: var(--mf-primary); }
.mf-hero h1 {
  font-size: 74px; line-height: 1.08; font-weight: 700; color: #fff;
  letter-spacing: -1.5px; margin-bottom: 30px;
}
.mf-hero h1 em { font-style: normal; color: inherit; }
.mf-hero p.mf-hero-desc {
  font-size: 19px; line-height: 1.8; color: rgba(255,255,255,0.72); max-width: 620px; margin-bottom: 48px;
}
.mf-hero-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-bottom: 76px; }
.mf-hero-trust { display: flex; flex-wrap: wrap; gap: 0; border-top: 1px solid rgba(255,255,255,0.14); padding-top: 38px; max-width: 700px; }
.mf-hero-trust .mf-trust-item { flex: 1 1 auto; min-width: 140px; padding-right: 30px; }
.mf-hero-trust .num { font-size: 32px; font-weight: 700; color: #fff; font-family: var(--pxn-ff-heading); display:flex; align-items:baseline; gap:2px;}
.mf-hero-trust .lbl { font-size: 13.5px; color: rgba(255,255,255,0.6); margin-top: 4px; letter-spacing: 0.3px; }

.mf-hero .pxn_slider-pagination { position: absolute; right: 60px; bottom: 60px; z-index: 3; }
.mf-hero .pxn_slider-nav { display: none; }

/* ==========================================================================
   WHO WE ARE
   ========================================================================== */
.mf-about { overflow: visible; }
.mf-about-img-wrap { position: relative; }
.mf-about-img-wrap .mf-img-main {
  border-radius: 20px; overflow: hidden; box-shadow: 0 40px 70px -30px rgba(17,17,17,0.35);
}
.mf-about-img-wrap .mf-img-main img { width: 100%; height: 620px; object-fit: cover; display:block; }
.mf-float-card {
  position: absolute; left: -40px; bottom: -40px;
  background: var(--mf-white); border-radius: 18px;
  padding: 25px 25px; box-shadow: 0 30px 60px -20px rgba(17,17,17,0.25);
  display: flex; align-items: center; gap: 20px; max-width: 320px;
  border: 1px solid var(--mf-border);
}
.mf-float-card .num { font-size: 40px; font-weight: 700; color: var(--mf-primary); font-family: var(--pxn-ff-heading); line-height: 1; }
.mf-float-card .txt { font-size: 14px; color: var(--mf-dark); line-height: 1.4; font-weight: 600; }
@media (max-width: 991px) {
  .mf-float-card { left: 16px; bottom: -30px; padding: 20px 22px; }
}

.mf-about-content h2 { font-size: 42px; font-weight: 700; color: var(--mf-dark); letter-spacing: -0.5px; line-height: 1.2; margin-bottom: 22px; font-family: Inter, sans-serif !important;}
.mf-about-content > p { font-size: 17px; line-height: 1.85; color: var(--mf-accent); margin-bottom: 36px; }

.mf-pillars { display: flex; flex-direction: column; gap: 0; }
.mf-pillar { display: flex; gap: 20px; padding: 24px 0; border-top: 1px solid var(--mf-border); }
.mf-pillar:last-child { border-bottom: 1px solid var(--mf-border); }
.mf-pillar .ic {
  width: 52px; height: 52px; min-width: 52px; border-radius: 14px;
  background: rgba(215,25,32,0.08); color: var(--mf-primary);
  display: flex; align-items: center; justify-content: center; font-size: 22px;
}
.mf-pillar h4 { font-size: 18px; font-weight: 700; color: var(--mf-dark); margin-bottom: 6px; }
.mf-pillar p { font-size: 15px; color: var(--mf-accent); line-height: 1.7; margin: 0; }

/* ==========================================================================
   3E FRAMEWORK — timeline
   ========================================================================== */
.mf-timeline { max-width: 1100px; margin: 0 auto; }
.mf-timeline-track { position: relative; display: flex; justify-content: space-between; gap: 20px; }
.mf-timeline-track::before {
  content: "";
  position: absolute; top: 44px; left: 60px; right: 60px; height: 2px;
  background: repeating-linear-gradient(90deg, rgba(17,17,17,0.18) 0 10px, transparent 10px 20px);
}
.mf-timeline-step { flex: 1; text-align: center; position: relative; }
.mf-timeline-step .step-num {
  width: 88px; height: 88px; border-radius: 50%; margin: 0 auto 28px;
  background: var(--mf-white); border: 2px solid var(--mf-dark);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--pxn-ff-heading); font-size: 30px; font-weight: 700; color: var(--mf-dark);
  position: relative; z-index: 2; transition: all .35s ease;
}
.mf-timeline-step:nth-child(2) .step-num,
.mf-timeline-step:nth-child(3) .step-num { border-color: var(--mf-primary); color: var(--mf-primary); }
.mf-timeline-step .step-tag { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--mf-primary); font-weight: 700; margin-bottom: 10px; }
.mf-timeline-step h3 { font-size: 24px; font-weight: 700; color: var(--mf-dark); margin-bottom: 12px; }
.mf-timeline-step p { font-size: 15px; line-height: 1.75; color: var(--mf-accent); max-width: 350px; margin: 0 auto; }
@media (max-width: 767px) {
  .mf-timeline-track { flex-direction: column; gap: 50px; }
  .mf-timeline-track::before { display: none; }
}

/* ==========================================================================
   SOLUTIONS
   ========================================================================== */
.mf-solutions-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
@media (max-width: 1199px) { .mf-solutions-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .mf-solutions-grid { grid-template-columns: 1fr; } }

.mf-sol-card {
  background: var(--mf-white); border: 1px solid var(--mf-border);
  border-radius: 20px; padding: 42px 32px; height: 100%;
  display: flex; flex-direction: column;
  transition: all .4s cubic-bezier(.2,.8,.2,1);
  position: relative; overflow: hidden;
}
.mf-sol-card::before {
  content: ""; position: absolute; inset: 0; opacity: 0;
  background: linear-gradient(160deg, var(--mf-dark), #1c1c1c);
  transition: opacity .4s ease; z-index: 0;
}
.mf-sol-card:hover::before { opacity: 1; }
.mf-sol-card:hover { transform: translateY(-10px); box-shadow: 0 30px 60px -20px rgba(17,17,17,0.3); border-color: transparent; }
.mf-sol-card > * { position: relative; z-index: 1; }
.mf-sol-card .ic {
  width: 62px; height: 62px; border-radius: 16px; background: #f8f8f800; color: var(--mf-primary);
  display: flex; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 26px;
  transition: all .4s ease;
}
/* .mf-sol-card:hover .ic { background: var(--mf-primary); color: #fff; } */
.mf-sol-card h3 { font-size: 21px; font-weight: 700; color: var(--mf-dark); margin-bottom: 14px; transition: color .3s ease; }
.mf-sol-card:hover h3 { color: #fff; }
.mf-sol-card p { font-size: 14.5px; line-height: 1.75; color: var(--mf-accent); margin-bottom: 26px; flex-grow: 1; transition: color .3s ease; }
.mf-sol-card:hover p { color: rgba(255,255,255,0.7); }
.mf-sol-card .mf-link { font-size: 14px; font-weight: 700; color: var(--mf-primary); display: inline-flex; align-items: center; gap: 8px; transition: color .3s ease; text-decoration:none;}
.mf-sol-card:hover .mf-link { color: var(--mf-primary); }

/* ==========================================================================
   WHY MASFLAIR
   ========================================================================== */
.mf-why {
  position: relative; background: var(--mf-dark); color: #fff; overflow: hidden;
}
.mf-why::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(120deg, rgba(17,17,17,0.95), rgba(17,17,17,0.86)), url('../images/counter/counter-bg.png') center/cover no-repeat;
}
.mf-why .mf-container { position: relative; z-index: 2; }
.mf-why .mf-heading h2, .mf-why .mf-heading p { color: #fff; }
.mf-why .mf-heading p { color: rgba(255,255,255,0.65); }
.mf-why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,0.12); border-radius: 20px; overflow: hidden; }
@media (max-width: 991px) { .mf-why-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .mf-why-grid { grid-template-columns: 1fr; } }
.mf-why-card { background: #171717; padding: 44px 30px; transition: background .35s ease; }
.mf-why-card:hover { background: #1f1f1f; }
.mf-why-card .ic { width: 56px; height: 56px; border-radius: 14px; background: rgba(215,25,32,0.15); color: var(--mf-primary); display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 24px; }
.mf-why-card h4 { font-size: 19px; font-weight: 700; margin-bottom: 12px; color: #fff; }
.mf-why-card p { font-size: 14.5px; line-height: 1.75; color: rgba(255,255,255,0.6); margin: 0; }

/* ==========================================================================
   COUNTERS
   ========================================================================== */
.mf-counters { background: var(--mf-grey); }
.mf-counter-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; text-align: center; }
@media (max-width: 767px) { .mf-counter-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 20px; } }
.mf-counter-item .val { font-family: var(--pxn-ff-heading); font-size: 54px; font-weight: 700; color: var(--mf-dark); line-height: 1; display: flex; align-items: baseline; justify-content: center; gap: 3px; }
.mf-counter-item .val .suffix { color: var(--mf-primary); font-size: 38px; }
.mf-counter-item .lbl { margin-top: 14px; font-size: 15px; color: var(--mf-dark); font-weight: 500; }

/* ==========================================================================
   INDUSTRIES
   ========================================================================== */
.mf-industries-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px; }
.mf-industries-grid .mf-ind-card-building { grid-column: auto; }
@media (max-width: 991px) { .mf-industries-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .mf-industries-grid { grid-template-columns: 1fr; } }
.mf-ind-card {
  background: var(--mf-white); border: 1px solid var(--mf-border); border-radius: 16px;
  padding: 34px 26px; text-align: center; transition: all .35s ease;
}
.mf-ind-card:hover { border-color: var(--mf-primary); transform: translateY(-6px); box-shadow: 0 20px 40px -18px rgba(17,17,17,0.18); }
.mf-ind-card .ic {
  width: 58px; height: 58px; border-radius: 50%; background: var(--mf-grey); color: var(--mf-primary);
  display: flex; align-items: center; justify-content: center; font-size: 24px; margin: 0 auto 20px; transition: all .35s ease;
}
/* .mf-ind-card:hover .ic { background: var(--mf-primary); color: #fff; } */
.mf-ind-card h4 { font-size: 16px; font-weight: 700; color: var(--mf-dark); margin: 0; line-height: 1.4; }

/* ==========================================================================
   CLIENTS
   ========================================================================== */
.mf-clients-wrap { border-top: 1px solid var(--mf-border); border-bottom: 1px solid var(--mf-border); padding: 50px 0; }
.mf-client-logo { display: flex !important; align-items: center; justify-content: center; height: 90px; filter: grayscale(1); opacity: 0.55; transition: all .35s ease; }
.mf-client-logo:hover { filter: grayscale(0); opacity: 1; }
.mf-client-logo img { max-height: 46px; width: auto; max-width: 140px; object-fit: contain; }

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.mf-testimonials { background: var(--mf-dark); position: relative; overflow: hidden; }
.mf-testimonials .mf-heading h2, .mf-testimonials .mf-heading p { color: #fff; }
.mf-testimonials .mf-heading p { color: rgba(255,255,255,0.6); }
.mf-t-slide { max-width: 820px; margin: 0 auto; text-align: center; }
.mf-t-slide i.pxni-quote-left { font-size: 34px; color: var(--mf-primary); margin-bottom: 26px; display: inline-block; }
.mf-t-slide p { font-size: 24px; line-height: 1.6; color: #fff; font-weight: 500; margin-bottom: 34px; }
.mf-t-author { display: flex; align-items: center; justify-content: center; gap: 16px; }
.mf-t-author img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.mf-t-author .name { font-weight: 700; color: #fff; font-size: 15px; }
.mf-t-author .role { font-size: 13px; color: rgba(255,255,255,0.5); }
.mf-testimonials .pxn_slider-pagination { text-align: center; margin-top: 46px; position: static; }

/* ==========================================================================
   INSIGHTS / BLOG
   ========================================================================== */
.mf-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
@media (max-width: 991px) { .mf-blog-grid { grid-template-columns: 1fr; } }
.mf-blog-card { background: var(--mf-white); border-radius: 18px; overflow: hidden; border: 1px solid var(--mf-border); transition: all .4s ease; }
.mf-blog-card:hover { box-shadow: 0 30px 55px -25px rgba(17,17,17,0.25); transform: translateY(-8px); }
.mf-blog-img { height: 220px; overflow: hidden; }
.mf-blog-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.mf-blog-card:hover .mf-blog-img img { transform: scale(1.08); }
.mf-blog-body { padding: 30px; }
.mf-blog-meta { display: flex; gap: 16px; font-size: 13px; color: var(--mf-accent); margin-bottom: 14px; }
.mf-blog-meta span { display: flex; align-items: center; gap: 6px; }
.mf-blog-meta i { color: var(--mf-primary); }
.mf-blog-body h3 { font-size: 19px; font-weight: 700; line-height: 1.4; margin-bottom: 12px; }
.mf-blog-body h3 a { color: var(--mf-dark); text-decoration: none; }
.mf-blog-card:hover h3 a { color: var(--mf-primary); }
.mf-blog-body p { font-size: 17px; color: var(--mf-dark); line-height: 1.7; margin-bottom: 20px; }
.mf-blog-body .mf-link { font-size: 14px; font-weight: 700; color: var(--mf-dark); display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.mf-blog-body .mf-link:hover { color: var(--mf-primary); }

/* ==========================================================================
   DOWNLOAD CTA
   ========================================================================== */
.mf-cta { position: relative; background: var(--mf-primary); border-radius: 28px; overflow: hidden; padding: 70px 60px; }
.mf-cta::before {
  content: ""; position: absolute; inset: 0; opacity: 0.15;
  background-image: radial-gradient(circle, #fff 1.5px, transparent 1.5px);
  background-size: 22px 22px;
}
.mf-cta-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.mf-cta h2 { font-size: 32px; font-weight: 700; color: #fff; margin-bottom: 10px; max-width: 560px; line-height: 1.3; }
.mf-cta p { color: rgba(255,255,255,0.85); font-size: 16px; margin: 0; }
@media (max-width: 767px) { .mf-cta { padding: 50px 30px; } .mf-cta h2 { font-size: 26px; } }

/* ==========================================================================
   CONTACT
   ========================================================================== */
.mf-contact-wrap { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 0; border-radius: 24px; overflow: hidden; box-shadow: 0 40px 80px -40px rgba(17,17,17,0.35); }
@media (max-width: 991px) { .mf-contact-wrap { grid-template-columns: 1fr; } }
.mf-contact-info { background: var(--mf-dark); color: #fff; padding: 60px 48px; position: relative; overflow: hidden; }
.mf-contact-info::after { content:""; position:absolute; inset:0; background: radial-gradient(circle at 20% 20%, rgba(215,25,32,0.25), transparent 60%); }
.mf-contact-info > * { position: relative; z-index: 1; }
.mf-contact-info h3 { font-size: 26px; font-weight: 700; margin-bottom: 14px; }
.mf-contact-info p { color: rgba(255,255,255,0.65); font-size: 15px; line-height: 1.8; margin-bottom: 38px; }
.mf-contact-item { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 26px; }
.mf-contact-item .ic { width: 44px; height: 44px; min-width:44px; border-radius: 12px; background: rgba(215,25,32,0.18); color: var(--mf-primary); display: flex; align-items: center; justify-content: center; font-size: 18px; }
.mf-contact-item .label { font-size: 15px; text-transform: uppercase; letter-spacing: 1px; color: #fff; margin-bottom: 4px; font-weight: 600;}
.mf-contact-item .value { font-size: 14px; color: #fff; font-weight: 400; }
.mf-contact-item a.value { text-decoration: none; }
.mf-contact-form { background: var(--mf-white); padding: 60px 48px; }
.mf-contact-form h3 { font-size: 22px; font-weight: 700; color: var(--mf-dark); margin-bottom: 30px; }
.mf-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
@media (max-width: 575px) { .mf-form-row { grid-template-columns: 1fr; } }
.mf-form-group { display: flex; flex-direction: column; }
.mf-form-group label { font-size: 13px; font-weight: 600; color: var(--mf-dark); margin-bottom: 8px; }
.mf-form-group input, .mf-form-group textarea, .mf-form-group select {
  border: 1px solid var(--mf-border); background: var(--mf-grey); border-radius: 12px;
  padding: 15px 18px; font-size: 14.5px; font-family: var(--pxn-ff-body); color: var(--mf-dark);
  outline: none; transition: all .3s ease;
}
.mf-form-group input:focus, .mf-form-group textarea:focus, .mf-form-group select:focus { border-color: var(--mf-primary); background: #fff; box-shadow: 0 0 0 4px rgba(215,25,32,0.08); }
.mf-form-group textarea { resize: none; min-height: 130px; }
.mf-form-group select { appearance: auto; min-height: 56px; padding: 15px 18px; border: 1px solid var(--mf-border); border-radius: 12px; background: var(--mf-grey); font-size: 14.5px; font-family: var(--pxn-ff-body); color: var(--mf-dark); outline: none; width: 100%; }
.mf-form-submit { width: 100%; justify-content: center; margin-top: 6px; border:none; cursor:pointer; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.pxn-footer-3 { background: var(--mf-dark) !important; }
.mf-footer { background: var(--mf-dark); color: rgba(255,255,255,0.62); padding: 100px 0 0; }
.mf-footer-top { display: grid; grid-template-columns: 1.3fr 0.8fr 0.8fr 1.1fr; gap: 40px; padding-bottom: 70px; border-bottom: 1px solid rgba(255,255,255,0.1); }
@media (max-width: 991px) { .mf-footer-top { grid-template-columns: 1fr 1fr; row-gap: 46px; } }
@media (max-width: 575px) { .mf-footer-top { grid-template-columns: 1fr; } }
.mf-footer-brand img { height: 38px; margin-bottom: 22px; filter: brightness(0) invert(1); }
.mf-footer-brand p { font-size: 14.5px; line-height: 1.8; color: rgba(255,255,255,0.55); max-width: 320px; margin-bottom: 26px; }
.mf-footer-socials { display: flex; gap: 12px; }
.mf-footer-socials a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.18); display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none; transition: all .3s ease; }
.mf-footer-socials a:hover { background: var(--mf-primary); border-color: var(--mf-primary); }
.mf-footer h4 { color: #fff; font-size: 16px; font-weight: 700; margin-bottom: 26px; }
.mf-footer ul { list-style: none; margin: 0; padding: 0; }
.mf-footer ul li { margin-bottom: 14px; }
.mf-footer ul li a { color: rgba(255,255,255,0.55); text-decoration: none; font-size: 14.5px; transition: color .3s ease; }
.mf-footer ul li a:hover { color: var(--mf-primary); }
.mf-footer-contact li { display: flex; gap: 12px; align-items: flex-start; font-size: 14.5px; color: rgba(255,255,255,0.55); }
.mf-footer-contact li i { color: var(--mf-primary); margin-top: 3px; }
.mf-footer-bottom { padding: 28px 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; font-size: 13.5px; color: rgba(255,255,255,0.45); }
.mf-footer-bottom a { color: rgba(255,255,255,0.45); text-decoration: none; }
.mf-footer-bottom a:hover { color: var(--mf-primary); }

/* ==========================================================================
   MARQUEE STRIP
   ========================================================================== */
.mf-marquee { background: var(--mf-dark); padding: 26px 0; overflow: hidden; border-top: 1px solid rgba(255,255,255,0.08); border-bottom: 1px solid rgba(255,255,255,0.08); }
.mf-marquee .marquee_text { color: rgba(255,255,255,0.4); font-size: 16px; font-weight: 600; padding: 0 22px; white-space: nowrap; }
.mf-marquee .marquee_text::after { content: "•"; margin-left: 22px; color: var(--mf-primary); }

@media (max-width: 1199px) {
  .mf-hero h1 { font-size: 58px; }
}
@media (max-width: 991px) {
  .mf-hero { padding-top: 190px; padding-bottom: 90px; }
  .mf-hero h1 { font-size: 44px; letter-spacing: -1px; }
  .mf-hero p.mf-hero-desc { font-size: 16px; }
}
@media (max-width: 575px) {
  .mf-hero { padding-top: 150px; padding-bottom: 60px; }
  .mf-hero::before { background-position: center center, center center, 65% center; }
  .mf-hero-sub { margin-bottom: 20px; padding: 8px 16px; font-size: 11.5px; }
  .mf-hero h1 {
    font-size: 32px;
    line-height: 1.2;
    letter-spacing: -0.5px;
    margin-bottom: 18px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .mf-hero p.mf-hero-desc { font-size: 15px; line-height: 1.7; margin-bottom: 28px; }
  .mf-hero-actions { flex-direction: column; gap: 14px; margin-bottom: 20px; }
  .mf-hero-actions .mf-btn { width: 100%; justify-content: center; }
  .mf-hero-trust { gap: 20px; }
  .mf-hero .pxn_slider-pagination { right: 50%; transform: translateX(50%); bottom: 24px; }
}
@media (max-width: 380px) {
  .mf-hero { padding-top: 135px; }
  .mf-hero h1 { font-size: 27px; }
}

/* ==========================================================================
   PAGE HEADER (inner pages)
   ========================================================================== */
.mf-page-header { position: relative; background: var(--mf-dark); overflow: hidden; padding: 210px 0 90px; }
.mf-page-header::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 85% 20%, rgba(215,25,32,0.32), transparent 42%),
    linear-gradient(120deg, rgba(10,10,10,0.97) 25%, rgba(15,15,15,0.9) 60%, rgba(215,25,32,0.22) 100%);
}
.mf-page-header::after {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.08) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.4;
  pointer-events: none;
}
.mf-page-header .mf-container { position: relative; z-index: 2; }
.mf-ph-eyebrow {
  display: inline-flex; align-items: center; gap: 10px; color: #fff;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18);
  padding: 8px 18px; border-radius: 100px; font-size: 12.5px; font-weight: 600;
  letter-spacing: 1px; text-transform: uppercase; margin-bottom: 22px;
}
.mf-ph-eyebrow i { color: var(--mf-primary); }
.mf-page-header h1 { font-size: 52px; font-weight: 700; color: #fff; letter-spacing: -1px; line-height: 1.15; margin-bottom: 20px; max-width: 880px; }
.mf-page-header p { font-size: 17px; line-height: 1.8; color: #fff; max-width: 720px; margin: 0; }
.mf-breadcrumb { display: flex; align-items: center; gap: 10px; list-style: none; padding: 0; margin: 24px 0 0; font-size: 14px; }
.mf-breadcrumb li { color: rgba(255,255,255,0.45); display: flex; align-items: center; gap: 10px; }
.mf-breadcrumb li a { color: rgba(255,255,255,0.75); text-decoration: none; }
.mf-breadcrumb li a:hover { color: var(--mf-primary); }
.mf-breadcrumb li.sep { color: rgba(255,255,255,0.3); }
.mf-breadcrumb li.current { color: var(--mf-primary); font-weight: 600; }
@media (max-width: 767px) {
  .mf-page-header { padding: 170px 0 70px; }
  .mf-page-header h1 { font-size: 34px; }
}

/* ==========================================================================
   VALUES / STORY / MISSION-VISION (About)
   ========================================================================== */
.mf-values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
@media (max-width: 991px) { .mf-values-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .mf-values-grid { grid-template-columns: 1fr; } }
.mf-value-card { background: var(--mf-white); border: 1px solid var(--mf-border); border-radius: 18px; padding: 38px 32px; transition: all .35s ease; }
.mf-value-card:hover { transform: translateY(-8px); box-shadow: 0 26px 50px -22px rgba(17,17,17,0.2); border-color: transparent; }
.mf-value-card .num { font-family: var(--pxn-ff-heading); font-size: 15px; font-weight: 700; color: var(--mf-primary); letter-spacing: 1px; margin-bottom: 18px; }
.mf-value-card h4 { font-size: 19px; font-weight: 700; color: var(--mf-dark); margin-bottom: 12px; }
.mf-value-card p { font-size: 17px; line-height: 1.75; color: var(--mf-dark); margin: 0; }

.mf-mv-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
@media (max-width: 767px) { .mf-mv-grid { grid-template-columns: 1fr; } }
.mf-mv-card { position: relative; background: var(--mf-dark); border-radius: 22px; padding: 48px 44px; overflow: hidden; }
.mf-mv-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(140deg, rgba(215,25,32,0.22), transparent 60%); }
.mf-mv-card > * { position: relative; z-index: 1; }
.mf-mv-card .ic { width: 56px; height: 56px; border-radius: 14px; background: #fff; color: var(--mf-primary); padding:5px; display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 26px; }
.mf-mv-card h3 { font-size: 24px; font-weight: 700; color: #fff; margin-bottom: 14px; }
.mf-mv-card p { font-size: 17px; line-height: 1.85; color: #fff; margin: 0; }

.mf-story-wrap { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 60px; align-items: center; }
@media (max-width: 991px) { .mf-story-wrap { grid-template-columns: 1fr; gap: 40px; } }
.mf-story-img { border-radius: 20px; overflow: hidden; box-shadow: 0 40px 70px -30px rgba(17,17,17,0.35); }
.mf-story-img img { width: 100%; height: 560px; object-fit: cover; display: block; }
.mf-story-content .mf-eyebrow { margin-bottom: 18px; }
.mf-story-content h2 { font-size: 40px; font-weight: 700; color: var(--mf-dark); letter-spacing: -0.5px; line-height: 1.22; margin-bottom: 22px; }
.mf-story-content p { font-size: 17px; line-height: 1.9; color: var(--mf-dark); margin-bottom: 20px; }

.mf-stats-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--mf-border); border-radius: 20px; overflow: hidden; }
@media (max-width: 767px) { .mf-stats-strip { grid-template-columns: repeat(2, 1fr); } }
.mf-stat-cell { text-align: center; padding: 40px 20px; border-right: 1px solid var(--mf-border); }
.mf-stat-cell:last-child { border-right: none; }
@media (max-width: 767px) { .mf-stat-cell:nth-child(2n) { border-right: none; } .mf-stat-cell:nth-child(-n+2) { border-bottom: 1px solid var(--mf-border); } }
.mf-stat-cell .val { font-family: var(--pxn-ff-heading); font-size: 44px; font-weight: 700; color: var(--mf-dark); display: flex; align-items: baseline; justify-content: center; gap: 2px; }
.mf-stat-cell .val .suffix { color: var(--mf-primary); font-size: 30px; }
.mf-stat-cell .lbl { margin-top: 10px; font-size: 14px; color: var(--mf-accent); font-weight: 500; }

/* ==========================================================================
   LEADERSHIP / PROFILE CARDS
   ========================================================================== */
.mf-leaders-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
@media (max-width: 1199px) { .mf-leaders-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .mf-leaders-grid { grid-template-columns: 1fr; } }
.mf-leader-card { background: var(--mf-white); border: 1px solid var(--mf-border); border-radius: 20px; overflow: hidden; transition: all .4s ease; }
.mf-leader-card:hover { transform: translateY(-8px); box-shadow: 0 30px 55px -25px rgba(17,17,17,0.25); border-color: transparent; }
.mf-leader-img { position: relative; height: 320px; overflow: hidden; }
.mf-leader-img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: all .5s ease; }
.mf-leader-card:hover .mf-leader-img img { filter: grayscale(0); transform: scale(1.05); }
.mf-leader-social { position: absolute; right: 16px; bottom: 16px; width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,0.92); color: var(--mf-dark); display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 16px; opacity: 0; transform: translateY(8px); transition: all .3s ease; }
.mf-leader-card:hover .mf-leader-social { opacity: 1; transform: translateY(0); }
.mf-leader-social:hover { background: var(--mf-primary); color: #fff; }
.mf-leader-body { padding: 26px 24px 30px; }
.mf-leader-body h4 { font-size: 18px; font-weight: 700; color: var(--mf-dark); margin-bottom: 4px; }
.mf-leader-body .role { font-size: 13px; color: var(--mf-primary); font-weight: 600; letter-spacing: 0.3px; margin-bottom: 14px; }
.mf-leader-body p { font-size: 14px; line-height: 1.7; color: var(--mf-accent); margin: 0; }

.mf-lead-philosophy { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 60px; align-items: center; }
@media (max-width: 991px) { .mf-lead-philosophy { grid-template-columns: 1fr; gap: 40px; } }

/* ==========================================================================
   SERVICES GRID (overview)
   ========================================================================== */
.mf-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
@media (max-width: 991px) { .mf-services-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .mf-services-grid { grid-template-columns: 1fr; } }
.mf-service-card { background: var(--mf-white); border: 1px solid var(--mf-border); border-radius: 20px; overflow: hidden; transition: all .4s ease; display: flex; flex-direction: column; }
.mf-service-card:hover { transform: translateY(-8px); box-shadow: 0 32px 60px -26px rgba(17,17,17,0.25); border-color: transparent; }
.mf-service-img { height: 230px; overflow: hidden; position: relative; }
.mf-service-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.mf-service-card:hover .mf-service-img img { transform: scale(1.08); }
.mf-service-num { position: absolute; top: 18px; left: 18px; width: 44px; height: 44px; border-radius: 50%; background: rgba(17,17,17,0.55); backdrop-filter: blur(4px); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--pxn-ff-heading); font-weight: 700; font-size: 15px; }
.mf-service-body { padding: 30px 28px 32px; flex-grow: 1; display: flex; flex-direction: column; }
.mf-service-body h3 { font-size: 20px; font-weight: 700; color: var(--mf-dark); margin-bottom: 12px; }
.mf-service-body p { font-size: 17px; line-height: 1.75; color: var(--mf-dark); margin-bottom: 22px; flex-grow: 1; }
.mf-service-body .mf-link { font-size: 14px; font-weight: 700; color: var(--mf-dark); display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.mf-service-body .mf-link:hover { color: var(--mf-primary); }

/* ==========================================================================
   SERVICE DETAIL
   ========================================================================== */
.mf-sd-layout { display: grid; grid-template-columns: 0.72fr 0.28fr; gap: 60px; align-items: start; }
.mf-sd-layout-full { grid-template-columns: 1fr; }
@media (max-width: 991px) { .mf-sd-layout { grid-template-columns: 1fr; } }
.mf-sd-block { margin-bottom: 56px; }
.mf-sd-block:last-child { margin-bottom: 0; }
.mf-sd-block h2 { font-size: 32px; font-weight: 700; color: var(--mf-dark); letter-spacing: -0.4px; margin-bottom: 20px; }
.mf-sd-block > p { font-size: 16.5px; line-height: 1.9; color: var(--mf-accent); margin-bottom: 18px; }
.mf-sd-img { border-radius: 18px; overflow: hidden; margin-bottom: 40px; box-shadow: 0 30px 60px -28px rgba(17,17,17,0.3); }
.mf-sd-img img { width: 100%; height: 420px; object-fit: cover; display: block; }

.mf-challenge-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
@media (max-width: 575px) { .mf-challenge-list { grid-template-columns: 1fr; } }
.mf-challenge-item { display: flex; gap: 16px; background: var(--mf-grey); border-radius: 14px; padding: 22px 24px; }
.mf-challenge-item .ic { width: 38px; height: 38px; min-width: 38px; border-radius: 10px; background: rgba(215,25,32,0.1); color: var(--mf-primary); display: flex; align-items: center; justify-content: center; font-size: 16px; }
.mf-challenge-item p { font-size: 17px; line-height: 1.7; color: var(--mf-dark); margin: 0; font-weight: 500; }

.mf-framework-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 767px) { .mf-framework-grid { grid-template-columns: 1fr; } }
.mf-framework-card { border: 1px solid var(--mf-border); border-radius: 16px; padding: 28px 26px; }
.mf-framework-card .step { font-family: var(--pxn-ff-heading); font-size: 13px; font-weight: 700; color: var(--mf-primary); letter-spacing: 1.5px; margin-bottom: 12px; }
.mf-framework-card h4 { font-size: 17px; font-weight: 700; color: var(--mf-dark); margin-bottom: 10px; }
.mf-framework-card p { font-size: 17px; line-height: 1.7; color: var(--mf-dark); margin: 0; }

.mf-benefit-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 575px) { .mf-benefit-list { grid-template-columns: 1fr; } }
.mf-benefit-list li { display: flex; gap: 14px; align-items: flex-start; font-size: 15px; color: var(--mf-dark); font-weight: 500; line-height: 1.6; }
.mf-benefit-list li i { color: var(--mf-primary); margin-top: 3px; }

.mf-sidebar { position: sticky; top: 130px; display: flex; flex-direction: column; gap: 24px; }
.mf-sidebar-card { background: var(--mf-grey); border-radius: 18px; padding: 32px 28px; }
.mf-sidebar-card h4 { font-size: 17px; font-weight: 700; color: var(--mf-dark); margin-bottom: 20px; }
.mf-sidebar-list { list-style: none; margin: 0; padding: 0; }
.mf-sidebar-list li { border-bottom: 1px solid var(--mf-border); }
.mf-sidebar-list li:last-child { border-bottom: none; }
.mf-sidebar-list li a { display: flex; align-items: center; justify-content: space-between; padding: 14px 2px; font-size: 14.5px; font-weight: 600; color: var(--mf-dark); text-decoration: none; transition: color .3s ease; }
.mf-sidebar-list li a:hover, .mf-sidebar-list li a.active { color: var(--mf-primary); }
.mf-sidebar-list li a i { font-size: 12px; opacity: .6; }
.mf-sidebar-cta { background: var(--mf-dark); border-radius: 18px; padding: 34px 28px; position: relative; overflow: hidden; }
.mf-sidebar-cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(150deg, rgba(215,25,32,0.28), transparent 65%); }
.mf-sidebar-cta > * { position: relative; z-index: 1; }
.mf-sidebar-cta h4 { color: #fff; font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.mf-sidebar-cta p { color: rgba(255,255,255,0.6); font-size: 14px; line-height: 1.7; margin-bottom: 22px; }

/* ==========================================================================
   CASE STUDIES
   ========================================================================== */
.mf-filter-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-bottom: 56px; }
.mf-filter-tab { border: 1px solid var(--mf-border); background: var(--mf-white); color: var(--mf-dark); font-size: 14px; font-weight: 600; padding: 12px 24px; border-radius: 100px; cursor: pointer; transition: all .3s ease; }
.mf-filter-tab:hover { border-color: var(--mf-primary); color: var(--mf-primary); }
.mf-filter-tab.active { background: var(--mf-dark); border-color: var(--mf-dark); color: #fff; }

.mf-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
@media (max-width: 991px) { .mf-case-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .mf-case-grid { grid-template-columns: 1fr; } }
.mf-case-grid.mf-case-grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 767px) { .mf-case-grid.mf-case-grid-2 { grid-template-columns: 1fr; } }

.mf-case-card { position: relative; border-radius: 20px; overflow: hidden; height: 420px; display: flex; align-items: flex-end; text-decoration: none; }
.mf-case-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; z-index: 0; }
.mf-case-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,10,0.92) 10%, rgba(10,10,10,0.35) 55%, rgba(10,10,10,0.15) 100%); z-index: 1; }
.mf-case-card:hover img { transform: scale(1.08); }
.mf-case-body { position: relative; z-index: 2; padding: 30px 28px; width: 100%; }
.mf-case-tag { display: inline-block; background: var(--mf-primary); color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; padding: 6px 14px; border-radius: 100px; margin-bottom: 16px; }
.mf-case-body h3 { font-size: 21px; font-weight: 700; color: #fff; margin-bottom: 10px; line-height: 1.35; }
.mf-case-body p { font-size: 13.5px; color: rgba(255,255,255,0.65); margin: 0 0 16px; }
.mf-case-more { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 13.5px; font-weight: 700; }
.mf-case-card:hover .mf-case-more { color: var(--mf-primary); }

.mf-case-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: 24px; overflow: hidden; box-shadow: 0 40px 80px -40px rgba(17,17,17,0.35); margin-bottom: 90px; }
@media (max-width: 991px) { .mf-case-featured { grid-template-columns: 1fr; } }
.mf-case-featured .img { height: 100%; min-height: 440px; overflow: hidden; }
.mf-case-featured .img img { width: 100%; height: 100%; object-fit: cover; }
.mf-case-featured .content { background: var(--mf-dark); padding: 56px 50px; display: flex; flex-direction: column; justify-content: center; }
.mf-case-featured .content h3 { font-size: 30px; font-weight: 700; color: #fff; margin: 16px 0 18px; line-height: 1.3; }
.mf-case-featured .content p { font-size: 15.5px; line-height: 1.85; color: rgba(255,255,255,0.65); margin-bottom: 30px; }
.mf-case-stats { display: flex; gap: 34px; margin-bottom: 34px; flex-wrap: wrap; }
.mf-case-stats .item .val { font-family: var(--pxn-ff-heading); font-size: 30px; font-weight: 700; color: var(--mf-primary); }
.mf-case-stats .item .lbl { font-size: 12.5px; color: rgba(255,255,255,0.5); margin-top: 4px; }

/* ==========================================================================
   CASE STUDY DETAIL
   ========================================================================== */
.mf-cd-hero-img { border-radius: 22px; overflow: hidden; margin-top: -60px; position: relative; z-index: 3; box-shadow: 0 50px 90px -40px rgba(17,17,17,0.45); }
.mf-cd-hero-img img { width: 100%; height: 480px; object-fit: cover; display: block; }
.mf-cd-meta-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--mf-border); padding-bottom: 50px; margin-bottom: 60px; }
@media (max-width: 767px) { .mf-cd-meta-strip { grid-template-columns: repeat(2, 1fr); row-gap: 30px; } }
.mf-cd-meta-strip .item .lbl { font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--mf-accent); margin-bottom: 8px; font-weight: 600; }
.mf-cd-meta-strip .item .val { font-size: 16px; font-weight: 700; color: var(--mf-dark); }
.mf-cd-block { max-width: 880px; margin: 0 auto 60px; }
.mf-cd-block h2 { font-size: 32px; font-weight: 700; color: var(--mf-dark); letter-spacing: -0.4px; margin-bottom: 20px; }
.mf-cd-block p { font-size: 16.5px; line-height: 1.9; color: var(--mf-accent); margin-bottom: 18px; }
.mf-cd-result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 880px; margin: 0 auto 60px; }
@media (max-width: 767px) { .mf-cd-result-grid { grid-template-columns: 1fr; } }
.mf-cd-result-card { background: var(--mf-grey); border-radius: 16px; padding: 30px 26px; text-align: center; }
.mf-cd-result-card .val { font-family: var(--pxn-ff-heading); font-size: 38px; font-weight: 700; color: var(--mf-primary); }
.mf-cd-result-card .lbl { font-size: 13.5px; color: var(--mf-dark); font-weight: 600; margin-top: 8px; }
.mf-cd-block-img { border-radius: 16px; overflow: hidden; margin: 8px 0 34px; box-shadow: 0 24px 50px -26px rgba(17,17,17,0.28); }
.mf-cd-block-img img { width: 100%; height: 380px; object-fit: cover; display: block; }
.mf-cd-block-img.wide img { height: 440px; }
.mf-cd-img-caption { font-size: 13px; color: var(--mf-accent); margin: -22px 0 34px; text-align: center; font-style: italic; }
.mf-cd-quote i { color: var(--mf-primary); font-size: 30px; margin-bottom: 22px; display: inline-block; }
.mf-cd-quote p { font-size: 21px; line-height: 1.65; color: #fff; font-weight: 500; margin-bottom: 26px; }
@media (max-width: 767px) {
  .mf-cd-hero-img { margin-top: -30px; }
  .mf-cd-hero-img img { height: 280px; }
}

/* ==========================================================================
   CONTENT-ACCURATE SERVICE / WHO-WE-ARE PAGES
   ========================================================================== */
.mf-callout { background: var(--mf-grey); border-left: 4px solid var(--mf-primary); padding: 28px 34px; border-radius: 4px; font-size: 17px; line-height: 1.8; color: var(--mf-dark); margin-bottom: 10px; }
.mf-alt-row { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; padding: 56px 0; border-bottom: 1px solid var(--mf-border); }
.mf-alt-row:last-child { border-bottom: none; }
.mf-alt-row.reverse .mf-alt-img { order: 2; }
.mf-alt-row.reverse .mf-alt-content { order: 1; }
@media (max-width: 900px) {
  .mf-alt-row { grid-template-columns: 1fr; gap: 26px; padding: 36px 0; }
  .mf-alt-row.reverse .mf-alt-img, .mf-alt-row.reverse .mf-alt-content { order: unset; }
}
.mf-alt-img { border-radius: 16px; overflow: hidden; }
.mf-alt-img img { width: 100%; height: 340px; object-fit: cover; display: block; }
.mf-alt-content h3 { font-size: 26px; font-weight: 700; color: var(--mf-dark); margin-bottom: 16px; }
.mf-alt-content p { font-size: 15.5px; line-height: 1.85; color: var(--mf-accent); margin-bottom: 16px; }
.mf-alt-content ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 20px; }
@media (max-width: 560px) { .mf-alt-content ul { grid-template-columns: 1fr; } }
.mf-alt-content ul li { position: relative; padding-left: 18px; font-size: 14.5px; color: var(--mf-dark); line-height: 1.9; }
.mf-alt-content ul li::before { content: ""; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: var(--mf-primary); }

.mf-plain-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 767px) { .mf-plain-grid-2 { grid-template-columns: 1fr; } }
.mf-plain-card { background: var(--mf-grey); border-radius: 16px; padding: 34px 32px; }
.mf-plain-card h3 { font-size: 19px; font-weight: 700; color: var(--mf-dark); margin-bottom: 16px; }
.mf-plain-card ul { list-style: none; margin: 0; padding: 0; }
.mf-plain-card ul li { position: relative; padding-left: 18px; font-size: 14.5px; color: var(--mf-accent); line-height: 2.1; }
.mf-plain-card ul li::before { content: ""; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: var(--mf-primary); }

.mf-icon-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 767px) { .mf-icon-card-grid { grid-template-columns: 1fr; } }
.mf-icon-card-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 991px) { .mf-icon-card-grid.cols-4 { grid-template-columns: repeat(2, 1fr); } }
.mf-icon-card { background: var(--mf-grey); border-radius: 16px; padding: 36px 30px; text-align: center; }
.mf-icon-card .ic { font-size: 34px; color: var(--mf-dark); margin-bottom: 18px; }
.mf-icon-card h4 { font-size: 17px; font-weight: 700; color: var(--mf-dark); margin-bottom: 10px; }
.mf-icon-card p { font-size: 14px; color: var(--mf-accent); line-height: 1.7; margin: 0; }

.mf-simple-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
@media (max-width: 767px) { .mf-simple-2col { grid-template-columns: 1fr; } }
.mf-simple-2col h3 { font-size: 20px; font-weight: 700; color: var(--mf-dark); margin-bottom: 20px; }

.mf-mini-case-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
@media (max-width: 767px) { .mf-mini-case-grid { grid-template-columns: 1fr; } }
.mf-mini-case { border: 1px solid var(--mf-border); border-radius: 16px; overflow: hidden; }
.mf-mini-case img { width: 100%; height: 210px; object-fit: cover; display: block; }
.mf-mini-case .body { padding: 24px 26px; }
.mf-mini-case .tag { font-size: 12px; font-weight: 700; color: var(--mf-primary); text-transform: uppercase; letter-spacing: .5px; }
.mf-mini-case h4 { font-size: 16.5px; font-weight: 700; color: var(--mf-dark); margin: 10px 0; line-height: 1.4; }
.mf-mini-case p { font-size: 13.5px; color: var(--mf-accent); margin-bottom: 16px; }

.mf-client-logo-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--mf-border); border: 1px solid var(--mf-border); }
@media (max-width: 991px) { .mf-client-logo-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 575px) { .mf-client-logo-grid { grid-template-columns: repeat(2, 1fr); } }
.mf-client-logo-cell { background: var(--mf-white); display: flex; align-items: center; justify-content: center; padding: 26px 18px; min-height: 96px; }
.mf-client-wordmark { font-family: var(--pxn-ff-heading); font-weight: 700; font-size: 15px; letter-spacing: .2px; color: var(--mf-dark); text-align: center; line-height: 1.3; opacity: .82; }

.mf-testi-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
@media (max-width: 767px) { .mf-testi-grid-2 { grid-template-columns: 1fr; } }
.mf-testi-card-2 { background: var(--mf-grey); border-radius: 16px; padding: 34px 32px; }
.mf-testi-card-2 .quote-ic { color: var(--mf-primary); font-size: 24px; margin-bottom: 16px; }
.mf-testi-card-2 p { font-size: 15px; line-height: 1.85; color: var(--mf-dark); margin-bottom: 22px; }
.mf-testi-card-2 .name { font-weight: 700; color: var(--mf-dark); font-size: 14.5px; }
.mf-testi-card-2 .role { font-size: 13px; color: var(--mf-accent); }

/* ==========================================================================
   REAL CASE STUDY DETAIL PAGES (Problem / Solutions / Results)
   ========================================================================== */
.mf-cs-title { font-size: 34px; font-weight: 700; color: var(--mf-dark); text-align: center; max-width: 900px; margin: 0 auto 50px; letter-spacing: -.5px; line-height: 1.3; }
.mf-cs-section-heading { font-size: 26px; font-weight: 700; color: var(--mf-dark); text-align: center; margin-bottom: 34px; }
.mf-cs-problem-list { list-style: none; margin: 0 auto; padding: 0; max-width: 820px; }
.mf-cs-problem-list > li { position: relative; padding-left: 22px; font-size: 15.5px; line-height: 1.9; color: var(--mf-accent); margin-bottom: 14px; }
.mf-cs-problem-list > li::before { content: ""; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--mf-primary); }
.mf-cs-solutions-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
@media (max-width: 900px) { .mf-cs-solutions-grid { grid-template-columns: 1fr; } }
.mf-cs-solution-card { background: var(--mf-white); border: 1px solid var(--mf-border); border-radius: 16px; padding: 32px 30px; }
.mf-cs-solution-card .ic { font-size: 30px; color: var(--mf-dark); margin-bottom: 18px; }
.mf-cs-solution-card h4 { font-size: 16px; font-weight: 700; color: var(--mf-dark); margin: 0 0 8px; }
.mf-cs-solution-card ul { list-style: none; margin: 0; padding: 0; }
.mf-cs-solution-card ul li { position: relative; padding-left: 18px; font-size: 14px; line-height: 1.8; color: var(--mf-accent); margin-bottom: 8px; }
.mf-cs-solution-card ul li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--mf-primary); }
.mf-cs-solution-card ul ul { margin: 6px 0 10px 4px; }
.mf-cs-solution-card ul ul li::before { background: transparent; border: 1px solid var(--mf-primary); }
.mf-cs-results-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
@media (max-width: 900px) { .mf-cs-results-grid { grid-template-columns: 1fr; } }
.mf-cs-result-card { background: var(--mf-grey); border-radius: 16px; padding: 30px 28px; }
.mf-cs-result-card ul { list-style: none; margin: 0; padding: 0; }
.mf-cs-result-card ul li { position: relative; padding-left: 18px; font-size: 14.5px; line-height: 1.85; color: var(--mf-dark); font-weight: 500; margin-bottom: 10px; }
.mf-cs-result-card ul li:last-child { margin-bottom: 0; }
.mf-cs-result-card ul li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--mf-primary); }

/* ==========================================================================
   GALLERY
   ========================================================================== */
.mf-gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 767px) { .mf-gallery-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .mf-gallery-grid { grid-template-columns: 1fr; } }
.mf-gallery-item { border-radius: 14px; overflow: hidden; height: 260px; }
.mf-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; display: block; }
.mf-gallery-item:hover img { transform: scale(1.06); }


/* ASSOCIATE CONSULTANT PROFILE PAGES */
.mf-profile-section{padding:78px 0 88px;background:#fff;}
.mf-profile-head{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:start;margin-bottom:54px;}
.mf-profile-portrait{min-height:330px;background:linear-gradient(145deg,#111 0%,#2a0202 58%,#b30000 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.mf-profile-portrait:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.18);border-radius:50%;transform:translate(60px,50px);}
.mf-profile-initials{font-size:76px;font-weight:800;color:#fff;letter-spacing:-3px;z-index:1;}
.mf-profile-role{font-size:15px;font-weight:700;color:#c40000;margin:-6px 0 22px;}
.mf-profile-intro,.mf-profile-copy{font-size:16px;line-height:1.9;color:#505050;margin-bottom:20px;}
.mf-profile-expertise{background:#f6f6f6;border:1px solid #e7e7e7;padding:38px 42px;margin:0 0 52px;}
.mf-profile-expertise h2,.mf-profile-insights h2{font-size:26px;margin:0 0 22px;color:#111;font-weight:700;}
.mf-profile-expertise ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px 38px;}
.mf-profile-expertise li{position:relative;padding-left:20px;color:#4d4d4d;line-height:1.7;font-size:15px;}
.mf-profile-expertise li:before{content:"✓";position:absolute;left:0;top:0;color:#e00000;font-weight:700;}
.mf-profile-insights{margin-top:10px;}
.mf-profile-insight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.mf-profile-insight{border:1px solid #e6e6e6;padding:25px 26px;background:#fff;transition:.25s ease;}
.mf-profile-insight:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.07);}
.mf-profile-insight h4{font-size:17px;line-height:1.45;color:#111;margin:0 0 10px;}
.mf-profile-insight p{font-size:14px;line-height:1.7;color:#666;margin:0;}
.mf-profile-source{font-size:12px;color:#8a8a8a;margin-top:30px;}
@media(max-width:767px){.mf-profile-section{padding:50px 0 60px}.mf-profile-head{grid-template-columns:1fr;gap:30px}.mf-profile-portrait{min-height:260px}.mf-profile-expertise{padding:28px 24px}.mf-profile-expertise ul,.mf-profile-insight-grid{grid-template-columns:1fr}.mf-profile-intro,.mf-profile-copy{font-size:15px}}

.mf-profile-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.mf-profile-directory-card{display:block;position:relative;background:#fff;border:1px solid #e6e6e6;padding:28px 30px;text-decoration:none!important;transition:.25s ease}.mf-profile-directory-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08)}.mf-profile-directory-avatar{width:54px;height:54px;background:#111;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;margin-bottom:18px}.mf-profile-directory-card h4{font-size:18px;color:#111;margin:0 0 7px}.mf-profile-directory-card p{font-size:13.5px;color:#777;line-height:1.5;margin:0 25px 0 0}.mf-profile-directory-card i{position:absolute;right:25px;bottom:27px;color:#c80000}.mf-profile-directory-grid+*{}@media(max-width:900px){.mf-profile-directory-grid{grid-template-columns:1fr 1fr}}@media(max-width:575px){.mf-profile-directory-grid{grid-template-columns:1fr}}

/* Leadership card Read More — isolated addition */
.mf-leader-readmore{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:18px;
  color:#e21b23;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  transition:gap .25s ease, color .25s ease;
}
.mf-leader-readmore i{font-size:13px;}
.mf-leader-readmore:hover{gap:13px;color:#111;}
.mf-leader-card{display:flex;flex-direction:column;}
.mf-leader-body{display:flex;flex:1;flex-direction:column;min-height:220px;height:auto;}
.mf-leader-body .mf-leader-readmore{display:inline-flex;align-items:center;align-self:flex-start;margin-top:auto;padding-top:18px;}


/* ==========================================================================\n   MASFLAIR SHARED SITE FOOTER — GLOBAL\n   Kept here so every HTML page gets the exact same footer presentation.\n   ========================================================================== */
.mf-site-footer{position:relative;overflow:hidden;background:#0b0b0b;color:#fff;padding:0;}
.mf-footer-bg{position:absolute;inset:0;background:radial-gradient(circle at 82% 58%,rgba(120,0,10,.72),rgba(40,0,5,.42) 34%,rgba(8,8,8,.98) 72%);pointer-events:none;}
.mf-footer-container{position:relative;z-index:1;padding-top:72px;padding-bottom:28px;}
.mf-footer-grid{display:grid;grid-template-columns:1.15fr .8fr .8fr 1.05fr;gap:64px;padding-bottom:70px;}
.mf-footer-column h3{margin:0 0 32px;color:#fff;font-size:20px;line-height:1.1;font-weight:700;letter-spacing:-.6px;}
.mf-footer-about h3{font-size:34px;}
.mf-footer-column p{margin:0;color:rgba(255,255,255,.82);font-size:18px;line-height:1.52;max-width:390px;}
.mf-footer-links,.mf-footer-contact-list{list-style:none;margin:0;padding:0;}
.mf-footer-links li,.mf-footer-contact-list li{margin:0 0 15px;}
.mf-footer-links a,.mf-footer-contact-list a,.mf-footer-contact-list span{color:rgba(255,255,255,.9);text-decoration:none;font-size:18px;line-height:1.4;transition:color .2s ease;}
.mf-footer-links a:hover,.mf-footer-contact-list a:hover{color:#e21b23;}
.mf-footer-links li::before{display:inline-block;margin-right:14px;color:#fff;font-weight:700;}
.mf-footer-contact-list li{display:flex;align-items:flex-start;gap:14px;}
.mf-footer-contact-list li i{color:#fff;font-size:20px;line-height:1.4;flex:0 0 24px;}
.mf-footer-socials{display:flex;gap:14px;margin:34px 0 0;padding:0;list-style:none;}
.mf-footer-socials li{margin:0;}
.mf-footer-socials a{width:45px;height:45px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:21px;transition:.25s ease;}
.mf-footer-socials a:hover{background:#e21b23;border-color:#e21b23;transform:translateY(-2px);}
.mf-footer-bottom-new{border-top:1px solid rgba(255,255,255,.2);padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:rgba(255,255,255,.86);font-size:13px;}
.mf-footer-bottom-new ul{display:flex;gap:38px;list-style:none;margin:0;padding:0;}
.mf-footer-bottom-new a{color:rgba(255,255,255,.9);text-decoration:none;}
.mf-footer-bottom-new a:hover{color:#e21b23;}
.mf-footer-credit{color:rgba(255,255,255,.86);}
.mf-footer-credit a{color:rgba(255,255,255,.9);text-decoration:none;}
.mf-footer-credit a:hover{color:#e21b23;}
@media(max-width:1199px){.mf-footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:44px}.mf-footer-column:last-child{grid-column:1/-1}.mf-footer-column p{max-width:520px;}}
@media(max-width:767px){.mf-footer-container{padding-top:55px}.mf-footer-grid{grid-template-columns:1fr;gap:38px;padding-bottom:48px}.mf-footer-column:last-child{grid-column:auto}.mf-footer-column h3,.mf-footer-about h3{font-size:28px;margin-bottom:22px}.mf-footer-column p,.mf-footer-links a,.mf-footer-contact-list a,.mf-footer-contact-list span{font-size:16px}.mf-footer-bottom-new{align-items:flex-start;flex-direction:column;font-size:14px}.mf-footer-bottom-new ul{gap:22px}.mf-footer-socials a{width:50px;height:50px;}}

/* Shared Read More link/button treatment */
.mf-leader-readmore,.mf-associate-read-more{
  display:inline-flex;align-items:center;gap:10px;width:max-content;
  color:#e21b23!important;font-size:15px;font-weight:700;line-height:1.2;
  text-decoration:none!important;transition:gap .25s ease,color .25s ease;
}
.mf-leader-readmore i,.mf-associate-read-more i{color:#e21b23;font-size:13px;transition:transform .25s ease;}
.mf-leader-readmore:hover,.mf-associate-read-more:hover{gap:14px;color:#111!important;}
.mf-leader-readmore:hover i,.mf-associate-card:hover .mf-associate-read-more i{transform:translateX(3px);}

/* ==========================================================================
   STATIC UI — DISABLE SCROLL/SECTION REVEAL ANIMATIONS
   ========================================================================== */
.pxn-fade, .pxn-zoom, .pxn-zoom-in, .pxn-image-reveal,
.pxn-chars-up, .pxn-chars-reveal, .pxn-bg-parallax,
.pxn-bounce-y, .pxn-bounce-x {
  animation: none !important;
  transition: none !important;
}


/* Newsletter email field */
.mf-newsletter-email { color: #111 !important; background: #fff !important; opacity: 1 !important; }
.mf-newsletter-email::placeholder { color: #777 !important; opacity: 1 !important; }


/* FINAL STATIC VISIBILITY FIX */
/* Animations are disabled site-wide, so elements that the original
   animation engine kept hidden until reveal must remain visible. */
.pxn-split-text .pxn-char { visibility: visible !important; }
.pxn-img-reveal { visibility: visible !important; opacity: 1 !important; transform: none !important; }
.pxn-img-reveal img { opacity: 1 !important; transform: none !important; visibility: visible !important; }
.pxn-fade, .pxn-zoom, .pxn-zoom-in, .pxn-image-reveal,
.pxn-chars-up, .pxn-chars-reveal, .pxn-bg-parallax,
.pxn-bounce-y, .pxn-bounce-x {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}


/* Global moving service strip — shared across all pages */
.mf-global-marquee {
  background: #101010;
  padding: 26px 0;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.mf-global-marquee .pxn_marquee_scroll_wrapper {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 12px;
  animation: mf-global-marquee-scroll 32s linear infinite;
  will-change: transform;
}
.mf-global-marquee .marquee_text {
  color: rgba(255,255,255,0.88) !important;
  opacity: 1 !important;
  font-size: 17px;
  font-weight: 600;
  padding: 0 22px;
  white-space: nowrap;
  line-height: 1.35;
}
.mf-global-marquee .marquee_text::after {
  content: "•";
  margin-left: 22px;
  color: var(--mf-primary);
}
@keyframes mf-global-marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 6px)); }
}
@media (max-width: 767px) {
  .mf-global-marquee { padding: 20px 0; }
  .mf-global-marquee .marquee_text { font-size: 15px; padding: 0 16px; }
  .mf-global-marquee .marquee_text::after { margin-left: 16px; }
}


/* ========================================================================
   V33 GLOBAL CONSISTENCY OVERRIDES
   ======================================================================== */
/* Header dropdowns are intentionally light/white across both header states. */
.pxn_main_navigation ul > li .sub-menu,
.header-duplicate .pxn_main_navigation ul > li .sub-menu {
  background: #fff !important;
  border: 1px solid rgba(17,17,17,.10);
  box-shadow: 0 18px 45px rgba(17,17,17,.12) !important;
}
.pxn_main_navigation ul > li .sub-menu > li > a,
.header-duplicate .pxn_main_navigation ul > li .sub-menu > li > a {
  color: #171717 !important;
}
.pxn_main_navigation ul > li .sub-menu > li:hover > a,
.header-duplicate .pxn_main_navigation ul > li .sub-menu > li:hover > a,
.pxn_main_navigation ul > li .sub-menu > li.current-menu-item > a,
.header-duplicate .pxn_main_navigation ul > li .sub-menu > li.current-menu-item > a {
  color: var(--mf-primary) !important;
  background: rgba(215,25,32,.045);
}

/* Leadership directory: one full-width profile per row, 250 x 250 portrait. */
.mf-leaders-grid { grid-template-columns: 1fr !important; gap: 28px; }
.mf-leader-card {
  display: grid;
  grid-template-columns: 250px minmax(0,1fr);
  min-height: 250px;
  border-radius: 0;
}
.mf-leader-img {
  width: 250px;
  height: 250px !important;
  min-width: 250px;
  border-radius: 0;
}
.mf-leader-img img { width: 250px; height: 250px !important; object-fit: cover; }
.mf-leader-body { padding: 30px 36px; display:flex; flex-direction:column; justify-content:center; }
.mf-leader-body h4 { font-size: 28px; margin-bottom: 8px; }
.mf-leader-body .role { font-size: 15px; margin-bottom: 16px; }
.mf-leader-body p { font-size: 16px; line-height: 1.75; max-width: 1000px; margin-bottom: 20px; }
.mf-leader-readmore {
  display:inline-flex; align-items:center; gap:10px; width:max-content;
  background:var(--mf-primary); color:#fff !important; border:1px solid var(--mf-primary);
  border-radius:999px; padding:12px 22px; font-size:14px; font-weight:700;
  text-decoration:none !important; transition:.25s ease;
}
.mf-leader-readmore:hover { background:#111; border-color:#111; transform:translateY(-2px); }
@media(max-width:767px){
  .mf-leader-card { grid-template-columns:1fr; }
  .mf-leader-img,.mf-leader-img img { width:250px; height:250px !important; min-width:250px; }
  .mf-leader-img { margin:0 auto; }
  .mf-leader-body { padding:24px; }
  .mf-leader-body h4 { font-size:24px; }
}

/* Gallery: use the supplied gallery assets from the current ZIP. */
.mf-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.mf-gallery-item { height:320px; border:1px solid rgba(17,17,17,.08); background:#f7f7f7; }
@media(max-width:767px){ .mf-gallery-grid { grid-template-columns:1fr 1fr; } .mf-gallery-item{height:240px;} }
@media(max-width:480px){ .mf-gallery-grid { grid-template-columns:1fr; } }

/* Collaboration page — match the supplied reference layout. */
.mf-collab-callout { border:1px solid rgba(17,17,17,.10); border-left:6px solid var(--mf-primary); background:#f5f8fa; padding:28px 34px; margin-bottom:52px; }
.mf-collab-callout p { margin:0; font-size:18px; line-height:1.75; color:#444; }
.mf-collab-intro { display:grid; grid-template-columns:300px minmax(0,1fr); gap:60px; align-items:center; margin-bottom:48px; }
.mf-collab-logo { display:flex; align-items:center; justify-content:center; min-height:130px; }
.mf-collab-logo img { max-width:300px; width:100%; height:auto; object-fit:contain; }
.mf-collab-copy p { font-size:18px; line-height:1.75; color:#4a4a4a; margin-bottom:0; }
.mf-collab-body > p { font-size:18px; line-height:1.75; color:#4a4a4a; }
.mf-collab-list { margin:22px 0 0; padding:0; list-style:none; }
.mf-collab-list li { position:relative; padding-left:28px; font-size:17px; line-height:1.75; margin-bottom:12px; color:#4a4a4a; }
.mf-collab-list li::before { content:""; position:absolute; left:0; top:.72em; width:9px; height:9px; border-radius:50%; background:var(--mf-primary); }
@media(max-width:767px){ .mf-collab-intro{grid-template-columns:1fr;gap:30px;} .mf-collab-logo{justify-content:flex-start;} .mf-collab-copy p,.mf-collab-body > p{font-size:16px;} }

/* Research Study — supplied reference layout. */
.mf-research-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.mf-research-hero-grid h2 { font-size:28px; color:#171717; margin-bottom:18px; }
.mf-research-hero-grid p { font-size:16px; line-height:1.65; color:#444; }
.mf-research-approach { background:#f4f8fa; }
.mf-research-approach .mf-heading { margin-bottom:30px; }
.mf-research-cards { display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border:1px solid rgba(17,17,17,.06); }
.mf-research-card { min-height:155px; padding:28px 24px; border-right:1px solid rgba(17,17,17,.08); border-bottom:1px solid rgba(17,17,17,.08); }
.mf-research-card:nth-child(3n){border-right:0;}
.mf-research-card:nth-last-child(-n+3){border-bottom:0;}
.mf-research-card .ic { font-size:34px; color:#111; margin-bottom:12px; }
.mf-research-card h4 { font-size:18px; color:#111; margin-bottom:8px; }
.mf-research-card p { font-size:13px; line-height:1.55; color:#555; margin:0; }
.mf-research-download { display:grid; grid-template-columns:1fr 240px; align-items:center; border-top:1px solid rgba(17,17,17,.08); border-bottom:1px solid rgba(17,17,17,.08); }
.mf-research-download h3 { font-size:22px; margin:0; }
.mf-research-download .action { display:flex; justify-content:center; padding:30px; border-left:1px solid rgba(17,17,17,.08); }
@media(max-width:767px){ .mf-research-hero-grid{grid-template-columns:1fr;gap:25px;} .mf-research-cards{grid-template-columns:1fr;} .mf-research-card{border-right:0 !important;border-bottom:1px solid rgba(17,17,17,.08)!important;} .mf-research-card:last-child{border-bottom:0!important;} .mf-research-download{grid-template-columns:1fr;} .mf-research-download .action{border-left:0;border-top:1px solid rgba(17,17,17,.08);justify-content:flex-start;} }


/* ==========================================================================
   V34 GLOBAL CONSISTENCY — TYPOGRAPHY / BUTTONS / TEAM / CLIENT LOGOS
   ========================================================================== */
html body { font-size:17px !important; }
html body, html body p, html body li, html body td, html body th, html body label,
html body input, html body textarea, html body select, html body option {
  font-family:'Poppins', sans-serif !important;
  font-size:17px;
}
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6 {
  font-family:'Inter', sans-serif !important;
}
/* Keep utility/small interface text readable without overriding the requested body scale. */
.mf-eyebrow, .mf-breadcrumb, .mf-btn, .pxn-btn-primary, .pxn_header_btn,
.mf-leader-readmore, .mf-filter-tab, .pxn_main_navigation ul > li > a { font-family:'Inter', sans-serif !important; }
/* Every primary/action button uses the same Masflair red. */
.mf-btn, .mf-btn-primary, .mf-btn-outline, .mf-btn-outline-light,
.pxn-btn-primary, .pxn_header_btn, .mf-leader-readmore {
  background:#D71920 !important;
  color:#fff !important;
  border-color:#D71920 !important;
}
.mf-btn:hover, .mf-btn-primary:hover, .mf-btn-outline:hover, .mf-btn-outline-light:hover,
.pxn-btn-primary:hover, .pxn_header_btn:hover, .mf-leader-readmore:hover {
  background:#B9141A !important;
  color:#fff !important;
  border-color:#B9141A !important;
}
/* Leadership directory — template-style single-row profile cards. */
.mf-leaders-grid { display:grid !important; grid-template-columns:1fr !important; gap:36px !important; }
.mf-leader-card {
  display:grid !important; grid-template-columns:250px minmax(0,1fr) !important;
  align-items:stretch !important; min-height:250px !important;
  background:#fff !important; border:1px solid #e5e5e5 !important;
  border-radius:0 !important; overflow:hidden !important;
  box-shadow:none !important; transform:none !important;
}
.mf-leader-card:hover { transform:none !important; box-shadow:0 12px 30px rgba(17,17,17,.07) !important; border-color:#ddd !important; }
.mf-leader-img { width:250px !important; height:250px !important; min-width:250px !important; border-radius:0 !important; overflow:hidden !important; }
.mf-leader-img img { width:250px !important; height:250px !important; object-fit:cover !important; display:block !important; filter:grayscale(1) !important; transform:none !important; }
.mf-leader-card:hover .mf-leader-img img { filter:grayscale(1) !important; transform:none !important; }
.mf-leader-body { padding:34px 38px !important; display:flex !important; flex-direction:column !important; justify-content:center !important; align-items:flex-start !important; }
.mf-leader-body h4 { font-family:'Inter',sans-serif !important; font-size:30px !important; line-height:1.2 !important; margin:0 0 12px !important; }
.mf-leader-body .role { font-family:'Poppins',sans-serif !important; font-size:17px !important; line-height:1.55 !important; margin:0 0 18px !important; }
.mf-leader-body p { font-family:'Poppins',sans-serif !important; font-size:17px !important; line-height:1.8 !important; margin:0 0 24px !important; max-width:100% !important; }
.mf-leader-readmore { padding:13px 28px !important; font-size:15px !important; border-radius:999px !important; }
.mf-leader-social { display:none !important; }
@media(max-width:767px){
  .mf-leaders-grid { gap:24px !important; }
  .mf-leader-card { grid-template-columns:1fr !important; }
  .mf-leader-img { margin:0 auto !important; }
  .mf-leader-body { padding:28px 24px !important; }
  .mf-leader-body h4 { font-size:25px !important; }
}
/* Real client logos in the existing Our Clients grid. */
.mf-client-logo-grid { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:1px !important; }
.mf-client-logo-cell { min-height:120px !important; padding:22px 18px !important; background:#fff !important; }
.mf-client-logo-cell img { max-width:165px !important; max-height:62px !important; width:auto !important; height:auto !important; object-fit:contain !important; display:block !important; }
@media(max-width:991px){ .mf-client-logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
@media(max-width:575px){ .mf-client-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } .mf-client-logo-cell{min-height:105px !important;} }
/* Gallery uses every image supplied in assets/images/gallery. */
.mf-gallery-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:24px !important; }
.mf-gallery-item { height:320px !important; overflow:hidden !important; border:1px solid rgba(17,17,17,.08) !important; background:#f7f7f7 !important; border-radius:14px !important; }
.mf-gallery-item img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
@media(max-width:767px){ .mf-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;} .mf-gallery-item{height:260px !important;} }
@media(max-width:480px){ .mf-gallery-grid{grid-template-columns:1fr !important;} .mf-gallery-item{height:280px !important;} }

/* Uniform red CTA treatment for legacy/template action buttons. */
.pxn_feature_box .feature_btn,
.pxn_sidebar_cta .cta_btn,
.pxn_post_content .post_btn,
.pxn_error_content_wrap .error_btn,
.pxn-h1-hero-slider .hero_btn,
.pxn_hero_content .hero_btn,
.pxn-h2_hero_wrapper .hero_btn,
.pxn-h1_about_content .about_btn,
.pxn-h2_about_content .about_btn,
.pxn-h3_about_content .about_btn,
.pxn-h2_team_cta .cta_btn,
.pxn_pricing_box .package_btn,
.pxn-h1_blog_wrap .blog_more_btn,
.pxn-h2_blog_wrap .blog_more_btn,
.pxn_blog_post_inner .blog_btn,
.pxn_blog_post_2 .blog_btn,
.pxn_blog_post_3 .blog_btn,
.pxn_service_item .service_btn,
.pxn_service_item_2 .service_btn,
.pxn_service_item.feature .service_btn,
.pxn_process_item_2 .process_btn,
.pxn_faq_cta .cta_btn,
.subscribe_btn,
.mf-load-more-btn {
  background:#D71920 !important;
  color:#fff !important;
  border-color:#D71920 !important;
}
.pxn_feature_box .feature_btn:hover,
.pxn_sidebar_cta .cta_btn:hover,
.pxn_post_content .post_btn:hover,
.pxn_error_content_wrap .error_btn:hover,
.pxn-h1-hero-slider .hero_btn:hover,
.pxn_hero_content .hero_btn:hover,
.pxn-h2_hero_wrapper .hero_btn:hover,
.pxn-h1_about_content .about_btn:hover,
.pxn-h2_about_content .about_btn:hover,
.pxn-h3_about_content .about_btn:hover,
.pxn-h2_team_cta .cta_btn:hover,
.pxn_pricing_box .package_btn:hover,
.pxn-h1_blog_wrap .blog_more_btn:hover,
.pxn-h2_blog_wrap .blog_more_btn:hover,
.pxn_blog_post_inner .blog_btn:hover,
.pxn_blog_post_2 .blog_btn:hover,
.pxn_blog_post_3 .blog_btn:hover,
.pxn_service_item .service_btn:hover,
.pxn_service_item_2 .service_btn:hover,
.pxn_service_item.feature .service_btn:hover,
.pxn_process_item_2 .process_btn:hover,
.pxn_faq_cta .cta_btn:hover,
.subscribe_btn:hover,
.mf-load-more-btn:hover {
  background:#B9141A !important;
  color:#fff !important;
  border-color:#B9141A !important;
}


/* ==========================================================================
   FINAL SITE CONSISTENCY PASS
   ========================================================================== */
/* Team rows: keep the portrait centered in the exact 250x250 listing frame. */
.mf-leader-img{display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;}
.mf-leader-img img{width:250px!important;height:250px!important;object-fit:contain!important;object-position:center center!important;}
.mf-leader-body p{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;min-height:calc(17px * 1.8 * 1)!important;}
/* Every normal action button uses one Masflair red. */
.mf-btn,.mf-btn-primary,.mf-btn-outline,.mf-btn-outline-light,.mf-leader-readmore,.mf-associate-read-more,
.pxn-btn-primary,.pxn_header_btn,.subscribe_btn,.mf-load-more-btn{background:#D71920!important;color:#fff!important;border-color:#D71920!important;}
.mf-btn:hover,.mf-btn-primary:hover,.mf-btn-outline:hover,.mf-btn-outline-light:hover,.mf-leader-readmore:hover,
.mf-associate-read-more:hover,.pxn-btn-primary:hover,.pxn_header_btn:hover,.subscribe_btn:hover,.mf-load-more-btn:hover{background:#B9141A!important;color:#fff!important;border-color:#B9141A!important;}
/* On red CTA panels, the button becomes white with red text for contrast. */
.mf-cta .mf-btn,.mf-cta .mf-btn-primary,.mf-cta .mf-btn-outline,.mf-cta .mf-btn-outline-light,
.mf-download-cta .mf-btn,.mf-download-cta a.mf-btn{background:#fff!important;color:#D71920!important;border-color:#fff!important;}
.mf-cta .mf-btn:hover,.mf-cta .mf-btn-primary:hover,.mf-cta .mf-btn-outline:hover,.mf-cta .mf-btn-outline-light:hover,
.mf-download-cta .mf-btn:hover,.mf-download-cta a.mf-btn:hover{background:#f4f4f4!important;color:#D71920!important;border-color:#f4f4f4!important;}
/* Existing client CTA uses the same white-on-red treatment. */
.mf-client-logo-grid .mf-client-logo-cell{display:flex!important;align-items:center!important;justify-content:center!important;}
/* Keep the gallery tiles equal and center image content. */
.mf-gallery-item{display:flex!important;align-items:center!important;justify-content:center!important;}
.mf-gallery-item img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;}
/* Footer is always the same visual system, including its marquee immediately above. */
.mf-site-footer{background:#0b0b0b!important;color:#fff!important;}
.mf-site-footer .mf-footer-column h3{font-family:'Inter',sans-serif!important;color:#fff!important;}
.mf-site-footer .mf-footer-column p,.mf-site-footer .mf-footer-links a,.mf-site-footer .mf-footer-contact-list a,
.mf-site-footer .mf-footer-contact-list span{font-family:'Poppins',sans-serif!important;font-size:15px!important;}

/* ==========================================================================
   DOWNLOAD MODAL (shared) — used by the homepage "Download our Key Account
   Management" CTA, downloads.html, and research-study.html. Consolidated
   here out of three duplicated inline <style> blocks.
   ========================================================================== */
.mf-download-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  align-items: center;
  justify-content: center;
}
.mf-download-modal.is-open { display: flex !important; }
.mf-download-modal-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.72); }
.mf-download-modal-dialog {
  position: relative;
  z-index: 3;
  width: min(680px, calc(100% - 30px));
  max-height: 90vh;
  overflow: auto;
  background: #fff;
  padding: 38px;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}
.mf-download-modal-dialog h3 { font-family: 'Inter', sans-serif; font-size: 28px; margin: 0 0 10px; color: var(--mf-dark, #1D0203); }
.mf-download-modal-dialog > p { margin: 0 0 24px; color: var(--mf-accent, #666); }
.mf-download-modal-close {
  position: absolute; right: 16px; top: 12px;
  border: 0; background: none; font-size: 34px; line-height: 1; cursor: pointer;
  color: var(--mf-dark, #1D0203);
}
.mf-download-modal-dialog .mf-form-group { margin-bottom: 18px; }
.mf-download-modal-dialog label { display: block; margin-bottom: 7px; font-weight: 600; }
.mf-download-modal-dialog input {
  width: 100%; border: 1px solid var(--mf-border, #E8E8E8); border-radius: 10px;
  padding: 12px 14px; font: inherit; background: var(--mf-grey, #F8F8F8);
}
.mf-download-modal-dialog input:focus { outline: none; border-color: var(--mf-primary, #D71920); background: #fff; }
.mf-download-modal-dialog .mf-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mf-download-modal-dialog .mf-btn { margin-top: 4px; border: none; cursor: pointer; }
.mf-download-modal-dialog #mf-download-status { margin-top: 14px; font-weight: 600; }
.mf-download-modal-dialog #mf-download-status.success { color: #16803c; }
.mf-download-modal-dialog #mf-download-status.error { color: #D71920; }
.mf-download-modal-dialog .mf-download-now {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 12px;
  font-weight: 700; color: var(--mf-primary, #D71920); text-decoration: underline;
}
@media (max-width: 650px) {
  .mf-download-modal-dialog { padding: 28px 20px; }
  .mf-download-modal-dialog .mf-form-row { grid-template-columns: 1fr; }
}

/* ==========================================================================
   CONTACT FORM — inline "thank you" confirmation (replaces alert() popups)
   ========================================================================== */
.mf-contact-form .mf-form-status {
  display: none;
  padding: 32px;
  border-radius: 14px;
  text-align: center;
}
.mf-contact-form .mf-form-status.is-visible { display: block; }
.mf-contact-form.is-submitted form { display: none; }
.mf-contact-form .mf-form-status .icon {
  width: 56px; height: 56px; border-radius: 50%; margin: 0 auto 18px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(22, 128, 60, 0.12); color: #16803c; font-size: 24px;
}
.mf-contact-form .mf-form-status.is-error .icon { background: rgba(215, 25, 32, 0.1); color: var(--mf-primary, #D71920); }
.mf-contact-form .mf-form-status h4 { font-size: 22px; font-weight: 700; margin-bottom: 10px; color: var(--mf-dark, #1D0203); }
.mf-contact-form .mf-form-status p { color: var(--mf-accent, #666); margin: 0 0 18px; }
.mf-contact-form .mf-form-status .mf-btn { display: inline-flex; }
.mf-form-group.has-error input,
.mf-form-group.has-error select,
.mf-form-group.has-error textarea { border-color: var(--mf-primary, #D71920) !important; }
.mf-form-group .mf-field-error { display: none; color: var(--mf-primary, #D71920); font-size: 12.5px; margin-top: 6px; }
.mf-form-group.has-error .mf-field-error { display: block; }

/* ==========================================================================
   CAREERS PAGE — job listing cards + Apply Now modal
   ========================================================================== */
.mf-jobs-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
@media (max-width: 767px) { .mf-jobs-grid { grid-template-columns: 1fr; } }
.mf-job-card {
  background: var(--mf-white); border: 1px solid var(--mf-border); border-radius: 18px;
  padding: 34px 30px; transition: all .35s ease; display: flex; flex-direction: column;
}
.mf-job-card:hover { transform: translateY(-6px); box-shadow: 0 26px 50px -22px rgba(17,17,17,0.18); border-color: transparent; }
.mf-job-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.mf-job-card h4 { font-size: 20px; font-weight: 700; color: var(--mf-dark); margin: 0; line-height: 1.35; }
.mf-job-tag {
  flex: 0 0 auto; background: var(--mf-grey); color: var(--mf-primary);
  font-size: 12px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase;
  padding: 6px 12px; border-radius: 100px; white-space: nowrap;
}
.mf-job-meta { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 16px 22px; }
.mf-job-meta li { display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; color: var(--mf-accent); }
.mf-job-meta li i { color: var(--mf-primary); font-size: 15px; }
.mf-job-card p { font-size: 15.5px; line-height: 1.75; color: var(--mf-accent); margin: 0 0 24px; flex-grow: 1; }
.mf-job-card .mf-btn { align-self: flex-start; }

/* Apply Now modal — reuses the same overlay/dialog chrome as the download
   modal, extended with a resume upload field. */
.mf-apply-modal-dialog .mf-form-group input[type="file"] {
  background: var(--mf-white); border: 1px dashed var(--mf-border, #E8E8E8); padding: 10px 14px;
}
.mf-apply-modal-dialog .mf-form-group small { display: block; margin-top: 6px; font-size: 12px; color: var(--mf-accent, #666); }
