/* =========================================================================
   Mode in France — page d'accueil « dispatch » (choix du pays), refonte 2026
   Chargé uniquement sur la page d'accueil (incs/home-dispatch.php).
   Polices : Forma DJR Banner (kit Typekit du site), Optician Sans et Noto Sans (thème).
   Textures et icônes : celles du thème (images/bg-blue.png, bg-red.png, sprite SVG).
   ========================================================================= */

/* Japonais : Noto Sans JP Bold du thème (la charte demande le Bold ; la police « Noto Sans JP » du thème est la graisse Thin).
   Chargée uniquement si la page contient des caractères japonais. */
@font-face {
  font-family: "MIF Noto JP";
  src: url("../../modeinfrance/css/fonts/NotoSansJP-Bold.woff2") format("woff2"), url("../../modeinfrance/css/fonts/NotoSansJP-Bold.woff") format("woff");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+3000-303F, U+3040-309F, U+30A0-30FF, U+3400-4DBF, U+4E00-9FFF, U+FF00-FFEF;
}

.mif-home {
  --mif-blue: #004AAD;
  --mif-blue-dk: #0F1949;
  --mif-red: #fb0503;
  --mif-white: #ffffff;
  --mif-black: #000000;
  --mif-logo-font: "forma-djr-banner", "MIF Noto JP", "Noto Sans JP", sans-serif;
  --mif-text-font: "Noto Sans", "MIF Noto JP", "Noto Sans JP", system-ui, sans-serif;
  --mif-ease: cubic-bezier(.22, 1, .36, 1);
  --mif-tex-blue: url("../../modeinfrance/images/bg-blue.png");
  --mif-tex-red: url("../../modeinfrance/images/bg-red.png");

  /* hauteur disponible : tout tient dans l'écran, sans défilement (barre d'admin WordPress déduite) */
  --mif-h: 100vh;
  --mif-h: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
  height: var(--mif-h);
  overflow: hidden;
  background: var(--mif-white);
  color: var(--mif-black);
  font-family: var(--mif-text-font);
  font-size: 14px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.home.dispatch { background: var(--mif-white); }
body.admin-bar .mif-home { --mif-h: calc(100svh - 32px); }
@media (max-width: 782px) { body.admin-bar .mif-home { --mif-h: calc(100svh - 46px); } }
.mif-home *, .mif-home *::before, .mif-home *::after { box-sizing: border-box; }
.mif-home img, .mif-home svg { display: block; }
.mif-home a { color: inherit; text-decoration: none; }
.mif-home button { font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; text-align: inherit; }
.mif-home ul { list-style: none; margin: 0; padding: 0; }
.mif-home p, .mif-home h1, .mif-home h2 { margin: 0; }
.mif-home :focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.mif-home .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mif-home .icon { width: 14px; height: 14px; fill: currentColor; flex: none; }

/* sélecteur de langue du thème (« FR ⌄ »), posé en haut à droite */
body.home.dispatch .header--main-dispatch { position: absolute; top: 0; left: auto; right: 0; width: auto; height: auto; z-index: 30; pointer-events: none; background: none; }
body.home.dispatch .header--main-dispatch .header--main-wrap { padding: clamp(10px, 2vh, 20px) clamp(14px, 2vw, 30px); }
body.home.dispatch .header--main-dispatch .lang-selector { pointer-events: auto; }
/* liste des langues : aussi large que son contenu (« 中文 » sur une ligne), alignée à droite */
body.home.dispatch .header--main-dispatch .lang-selector .wrap { left: auto; right: 0; width: max-content; min-width: 100%; }
body.home.dispatch .header--main-dispatch .lang-selector > span, body.home.dispatch .header--main-dispatch .lang-selector .wrap a { white-space: nowrap; }
/* « Espace exposant » : même police que le sélecteur (Forma DJR Deck du thème), petit bouton filaire */
body.home.dispatch .header--main-dispatch .header--main-wrap { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; } /* le thème empile en colonne sur mobile */
body.home.dispatch .header--main-dispatch .mif-expo {
  pointer-events: auto; display: inline-flex; align-items: center; margin: 20px 24px 0 0; padding: 3px 12px 4px;
  font-family: "Forma DJR Deck", "MIF Noto JP", "Noto Sans JP", sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;
  color: #000; border: 1px solid currentColor; white-space: nowrap; text-decoration: none; transition: background-color .3s, color .3s;
}
body.home.dispatch .header--main-dispatch .mif-expo:hover, body.home.dispatch .header--main-dispatch .mif-expo:focus-visible { background: #000; color: #fff; }

/* police du logo */
.mif-home .logo-type {
  font-family: var(--mif-logo-font);
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: -.01em;
  line-height: .92;
}
html[lang="ja"] .mif-home .logo-type, html[lang^="zh"] .mif-home .logo-type { font-style: normal; letter-spacing: 0; line-height: 1.15; }
html[lang^="zh"] .mif-home { --mif-logo-font: "forma-djr-banner", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", "MIF Noto JP", sans-serif; --mif-text-font: "Noto Sans", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", "MIF Noto JP", system-ui, sans-serif; }

/* ================================================== panneau bleu (identité) */
.mif-home .brand {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto;
  row-gap: clamp(10px, calc(var(--mif-h) * .025), 20px);
  padding: clamp(16px, calc(var(--mif-h) * .044), 48px) clamp(24px, 3.4vw, 56px) clamp(14px, calc(var(--mif-h) * .036), 40px);
  color: var(--mif-white);
  background: var(--mif-blue) var(--mif-tex-blue) center / cover;
}
.mif-home .brand > :not(.ball) { position: relative; z-index: 1; }
.mif-home .brand::after { content: ""; position: absolute; inset: 0; z-index: 6; background: var(--mif-white); transform: scaleX(0); transform-origin: 100% 50%; pointer-events: none; }

.mif-home .brand__logo { width: min(100%, 360px, calc(var(--mif-h) * .42)); }
.mif-home .wordmark { width: 100%; height: auto; overflow: visible; }
.mif-home .wordmark path { fill: currentColor; transform-box: fill-box; }

.mif-home .brand__text { align-self: center; max-width: 400px; font-size: clamp(12px, min(1vw, calc(var(--mif-h) * .019)), 15px); line-height: 1.7; letter-spacing: .02em; }
.mif-home .brand__text p + p { margin-top: 1.1em; }
.mif-home .brand__text p:empty, .mif-home .brand__text p:has(> br:only-child) { display: none; }
.mif-home .brand__text span { color: inherit !important; }
.mif-home .brand__text b, .mif-home .brand__text strong { font-weight: 700; }
.mif-home .brand__text a { font-weight: 700; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; transition: background-size .5s var(--mif-ease); }
.mif-home .brand__text a:hover { background-size: 0 1px; background-position: 100% 100%; }
.mif-home .brand__subtitle { font-weight: 700; margin-bottom: .6em; }

.mif-home .brand__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }

/* Fédération (logo, « Site web » dessous) puis soutiens (« Avec le soutien de », logo dessous) :
   une seule colonne, un seul axe central, deux logos de même taille, un filet entre les deux. */
.mif-home .brand__orgs { --org-w: clamp(58px, min(6.4vw, calc(var(--mif-h) * .12)), 104px); display: inline-flex; flex-direction: column; align-items: center; text-align: center; }
.mif-home .org { display: flex; flex-direction: column; align-items: center; gap: clamp(6px, calc(var(--mif-h) * .014), 12px); }
.mif-home .org + .org { position: relative; margin-top: clamp(10px, calc(var(--mif-h) * .026), 26px); padding-top: clamp(10px, calc(var(--mif-h) * .026), 26px); }
.mif-home .org + .org::before { content: ""; position: absolute; top: 0; left: 50%; width: 48px; height: 1px; margin-left: -24px; background: currentColor; opacity: .35; }
.mif-home .org__logo { display: block; width: var(--org-w); height: auto; }
.mif-home .org--support .org__label { font-size: clamp(10.5px, .8vw, 12px); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1.3; opacity: .8; }
.mif-home .link-arrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: clamp(13px, 1vw, 15px); font-weight: 600; letter-spacing: .04em;
  padding-bottom: 2px;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
  transition: background-size .5s var(--mif-ease);
}
.mif-home .link-arrow .icon { width: 12px; height: 12px; transition: transform .5s var(--mif-ease); }
.mif-home .org--link:hover .link-arrow { background-size: 100% 1px; }
.mif-home .org--link:hover .link-arrow .icon { transform: translateX(4px); }

