:root{--emf-build:"EMF_BUILD_8a8860efcd61"}
/* ============================================================
   Excellence Maths — COMMON (partagé toutes pages refonte)
   Scopé sous .em-page : fondation (tokens/reset), header,
   footer, gabarit "bloc de liens" (maillage). Header/footer
   = un seul endroit, propagé à toutes les pages.
   ============================================================ */

/* Full-bleed : tuer la marge par défaut du body + débordement horizontal. */
html{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#fff;overflow-x:clip}
body.em-menu-open{overflow:hidden}

.em-page{
  --navy:#1f2738; --navy-2:#1a2b5f; --navy-soft:#26345a; --header:#151b2b;
  --blue:#2960ce; --blue-dark:#1c4aa8; --gold:#f9c124;
  --ink:#1A2236; --muted:#5A647A; --line:#E4E7EE;
  --bg:#FFFFFF; --bg-soft:#F5F6F9; --bg-soft-2:#EEF1F7;
  --radius:14px; --radius-sm:9px; --maxw:1320px;
  --pad:clamp(16px,4.4vw,28px);
  --h1:clamp(34px,4vw,58px);
  --h2:clamp(23px,2.5vw,34px);
  font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);
  line-height:1.6;-webkit-font-smoothing:antialiased;
}
.em-page *{margin:0;padding:0;box-sizing:border-box}
.em-page img{max-width:100%}
.em-page a{text-decoration:none;color:inherit}
.em-page button{font-family:inherit}
.em-page .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.em-page .title-bars{display:flex;gap:4px;align-self:stretch}
.em-page .title-bars i{width:5px;border-radius:3px}
.em-page .title-bars i:first-child{background:var(--gold)}
.em-page .title-bars i:last-child{background:var(--blue)}

