:root {
  color-scheme: light dark;
  --fond: #f3f0e9;
  --papier: #fbfaf6;
  --encre: #171916;
  --secondaire: #5d625b;
  --ligne: #c9c9c0;
  --accent: #164f45;
  --accent-clair: #dce9e4;
  --ocre: #9a542f;
  --ocre-clair: #efe0d2;
  --bleu-nuit: #172b33;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--encre);
  background:
    linear-gradient(90deg, transparent 0 49.9%, color-mix(in srgb, var(--ligne) 16%, transparent) 50%, transparent 50.1%) 0 0 / 14rem 14rem,
    var(--fond);
}
a { color: inherit; }
.evitement { position: fixed; top: .75rem; left: .75rem; z-index: 20; padding: .75rem 1rem; color: var(--papier); background: var(--accent); font-weight: 800; text-decoration: none; transform: translateY(-200%); }
.evitement:focus { transform: translateY(0); }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--ocre); outline-offset: 4px; }
.entete {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1rem max(1.25rem, calc((100vw - 1160px) / 2));
  border-bottom: 1px solid var(--ligne);
  background: color-mix(in srgb, var(--fond) 92%, transparent);
  backdrop-filter: blur(12px);
}
.marque { font-weight: 800; letter-spacing: .04em; text-decoration: none; }
nav { display: flex; gap: 1.25rem; overflow-x: auto; }
nav a { color: var(--secondaire); font-size: .9rem; text-decoration: none; white-space: nowrap; }
nav a:hover { color: var(--encre); }
main { width: min(1160px, calc(100% - 2.5rem)); margin: 0 auto; }
.hero { min-height: 78vh; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(22rem, .65fr); align-items: center; gap: clamp(2.5rem, 5vw, 5.5rem); padding: 6rem 0; }
.hero-texte { position: relative; z-index: 1; }
.hero-visuel { position: relative; min-width: 0; margin: 0; aspect-ratio: 4 / 5; }
.hero-visuel::before { content: ""; position: absolute; inset: -.8rem .8rem .8rem -.8rem; z-index: -1; border: 1px solid var(--ligne); }
.hero-visuel img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 53% center; }
.surtitre { margin: 0 0 .8rem; color: var(--accent); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
h1 { max-width: 960px; margin: 0; font-family: var(--serif); font-size: clamp(3rem, 8vw, 7.2rem); font-weight: 500; letter-spacing: -.055em; line-height: .94; }
.promesse { max-width: 770px; margin: 2rem 0 0; color: var(--secondaire); font-family: var(--serif); font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.45; }
.section { padding: 7rem 0; border-top: 1px solid var(--ligne); scroll-margin-top: 5rem; }
h2 { max-width: 800px; margin: 0; font-family: var(--serif); font-size: clamp(2.3rem, 5vw, 4.5rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.introduction { max-width: 680px; margin: 1.5rem 0 3rem; color: var(--secondaire); font-size: 1.05rem; line-height: 1.6; }
.dossiers { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; max-width: 820px; }
.carte-dossier { min-height: 18rem; display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid var(--ligne); background: var(--papier); }
.carte-dossier .statut { align-self: start; margin: 0 0 auto; padding: .3rem .55rem; color: var(--accent); background: var(--accent-clair); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.carte-dossier h3 { margin: 2rem 0 .8rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.65rem; font-weight: 500; line-height: 1.1; }
.carte-dossier .question { margin: 0; color: var(--secondaire); line-height: 1.5; }
.meta-carte { margin: 1rem 0 0; color: var(--accent); font-size: .82rem; font-weight: 800; }
.lien-dossier { align-self: start; margin-top: 1.5rem; padding-bottom: .15rem; border-bottom: 1px solid currentColor; color: var(--accent); font-size: .88rem; font-weight: 800; text-decoration: none; }
.lien-dossier:hover { color: var(--encre); }
.a-venir { max-width: 820px; margin: 1.5rem 0 0; color: var(--secondaire); line-height: 1.6; }
.lien-suite, .renvoi-chapitre { display: inline-block; margin-top: 1.5rem; color: var(--accent); font-size: .88rem; font-weight: 800; text-underline-offset: .25rem; }
.grille-collections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 2.5rem 0; border: 1px solid var(--ligne); background: var(--ligne); }
.carte-collection { min-height: 34rem; display: flex; flex-direction: column; overflow: hidden; padding: 2rem; background: var(--papier); }
.motif-construction { --motif-principal: #35584c; --motif-secondaire: #bd7447; --motif-fond: #dce2d7; --motif-clair: #f4e8d6; }
.motif-traversee { --motif-principal: #2f4862; --motif-secondaire: #b86243; --motif-fond: #dce2e5; --motif-clair: #f1dfc9; }
.motif-circulations { --motif-principal: #285b59; --motif-secondaire: #b58a42; --motif-fond: #d9e5df; --motif-clair: #f0e4c8; }
.motif-ruptures { --motif-principal: #623f4c; --motif-secondaire: #bd5a3f; --motif-fond: #e6dad8; --motif-clair: #eee1ca; }
.motif-collection {
  position: relative;
  overflow: hidden;
  flex: none;
  background-color: var(--motif-fond);
  background-image: repeating-linear-gradient(135deg, transparent 0 13px, rgb(255 255 255 / .18) 13px 14px);
  isolation: isolate;
}
.motif-collection::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  border: 1px solid rgb(23 25 22 / .12);
  pointer-events: none;
}
.motif-carte { height: 11rem; margin: -2rem -2rem 1.5rem; }
.motif-hero { width: 100%; min-height: 27rem; }
.motif-bandeau { width: 100%; height: 12rem; margin: 0 0 4rem; }
.forme-motif { position: absolute; display: block; }
.visuel-collection { position: relative; overflow: hidden; flex: none; margin-top: 0; margin-right: 0; margin-left: 0; background: var(--motif-fond); }
.visuel-collection img { display: block; width: 100%; height: 100%; object-fit: cover; }
.visuel-carte { height: 13rem; margin: -2rem -2rem 1.5rem; }
.visuel-hero { width: 100%; overflow: visible; align-self: center; background: transparent; }
.visuel-hero img { height: auto; aspect-ratio: 3 / 2; }
.visuel-hero figcaption { margin: .65rem 0 0; color: var(--secondaire); font-size: .68rem; line-height: 1.4; }
.visuel-bandeau { width: 100%; height: 14rem; margin-bottom: 4rem; }

/* Construction : des blocs distincts se resserrent autour d'une trame commune. */
.motif-construction .forme-motif-1 { inset: 13% auto auto 8%; width: 22%; height: 58%; background: var(--motif-principal); }
.motif-construction .forme-motif-2 { inset: 37% auto auto 34%; width: 20%; height: 48%; background: var(--motif-secondaire); }
.motif-construction .forme-motif-3 { inset: 9% 9% auto auto; width: 29%; height: 34%; border: .65rem solid var(--motif-principal); }
.motif-construction .forme-motif-4 { inset: auto 7% 11% auto; width: 32%; height: 24%; background: var(--motif-clair); }
.motif-construction .forme-motif-5 { left: 5%; top: 27%; z-index: 2; width: 88%; height: 2px; background: var(--motif-clair); transform: rotate(-7deg); }
.motif-construction .forme-motif-6 { left: 17%; top: 8%; z-index: 2; width: 2px; height: 82%; background: var(--motif-secondaire); }
.motif-construction .forme-motif-7 { right: 25%; top: 15%; width: 10%; aspect-ratio: 1; border-radius: 50%; background: var(--motif-secondaire); }
.motif-construction .forme-motif-8 { left: 57%; bottom: 12%; width: 8%; aspect-ratio: 1; border: 2px solid var(--motif-principal); transform: rotate(45deg); }

/* Traversée : une ligne discontinue relie deux rives sans figurer le voyage. */
.motif-traversee .forme-motif-1 { left: -9%; top: 4%; width: 42%; aspect-ratio: 1; border: 1.1rem solid var(--motif-principal); border-radius: 50%; }
.motif-traversee .forme-motif-2 { right: -7%; bottom: -38%; width: 43%; aspect-ratio: 1; background: var(--motif-secondaire); border-radius: 50%; }
.motif-traversee .forme-motif-3 { left: 13%; top: 51%; z-index: 2; width: 71%; height: 3px; background: var(--motif-principal); transform: rotate(-4deg); }
.motif-traversee .forme-motif-4 { left: 29%; top: 43%; z-index: 2; width: 1rem; aspect-ratio: 1; border-radius: 50%; background: var(--motif-clair); box-shadow: 6rem .35rem 0 var(--motif-secondaire), 12rem -.35rem 0 var(--motif-principal); }
.motif-traversee .forme-motif-5 { left: 42%; top: 14%; width: 2px; height: 68%; background: rgb(255 255 255 / .7); transform: rotate(12deg); }
.motif-traversee .forme-motif-6 { right: 16%; top: 12%; width: 13%; height: 22%; background: var(--motif-clair); }
.motif-traversee .forme-motif-7 { left: 5%; bottom: 12%; width: 17%; height: 9%; background: var(--motif-secondaire); }
.motif-traversee .forme-motif-8 { right: 24%; bottom: 8%; width: 22%; height: 2px; background: var(--motif-clair); transform: rotate(17deg); }

/* Circulations : des trajectoires se croisent sans centre unique. */
.motif-circulations .forme-motif-1 { left: 4%; top: 12%; width: 41%; height: 61%; border: .65rem solid var(--motif-principal); border-radius: 50%; }
.motif-circulations .forme-motif-2 { right: 5%; bottom: 7%; width: 39%; height: 58%; border: .7rem solid var(--motif-secondaire); border-radius: 50%; }
.motif-circulations .forme-motif-3 { left: 18%; bottom: 10%; width: 60%; height: 2px; background: var(--motif-principal); transform: rotate(23deg); }
.motif-circulations .forme-motif-4 { left: 52%; top: 8%; width: 2px; height: 77%; background: var(--motif-secondaire); transform: rotate(-32deg); }
.motif-circulations .forme-motif-5 { left: 17%; top: 27%; z-index: 2; width: 1.2rem; aspect-ratio: 1; border-radius: 50%; background: var(--motif-clair); box-shadow: 9rem 1.8rem 0 var(--motif-principal), 16rem 4.4rem 0 var(--motif-clair); }
.motif-circulations .forme-motif-6 { right: 12%; top: 12%; width: 18%; height: 19%; background: var(--motif-principal); }
.motif-circulations .forme-motif-7 { left: 5%; bottom: 8%; width: 23%; height: 15%; background: var(--motif-secondaire); }
.motif-circulations .forme-motif-8 { left: 43%; top: 38%; z-index: 2; width: 10%; aspect-ratio: 1; border: 3px solid var(--motif-clair); transform: rotate(45deg); }

/* Ruptures : des bandes alignées sont déplacées et ouvertes. */
.motif-ruptures .forme-motif-1 { left: 7%; top: 12%; width: 77%; height: 15%; background: var(--motif-principal); }
.motif-ruptures .forme-motif-2 { left: 18%; top: 34%; width: 76%; height: 14%; background: var(--motif-secondaire); }
.motif-ruptures .forme-motif-3 { left: 5%; top: 57%; width: 58%; height: 13%; background: var(--motif-principal); }
.motif-ruptures .forme-motif-4 { right: 4%; bottom: 8%; width: 61%; height: 13%; background: var(--motif-clair); }
.motif-ruptures .forme-motif-5 { left: 57%; top: 0; z-index: 2; width: 1rem; height: 100%; background: var(--motif-fond); transform: rotate(13deg); }
.motif-ruptures .forme-motif-6 { left: 58%; top: 8%; z-index: 2; width: 2px; height: 83%; background: var(--motif-secondaire); transform: rotate(13deg); }
.motif-ruptures .forme-motif-7 { left: 13%; bottom: 5%; width: 12%; aspect-ratio: 1; border: 3px solid var(--motif-secondaire); border-radius: 50%; }
.motif-ruptures .forme-motif-8 { right: 11%; top: 9%; width: 13%; aspect-ratio: 1; background: var(--motif-clair); transform: rotate(45deg); }
.statut-collection { margin: 0; color: var(--accent); font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.carte-collection h3 { max-width: 30rem; margin: 1.5rem 0 1rem; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 500; line-height: 1.08; }
.promesse-collection { max-width: 34rem; margin: 0; color: var(--secondaire); line-height: 1.65; }
.meta-collection { margin: auto 0 0; padding-top: 2rem; color: var(--accent); font-size: .8rem; font-weight: 800; }
.lien-collection { align-self: start; margin-top: 1rem; color: var(--accent); font-size: .86rem; font-weight: 800; text-underline-offset: .22rem; }
.lien-dossier-collection { align-self: start; margin-top: .7rem; color: var(--secondaire); font-size: .8rem; font-weight: 750; text-underline-offset: .2rem; }
.page-index-collections, .collection-publique { padding-top: 7rem; }
.entete-page-derivee.entete-collection { max-width: none; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .72fr); align-items: end; gap: clamp(3rem, 7vw, 7rem); }
.texte-entete-collection { padding-bottom: 1rem; }
.grille-index-collections { margin-bottom: 7rem; }
.introduction-collection { max-width: 760px; margin: 0 0 6rem; color: var(--secondaire); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.65; }
.parcours-collection { max-width: 940px; margin: 0; padding: 0; border-top: 1px solid var(--ligne); list-style: none; }
.parcours-collection > li { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 2rem; padding: 3rem 0; border-bottom: 1px solid var(--ligne); }
.numero-collection { color: var(--ligne); font-family: Georgia, "Times New Roman", serif; font-size: 3.8rem; line-height: .9; }
.statut-etape-collection { margin: 0 0 1rem; color: var(--accent); font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.parcours-collection h2 { max-width: 760px; font-size: clamp(1.8rem, 4vw, 3.2rem); }
.parcours-collection h2 a { text-underline-offset: .25rem; }
.parcours-collection li > div > p:not(.statut-etape-collection, .meta-etape-collection) { max-width: 700px; color: var(--secondaire); line-height: 1.65; }
.meta-etape-collection { color: var(--accent); font-size: .8rem; font-weight: 800; }
.dossier-collection-a-venir { opacity: .72; }
.appartenance-collection { margin: 1.2rem 0 0; color: var(--secondaire); font-size: .82rem; line-height: 1.5; }
.appartenance-collection a { color: var(--accent); font-weight: 800; text-underline-offset: .2rem; }
.dossier-public { padding-top: 9rem; }
.entete-dossier { max-width: 980px; }
.entete-dossier h1 { max-width: 980px; font-size: clamp(3rem, 7vw, 6.2rem); }
.chapeau-dossier { max-width: 820px; margin: 2rem 0 1rem; color: var(--secondaire); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.3rem, 2.3vw, 1.9rem); line-height: 1.45; }
.meta-dossier { color: var(--accent); font-size: .82rem; font-weight: 750; }
.introduction-dossier { max-width: 780px; margin: 4rem 0 7rem; font-size: 1.12rem; line-height: 1.8; }
.introduction-dossier p + p { margin-top: 1.4rem; }
.entrees-dossier { margin: 0 0 3rem; padding: 3rem; border: 1px solid var(--ligne); background: var(--papier); }
.entrees-dossier > h3, .regard-archives > h3 { max-width: 760px; margin: 0 0 2.5rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.05; }
.entrees-grille { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--ligne); background: var(--ligne); }
.entrees-grille article { min-height: 15rem; padding: 1.5rem; background: var(--fond); }
.entrees-grille span { color: var(--ocre); font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; }
.entrees-grille h4 { max-width: 23rem; margin: 3rem 0 .8rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; font-weight: 500; }
.entrees-grille p { margin: 0; color: var(--secondaire); line-height: 1.55; }
.regard-archives { margin: 0 0 8rem; padding: 3rem; color: #f4eee4; background: var(--bleu-nuit); }
.regard-archives .surtitre { color: #e6b589; }
.regard-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border-top: 1px solid rgb(255 255 255 / .25); }
.regard-grille article { padding: 1.5rem 1.5rem 0 0; }
.regard-grille h4 { margin: 0 0 .8rem; font-size: 1rem; }
.regard-grille p { margin: 0; color: #c8d0cf; line-height: 1.55; }
.bloc-frise { margin: 0 0 8rem; padding: 3rem; background: var(--papier); border: 1px solid var(--ligne); }
.bloc-frise h3, .conclusion-dossier h3, .retenir-dossier h3, .methode-dossier h3, .bibliographie-dossier h3 { max-width: 820px; margin: 0 0 2rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.05; }
.frise-dossier { list-style: none; margin: 2.5rem 0 0; padding: 0; border-top: 1px solid var(--ligne); }
.frise-dossier li { display: grid; grid-template-columns: 12rem 1fr; gap: 2rem; padding: 1.6rem 0; border-bottom: 1px solid var(--ligne); }
.date-frise { display: flex; flex-direction: column; gap: .35rem; }
.date-frise time { color: var(--accent); font-size: 1.08rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.date-frise span { color: var(--secondaire); font-size: .8rem; }
.texte-frise h4 { margin: 0 0 .45rem; font-size: 1.05rem; }
.texte-frise > p { max-width: 680px; margin: 0; color: var(--secondaire); line-height: 1.55; }
.chapitres-dossier { max-width: 900px; margin-left: auto; margin-right: auto; }
.chapitre-dossier { position: relative; padding: 7rem 0; border-top: 1px solid var(--ligne); }
.chapitre-dossier h3 { max-width: 820px; margin: 0 0 2rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 4.5vw, 4rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.03; }
.chapitre-dossier > p:not(.surtitre, .numero-chapitre, .renvois-sources) { max-width: 740px; color: var(--encre); font-size: 1.08rem; line-height: 1.78; }
.numero-chapitre { position: absolute; top: 6.4rem; right: 0; margin: 0; color: var(--ligne); font-family: Georgia, "Times New Roman", serif; font-size: 6rem; line-height: .8; }
.reperes-lecture { max-width: 820px; margin: 0 0 3rem; padding: 2rem; border: 1px solid var(--ligne); background: var(--papier); }
.reperes-lecture > h4 { max-width: 680px; margin: 0 0 1.5rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 500; line-height: 1.1; }
.reperes-lecture dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; border: 1px solid var(--ligne); background: var(--ligne); }
.reperes-lecture dl > div { padding: 1.2rem; background: var(--fond); }
.reperes-lecture dt { margin: 0 0 .6rem; color: var(--accent); font-weight: 800; line-height: 1.4; }
.reperes-lecture dd { margin: 0; color: var(--secondaire); font-size: .88rem; line-height: 1.55; }
.encadre-dossier { max-width: 740px; margin: 2.5rem 0; padding: 1.6rem 1.8rem; border-left: 4px solid var(--accent); background: var(--accent-clair); }
.encadre-dossier h4 { margin: 0 0 .6rem; font-size: 1rem; }
.encadre-dossier p { margin: 0; color: var(--secondaire); line-height: 1.6; }
.encadre-dossier .renvois-sources { margin-top: 1rem; }
.renvoi-collection { max-width: 740px; margin: 2.5rem 0; padding: 1.6rem 1.8rem; border: 1px solid var(--bordure); border-left: 4px solid var(--accent); background: var(--papier); }
.renvoi-collection .surtitre { margin: 0 0 .5rem; }
.renvoi-collection h4 { margin: 0 0 .6rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; }
.renvoi-collection h4 a { color: var(--accent); text-underline-offset: .2rem; }
.renvoi-collection > p:last-child { margin: 0; color: var(--secondaire); line-height: 1.6; }
.figure-dossier { margin: 4rem 0; }
.figure-image { position: relative; border: 1px solid var(--ligne); background: var(--papier); box-shadow: .65rem .65rem 0 color-mix(in srgb, var(--ligne) 34%, transparent); }
.etiquette-document { margin: 0; padding: .65rem 1rem; border-bottom: 1px solid var(--ligne); color: var(--accent); background: var(--fond); font-size: .68rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.image-dossier-lien { min-height: 18rem; display: flex; align-items: center; justify-content: center; padding: 1rem; background: #141714; }
.image-dossier-lien img { display: block; width: auto; max-width: 100%; max-height: 78vh; object-fit: contain; }
.figure-image figcaption { position: relative; padding: 1.7rem 1.7rem 1.7rem 2.4rem; }
.figure-image figcaption::before { content: ""; position: absolute; top: 1.7rem; bottom: 1.7rem; left: 1.2rem; width: 3px; background: var(--ocre); }
.figure-image figcaption h4, .schema-dossier figcaption h4 { max-width: 700px; margin: 0 0 .8rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 3vw, 2.3rem); font-weight: 500; line-height: 1.1; }
.figure-image figcaption > p:not(.renvois-sources), .schema-dossier figcaption > p:not(.surtitre) { max-width: 720px; margin: 0 0 .9rem; color: var(--secondaire); line-height: 1.6; }
.credit-image { color: var(--accent); font-size: .78rem; font-weight: 800; line-height: 1.5; }
.schema-dossier { padding: 2rem; border: 1px solid color-mix(in srgb, var(--ocre) 38%, var(--ligne)); background: var(--ocre-clair); }
.schema-dossier .surtitre { color: var(--ocre); }
.branches-schema { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 2.5rem 0 0; border: 1px solid color-mix(in srgb, var(--ocre) 28%, var(--ligne)); background: color-mix(in srgb, var(--ocre) 28%, var(--ligne)); }
.branches-schema article { position: relative; min-height: 11rem; padding: 1.2rem; background: var(--papier); }
.branches-schema article::after { content: "↓"; position: absolute; right: 50%; bottom: -2rem; z-index: 1; color: var(--ocre); font-size: 1.35rem; font-weight: 800; transform: translateX(50%); }
.branches-schema span { color: var(--ocre); font-family: Georgia, "Times New Roman", serif; }
.branches-schema h5 { margin: 2rem 0 .65rem; font-size: .95rem; }
.branches-schema p { margin: 0; color: var(--secondaire); font-size: .86rem; line-height: 1.5; }
.convergence-schema { max-width: 31rem; margin: 2.8rem auto 0; padding: 1.4rem 1.6rem; color: #f4eee4; background: var(--bleu-nuit); text-align: center; }
.convergence-schema > span { display: block; margin: -2.15rem auto .7rem; color: var(--ocre); font-size: 1.5rem; font-weight: 800; }
.convergence-schema h5 { margin: 0 0 .55rem; color: #e6b589; font-size: 1rem; }
.convergence-schema p { margin: 0; color: #d5dcda; font-size: .88rem; line-height: 1.5; }
.etapes-schema { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.2rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.schema-dossier.longue .etapes-schema { grid-template-columns: repeat(5, 1fr); gap: 1.7rem; }
.schema-dossier.longue .etapes-schema li { min-height: 13rem; padding: 1rem; }
.schema-dossier.longue .etapes-schema li:not(:last-child)::after { right: -1.35rem; }
.etapes-schema li { position: relative; min-height: 12rem; padding: 1.2rem; background: var(--papier); }
.etapes-schema li:not(:last-child)::after { content: "→"; position: absolute; top: 50%; right: -1.75rem; color: var(--ocre); font-size: 1.5rem; font-weight: 800; transform: translateY(-50%); }
.numero-etape { color: var(--ocre); font-family: Georgia, "Times New Roman", serif; }
.etapes-schema h5 { margin: 2.2rem 0 .65rem; font-size: .95rem; }
.etapes-schema p { margin: 0; color: var(--secondaire); font-size: .86rem; line-height: 1.5; }
.note-schema { margin: 1.4rem 0 0; padding-top: 1.2rem; border-top: 1px solid color-mix(in srgb, var(--ocre) 35%, transparent); color: var(--secondaire); font-size: .83rem; line-height: 1.55; }
.schema-dossier.frontiere { background: var(--accent-clair); border-color: color-mix(in srgb, var(--accent) 38%, var(--ligne)); }
.schema-dossier.frontiere .surtitre, .schema-dossier.frontiere .numero-etape, .schema-dossier.frontiere .etapes-schema li:not(:last-child)::after { color: var(--accent); }
.schema-systeme { background: var(--bleu-nuit); color: #f4eee4; border: 0; }
.schema-systeme .surtitre { color: #e6b589; }
.schema-systeme figcaption > p:not(.surtitre) { color: #c8d0cf; }
.corps-systeme { display: grid; grid-template-columns: 1fr minmax(12rem, .8fr) 1fr; align-items: stretch; gap: 2rem; margin-top: 2.5rem; }
.colonne-systeme { padding: 1.2rem; border: 1px solid rgb(255 255 255 / .2); }
.colonne-systeme h5 { margin: 0 0 1rem; color: #e6b589; }
.colonne-systeme ul { margin: 0; padding-left: 1.1rem; }
.colonne-systeme li { padding: .35rem 0; color: #d5dcda; font-size: .88rem; line-height: 1.4; }
.coeur-systeme { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; min-height: 12rem; padding: 1.4rem; border-radius: 50%; color: #172b33; background: #e6b589; text-align: center; }
.coeur-systeme::before, .coeur-systeme::after { content: "→"; position: absolute; top: 50%; color: #e6b589; font-size: 1.6rem; transform: translateY(-50%); }
.coeur-systeme::before { left: -1.65rem; }
.coeur-systeme::after { right: -1.65rem; }
.contrechamp-systeme { margin: 2rem 0 0; padding: 1.2rem; border-left: 4px solid #e6b589; color: #d5dcda; background: rgb(255 255 255 / .06); line-height: 1.55; }
.schema-systeme .renvois-sources { color: #c8d0cf; }
.schema-systeme .renvois-sources a { color: #e6b589; }
.renvois-sources { margin: 1.5rem 0 0; color: var(--secondaire); font-size: .78rem; line-height: 1.6; }
.renvois-sources a { color: var(--accent); font-weight: 800; text-decoration: none; }
.preuves-dossier { max-width: 740px; margin: 1.3rem 0 0; border: 1px solid var(--ligne); background: var(--papier); }
.preuves-dossier summary { padding: 1rem 1.2rem; color: var(--accent); cursor: pointer; font-size: .84rem; font-weight: 800; }
.preuves-dossier[open] summary { border-bottom: 1px solid var(--ligne); }
.liste-preuves-dossier { padding: 0 1.2rem; }
.preuve-dossier { padding: 1.2rem 0; }
.preuve-dossier + .preuve-dossier { border-top: 1px solid var(--ligne); }
.affirmation-publique { margin: 0 0 .8rem; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; line-height: 1.55; }
.localisations-preuves { margin: 0; padding-left: 1.2rem; color: var(--secondaire); font-size: .78rem; line-height: 1.6; }
.localisations-preuves a { color: var(--accent); font-weight: 800; text-decoration: none; }
.reserve-preuve { margin: .8rem 0 0; color: var(--secondaire); font-size: .8rem; line-height: 1.55; }
.mots-passage { max-width: 740px; margin: 2.5rem 0; padding: 1.5rem 0; border-top: 2px solid var(--accent); border-bottom: 1px solid var(--ligne); }
.mots-passage-liste { margin: 0; }
.mot-passage { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1.5rem; padding: 1rem 0; }
.mot-passage + .mot-passage { border-top: 1px solid var(--ligne); }
.mot-passage dt { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; line-height: 1.3; }
.mot-passage dt a { color: var(--accent); text-underline-offset: .2rem; }
.mot-passage dt span { display: block; margin-top: .4rem; color: var(--secondaire); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .72rem; line-height: 1.4; }
.mot-passage dd { margin: 0; color: var(--secondaire); line-height: 1.65; }
.lien-glossaire { display: inline-block; margin-top: .8rem; color: var(--accent); font-size: .8rem; font-weight: 800; text-underline-offset: .22rem; }
.conclusion-dossier, .methode-dossier, .bibliographie-dossier { max-width: 900px; margin: 0 auto; padding: 7rem 0; border-top: 1px solid var(--ligne); }
.conclusion-dossier > p:not(.surtitre, .renvois-sources), .methode-dossier > p:not(.surtitre, .renvois-sources) { max-width: 740px; font-size: 1.08rem; line-height: 1.78; }
.explication-edit { margin: 3.5rem 0 2rem; padding: 2rem; border: 1px solid var(--ligne); background: var(--papier); }
.explication-edit > h4 { max-width: 700px; margin: 0 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3.4vw, 2.8rem); font-weight: 500; line-height: 1.08; }
.introduction-explication { max-width: 700px; margin: 0 0 2rem; color: var(--secondaire); line-height: 1.6; }
.explication-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--ligne); background: var(--ligne); }
.explication-grille article { min-height: 14rem; padding: 1.3rem; background: var(--fond); }
.explication-grille span { color: var(--ocre); font-family: Georgia, "Times New Roman", serif; }
.explication-grille h5 { margin: 2.5rem 0 .7rem; font-size: .96rem; }
.explication-grille p { margin: 0; color: var(--secondaire); font-size: .87rem; line-height: 1.5; }
.note-explication { margin: 1.5rem 0 0; padding: 1.2rem; border-left: 4px solid var(--ocre); color: var(--secondaire); background: var(--ocre-clair); font-size: .9rem; line-height: 1.55; }
.retenir-dossier { max-width: 900px; margin: 2rem auto 8rem; padding: 3rem; background: var(--accent-clair); }
.retenir-dossier ol { margin: 0; padding-left: 1.4rem; }
.retenir-dossier li { max-width: 720px; padding: .75rem 0 .75rem .6rem; line-height: 1.55; }
.introduction-bibliographie { max-width: 720px; color: var(--secondaire); line-height: 1.6; }
.liste-sources { margin: 3rem 0 0; padding-left: 1.8rem; }
.liste-sources li { padding: 1.2rem 0 1.2rem .5rem; border-top: 1px solid var(--ligne); scroll-margin-top: 7rem; }
.citation-source { margin: 0 0 .4rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; line-height: 1.45; }
.usage-source { max-width: 720px; margin: 0 0 .6rem; color: var(--secondaire); font-size: .88rem; line-height: 1.5; }
.liste-sources a { color: var(--accent); font-size: .82rem; font-weight: 800; }
.fonds-grille { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
.fonds-grille article { padding-top: 1rem; border-top: 3px solid var(--accent); }
.fonds-grille h3 { margin: 0 0 .75rem; }
.fonds-grille p { color: var(--secondaire); line-height: 1.6; }
.pied-page { width: min(1160px, calc(100% - 2.5rem)); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 3rem; margin: 4rem auto 0; padding: 3rem 0 4rem; border-top: 1px solid var(--ligne); }
.pied-page p { max-width: 650px; margin: .5rem 0 0; color: var(--secondaire); line-height: 1.55; }
.pied-page nav { align-items: flex-start; }
.pied-page .contact-pied { grid-column: 1 / -1; }
.pied-page .mise-a-jour { grid-column: 1 / -1; font-size: .8rem; }
.page-simple { max-width: 780px; min-height: 65vh; }
.page-simple h1 { margin-bottom: 4rem; }
.page-simple h2 { margin: 3rem 0 1rem; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.page-simple p { color: var(--secondaire); font-size: 1.05rem; line-height: 1.7; }
.page-glossaire { max-width: 1080px; margin: 0 auto; }
.entete-glossaire { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .55fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); padding: 2rem 0 5rem; }
.entete-glossaire h1 { font-size: clamp(2.8rem, 6vw, 4.8rem); }
.promesse-glossaire { max-width: 760px; margin: 1.5rem 0 0; color: var(--secondaire); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.55; }
.index-glossaire { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 3rem; padding: .8rem 0; border-top: 1px solid var(--ligne); border-bottom: 1px solid var(--ligne); }
.index-glossaire a { min-width: 2.2rem; padding: .45rem .6rem; color: var(--accent); background: var(--papier); font-size: .82rem; font-weight: 850; text-align: center; text-decoration: none; }
.index-glossaire a:hover, .index-glossaire a:focus-visible { color: var(--papier); background: var(--accent); }
.liste-glossaire { border-top: 1px solid var(--ligne); }
.groupe-glossaire { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 2rem; padding: 1.5rem 0 0; border-bottom: 1px solid var(--ligne); scroll-margin-top: 7rem; }
.lettre-glossaire { margin: 0; color: var(--accent); font-size: 1.35rem; }
.entree-glossaire { display: grid; grid-template-columns: minmax(10rem, .45fr) minmax(0, 1.55fr); gap: 2rem; padding: 0 0 1.5rem; scroll-margin-top: 7rem; }
.entree-glossaire + .entree-glossaire { padding-top: 1.5rem; border-top: 1px solid var(--ligne); }
.titre-entree-glossaire h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.22rem; font-weight: 600; line-height: 1.25; }
.variantes-glossaire { margin: .55rem 0 0; color: var(--secondaire); font-size: .74rem; line-height: 1.45; }
.definition-glossaire { margin: 0; font-size: .96rem; line-height: 1.65; }
.details-sources-glossaire { margin-top: .9rem; border-top: 1px solid var(--ligne); }
.details-sources-glossaire summary { padding: .7rem 0; color: var(--accent); cursor: pointer; font-size: .76rem; font-weight: 800; }
.sources-glossaire { margin: 0; padding: .3rem 0 .5rem 1.2rem; color: var(--secondaire); font-size: .76rem; line-height: 1.6; }
.sources-glossaire li + li { margin-top: .6rem; }
.sources-glossaire a { color: var(--accent); font-weight: 700; }

.grille-exploration-accueil, .grille-axes, .compteurs-lacunes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border: 1px solid var(--ligne); background: var(--ligne); }
.grille-exploration-accueil article, .grille-axes article, .compteurs-lacunes article { padding: 1.5rem; background: var(--papier); }
.grille-exploration-accueil h3, .grille-axes h3 { margin: 0 0 2.5rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; font-weight: 500; }
.grille-exploration-accueil p, .grille-axes p { margin: 0 0 1.3rem; color: var(--secondaire); font-size: .86rem; line-height: 1.5; }
.grille-exploration-accueil a, .grille-axes a, .appel-sources > a, .lien-lacunes { color: var(--accent); font-size: .84rem; font-weight: 800; text-underline-offset: .22rem; }
.lien-lacunes { display: inline-block; margin-top: 1.5rem; }
.page-exploration, .page-axe, .page-source, .page-lacunes, .page-index-sources { padding-top: 7rem; }
.entete-page-derivee { max-width: none; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(17rem, .55fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); padding: 2rem 0 7rem; }
.texte-entete-derive { min-width: 0; }
.entete-page-derivee h1 { font-size: clamp(3rem, 7vw, 6.2rem); }
.page-source .entete-page-derivee h1 { font-size: clamp(2.8rem, 5.6vw, 5.2rem); }
.promesse-page-derivee { max-width: 780px; margin: 2rem 0 0; color: var(--secondaire); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.15rem, 2vw, 1.55rem); line-height: 1.5; }
.compteurs-page-derivee, .auteur-source-derivee, .meta-source-derivee { max-width: 760px; margin: 1.2rem 0 0; color: var(--accent); font-size: .82rem; font-weight: 800; line-height: 1.5; }
.auteur-source-derivee { margin-top: 1.5rem; font-size: 1rem; }
.meta-source-derivee { margin-top: .35rem; color: var(--secondaire); font-weight: 600; }
.lien-source-externe { display: inline-block; margin-top: 1.5rem; color: var(--accent); font-weight: 800; text-underline-offset: .22rem; }

/* Les pages d’index emploient des compositions contemporaines, jamais des cartes historiques. */
.visuel-derive { --visuel-fond: var(--accent-clair); --visuel-fort: var(--accent); --visuel-chaud: var(--ocre); position: relative; width: 100%; min-height: 19rem; overflow: hidden; border: 1px solid color-mix(in srgb, var(--visuel-fort) 30%, var(--ligne)); background: var(--visuel-fond); isolation: isolate; }
.visuel-derive::before { content: ""; position: absolute; inset: 1rem -1rem -1rem 1rem; z-index: -1; border: 1px solid var(--ligne); }
.visuel-derive::after { content: ""; position: absolute; inset: 0; z-index: 5; background: repeating-linear-gradient(135deg, transparent 0 13px, rgb(255 255 255 / .17) 13px 14px); pointer-events: none; }
.visuel-derive-image { aspect-ratio: 1; min-height: 0; background-color: var(--papier); background-position: center; background-size: cover; }
.visuel-derive-image::after { background: linear-gradient(145deg, rgb(255 255 255 / .08), transparent 46%, rgb(19 48 44 / .06)); }
.formes-visuel, .forme-visuel { position: absolute; display: block; }
.formes-visuel { inset: 0; }
.forme-visuel { background: var(--visuel-fort); }

/* Explorer : quatre champs qui se recoupent. */
.visuel-explorer { --visuel-fond: #dfe6dd; --visuel-fort: #245a50; --visuel-chaud: #b0613c; }
.visuel-explorer .forme-visuel-1 { inset: 9% auto auto 8%; width: 39%; height: 35%; border: .7rem solid var(--visuel-fort); background: transparent; }
.visuel-explorer .forme-visuel-2 { inset: 18% 8% auto auto; width: 38%; height: 38%; background: var(--visuel-chaud); border-radius: 50%; }
.visuel-explorer .forme-visuel-3 { inset: auto auto 9% 14%; width: 38%; height: 34%; background: #f2e3ce; transform: rotate(-8deg); }
.visuel-explorer .forme-visuel-4 { inset: auto 10% 8% auto; width: 35%; height: 38%; border: .7rem solid var(--visuel-fort); border-radius: 50%; background: transparent; }
.visuel-explorer .forme-visuel-5 { left: 11%; top: 49%; z-index: 2; width: 78%; height: 2px; background: var(--visuel-fort); transform: rotate(-8deg); }
.visuel-explorer .forme-visuel-6 { left: 49%; top: 8%; z-index: 2; width: 2px; height: 83%; background: #f8f2e8; transform: rotate(9deg); }
.visuel-explorer .forme-visuel-7 { left: 45%; top: 42%; z-index: 3; width: 12%; aspect-ratio: 1; border: 3px solid #f8f2e8; background: var(--visuel-chaud); transform: rotate(45deg); }

/* Territoires : constellations géographiques volontairement schématiques. */
.visuel-territoire { --visuel-fond: #dce7e3; --visuel-fort: #164f45; --visuel-chaud: #af663f; }
.visuel-territoire .forme-visuel { border-radius: 52% 48% 61% 39% / 43% 61% 39% 57%; }
.visuel-territoire .forme-visuel-1 { left: 39%; top: 14%; width: 15%; height: 28%; transform: rotate(20deg); }
.visuel-territoire .forme-visuel-2 { left: 46%; top: 45%; width: 23%; height: 35%; background: var(--visuel-chaud); transform: rotate(-13deg); }
.visuel-territoire .forme-visuel-3 { left: 28%; top: 54%; width: 8%; height: 12%; }
.visuel-territoire .forme-visuel-4 { right: 16%; top: 28%; width: 5%; aspect-ratio: 1; background: #f5ead8; }
.visuel-territoire .forme-visuel-5 { left: 19%; top: 27%; width: 4%; aspect-ratio: 1; background: var(--visuel-chaud); }
.visuel-guadeloupe-dependances .forme-visuel-1 { left: 26%; top: 30%; width: 24%; height: 31%; transform: rotate(-21deg); }
.visuel-guadeloupe-dependances .forme-visuel-2 { left: 51%; top: 29%; width: 17%; height: 35%; transform: rotate(15deg); }
.visuel-guadeloupe-dependances .forme-visuel-3 { left: 49%; top: 71%; width: 10%; height: 7%; }
.visuel-guadeloupe-dependances .forme-visuel-4 { right: 17%; top: 59%; width: 6%; height: 8%; }
.visuel-martinique .forme-visuel-1 { left: 40%; top: 12%; width: 23%; height: 68%; transform: rotate(24deg); }
.visuel-martinique .forme-visuel-2 { left: 33%; top: 30%; width: 9%; height: 15%; background: var(--visuel-chaud); transform: rotate(-12deg); }
.visuel-martinique .forme-visuel-3 { left: 65%; top: 62%; width: 7%; height: 10%; }
.visuel-saint-domingue .forme-visuel-1 { left: 12%; top: 36%; width: 71%; height: 31%; transform: rotate(-4deg); }
.visuel-saint-domingue .forme-visuel-2 { right: 9%; top: 42%; width: 18%; height: 20%; background: var(--visuel-chaud); transform: rotate(11deg); }
.visuel-petites-antilles-circulations .forme-visuel-1 { left: 30%; top: 9%; width: 7%; height: 11%; }
.visuel-petites-antilles-circulations .forme-visuel-2 { left: 39%; top: 23%; width: 8%; height: 13%; background: var(--visuel-chaud); }
.visuel-petites-antilles-circulations .forme-visuel-3 { left: 49%; top: 39%; width: 7%; height: 12%; }
.visuel-petites-antilles-circulations .forme-visuel-4 { left: 58%; top: 54%; width: 6%; height: 11%; background: var(--visuel-chaud); }
.visuel-petites-antilles-circulations .forme-visuel-5 { left: 64%; top: 69%; width: 5%; height: 9%; }
.visuel-petites-antilles-circulations .forme-visuel-6 { left: 26%; top: 16%; width: 46%; height: 2px; border-radius: 0; background: var(--visuel-fort); transform: rotate(56deg); }
.visuel-afrique-atlantique .forme-visuel-1 { left: 47%; top: 7%; width: 39%; height: 77%; border-radius: 58% 42% 46% 54% / 31% 35% 65% 69%; transform: rotate(-7deg); }
.visuel-afrique-atlantique .forme-visuel-2 { left: 9%; top: 20%; width: 27%; height: 55%; background: #f3e5cf; border-radius: 46% 54% 38% 62% / 54% 38% 62% 46%; }
.visuel-afrique-atlantique .forme-visuel-3 { left: 37%; top: 44%; width: 24%; height: 3px; border-radius: 0; background: var(--visuel-chaud); }

/* Périodes : une durée bornée, traversée de repères. */
.visuel-periode { --visuel-fond: #e8dfcf; --visuel-fort: #81472c; --visuel-chaud: #245a50; }
.visuel-periode .forme-visuel-1 { left: 10%; top: 49%; width: 80%; height: 3px; background: var(--visuel-fort); }
.visuel-periode .forme-visuel-2, .visuel-periode .forme-visuel-3, .visuel-periode .forme-visuel-4, .visuel-periode .forme-visuel-5 { top: 41%; width: 1rem; aspect-ratio: 1; border: 3px solid var(--visuel-fort); border-radius: 50%; background: var(--visuel-fond); }
.visuel-periode .forme-visuel-2 { left: 10%; background: var(--visuel-fort); }
.visuel-periode .forme-visuel-3 { left: 37%; }
.visuel-periode .forme-visuel-4 { left: 63%; border-color: var(--visuel-chaud); }
.visuel-periode .forme-visuel-5 { right: 7%; background: var(--visuel-chaud); border-color: var(--visuel-chaud); }
.visuel-periode .forme-visuel-6 { left: 20%; top: 18%; width: 2px; height: 58%; background: rgb(255 255 255 / .65); transform: rotate(18deg); }
.bornes-visuel { position: absolute; right: 9%; bottom: 9%; left: 9%; z-index: 3; display: flex; justify-content: space-between; margin: 0; color: var(--visuel-fort); font-family: var(--serif); font-size: 1.4rem; }

/* Thèmes : plusieurs forces convergent sans prétendre constituer un graphe savant. */
.visuel-mecanisme { --visuel-fond: #dbe3e2; --visuel-fort: #263f49; --visuel-chaud: #a85635; }
.visuel-mecanisme .forme-visuel-1 { left: 38%; top: 34%; width: 25%; aspect-ratio: 1; border-radius: 50%; background: var(--visuel-chaud); }
.visuel-mecanisme .forme-visuel-2, .visuel-mecanisme .forme-visuel-3, .visuel-mecanisme .forme-visuel-4, .visuel-mecanisme .forme-visuel-5 { width: 12%; aspect-ratio: 1; border: 4px solid var(--visuel-fort); border-radius: 50%; background: var(--visuel-fond); }
.visuel-mecanisme .forme-visuel-2 { left: 12%; top: 18%; }
.visuel-mecanisme .forme-visuel-3 { right: 11%; top: 13%; }
.visuel-mecanisme .forme-visuel-4 { left: 15%; bottom: 12%; }
.visuel-mecanisme .forme-visuel-5 { right: 14%; bottom: 11%; }
.visuel-mecanisme .forme-visuel-6, .visuel-mecanisme .forme-visuel-7, .visuel-mecanisme .forme-visuel-8, .visuel-mecanisme .forme-visuel-9 { left: 22%; top: 36%; z-index: -1; width: 58%; height: 2px; background: var(--visuel-fort); transform-origin: center; }
.visuel-mecanisme .forme-visuel-7 { transform: rotate(40deg); }
.visuel-mecanisme .forme-visuel-8 { top: 63%; transform: rotate(-38deg); }
.visuel-mecanisme .forme-visuel-9 { top: 57%; transform: rotate(18deg); }
.visuel-traite-traversee-vente { --visuel-fond: #dbe3e2; --visuel-fort: #263f49; --visuel-chaud: #a85635; }
.visuel-traite-traversee-vente .forme-visuel-1 { left: 10%; top: 62%; width: 13%; }
.visuel-traite-traversee-vente .forme-visuel-2 { left: 14%; top: 58%; }
.visuel-traite-traversee-vente .forme-visuel-3 { right: 12%; top: 16%; }
.visuel-traite-traversee-vente .forme-visuel-4 { display: none; }
.visuel-traite-traversee-vente .forme-visuel-5 { right: 8%; bottom: 7%; }
.visuel-traite-traversee-vente .forme-visuel-6 { left: 18%; top: 51%; width: 68%; transform: rotate(-27deg); }
.visuel-traite-traversee-vente .forme-visuel-7 { left: 25%; top: 48%; width: 55%; transform: rotate(-27deg); }
.visuel-droit-propriete { --visuel-fond: #e7dfd3; --visuel-fort: #61463a; --visuel-chaud: #31584e; }
.visuel-droit-propriete .forme-visuel-1 { left: 31%; top: 25%; width: 38%; border-radius: 0; background: transparent; border: .8rem solid var(--visuel-chaud); }
.visuel-droit-propriete .forme-visuel-2 { left: 10%; top: 12%; border-radius: 0; }
.visuel-droit-propriete .forme-visuel-3 { right: 10%; top: 12%; border-radius: 0; }
.visuel-droit-propriete .forme-visuel-4 { left: 10%; bottom: 10%; border-radius: 0; }
.visuel-droit-propriete .forme-visuel-5 { right: 10%; bottom: 10%; border-radius: 0; }
.visuel-plantation-commerce .forme-visuel-1 { left: 36%; top: 33%; border-radius: 0; }
.visuel-plantation-commerce .forme-visuel-2, .visuel-plantation-commerce .forme-visuel-3, .visuel-plantation-commerce .forme-visuel-4, .visuel-plantation-commerce .forme-visuel-5 { border-radius: 0; }
.visuel-organisation-travail .forme-visuel-2, .visuel-organisation-travail .forme-visuel-3, .visuel-organisation-travail .forme-visuel-4, .visuel-organisation-travail .forme-visuel-5 { width: 18%; height: 9%; aspect-ratio: auto; border: 0; border-radius: 0; background: var(--visuel-fort); }
.visuel-organisation-travail .forme-visuel-2 { left: 8%; top: 18%; }
.visuel-organisation-travail .forme-visuel-3 { right: 8%; top: 18%; }
.visuel-organisation-travail .forme-visuel-4 { left: 8%; bottom: 18%; }
.visuel-organisation-travail .forme-visuel-5 { right: 8%; bottom: 18%; }
.visuel-conditions-vie { --visuel-fond: #e5e3d5; --visuel-fort: #36554d; --visuel-chaud: #a3683d; }
.visuel-conditions-vie .forme-visuel-1 { left: 32%; top: 27%; width: 36%; border: .8rem solid var(--visuel-chaud); background: transparent; }
.visuel-famille-genre .forme-visuel-1 { left: 39%; top: 35%; width: 20%; }
.visuel-famille-genre .forme-visuel-2 { left: 15%; top: 20%; width: 17%; }
.visuel-famille-genre .forme-visuel-3 { right: 15%; top: 20%; width: 17%; }
.visuel-famille-genre .forme-visuel-4 { left: 28%; bottom: 12%; width: 17%; }
.visuel-famille-genre .forme-visuel-5 { right: 27%; bottom: 12%; width: 17%; }
.visuel-religion-culture { --visuel-fond: #e5dedf; --visuel-fort: #594251; --visuel-chaud: #9e6039; }
.visuel-religion-culture .forme-visuel-6, .visuel-religion-culture .forme-visuel-7, .visuel-religion-culture .forme-visuel-8, .visuel-religion-culture .forme-visuel-9 { height: 4px; border-radius: 50%; }
.visuel-couleur-affranchissement { --visuel-fond: #e8ded2; --visuel-fort: #704438; --visuel-chaud: #2e5b51; }
.visuel-couleur-affranchissement .forme-visuel-2, .visuel-couleur-affranchissement .forme-visuel-3, .visuel-couleur-affranchissement .forme-visuel-4, .visuel-couleur-affranchissement .forme-visuel-5 { border-style: dashed; }
.visuel-surveillance-repression { --visuel-fond: #dce1e1; --visuel-fort: #263a44; --visuel-chaud: #934c31; }
.visuel-surveillance-repression .forme-visuel-1 { left: 29%; top: 23%; width: 42%; border-radius: 0; background: transparent; border: .8rem solid var(--visuel-fort); }
.visuel-resistances { --visuel-fond: #e4ddd3; --visuel-fort: #4d5547; --visuel-chaud: #b04e34; }
.visuel-resistances .forme-visuel-6 { left: 6%; top: 38%; width: 41%; transform: rotate(-18deg); }
.visuel-resistances .forme-visuel-7 { left: 56%; top: 55%; width: 39%; transform: rotate(-18deg); }
.visuel-resistances .forme-visuel-8 { display: none; }

/* Sources : feuillets, lignes et localisations. */
.visuel-sources, .visuel-source { --visuel-fond: #e9dfcc; --visuel-fort: #6e4933; --visuel-chaud: #1f5a50; }
.visuel-sources .forme-visuel-1, .visuel-source .forme-visuel-1 { left: 18%; top: 12%; width: 54%; height: 69%; border: 3px solid var(--visuel-fort); background: #f8f3e8; transform: rotate(-7deg); }
.visuel-sources .forme-visuel-2, .visuel-source .forme-visuel-2 { left: 31%; top: 19%; width: 53%; height: 68%; border: 3px solid var(--visuel-chaud); background: #f2e8d7; transform: rotate(5deg); }
.visuel-sources .forme-visuel-3, .visuel-source .forme-visuel-3 { left: 40%; top: 35%; z-index: 3; width: 33%; height: 3px; background: var(--visuel-fort); box-shadow: 0 1.4rem 0 var(--visuel-fort), 0 2.8rem 0 var(--visuel-fort), 0 4.2rem 0 var(--visuel-chaud); }
.visuel-source .forme-visuel-4 { left: 18%; bottom: 13%; z-index: 4; width: 22%; aspect-ratio: 1; border: 3px solid var(--visuel-chaud); border-radius: 50%; background: transparent; }

/* Chantiers : une composition incomplète dont les pièces restent visibles. */
.visuel-chantiers { --visuel-fond: #e7e2d7; --visuel-fort: #32584e; --visuel-chaud: #a85b36; }
.visuel-chantiers .forme-visuel-1, .visuel-chantiers .forme-visuel-2, .visuel-chantiers .forme-visuel-3, .visuel-chantiers .forme-visuel-4, .visuel-chantiers .forme-visuel-5 { width: 28%; height: 25%; }
.visuel-chantiers .forme-visuel-1 { left: 8%; top: 10%; }
.visuel-chantiers .forme-visuel-2 { left: 39%; top: 10%; background: var(--visuel-chaud); }
.visuel-chantiers .forme-visuel-3 { right: 4%; top: 10%; border: 3px solid var(--visuel-fort); background: transparent; }
.visuel-chantiers .forme-visuel-4 { left: 8%; top: 39%; background: #f5e9d8; }
.visuel-chantiers .forme-visuel-5 { right: 4%; top: 39%; }
.visuel-chantiers .forme-visuel-6 { left: 39%; top: 39%; width: 28%; height: 25%; border: 3px dashed var(--visuel-chaud); background: transparent; }
.visuel-chantiers .forme-visuel-7 { left: 20%; bottom: 8%; width: 58%; height: 3px; background: var(--visuel-chaud); transform: rotate(-7deg); }

/* Glossaire : lettres et fragments de définitions. */
.visuel-glossaire { --visuel-fond: #dce6e0; --visuel-fort: #164f45; --visuel-chaud: #a85b36; min-height: 17rem; }
.visuel-glossaire .forme-visuel-1 { left: 10%; top: 13%; width: 28%; height: 32%; background: var(--visuel-fort); }
.visuel-glossaire .forme-visuel-2 { right: 12%; top: 18%; width: 35%; height: 25%; border: 4px solid var(--visuel-chaud); background: transparent; }
.visuel-glossaire .forme-visuel-3 { left: 18%; bottom: 14%; width: 65%; height: 3px; background: var(--visuel-fort); box-shadow: 0 -1.5rem 0 #f5ebdc, 0 -3rem 0 var(--visuel-chaud); }
.lettres-visuel { position: absolute; left: 14%; top: 17%; z-index: 3; margin: 0; color: #f8f3e9; font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 2.2rem); letter-spacing: .12em; }
.bloc-derive { padding: 5rem 0; border-top: 1px solid var(--ligne); }
.bloc-derive h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
.introduction-bloc-derive { max-width: 700px; margin: 1.2rem 0 2.5rem; color: var(--secondaire); line-height: 1.65; }
.sommaire-exploration { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 5rem; border: 1px solid var(--ligne); }
.sommaire-exploration a { padding: 1rem; color: var(--accent); background: var(--papier); font-size: .82rem; font-weight: 800; text-align: center; text-decoration: none; }
.sommaire-exploration a + a { border-left: 1px solid var(--ligne); }
.sommaire-exploration a:hover, .sommaire-exploration a:focus-visible { color: var(--papier); background: var(--accent); }
.index-axe { scroll-margin-top: 5rem; }
.liste-axes-publics { display: grid; grid-template-columns: repeat(2, 1fr); max-width: 900px; margin: 2rem 0 0; padding: 0; border-top: 1px solid var(--ligne); list-style: none; }
.liste-axes-publics li { min-width: 0; border-bottom: 1px solid var(--ligne); }
.liste-axes-publics li:nth-child(odd) { border-right: 1px solid var(--ligne); }
.liste-axes-publics a { display: grid; grid-template-columns: 5rem minmax(0, 1fr); align-items: center; gap: 1rem; height: 100%; padding: .8rem 1rem .8rem .8rem; color: var(--encre); font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; text-underline-offset: .2rem; }
.miniature-axe { --mini-fond: #dce7e3; --mini-fort: var(--accent); --mini-chaud: var(--ocre); position: relative; width: 5rem; height: 4rem; overflow: hidden; flex: none; background: var(--mini-fond); }
.miniature-axe-image { background-position: center; background-size: cover; }
.miniature-axe .forme-visuel { border-radius: 50%; background: var(--mini-fort); }
.miniature-axe .forme-visuel-1 { left: 15%; top: 18%; width: 25%; aspect-ratio: 1; }
.miniature-axe .forme-visuel-2 { right: 12%; bottom: 14%; width: 34%; aspect-ratio: 1; background: var(--mini-chaud); }
.miniature-axe .forme-visuel-3 { left: 17%; bottom: 14%; width: 56%; height: 2px; border-radius: 0; transform: rotate(-17deg); }
.miniature-periodes { --mini-fond: #e8dfcf; --mini-fort: #81472c; --mini-chaud: #245a50; }
.miniature-periodes .forme-visuel-1 { left: 9%; top: 49%; width: 82%; height: 2px; border-radius: 0; }
.miniature-periodes .forme-visuel-2, .miniature-periodes .forme-visuel-3 { top: 39%; width: .7rem; aspect-ratio: 1; border: 2px solid var(--mini-fort); background: var(--mini-fond); }
.miniature-periodes .forme-visuel-2 { left: 13%; background: var(--mini-fort); }
.miniature-periodes .forme-visuel-3 { right: 10%; background: var(--mini-chaud); border-color: var(--mini-chaud); }
.miniature-mecanismes { --mini-fond: #dbe3e2; --mini-fort: #263f49; --mini-chaud: #a85635; }
.miniature-mecanismes .forme-visuel-1 { left: 36%; top: 29%; width: 29%; aspect-ratio: 1; background: var(--mini-chaud); }
.miniature-mecanismes .forme-visuel-2 { left: 8%; top: 12%; width: 20%; aspect-ratio: 1; border: 2px solid var(--mini-fort); background: transparent; }
.miniature-mecanismes .forme-visuel-3 { right: 7%; bottom: 10%; width: 20%; aspect-ratio: 1; border: 2px solid var(--mini-fort); background: transparent; }
.miniature-mecanismes .forme-visuel-4 { left: 20%; top: 48%; width: 62%; height: 2px; border-radius: 0; transform: rotate(22deg); }
.miniature-traite-traversee-vente .forme-visuel-4 { transform: rotate(-26deg); }
.miniature-droit-propriete .forme-visuel-1 { left: 34%; top: 25%; border-radius: 0; background: transparent; border: 4px solid var(--mini-chaud); }
.miniature-plantation-commerce .forme-visuel-1, .miniature-organisation-travail .forme-visuel-2, .miniature-organisation-travail .forme-visuel-3 { border-radius: 0; }
.miniature-conditions-vie .forme-visuel-1 { background: transparent; border: 4px solid var(--mini-chaud); }
.miniature-famille-genre .forme-visuel-4 { transform: rotate(-22deg); }
.miniature-religion-culture { --mini-fond: #e5dedf; --mini-fort: #594251; --mini-chaud: #9e6039; }
.miniature-couleur-affranchissement .forme-visuel-2, .miniature-couleur-affranchissement .forme-visuel-3 { border-style: dashed; }
.miniature-surveillance-repression .forme-visuel-1 { border-radius: 0; background: transparent; border: 4px solid var(--mini-fort); }
.miniature-resistances .forme-visuel-4 { left: 7%; width: 37%; transform: rotate(-21deg); box-shadow: 2.8rem 1.2rem 0 var(--mini-chaud); }
.miniature-territoires .forme-visuel-1, .miniature-territoires .forme-visuel-2 { border-radius: 52% 48% 61% 39% / 43% 61% 39% 57%; }
.miniature-guadeloupe-dependances .forme-visuel-1 { left: 19%; top: 24%; width: 31%; height: 43%; transform: rotate(-20deg); }
.miniature-guadeloupe-dependances .forme-visuel-2 { right: 17%; top: 23%; width: 24%; height: 45%; transform: rotate(14deg); }
.miniature-martinique .forme-visuel-1 { left: 39%; top: 8%; width: 27%; height: 72%; transform: rotate(23deg); }
.miniature-martinique .forme-visuel-2 { left: 27%; bottom: 13%; width: 14%; height: 18%; }
.miniature-saint-domingue .forme-visuel-1 { left: 8%; top: 32%; width: 72%; height: 34%; transform: rotate(-5deg); }
.miniature-saint-domingue .forme-visuel-2 { right: 5%; top: 39%; width: 23%; height: 23%; }
.miniature-petites-antilles-circulations .forme-visuel-1 { left: 17%; top: 10%; width: 13%; aspect-ratio: 1; box-shadow: 1rem .65rem 0 var(--mini-chaud), 2rem 1.4rem 0 var(--mini-fort), 3rem 2.1rem 0 var(--mini-chaud); }
.miniature-petites-antilles-circulations .forme-visuel-2 { display: none; }
.miniature-afrique-atlantique .forme-visuel-1 { left: 48%; top: 5%; width: 36%; height: 78%; border-radius: 58% 42% 46% 54% / 31% 35% 65% 69%; transform: rotate(-7deg); }
.miniature-afrique-atlantique .forme-visuel-2 { left: 12%; top: 23%; width: 24%; height: 52%; background: #f3e5cf; }
.note-index-exploration { max-width: 900px; margin: 3rem 0 0; padding: 1.2rem 1.4rem; border-left: 4px solid var(--accent); background: var(--papier); }
.note-index-exploration p { margin: 0; color: var(--secondaire); font-size: .9rem; line-height: 1.6; }
.note-index-exploration a, .renvoi-chantiers a { color: var(--accent); font-weight: 800; text-underline-offset: .2rem; }
.grille-axes article { min-height: 11rem; }
.grille-axes h3 { margin-bottom: 2rem; }
.grille-axes h3 a { color: var(--encre); font-size: inherit; font-weight: 500; }
.grille-axes h3 span { color: var(--secondaire); }
.appel-sources > p { max-width: 700px; color: var(--secondaire); line-height: 1.65; }
.liste-derivee { max-width: 900px; border-top: 1px solid var(--ligne); }
.liste-derivee > article { padding: 1.6rem 0; border-bottom: 1px solid var(--ligne); }
.liste-derivee h3 { margin: 0 0 .7rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 500; line-height: 1.3; }
.liste-derivee h3 a { color: var(--encre); text-underline-offset: .2rem; }
.liste-derivee > article > p { max-width: 760px; color: var(--secondaire); line-height: 1.6; }
.liste-dossiers-derives > article { padding: 2rem 0; }
.page-axe .liste-dossiers-derives > article, .page-axe .liste-fiches-derivees > article { padding: 1.5rem; border: 1px solid var(--ligne); border-left: 5px solid var(--accent); background: var(--papier); }
.page-axe .liste-affirmations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; max-width: 1000px; border: 1px solid var(--ligne); background: var(--ligne); }
.page-axe .liste-affirmations > article { padding: 1.5rem; border: 0; background: var(--papier); }
.page-axe .liste-evenements-derives { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; max-width: 1000px; border: 1px solid var(--ligne); background: var(--ligne); }
.page-axe .liste-evenements-derives > article { padding: 1.5rem; border: 0; background: var(--papier); }
.liste-evenements-derives time { display: block; margin-bottom: .55rem; color: var(--accent); font-size: .85rem; font-weight: 800; }
.texte-affirmation-derivee { margin: 0 0 1rem; color: var(--encre) !important; font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; }
.reserve-affirmation-derivee { margin: 0; font-size: .86rem; }
.preuves-derivees { margin: 1rem 0 0; padding-left: 1.2rem; color: var(--secondaire); font-size: .78rem; line-height: 1.6; }
.preuves-derivees a, .liste-liens-derives a, .facettes-evaluation a { color: var(--accent); font-weight: 750; text-underline-offset: .18rem; }
.facettes-evaluation span { color: var(--secondaire); }
.evaluation { padding-left: 1rem !important; border-left: 4px solid var(--ligne); }
.evaluation.etat-forte { border-left-color: var(--accent); }
.evaluation.etat-utilisable_avec_reserve { border-left-color: var(--ocre); }
.evaluation.etat-a_documenter, .evaluation.etat-non_evaluee { border-left-color: var(--secondaire); }
.statut-evaluation { margin: 0 0 .55rem; color: var(--accent) !important; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.facettes-evaluation { margin: 0 0 .8rem; font-size: .82rem; }
.liste-liens-derives { max-width: 900px; margin: 2rem 0 0; padding: 0; border-top: 1px solid var(--ligne); list-style: none; }
.liste-liens-derives li { padding: 1rem 0; border-bottom: 1px solid var(--ligne); color: var(--secondaire); line-height: 1.5; }
.page-index-sources .liste-liens-derives { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1100px; border: 1px solid var(--ligne); background: var(--ligne); }
.page-index-sources .liste-liens-derives li { min-width: 0; padding: 1rem 1.2rem; border: 0; background: var(--papier); }
.page-index-sources .liste-liens-derives li:nth-child(odd) { border-right: 1px solid var(--ligne); }
.statut-source-liste { color: var(--secondaire); font-size: .78rem; font-style: italic; }
.etat-vide { max-width: 720px; padding: 1.2rem; border-left: 4px solid var(--ligne); color: var(--secondaire); background: var(--papier); line-height: 1.6; }
.mode-emploi-chantiers { max-width: 760px; margin: 0 0 5rem; padding: 1.2rem 1.4rem; border-left: 4px solid var(--accent); background: var(--papier); }
.mode-emploi-chantiers strong { font-size: .82rem; }
.mode-emploi-chantiers p { margin: .45rem 0 0; color: var(--secondaire); font-size: .9rem; line-height: 1.6; }
.groupe-chantiers > h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.groupe-chantiers > h2 a { color: var(--encre); text-underline-offset: .25rem; }
.liste-chantiers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; max-width: 1000px; border: 1px solid var(--ligne); background: var(--ligne); }
.liste-chantiers article { padding: 1.4rem; background: var(--papier); }
.liste-chantiers article:last-child:nth-child(odd) { grid-column: 1 / -1; }
.liste-chantiers h3 { margin: .5rem 0 .8rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; font-weight: 600; line-height: 1.35; }
.liste-chantiers h3 a { color: var(--encre); text-underline-offset: .18rem; }
.explication-chantier { margin: 0; color: var(--secondaire); font-size: .88rem; line-height: 1.58; }
.statut-chantier { margin: 0; color: var(--accent); font-size: .68rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.liens-chantier { margin: .8rem 0 0; color: var(--secondaire); font-size: .76rem; line-height: 1.4; }
.liens-chantier a { color: var(--accent); font-weight: 750; text-underline-offset: .16rem; }
.renvoi-chantiers { margin: 2rem 0; }
.note-chantiers, .note-source-heritee { max-width: 900px; margin: 4rem 0 0; padding: 2rem; border-left: 4px solid var(--ocre); background: var(--ocre-clair); }
.note-chantiers h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.note-chantiers p, .note-source-heritee { color: var(--secondaire); line-height: 1.65; }
.notice-source p { max-width: 760px; color: var(--secondaire); line-height: 1.65; }

.grille-fiches { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 2.5rem 0; border: 1px solid var(--ligne); background: var(--ligne); }
.grille-fiches article { min-height: 20rem; display: flex; flex-direction: column; padding: 1.6rem; background: var(--papier); }
.grille-fiches h3 { margin: 1.2rem 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; font-weight: 500; line-height: 1.25; }
.grille-fiches h3 a { color: var(--encre); text-underline-offset: .2rem; }
.grille-fiches article > p:not(.type-fiche, .meta-fiche) { margin: 0; color: var(--secondaire); font-size: .9rem; line-height: 1.6; }
.type-fiche { margin: 0; color: var(--accent); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.meta-fiche { margin: auto 0 0; padding-top: 1.5rem; color: var(--secondaire); font-size: .75rem; font-weight: 750; }
.page-index-fiches { padding-top: 7rem; }
.grille-index-fiches { margin-bottom: 7rem; }
.liste-fiches-derivees .type-fiche { color: var(--accent); }
.liste-fiches-derivees .meta-fiche { margin-top: .6rem; padding: 0; }
.fiches-reliees-dossier { max-width: 900px; margin: 0 auto; padding: 6rem 0; border-top: 1px solid var(--ligne); }
.fiches-reliees-dossier > h3 { max-width: 760px; font-size: clamp(2rem, 4vw, 3.5rem); }
.introduction-fiches-reliees { max-width: 700px; color: var(--secondaire); line-height: 1.65; }
.renvoi-fiches-contextuel { max-width: 740px; margin: 2.5rem 0; padding: 1.5rem 1.7rem; border: 1px solid var(--ligne); background: var(--papier); }
.renvoi-fiches-contextuel > .surtitre { margin-bottom: 1rem; }
.renvoi-fiches-contextuel ul { display: grid; gap: 1.2rem; margin: 0; padding: 0; list-style: none; }
.renvoi-fiches-contextuel li + li { padding-top: 1.2rem; border-top: 1px solid var(--ligne); }
.renvoi-fiches-contextuel a { color: var(--encre); font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; line-height: 1.25; text-underline-offset: .22rem; }
.renvoi-fiches-contextuel li > p { margin: .55rem 0 0; color: var(--secondaire); font-size: .9rem; line-height: 1.55; }
.fiche-publique { max-width: 980px; margin: 0 auto; padding-top: 7rem; }
.entete-fiche { max-width: 900px; padding: 2rem 0 5rem; }
.entete-fiche h1 { max-width: 900px; font-size: clamp(3rem, 7vw, 6rem); }
.chapeau-fiche { max-width: 780px; margin: 2rem 0 0; color: var(--secondaire); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.5; }
.meta-fiche-publique { margin: 1.5rem 0 0; color: var(--accent); font-size: .8rem; font-weight: 800; line-height: 1.5; }
.coordonnees-fiche { margin: .7rem 0 0; color: var(--secondaire); font-size: .82rem; line-height: 1.6; }
.coordonnees-fiche a { color: inherit; text-underline-offset: .18rem; }
.definition-fiche { max-width: 800px; margin: 0 0 3rem; padding: 2rem; border-left: 4px solid var(--ocre); background: var(--ocre-clair); }
.definition-fiche > .surtitre { margin-bottom: .8rem; }
.definition-fiche > p:last-child { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.15rem, 2vw, 1.4rem); line-height: 1.65; }
.fiche-publique > .figure-dossier { max-width: 800px; margin: 0 0 3rem; }
.fiche-publique > .figure-image .image-dossier-lien { min-height: 0; padding: 0; }
.fiche-publique > .figure-image .image-dossier-lien img { width: 100%; height: auto; max-height: none; }
.transcription-fiche { max-width: 800px; margin: 0 0 3rem; padding: 2rem; border-left: 4px solid var(--accent); background: var(--papier); }
.transcription-fiche h2 { margin-top: .8rem; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.transcription-fiche blockquote { margin: 1.8rem 0; padding: 0; }
.transcription-fiche blockquote p { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.15rem, 2vw, 1.4rem); line-height: 1.65; }
.note-transcription { color: var(--secondaire); font-size: .82rem; line-height: 1.6; }
.lecture-transcription { margin: 1.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--ligne); line-height: 1.7; }
.transcription-fiche .renvois-sources { margin-bottom: 0; }
.corps-fiche { max-width: 740px; padding: 2rem 0 5rem; }
.corps-fiche > p { margin: 0 0 1.5rem; font-size: 1.08rem; line-height: 1.8; }
.retenir-fiche { max-width: 800px; margin: 0 0 6rem; padding: 2.5rem; background: var(--accent-clair); }
.retenir-fiche h2 { font-size: clamp(2rem, 4vw, 3rem); }
.retenir-fiche ul { margin: 1.5rem 0 0; padding-left: 1.2rem; }
.retenir-fiche li { padding: .5rem 0; line-height: 1.6; }
.liste-sources-fiche { max-width: 900px; }

@media (max-width: 760px) {
  .entete { align-items: flex-start; flex-direction: column; gap: .75rem; }
  main { width: min(100% - 1.5rem, 1160px); }
  .hero { min-height: auto; padding: 5rem 0; }
  .hero { grid-template-columns: 1fr; gap: 3rem; }
  .hero-visuel { width: min(100%, 34rem); aspect-ratio: 4 / 3; }
  .hero-visuel img { object-position: center; }
  h1 { font-size: clamp(3rem, 16vw, 5.2rem); }
  .section { padding: 5rem 0; }
  .dossiers, .fonds-grille, .grille-collections { grid-template-columns: 1fr; }
  .carte-dossier { min-height: 14rem; }
  .carte-collection { min-height: 25rem; padding: 1.4rem; }
  .motif-carte { height: 9rem; margin: -1.4rem -1.4rem 1.2rem; }
  .visuel-carte { height: 10rem; margin: -1.4rem -1.4rem 1.2rem; }
  .entete-page-derivee.entete-collection { grid-template-columns: 1fr; gap: 2.5rem; }
  .entete-page-derivee, .entete-glossaire { grid-template-columns: 1fr; gap: 2.5rem; }
  .visuel-derive { min-height: 12rem; }
  .visuel-glossaire { min-height: 11rem; }
  .motif-hero { min-height: 13rem; }
  .motif-bandeau { height: 8rem; margin-bottom: 3rem; }
  .visuel-bandeau { height: 9rem; margin-bottom: 3rem; }
  .parcours-collection > li { grid-template-columns: 1fr; gap: 1rem; }
  .numero-collection { font-size: 2.8rem; }
  .dossier-public { padding-top: 6rem; }
  .introduction-dossier { margin-bottom: 5rem; }
  .entrees-dossier, .regard-archives { padding: 1.4rem; }
  .entrees-grille, .regard-grille { grid-template-columns: 1fr; }
  .entrees-grille article { min-height: auto; }
  .entrees-grille h4 { margin-top: 1.5rem; }
  .regard-grille article { padding-right: 0; padding-bottom: 1.2rem; }
  .bloc-frise { margin-bottom: 5rem; padding: 1.4rem; }
  .frise-dossier li { grid-template-columns: 1fr; gap: .8rem; }
  .chapitre-dossier { padding: 5rem 0; }
  .numero-chapitre { top: 4.6rem; font-size: 4.5rem; }
  .reperes-lecture { padding: 1.2rem; }
  .reperes-lecture dl { grid-template-columns: 1fr; }
  .mot-passage { grid-template-columns: 1fr; gap: .6rem; }
  .retenir-dossier { margin-bottom: 5rem; padding: 1.5rem; }
  .explication-edit { padding: 1.2rem; }
  .explication-grille { grid-template-columns: 1fr; }
  .explication-grille article { min-height: auto; }
  .explication-grille h5 { margin-top: 1.4rem; }
  .figure-dossier { margin: 3rem 0; }
  .image-dossier-lien { min-height: 10rem; padding: .5rem; }
  .figure-image figcaption, .schema-dossier { padding: 1.2rem; }
  .figure-image figcaption { padding-left: 1.9rem; }
  .figure-image figcaption::before { top: 1.2rem; bottom: 1.2rem; left: .9rem; }
  .branches-schema { grid-template-columns: 1fr; gap: 1px; }
  .branches-schema article { min-height: auto; }
  .branches-schema article::after { display: none; }
  .convergence-schema { margin-top: 2rem; }
  .etapes-schema { grid-template-columns: 1fr; gap: 2rem; }
  .schema-dossier.longue .etapes-schema { grid-template-columns: 1fr; gap: 2rem; }
  .etapes-schema li { min-height: auto; }
  .etapes-schema li:not(:last-child)::after { top: auto; right: 50%; bottom: -1.8rem; transform: translateX(50%) rotate(90deg); }
  .corps-systeme { grid-template-columns: 1fr; }
  .coeur-systeme { min-height: 9rem; border-radius: 5rem; }
  .coeur-systeme::before, .coeur-systeme::after { content: "↓"; top: auto; right: 50%; left: auto; transform: translateX(50%); }
  .coeur-systeme::before { top: -1.8rem; }
  .coeur-systeme::after { bottom: -1.8rem; }
  .pied-page { width: min(100% - 1.5rem, 1160px); grid-template-columns: 1fr; }
  .pied-page .contact-pied { grid-column: auto; }
  .pied-page .mise-a-jour { grid-column: auto; }
  .entete-glossaire { padding-bottom: 5rem; }
  .groupe-glossaire { grid-template-columns: 2.25rem minmax(0, 1fr); gap: 1rem; }
  .entree-glossaire { grid-template-columns: 1fr; gap: .8rem; }
  .sommaire-exploration { grid-template-columns: repeat(2, 1fr); }
  .sommaire-exploration a:nth-child(3) { border-left: 0; border-top: 1px solid var(--ligne); }
  .sommaire-exploration a:nth-child(4) { border-top: 1px solid var(--ligne); }
  .liste-axes-publics, .liste-chantiers { grid-template-columns: 1fr; }
  .liste-axes-publics li:nth-child(odd) { border-right: 0; }
  .liste-axes-publics a { grid-template-columns: 4.5rem minmax(0, 1fr); }
  .miniature-axe { width: 4.5rem; height: 3.6rem; }
  .page-axe .liste-affirmations, .page-axe .liste-evenements-derives, .page-index-sources .liste-liens-derives { grid-template-columns: 1fr; }
  .page-index-sources .liste-liens-derives li:nth-child(odd) { border-right: 0; }
  .grille-exploration-accueil, .grille-axes, .index-axe .grille-axes, .compteurs-lacunes { grid-template-columns: 1fr; }
  .grille-exploration-accueil article, .grille-axes article { min-height: auto; }
  .entete-page-derivee { padding-bottom: 5rem; }
  .bloc-derive { padding: 4rem 0; }
  .compteurs-lacunes { margin-bottom: 4rem; }
  .compteurs-lacunes article { min-height: 8rem; }
  .grille-fiches { grid-template-columns: 1fr; }
  .grille-fiches article { min-height: auto; }
  .meta-fiche { margin-top: 1rem; }
  .fiche-publique { padding-top: 5rem; }
  .entete-fiche { padding-bottom: 3rem; }
  .definition-fiche { padding: 1.4rem; }
  .transcription-fiche { padding: 1.4rem; }
  .corps-fiche { padding-bottom: 4rem; }
  .retenir-fiche { padding: 1.5rem; }
}

@media (prefers-color-scheme: dark) {
  :root {
    --fond: #121411;
    --papier: #191c18;
    --encre: #eff1eb;
    --secondaire: #afb5ac;
    --ligne: #3b403a;
    --accent: #83c7b4;
    --accent-clair: #1c3931;
    --ocre: #e6b589;
    --ocre-clair: #30251f;
    --bleu-nuit: #172b33;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .carte-collection { transition: transform 180ms ease, box-shadow 180ms ease; }
  .carte-collection:hover { position: relative; z-index: 1; box-shadow: 0 1rem 2.5rem rgb(23 25 22 / .12); transform: translateY(-3px); }
}
