/* ============================================================
   KHRW Review ,  peau « khr- » ,  direction 06 adaptée au sujet
   Matière : poussière de stockage, bleu signalétique, cire de scellement.
   Polices : archivo-v8-latin-700 (titres), open-sans-latin-regular (texte).
   ============================================================ */

@font-face {
  font-family: "KHR Archivo";
  src: url("/archivo-v8-latin-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "KHR Open Sans";
  src: url("/open-sans-latin-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --khr-papier: #F5F3EC;
  --khr-papier-clair: #FBF9F3;
  --khr-poussiere: #D9D6CB;
  --khr-encre: #1E2A32;
  --khr-encre-douce: #54636D;
  --khr-signal: #1F5C7A;
  --khr-signal-clair: #2E7BA0;
  --khr-scellement: #8A6B3A;
  --khr-nuit: #141C22;
  --khr-ombre: #0E1418;
  --khr-filet: #C3C7C2;
  --khr-accent-chaud: hsl(28, 62%, 52%);

  --khr-titre-police: "KHR Archivo", "Archivo Narrow", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --khr-texte-police: "KHR Open Sans", "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
  --khr-mono-police: ui-monospace, "SF Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --khr-ratio-une: 16 / 9;
  --khr-ratio-vignette: 4 / 3;
  --khr-ratio-detail: 1 / 1;

  --khr-largeur: 78rem;
  --khr-gouttiere: 1.25rem;
  --khr-pas: 1rem;
  --khr-rayon: 16px;
  --khr-rayon-petit: 12px;
  --khr-mesure: 68ch;

  --khr-ombre-douce: 0 14px 34px -18px hsla(206, 42%, 22%, 0.35);
  --khr-ombre-carte: 0 10px 26px -12px hsla(206, 50%, 20%, 0.28);
  --khr-ombre-vignette: 0 22px 44px -22px hsla(206, 55%, 18%, 0.42);
  --khr-texte-ombre: 0 2px 8px hsla(206, 60%, 10%, 0.55);
}

@media (prefers-color-scheme: dark) {
  :root {
    --khr-papier: #141C22;
    --khr-papier-clair: #1B252D;
    --khr-poussiere: #2E3B46;
    --khr-encre: #E4EEF5;
    --khr-encre-douce: #A6B8C4;
    --khr-signal: #4E8FAE;
    --khr-signal-clair: #6BA6C2;
    --khr-nuit: #0B1116;
    --khr-filet: #3A4E60;
    --khr-ombre-douce: 0 14px 34px -18px hsla(206, 60%, 4%, 0.7);
    --khr-ombre-carte: 0 10px 26px -12px hsla(206, 60%, 4%, 0.6);
    --khr-ombre-vignette: 0 22px 44px -22px hsla(206, 60%, 4%, 0.75);
  }
}

/* Règle négative : --khr-signal ne sert jamais de fond à plus de 20 % d'une section.
   Elle marque une preuve ou un onglet actif, jamais une décoration de remplissage. */
/* Règle négative : --khr-scellement ne colore jamais un lien, un bouton ni un titre de section.
   Il ne marque que la lettrine, les chiffres et le filet double des titres. */

*, *::before, *::after { box-sizing: border-box; }
* { min-width: 0; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--khr-texte-police);
  font-size: clamp(1rem, 0.94rem + 0.35vw, 1.18rem);
  line-height: 1.62;
  color: var(--khr-encre);
  background:
    radial-gradient(90rem 40rem at 8% -8%, hsla(202, 48%, 78%, 0.35), transparent 60%),
    radial-gradient(70rem 34rem at 96% 4%, hsla(28, 60%, 68%, 0.22), transparent 62%),
    var(--khr-papier);
  background-attachment: fixed;
}

img, svg, video { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; }
a { color: var(--khr-signal); text-decoration: none; text-underline-offset: 3px; }
a:hover { text-decoration: underline; }
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--khr-signal-clair);
  outline-offset: 3px;
  border-radius: 4px;
}

.khr-travee {
  width: min(100% - 2 * var(--khr-gouttiere), var(--khr-largeur));
  margin-inline: auto;
}