/* boutons partagés */
.em-page .btn-blue{background:var(--blue);color:#fff;font-weight:600;font-size:14px;padding:11px 20px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;transition:background .15s;white-space:nowrap}
.em-page .btn-blue:hover{background:var(--blue-dark)}
.em-page .btn-blue-full{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:var(--blue);color:#fff;font-weight:700;font-size:16px;padding:16px;border-radius:12px;border:none;cursor:pointer;min-height:54px}
.em-page .btn-blue-full:hover{background:var(--blue-dark)}
.em-page .icon-btn{width:42px;height:42px;border-radius:11px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#E8EDF6;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.em-page .icon-btn.call i{color:#E0556B}

/* ===================== HEADER (desktop megamenu) ===================== */
.em-page .site-head{background:var(--header);border-bottom:1px solid rgba(255,255,255,.07);position:sticky;position:-webkit-sticky;top:0;z-index:1000}
.em-page .nav{display:flex;align-items:center;justify-content:space-between;height:74px;position:relative}
.em-page .brand{display:flex;align-items:center;gap:10px}
.em-page .brand-logo{height:54px;width:auto;display:block}
.em-page .menu{display:flex;align-items:stretch;gap:0}
.em-page .navitem{position:static;display:flex;align-items:center}
.em-page .navitem>.nl{display:flex;align-items:center;gap:7px;padding:10px 16px;cursor:pointer;border-radius:9px;transition:background .15s;white-space:nowrap;font-size:15px;font-weight:600;color:#E8EDF6}
.em-page .navitem>.nl i{font-size:8px;opacity:.6;transition:transform .2s}
.em-page .navitem:hover>.nl{background:rgba(255,255,255,.07)}
.em-page .navitem.current>.nl{color:var(--gold)}
.em-page .navitem.hasmenu:hover>.nl i{transform:rotate(180deg)}
.em-page .megamenu{position:absolute;top:calc(100% + 6px);left:0;width:max-content;transform:translateY(8px);background:#fff;border-radius:18px;box-shadow:0 30px 70px rgba(8,16,33,.36);padding:10px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s;z-index:90;overflow:hidden}
.em-page .navitem:hover .megamenu,.em-page .navitem.hasmenu.mm-open .megamenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.em-page .navitem.hasmenu.mm-open>.nl i{transform:rotate(180deg)}
.em-page .megamenu::before{content:"";position:absolute;top:-24px;left:0;right:0;height:24px}
.em-page .mm-grid{display:flex;align-items:stretch}
.em-page .mm-col{min-width:172px;padding:14px 26px}
.em-page .mm-col:first-child{padding-left:14px}
.em-page .mm-col+.mm-col{border-left:1px solid var(--line)}
.em-page .mm-ch{font-size:12px;color:var(--navy);font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:10px;white-space:nowrap}
.em-page .mm-ch i{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.em-page .mm-ch.c-blue i{background:rgba(41,96,206,.12);color:var(--blue)}
.em-page .mm-ch.c-gold i{background:rgba(249,193,36,.18);color:#B07D10}
.em-page .mm-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:#2A3245;font-size:14px;font-weight:500;white-space:nowrap;transition:background .12s,color .12s}
.em-page .mm-link:hover{background:var(--blue);color:#fff}
.em-page .mm-link .ar{margin-left:auto;font-size:11px;color:var(--blue);opacity:0;transform:translateX(-4px);transition:.12s}
.em-page .mm-link:hover .ar{opacity:1;transform:translateX(0);color:#fff}
.em-page .mm-sub{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#9AA6BB;font-weight:700;margin:14px 0 6px}
.em-page .mm-sublabel{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#7C8AA3;font-weight:700;margin:14px 0 7px;padding-left:2px;cursor:pointer;transition:color .12s}
.em-page .mm-sublabel i{font-size:9px;color:var(--blue);opacity:.55;transition:opacity .12s,transform .12s}
.em-page .mm-sublabel:hover{color:var(--blue)}
.em-page .mm-sublabel:hover i{opacity:1;transform:translateX(2px)}
.em-page .mm-chips{display:flex;flex-wrap:wrap;gap:6px;max-width:236px}
.em-page .mm-chip{font-size:12px;font-weight:600;color:#3A4659;background:var(--bg-soft);border:1px solid var(--line);border-radius:7px;padding:5px 10px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}
.em-page .mm-chip:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.em-page .mm-promo{align-self:stretch;width:208px;margin:6px 6px 6px 14px;border-radius:14px;background:linear-gradient(155deg,#243d75,#16233f);color:#fff;padding:22px;display:flex;flex-direction:column;justify-content:center;gap:8px;position:relative;overflow:hidden}
.em-page .mm-promo::before{content:"";position:absolute;top:-30%;right:-15%;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(249,193,36,.28),transparent 65%)}
.em-page .mm-promo .pe{position:relative;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--gold);font-weight:700}
.em-page .mm-promo .pb{position:relative;font-family:'Lora',serif;font-size:30px;font-weight:600;line-height:1;color:#fff}
.em-page .mm-promo .pt{position:relative;font-size:12.5px;color:#C7D0E0;line-height:1.5}
.em-page .nav-right{display:flex;align-items:center;gap:20px;flex-shrink:0}
.em-page .nav-phone{display:flex;align-items:center;gap:8px;color:#fff;font-weight:600;font-size:14px;white-space:nowrap}
.em-page .nav-phone i{color:#E0556B;font-size:13px}
/* Bascule de langue (vers la page anglaise) — petit pill dans la barre du haut. */
.em-page .nav-lang{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;letter-spacing:.3px;color:#C2CBDC;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:7px 11px;white-space:nowrap;transition:color .15s,border-color .15s,background .15s}
.em-page .nav-lang:hover{color:#fff;border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.06)}
.em-page .nav-lang i{font-size:12px;opacity:.85}
.em-page .nav-tools{display:none;align-items:center;gap:8px}
.em-page .menu-ov{display:none}

/* ===================== MAILLAGE — gabarit "bloc de liens" (réutilisable) ===================== */
.em-page .linkhub{background:var(--bg-soft);padding:8px 0 92px}
.em-page .linkhub-grid{display:flex;flex-direction:column;gap:22px}
.em-page .lh-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:38px 42px;box-shadow:0 8px 24px rgba(41,96,206,.05)}
.em-page .lh-head{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.em-page .lh-head .title-bars{height:26px}
.em-page .lh-card h2{font-size:23px;font-weight:600;letter-spacing:-.3px;color:var(--navy);line-height:1.25}
.em-page .lh-links{display:grid;grid-template-columns:1fr 1fr;gap:2px 44px}
.em-page .lh-link{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:10px 2px;color:var(--blue);font-size:15px;font-weight:500;transition:color .16s,transform .16s}
.em-page .lh-link i{font-size:10px;color:var(--gold);opacity:0;transform:translateX(-5px);transition:opacity .16s,transform .16s}
.em-page .lh-link:hover{color:var(--blue-dark)}
.em-page .lh-link:hover i{opacity:1;transform:translateX(0)}
.em-page .lh-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 44px}
.em-page .lh-grp-label{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.6px;text-transform:uppercase;font-weight:700;color:var(--navy);margin-bottom:8px}
.em-page .lh-grp-label::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--gold);flex-shrink:0}
.em-page .lh-grp .lh-links{grid-template-columns:1fr;gap:0}
.em-page .lh-grp .lh-link{font-size:14.5px;padding:8px 2px}

/* ===================== MENTIONS PRESSE — rangée « Vu dans » ===================== */
/* Les logos ne se compriment JAMAIS : ils passent à la ligne. Chaque page pose son
   propre `.press{display:flex}` et ses hauteurs de logo, mais aucune ne posait
   `flex-wrap` : à deux logos la rangée tenait partout, le défaut n'existait pas.
   En ajoutant France 2 (10/09/2026) la rangée déborde sous 768 px, les flex-items
   rétrécissent, et comme leur HAUTEUR est fixée en CSS pendant que leur largeur
   cède, les images se DÉFORMENT — mesuré jusqu'à -50 % de largeur en 360 px sur la
   page anglophone. Règle commune plutôt que 10 correctifs de page : le prochain
   logo ajouté héritera de la protection sans que personne y pense. */
/* ALIGNEMENT VERTICAL DE LA RANGÉE — au CENTRE, partout et à toutes les largeurs.
   Huit gabarits sur onze alignaient déjà au centre ; trois alignaient sur le BAS
   (`align-items:flex-end` : accueil, cours en ligne, stage — plus prépa sur le seul
   bureau). Tant que la rangée ne portait que des blocs Figaro de même hauteur, la
   différence ne se voyait pas. France 2 est plus BAS que les Figaro (0,81 de leur
   hauteur, cf. plus bas) : aligné par le bas, son centre optique descend, et le logo
   paraît « tomber » — mesuré à 2,0 px en mobile et 2,5 px sur bureau, et relevé à
   l'œil par Zakaria sur l'accueil avant de l'être à la mesure.
   `div.press` (0-2-1) et non `.press` (0-2-0) : les règles de page pèsent 0-2-0 et se
   chargent APRÈS le commun — à poids égal, c'est la page qui gagnerait. */
.em-page div.press{align-items:center}
.em-page .press{flex-wrap:wrap}
.em-page .press>*{flex-shrink:0}
.em-page .press-logos{flex-wrap:wrap}
.em-page .press-logos>*{flex-shrink:0}

/* Les séparateurs n'ont de sens que sur une rangée d'UNE ligne : en fin de ligne
   ils restent orphelins. Seuils relevés au rendu, gabarit par gabarit, sur les
   12 pages de recette (10/09/2026) : au-dessus de 1280 px toutes les rangées
   tiennent sur une ligne ; la pastille collège casse la première (dès 1200 px,
   sa cellule est étroite), les rangées de héros vers 960 px. D'où deux seuils
   et non un : un seuil unique à 1280 px retirerait les points dorés de tous les
   héros sur les portables 1024-1279 px, où ils sont pourtant sur une ligne. */
@media (min-width:721px) and (max-width:1279px){ .em-page .press-logos>.sep{display:none} }
@media (min-width:721px) and (max-width:1023px){ .em-page .press>.press-dot{display:none} }

/* SUR MOBILE, LA RANGÉE S'ARRÊTE À DEUX LOGOS. À trois, elle passe à la ligne : sur un
   écran de 360 px — très courant — les 13 pages de recette cassaient, France 2 se
   retrouvant seul en dessous, ce qui se lit comme un accident et non comme une mise en
   page. Arbitrage de Zakaria le 10/09/2026 : Figaro TV sort, Le Figaro Étudiant et
   France 2 restent.
   POURQUOI FIGARO TV ET PAS FIGARO ÉTUDIANT, les deux raisons, dans cet ordre :
     1. éditoriale — « Le Figaro Étudiant » est la référence qui parle à un parent qui
        cherche un professeur de maths ; Figaro TV est une chaîne vidéo ;
     2. mécanique — le logo Figaro TV est le PLUS LARGE des trois (107 px contre 73 px
        pour Étudiant à hauteur d'affichage égale), donc le retirer libère le plus de
        place. Mesuré sur les 13 pages : en retirant TV, tout tient sur une ligne
        jusqu'à 360 px ; en retirant Étudiant, la page anglophone cassait déjà à 360 px,
        et cinq pages à 320 px contre deux.
   La classe porte sur le FLEX-ITEM (le `<span class="figaro">` sur les héros, l'`<img>`
   dans la pastille collège où il n'y a pas de span) : masquer l'image en laissant le
   span vide laisserait un `gap` de blanc au milieu de la rangée. Les séparateurs, eux,
   sont déjà masqués plus haut à ces largeurs — rien à retirer de plus. */
@media (max-width:720px){
  /* SPÉCIFICITÉ, et ce n'est pas un détail : la première écriture de cette règle
     (`.em-page .press-logo-tv`, 0-2-0) N'A RIEN MASQUÉ. Chaque page pose son propre
     `.em-<page> .figaro{display:inline-flex}` — même poids, mais le CSS de page se
     charge APRÈS le commun, donc il gagnait. Vu en mesurant les logos rendus, pas en
     relisant la feuille. On passe donc à 0-3-0 sur les héros, et à 0-3-1 sur collège
     dont le concurrent (`.em-college .press-logos .figaro-logo`) est déjà à 0-3-0. */
  .em-page .press .figaro.press-logo-tv{display:none}
  .em-page .press-logos img.press-logo-tv{display:none}
  /* LE SÉPARATEUR REVIENT — et un seul. À deux logos la rangée ne casse plus (vérifié
     de 360 à 720 px sur les 13 pages), donc le point doré retrouve son rôle : séparer.
     Les seuils du dessus ne le masquent plus que là où la rangée porte ses trois logos.
     MAIS le balisage en contient DEUX, de part et d'autre du logo masqué : les laisser
     tous les deux donnerait « • • » entre Le Figaro Étudiant et France 2. On retire
     celui qui SUIVAIT le logo masqué, en le désignant par sa position réelle plutôt que
     par un rang codé en dur — si l'ordre des logos change un jour, la règle suit. */
  .em-page .press .press-logo-tv + .press-dot{display:none}
  .em-page .press-logos .press-logo-tv + .sep{display:none}
}

/* DERNIER GARDE-FOU, POUR LES TRÈS PETITS ÉCRANS. Même à deux logos la rangée finit par
   casser, et le séparateur redeviendrait orphelin en fin de ligne. Seuil relevé page par
   page après harmonisation des écarts : la plus exigeante est la page anglophone (« As
   seen in » est plus long que « Vu dans »), qui tient sur une ligne dès 354 px ; toutes
   les autres tiennent à 342 px ou moins, la plupart dès 300. On masque donc sous 354 px
   — c'est-à-dire nulle part sur un téléphone actuel : un iPhone SE ou un iPhone 8 fait
   375 px et garde son point. */
@media (max-width:353px){
  .em-page .press>.press-dot{display:none}
  .em-page .press-logos>.sep{display:none}
}

/* ===================== FOOTER ===================== */
.em-page .site-footer{background:var(--navy);color:#AEB8CC;font-size:14px}
.em-page .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.25fr;gap:40px;padding:64px 0 50px}
.em-page .foot-brand-logo{height:64px;width:auto;display:block;margin-bottom:18px}
.em-page .foot-sign{font-family:'Lora',serif;font-size:19px;line-height:1.5;color:#E7ECF5;max-width:300px;margin-bottom:16px}
.em-page .foot-reassure{font-size:13px;line-height:1.6;color:#94A0B8;max-width:300px;margin-bottom:18px}
.em-page .foot-trust{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.em-page .foot-google{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:9px 14px}
.em-page .foot-google .g{width:24px;height:24px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#4285F4;flex-shrink:0}
.em-page .foot-google .gx{display:flex;flex-direction:column;line-height:1.15}
.em-page .foot-google .stars{color:var(--gold);font-size:12px;letter-spacing:1px}
.em-page .foot-google .cnt{color:#C2CBDC;font-size:11.5px;font-weight:500}
.em-page .foot-social{display:flex;gap:10px}
.em-page .foot-social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#C2CBDC;font-size:16px;transition:background .15s,color .15s,border-color .15s}
.em-page .foot-social a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.em-page .foot-h{font-size:13px;font-weight:700;letter-spacing:.3px;color:#fff;margin-bottom:16px}
.em-page .foot-links{display:flex;flex-direction:column;gap:11px}
.em-page .foot-links a{color:#AEB8CC;font-size:14px;transition:color .15s}
.em-page .foot-links a:hover{color:var(--gold)}
.em-page .foot-contact{display:flex;flex-direction:column;gap:13px;margin-bottom:20px}
.em-page .foot-ci{display:flex;align-items:flex-start;gap:11px;color:#C2CBDC;font-size:14px;line-height:1.5}
.em-page .foot-ci i{color:var(--gold);font-size:14px;width:16px;margin-top:3px;flex-shrink:0}
.em-page .foot-ci a:hover{color:var(--gold)}
.em-page .foot-contact-cta{display:inline-flex;align-items:center;gap:9px;border:1.5px solid rgba(255,255,255,.28);color:#fff;font-weight:600;font-size:14px;padding:11px 20px;border-radius:var(--radius-sm);transition:border-color .15s,background .15s}
.em-page .foot-contact-cta:hover{border-color:var(--gold);background:rgba(249,193,36,.1)}
.em-page .foot-bottom{border-top:1px solid rgba(255,255,255,.1)}
.em-page .foot-bottom .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px}
.em-page .foot-copy{font-size:12.5px;color:#8794AD}
.em-page .foot-legal{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.em-page .foot-legal a{font-size:12.5px;color:#8794AD;transition:color .15s}
.em-page .foot-legal a:hover{color:var(--gold)}

/* =========================================================================
   MOBILE (≤720px) — header burger, footer empilé, maillage 1 colonne
   ========================================================================= */
@media (max-width:720px){
  /* ----- header ----- */
  .em-page .menu{display:none}
  .em-page .nav-right{display:none}
  .em-page .nav-tools{display:flex}
  .em-page .nav{height:62px}
  .em-page .brand-logo{height:48px}
  .em-page .site-head{padding-top:0}
  .em-page .menu-ov{display:flex;position:fixed;inset:0;z-index:200;background:var(--header);color:#fff;flex-direction:column;transform:translateX(100%);transition:transform .32s cubic-bezier(.22,1,.36,1)}
  .em-page .menu-ov.open{transform:translateX(0)}
  /* le header reste au-dessus (z-index 1000) et sert de barre haute du menu */
  .em-page .menu-top{display:none}
  .em-page .menu-scroll{flex:1;overflow-y:auto;padding:74px 0 16px}
  .em-page .icon-btn .fa-xmark{font-size:18px}
  .em-page .m-acc{border-bottom:1px solid rgba(255,255,255,.07)}
  .em-page .m-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 18px;font-size:16px;font-weight:600;color:#EaEef6;cursor:pointer}
  .em-page .m-row .chev{font-size:12px;opacity:.55;transition:transform .25s}
  .em-page .m-acc.open .m-row .chev{transform:rotate(180deg)}
  .em-page .m-sub{max-height:0;overflow:hidden;transition:max-height .3s ease}
  .em-page .m-acc.open .m-sub{max-height:1400px}
  .em-page .m-sub-in{padding:0 18px 14px}
  .em-page .m-sublink{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-radius:10px;font-size:14px;font-weight:500;color:#C7D0E0;background:rgba(255,255,255,.04);margin-bottom:7px}
  .em-page .m-sublink i{font-size:11px;color:var(--gold)}
  .em-page .m-chips{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 2px 10px}
  .em-page .m-chips a{font-size:12px;font-weight:600;color:#C7D0E0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:7px;padding:6px 11px}
  .em-page .m-chips a:active{background:rgba(255,255,255,.16)}
  .em-page .m-grp-label{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#7E8BA5;font-weight:700;margin:4px 2px 8px}
  .em-page .menu-foot{padding:14px 16px 22px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}
  .em-page .menu-phone{display:flex;align-items:center;justify-content:center;gap:9px;color:#C7D0E0;font-size:14px;font-weight:600;margin-top:14px}
  .em-page .menu-phone i{color:#E0556B}
  .em-page .menu-promo{margin:16px 18px 6px;border-radius:14px;background:linear-gradient(155deg,#243d75,#16233f);padding:16px 18px;position:relative;overflow:hidden;display:flex;align-items:center;gap:14px}
  .em-page .menu-promo::before{content:"";position:absolute;top:-40%;right:-10%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(249,193,36,.30),transparent 65%)}
  .em-page .menu-promo .pb{position:relative;font-family:'Lora',serif;font-size:32px;font-weight:600;color:var(--gold);line-height:1;flex-shrink:0}
  .em-page .menu-promo .pt{position:relative;font-size:12.5px;color:#C7D0E0;line-height:1.4}
  .em-page .menu-promo .pe{display:block;font-size:9.5px;letter-spacing:.7px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:3px}

  /* ----- maillage mobile : 1 colonne, liens avec séparateurs ----- */
  .em-page .linkhub{padding:6px 0 28px}
  .em-page .linkhub-grid{gap:16px}
  .em-page .lh-card{padding:22px 18px}
  .em-page .lh-head{align-items:flex-start;gap:11px;margin-bottom:18px}
  .em-page .lh-head .title-bars{height:20px;margin-top:2px}
  .em-page .lh-card h2{font-size:18px}
  .em-page .lh-links{grid-template-columns:1fr;gap:0}
  .em-page .lh-groups{grid-template-columns:1fr;gap:0}
  .em-page .lh-link{display:flex;justify-content:space-between;width:auto;padding:12px 2px;border-bottom:1px solid var(--line);font-size:15px}
  .em-page .lh-link:last-child{border-bottom:none}
  .em-page .lh-link i{opacity:1;transform:none;font-size:11px}
  .em-page .lh-grp{padding-bottom:2px}
  .em-page .lh-grp .lh-link{font-size:15px;padding:12px 2px}
  .em-page .lh-grp-label{margin:20px 0 4px;font-size:10.5px}
  .em-page .lh-grp:first-child .lh-grp-label{margin-top:0}

  /* ----- footer mobile : brand pleine largeur, 2 colonnes liens, contact pleine largeur ----- */
  .em-page .foot-grid{grid-template-columns:1fr 1fr;gap:24px 16px;padding:34px 0 26px}
  .em-page .foot-brand{grid-column:1/-1}
  .em-page .foot-brand-logo{height:60px}
  .em-page .foot-sign{font-size:18px;max-width:none}
  .em-page .foot-reassure{max-width:none}
  .em-page .foot-trust{margin-bottom:6px}
  .em-page .foot-social a{width:42px;height:42px;border-radius:11px}
  .em-page .foot-grid > .foot-col:last-child{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;margin-top:4px}
  .em-page .foot-contact-cta{display:flex;justify-content:center;width:100%;padding:14px;border-radius:11px;min-height:50px;font-size:15px}
  .em-page .foot-bottom .wrap{flex-direction:column;align-items:flex-start;gap:12px;padding-top:20px;padding-bottom:20px}
  .em-page .foot-legal{gap:6px 16px}
}
