/*
Theme Name: English Job Maze
Theme URI: https://englishjobmaze.com
Author: Seobooster LTD
Description: Le mur et la plaque — signalétique bilingue de l'emploi en anglais pour candidats francophones.
Version: 1.0.0
Text Domain: english-job-maze
*/

/* ==========================================================================
   ENGLISH JOB MAZE — « LE MUR ET LA PLAQUE »
   Le motif : deux murs à angle droit + une sortie fluo. L'anglais se compose
   TOUJOURS sur une plaque sombre (Overpass capitales) ; le français se compose
   TOUJOURS sur le mur clair (Piazzolla). Le surligneur #CBE800 est le seul
   colorant du site : aplat sous l'encre sur le mur, encre sur la plaque.
   La plaque reste sombre dans les DEUX thèmes — voir §1.
   ========================================================================== */

/* ---------- 0. POLICES AUTO-HÉBERGÉES (P-086) ---------------------------
   ⚠️ Les fichiers binaires .woff2 ne sont PAS déposés par ce designer (aucun
   outil réseau/Bash disponible dans ce chantier) : ces @font-face pointent
   vers les chemins attendus, à servir par l'orchestrateur avant publication.
   Pile de repli réelle en attendant : system-ui / Georgia. Voir le compte
   rendu de fin de tâche pour le détail exact des poids à fournir.       --- */