.khr-evitement {
  position: absolute;
  left: -100vw;
  top: 0;
  background: var(--khr-signal);
  color: var(--khr-papier-clair);
  padding: 0.75rem 1rem;
  border-radius: 0 0 var(--khr-rayon-petit) 0;
  z-index: 50;
  font-family: var(--khr-mono-police);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.khr-evitement:focus { left: 0; }

/* ============ Manchette ============ */
.khr-manchette { padding-block: .45rem 0; }
.khr-manchette__laisse {
  height: 5px;
  background: var(--khr-signal);
  margin-inline: calc(-50vw + 50%);
  margin-bottom: 1rem;
}
.khr-manchette__interieur {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
  padding-bottom: 0.75rem;
}
.khr-manchette__marque {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.khr-embleme {
  width: 40px;
  height: 40px;
  border-radius: var(--khr-rayon-petit);
  box-shadow: var(--khr-ombre-carte);
  flex: none;
}
.khr-manchette__enseigne {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem);
  letter-spacing: -0.035em;
  line-height: 1.05;
  color: var(--khr-encre);
  text-shadow: 0 1px 0 hsla(206, 40%, 92%, 0.5);
}
.khr-manchette__devise {
  font-family: var(--khr-mono-police);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--khr-encre-douce);
  margin: 0;
}
.khr-manchette__volet {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding-block: 0.5rem;
  border-block: 1px solid var(--khr-poussiere);
}
.khr-mono__item {
  font-family: var(--khr-mono-police);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--khr-encre-douce);
}

/* ============ Onglets ============ */
.khr-onglets {
  background: var(--khr-papier-clair);
  border-block-end: 1px solid var(--khr-filet);
  box-shadow: var(--khr-ombre-douce);
}
.khr-onglets__interieur {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding-block: 0.5rem;
}
.khr-onglet {
  flex: 1 1 8rem;
  text-align: center;
  padding: 0.6rem 0.9rem;
  border-radius: var(--khr-rayon-petit);
  border: 1px solid transparent;
  color: var(--khr-encre);
  font-family: var(--khr-titre-police);
  font-weight: 700;
  letter-spacing: -0.02em;
  font-size: 0.98rem;
}
.khr-onglet:hover { background: hsl(200, 40%, 92%); text-decoration: none; }
.khr-onglet--actif {
  background: var(--khr-signal);
  color: var(--khr-papier-clair);
  border-color: var(--khr-signal);
}
.khr-onglet--actif:hover { background: var(--khr-signal-clair); }
@media (prefers-color-scheme: dark) {
  .khr-onglet:hover { background: hsl(206, 30%, 22%); }
}

.khr-principal { padding-block: 2rem 3rem; }

/* ============ Ouverture ============ */
.khr-ouverture { margin-bottom: 2rem; }
.khr-ouverture__surtitre {
  font-family: var(--khr-mono-police);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--khr-signal);
  margin: 0 0 0.5rem;
}
.khr-ouverture__titre {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  font-size: clamp(2rem, 1.4rem + 2.6vw, 3.4rem);
  line-height: 1.06;
  letter-spacing: -0.04em;
  margin: 0 0 0.75rem;
  text-shadow: 0 2px 0 hsla(206, 40%, 92%, 0.4);
}
.khr-ouverture__intro {
  max-width: var(--khr-mesure);
  color: var(--khr-encre-douce);
  font-size: 1.05em;
}
.khr-ouverture__compte {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.9rem;
  margin-top: 0.75rem;
}

/* ============ Une ============ */
.khr-une-zone { margin-bottom: 2.5rem; }
.khr-partie__surtitre {
  font-family: var(--khr-mono-police);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--khr-scellement);
  margin: 0 0 0.75rem;
}

