:root{--emf-build:"EMF_BUILD_c468b27811eb"}
/* ============================================================
   Excellence Maths — CONTACT (spécifique page /contact/)
   Scopé sous .em-contact. Tokens hérités de .em-page (em-common.css).
   Fusion desktop + mobile en une feuille fluide. Breakpoints 900 / 720.
   ============================================================ */

.em-contact .txtlink{color:var(--blue);font-weight:500}
.em-contact .txtlink:hover{color:var(--blue-dark)}

/* ---------- BLOC 1 — HERO ---------- */
.em-contact .hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:clamp(38px,6vw,64px) 0 clamp(36px,6vw,68px)}
.em-contact .hero::before{content:"";position:absolute;top:-46%;right:-4%;width:min(620px,80vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(249,193,36,.13),transparent 62%);pointer-events:none}
.em-contact .hero-in{position:relative;z-index:1}
.em-contact .hero .kicker{display:inline-flex;align-items:center;width:fit-content;border-left:3px solid var(--gold);padding-left:12px;color:var(--gold);font-size:clamp(11px,1.4vw,14px);letter-spacing:1px;text-transform:uppercase;font-weight:700;line-height:1.3;margin:0 0 clamp(14px,2vw,20px)}
.em-contact .hero h1{color:#fff;font-size:clamp(32px,5vw,50px);line-height:1.08;font-weight:600;letter-spacing:-1px;margin:0 0 clamp(10px,1.4vw,16px)}
.em-contact .hero .sub{color:#C7D0E0;font-size:clamp(15.5px,1.9vw,19px);line-height:1.55;max-width:560px;margin:0 0 clamp(24px,3.4vw,38px)}
.em-contact .contact-entries{display:grid;grid-template-columns:1fr 1fr;gap:clamp(13px,1.6vw,20px);max-width:820px}
.em-contact .centry{display:flex;align-items:center;gap:clamp(14px,1.6vw,18px);background:#fff;color:var(--ink);border-radius:15px;padding:clamp(18px,2vw,26px) clamp(18px,2vw,28px);box-shadow:0 18px 44px rgba(8,16,33,.32);transition:transform .2s,box-shadow .2s}
.em-contact .centry:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(8,16,33,.4)}
.em-contact .centry:active{transform:translateY(1px)}
.em-contact .centry .cic{flex-shrink:0;width:clamp(46px,4vw,52px);height:clamp(46px,4vw,52px);border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:clamp(18px,2vw,21px)}
.em-contact .centry .cic.blue{background:rgba(41,96,206,.10);color:var(--blue)}
.em-contact .centry .cic.gold{background:rgba(249,193,36,.16);color:#B07D10}
.em-contact .centry .ctx{min-width:0;display:flex;flex-direction:column}
.em-contact .centry .clab{font-size:11px;letter-spacing:.6px;text-transform:uppercase;font-weight:700;color:var(--muted)}
.em-contact .centry .cval{font-size:clamp(17.5px,2vw,21px);font-weight:700;color:var(--ink);line-height:1.25;letter-spacing:-.3px;margin:3px 0 4px}
.em-contact .centry .cnote{font-size:clamp(12.5px,1.5vw,13.5px);color:var(--muted);line-height:1.45}
.em-contact .centry .car{margin-left:auto;color:var(--blue);font-size:15px;flex-shrink:0}
.em-contact .funnel-entry{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:clamp(20px,2.4vw,24px);color:#C7D0E0;font-size:clamp(14px,1.6vw,15px);font-weight:500}
.em-contact .funnel-entry a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;border-bottom:1.5px solid rgba(255,255,255,.4);padding-bottom:2px;transition:border-color .15s,color .15s}
.em-contact .funnel-entry a:hover{color:var(--gold);border-color:var(--gold)}
.em-contact .funnel-entry a i{font-size:12px}

/* ---------- BLOC 2 — FORMULAIRE + RÉASSURANCE ---------- */
.em-contact .msg{background:var(--bg-soft);padding:clamp(38px,6vw,76px) 0;scroll-margin-top:80px}
.em-contact .msg-in{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
.em-contact .form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(26px,3vw,38px) clamp(20px,3vw,40px);box-shadow:0 14px 38px rgba(41,96,206,.07)}
.em-contact .form-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:8px}
.em-contact .form-head .title-bars{height:26px;margin-top:4px;flex-shrink:0}
.em-contact .form-head h2{font-size:clamp(22px,2.6vw,27px);font-weight:600;letter-spacing:-.4px;line-height:1.2}
.em-contact .form-lead{font-size:clamp(13.5px,1.6vw,15px);color:var(--muted);line-height:1.6;margin:0 0 clamp(22px,3vw,28px);max-width:480px}
.em-contact .frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.em-contact .ffield{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.em-contact .ffield label{font-size:13.5px;font-weight:600;color:var(--ink)}
.em-contact .ffield label small{font-weight:500;color:#96A0B5}
.em-contact .ffield input,.em-contact .ffield select,.em-contact .ffield textarea{font-family:inherit;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:13px 15px;transition:border-color .15s,box-shadow .15s;width:100%;min-height:50px}
.em-contact .ffield input::placeholder,.em-contact .ffield textarea::placeholder{color:#A3ACC0}
.em-contact .ffield input:focus,.em-contact .ffield select:focus,.em-contact .ffield textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(41,96,206,.16)}
.em-contact .ffield input.invalid,.em-contact .ffield select.invalid,.em-contact .ffield textarea.invalid{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
.em-contact .ffield select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A647A' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.em-contact .ffield textarea{min-height:150px;resize:vertical;line-height:1.6}
.em-contact .ffield.fmsg label{font-size:14.5px}
/* Sélecteur d'indicatif pays (téléphone) — France par défaut, cohérent avec le funnel */
.em-contact .tel-wrap{position:relative;display:flex;align-items:stretch;background:#fff;border:1.5px solid var(--line);border-radius:10px;transition:border-color .15s,box-shadow .15s;min-height:50px}
.em-contact .tel-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(41,96,206,.16)}
.em-contact .tel-wrap.invalid{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
.em-contact .tel-dial{display:inline-flex;align-items:center;gap:7px;padding:0 11px 0 14px;border:none;border-right:1px solid var(--line);background:transparent;border-radius:9px 0 0 9px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap}
.em-contact .tel-dial:hover{background:rgba(41,96,206,.05)}
.em-contact .tel-flag{font-size:16px;line-height:1}
.em-contact .tel-dial i{font-size:10px;color:var(--muted)}
.em-contact .ffield .tel-wrap input{flex:1;min-width:0;border:none;outline:none;background:transparent;padding:13px 15px;font-family:inherit;font-size:15px;color:var(--ink);min-height:auto;box-shadow:none}
.em-contact .tel-pop{position:absolute;z-index:30;top:calc(100% + 5px);left:0;min-width:238px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(8,16,33,.16);padding:5px}
.em-contact .tel-pop[hidden]{display:none}
.em-contact .tel-opt{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 10px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-family:inherit;font-size:13.5px;color:var(--ink)}
.em-contact .tel-opt:hover{background:rgba(41,96,206,.05)}
.em-contact .tel-opt[data-selected="true"]{background:rgba(41,96,206,.09);color:var(--blue);font-weight:600}
.em-contact .tel-opt-name{flex:1}
.em-contact .tel-opt-dial{color:var(--muted);font-size:12.5px}
/* ── Sélecteur à tous les pays (14/09/2026) ─────────────────────────────────────────────────
   Le popover portait 8 boutons écrits en dur dans le gabarit. À 242 pays il lui faut un champ
   de recherche (sans lui la liste est inutilisable) et une hauteur bornée : c'est la condition
   du choix « tous les pays », pas un raffinement. */
.em-contact .tel-pop{min-width:272px;max-width:320px;padding:0;overflow:hidden}
.em-contact .tel-opt-search{display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid var(--line);background:#fff}
.em-contact .tel-opt-search i{font-size:11.5px;color:var(--muted);flex:none}
.em-contact .tel-opt-search input{flex:1;min-width:0;border:none;outline:none;box-shadow:none;background:transparent;padding:0;min-height:auto;font-family:inherit;font-size:14px;color:var(--ink);-webkit-appearance:none;appearance:none}
.em-contact .tel-opt-search input::-webkit-search-cancel-button{display:none}
.em-contact .tel-opt-list{max-height:254px;overflow-y:auto;overscroll-behavior:contain;padding:5px}
.em-contact .tel-opt-sep{height:1px;margin:5px 4px;background:var(--line)}
.em-contact .tel-opt-vide{padding:14px 12px;font-size:13px;color:var(--muted);text-align:center}
.em-contact .tel-opt[data-actif="true"]{background:rgba(41,96,206,.09)}
/* Message d'erreur et suggestions : le champ téléphone n'avait AUCUN emplacement de message —
   une erreur y était donc muette. */
.em-contact .tel-err{margin-top:6px;font-family:inherit;font-size:13px;color:#c0392b}
.em-contact .tel-err[hidden],.em-contact .tel-suggest[hidden],.em-contact .mail-suggest[hidden]{display:none}
.em-contact .tel-suggest,.em-contact .mail-suggest{margin-top:6px;font-family:inherit;font-size:12.5px;line-height:1.45;color:var(--muted)}
.em-contact .tel-use{border:none;background:none;padding:0;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--blue);text-decoration:underline;cursor:pointer}

/* Honeypot : hors écran, jamais affiché */
.em-contact .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.em-contact .form-err{color:#c0392b;font-size:14px;line-height:1.5;margin-top:14px}
.em-contact .form-send{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--blue);color:#fff;font-family:inherit;font-weight:700;font-size:16px;padding:15px 30px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:background .15s,transform .15s;margin-top:6px;min-height:54px}
.em-contact .form-send:hover{background:var(--blue-dark);transform:translateY(-1px)}
.em-contact .form-send:disabled{opacity:.65;cursor:default;transform:none}
.em-contact .form-micro{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--muted);line-height:1.55;margin-top:16px}
.em-contact .form-micro i{color:var(--blue);font-size:13px;margin-top:3px;flex-shrink:0}
.em-contact .form-success{display:none;flex-direction:column;align-items:flex-start;gap:14px;padding:12px 0 8px}
.em-contact .form-success .sic{width:56px;height:56px;border-radius:50%;background:rgba(41,96,206,.10);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:23px}
.em-contact .form-success h3{font-size:clamp(20px,2.4vw,23px);font-weight:600;letter-spacing:-.3px}
.em-contact .form-success p{font-size:15.5px;color:var(--muted);line-height:1.65;max-width:460px}
.em-contact .form-success .snote{font-size:14px;color:var(--muted)}
.em-contact .form-card.sent form,.em-contact .form-card.sent .form-lead{display:none}
.em-contact .form-card.sent .form-success{display:flex}
.em-contact .side{display:flex;flex-direction:column;gap:18px}
.em-contact .side-card{background:linear-gradient(150deg,#1a2b50,#233f78);color:#fff;border-radius:18px;padding:32px;box-shadow:0 18px 44px rgba(18,32,57,.20);position:relative;overflow:hidden}
.em-contact .side-card::before{content:"";position:absolute;top:-45%;right:-20%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(249,193,36,.2),transparent 64%);pointer-events:none}
.em-contact .side-card>*{position:relative;z-index:1}
.em-contact .side-card .se{color:var(--gold);font-size:12px;letter-spacing:.8px;text-transform:uppercase;font-weight:700;margin-bottom:20px}
.em-contact .side-line{display:flex;align-items:flex-start;gap:14px;padding:15px 0;border-top:1px solid rgba(255,255,255,.13)}
.em-contact .side-line:first-of-type{border-top:none;padding-top:0}
.em-contact .side-line i{width:38px;height:38px;border-radius:10px;background:rgba(249,193,36,.15);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.em-contact .side-line b{display:block;font-size:15.5px;font-weight:600;color:#fff;line-height:1.4}
.em-contact .side-line span{font-size:13.5px;color:#AEBBD6;line-height:1.55}
.em-contact .side-google{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px;box-shadow:0 8px 24px rgba(41,96,206,.06)}
.em-contact .side-google .g{width:30px;height:30px;border-radius:50%;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#4285F4;flex-shrink:0}
.em-contact .side-google .stars{color:var(--gold);font-size:13px;letter-spacing:1.5px}
.em-contact .side-google b{display:block;font-size:14.5px;color:var(--ink);font-weight:600;line-height:1.3}

/* ---------- BLOC 3 — CE QUI SE PASSE ENSUITE ---------- */
.em-contact .process{background:#fff;padding:clamp(40px,6vw,80px) 0}
.em-contact .section-eye{color:var(--blue);font-size:clamp(11.5px,1.4vw,13px);letter-spacing:.8px;text-transform:uppercase;font-weight:700;margin-bottom:14px;text-align:center}
.em-contact .process-h{text-align:center;font-size:clamp(25px,3vw,30px);font-weight:600;letter-spacing:-.5px;margin:0 auto clamp(26px,4vw,44px);max-width:760px;line-height:1.25}
.em-contact .steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.8vw,24px);margin-bottom:clamp(22px,3vw,30px)}
.em-contact .step{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(20px,2.4vw,30px) clamp(18px,2.2vw,26px);transition:transform .2s,box-shadow .2s}
.em-contact .step:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(41,96,206,.10)}
.em-contact .step .snum{position:absolute;top:20px;right:22px;font-family:'Lora',serif;font-size:clamp(26px,3vw,32px);font-weight:600;color:rgba(249,193,36,.34);line-height:1}
.em-contact .step .sic{width:48px;height:48px;border-radius:12px;background:linear-gradient(150deg,rgba(41,96,206,.14),rgba(41,96,206,.05));color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:18px}
.em-contact .step h3{font-size:clamp(16.5px,1.9vw,19px);font-weight:600;margin-bottom:10px;padding-right:26px}
.em-contact .step p{font-size:clamp(13.5px,1.6vw,14.5px);color:var(--muted);line-height:1.65}
.em-contact .process-foot{display:flex;align-items:center;justify-content:center;gap:clamp(10px,2vw,22px);font-size:14px;color:var(--muted);flex-wrap:wrap}
.em-contact .process-foot .pf{display:flex;align-items:center;gap:8px;font-weight:500}
.em-contact .process-foot .pf i{color:var(--blue);font-size:14px}
.em-contact .process-foot .pf-dot{width:4px;height:4px;border-radius:50%;background:#C6CFDD}

/* ---------- BLOC 4 — FAQ (details natif) ---------- */
.em-contact .faq{background:var(--bg);padding:clamp(40px,6vw,80px) 0}
.em-contact .faq-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:clamp(24px,3vw,40px)}
.em-contact .faq-head .title-bars{height:34px;flex-shrink:0}
.em-contact .faq-head .qeye{color:#9A6A12;font-size:12px;letter-spacing:.8px;text-transform:uppercase;font-weight:700;margin-bottom:10px}
.em-contact .faq-head h2{font-size:clamp(25px,3vw,30px);font-weight:600;letter-spacing:-.5px;line-height:1.15}
.em-contact .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.em-contact .faq-acc{background:var(--bg-soft);border:1px solid transparent;border-radius:14px;overflow:hidden;transition:background .18s,box-shadow .2s,border-color .2s}
.em-contact .faq-acc[open]{background:#fff;border-color:var(--line);box-shadow:0 12px 32px rgba(41,96,206,.09)}
.em-contact .faq-acc summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:18px;padding:clamp(18px,2.2vw,22px) clamp(18px,2.2vw,24px);font-size:clamp(15px,1.7vw,15.5px);font-weight:600;color:var(--ink);line-height:1.45;outline:none}
.em-contact .faq-acc summary::-webkit-details-marker{display:none}
.em-contact .faq-acc summary::marker{content:"";font-size:0}
.em-contact .faq-acc summary:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;border-radius:14px}
.em-contact .faq-acc summary .pl{margin-left:auto;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;transition:transform .22s,background .15s}
.em-contact .faq-acc[open] summary .pl{transform:rotate(45deg);background:var(--blue-dark)}
.em-contact .faq-a{padding:0 clamp(18px,2.2vw,24px) clamp(16px,2.2vw,22px)}
.em-contact .faq-a p{font-size:clamp(14px,1.6vw,14.5px);color:var(--muted);line-height:1.72}
.em-contact .faq-a a{color:var(--blue);font-weight:500;border-bottom:1px solid rgba(41,96,206,.25)}
.em-contact .faq-a a:hover{border-color:var(--blue)}

/* ---------- BLOC 5 — CTA FINAL ---------- */
.em-contact .finalcta{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:clamp(46px,7vw,88px) 0;text-align:center}
.em-contact .finalcta::before{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:min(680px,110vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(249,193,36,.16),transparent 62%);pointer-events:none}
.em-contact .finalcta .wrap{position:relative;z-index:1}
.em-contact .finalcta .feye{color:var(--gold);font-size:clamp(11px,1.4vw,13px);letter-spacing:.8px;text-transform:uppercase;font-weight:700;margin-bottom:16px}
.em-contact .finalcta h2{font-size:clamp(25px,3.8vw,36px);font-weight:600;letter-spacing:-.7px;line-height:1.15;margin:0 auto 16px;max-width:800px;color:#fff}
.em-contact .finalcta p{font-size:clamp(15px,1.9vw,18px);color:#C7D0E0;margin:0 auto 32px;max-width:620px;line-height:1.5}
.em-contact .hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--blue);color:#fff;font-weight:700;font-size:clamp(15.5px,1.9vw,18px);padding:16px 36px;border-radius:var(--radius-sm);transition:background .15s,transform .15s}
.em-contact .hero-cta:hover{background:var(--blue-dark);transform:translateY(-1px)}
.em-contact .hero-cta:active{transform:translateY(1px)}
.em-contact .finalcta-re{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:26px;flex-wrap:wrap}
.em-contact .finalcta-re .guar{display:flex;align-items:center;gap:8px;color:#D6DEEC;font-size:14px;font-weight:500}
.em-contact .finalcta-re .guar i{color:var(--gold)}

/* ---------- BLOC 6 — LIGNE CANDIDATURE PROF ---------- */
.em-contact .teachline{background:#fff;border-top:1px solid var(--line)}
.em-contact .teachline .wrap{display:flex;align-items:center;justify-content:center;gap:10px;padding:clamp(22px,3vw,26px) var(--pad);font-size:clamp(13.5px,1.6vw,14px);color:var(--muted);flex-wrap:wrap;text-align:center}
.em-contact .teachline i{color:#B07D10;font-size:14px}
.em-contact .teachline a{color:var(--blue);font-weight:600;border-bottom:1px solid rgba(41,96,206,.3);transition:border-color .15s;white-space:nowrap}
.em-contact .teachline a:hover{border-color:var(--blue)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
/* Tablette : les grilles 2/3 colonnes retombent en 1 colonne */
@media (max-width:900px){
  .em-contact .contact-entries{grid-template-columns:1fr}
  .em-contact .msg-in{grid-template-columns:1fr;gap:28px}
  .em-contact .steps3{grid-template-columns:1fr}
  .em-contact .faq-grid{grid-template-columns:1fr}
}
/* Téléphone : réglages fins + suppression des blocs latéraux (README maquette) */
@media (max-width:720px){
  .em-contact .frow{grid-template-columns:1fr}
  .em-contact .side{display:none}
  .em-contact .form-send{width:100%}
  .em-contact .process-foot{flex-direction:column;align-items:flex-start;gap:10px}
  .em-contact .process-foot .pf-dot{display:none}
}