@font-face{
  font-family:'Overpass';
  src:url('assets/fonts/overpass-400.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Overpass';
  src:url('assets/fonts/overpass-600.woff2') format('woff2');
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Overpass';
  src:url('assets/fonts/overpass-800.woff2') format('woff2');
  font-weight:800;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Piazzolla';
  src:url('assets/fonts/piazzolla-400.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Piazzolla';
  src:url('assets/fonts/piazzolla-400-italic.woff2') format('woff2');
  font-weight:400;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'Piazzolla';
  src:url('assets/fonts/piazzolla-500.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Piazzolla';
  src:url('assets/fonts/piazzolla-700.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
}

/* ---------- 1. JETONS DE COULEUR — clair ET sombre (P-110) --------------- */
:root{
  --mur:#DCE0E6;
  --plaque:#161A22;       /* toujours sombre, dans les deux thèmes */
  --feuille:#1F2530;      /* surface surélevée en mode sombre */
  --encre:#12151B;        /* texte fixe sur le mur clair */
  --encre-2:#4A5260;
  --lettre:#EDEFF2;       /* texte fixe sur la plaque, et texte courant sombre */
  --surligneur:#CBE800;   /* accent unique, ne change JAMAIS de teinte */
  --filet:#A9B0BC;

  --fond:var(--mur);
  --surface:var(--mur);          /* fond des cartes : plat en clair */
  --texte:var(--encre);
  --texte-2:var(--encre-2);
  --plaque-liseret:transparent;  /* le filet fluo qui distingue la plaque du fond */

  --police-titre:'Overpass','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --police-texte:'Piazzolla',Georgia,'Times New Roman',serif;
  --rayon:0;
  --barre-h:64px;
  --barre-h-mobile:56px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --mur:#161A22;
    --surface:var(--feuille);
    --filet:#333B48;
    --fond:var(--mur);
    --texte:var(--lettre);
    --texte-2:#AEB6C2;
    --plaque-liseret:var(--surligneur);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --mur:#161A22;
  --surface:var(--feuille);
  --filet:#333B48;
  --fond:var(--mur);
  --texte:var(--lettre);
  --texte-2:#AEB6C2;
  --plaque-liseret:var(--surligneur);
  color-scheme:dark;
}
:root[data-theme="light"]{
  --mur:#DCE0E6;
  --surface:var(--mur);
  --filet:#A9B0BC;
  --fond:var(--mur);
  --texte:var(--encre);
  --texte-2:var(--encre-2);
  --plaque-liseret:transparent;
  color-scheme:light;
}

/* ---------- 2. SOCLE VISUEL ----------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--texte);
  font-family:var(--police-texte);font-size:1.155rem;line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;height:auto;display:block}
img{border-radius:var(--rayon)}
a{color:var(--texte);text-decoration:underline;text-underline-offset:.2em;
  text-decoration-thickness:1px;
  background-image:linear-gradient(var(--surligneur),var(--surligneur));
  background-repeat:no-repeat;background-position:0 100%;background-size:0 .3em;
  transition:background-size .18s linear}
a:hover,a:focus-visible{text-decoration:none;background-size:100% .3em}
:focus-visible{outline:2px solid var(--surligneur);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--police-titre);font-weight:800;margin:0;
  line-height:1.06;letter-spacing:-.015em;text-wrap:balance;color:var(--texte)}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer}
.ejm-oeil{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ejm-oeil:focus{left:1rem;top:.6rem;width:auto;height:auto;z-index:99;
  padding:.6rem 1rem;background:var(--plaque);color:var(--lettre);border-radius:0}
.ejm-enveloppe{width:min(1280px,100% - 40px);margin-inline:auto}
@media (max-width:700px){.ejm-enveloppe{width:min(100% - 40px,100%)}}

/* ---------- 3. LA LANGUE COMMANDE LA POLICE (procédé fondateur) ---------- */
.en{display:inline-block;background:var(--plaque);color:var(--lettre);
  font-family:var(--police-titre);font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;font-size:clamp(.8rem,.75rem + .2vw,.875rem);
  padding:.28em .5em;border-top:2px solid var(--plaque-liseret)}
.en--surligne{color:var(--surligneur)}
.decode{position:relative;display:block;padding-left:1.3em;
  font-family:var(--police-texte);font-style:italic;color:var(--texte-2)}
.decode::before{content:"";position:absolute;left:0;top:.32em;width:9px;height:9px;
  background-color:var(--texte-2);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='butt'%3E%3Cpath d='M4 29V4H28V17'/%3E%3Cpath d='M13 29V13H21'/%3E%3Cpath d='M21 25H31'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='butt'%3E%3Cpath d='M4 29V4H28V17'/%3E%3Cpath d='M13 29V13H21'/%3E%3Cpath d='M21 25H31'/%3E%3C/svg%3E") no-repeat center/contain}
.ejm-mot-mur{background:var(--surligneur);color:#12151B;padding:.02em .18em}
.ejm-mot-plaque{color:var(--surligneur);font-style:normal}
.montant{font-family:var(--police-titre);font-weight:800;
  font-variant-numeric:lining-nums tabular-nums}

/* ---------- 4. LE GLYPHE D'ANGLE — seul pictogramme du site --------------- */
.ejm-glyphe{width:1em;height:1em;stroke-width:4;fill:none;flex:0 0 auto;
  transform-box:fill-box;transform-origin:center}
.ejm-glyphe-mur{stroke:currentColor}
.ejm-glyphe-sortie{stroke:var(--surligneur)}
.ejm-glyphe--90{transform:rotate(90deg)}
.ejm-glyphe--180{transform:rotate(180deg)}
.ejm-glyphe--270{transform:rotate(270deg)}
.ejm-glyphe--0m{transform:scaleX(-1)}
.ejm-glyphe--90m{transform:rotate(90deg) scaleX(-1)}

/* ---------- 5. BOUTONS ----------------------------------------------------- */
.ejm-bouton{display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--police-titre);font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;font-size:.85rem;padding:.75em 1.3em;border-radius:0;
  text-decoration:none;background-image:none}
.ejm-bouton--pleine{background:var(--plaque);color:var(--surligneur);
  border-top:2px solid var(--plaque-liseret)}
.ejm-bouton--pleine:hover{color:var(--lettre);text-decoration:none}
.ejm-bouton--filaire{border:1px solid var(--filet);color:var(--texte)}
.ejm-bouton--filaire:hover{border-color:var(--surligneur);text-decoration:none}

/* ---------- 6. EN-TÊTE (une seule ligne, 1440 comme 390) ------------------ */
.ejm-entete{position:sticky;top:0;z-index:60;background:var(--fond);
  border-bottom:1px solid var(--filet)}
.ejm-entete-in{width:min(1280px,100% - 40px);margin-inline:auto;
  min-height:var(--barre-h);display:flex;align-items:center;gap:1.6rem}
.ejm-marque{display:flex;align-items:center;gap:10px;text-decoration:none;
  background-image:none}
.ejm-marque:hover{text-decoration:none}
.ejm-marque-symbole{width:26px;height:26px;color:var(--texte)}
.ejm-marque-mots{display:flex;flex-direction:column;line-height:1.1}
.ejm-marque-mot{font-family:var(--police-titre);font-weight:800;font-size:17px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--texte)}
.ejm-marque-base{font-family:var(--police-texte);font-style:italic;
  font-size:11.5px;letter-spacing:0;color:var(--texte-2);margin-top:.15rem}
.ejm-nav{display:flex;align-items:center;gap:1.4rem;margin-inline:auto}
.ejm-nav a{display:flex;align-items:center;gap:.4rem;
  font-family:var(--police-titre);font-weight:600;font-size:13px;
  text-transform:uppercase;letter-spacing:.06em;color:var(--texte);
  background-size:0 .22em;white-space:nowrap}
.ejm-nav a .ejm-glyphe{display:none;width:.85em;height:.85em}
.ejm-nav a.est-actif .ejm-glyphe{display:inline-block}
.ejm-nav a.est-actif{color:var(--texte)}
.ejm-cta-entete{margin-left:auto;flex:0 0 auto}
.ejm-burger{display:none;background:none;border:1px solid var(--filet);
  padding:.5em .6em}
.ejm-burger span{display:block;width:18px;height:2px;background:var(--texte);
  margin:3px 0}
.ejm-menu-mobile{display:none}

@media (max-width:960px){
  .ejm-entete-in{min-height:var(--barre-h-mobile)}
  .ejm-marque-base{display:none}
  .ejm-marque-mot{font-size:15px}
  .ejm-nav{display:none}
  .ejm-cta-entete .ejm-bouton{display:none}
  .ejm-burger{display:flex;align-items:center;margin-left:auto}
  .ejm-menu-mobile{display:block;position:fixed;inset:var(--barre-h-mobile) 0 0 0;
    z-index:59;background:var(--plaque);color:var(--lettre);
    transform:translateY(-8px);opacity:0;pointer-events:none;
    transition:opacity .16s linear,transform .16s linear;overflow-y:auto}
  .ejm-menu-mobile.est-ouvert{opacity:1;transform:translateY(0);pointer-events:auto}
  .ejm-menu-mobile a{display:flex;align-items:center;gap:.8rem;
    padding:1.1rem 1.4rem;font-family:var(--police-titre);font-weight:600;
    font-size:22px;text-transform:uppercase;letter-spacing:.04em;
    color:var(--lettre);border-bottom:1px solid #262d38;background-image:none}
  .ejm-menu-mobile a .ejm-glyphe{color:var(--lettre)}
  .ejm-menu-mobile .ejm-bouton{margin:1.2rem 1.4rem}
}
@media (max-width:420px){
  .ejm-marque-mot{font-size:13px;letter-spacing:.08em}
  .ejm-marque-symbole{width:22px;height:22px}
}

/* ---------- 7. HERO -------------------------------------------------------- */
.ejm-hero{padding-block:2.6rem}
.ejm-hero-in{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);
  gap:2.4rem;align-items:center;min-height:calc(78vh - var(--barre-h))}
.ejm-hero-plaque{max-width:34ch}
.ejm-hero-decode{margin-top:.8rem;font-size:1.05rem;line-height:1.55;max-width:38ch}
.ejm-hero-titre{margin-top:1.3rem;
  font-size:clamp(2.15rem,1.1rem + 4vw,4rem);line-height:1.03}
.ejm-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;
  margin-top:1.6rem}
.ejm-hero-photo{position:relative;margin:0;height:100%;min-height:340px}
.ejm-hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.94)}
.ejm-cartouche{position:absolute;left:0;bottom:0;background:var(--plaque);
  color:var(--lettre);padding:.6em .8em;font-family:var(--police-titre);
  font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;
  border-top:2px solid var(--plaque-liseret)}
@media (max-width:960px){
  .ejm-hero{padding-block:1.6rem}
  .ejm-hero-in{grid-template-columns:minmax(0,1fr);min-height:0}
  .ejm-hero-photo{order:-1;aspect-ratio:4/3;min-height:0}
}

/* ---------- 8. MANIFESTE (§3) ---------------------------------------------- */
.ejm-manifeste{padding-block:2.4rem}
.ejm-manifeste-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.6rem;margin-top:1.2rem}
.ejm-manifeste-paire .decode{margin-top:.7rem}
@media (max-width:820px){.ejm-manifeste-grille{grid-template-columns:minmax(0,1fr)}}