.mif-home .brand__social { display: flex; gap: 16px; }
.mif-home .brand__social a { display: block; opacity: .85; transition: opacity .3s, transform .4s var(--mif-ease); }
.mif-home .brand__social a:hover { opacity: 1; transform: translateY(-2px); }
.mif-home .brand__social .icon { width: 18px; height: 18px; }

/* ronds de la charte (texture rouge → blanc du thème), rognés par le panneau comme sur le site Tokyo */
.mif-home .ball { position: absolute; z-index: 0; aspect-ratio: 1; border-radius: 50%; background: var(--mif-red) var(--mif-tex-red) center / cover; pointer-events: none; will-change: transform; backface-visibility: hidden; }
.mif-home .ball--a { width: clamp(220px, 25vw, 420px); right: -13%; bottom: -15%; transform: translate(0, 0) rotate(135deg) scale(1); }
.mif-home .ball--b { width: clamp(110px, 11vw, 190px); right: 9%; top: -7%; transform: translate(0, 0) rotate(40deg) scale(1); }

/* ======================================================== partie blanche */
.mif-home .pick {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: clamp(16px, calc(var(--mif-h) * .044), 48px) clamp(28px, 4.4vw, 76px) clamp(12px, calc(var(--mif-h) * .03), 32px);
  min-width: 0; min-height: 0;
}

