/* Pages d'info (07/11/2026). La base est celle des articles du journal, que Numan a retenue : le titre et le chapô,
   la photo en pleine largeur, une colonne de lecture en encre sombre, des chapitres numérotés, un bandeau marine pour
   finir. Par-dessus, chaque page a sa composition (src/site/fp/info.ts) : registre, règles, frise, triptyque…
   Toutes les règles sont préfixées par « .contenu.contenu--lecture » pour passer devant complements.css. */

.contenu.contenu--lecture { --voile: #EFF4F7; --encre-corps: #1B2A35; }

/* ---------- La tête ---------- */
.contenu.contenu--lecture .lec-tete { padding-top: 48px; }
.contenu.contenu--lecture .lec-tete__txt { display: grid; gap: 22px; max-width: 56rem; margin: 0 auto 36px; }
.contenu.contenu--lecture .lec-tete__txt h1 { font: 800 clamp(2.2rem, 5vw, 4rem)/1.02 var(--titre); letter-spacing: -.035em; color: var(--marine); text-wrap: balance; }
.contenu.contenu--lecture .lec-tete__chapo { margin: 0; max-width: 46rem; font: 400 clamp(1.125rem, 1.7vw, 1.375rem)/1.55 var(--texte); color: var(--encre-corps); }
.contenu.contenu--lecture .lec-tete__img:not(.lec-tete__img--entiere) { aspect-ratio: 21 / 9; border-radius: 6px; }

/* ---------- La lecture ---------- */
.contenu.contenu--lecture .lec { gap: 28px; padding-block: 56px 72px; }
.contenu.contenu--lecture .lec__corps { font-size: 1.1875rem; line-height: 1.7; color: var(--encre-corps); }
.contenu.contenu--lecture .lec__corps .prose, .contenu.contenu--lecture .lec__corps .section__tete { max-width: 42.5rem; }
.contenu.contenu--lecture .lec__corps .section + .section { margin-top: 3.4rem; }
.contenu.contenu--lecture .lec__corps .section > .wrap > h2,
.contenu.contenu--lecture .lec__corps .texte-photo__cote h2,
.contenu.contenu--lecture .lec__corps .section__tete h2 { font: 700 clamp(1.7rem, 3vw, 2.375rem)/1.08 var(--titre); letter-spacing: -.025em; color: var(--marine); }
.contenu.contenu--lecture .lec__corps .prose a:not(.btn) { font-weight: 500; color: var(--marine); text-decoration-color: var(--ambre); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.contenu.contenu--lecture .lec__corps .prose strong { color: var(--marine); font-weight: 650; }
.contenu.contenu--lecture .lec__corps .prose h2, .contenu.contenu--lecture .lec__corps .prose h3 { font: 650 1.3125rem/1.25 var(--titre); letter-spacing: -.01em; color: var(--marine); }
.contenu.contenu--lecture .lec__corps .prose blockquote { padding-left: 24px; border-left: 4px solid var(--ambre); font: 400 1.3125rem/1.55 var(--texte); }
.contenu.contenu--lecture .lec__corps .prose img { border-radius: 6px; }
.contenu.contenu--lecture .lec__corps .prose li::marker { color: var(--gris); }

/* Le premier texte de la page, sans intertitre, fait office d'entrée en matière. */
.contenu.contenu--lecture .lec__corps > .section:first-child:not(.if-sec):not(:has(h2)) > .wrap > .prose > p:first-child { font-size: 1.3125rem; line-height: 1.55; color: var(--marine); }

/* Chapitres numérotés, quand la page a un sommaire. */
.contenu.contenu--lecture.if-chapitres .lec__corps { counter-reset: chapitre; }
.contenu.contenu--lecture.if-chapitres .lec__corps h2[id] { counter-increment: chapitre; }
.contenu.contenu--lecture.if-chapitres .lec__corps h2[id]::before { content: counter(chapitre); display: block; margin-bottom: 10px; font: 600 .9375rem/1 var(--texte); letter-spacing: 0; color: var(--gris); font-variant-numeric: tabular-nums; }

/* Le sommaire, numéroté comme les chapitres. */
.contenu.contenu--lecture .lec__sommaire { padding: 0; background: none; border-radius: 0; }
.contenu.contenu--lecture .lec__sommaire summary { font: 600 .9375rem/1.3 var(--texte); padding: 12px 0; }
.contenu.contenu--lecture .lec__sommaire ol { margin: 0; padding: 0; gap: 2px; counter-reset: s; }
.contenu.contenu--lecture .lec__sommaire ol::before { display: none; }
.contenu.contenu--lecture .lec__sommaire li { counter-increment: s; }
.contenu.contenu--lecture .lec__sommaire a { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr); padding: 6px 0; line-height: 1.35; }
.contenu.contenu--lecture .lec__sommaire a::before { content: counter(s); font-weight: 600; font-variant-numeric: tabular-nums; }
.contenu.contenu--lecture .lec__sommaire li.est-actif a { font-weight: 600; }

/* ---------- Les blocs riches dans la lecture : des listes tenues, sans pictos ni cartes ---------- */
/* Étapes : des lignes numérotées entre deux filets. */
.contenu.contenu--lecture .lec__corps .pas-liste { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; padding: 0; border-top: 2px solid var(--marine); counter-reset: none; }
.contenu.contenu--lecture .lec__corps .pas { position: relative; display: grid; grid-template-columns: 3rem minmax(0, 1fr); column-gap: 8px; padding: 18px 0; border-bottom: 1px solid var(--trait); background: none; box-shadow: none; border-radius: 0; text-align: left; }
.contenu.contenu--lecture .lec__corps .pas__n { position: static; grid-row: 1 / span 2; width: auto; height: auto; background: none; color: var(--marine); font: 800 1.75rem/1 var(--titre); box-shadow: none; }
.contenu.contenu--lecture .lec__corps .pas__ico { display: none; }
.contenu.contenu--lecture .lec__corps .pas h3 { margin: 0 0 4px; font: 650 1.1875rem/1.3 var(--titre); color: var(--marine); }
.contenu.contenu--lecture .lec__corps .pas p { margin: 0; font-size: 1.0625rem; line-height: 1.55; }

/* Points : des lignes à intitulé, sur deux colonnes quand la place le permet. */
.contenu.contenu--lecture .lec__corps .points { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 40px; margin: 0; padding: 0; border-top: 2px solid var(--marine); }
.contenu.contenu--lecture .lec__corps .point { padding: 16px 0; border-bottom: 1px solid var(--trait); background: none; box-shadow: none; border-radius: 0; }
.contenu.contenu--lecture .lec__corps .point > div, .contenu.contenu--lecture .lec__corps .point a { display: block; }
.contenu.contenu--lecture .lec__corps .point__ico { display: none; }
.contenu.contenu--lecture .lec__corps .point h3 { margin: 0 0 4px; font: 650 1.125rem/1.3 var(--titre); color: var(--marine); }
.contenu.contenu--lecture .lec__corps .point p { margin: 0; font-size: 1rem; line-height: 1.55; }
.contenu.contenu--lecture .lec__corps .point--lien a { color: inherit; text-decoration: none; }
.contenu.contenu--lecture .lec__corps .point--lien a:hover h3 { text-decoration: underline; text-decoration-color: var(--ambre); text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* Chiffres : de grands nombres alignés, chacun sous un filet. */
.contenu.contenu--lecture .lec__corps .section.section--menthe:has(.chiffres), .contenu.contenu--lecture .lec__corps .section:has(> .wrap > .chiffres) { padding: 0; background: none; border-radius: 0; }
.contenu.contenu--lecture .lec__corps .chiffres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin: 0; padding: 0; }
.contenu.contenu--lecture .lec__corps .chiffre { display: grid; gap: 4px; align-content: start; padding: 16px 0 20px; border-top: 2px solid var(--marine); background: none; box-shadow: none; border-radius: 0; text-align: left; }
.contenu.contenu--lecture .lec__corps .chiffre b { font: 750 clamp(1.9rem, 3.4vw, 2.6rem)/1.05 var(--titre); letter-spacing: -.025em; color: var(--marine); font-variant-numeric: tabular-nums; }
.contenu.contenu--lecture .lec__corps .chiffre span { font-size: 1rem; line-height: 1.45; color: var(--encre-corps); }
.contenu.contenu--lecture .lec__corps .chiffre small { font-size: .875rem; color: var(--gris); }

/* Encadrés de couleur hérités : un gris bleuté calme. */
.contenu.contenu--lecture .lec__corps .section--menthe, .contenu.contenu--lecture .lec__corps .section--peche { padding: 0; background: none; border-radius: 0; }

/* ---------- Les formes (info.ts) ---------- */
.contenu .if-forme { margin: 0; }
.contenu .if-forme h3 { margin: 0 0 6px; font: 650 1.1875rem/1.3 var(--titre); letter-spacing: -.01em; color: var(--marine); }
.contenu .if-forme .prose { max-width: none; font-size: 1.0313rem; line-height: 1.6; }
.contenu .if-forme .prose p { margin: 0 0 .7em; }

/* Registre des labels : le logo à gauche, entier, dans un carré clair ; le texte à droite. */
.if-reg { display: grid; gap: 0; border-top: 2px solid var(--marine); }
.if-reg__e { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 28px; padding: 26px 0; border-bottom: 1px solid var(--trait); align-items: start; }
.if-reg__logo { display: grid; place-items: center; aspect-ratio: 1; padding: 14px; background: var(--voile); border-radius: 8px; }
.if-reg__logo img { width: 100%; height: 100%; object-fit: contain; border-radius: 0 !important; }

/* Règles numérotées sur deux colonnes. */
.if-regles { list-style: none; padding: 0; display: grid; gap: 0 48px; counter-reset: regle; border-top: 2px solid var(--marine); }
.if-regles > li { counter-increment: regle; position: relative; padding: 22px 0 18px 3.4rem; border-bottom: 1px solid var(--trait); }
.if-regles > li::before { content: counter(regle); position: absolute; left: 0; top: 20px; font: 800 1.9rem/1 var(--titre); color: var(--marine); font-variant-numeric: tabular-nums; }

/* Grille de textes courts. */
.if-grille { display: grid; gap: 0 40px; }
.if-grille__c { padding: 20px 0; border-top: 2px solid var(--marine); }

/* Frise : le repère de temps à gauche, une ligne qui relie les étapes. */
.if-frise { list-style: none; padding: 0; display: grid; gap: 0; }
.if-frise > li { position: relative; display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: 28px; padding-bottom: 28px; }
.if-frise > li::before { content: ""; position: absolute; left: calc(8rem + 13px); top: 10px; bottom: -4px; width: 2px; background: var(--trait); }
.if-frise > li:last-child::before { display: none; }
.if-frise > li > div { position: relative; padding-left: 28px; }
.if-frise > li > div::before { content: ""; position: absolute; left: 6px; top: 8px; width: 14px; height: 14px; border-radius: 50%; background: var(--ambre); box-shadow: 0 0 0 4px var(--blanc); }
.if-frise__quand { font: 750 1.375rem/1.15 var(--titre); color: var(--marine); text-align: right; letter-spacing: -.01em; }

/* Triptyque : trois familles de projets côte à côte. */
.if-tri { display: grid; gap: 0 36px; }
.if-tri__c { padding: 20px 0; border-top: 2px solid var(--marine); }
.if-photo { margin: 0; }
.if-photo img { width: 100%; height: auto; max-height: 34rem; object-fit: cover; border-radius: 6px; }
.if-photo figcaption { margin-top: 8px; font-size: .875rem; color: var(--gris); }

/* Bibliothèque de ressources : des lignes sous l'intitulé de la rubrique. */
.contenu .if-biblio { display: grid; gap: 0; margin-top: 18px; border-top: 2px solid var(--marine); }
.if-biblio__l { padding: 20px 0; border-bottom: 1px solid var(--trait); }

/* Portrait : un encadré à filet jaune. */
.contenu .if-portrait { max-width: 42.5rem; padding: 26px 30px; background: var(--voile); border-left: 4px solid var(--ambre); border-radius: 0 8px 8px 0; }

/* Constat chiffré. */
.contenu .if-constat { display: grid; gap: 6px; max-width: 42.5rem; padding: 0 0 8px; }
.if-constat__quoi { margin: 0; font: 600 1rem/1.3 var(--texte); color: var(--gris); }
.if-constat__n { margin: 0 0 14px; font: 800 clamp(2.8rem, 7vw, 5rem)/1 var(--titre); letter-spacing: -.04em; color: var(--marine); font-variant-numeric: tabular-nums; }

/* Objectifs des Nations unies : la pastille de couleur officielle. */
.if-odd { display: grid; gap: 0 40px; }
.if-odd__c { padding: 20px 0 14px; border-top: 1px solid var(--trait); }
.if-odd__ns { display: flex; gap: 6px; margin-bottom: 12px; }
.if-odd__n { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 4px; background: var(--odd); color: #fff; font: 800 1.25rem/1 var(--titre); font-variant-numeric: tabular-nums; }

/* ---------- Transformations de contenu ---------- */
/* FAQ repliée. */
.contenu.contenu--lecture .lec__corps .prose:has(.if-faq) { border-top: 1px solid var(--trait); }
.if-faq { border-bottom: 1px solid var(--trait); }
.if-faq summary { list-style: none; cursor: pointer; position: relative; padding: 16px 36px 16px 0; font: 600 1.125rem/1.35 var(--titre); color: var(--marine); }
.if-faq summary::-webkit-details-marker { display: none; }
.if-faq summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 10px; height: 10px; border-right: 2px solid var(--marine); border-bottom: 2px solid var(--marine); transform: translateY(-70%) rotate(45deg); }
.if-faq[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.if-faq > div { padding-bottom: 16px; font-size: 1.0625rem; line-height: 1.65; }
.if-faq > div > :last-child { margin-bottom: 0; }

/* Index des pays. */
.contenu.contenu--lecture .lec__corps .prose:has(.if-pays) { max-width: none; }
.contenu.contenu--lecture .lec__corps .prose:has(.if-pays) > p { max-width: 42.5rem; }
.if-pays { margin: 1.4em 0; border-top: 2px solid var(--marine); }
.contenu.contenu--lecture .lec__corps .prose .if-pays__l { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1.3fr) minmax(0, 1fr); gap: 4px 24px; padding: 16px 0; border-bottom: 1px solid var(--trait); color: inherit; text-decoration: none; font-weight: 400; align-items: baseline; }
.if-pays__nom { font: 650 1.1875rem/1.25 var(--titre); color: var(--marine); }
.if-pays__l:hover .if-pays__nom { text-decoration: underline; text-decoration-color: var(--ambre); text-decoration-thickness: 3px; text-underline-offset: 5px; }
.if-pays__c { font-size: 1rem; line-height: 1.45; }
.if-pays__c small { display: block; font-size: .8125rem; color: var(--gris); }

/* ---------- La fin : le bandeau marine ---------- */
.if-fin { background: var(--marine); color: var(--blanc); }
.if-fin__in { display: grid; gap: 28px 64px; padding-block: 56px; align-items: center; }
.if-fin h2 { margin: 0; font: 800 clamp(2rem, 4vw, 3rem)/1.02 var(--titre); letter-spacing: -.03em; color: var(--blanc); }
.if-fin p { margin: 12px 0 0; max-width: 30rem; font-size: 1.125rem; line-height: 1.5; color: #DBE7EF; }
.if-fin__contact { display: grid; gap: 16px; justify-items: start; }
.if-fin__contact .btn { min-width: 15rem; }
.if-fin__tel { font: 700 1.75rem/1 var(--titre); color: var(--ambre); text-decoration: none; font-variant-numeric: tabular-nums; white-space: nowrap; }
.if-fin__tel:hover { text-decoration: underline; text-underline-offset: 6px; }

/* ---------- Les largeurs ---------- */
@media (min-width: 760px) {
  .if-fin__in { grid-template-columns: minmax(0, 1.3fr) auto; }
  .contenu.contenu--lecture .lec__corps .points--2, .contenu.contenu--lecture .lec__corps .points--3, .contenu.contenu--lecture .lec__corps .points--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contenu.contenu--lecture .lec__corps .chiffres--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .if-regles, .if-odd, .if-grille--2, .if-grille--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .if-grille--3, .if-tri { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1040px) {
  /* Le sommaire à gauche, la page à droite : le texte garde sa largeur de lecture, les formes prennent toute la place. */
  .contenu.contenu--lecture .lec { grid-template-columns: 15rem minmax(0, 58rem); gap: 64px; justify-content: center; }
  .contenu.contenu--lecture .lec--seul { grid-template-columns: minmax(0, 58rem); }
  .contenu.contenu--lecture .lec--seul .lec__corps .prose, .contenu.contenu--lecture .lec--seul .lec__corps > .section > .wrap > h2 { margin-inline: 0; }
  .contenu.contenu--lecture .lec__corps .grille-cartes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1039px) {
  .contenu.contenu--lecture .lec__cote { border-bottom: 1px solid var(--trait); padding-bottom: 8px; }
  .contenu.contenu--lecture .lec-tete__img:not(.lec-tete__img--entiere) { aspect-ratio: 16 / 9; }
}
@media (max-width: 639px) {
  .contenu.contenu--lecture .lec-tete { padding-top: 24px; }
  .contenu.contenu--lecture .lec-tete__txt { gap: 14px; margin-bottom: 20px; }
  .contenu.contenu--lecture .lec-tete__img:not(.lec-tete__img--entiere) { aspect-ratio: 3 / 2; }
  .contenu.contenu--lecture .lec { padding-block: 28px 44px; }
  .contenu.contenu--lecture .lec__corps { font-size: 1.0938rem; }
  .if-reg__e { grid-template-columns: 5rem minmax(0, 1fr); gap: 18px; }
  .if-frise > li { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .if-frise > li::before, .if-frise > li > div::before { display: none; }
  .if-frise > li > div { padding-left: 0; }
  .if-frise__quand { text-align: left; }
  .contenu.contenu--lecture .lec__corps .prose .if-pays__l { grid-template-columns: minmax(0, 1fr); }
  .if-fin__in { padding-block: 40px; }
  .if-fin__tel { font-size: 1.5rem; }
}

/* Une forme composée reste séparée de ses voisines, même quand complements.css colle les sections sans intertitre. */
.contenu.contenu--lecture .lec__corps > .section.if-sec, .contenu.contenu--lecture .lec__corps > .section.if-sec + .section { margin-top: 3.4rem !important; }
.contenu.contenu--lecture .lec__corps > .section.if-sec:first-child { margin-top: 0 !important; }
.if-frise h3::first-letter { text-transform: uppercase; }

/* Finitions du 07/11 : un point se lit en une colonne, sans le pinceau ni l'écriture manuscrite des titres. */
.contenu.contenu--lecture .lec__corps .point { display: block; }
.contenu.contenu--lecture .lec__corps .point > div { overflow-wrap: normal; }
.contenu.contenu--lecture .lec__corps .pinceau { white-space: normal; padding: 0; background: none; }
.contenu.contenu--lecture .lec__corps .pinceau::after { display: none; }
.contenu.contenu--lecture .lec__corps .section__tete .main { margin: 0 0 6px; font: 600 .9375rem/1.3 var(--texte); color: var(--gris); }
.contenu.contenu--lecture .lec__corps .section__tete { max-width: none; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 8px 32px; }
.contenu.contenu--lecture .lec__corps .section__tete > div, .contenu.contenu--lecture .lec__corps .section__tete .chapo { max-width: 42.5rem; }
.contenu.contenu--lecture .lec__corps .section__tete--centre { display: block; }
.contenu.contenu--lecture .lec__corps p.centre { text-align: left; }
.contenu.contenu--lecture .lec__corps .chiffre b { font-size: clamp(1.75rem, 3vw, 2.375rem); text-wrap: balance; }
.contenu.contenu--lecture .lec__corps .odd { padding: 0; background: none; }
.if-odd__c h3::first-letter { text-transform: uppercase; }
.contenu.contenu--lecture.if-chapitres .lec__corps .section__tete .main { display: none; }

/* ---------------------------------------------------------------- Pages vitrines (07/11/2026, src/site/fp/vitrine.ts)
   Hors colonne de lecture : grande photo, sections qui alternent texte et photo, équipe en cartes, mot en citation. */
.vitrine { --vt-corps: #1B2A35; color: var(--vt-corps); }
.vitrine .vt-h1 { margin: 0; font: 800 clamp(2.4rem, 5.4vw, 4.4rem)/1.02 var(--titre); font-stretch: 90%; letter-spacing: -.02em; color: var(--marine); text-wrap: balance; }
.vitrine .vt-h2 { margin: 0 0 .7em; font: 800 clamp(1.7rem, 3.2vw, 2.5rem)/1.1 var(--titre); font-stretch: 92%; letter-spacing: -.015em; color: var(--marine); text-wrap: balance; }
.vitrine .vt-prose { font-size: 1.125rem; line-height: 1.7; }
.vitrine .vt-prose h3 { margin: 1.6em 0 .45em; font: 800 1.25rem/1.25 var(--titre); color: var(--marine); }
.vitrine .vt-prose h3:first-child { margin-top: 0; }
.vitrine .vt-prose ol, .vitrine .vt-prose ul { padding-left: 1.2em; }
.vitrine .vt-prose li { margin: .35em 0; }

.vt-tete { padding-block: 56px 0; }
.vt-tete__txt { display: grid; gap: 20px; max-width: 54rem; margin-bottom: 40px; }
.vt-tete__chapo { margin: 0; font-size: clamp(1.15rem, 1.8vw, 1.375rem); line-height: 1.55; color: var(--gris); max-width: 46rem; }
.vt-tete__img { display: block; width: 100%; height: auto; aspect-ratio: 1600 / 553; object-fit: cover; border-radius: var(--r-img); }

.vt-duo { padding-block: 88px; }
.vt-duo + .vt-duo { padding-top: 0; }
.vt-duo__in { display: grid; gap: 40px; align-items: start; }
.vt-duo__photo { margin: 0; }
.vt-duo__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r-img); }
.vt-duo__photo figcaption, .vt-equipe__groupe figcaption { margin-top: 10px; font-size: .9375rem; color: var(--gris); }
@media (min-width: 960px) {
  .vt-duo__in { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 72px; }
  .vt-duo--inverse .vt-duo__txt { order: 2; }
  .vt-duo--inverse .vt-duo__in { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .vt-duo__photo { position: sticky; top: 120px; }
}

.vt-chiffres { background: var(--marine); }
.vt-chiffres .chiffre, .vt-chiffres .chiffre span { color: var(--marine); }
.vt-chiffres .section { background: none; padding-block: 64px; }
.vt-chiffres .section__tete h2, .vt-chiffres > .section > .wrap > h2 { color: var(--ambre); }

.vt-note { padding-block: 0 24px; }
.vt-note__in { max-width: 46rem; padding: 26px 30px; background: var(--peche-pale); border-radius: var(--r-outil); }
.vt-note__titre { margin: 0 0 8px; font: 800 1.125rem/1.3 var(--titre); color: var(--marine); }
.vt-note__in .prose { font-size: 1rem; line-height: 1.6; }

.vt-texte { padding-block: 72px; }
.vt-texte__in > * { max-width: 46rem; }

.vt-equipe { padding-block: 96px; background: var(--menthe-pale); }
.vt-equipe__groupe { margin: 0 0 48px; }
.vt-equipe__groupe img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 7; object-fit: cover; border-radius: var(--r-img); }
.vt-equipe__grille { display: grid; gap: 40px; align-items: start; }
@media (min-width: 960px) { .vt-equipe__grille { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 64px; } }
.vt-gens { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.vt-gens__c { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; align-items: start; padding: 20px 22px; background: #fff; border-radius: var(--r-outil); }
.vt-gens__ini { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--fond); font: 800 1.125rem/1 var(--titre); color: var(--marine); }
.vt-gens__nom { margin: 0; font: 800 1.1875rem/1.25 var(--titre); color: var(--marine); }
.vt-gens__role { margin: 4px 0 0; font-size: 1rem; line-height: 1.45; }
.vt-gens__pays { margin: 8px 0 0; font-size: .9375rem; line-height: 1.5; color: var(--gris); }
.vt-gens__pays span { display: inline-block; margin-right: 6px; padding: 1px 9px; border-radius: var(--r-pilule); background: var(--peche); font-weight: 700; color: var(--marine); }

.vt-mot { margin: 72px 0 0; display: grid; gap: 32px; align-items: center; padding: clamp(24px, 4vw, 48px); background: #fff; border-radius: var(--r-carte); }
@media (min-width: 960px) { .vt-mot { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; } }
.vt-mot__photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: 70% 30%; border-radius: var(--r-img); }
.vt-mot__txt { margin: 0; }
.vt-mot__titre { margin: 0 0 14px; font: 600 2rem/1.1 var(--main); color: var(--ambre-fonce); }
.vt-mot__txt .vt-prose p:first-child { font: 800 clamp(1.3rem, 2.2vw, 1.6rem)/1.35 var(--titre); color: var(--marine); }

/* Une section de texte long (listes) : deux colonnes de listes sur grand écran. */
@media (min-width: 960px) { .vt-texte .vt-prose ul { columns: 2; column-gap: 40px; } .vt-texte .vt-prose li { break-inside: avoid; } }
.vt-duo__photo--entiere img { aspect-ratio: auto; object-fit: contain; max-height: 460px; border-radius: 0; }

/* Vitrine : cartes (textes courts côte à côte) et frise (objectifs datés). */
.vt-grille { padding-block: 72px; background: var(--peche-pale); }
.vt-grille + .vt-grille { padding-top: 0; }
.vt-cartes { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
@media (min-width: 760px) { .vt-cartes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .vt-cartes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.vt-carte { padding: 28px 26px; background: var(--blanc); border-radius: var(--r-carte); }
.vt-carte__titre { margin: 0 0 12px; font: 800 1.3125rem/1.25 var(--titre); color: var(--marine); text-wrap: balance; }
.vt-carte .prose { font-size: 1rem; line-height: 1.6; }
.vt-carte .prose ul { padding-left: 1.1em; }
.vt-frise { padding-block: 88px; }
.vt-etapes { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.vt-etape { display: grid; gap: 10px 40px; padding: 32px 0; border-top: 2px solid var(--marine); }
.vt-etape:last-child { border-bottom: 2px solid var(--marine); }
@media (min-width: 900px) { .vt-etape { grid-template-columns: 220px minmax(0, 1fr); } }
.vt-etape__quand { margin: 0; font: 800 clamp(2rem, 4vw, 3rem)/1 var(--titre); font-stretch: 88%; color: var(--ambre-fonce); }
.vt-etape__titre { margin: 0 0 10px; font: 800 1.5rem/1.2 var(--titre); color: var(--marine); }
.vt-etape .vt-prose { max-width: 46rem; }
.vt-tete__img--entiere { aspect-ratio: auto; object-fit: contain; max-height: 520px; width: auto; max-width: 100%; border-radius: 0; }
.vt-chiffres .chiffres__note { color: #C9DAE6; }

/* Vitrine : les formes particulières (registre, ODD, règles, rubriques, familles) dans une section aérée. */
.vt-forme { padding-block: 64px; }
.vt-forme .prose { font-size: 1.0625rem; line-height: 1.65; }