/* ---------- 9. TUILES DE NOMBRES -------------------------------------------- */
.ejm-tuiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--filet)}
.ejm-tuile{background:var(--plaque);color:var(--lettre);--texte:var(--lettre);--texte-2:#C7CDD8;padding:1.4rem 1.2rem;
  border-top:2px solid var(--plaque-liseret)}
.ejm-tuile b{display:block;font-family:var(--police-titre);font-weight:800;
  font-size:clamp(2.8rem,1.4rem + 5vw,4.6rem);line-height:1;color:var(--surligneur);
  font-variant-numeric:lining-nums tabular-nums}
.ejm-tuile span{display:block;margin-top:.4rem;font-family:var(--police-titre);
  font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:700px){.ejm-tuiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- 10. CARTES (rubriques, guides, liés — un seul patron) --------- */
.ejm-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.ejm-grille--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ejm-carte{border:1px solid var(--filet);display:flex;flex-direction:column;
  min-width:0;background-image:none}
.ejm-carte-photo{position:relative;aspect-ratio:16/10;overflow:hidden;margin:0}
.ejm-carte-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.94);
  transition:filter .2s linear}
.ejm-carte:hover .ejm-carte-photo img{filter:saturate(0)}
.ejm-carte:hover{border-color:var(--surligneur)}
.ejm-carte-etiquette{position:absolute;left:0;bottom:0;background:var(--plaque);
  color:var(--lettre);padding:.5em .7em;font-family:var(--police-titre);
  font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;
  display:flex;align-items:center;gap:.4em;border-top:2px solid var(--plaque-liseret)}
