:root{--elv-nuit:#24111b;--elv-nuit-moyen:#32191f;--elv-nuit-clair:#5a303b;--elv-fond:#e8a9df;--elv-encart:#fcbfcd;--elv-encart-survol:#f2b4d6;--elv-mot:#d394b7;--elv-bord:#9e6371;--elv-bord-fin:#c98ac0;--elv-gris:#40203b;--elv-doux:#66385f;--elv-ocre:#4d283c}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--elv-fond);color:#110810;font-family:'Be Vietnam Pro',system-ui,sans-serif;font-size:15.5px;line-height:1.65}
h1,h2,h3{font-family:'Gelasio',Georgia,serif;font-weight:700;letter-spacing:-.015em;line-height:1.24}
img{max-width:100%;display:block}
a{color:var(--elv-nuit);text-decoration:none}
a:hover{color:var(--elv-nuit-clair)}
.elv-cadre{max-width:1140px;margin:0 auto;padding:0 18px}

/* barre de tete */
.elv-bandeau{background:var(--elv-nuit);color:var(--elv-encart);padding:14px 0}
.elv-bandeau .elv-cadre{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.elv-enseigne{font-weight:700;font-size:1.18rem;color:var(--elv-encart);letter-spacing:-.02em}
.elv-enseigne-fin{color:var(--elv-nuit-clair)}
.elv-voies{min-width:0}
.elv-voie{color:#945a7a;font-size:.87rem;margin-left:19px}
.elv-voie:hover{color:var(--elv-encart)}

/* bandeau d'accroche */
.elv-accroche{background:var(--elv-encart);border-bottom:1px solid var(--elv-bord);padding:32px 0 28px}
.elv-titre{font-size:clamp(1.45rem,3.2vw,1.72rem);margin-bottom:12px;max-width:40rem}
.elv-chapo{color:var(--elv-gris);max-width:46rem;margin-bottom:10px}
.elv-reperes{display:flex;flex-wrap:wrap;gap:22px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--elv-bord)}
.elv-repere{font-size:.87rem;color:var(--elv-gris)}
.elv-repere b{color:var(--elv-nuit);font-weight:700}

/* rangee de rubriques */
.elv-barre-rubriques{background:var(--elv-fond);border-bottom:1px solid var(--elv-bord);padding:14px 0}
.elv-rubriques{display:flex;flex-wrap:wrap;gap:7px}
.elv-rubrique{background:var(--elv-encart);border:1px solid var(--elv-bord);border-radius:14px;padding:4px 13px;font-size:.81rem;color:var(--elv-gris)}
.elv-rubrique:hover,.elv-rubrique-active{background:var(--elv-nuit);border-color:var(--elv-nuit);color:var(--elv-encart)}

/* grille 8/4 */
.elv-grille{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:22px;padding:22px 0 10px;align-items:start}

/* liste d'entrees */
.elv-bloc-liste{background:var(--elv-encart);border:1px solid var(--elv-bord);border-radius:5px;margin-bottom:18px}
.elv-entete-liste{padding:12px 18px;border-bottom:1px solid var(--elv-bord);font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--elv-doux);font-weight:600}
.elv-bloc-fiche{display:flex;gap:18px;padding:20px 18px;border-bottom:1px solid var(--elv-bord-fin)}
.elv-bloc-fiche:last-child{border-bottom:0}
.elv-bloc-fiche:hover{background:var(--elv-encart-survol)}
.elv-vignette{flex:0 0 172px;min-width:0}
.elv-vignette img{border:1px solid var(--elv-bord);border-radius:4px}
.elv-vignette-vide{aspect-ratio:16/10;border:1px dashed var(--elv-bord);border-radius:4px;background:var(--elv-mot);display:flex;align-items:center;justify-content:center;font-family:'Be Vietnam Pro',system-ui,sans-serif;font-weight:700;font-size:1.6rem;color:var(--elv-nuit)}
.elv-contenu-fiche{flex:1;min-width:0}
.elv-nom-fiche{font-size:1.04rem;font-weight:700;margin:0 0 4px}
.elv-nom-fiche a{color:#110810}
.elv-nom-fiche a:hover{color:var(--elv-nuit-clair)}
.elv-meta-fiche{font-size:.78rem;color:var(--elv-doux);margin-bottom:8px}
.elv-mots{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}
.elv-mots span{background:var(--elv-mot);color:var(--elv-gris);font-size:.74rem;padding:2px 8px;border-radius:3px}
.elv-resume-fiche{font-size:.91rem;color:var(--elv-gris);margin:0 0 12px}
.elv-lien-fiche{display:inline-block;background:var(--elv-nuit);color:var(--elv-encart);font-size:.83rem;font-weight:600;padding:7px 16px;border-radius:4px}
.elv-lien-fiche:hover{background:var(--elv-nuit-moyen);color:var(--elv-encart)}
.elv-lien-fiche:after{content:" \2192"}

/* colonne laterale */
.elv-panneau{background:var(--elv-encart);border:1px solid var(--elv-bord);border-radius:5px;padding:17px;margin-bottom:16px}
.elv-panneau-titre{font-size:.77rem;text-transform:uppercase;letter-spacing:.09em;color:var(--elv-doux);font-weight:600;margin-bottom:12px}
.elv-panneau-liste{list-style:none;font-size:.89rem}
.elv-panneau-liste li{padding:6px 0;border-bottom:1px solid #de9eae;display:flex;justify-content:space-between;gap:10px}
.elv-panneau-liste li:last-child{border-bottom:0}
.elv-panneau-liste a{color:var(--elv-gris)}
.elv-panneau-liste a:hover{color:var(--elv-nuit)}
.elv-compte{color:#7d4956;font-size:.8rem;flex:0 0 auto}
.elv-methode{background:var(--elv-mot);border:1px solid #a96ca0;border-radius:5px;padding:17px;font-size:.87rem;color:var(--elv-gris)}
.elv-methode-titre{font-size:.77rem;text-transform:uppercase;letter-spacing:.09em;color:var(--elv-nuit);font-weight:600;margin-bottom:10px}
.elv-methode ol{padding-left:17px}
.elv-methode li{margin-bottom:7px}
.elv-methode li:last-child{margin-bottom:0}

/* corps redige */
.elv-texte{background:var(--elv-encart);border:1px solid var(--elv-bord);border-radius:5px;padding:24px 26px;margin-bottom:18px}
.elv-texte p{margin-bottom:1.15rem;color:var(--elv-gris)}
.elv-texte p:last-child{margin-bottom:0}
.elv-titre-section{font-size:1.2rem;margin:1.7rem 0 .5rem;color:#110810}
.elv-sous-titre{font-size:1.02rem;margin:1.3rem 0 .35rem;color:var(--elv-ocre)}
.elv-figure{margin:0 0 20px;max-width:26rem}
.elv-figure img{border:1px solid var(--elv-bord);border-radius:4px}
.elv-legende{font-size:.78rem;color:var(--elv-doux);margin-top:7px}
.elv-definition{list-style:none;border-top:1px solid var(--elv-bord);margin:0 0 22px}
.elv-ligne{display:grid;grid-template-columns:12rem 1fr;gap:14px;padding:9px 0;border-bottom:1px solid var(--elv-bord)}
.elv-terme{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--elv-doux);padding-top:3px}
.elv-sens{color:var(--elv-gris)}
.elv-points{list-style:none;margin:0 0 1.15rem}
.elv-points li{position:relative;padding-left:18px;margin-bottom:6px;color:var(--elv-gris)}
.elv-points li:before{content:"\00B7";position:absolute;left:5px;color:var(--elv-nuit-clair);font-weight:700}
.elv-note-fin{background:var(--elv-mot);border:1px solid #a96ca0;border-radius:5px;padding:20px 22px;margin-bottom:18px}
.elv-note-fin h2{font-size:1.06rem;margin-bottom:8px}
.elv-note-fin p{color:var(--elv-gris);margin:0}
.elv-routes{list-style:none}
.elv-routes li{padding:10px 0;border-bottom:1px solid var(--elv-bord)}

.elv-pied{background:#110810;color:#71405b;font-size:.85rem;padding:28px 0;margin-top:30px}
.elv-pied-ligne{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.elv-pied-lien{color:#945a7a}

@media(max-width:940px){
.elv-grille{grid-template-columns:1fr}
/* Sans min-width:0 et sans retour à la ligne, les libellés de navigation alignés par marge
   gauche poussent le document au-delà du viewport sur un téléphone : un élément flex ne se
   réduit pas sous la largeur de son contenu, et toute la page défile de côté. */
.elv-voies{flex:1 1 100%;min-width:0}
.elv-voie{margin:0 16px 0 0;display:inline-block}
}
@media(max-width:620px){
.elv-bloc-fiche{flex-direction:column;gap:12px}
.elv-vignette{flex:1 1 auto}
.elv-ligne{grid-template-columns:1fr;gap:2px}
}
/* Mesuré au navigateur à 375 px : au-delà de deux lignes, un intitulé de section ne se lit
   plus d'un coup d'œil. La taille cède avant l'intitulé, qui porte du sens. */
@media(max-width:480px){
.elv-titre{font-size:1.3rem}
.elv-titre-section{font-size:1.08rem}
.elv-texte{padding:18px 16px}
}