/* « Choisissez / VOTRE PAYS » — Optician Sans oblique, comme sur la page d'origine */
.mif-home .pick__title { margin-top: clamp(4px, calc(var(--mif-h) * .04), 56px); }
.mif-home .pick__small { display: block; font-size: 14px; line-height: 16px; font-weight: 500; padding-bottom: 8px; }
.mif-home .pick__big { display: block; font-family: "Optician Sans", "MIF Noto JP", "Noto Sans JP", sans-serif; font-weight: normal; font-style: italic; text-transform: uppercase; font-size: clamp(28px, min(4vw, calc(var(--mif-h) * .075)), 64px); line-height: .95; }
html[lang="ja"] .mif-home .pick__big, html[lang^="zh"] .mif-home .pick__big { font-style: normal; font-weight: 700; }
html[lang^="zh"] .mif-home .pick__big { font-family: "Optician Sans", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif; }

/* ----------------------------------------------- blocs pays (photo de fond) */
.mif-home .countries { display: flex; gap: clamp(10px, 1.2vw, 18px); margin-top: clamp(10px, calc(var(--mif-h) * .028), 30px); min-height: 0; }
.mif-home .ccard {
  --i: 0;
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
  color: var(--mif-white);
  background: var(--mif-blue) var(--mif-tex-blue) center / cover;
  container-type: inline-size;
  transition: flex-grow .9s var(--mif-ease);
}
.mif-home .ccard__img { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; max-width: none; object-fit: cover; transform: scale(1.06); transition: transform 1.4s var(--mif-ease), filter .8s var(--mif-ease); }
.mif-home .ccard::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(15, 25, 73, .9) 0%, rgba(15, 25, 73, .35) 38%, rgba(15, 25, 73, 0) 62%); transition: opacity .8s var(--mif-ease); }
.mif-home .ccard::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--mif-blue); mix-blend-mode: multiply; opacity: 0; transition: opacity .8s var(--mif-ease); }