.ejm-carte-etiquette .ejm-glyphe{color:var(--lettre);width:.9em;height:.9em}
.ejm-carte-corps{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;
  gap:.5rem;flex:1}
.ejm-carte-corps h3{font-size:clamp(1.18rem,1rem + .3vw,1.28rem);line-height:1.2}
.ejm-carte-corps h3 a{color:var(--texte);background-image:none;text-decoration:none}
.ejm-carte-corps h3 a:hover{text-decoration:underline;text-decoration-color:var(--surligneur)}
.ejm-carte-chapo{font-size:clamp(1.095rem,1rem + .2vw,1.02rem);color:var(--texte-2);
  line-height:1.5}
.ejm-carte-meta{margin-top:auto;font-family:var(--police-titre);font-size:.75rem;
  text-transform:uppercase;letter-spacing:.05em;color:var(--texte-2)}
@media (max-width:960px){.ejm-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ejm-grille,.ejm-grille--2{grid-template-columns:minmax(0,1fr)}}

/* ---------- 11. LES 6 COULOIRS ---------------------------------------------- */
.ejm-couloirs{padding-block:2.4rem;scroll-margin-top:calc(var(--barre-h) + 12px)}
.ejm-couloirs-tete{max-width:60ch;margin-bottom:1.4rem}

/* ---------- 12. BANDE « LES MURS QU'ON NE VOIT PAS » ------------------------ */
.ejm-impasses{background:var(--plaque);color:var(--lettre);--texte:var(--lettre);--texte-2:#C7CDD8;padding-block:2.4rem;
  border-top:2px solid var(--plaque-liseret)}
.ejm-impasses-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;margin-top:1.2rem}
.ejm-impasse{padding:1.1rem 1.4rem 1.1rem 0;border-right:3px solid var(--lettre);
  margin-right:1.4rem;margin-bottom:1.1rem}
.ejm-impasse .en{background:none;padding:0;border-top:0;color:var(--surligneur);
  display:block}