.khr-une {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
  gap: 1.25rem 1.5rem;
  align-items: start;
  background: var(--khr-papier-clair);
  border-radius: var(--khr-rayon);
  box-shadow: var(--khr-ombre-vignette);
  padding: 1.25rem;
  border: 1px solid var(--khr-filet);
}
.khr-une__figure {
  border-radius: var(--khr-rayon);
  overflow: hidden;
  box-shadow: var(--khr-ombre-carte);
  background: var(--khr-poussiere);
  position: relative;
}
.khr-une__lien-image { display: block; }
.khr-une__figure img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: var(--khr-ratio-une);
  object-fit: cover;
  filter: saturate(0.95) contrast(1.03);
  border-radius: var(--khr-rayon);
}
.khr-une__titre {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.4rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  margin: 0.75rem 0;
}
.khr-une__titre a { color: var(--khr-encre); text-shadow: 0 1px 0 hsla(206, 40%, 92%, 0.4); }
.khr-une__titre a:hover { color: var(--khr-signal); text-decoration: none; }
.khr-une__chapeau { color: var(--khr-encre-douce); max-width: 46ch; }
.khr-une__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-family: var(--khr-mono-police);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--khr-encre-douce);
  margin: 0.75rem 0;
}

/* Cartouche de preuve */
.khr-cartouche {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--khr-filet);
  border-inline-start: 4px solid var(--khr-signal);
  border-radius: var(--khr-rayon-petit);
  background: var(--khr-papier);
  box-shadow: 0 6px 16px -10px hsla(206, 45%, 25%, 0.35);
}
.khr-cartouche__niveau {
  font-family: var(--khr-mono-police);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--khr-signal);
  font-weight: 700;
}
.khr-cartouche__source {
  font-family: var(--khr-mono-police);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--khr-encre-douce);
}

/* Barre de certitude ,  l'idée inattendue */
.khr-cert { margin-top: 0.75rem; }
.khr-cert__barre { display: flex; gap: 4px; }
.khr-cert__case {
  width: 18px;
  height: 9px;
  border-radius: 3px;
  border: 1px solid var(--khr-filet);
  background: var(--khr-papier);
}
.khr-cert__case--plein { background: var(--khr-signal); border-color: var(--khr-signal); }
.khr-cert__compte {
  font-family: var(--khr-mono-police);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--khr-encre-douce);
  margin: 0.4rem 0 0;
}

/* Point de chaîne */
.khr-chaine {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-top: 0.5rem;
}
.khr-chaine__case {
  width: 8px;
  height: 8px;
  border: 1px solid var(--khr-filet);
  border-radius: 2px;
  background: var(--khr-papier);
}
.khr-chaine__case--plein { background: var(--khr-signal); border-color: var(--khr-signal); }
.khr-chaine__compte {
  font-family: var(--khr-mono-police);
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  color: var(--khr-encre-douce);
  margin-inline-start: 0.4rem;
}

/* Légende image */
.khr-legende {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.6rem;
  padding: 0.6rem 0.75rem;
  border-block-start: 1px solid var(--khr-poussiere);
  background: var(--khr-papier);
  border-radius: 0 0 var(--khr-rayon) var(--khr-rayon);
}
.khr-legende__mention {
  font-family: var(--khr-mono-police);
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--khr-signal);
}
.khr-legende__texte {
  flex: 1 1 100%;
  font-size: 0.85rem;
  color: var(--khr-encre-douce);
  margin: 0;
}

/* Règle de poussière */
.khr-poussiere {
  display: block;
  height: 0;
  margin-block: 0.6rem 1rem;
  border-block-end: 1px solid var(--khr-poussiere);
  box-shadow: 0 3px 0 -2px var(--khr-poussiere);
}

/* ============ Section têtes ============ */
.khr-partie__tete {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 1rem;
}
.khr-partie__titre {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem);
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin: 0;
}
.khr-partie__titre a { color: var(--khr-encre); }
.khr-partie__titre a:hover { color: var(--khr-signal); text-decoration: none; }
.khr-partie__decompte {
  font-family: var(--khr-mono-police);
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  color: var(--khr-encre-douce);
}
.khr-partie__renvoi {
  margin-top: 1rem;
  font-family: var(--khr-mono-police);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.khr-renvoi { color: var(--khr-signal); }

/* ============ Flux daté ============ */
.khr-flux-zone { margin-block: 2.5rem; }
.khr-flux__liste {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
  gap: 1rem;
}
.khr-flux {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding: 0.9rem;
  background: var(--khr-papier-clair);
  border: 1px solid var(--khr-filet);
  border-radius: var(--khr-rayon);
  box-shadow: var(--khr-ombre-carte);
}
.khr-flux__vignette {
  border-radius: var(--khr-rayon-petit);
  overflow: hidden;
  background: var(--khr-poussiere);
}
.khr-flux__vignette img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: var(--khr-ratio-vignette);
  object-fit: cover;
  filter: saturate(0.95) contrast(1.03);
}
.khr-flux__texte { display: flex; flex-direction: column; gap: 0.35rem; }
.khr-flux__ligne {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.75rem;
  align-items: baseline;
}
.khr-flux__date, .khr-rails__ligne, .khr-rails__date {
  font-family: var(--khr-mono-police);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--khr-encre-douce);
}
.khr-rubrique-lien {
  font-family: var(--khr-mono-police);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--khr-signal);
}
.khr-flux__titre {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  font-size: 1.15rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0;
}
.khr-flux__titre a { color: var(--khr-encre); }
.khr-flux__titre a:hover { color: var(--khr-signal); text-decoration: none; }
.khr-flux__extrait { color: var(--khr-encre-douce); font-size: 0.92rem; margin: 0; }
.khr-flux__pied {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.35rem;
}
.khr-flux__pied .khr-cert { margin-top: 0; }

