/* ==========================================================================
   Meet Fatoumata — design tokens (Charte graphique v2.0)
   Mobile-first. Breakpoints: 768px (tablet), 1200px (desktop).
   ========================================================================== */

/* Self-hosted Nagoda (assets/fonts/nagoda-font/nagoda.otf).
   ⚠ LICENSE: the file currently there is "Personal Use Only" (befonts.com) —
   fine for local dev, but do NOT deploy to production until it's swapped for
   a properly licensed commercial file. */
@font-face{
  font-family:'Nagoda';
  src:url('../fonts/nagoda-font/nagoda.otf') format('opentype');
  font-weight:normal;
  font-style:normal;
  font-display:swap;
}

:root{
  --mf-dark:#002828;
  --mf-green:#50B068;
  --mf-pink:#F0B8C0;
  --mf-volt:#D6F961;
  --mf-white:#FFFFFF;
  --mf-grey:#F4F7F6;
  --mf-black:#000000;
  --mf-radius:20px;
  --mf-radius-pill:100px;
  --mf-max:1400px;
  --mf-gutter:7%;
  --mf-font-sans:'Nagoda','Sora',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--mf-white);color:var(--mf-dark);font-family:var(--mf-font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;text-align:justify}
img{max-width:100%;display:block}
body a{color:var(--mf-dark);text-decoration:none}
/* color:inherit (not a hardcoded dark) so hover/focus always matches
   whatever color the surrounding section already declared — a link or
   outline button on a dark-green section (footer, hero, CTA banners) would
   otherwise turn near-black on hover/focus and disappear against the same
   dark background. Every dark section already sets its own light `color`,
   so inherit resolves correctly there and to the normal dark text color
   everywhere else. */
body a:hover{color:inherit;text-decoration:underline}
body a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}
body button{font-family:inherit}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:var(--mf-dark);padding:12px 18px;z-index:999;border-radius:0 0 8px 0}
.skip-link:focus{left:0}

.mf-container{max-width:var(--mf-max);margin:0 auto}
.mf-eyebrow-rule{display:block;width:56px;height:3px;border-radius:2px;margin-bottom:22px}
.mf-eyebrow{font-family:var(--mf-font-sans);font-size:15px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 20px;font-weight:600}
@media (min-width:768px){.mf-eyebrow{font-size:15.5px;margin-bottom:22px}}
h1.mf-h1,h2.mf-h2,h3.mf-h3{font-family:var(--mf-font-sans);font-weight:600;letter-spacing:-.01em}
h1.mf-h1{font-size:clamp(30.5px,7vw,49.5px);line-height:1.16;margin:0 0 22px}
@media (min-width:768px){h1.mf-h1{font-size:clamp(33.5px,4.4vw,49.5px);line-height:1.15;margin-bottom:26px}}
h2.mf-h2{font-size:clamp(28px,6.5vw,43.5px);margin:0}
@media (min-width:768px){h2.mf-h2{font-size:clamp(31.5px,3.2vw,43.5px)}}
h3.mf-h3{font-size:clamp(24px,5.5vw,37.5px);margin:0 0 8px}
@media (min-width:768px){h3.mf-h3{font-size:clamp(27px,2.7vw,37.5px)}}
.mf-lede{font-size:19px;max-width:600px;margin:0 0 28px}
@media (min-width:768px){.mf-lede{font-size:21px;margin-bottom:34px}}
.mf-section-head{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
@media (min-width:768px){.mf-section-head{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px}}
.mf-section-intro{max-width:400px;color:rgba(0,40,40,.72);margin:0;font-size:18.5px;font-family:var(--mf-font-sans)}

/* Buttons & links */
.mf-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:var(--mf-radius-pill);font-weight:600;font-size:17.5px;white-space:nowrap;font-family:var(--mf-font-sans)}
.mf-btn:hover{text-decoration:none;opacity:.92}
@media (min-width:768px){.mf-btn{padding:15px 28px;font-size:18px}}
.mf-btn-dark{background:var(--mf-dark);color:#fff}
.mf-btn-light{background:#fff;color:var(--mf-dark)}
.mf-btn-outline{border:1px solid rgba(0,40,40,.22);color:var(--mf-dark)}
.mf-btn-outline-light{border:1px solid rgba(255,255,255,.4);color:#fff}
/* These two have their own solid, opaque background, so their text needs
   to stay pinned to that background's contrast color on hover no matter
   which section (light or dark) the button sits in — unlike a plain link
   or an outline/transparent button, "inherit" here would grab the ambient
   section color and can turn invisible (e.g. white text on this button's
   own white background inside a dark-green hero). */
.mf-btn-dark:hover{color:#fff}
.mf-btn-light:hover{color:var(--mf-dark)}
.mf-btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px}
@media (min-width:768px){.mf-btn-row{gap:16px}}
/* Home hero's two CTAs: always side by side from tablet up, never one
   below the other, even if that means shrinking their padding slightly to
   fit — flex-wrap is still on below that for narrow phones. */
@media (min-width:768px){.mf-hero .mf-btn-row{flex-wrap:nowrap}}
@media (min-width:768px) and (max-width:1023px){.mf-hero .mf-btn-row .mf-btn{padding-left:20px;padding-right:20px;font-size:16px}}
.mf-link{font-weight:600;font-size:17.5px;color:var(--mf-dark);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-link{font-size:18px}}
.mf-dot{width:7px;height:7px;border-radius:50%;flex:none;display:inline-block}
.mf-badge{font-family:var(--mf-font-sans);font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:6px 12px;border-radius:var(--mf-radius-pill);white-space:nowrap;display:inline-block}
@media (min-width:768px){.mf-badge{font-size:14px}}
.mf-badge-solid{color:var(--mf-dark);background:var(--mf-volt)}
.mf-badge-outline{color:rgba(0,40,40,.66);background:var(--mf-grey);border:1px solid rgba(0,40,40,.12)}

/* ==========================================================================
   Utility bar + header
   ========================================================================== */
.mf-utility-bar{background:var(--mf-grey);border-bottom:1px solid rgba(0,40,40,.10);display:none}
@media (min-width:1200px){.mf-utility-bar{display:block}}
.mf-utility-bar .mf-container{padding:0 var(--mf-gutter);display:flex;align-items:center;justify-content:space-between;height:38px;font-size:15px;color:rgba(0,40,40,.66);font-family:var(--mf-font-sans)}
.mf-utility-links{display:flex;align-items:center;gap:20px}
.mf-utility-links a{color:rgba(0,40,40,.66)}
.mf-utility-social{display:flex;align-items:center;gap:16px}
.mf-utility-social a{color:rgba(0,40,40,.66);display:flex}

.mf-header{background:#fff;border-bottom:1px solid rgba(0,40,40,.10);position:relative;z-index:100}
.mf-header .mf-container{padding:0 var(--mf-gutter);display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
@media (min-width:768px){.mf-header .mf-container{height:88px;gap:24px}}
.mf-logo{display:flex;align-items:center}
.mf-logo img{height:24px;width:auto}
@media (min-width:768px){.mf-logo img{height:30px}}

.mf-nav-menu,.mf-nav-menu ul{list-style:none;margin:0;padding:0}
.mf-nav-menu{display:none}
.mf-nav-cta{background:var(--mf-dark);color:#fff;padding:10px 20px;border-radius:var(--mf-radius-pill);font-size:16px;font-weight:600;white-space:nowrap;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-nav-cta{padding:11px 22px;font-size:17px}}

button.mf-nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;border-radius:0;padding:8px;cursor:pointer;width:40px;height:40px}
button.mf-nav-toggle:hover,button.mf-nav-toggle:focus{background:none}
@media (min-width:1200px){button.mf-nav-toggle{display:none}}
.mf-nav-toggle span{display:block;height:2px;background:var(--mf-dark);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.mf-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mf-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mf-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile: the same menu tree, flattened into an always-expanded panel. */
@media (max-width:1199px){
  .mf-nav-menu.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid rgba(0,40,40,.1);padding:8px var(--mf-gutter) 20px;max-height:calc(100vh - 72px);overflow-y:auto;box-shadow:0 16px 36px rgba(0,40,40,.12)}
  .mf-nav-menu li{width:100%}
  .mf-nav-menu>li>a{display:flex;align-items:center;gap:10px;padding:12px 4px;font-size:18.5px;color:var(--mf-dark);border-bottom:1px solid rgba(0,40,40,.08);font-family:var(--mf-font-sans)}
  .mf-nav-menu .menu-item-has-children>a{pointer-events:none;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:rgba(0,40,40,.5);border-bottom:0;padding:16px 4px 6px}
  .mf-nav-menu .sub-menu{display:block;position:static;opacity:1;visibility:visible;box-shadow:none;background:none;margin:0;padding:0;transform:none}
  .mf-nav-menu .sub-menu a{padding:12px 4px 12px 16px;border-bottom:1px solid rgba(0,40,40,.08);font-size:18px}
}

/* Desktop: hover/focus dropdowns. */
@media (min-width:1200px){
  .mf-nav-menu{display:flex;align-items:center;gap:30px;font-size:17px;color:var(--mf-dark);white-space:nowrap;font-family:var(--mf-font-sans)}
  .mf-nav-menu li{position:relative}
  .mf-nav-menu>li>a{color:var(--mf-dark);display:flex;align-items:center;gap:5px}
  .mf-nav-menu .menu-item-has-children>a::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-top:-4px}
  .mf-nav-menu .sub-menu{position:absolute;top:100%;left:0;margin-top:14px;background:#fff;min-width:230px;border-radius:var(--mf-radius);box-shadow:0 16px 36px rgba(0,40,40,.18);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease;z-index:80}
  .mf-nav-menu li:hover>.sub-menu,.mf-nav-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
  .mf-nav-menu .sub-menu a{color:var(--mf-dark);display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:var(--mf-radius-pill);font-size:17px;white-space:nowrap}
  .mf-nav-menu .sub-menu a:hover{background:var(--mf-grey);text-decoration:none}
  /* Pole/organisation dots — matched automatically by destination URL, no admin setup needed. */
  .mf-nav-menu .sub-menu a[href*="/financial-awareness"]::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;background:var(--mf-green)}
  .mf-nav-menu .sub-menu a[href*="/500-lunes"]::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;background:var(--mf-pink)}
  .mf-nav-menu .sub-menu a[href*="/coaching"]::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;background:var(--mf-volt)}
  .mf-nav-menu .sub-menu a[href*="/entreprises"]::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;background:var(--mf-volt);border:1px solid var(--mf-dark)}
  .mf-nav-menu .sub-menu a[href*="/institutionnel"]::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;background:var(--mf-dark)}
  .mf-nav-menu .sub-menu a[href*="/partenaires"]::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;background:transparent;border:1.4px solid rgba(0,40,40,.5)}
}