.mif-home .ccard__toggle { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(16px, 2vw, 28px); width: 100%; }
.mif-home .ccard__name { font-size: clamp(30px, 15cqi, 72px); overflow-wrap: anywhere; transition: opacity .5s var(--mif-ease); }
.mif-home .ccard__sub { margin-top: 10px; font-size: 13px; font-weight: 500; line-height: 1.4; max-width: 34ch; opacity: .92; transition: opacity .5s var(--mif-ease); }
.mif-home .ccard__plus {
  position: absolute; top: clamp(14px, 1.6vw, 22px); right: clamp(14px, 1.6vw, 22px);
  width: 44px; height: 44px; border-radius: 50%;
  display: grid; place-items: center;
  box-shadow: inset 0 0 0 1.5px currentColor;
  transition: background-color .45s var(--mif-ease), color .45s var(--mif-ease), transform .6s var(--mif-ease), box-shadow .45s, opacity .4s;
}
.mif-home .ccard__plus svg { width: 16px; height: 16px; }
.mif-home .ccard:hover .ccard__img { transform: scale(1.12); }
.mif-home .ccard:hover .ccard__plus { background: var(--mif-red); box-shadow: none; transform: rotate(90deg); }

/* le menu Exposer / Visiter / Presse — n'apparaît qu'après le clic sur un pays */
.mif-home .ccard__menu { position: absolute; z-index: 3; left: clamp(16px, 2vw, 28px); right: clamp(16px, 2vw, 28px); bottom: clamp(16px, 2vw, 28px); visibility: hidden; }
.mif-home .ccard__head { position: absolute; z-index: 3; top: clamp(16px, 2vw, 28px); left: clamp(16px, 2vw, 28px); right: 80px; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity .5s var(--mif-ease), transform .7s var(--mif-ease), visibility 0s .5s; }
.mif-home .ccard__site { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.mif-home .ccard__site:hover { text-decoration-thickness: 2px; }
.mif-home .ccard__head .ccard__name { font-size: clamp(26px, 9cqi, 52px); }
.mif-home .ccard__close {
  position: absolute; z-index: 4; top: clamp(14px, 1.6vw, 22px); right: clamp(14px, 1.6vw, 22px);
  width: 44px; height: 44px; border-radius: 50%;
  display: grid; place-items: center; background: var(--mif-white); color: var(--mif-blue);
  opacity: 0; transform: rotate(-90deg) scale(.6); pointer-events: none;
  transition: opacity .4s var(--mif-ease), transform .6s var(--mif-ease), background-color .3s, color .3s;
}
.mif-home .ccard__close svg { width: 14px; height: 14px; }
.mif-home .ccard__close:hover { background: var(--mif-red); color: var(--mif-white); }
.mif-home .opt {
  --j: 0;
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: clamp(8px, 1.4vh, 14px) 0;
  border-top: 1px solid rgba(255, 255, 255, .55);
  opacity: 0; transform: translateY(18px);
  transition: opacity .5s var(--mif-ease), transform .7s var(--mif-ease);
}
.mif-home .ccard__menu li:last-child .opt { border-bottom: 1px solid rgba(255, 255, 255, .55); }
.mif-home .opt__label { font-size: clamp(22px, min(11cqi, calc(var(--mif-h) * .075)), 66px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mif-home .opt__roll { display: inline-grid; overflow: hidden; padding: .06em .08em .04em 0; }
.mif-home .opt__roll > span { grid-area: 1 / 1; transition: transform .55s var(--mif-ease); }
.mif-home .opt__roll > span + span { transform: translateY(110%); font-style: normal; }
.mif-home .opt .icon { width: clamp(20px, 2vw, 28px); height: clamp(20px, 2vw, 28px); transition: transform .55s var(--mif-ease); }
.mif-home .opt[target="_blank"] .icon { transform: rotate(-45deg); }
.mif-home .opt:hover .opt__roll > span:first-child, .mif-home .opt:focus-visible .opt__roll > span:first-child { transform: translateY(-110%); }
.mif-home .opt:hover .opt__roll > span + span, .mif-home .opt:focus-visible .opt__roll > span + span { transform: translateY(0); }
.mif-home .opt:hover .icon, .mif-home .opt:focus-visible .icon { transform: translateX(6px); }
.mif-home .opt[target="_blank"]:hover .icon, .mif-home .opt[target="_blank"]:focus-visible .icon { transform: rotate(-45deg) translate(4px, 0); }

/* --- état ouvert --- */
.mif-home .countries.has-open .ccard { flex-grow: .62; }
.mif-home .countries.has-open .ccard.is-open { flex-grow: 1.9; }
.mif-home .countries.has-open .ccard:not(.is-open) .ccard__sub { opacity: 0; }
.mif-home .ccard.is-open::before { opacity: .88; }
.mif-home .ccard.is-open::after { opacity: .35; }
.mif-home .ccard.is-open .ccard__img { transform: scale(1.02); filter: grayscale(1) contrast(1.05); }
.mif-home .ccard.is-open .ccard__toggle { visibility: hidden; }
.mif-home .ccard.is-open .ccard__toggle .ccard__name, .mif-home .ccard.is-open .ccard__toggle .ccard__sub, .mif-home .ccard.is-open .ccard__plus { opacity: 0; }
.mif-home .ccard.is-open .ccard__head { opacity: 1; visibility: visible; transform: none; transition: opacity .5s var(--mif-ease) .15s, transform .7s var(--mif-ease) .15s, visibility 0s; }
.mif-home .ccard.is-open .ccard__close { opacity: 1; transform: none; pointer-events: auto; transition-delay: .2s; }
.mif-home .ccard.is-open .ccard__menu { visibility: visible; }
.mif-home .ccard.is-open .opt { opacity: 1; transform: none; transition-delay: calc(.22s + var(--j) * 80ms); }

/* ------------------------------------------- partenaires premium (synchronisés) */
.mif-home .partners { display: grid; gap: clamp(6px, calc(var(--mif-h) * .014), 12px); padding-top: clamp(8px, calc(var(--mif-h) * .024), 24px); min-width: 0; }
.mif-home .partners__label { font-size: 12px; font-weight: 500; opacity: .6; }
.mif-home .marquee { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
.mif-home .marquee__track { display: flex; width: max-content; will-change: transform; }
.mif-home .marquee.is-running .marquee__track { animation: mif-marquee var(--dur, 40s) linear infinite; }
.mif-home .marquee.is-running:hover .marquee__track, .mif-home .marquee.is-running:focus-within .marquee__track { animation-play-state: paused; }
.mif-home .marquee:not(.is-running) { -webkit-mask-image: none; mask-image: none; }
.mif-home .marquee:not(.is-running) .logos--clone { display: none; }
.mif-home .marquee:not(.is-running) .marquee__track { width: auto; }
.mif-home .marquee:not(.is-running) .logos { flex: 1; flex-wrap: wrap; row-gap: 10px; }
.mif-home .logos { display: flex; align-items: center; flex: none; }
.mif-home .logos > li { padding: 0 clamp(14px, 1.6vw, 26px); }
.mif-home .logos > li:first-child { padding-left: 0; }
.mif-home .logo-cell { --k: 0; opacity: 0; transition: opacity .6s var(--mif-ease); }
.mif-home .logo-cell.is-ready { opacity: 1; }
.mif-home .logo-cell a, .mif-home .logo-cell .logo-box { display: block; }
.mif-home .logo-mark { display: block; }
.mif-home .logo-mark img { display: block; transition: transform .5s var(--mif-ease), opacity .3s; }
.mif-home .logo-mark .is-raw { height: clamp(30px, calc(var(--mif-h) * .055), 46px); width: auto; aspect-ratio: 2.1 / 1; object-fit: cover; filter: grayscale(1); mix-blend-mode: multiply; }
.mif-home .logo-fallback { height: 56px; width: auto; max-width: none; }
.mif-home .logo-cell a:hover img, .mif-home .logo-cell a:focus-visible img { transform: scale(1.08); }

/* ================================================================ entrée */
/* animations retenues tant que textures et polices ne sont pas prêtes (évite les saccades) */
html.mif-js:not(.mif-go) .mif-home *, html.mif-js:not(.mif-go) .mif-home *::before, html.mif-js:not(.mif-go) .mif-home *::after { animation-play-state: paused !important; }
@media (prefers-reduced-motion: no-preference) {
  .mif-home .brand::after { animation: mif-unveil 1.05s var(--mif-ease) backwards; }
  .mif-home .wordmark path { animation: mif-rise 1.1s var(--mif-ease) backwards; animation-delay: calc(var(--k) * 45ms + .35s); }
  .mif-home .brand__text > * { animation: mif-up 1s var(--mif-ease) backwards; animation-delay: .7s; }
  .mif-home .brand__foot { animation: mif-fade 1s var(--mif-ease) 1s backwards; }
  .mif-home .ball--a { animation: mif-roll-a 1.8s var(--mif-ease) .3s backwards, mif-float 9s ease-in-out 2.2s infinite alternate; }
  .mif-home .ball--b { animation: mif-roll-b 1.8s var(--mif-ease) .5s backwards, mif-float 11s ease-in-out 2.4s infinite alternate-reverse; }
  .mif-home .pick__title > * { animation: mif-up 1s var(--mif-ease) backwards; animation-delay: .45s; }
  .mif-home .pick__big { animation-delay: .52s; }
  .mif-home .ccard { animation: mif-card 1.1s var(--mif-ease) backwards; animation-delay: calc(.6s + var(--i) * 110ms); }
  .mif-home .partners__label { animation: mif-fade 1s var(--mif-ease) 1.1s backwards; }
  .mif-home .logo-cell.is-ready { transition-delay: calc(var(--k) * 40ms); }
}
@keyframes mif-unveil { from { transform: scaleX(1); } }
@keyframes mif-rise { from { transform: translateY(118%); } }
@keyframes mif-fade { from { opacity: 0; } }
@keyframes mif-up { from { opacity: 0; transform: translateY(16px); } }
@keyframes mif-card { from { opacity: 0; transform: translateY(28px); } }
@keyframes mif-roll-a { from { opacity: 0; transform: translate(45%, 25%) rotate(275deg) scale(.6); } to { opacity: 1; transform: translate(0, 0) rotate(135deg) scale(1); } }
@keyframes mif-roll-b { from { opacity: 0; transform: translate(30%, -60%) rotate(160deg) scale(.5); } to { opacity: 1; transform: translate(0, 0) rotate(40deg) scale(1); } }
@keyframes mif-float { from { translate: 0 0; } to { translate: -6px -14px; } }
@keyframes mif-marquee { to { transform: translateX(-50%); } }

/* ============================================================== adaptatif */
@media (max-width: 900px) {
  .mif-home { grid-template-columns: 1fr; height: auto; min-height: 100svh; overflow: visible; }
  .mif-home .brand { min-height: 80svh; row-gap: 28px; }
  .mif-home .ball--a { width: 56vw; right: -20%; bottom: -12%; }
  .mif-home .ball--b { width: 26vw; }
  .mif-home .pick { padding-top: 40px; }
  .mif-home .pick__title { margin-top: 8px; }
  .mif-home .countries { flex-direction: column; }
  .mif-home .ccard { flex: none; height: 52svh; min-height: 300px; transition: height .8s var(--mif-ease); }
  .mif-home .countries.has-open .ccard { flex-grow: 0; }
  .mif-home .ccard.is-open { height: 64svh; min-height: 420px; }
  .mif-home .partners { padding-top: 32px; }
  /* sur le panneau bleu : « EN ⌄ » en blanc, mais la liste s'ouvre en bleu sur fond blanc (sinon blanc sur blanc) */
  body.home.dispatch .header--main-dispatch .lang-selector > span { color: #fff; }
  body.home.dispatch .header--main-dispatch .mif-expo { color: #fff; font-size: 15px; padding: 2px 10px 3px; margin-top: 7px; margin-right: 24px; }
  body.home.dispatch .header--main-dispatch .mif-expo:hover, body.home.dispatch .header--main-dispatch .mif-expo:focus-visible { background: #fff; color: #004AAD; }
  body.home.dispatch .header--main-dispatch .lang-selector > span .icon { fill: #fff; }
  body.home.dispatch .header--main-dispatch .lang-selector .wrap { background: #fff; color: #0F1949; box-shadow: 0 8px 24px rgba(15, 25, 73, .18); }
  body.home.dispatch .header--main-dispatch .lang-selector .wrap a { color: #0F1949; }
}
.mif-home .nowrap { white-space: nowrap; }