/* ============ Bande de nuit ============ */
.khr-volet--nuit {
  background: var(--khr-nuit);
  color: var(--khr-papier-clair);
  margin-block: 2.5rem;
  margin-inline: calc(-50vw + 50%);
  padding-block: 2.25rem;
  border-radius: 0;
  box-shadow: var(--khr-ombre-vignette);
}
.khr-volet--nuit .khr-khr-volet__interieur {
  width: min(100% - 2 * var(--khr-gouttiere), var(--khr-largeur));
  margin-inline: auto;
}
.khr-volet--nuit h2 {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem);
  letter-spacing: -0.03em;
  margin: 0 0 0.5rem;
  color: var(--khr-papier-clair);
  text-shadow: var(--khr-texte-ombre);
}
.khr-volet__intro {
  max-width: 60ch;
  color: var(--khr-poussiere);
  margin-bottom: 1.25rem;
}
.khr-volet__defs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
  gap: 1rem;
  margin: 0;
}
.khr-volet__def {
  padding: 0.85rem 1rem;
  border: 1px solid var(--khr-filet);
  border-inline-start: 4px solid var(--khr-signal-clair);
  border-radius: var(--khr-rayon-petit);
  background: hsla(206, 40%, 12%, 0.45);
}
.khr-volet__def dt {
  font-family: var(--khr-mono-police);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--khr-signal-clair);
  margin-bottom: 0.35rem;
}
.khr-volet__def dd { margin: 0; color: var(--khr-papier-clair); }

/* ============ Rubriques en accueil ============ */
.khr-rubrique-zone { margin-block: 2.5rem; }
.khr-rubrique-zone--alterne .khr-rubrique-zone__tribune {
  background: var(--khr-papier-clair);
  border-radius: var(--khr-rayon);
  padding: 1.25rem;
  box-shadow: var(--khr-ombre-douce);
}
.khr-rubrique-zone__grille {
  display: grid;
  grid-template-columns: minmax(0, 2.3fr) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}
.khr-rubrique-zone__intro { color: var(--khr-encre-douce); max-width: var(--khr-mesure); }

.khr-rail__liste {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
  gap: 0.75rem;
}
.khr-rail {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  gap: 0.85rem;
  padding: 0.7rem;
  background: var(--khr-papier-clair);
  border: 1px solid var(--khr-filet);
  border-radius: var(--khr-rayon);
  box-shadow: var(--khr-ombre-carte);
}
.khr-rail__vignette {
  border-radius: var(--khr-rayon-petit);
  overflow: hidden;
  background: var(--khr-poussiere);
}
.khr-rail__vignette img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: var(--khr-ratio-detail);
  object-fit: cover;
  filter: saturate(0.95) contrast(1.03);
}
.khr-rail__texte { display: flex; flex-direction: column; gap: 0.3rem; }
.khr-rail__ligne {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.6rem;
  margin: 0;
  align-items: baseline;
}
.khr-rail__titre {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0;
}
.khr-rail__titre a { color: var(--khr-encre); }
.khr-rail__titre a:hover { color: var(--khr-signal); text-decoration: none; }