.ejm-impasse p{margin-top:.5rem;font-family:var(--police-texte);font-style:italic;
  color:#C7CDD8}
@media (max-width:820px){
  .ejm-impasses-grille{grid-template-columns:minmax(0,1fr)}
  .ejm-impasse{border-right:0;border-bottom:3px solid var(--lettre);
    margin-right:0;padding:0 0 1.1rem}
}

/* ---------- 13. DERNIERS GUIDES --------------------------------------------- */
.ejm-guides{padding-block:2.4rem}

/* ---------- 14. BARÈME À TROIS DEVISES -------------------------------------- */
.ejm-bareme{padding-block:2.4rem;border-top:1px solid var(--filet)}
.ejm-bareme-scroll{overflow-x:auto;margin-top:1.2rem}
.ejm-bareme table{width:100%;border-collapse:collapse;min-width:560px}
.ejm-bareme th,.ejm-bareme td{padding:.7rem .9rem;text-align:left;
  border-bottom:1px solid var(--filet)}
.ejm-bareme thead th{font-family:var(--police-titre);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.06em;color:var(--texte-2)}
.ejm-bareme-note{margin-top:.8rem;font-size:.85rem;color:var(--texte-2)}
.ejm-bareme-note a{color:var(--texte-2)}

/* ---------- 15. BLOC LEAD --------------------------------------------------- */
.ejm-lead{background:var(--plaque);color:var(--lettre);--texte:var(--lettre);--texte-2:#C7CDD8;padding-block:2.6rem;
  border-top:2px solid var(--plaque-liseret);scroll-margin-top:calc(var(--barre-h) + 12px)}
.ejm-lead-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);
  gap:2.4rem;align-items:start}
.ejm-lead-titre{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.2rem)}
.ejm-lead-promesse{margin-top:.7rem;font-family:var(--police-texte);
  font-style:italic;color:#C7CDD8;max-width:44ch}
.ejm-lead-form{display:grid;gap:.9rem}
.ejm-lead-form label{display:block;font-family:var(--police-titre);
  font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--lettre);margin-bottom:.35rem}
.ejm-lead-form input,.ejm-lead-form textarea{width:100%;background:var(--feuille);
  border:1px solid #333B48;color:var(--lettre);padding:.7em .8em;
  font-family:var(--police-texte);font-size:1rem;border-radius:0}
.ejm-lead-form textarea{min-height:96px;resize:vertical}
.ejm-lead-form :focus-visible{outline:2px solid var(--surligneur);outline-offset:2px}
.ejm-piege{position:absolute;left:-9999px}
.ejm-lead-envoye{margin-top:1rem;font-family:var(--police-titre);font-size:.85rem;
  color:var(--surligneur)}
@media (max-width:820px){.ejm-lead-in{grid-template-columns:minmax(0,1fr)}}