/* ==========================================================================
   Home hero
   ========================================================================== */
.mf-hero{position:relative;background:var(--mf-dark);color:#fff;padding:44px var(--mf-gutter) 40px;overflow:hidden}
@media (min-width:768px){.mf-hero{padding:64px var(--mf-gutter) 56px}}
@media (min-width:1200px){.mf-hero{padding:7% var(--mf-gutter) 6%}}
.mf-hero-watermark{position:absolute;left:-90px;top:-40px;width:280px;opacity:.06;filter:brightness(0) invert(1);pointer-events:none}
@media (min-width:768px){.mf-hero-watermark{left:-140px;top:-60px;width:520px}}
.mf-hero-grid{position:relative;display:grid;gap:36px}
@media (min-width:768px){.mf-hero-grid{grid-template-columns:1.15fr 1fr;gap:64px;align-items:start}}
.mf-hero .mf-eyebrow{color:var(--mf-volt)}
.mf-hero-note{font-size:15.5px;color:rgba(255,255,255,.62);margin:0;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-hero-note{font-size:16px}}
.mf-hero-banner-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px;margin-bottom:24px}
@media (min-width:768px){.mf-hero-banner-row{gap:14px;padding-top:20px;margin-bottom:26px}}
.mf-hero-banner-row a{color:rgba(255,255,255,.78);font-size:17px;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-hero-banner-row a{font-size:18px}}
.mf-pole-hero .mf-hero-banner-row{border-color:rgba(0,40,40,.12);margin-top:26px;margin-bottom:0}
.mf-pole-hero .mf-hero-banner-row a{color:var(--mf-dark);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.mf-hero-media{width:100%;height:280px;aspect-ratio:4/5}
@media (min-width:768px){.mf-hero-media{height:100%;min-height:340px;max-height:520px;align-self:stretch}}

.mf-next-event{background:#fff;padding:24px var(--mf-gutter) 0}
@media (min-width:768px){.mf-next-event{padding:34px var(--mf-gutter) 0}}
.mf-next-event-card{background:var(--mf-grey);border-radius:var(--mf-radius);border-left:3px solid var(--mf-pink);padding:22px 22px}
@media (min-width:768px){.mf-next-event-card{padding:26px 32px;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}}
.mf-next-event-inner{display:flex;flex-direction:column;gap:14px}
@media (min-width:768px){.mf-next-event-inner{flex-direction:row;align-items:center;gap:24px}}
.mf-tag{font-family:var(--mf-font-sans);font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--mf-dark);background:#fff;border:1px solid rgba(0,40,40,.12);padding:7px 14px;border-radius:var(--mf-radius-pill);white-space:nowrap;display:inline-block;width:fit-content}
@media (min-width:768px){.mf-tag{font-size:14px}}
.mf-next-event-title{margin:0 0 3px;font-size:20px;font-weight:600;color:var(--mf-dark);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-next-event-title{font-size:21px}}
.mf-next-event-meta{margin:0;font-size:17px;color:rgba(0,40,40,.72);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-next-event-meta{font-size:17.5px}}
.mf-next-event .mf-btn{margin-top:18px;width:100%}
@media (min-width:768px){.mf-next-event .mf-btn{margin-top:0;width:auto}}

/* Pole hero (Financial Awareness / Coaching) */
.mf-pole-hero{position:relative;background:#fff;padding:48px var(--mf-gutter) 44px;overflow:hidden;border-bottom:1px solid rgba(0,40,40,.10)}
@media (min-width:768px){.mf-pole-hero{padding:80px var(--mf-gutter) 72px}}
.mf-pole-hero-watermark{position:absolute;right:-40px;top:-20px;width:280px;opacity:.12;pointer-events:none}
@media (min-width:768px){.mf-pole-hero-watermark{right:-90px;top:-40px;width:560px}}
.mf-pole-hero .mf-hero-grid{position:relative}

/* 500 Lunes hero */
.mf-lunes-hero{background:#fff;padding:24px var(--mf-gutter) 32px}
@media (min-width:768px){.mf-lunes-hero{padding:44px var(--mf-gutter) 56px}}
.mf-lunes-hero-card{position:relative;overflow:hidden;background:var(--mf-dark);color:#fff;border-radius:var(--mf-radius);padding:44px 20px;text-align:center}
@media (min-width:768px){.mf-lunes-hero-card{padding:72px 60px}}
.mf-lunes-hero-watermark{position:absolute;left:-60px;bottom:-70px;width:220px;opacity:.07;filter:brightness(0) invert(1);pointer-events:none}
@media (min-width:768px){.mf-lunes-hero-watermark{left:-120px;bottom:-160px;width:420px}}
.mf-lunes-hero-inner{position:relative;max-width:900px;margin:0 auto}
.mf-lunes-hero-inner .mf-lunes-logo{width:230px;max-width:76%;height:auto;display:block;margin:0 auto 18px}
@media (min-width:768px){.mf-lunes-hero-inner .mf-lunes-logo{width:300px;margin:0 auto 22px}}
.mf-lunes-hero-inner .mf-eyebrow{color:var(--mf-pink);justify-content:center;text-align:center}
.mf-lunes-hero-inner h1.mf-h1{text-align:center;margin-left:auto;margin-right:auto}
.mf-lunes-hero-inner .mf-lede{text-align:center;margin-left:auto;margin-right:auto;color:var(--mf-grey);max-width:660px}
.mf-lunes-hero-inner .mf-btn-row{justify-content:center}

/* ==========================================================================
   Stats / chiffres
   ========================================================================== */
.mf-chiffres{padding:48px var(--mf-gutter) 0}
@media (min-width:768px){.mf-chiffres{padding:86px var(--mf-gutter) 0}}
.mf-chiffres.mf-standalone{background:var(--mf-grey);padding:44px var(--mf-gutter)}
@media (min-width:768px){.mf-chiffres.mf-standalone{padding:64px var(--mf-gutter)}}
.mf-chiffres-label{font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:rgba(0,40,40,.72);margin:0 0 26px;font-weight:600;font-family:var(--mf-font-sans)}
.mf-chiffres-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
@media (min-width:768px){.mf-chiffres-grid{grid-template-columns:repeat(4,1fr);gap:34px}}
@media (min-width:768px){.mf-chiffres-grid.mf-chiffres-3{grid-template-columns:repeat(3,1fr)}}
.mf-stat-rule{display:block;width:96px;height:3px;border-radius:2px;margin-bottom:16px}
@media (min-width:768px){.mf-stat-rule{width:112px;margin-bottom:18px}}
.mf-stat-num{margin:0 0 6px;font-size:clamp(30.5px,7vw,47.5px);line-height:1;font-weight:600;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-stat-num{font-size:clamp(35.5px,3.4vw,49.5px)}}
.mf-stat-label{margin:0;font-size:16px;color:rgba(0,40,40,.72);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-stat-label{font-size:18px}}
.mf-stat-title{margin:0 0 6px;font-size:20px;font-weight:600;font-family:var(--mf-font-sans);color:var(--mf-dark)}
@media (min-width:768px){.mf-stat-title{font-size:21px}}

/* Boxed stat variant: fills each tile with its accent color instead of a
   thin rule over plain text — used on pages that otherwise read as mostly
   white/text (see mf-stat.php's boxed param). */
.mf-chiffres-grid.mf-boxed{gap:14px}
@media (min-width:768px){.mf-chiffres-grid.mf-boxed{gap:18px}}
.mf-chiffres-grid.mf-boxed .mf-stat{border-radius:var(--mf-radius);padding:26px 22px;color:var(--mf-stat-text,#fff)}
@media (min-width:768px){.mf-chiffres-grid.mf-boxed .mf-stat{padding:30px 26px}}
.mf-chiffres-grid.mf-boxed .mf-stat-rule{display:none}
.mf-chiffres-grid.mf-boxed .mf-stat-num{color:inherit}
.mf-chiffres-grid.mf-boxed .mf-stat-label{color:inherit;opacity:.82}

/* ==========================================================================
   Pole / univers rows (alternating showcase)
   ========================================================================== */
.mf-univers{padding:52px var(--mf-gutter) 60px}
@media (min-width:768px){.mf-univers{padding:96px var(--mf-gutter) 100px}}
.mf-univers-row{display:grid;gap:26px;align-items:center;padding:34px 0;border-top:1px solid rgba(0,40,40,.10)}
@media (min-width:768px){.mf-univers-row{grid-template-columns:1.05fr 1fr;gap:56px;padding:56px 0}}
.mf-univers-row.mf-row-reverse .mf-row-media{order:-1}
@media (min-width:768px){
  .mf-univers-row.mf-row-reverse{grid-template-columns:1fr 1.05fr}
  .mf-univers-row.mf-row-reverse .mf-row-text{order:2}
  .mf-univers-row.mf-row-reverse .mf-row-media{order:1}
}
.mf-row-badge{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
@media (min-width:768px){.mf-row-badge{gap:16px;margin-bottom:20px}}
.mf-row-num{font-size:15.5px;letter-spacing:.14em;font-weight:700;color:var(--mf-dark);font-family:var(--mf-font-sans)}
.mf-row-rule{height:2px;width:52px;display:inline-block}
.mf-row-badge img{height:48px;width:auto;object-fit:contain}
@media (min-width:768px){.mf-row-badge img{height:58px}}
.mf-row-lockup{display:inline-flex;align-items:center;justify-content:center;background:var(--mf-dark);border-radius:12px;padding:0 14px;height:40px;overflow:hidden}
@media (min-width:768px){.mf-row-lockup{height:44px}}
.mf-row-lockup img{height:88px;width:auto;object-fit:contain;margin:-24px 0}
.mf-row-badge-circle{display:inline-flex;align-items:center;justify-content:center;background:var(--mf-dark);border-radius:50%;width:44px;height:44px;flex:none}
@media (min-width:768px){.mf-row-badge-circle{width:52px;height:52px}}
.mf-row-badge-circle img{width:32px;height:auto;display:block}
@media (min-width:768px){.mf-row-badge-circle img{width:38px}}
.mf-row-tagline{margin:0 0 14px;font-size:20px}
@media (min-width:768px){.mf-row-tagline{margin-bottom:16px;font-size:22px}}
.mf-row-body{margin:0 0 20px;font-size:18px;color:rgba(0,40,40,.78);max-width:540px}
@media (min-width:768px){.mf-row-body{margin-bottom:20px;font-size:19px}}
.mf-row-price{margin:0 0 14px;font-size:17px;color:var(--mf-dark);font-weight:600;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-row-price{font-size:17.5px;margin-bottom:16px}}
.mf-row-list{margin:0 0 20px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.mf-row-list li{display:flex;gap:12px;font-size:17.5px;color:rgba(0,40,40,.78);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-row-list li{font-size:18px}}
.mf-row-list .mf-dot{width:6px;height:6px;margin-top:8px}
.mf-row-media{width:100%;height:220px}
@media (min-width:768px){.mf-row-media{height:320px}}
.mf-row-media.mf-row-media-tall{height:280px}
@media (min-width:768px){.mf-row-media.mf-row-media-tall{height:340px}}

/* ==========================================================================
   Apports (home)
   ========================================================================== */
.mf-apports{background:#fff;padding:56px var(--mf-gutter)}
@media (min-width:768px){.mf-apports{padding:100px var(--mf-gutter)}}
.mf-apports-shell{display:grid;gap:40px}
@media (min-width:1200px){.mf-apports-shell{grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}}
.mf-apports-lede{margin:0 0 26px;font-size:19px;color:rgba(0,40,40,.72);max-width:380px}
@media (min-width:768px){.mf-apports-lede{margin-bottom:30px;font-size:19.5px}}
.mf-author-card{display:flex;align-items:center;gap:18px;background:var(--mf-grey);border-radius:var(--mf-radius);padding:20px 22px}
@media (min-width:768px){.mf-author-card{gap:20px;padding:22px 24px}}
.mf-author-card p{margin:0 0 8px;font-size:17.5px;color:rgba(0,40,40,.78)}
@media (min-width:768px){.mf-author-card p{font-size:18px}}
.mf-apports-item{display:flex;gap:18px;padding:20px 0;border-top:1px solid rgba(0,40,40,.12)}
@media (min-width:768px){.mf-apports-item{gap:22px;padding:26px 0}}
.mf-apports-item-num{font-size:15.5px;font-weight:700;letter-spacing:.1em;color:rgba(0,40,40,.66);padding-top:6px;flex:none;font-family:var(--mf-font-sans)}
.mf-apports-item-rule{display:block;width:34px;height:2px;margin-bottom:14px}
.mf-apports-item p{margin:0;font-size:19px;line-height:1.55;color:var(--mf-dark)}
@media (min-width:768px){.mf-apports-item p{font-size:21.5px}}

/* ==========================================================================
   Gallery (home)
   ========================================================================== */
.mf-gallery{padding:56px var(--mf-gutter);background:var(--mf-grey)}
@media (min-width:768px){.mf-gallery{padding:100px var(--mf-gutter)}}
.mf-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:12px}
@media (min-width:768px){.mf-gallery-grid{grid-auto-rows:190px;gap:14px}}
@media (min-width:1200px){.mf-gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:236px;gap:18px}}
.mf-gallery-item{margin:0;display:flex;flex-direction:column;gap:8px;height:100%;min-height:0}
@media (min-width:768px){.mf-gallery-item{gap:10px}}
.mf-gallery-item.mf-gallery-feature{grid-column:span 2;grid-row:span 2}
.mf-gallery-item figcaption{font-size:14px;color:rgba(0,40,40,.72);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-gallery-item figcaption{font-size:16px}}
.mf-gallery-note{margin:20px 0 0;font-size:15.5px;color:rgba(0,40,40,.66);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-gallery-note{margin-top:22px;font-size:16px}}

/* ==========================================================================
   Testimonials
   ========================================================================== */
.mf-testimonials{padding:56px var(--mf-gutter)}
@media (min-width:768px){.mf-testimonials{padding:100px var(--mf-gutter)}}
.mf-testimonials.mf-bg-grey{background:var(--mf-grey)}
.mf-testi-grid{display:grid;gap:18px}
@media (min-width:768px){.mf-testi-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
@media (min-width:1200px){.mf-testi-grid.mf-testi-3{grid-template-columns:repeat(3,1fr);gap:28px}}
.mf-testi-card{margin:0;background:#fff;border-radius:var(--mf-radius);padding:26px;display:flex;flex-direction:column;gap:16px;border:1px solid rgba(0,40,40,.10)}
@media (min-width:768px){.mf-testi-card{padding:34px;gap:20px}}
.mf-testi-kicker{font-family:var(--mf-font-sans);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mf-dark);display:flex;align-items:center;gap:8px}
@media (min-width:768px){.mf-testi-kicker{font-size:14.5px}}
.mf-testi-avatar{width:24px;height:24px;border-radius:50%;display:block;flex:none}
.mf-testi-card blockquote{margin:0;font-size:19px;line-height:1.6;flex:1;color:var(--mf-dark)}
@media (min-width:768px){.mf-testi-card blockquote{font-size:20.5px}}
.mf-testi-card figcaption{font-size:15.5px;color:rgba(0,40,40,.72);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-testi-card figcaption{font-size:16px}}
.mf-testi-note{margin:20px 0 0;font-size:15.5px;color:rgba(0,40,40,.66);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-testi-note{margin-top:24px;font-size:16px}}

/* ==========================================================================
   CTA banners
   ========================================================================== */
.mf-cta-section{padding:40px var(--mf-gutter) 56px}
@media (min-width:768px){.mf-cta-section{padding:72px var(--mf-gutter) 100px}}
.mf-cta-card{position:relative;overflow:hidden;background:#fff;border-radius:var(--mf-radius);border-top:3px solid;border-right:0;border-bottom:0;border-left:0;padding:34px 24px}
@media (min-width:768px){.mf-cta-card{padding:60px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}}
.mf-cta-watermark{position:absolute;pointer-events:none;opacity:.10}
.mf-cta-text{position:relative;margin-bottom:20px}
@media (min-width:768px){.mf-cta-text{margin-bottom:0;max-width:640px}}
.mf-cta-text h2{font-size:clamp(25px,6.5vw,37.5px);font-weight:600;margin:0 0 12px;letter-spacing:-.01em;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-cta-text h2{font-size:clamp(27px,2.7vw,37.5px)}}
.mf-cta-text p{margin:0;font-size:18.5px;color:rgba(0,40,40,.78)}
@media (min-width:768px){.mf-cta-text p{font-size:19.5px}}
.mf-cta-card .mf-btn{position:relative;width:100%}
@media (min-width:768px){.mf-cta-card .mf-btn{width:auto}}
.mf-b2g-card{position:relative;overflow:hidden;background:#fff;border-radius:var(--mf-radius);border-top:3px solid var(--mf-volt);padding:34px 24px}
@media (min-width:768px){.mf-b2g-card{padding:64px 60px}}
.mf-b2g-watermark{position:absolute;right:-40px;bottom:-70px;width:220px;opacity:.07;pointer-events:none}
@media (min-width:768px){.mf-b2g-watermark{right:-70px;bottom:-120px;width:420px}}
.mf-b2g-grid{position:relative;display:grid;gap:32px}
@media (min-width:1200px){.mf-b2g-grid{grid-template-columns:1.3fr 1fr;gap:56px;align-items:center}}
.mf-b2g-heading{font-size:clamp(26px,6vw,39.5px);font-weight:600;margin:0 0 18px;font-family:var(--mf-font-sans);letter-spacing:-.01em;max-width:640px}
@media (min-width:768px){.mf-b2g-heading{font-size:clamp(29.5px,2.9vw,39.5px)}}
.mf-b2g-text{margin:0 0 26px;font-size:18.5px;color:rgba(0,40,40,.78);max-width:560px}
@media (min-width:768px){.mf-b2g-text{font-size:20px}}
.mf-b2g-stats{display:flex;flex-direction:column;gap:20px}
@media (min-width:768px){.mf-b2g-stats{gap:22px}}
.mf-b2g-stat{border-left:3px solid var(--mf-volt);padding-left:18px}
.mf-b2g-stat-num{margin:0 0 4px;font-size:25px;font-weight:600;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-b2g-stat-num{font-size:29.5px}}
.mf-b2g-stat-label{margin:0;font-size:17px;color:rgba(0,40,40,.72)}
@media (min-width:768px){.mf-b2g-stat-label{font-size:18px}}

/* ==========================================================================
   Process / numbered steps
   ========================================================================== */
.mf-process{padding:56px var(--mf-gutter)}
@media (min-width:768px){.mf-process{padding:100px var(--mf-gutter)}}
.mf-process.mf-bg-grey{background:var(--mf-grey)}
.mf-process-shell{display:grid;gap:36px}
@media (min-width:1200px){.mf-process-shell{grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}}
.mf-process-eyebrow{font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:rgba(0,40,40,.66);margin:0 0 16px;font-weight:600;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-process-eyebrow{margin-bottom:18px}}
.mf-process h2{font-size:clamp(26px,6vw,41.5px);font-weight:600;margin:0 0 18px;letter-spacing:-.01em;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-process h2{font-size:clamp(29.5px,3vw,41.5px);margin-bottom:20px}}
.mf-process-lede{margin:0 0 24px;font-size:18.5px;color:rgba(0,40,40,.78);max-width:440px}
@media (min-width:768px){.mf-process-lede{margin-bottom:26px;font-size:19.5px}}
.mf-highlight-box{background:#fff;border-radius:var(--mf-radius);padding:22px 22px;border-top:3px solid}
@media (min-width:768px){.mf-highlight-box{padding:26px 28px}}
.mf-process.mf-bg-grey .mf-highlight-box{background:#fff}
.mf-highlight-box .mf-highlight-label{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,40,40,.66);margin:0 0 12px;font-weight:700;font-family:var(--mf-font-sans)}
.mf-highlight-box p:last-child{margin:0;font-size:18.5px;color:rgba(0,40,40,.78)}
@media (min-width:768px){.mf-highlight-box p:last-child{font-size:19px}}
.mf-process-list-title{font-size:22px;margin:0 0 8px;font-weight:600;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-process-list-title{font-size:23px}}
.mf-process-list{margin:0;padding:0;list-style:none}
.mf-process-list li{display:flex;gap:16px;padding:16px 0;border-top:1px solid rgba(0,40,40,.12);align-items:baseline}
@media (min-width:768px){.mf-process-list li{gap:20px;padding:20px 0}}
.mf-process-list .mf-process-num{font-size:15.5px;font-weight:700;letter-spacing:.1em;color:var(--mf-dark);flex:none;width:28px;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-process-list .mf-process-num{width:34px}}
.mf-process-list span:last-child{font-size:18px;color:var(--mf-dark)}
@media (min-width:768px){.mf-process-list span:last-child{font-size:20px}}

/* ==========================================================================
   Card grids (programmes / thèmes / formats)
   ========================================================================== */
.mf-cards{padding:56px var(--mf-gutter)}
@media (min-width:768px){.mf-cards{padding:100px var(--mf-gutter)}}
.mf-cards.mf-bg-grey{background:var(--mf-grey)}
.mf-card-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:768px){.mf-card-grid{gap:24px}}
.mf-card-grid.mf-cols-2{grid-template-columns:1fr}
@media (min-width:768px){.mf-card-grid.mf-cols-2{grid-template-columns:repeat(2,1fr)}}
.mf-card-grid.mf-cols-3{grid-template-columns:1fr}
@media (min-width:768px){.mf-card-grid.mf-cols-3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.mf-card-grid.mf-cols-3{grid-template-columns:repeat(3,1fr)}}
.mf-info-card{background:#fff;border:1px solid rgba(0,40,40,.10);border-radius:var(--mf-radius);padding:28px 24px;display:flex;flex-direction:column;gap:14px}
@media (min-width:768px){.mf-info-card{padding:36px 34px;gap:16px}}
.mf-info-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.mf-info-card h3{font-size:22.5px;margin:0;font-weight:600;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-info-card h3{font-size:24px}}
.mf-info-card .mf-price{margin:0;font-size:17px;color:var(--mf-dark);font-weight:600;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-info-card .mf-price{font-size:17.5px}}
.mf-info-card .mf-body{margin:0;font-size:18px;color:rgba(0,40,40,.78)}
@media (min-width:768px){.mf-info-card .mf-body{font-size:19px}}
.mf-info-card .mf-tagline{margin:0;font-size:21px;color:var(--mf-dark)}
@media (min-width:768px){.mf-info-card .mf-tagline{font-size:22px}}
.mf-info-card .mf-kicker{font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:rgba(0,40,40,.66);display:flex;align-items:center;gap:9px;font-family:var(--mf-font-sans)}
.mf-info-card ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.mf-info-card ul li{display:flex;gap:12px;font-size:17px;color:rgba(0,40,40,.78)}
@media (min-width:768px){.mf-info-card ul li{font-size:18px}}
.mf-info-card ul li .mf-dot{width:6px;height:6px;margin-top:8px}
.mf-info-card .mf-link{margin-top:auto}

.mf-formula-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:768px){.mf-formula-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
@media (min-width:1200px){.mf-formula-grid{grid-template-columns:repeat(4,1fr)}}
.mf-formula-card{background:#fff;border:1px solid rgba(0,40,40,.10);border-radius:var(--mf-radius);padding:28px 24px;display:flex;flex-direction:column;gap:12px}
@media (min-width:768px){.mf-formula-card{padding:36px 34px;gap:14px}}
.mf-formula-card-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.mf-formula-card-head h3{font-size:25px;margin:0;font-weight:600;letter-spacing:.02em;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-formula-card-head h3{font-size:27px}}
.mf-formula-card-head span{font-size:17px;color:rgba(0,40,40,.66);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-formula-card-head span{font-size:18px}}
.mf-formula-card-rule{display:block;width:44px;height:3px;background:var(--mf-volt);border-radius:2px}
.mf-formula-card-label{margin:0;font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:rgba(0,40,40,.66);font-family:var(--mf-font-sans)}
.mf-formula-card-text{margin:4px 0 0;font-size:18px;color:rgba(0,40,40,.78)}
@media (min-width:768px){.mf-formula-card-text{font-size:19px}}

.mf-inline-banner{margin-top:24px;background:#fff;border-radius:var(--mf-radius);border-left:3px solid;padding:28px 22px;display:grid;gap:18px}
@media (min-width:768px){.mf-inline-banner{padding:38px 36px;grid-template-columns:1.4fr 1fr;gap:44px;align-items:center}}
.mf-cards.mf-bg-grey .mf-inline-banner{background:#fff}
.mf-inline-banner h3{font-size:23px;margin:0 0 12px;font-weight:600;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-inline-banner h3{font-size:26px}}
.mf-inline-banner .mf-price{margin:0 0 10px;font-size:17px;color:var(--mf-dark);font-weight:600;font-family:var(--mf-font-sans)}
.mf-inline-banner p:last-of-type{margin:0;font-size:18.5px;color:rgba(0,40,40,.78)}
@media (min-width:768px){.mf-inline-banner p:last-of-type{font-size:19.5px}}
.mf-inline-banner .mf-btn{justify-self:start}
.mf-note-strip{max-width:var(--mf-max);margin:-8px auto 0;padding:0 var(--mf-gutter);font-size:15.5px;color:rgba(0,40,40,.66);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-note-strip{font-size:16px}}

/* ==========================================================================
   500 Lunes — intention + cadre + coaching quote
   ========================================================================== */
.mf-intention{background:var(--mf-grey);padding:48px var(--mf-gutter)}
@media (min-width:768px){.mf-intention{padding:76px var(--mf-gutter)}}
.mf-intention-grid{display:grid;gap:32px}
@media (min-width:1200px){.mf-intention-grid{grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}}
.mf-intention-quote{margin:0;font-size:clamp(25px,6.5vw,39.5px);line-height:1.35;color:var(--mf-dark);border-left:3px solid var(--mf-pink);padding-left:22px;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-intention-quote{padding-left:28px}}
.mf-intention-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media (min-width:768px){.mf-intention-stats{gap:28px}}
.mf-intention-stats .mf-stat-num{font-size:clamp(29.5px,6vw,37.5px)}
@media (min-width:768px){.mf-intention-stats .mf-stat-num{font-size:clamp(33.5px,3.2vw,45.5px)}}

.mf-cadre{background:var(--mf-grey);padding:56px var(--mf-gutter)}
@media (min-width:768px){.mf-cadre{padding:100px var(--mf-gutter)}}
.mf-cadre-grid{display:grid;gap:32px}
@media (min-width:768px){.mf-cadre-grid{grid-template-columns:1fr 1fr;gap:64px;align-items:center}}
.mf-cadre-media{width:100%;height:260px}
@media (min-width:768px){.mf-cadre-media{height:420px}}
.mf-cadre-quote blockquote{margin:0 0 20px;font-size:clamp(23px,5.5vw,32.5px);line-height:1.4;color:var(--mf-dark);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-cadre-quote blockquote{font-size:clamp(25px,2.4vw,32.5px)}}
.mf-cadre-quote figcaption{font-size:17px;color:rgba(0,40,40,.72);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-cadre-quote figcaption{font-size:17.5px}}

/* ==========================================================================
   Image placeholder (until real photography is supplied)
   ========================================================================== */
.mf-image-slot{position:relative;background:var(--mf-grey);border:1px dashed rgba(0,40,40,.28);border-radius:var(--mf-radius);display:flex;align-items:center;justify-content:center;overflow:hidden}
.mf-image-slot span{font-family:var(--mf-font-sans);font-size:14.5px;color:rgba(0,40,40,.5);text-align:center;padding:14px;max-width:220px;line-height:1.5}
/* Fixed, always-equal width+height so a circle can never render as an oval:
   without this, the div's size falls back to its content (the <img>'s own
   intrinsic aspect ratio) because .mf-image-slot-filled img is width/height
   100% of an otherwise-unsized flex-item parent — a wide landscape photo
   then stretches a "circle" into a visible ellipse. */
.mf-image-slot.mf-image-slot-circle{width:76px;height:76px;border-radius:50%;flex:none}
@media (min-width:768px){.mf-image-slot.mf-image-slot-circle{width:104px;height:104px}}
.mf-image-slot.mf-image-slot-filled{border-style:solid;border-color:transparent;background:var(--mf-grey)}
.mf-image-slot.mf-image-slot-filled img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
/* Any media slot can also hold an uploaded video, or a YouTube link played
   back embedded on click — see mf_image_slot() in functions.php. */
.mf-image-slot.mf-image-slot-filled video.mf-slot-video{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;background:#000}
.mf-image-slot.mf-image-slot-filled iframe{width:100%;height:100%;border:0;border-radius:inherit;display:block}
.mf-slot-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(0,40,40,.82);border:2px solid var(--mf-volt);display:flex;align-items:center;justify-content:center;color:var(--mf-volt)}
.mf-slot-play-bare{position:static;transform:none}

/* ==========================================================================
   Footer
   ========================================================================== */
.mf-footer{background:var(--mf-dark);color:rgba(255,255,255,.82);padding:48px var(--mf-gutter) 26px}
@media (min-width:768px){.mf-footer{padding:70px var(--mf-gutter) 36px}}
.mf-footer-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:36px}
@media (min-width:768px){.mf-footer-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media (min-width:1200px){.mf-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px}}
.mf-footer-logo{height:22px;filter:brightness(0) invert(1);margin-bottom:16px}
@media (min-width:768px){.mf-footer-logo{height:26px;margin-bottom:18px}}
.mf-footer-desc{font-size:16px;line-height:1.6;max-width:280px;margin:0;color:rgba(255,255,255,.62);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-footer-desc{font-size:17px}}
.mf-footer-heading{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.62);margin:0 0 16px;font-weight:600;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-footer-heading{font-size:14.5px}}
.mf-footer-nav{display:flex;flex-direction:column;gap:10px;font-size:17px;font-family:var(--mf-font-sans);list-style:none;margin:0;padding:0}
@media (min-width:768px){.mf-footer-nav{font-size:17.5px}}
.mf-footer-nav a{color:rgba(255,255,255,.82)}
.mf-footer-contact p{font-size:17px;margin:0 0 8px;color:rgba(255,255,255,.82);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-footer-contact p{font-size:17.5px}}
.mf-footer-contact a{color:rgba(255,255,255,.82)}
.mf-footer-social{display:flex;gap:18px;margin-top:10px}
.mf-footer-social a{color:rgba(255,255,255,.82);display:flex}
.mf-footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding-top:20px;display:flex;flex-direction:column;gap:8px;font-size:15px;color:rgba(255,255,255,.62);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-footer-bottom{flex-direction:row;justify-content:space-between;padding-top:26px;font-size:15.5px}}
.mf-footer-bottom p{margin:0}

/* ==========================================================================
   Coaching — Diaspora section
   ========================================================================== */
.mf-diaspora{background:var(--mf-dark);color:#fff;padding:56px var(--mf-gutter)}
@media (min-width:768px){.mf-diaspora{padding:100px var(--mf-gutter)}}
.mf-dias-split{display:grid;gap:36px;margin-bottom:40px}
@media (min-width:768px){.mf-dias-split{grid-template-columns:1.05fr 1fr;gap:64px;align-items:start;margin-bottom:52px}}
.mf-dias-text{margin:0 0 16px;font-size:19px;color:#F4F7F6;font-weight:300;max-width:560px}
@media (min-width:768px){.mf-dias-text{font-size:20px}}
.mf-dias-text-muted{margin-bottom:0;color:rgba(255,255,255,.72);font-weight:400;font-size:18px}
@media (min-width:768px){.mf-dias-text-muted{font-size:19px}}
.mf-dias-list{display:flex;flex-direction:column;gap:16px}
.mf-dias-list-item{display:flex;gap:14px;border-top:1px solid rgba(255,255,255,.18);padding-top:16px}
.mf-dias-list-item p{margin:0;font-size:18px;color:rgba(255,255,255,.82)}
@media (min-width:768px){.mf-dias-list-item p{font-size:18.5px}}
.mf-dias-list-item .mf-dot{margin-top:8px}
.mf-dias-pricing{border-top:1px solid rgba(255,255,255,.18);padding-top:36px}
@media (min-width:768px){.mf-dias-pricing{padding-top:44px}}
.mf-dias-pricing .mf-section-head{margin-bottom:24px}
@media (min-width:768px){.mf-dias-pricing .mf-section-head{margin-bottom:30px}}
.mf-dias-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:768px){.mf-dias-grid{grid-template-columns:repeat(2,1fr);gap:22px}}
@media (min-width:1200px){.mf-dias-grid{grid-template-columns:repeat(4,1fr)}}
.mf-dias-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:var(--mf-radius);padding:26px 22px;display:flex;flex-direction:column}
@media (min-width:768px){.mf-dias-card{padding:30px 26px}}
.mf-dias-card-featured{background:#fff;color:var(--mf-dark);border-color:transparent;border-top:3px solid var(--mf-volt)}
.mf-dias-card-kicker{margin:0 0 14px;font-size:13.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--mf-volt)}
.mf-dias-card-featured .mf-dias-card-kicker{color:#6E7F1E}
.mf-dias-card-price{margin:0 0 6px;font-size:31.5px;font-weight:600;line-height:1;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-dias-card-price{font-size:33.5px}}
.mf-dias-card-meta{margin:0 0 16px;font-size:16px;color:rgba(255,255,255,.66)}
.mf-dias-card-featured .mf-dias-card-meta{color:rgba(0,40,40,.66)}
.mf-dias-card-body{margin:0 0 16px;font-size:17.5px;color:rgba(255,255,255,.82)}
@media (min-width:768px){.mf-dias-card-body{font-size:18px}}
.mf-dias-card-featured .mf-dias-card-body{color:rgba(0,40,40,.78)}
.mf-dias-card-per-session{margin:auto 0 0;font-size:16px;font-weight:600;color:var(--mf-volt)}
.mf-dias-card-featured .mf-dias-card-per-session{color:var(--mf-dark)}
.mf-dias-cta-row{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:28px}
@media (min-width:768px){.mf-dias-cta-row{flex-direction:row;align-items:center;gap:18px;margin-top:32px}}
.mf-dias-cta-row p{margin:0;font-size:17px;color:rgba(255,255,255,.72)}
@media (min-width:768px){.mf-dias-cta-row p{font-size:17.5px}}

/* ==========================================================================
   Stats heading wrap (À propos — full H2 + intro above the stat grid,
   instead of the small eyebrow label the other pages use)
   ========================================================================== */
.mf-stats-heading-wrap{padding:56px var(--mf-gutter) 0}
@media (min-width:768px){.mf-stats-heading-wrap{padding:100px var(--mf-gutter) 0}}
.mf-stats-heading-wrap .mf-step-grid-intro{max-width:620px;margin-bottom:0}

/* ==========================================================================
   Card-grid additions: meta line + footer note
   ========================================================================== */
.mf-info-card .mf-meta{margin:0;font-size:15.5px;color:rgba(0,40,40,.66)}
@media (min-width:768px){.mf-info-card .mf-meta{font-size:16px}}
.mf-info-card .mf-footer-note{margin-top:auto;padding-top:4px;font-size:16px;font-weight:600;color:var(--mf-dark)}
@media (min-width:768px){.mf-info-card .mf-footer-note{font-size:17px}}

/* ==========================================================================
   Single-column hero (Partenaires, Événements, Entreprises, Institutionnel,
   Contact, À propos)
   ========================================================================== */
.mf-hero-full{position:relative;padding:48px var(--mf-gutter) 44px;overflow:hidden}
@media (min-width:768px){.mf-hero-full{padding:7% var(--mf-gutter) 6%}}
.mf-hero-full.mf-bg-dark{background:var(--mf-dark);color:#fff}
.mf-hero-full.mf-bg-light{background:#fff;border-bottom:1px solid rgba(0,40,40,.10)}
.mf-hero-full-inner{position:relative}
.mf-hero-full-text{max-width:900px}
.mf-hero-full-banner{display:flex;flex-wrap:wrap;align-items:center;gap:14px;border-top:1px solid rgba(0,40,40,.12);padding-top:20px;margin-top:26px}
.mf-hero-full-banner a{font-size:17.5px;font-weight:600;font-family:var(--mf-font-sans);text-decoration:underline;text-underline-offset:4px}
@media (min-width:768px){.mf-hero-full-banner a{font-size:18px}}

/* ==========================================================================
   Fatoumata Diallo portrait hero
   ========================================================================== */
.mf-portrait-hero{background:#fff;padding:48px var(--mf-gutter) 0}
@media (min-width:768px){.mf-portrait-hero{padding:80px var(--mf-gutter) 0}}
.mf-portrait-quote{margin:0 0 32px;font-size:clamp(27px,7vw,47.5px);line-height:1.22;font-family:var(--mf-font-sans);letter-spacing:-.01em;max-width:1000px}
@media (min-width:768px){.mf-portrait-quote{margin-bottom:40px;font-size:clamp(31.5px,3.4vw,47.5px);line-height:1.2}}
.mf-portrait-media{width:100%;height:280px}
@media (min-width:768px){.mf-portrait-media{height:460px}}

/* ==========================================================================
   Text columns (À propos mission piliers, Fatoumata Diallo bio)
   ========================================================================== */
.mf-text-columns{padding:56px var(--mf-gutter)}
@media (min-width:768px){.mf-text-columns{padding:90px var(--mf-gutter) 100px}}
.mf-text-columns.mf-bg-grey{background:var(--mf-grey)}
.mf-text-columns-grid{display:grid;gap:36px}
@media (min-width:768px){.mf-text-columns-grid{grid-template-columns:repeat(2,1fr);gap:64px;align-items:start}}
.mf-text-columns-body{margin:0 0 18px;font-size:18.5px;color:rgba(0,40,40,.78)}
@media (min-width:768px){.mf-text-columns-body{font-size:19.5px}}
.mf-text-columns .mf-highlight-box{background:var(--mf-grey);margin-top:8px}
.mf-highlight-box.mf-highlight-dark{background:var(--mf-dark);border-top-color:var(--mf-volt)}
.mf-highlight-box.mf-highlight-dark .mf-highlight-label{color:var(--mf-volt)}
.mf-highlight-box.mf-highlight-dark .mf-highlight-quote{color:#fff}
.mf-highlight-box.mf-highlight-dark p:last-child{color:rgba(255,255,255,.82)}
.mf-highlight-quote{margin:0 0 14px;font-size:19px;color:var(--mf-dark)}
@media (min-width:768px){.mf-highlight-quote{font-size:20px}}

/* ==========================================================================
   Quote + values (À propos)
   ========================================================================== */
.mf-quote-values{padding:56px var(--mf-gutter)}
@media (min-width:768px){.mf-quote-values{padding:100px var(--mf-gutter)}}
.mf-quote-values.mf-bg-grey{background:var(--mf-grey)}
.mf-quote-values-grid{display:grid;gap:36px}
@media (min-width:768px){.mf-quote-values-grid{grid-template-columns:1fr 1fr;gap:64px;align-items:center}}
.mf-quote-values-figure{margin:0}
.mf-quote-values-figure blockquote{margin:0 0 18px;font-size:clamp(25px,6vw,37.5px);line-height:1.35;color:var(--mf-dark);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-quote-values-figure blockquote{font-size:clamp(27px,2.8vw,37.5px)}}
.mf-quote-values-figure figcaption{font-size:17px;color:rgba(0,40,40,.72)}
@media (min-width:768px){.mf-quote-values-figure figcaption{font-size:18px}}
.mf-quote-values-list{display:flex;flex-direction:column}
.mf-quote-values-item{padding:20px 0;border-top:1px solid rgba(0,40,40,.12)}
@media (min-width:768px){.mf-quote-values-item{padding:22px 0}}
.mf-quote-values-item h3{font-size:21px;margin:0 0 6px;font-weight:400;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-quote-values-item h3{font-size:22px}}
.mf-quote-values-item p{margin:0;font-size:18px;color:rgba(0,40,40,.78)}
@media (min-width:768px){.mf-quote-values-item p{font-size:19px}}

/* ==========================================================================
   Featured event (Événements)
   ========================================================================== */
.mf-featured-event{background:var(--mf-grey);padding:56px var(--mf-gutter)}
@media (min-width:768px){.mf-featured-event{padding:80px var(--mf-gutter)}}
.mf-featured-event-card{margin-top:22px;display:grid;gap:28px;background:#fff;border-radius:var(--mf-radius);border-top:3px solid var(--mf-dark);padding:28px 22px}
@media (min-width:768px){.mf-featured-event-card{grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;padding:48px}}
.mf-featured-event-body{margin:0 0 20px;font-size:18.5px;color:rgba(0,40,40,.78);max-width:560px}
@media (min-width:768px){.mf-featured-event-body{font-size:19.5px}}
.mf-featured-event-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.mf-pill-tag{font-size:15.5px;padding:8px 16px;border-radius:var(--mf-radius-pill);background:var(--mf-grey);color:var(--mf-dark);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-pill-tag{font-size:16px}}
.mf-featured-event-media{width:100%;height:220px}
@media (min-width:768px){.mf-featured-event-media{height:300px}}

/* Filter pills row (Événements agenda) */
.mf-filter-pills{display:flex;flex-wrap:wrap;gap:10px}
.mf-filter-pill{font-size:15.5px;padding:9px 18px;border-radius:var(--mf-radius-pill);border:1px solid rgba(0,40,40,.22);background:#fff;color:var(--mf-dark);font-family:var(--mf-font-sans);white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
@media (min-width:768px){.mf-filter-pill{font-size:16px}}
.mf-filter-pill.is-active{background:var(--mf-dark);border-color:var(--mf-dark);color:#fff}
.mf-filter-pill:hover,.mf-filter-pill:focus{background:var(--mf-grey);border-color:rgba(0,40,40,.22);color:var(--mf-dark)}
.mf-filter-pill.is-active:hover,.mf-filter-pill.is-active:focus{background:var(--mf-dark);border-color:var(--mf-dark);color:#fff}
.mf-card-grid [hidden]{display:none}
.mf-agenda-empty{margin:0;padding:40px 0;font-size:16px;color:rgba(0,40,40,.6);text-align:center;grid-column:1/-1}

/* ==========================================================================
   Video showcase (Événements)
   ========================================================================== */
.mf-video-showcase{background:var(--mf-dark);color:#fff;padding:56px var(--mf-gutter)}
@media (min-width:768px){.mf-video-showcase{padding:100px var(--mf-gutter)}}
.mf-video-showcase-head{display:flex;flex-direction:column;gap:18px;margin-bottom:32px}
@media (min-width:768px){.mf-video-showcase-head{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}}
.mf-video-showcase-head h2.mf-h2{max-width:640px}
.mf-video-showcase-intro{max-width:360px;margin:0;font-size:18px;color:rgba(255,255,255,.72)}
@media (min-width:768px){.mf-video-showcase-intro{font-size:18.5px}}
.mf-video-grid{display:grid;gap:26px}
@media (min-width:768px){.mf-video-grid{grid-template-columns:1.6fr 1fr;gap:30px;align-items:start}}
.mf-video-thumb{position:relative;border-radius:var(--mf-radius);overflow:hidden}
.mf-video-media{aspect-ratio:16/9;width:100%}
/* .mf-video-media is also applied straight to <video>/<iframe> (uploaded
   file, or a clicked-through YouTube embed) — the image-slot placeholder
   rules above only target the div, so these need their own display/fit. */
video.mf-video-media{display:block;height:100%;object-fit:cover;background:#000}
iframe.mf-video-media{display:block;height:100%;border:0}
button.mf-video-play{border:0;padding:0;cursor:pointer}
button.mf-video-play:hover,button.mf-video-play:focus{background:rgba(0,40,40,.82);color:var(--mf-volt)}
.mf-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:rgba(0,40,40,.82);border:2px solid var(--mf-volt);display:flex;align-items:center;justify-content:center;color:var(--mf-volt)}
.mf-video-play-lg{width:64px;height:64px}
@media (min-width:768px){.mf-video-play-lg{width:76px;height:76px}}
.mf-video-kicker{margin:20px 0 8px;font-size:13.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--mf-volt);font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-video-kicker{font-size:14px}}
.mf-video-kicker-sm{margin:14px 0 6px}
.mf-video-title-lg{margin:0 0 10px;font-size:clamp(22px,5vw,30.5px);font-family:var(--mf-font-sans);letter-spacing:-.01em}
@media (min-width:768px){.mf-video-title-lg{font-size:clamp(24px,2.3vw,30.5px)}}
.mf-video-title-sm{margin:0 0 8px;font-size:21px;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-video-title-sm{font-size:22px}}
.mf-video-body{margin:0;font-size:18px;color:rgba(255,255,255,.78);max-width:600px}
@media (min-width:768px){.mf-video-body{font-size:19px}}
.mf-video-list{display:flex;flex-direction:column;gap:22px}
@media (min-width:768px){.mf-video-list{gap:26px}}
/* Beyond the first 3 videos (the featured one + this narrow 2-item list,
   the original design), any further videos added in wp-admin flow into
   their own auto-wrapping grid instead of stretching the narrow column. */
.mf-video-more{margin-top:26px;display:grid;grid-template-columns:1fr;gap:22px}
@media (min-width:768px){.mf-video-more{margin-top:30px;grid-template-columns:repeat(2,1fr);gap:24px}}
@media (min-width:1200px){.mf-video-more{grid-template-columns:repeat(3,1fr);gap:26px}}
.mf-video-showcase-footer{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:34px;border-top:1px solid rgba(255,255,255,.18);padding-top:26px}
@media (min-width:768px){.mf-video-showcase-footer{flex-direction:row;align-items:center;gap:18px;margin-top:40px;padding-top:28px}}
.mf-video-showcase-footer p{margin:0;font-size:17px;color:rgba(255,255,255,.72)}
@media (min-width:768px){.mf-video-showcase-footer p{font-size:17.5px}}

/* ==========================================================================
   Form split (event alert, institutional convention) + contact page
   ========================================================================== */
.mf-form-split{padding:56px var(--mf-gutter)}
@media (min-width:768px){.mf-form-split{padding:100px var(--mf-gutter)}}
.mf-form-split.mf-bg-grey{background:var(--mf-grey)}
.mf-form-split-grid{display:grid;gap:36px}
@media (min-width:1200px){.mf-form-split-grid{grid-template-columns:1fr 1fr;gap:64px;align-items:center}}
.mf-form-split-note{margin:14px 0 0;font-size:17.5px;color:rgba(0,40,40,.72)}
.mf-form-split-form{background:var(--mf-grey);border-radius:var(--mf-radius);padding:30px 22px}
@media (min-width:768px){.mf-form-split-form{padding:40px 38px}}

/* Native file-upload widget (institutional convention form) — see
   mf_handle_form_attachment_upload() in functions.php. Matches Fluent
   Forms' own label/spacing conventions since it sits inside the same
   .ff-el-group wrapper as every other field. */
.mf-ff-upload-label{display:block;margin-bottom:8px;font-family:var(--mf-font-sans);font-size:15px;color:var(--mf-dark)}
.mf-ff-upload-input{display:block;width:100%;font-family:var(--mf-font-sans);font-size:15px;background:#fff;border:1px solid rgba(0,40,40,.22);border-radius:10px;padding:12px 14px;cursor:pointer}
.mf-ff-upload-status{margin:8px 0 0;font-size:13.5px;color:rgba(0,40,40,.66)}
.mf-form-placeholder{margin:0;font-size:17.5px;color:rgba(0,40,40,.6);text-align:center;padding:20px}

.mf-contact{background:#fff;padding:56px var(--mf-gutter) 64px}
@media (min-width:768px){.mf-contact{padding:80px var(--mf-gutter) 100px}}
.mf-contact-grid{display:grid;gap:40px}
@media (min-width:1200px){.mf-contact-grid{grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}}
.mf-contact-heading{font-size:23px;margin:0 0 22px;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-contact-heading{font-size:25px;margin-bottom:24px}}
.mf-contact-list{display:flex;flex-direction:column}
.mf-contact-item{padding:18px 0;border-top:1px solid rgba(0,40,40,.12)}
.mf-contact-item:first-child{border-top:0}
@media (min-width:768px){.mf-contact-item{padding:20px 0}}
.mf-contact-item-label{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,40,40,.66);font-weight:400;font-family:var(--mf-font-sans)}
@media (min-width:768px){.mf-contact-item-label{font-size:14.5px}}
.mf-contact-item-value{margin:0;font-size:19px;color:var(--mf-dark)}
@media (min-width:768px){.mf-contact-item-value{font-size:20px}}
.mf-contact-whatsapp{margin-top:24px}
@media (min-width:768px){.mf-contact-whatsapp{margin-top:28px}}

/* ==========================================================================
   Flat step grid (Entreprises "quatre étapes", Partenaires "trois règles")
   ========================================================================== */
.mf-step-grid-section{padding:6% var(--mf-gutter)}
.mf-step-grid-section.mf-bg-grey{background:var(--mf-grey)}
.mf-step-grid-intro{margin:0 0 30px;font-size:18.5px;color:rgba(0,40,40,.72);max-width:400px}
@media (min-width:768px){.mf-step-grid-intro{margin-bottom:44px}}
.mf-step-grid{display:grid;grid-template-columns:1fr;gap:26px}
@media (min-width:768px){.mf-step-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.mf-step-grid.mf-cols-4{grid-template-columns:repeat(4,1fr)}}
.mf-step-grid:not(.mf-cols-4){grid-template-columns:1fr}
@media (min-width:768px){.mf-step-grid:not(.mf-cols-4){grid-template-columns:repeat(3,1fr)}}
/* Shared small accent rule inside a bordered card (step tiles, split-list
   items) — same idea as .mf-eyebrow-rule, sized for use inside a card. */
.mf-step-tile-rule{display:block;width:36px;height:3px;border-radius:2px;margin-bottom:16px}

.mf-step-tile{background:#fff;border:1px solid rgba(0,40,40,.10);border-radius:var(--mf-radius);padding:26px 24px}
@media (min-width:768px){.mf-step-tile{padding:30px 28px}}
.mf-step-num{margin:0 0 10px;font-size:15.5px;letter-spacing:.14em;font-weight:400;font-family:var(--mf-font-sans)}
.mf-step-tile h3{margin:0 0 10px;font-size:22px;font-family:var(--mf-font-sans);max-width:300px}
@media (min-width:768px){.mf-step-tile h3{font-size:23px}}
.mf-step-tile p:last-child{margin:0;font-size:18px;color:rgba(0,40,40,.78)}
@media (min-width:768px){.mf-step-tile p:last-child{font-size:18.5px}}

/* ==========================================================================
   Split list + media (Entreprises HR indicators)
   ========================================================================== */
.mf-split-list-media{padding:6% var(--mf-gutter)}
.mf-split-list-media.mf-bg-grey{background:var(--mf-grey)}
.mf-split-list-media-grid{display:grid;gap:32px}
@media (min-width:768px){.mf-split-list-media-grid{grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}}
.mf-split-list{display:flex;flex-direction:column;gap:16px;margin-top:26px}
@media (min-width:768px){.mf-split-list{gap:18px}}
.mf-split-list-item{background:#fff;border:1px solid rgba(0,40,40,.10);border-radius:var(--mf-radius);padding:22px 24px}
@media (min-width:768px){.mf-split-list-item{padding:24px 26px}}
.mf-split-list-media.mf-bg-grey .mf-split-list-item{background:#fff}
.mf-split-list-item-title{margin:0 0 5px;font-size:20px;font-family:var(--mf-font-sans);color:var(--mf-dark)}
@media (min-width:768px){.mf-split-list-item-title{font-size:21px}}
.mf-split-list-item p:last-child{margin:0;font-size:18px;color:rgba(0,40,40,.78);max-width:520px}
@media (min-width:768px){.mf-split-list-item p:last-child{font-size:18.5px}}

/* ==========================================================================
   Founder split (Entreprises) + split checklist (Partenaires) — dark,
   full-bleed, no card wrapper
   ========================================================================== */
.mf-founder-split,.mf-split-checklist{background:var(--mf-dark);color:#fff;padding:6% var(--mf-gutter)}
.mf-founder-split-grid{display:grid;gap:36px}
@media (min-width:768px){.mf-founder-split-grid{grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}}
.mf-founder-split-text{margin:0 0 26px;font-size:19px;color:var(--mf-grey);max-width:560px}
@media (min-width:768px){.mf-founder-split-text{font-size:20px;margin-bottom:30px}}

.mf-checklist{display:flex;flex-direction:column;gap:16px}
.mf-checklist-item{display:flex;gap:14px;border-top:1px solid rgba(255,255,255,.18);padding-top:16px}
.mf-checklist-item p{margin:0;font-size:18px;color:rgba(255,255,255,.82)}
@media (min-width:768px){.mf-checklist-item p{font-size:18.5px}}
.mf-checklist-item .mf-dot{margin-top:8px}

/* ==========================================================================
   WordPress admin bar spacing safeguard
   ========================================================================== */
.admin-bar .mf-header{top:0}