.khr-encadre {
  padding: 1rem 1.1rem;
  background: hsl(28, 48%, 92%);
  border: 1px solid var(--khr-filet);
  border-inline-start: 4px solid var(--khr-scellement);
  border-radius: var(--khr-rayon);
  box-shadow: var(--khr-ombre-carte);
}
.khr-encadre__surtitre {
  font-family: var(--khr-mono-police);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--khr-scellement);
  margin: 0 0 0.5rem;
}
.khr-encadre p { margin: 0 0 0.5rem; font-size: 0.95rem; color: var(--khr-encre); }
.khr-encadre p:last-child { margin-bottom: 0; }
@media (prefers-color-scheme: dark) {
  .khr-encadre { background: hsl(28, 22%, 18%); }
}

/* ============ Réseau ============ */
.khr-reseau { margin-block: 2.5rem; }
.khr-reseau__tete h2 {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem);
  letter-spacing: -0.03em;
  margin: 0;
}
.khr-reseau__phrase {
  color: var(--khr-encre-douce);
  max-width: 60ch;
  margin-top: 0.35rem;
}
.khr-reseau__liste {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
  gap: 0.75rem;
}
.khr-reseau__item {
  padding: 0.85rem 1rem;
  background: var(--khr-papier-clair);
  border: 1px solid var(--khr-filet);
  border-radius: var(--khr-rayon);
  box-shadow: var(--khr-ombre-carte);
}
.khr-reseau__item p { margin: 0; }

/* ============ Article ============ */
.khr-ariane {
  font-family: var(--khr-mono-police);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--khr-encre-douce);
  margin-bottom: 1.25rem;
}
.khr-ariane ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.khr-ariane li + li::before { content: " / "; color: var(--khr-encre-douce); }
.khr-ariane a { color: var(--khr-signal); }

.khr-fiche { margin-top: 0.5rem; }
.khr-fiche__entete { margin-bottom: 1.5rem; }
.khr-fiche__ligne {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.9rem;
  align-items: baseline;
  margin-bottom: 0.75rem;
}
.khr-fiche__titre {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  font-size: clamp(1.8rem, 1.3rem + 2.4vw, 3.2rem);
  line-height: 1.06;
  letter-spacing: -0.04em;
  margin: 0 0 0.85rem;
  max-width: 22ch;
  text-shadow: 0 2px 0 hsla(206, 40%, 92%, 0.4);
}
.khr-fiche__chapeau {
  max-width: var(--khr-mesure);
  color: var(--khr-encre-douce);
  font-size: 1.08em;
}
.khr-fiche__figure {
  border-radius: var(--khr-rayon);
  overflow: hidden;
  box-shadow: var(--khr-ombre-vignette);
  margin-bottom: 2rem;
  background: var(--khr-poussiere);
}
.khr-fiche__figure img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: var(--khr-ratio-une);
  object-fit: cover;
  filter: saturate(0.95) contrast(1.03);
}

.khr-fiche__grille {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}
.khr-fiche__tribune { min-width: 0; }
.khr-fiche__marge { min-width: 0; display: flex; flex-direction: column; gap: 1rem; }

.khr-corps { max-width: var(--khr-mesure); }
.khr-corps p { margin-block: 0 1.1em; }
.khr-corps h2, .khr-corps h3 {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.12;
  margin: 1.75rem 0 0.75rem;
}
.khr-corps h2 { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.8rem); }
.khr-corps h3 { font-size: 1.2rem; }
.khr-corps a { color: var(--khr-signal); }
.khr-corps blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border-inline-start: 4px solid var(--khr-scellement);
  background: var(--khr-papier-clair);
  border-radius: var(--khr-rayon);
  font-size: 1.05em;
  color: var(--khr-encre-douce);
}
.khr-corps ul, .khr-corps ol {
  margin: 0 0 1.25rem;
  padding-inline-start: 1.4rem;
  list-style-position: outside;
}
.khr-corps li { margin-bottom: 0.4rem; }
.khr-corps > p:first-of-type::first-letter {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  float: inline-start;
  font-size: 3.6rem;
  line-height: 0.9;
  padding-inline-end: 0.12em;
  padding-block-start: 0.05em;
  color: var(--khr-scellement);
  border-inline-start: 3px solid var(--khr-poussiere);
  padding-inline-start: 0.15em;
  margin-inline-start: -0.15em;
}
.khr-corps table {
  width: 100%;
  border-collapse: collapse;
  margin-block: 1.25rem;
  font-size: 0.92rem;
}
.khr-corps th, .khr-corps td {
  text-align: start;
  padding: 0.5rem 0.75rem;
  border-block-end: 1px solid var(--khr-filet);
  vertical-align: top;
}
.khr-corps thead th {
  font-family: var(--khr-mono-police);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--khr-encre-douce);
  border-block-end: 2px solid var(--khr-poussiere);
}
.khr-corps .khr-defilant { overflow-x: auto; max-width: 100%; }