/* ---------- 16. PIED DE PAGE DENSE ------------------------------------------ */
.ejm-pied{background:var(--plaque);color:var(--lettre);--texte:var(--lettre);--texte-2:#C7CDD8;border-top:2px solid var(--plaque-liseret)}
.ejm-pied-grille{display:grid;grid-template-columns:1.3fr 1fr 1.3fr 1fr;gap:2.2rem;
  padding-block:2.4rem}
.ejm-pied-marque{display:flex;align-items:center;gap:10px;text-decoration:none;
  background-image:none}
.ejm-pied-marque .ejm-marque-symbole{color:var(--lettre)}
.ejm-pied-marque .ejm-marque-mot{color:var(--lettre)}
.ejm-pied-baseline{font-family:var(--police-texte);font-style:italic;
  font-size:.85rem;color:#AEB6C2;margin-top:.6rem}
.ejm-pied-texte{margin-top:.9rem;font-size:.9rem;color:#AEB6C2;line-height:1.55}
.ejm-pied h2{font-family:var(--police-titre);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.08em;color:#AEB6C2;margin-bottom:.9rem}
.ejm-pied ul li{margin-bottom:.55rem}
.ejm-pied ul a{color:var(--lettre);background-image:none;text-decoration:none}
.ejm-pied ul a:hover{text-decoration:underline;text-decoration-color:var(--surligneur)}
.ejm-lex-liste dl{margin:0}
.ejm-lex-ligne{display:flex;justify-content:space-between;gap:1rem;
  padding:.5rem 0;border-bottom:1px solid #262d38;font-size:.9rem}
.ejm-lex-ligne dt{font-family:var(--police-titre);font-weight:600;
  text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}
.ejm-lex-ligne dd{margin:0;font-family:var(--police-texte);font-style:italic;
  color:#AEB6C2;text-align:right}
.ejm-ours-fond{border-top:1px solid var(--surligneur)}
.ejm-ours{display:flex;justify-content:space-between;align-items:center;
  gap:1rem;flex-wrap:wrap;padding-block:1rem 1.4rem;
  font-size:.78rem;color:#AEB6C2}
@media (max-width:960px){.ejm-pied-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem}}
@media (max-width:520px){.ejm-pied-grille{grid-template-columns:minmax(0,1fr)}}

/* ---------- 17. ARTICLE ----------------------------------------------------- */
.ejm-article{padding-block:1.6rem 2.6rem}
.ejm-fil{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  font-family:var(--police-titre);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--texte-2);margin-bottom:1.1rem}
.ejm-fil a{color:var(--texte-2);background-image:none}
.ejm-fil .ejm-glyphe{width:.8em;height:.8em;color:var(--texte-2)}
.ejm-une{position:relative;margin:0 0 1.6rem;aspect-ratio:21/9}
.ejm-une img{width:100%;height:100%;object-fit:cover;filter:saturate(.94)}
.ejm-une .ejm-cartouche{font-size:.85rem}
.ejm-art-titre{font-size:clamp(1.95rem,1rem + 3.5vw,2.95rem);line-height:1.06}
.ejm-art-chapo{font-family:var(--police-texte);font-weight:500;
  font-size:clamp(1.12rem,1rem + .5vw,1.3rem);line-height:1.5;color:var(--texte-2);
  margin-top:.8rem;max-width:68ch}
.ejm-auteur-ligne{display:flex;align-items:center;gap:.8rem;margin-top:1.3rem;
  padding-top:1.1rem;border-top:1px solid var(--filet)}
.ejm-auteur-photo{width:34px;height:34px;border-radius:50%;object-fit:cover}
.ejm-auteur-nom{font-family:var(--police-titre);font-weight:600;font-size:.9rem}
.ejm-auteur-meta{font-size:.8rem;color:var(--texte-2)}
.ejm-art-corps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,240px);
  gap:2.4rem;margin-top:1.8rem;align-items:start}
.ejm-sommaire{order:2;position:sticky;top:calc(var(--barre-h) + 16px);
  border-left:2px solid var(--filet);padding-left:1rem}
.ejm-sommaire p{font-family:var(--police-titre);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.08em;color:var(--texte-2);margin-bottom:.7rem}
.ejm-sommaire li{position:relative;margin-bottom:.55rem}
.ejm-sommaire a{display:flex;align-items:flex-start;gap:.5rem;font-size:.88rem;
  line-height:1.35;color:var(--texte);background-image:none}
.ejm-sommaire .ejm-glyphe{margin-top:.15rem;flex:0 0 auto}
.ejm-sommaire li.est-ici .ejm-glyphe .ejm-glyphe-mur{stroke:var(--surligneur)}
.ejm-corps{max-width:680px;font-size:clamp(1.095rem,1rem + .2vw,1.155rem);
  line-height:1.62}
.ejm-corps p{margin:0 0 1.2rem}
.ejm-corps h2{font-size:clamp(1.42rem,1rem + 1.6vw,1.85rem);line-height:1.18;
  margin:2rem 0 .8rem;scroll-margin-top:calc(var(--barre-h) + 16px)}
.ejm-corps h3{font-size:clamp(1.18rem,1rem + .7vw,1.4rem);margin:1.4rem 0 .5rem}
.ejm-corps ul{margin:0 0 1.2rem}
.ejm-corps ul li{position:relative;padding-left:1.2rem;margin-bottom:.5rem}
.ejm-corps ul li::before{content:"";position:absolute;left:0;top:.35em;
  width:.55em;height:.55em;border-left:2px solid var(--surligneur);
  border-bottom:2px solid var(--surligneur)}
.ejm-corps ol{list-style:decimal;margin:0 0 1.2rem;padding-left:1.4rem}
.ejm-corps ol li{margin-bottom:.5rem}
.ejm-corps a{text-decoration-color:var(--surligneur)}
.ejm-corps blockquote{margin:1.8rem 0;background:var(--plaque);color:var(--lettre);
  border-left:3px solid var(--surligneur);padding:1rem 1.3rem}
.ejm-corps blockquote p{margin:0}
.ejm-corps blockquote p + p{margin-top:.7rem}
.ejm-corps figure{margin:1.6rem 0}
.ejm-corps figcaption{font-size:.8rem;color:var(--texte-2);margin-top:.5rem}
.ejm-corps img{margin:1.4rem 0}
.sbs_tableau{overflow-x:auto;margin:1.6rem 0}
.sbs_tableau table{width:100%;min-width:520px;border-collapse:collapse;font-size:.92em}
.sbs_tableau th,.sbs_tableau td{padding:.6rem .8rem;text-align:left;
  border-bottom:1px solid var(--filet)}
.sbs_tableau thead th{font-family:var(--police-titre);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.06em;color:var(--texte-2)}
.ejm-liees{margin-top:2.2rem;padding-top:1.8rem;border-top:1px solid var(--filet)}
.ejm-liees h2{font-family:var(--police-titre);font-size:.85rem;
  text-transform:uppercase;letter-spacing:.06em;color:var(--texte-2);margin-bottom:1.1rem}
.ejm-partage{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.ejm-signature{display:flex;gap:1rem;margin-top:1.8rem;padding-top:1.4rem;
  border-top:1px solid var(--filet)}
.ejm-signature img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.ejm-signature-nom{font-family:var(--police-titre);font-weight:700;font-size:1rem}
.ejm-signature-bio{font-size:.88rem;color:var(--texte-2);margin-top:.3rem;line-height:1.5}
.ejm-signature-date{font-size:.78rem;color:var(--texte-2);margin-top:.4rem;
  font-family:var(--police-titre);text-transform:uppercase;letter-spacing:.04em}
@media (max-width:900px){
  .ejm-art-corps{grid-template-columns:minmax(0,1fr)}
  .ejm-sommaire{order:0;position:static;border-left:0;border-top:2px solid var(--filet);
    padding-left:0;padding-top:1rem;margin-bottom:1.4rem}
}

/* ---------- 18. GABARIT RUBRIQUE -------------------------------------------- */
.ejm-rubrique-tete{background:var(--plaque);color:var(--lettre);
  padding-block:2.4rem;border-top:2px solid var(--plaque-liseret)}
.ejm-rubrique-titre{display:flex;align-items:center;gap:.9rem;
  font-size:clamp(1.8rem,1.2rem + 2.6vw,3rem);text-transform:uppercase;
  letter-spacing:.04em}
.ejm-rubrique-titre .ejm-glyphe{color:var(--lettre);width:.85em;height:.85em}
.ejm-rubrique-chapo{margin-top:.8rem;font-family:var(--police-texte);
  font-style:italic;color:#C7CDD8;max-width:60ch}
.ejm-rubrique-compte{margin-top:1rem;font-family:var(--police-titre);
  font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#AEB6C2}
.ejm-rubrique-corps{padding-block:2.2rem}
.ejm-pagination{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2rem}
.ejm-pagination a,.ejm-pagination span{display:flex;align-items:center;
  justify-content:center;width:40px;height:40px;border:1px solid var(--filet);
  font-family:var(--police-titre);font-weight:600;font-size:.85rem;
  text-decoration:none;background-image:none}
.ejm-pagination .current{background:var(--surligneur);color:var(--plaque);
  border-color:var(--surligneur)}

/* ---------- 19. PAGES GÉNÉRIQUES, RECHERCHE, 404 ---------------------------- */
.ejm-page{padding-block:2.4rem 3rem}
.ejm-page-titre{font-size:clamp(1.95rem,1rem + 3vw,2.6rem)}
.ejm-page-corps{max-width:680px;margin-top:1.4rem;font-size:1.1rem;line-height:1.62}
.ejm-page-corps p{margin:0 0 1.1rem}
.ejm-recherche-form{display:flex;gap:.6rem;max-width:520px;margin-top:1rem}
.ejm-recherche-form input{flex:1;padding:.7em .9em;border:1px solid var(--filet);
  background:var(--surface);color:var(--texte);font:inherit;border-radius:0}
.ejm-recherche-form button{padding:.7em 1.1em;background:var(--plaque);
  color:var(--surligneur);border:0;font-family:var(--police-titre);
  font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}
.ejm-vide{margin-top:1.6rem;color:var(--texte-2)}
.ejm-404-liste{margin-top:1.6rem;display:grid;gap:.7rem}
.ejm-404-liste a{display:flex;align-items:center;gap:.6rem}

/* ---------- 20. ACCESSIBILITÉ / IMPRESSION ---------------------------------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.001ms!important;
    animation-duration:.001ms!important;scroll-behavior:auto!important}
}
[hidden]{display:none!important}