.khr-releve__sommaire {
  list-style: none;
  counter-reset: sommaire;
}
.khr-releve__sommaire li {
  counter-increment: sommaire;
  padding-block: 0.35rem;
  border-block-end: 1px solid var(--khr-poussiere);
  font-size: 0.92rem;
}
.khr-releve__sommaire li::before {
  content: counter(sommaire, decimal-leading-zero) " ";
  font-family: var(--khr-mono-police);
  font-size: 0.7rem;
  color: var(--khr-scellement);
  letter-spacing: 0.1em;
}
.khr-releve__sources { list-style: none; font-size: 0.88rem; }
.khr-releve__sources li { padding-block: 0.3rem; border-block-end: 1px solid var(--khr-poussiere); }

.khr-avant-apres { display: grid; gap: 0.75rem; }
.khr-avant-apres__col { display: flex; flex-direction: column; gap: 0.25rem; }
.khr-avant-apres__label {
  font-family: var(--khr-mono-police);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--khr-signal);
  margin: 0;
}

.khr-voisines { margin-block: 2.5rem; }
.khr-voisines__grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
  gap: 1rem;
}

/* ============ Pied ============ */
.khr-pied {
  margin-top: 3rem;
  padding-block: 2rem 1rem;
  background: var(--khr-papier-clair);
  border-block-start: 5px solid var(--khr-signal);
  box-shadow: 0 -10px 30px -22px hsla(206, 45%, 20%, 0.4);
}
.khr-pied__grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
  gap: 1.5rem;
}
.khr-pied__bloc { min-width: 0; }
.khr-pied__titre {
  font-family: var(--khr-titre-police);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -0.02em;
  margin: 0 0 0.5rem;
  padding-bottom: 0.35rem;
  border-block-end: 1px solid var(--khr-poussiere);
  box-shadow: 0 3px 0 -2px var(--khr-poussiere);
}
.khr-pied__bloc p { font-size: 0.92rem; color: var(--khr-encre-douce); }
.khr-pied__detail {
  font-family: var(--khr-mono-police);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  color: var(--khr-encre-douce);
}
.khr-pied__bloc ul { list-style: none; font-size: 0.92rem; }
.khr-pied__bloc li { padding-block: 0.25rem; }
.khr-pied__ligne {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 1.5rem;
  padding-top: 0.75rem;
  border-block-start: 1px solid var(--khr-poussiere);
  font-family: var(--khr-mono-police);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--khr-encre-douce);
}

/* ============ Responsive ============ */
@media (max-width: 62rem) {
  .khr-une { grid-template-columns: minmax(0, 1fr); }
  .khr-une__figure { order: -1; }
  .khr-fiche__grille { grid-template-columns: minmax(0, 1fr); }
  .khr-rubrique-zone__grille { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 34rem) {
  :root { --khr-gouttiere: 1rem; --khr-rayon: 14px; }
  .khr-flux { grid-template-columns: 6.5rem minmax(0, 1fr); gap: 0.75rem; padding: 0.75rem; }
  .khr-flux__extrait { display: none; }
  .khr-rail { grid-template-columns: 5.5rem minmax(0, 1fr); }
  .khr-onglet { flex-basis: 100%; }
  .khr-manchette__enseigne { font-size: 1.5rem; }
  .khr-corps > p:first-of-type::first-letter { font-size: 2.8rem; }
  .khr-cert__case { width: 14px; height: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

@media print {
  body { background: #fff; color: #000; }
  .khr-manchette, .khr-pied, .khr-onglets, .khr-volet--nuit { box-shadow: none; }
  a { color: #000; text-decoration: underline; }
}
