/* Refuge éditorial · artthatheals.org
   Palette rose brume et crème de chalet portée sur trois densités.
   Préfixe ch-. L'encre de Chine ne colore jamais un fond de section plein. */

@font-face {
  font-family: 'Vollkorn';
  src: url('/vollkorn-v13-latin-700.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Vollkorn';
  src: url('/vollkorn-v13-latin-regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Lato';
  src: url('/lato-v17-latin-regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}

:root {
  --ch-papier: #fdf2f4;
  --ch-refuge: #faf7f0;
  --ch-sourdine: #e9e0d1;
  --ch-encre: #4d3d45;
  --ch-encre-fonce: #34273010;
  --ch-encre-titre: #3a2b32;
  --ch-texte: #4d3d45;
  --ch-accueil: #d8a7b1;
  --ch-accueil-fort: #8f1836;
  --ch-accueil-aplat: #b3264a;
  --ch-filet: #edd5db;
  --ch-bois: #a06a2c;
  --ch-sauge: #5a6350;
  --ch-ombre: rgba(77, 61, 69, 0.14);
  --ch-ombre-forte: rgba(77, 61, 69, 0.24);
  --ch-ombre-rose: rgba(155, 77, 97, 0.28);
  --ch-titre: 'Vollkorn', Georgia, 'Palatino Linotype', serif;
  --ch-texte-fam: 'Lato', -apple-system, 'Segoe UI', sans-serif;
  --ch-mesure: 68ch;
  --ch-interligne: 1.62;
  --ch-rayon: 16px;
  --ch-rayon-sm: 12px;
  --ch-rayon-lg: 20px;
  --ch-page-max: 78rem;
  --ch-ratio-large: 16 / 9;
  --ch-ratio-portrait: 4 / 3;
  --ch-ratio-carre: 1 / 1;
  --ch-ombre-carte: 0 8px 22px -10px rgba(77, 61, 69, 0.14), 0 2px 6px -3px rgba(77, 61, 69, 0.24);
  --ch-ombre-vedette: 0 22px 50px -22px rgba(77, 61, 69, 0.24), 0 6px 16px -8px rgba(155, 77, 97, 0.28);
  --ch-ombre-plaque: 0 10px 26px -14px rgba(77, 61, 69, 0.24);
  --ch-ombre-aplat: 0 14px 32px -16px rgba(155, 77, 97, 0.28), 0 4px 10px -6px rgba(77, 61, 69, 0.24);
}

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

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

body {
  margin: 0;
  background: var(--ch-papier);
  color: var(--ch-texte);
  font-family: var(--ch-texte-fam);
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.09rem);
  line-height: var(--ch-interligne);
  text-rendering: optimizeLegibility;
}

img, svg { max-width: 100%; display: block; }

a { color: var(--ch-accueil-fort); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--ch-encre-titre); }

:focus-visible {
  outline: 3px solid var(--ch-bois);
  outline-offset: 3px;
  border-radius: 6px;
}

h1, h2, h3, h4 {
  font-family: var(--ch-titre);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.14;
  color: var(--ch-encre-titre);
  text-wrap: balance;
  margin: 0 0 0.5rem;
}

h1 { font-size: clamp(2.1rem, 1.6rem + 2.4vw, 3.35rem); }
h2 { font-size: clamp(1.5rem, 1.3rem + 0.9vw, 2.05rem); }
h3 { font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.35rem); }

p { margin: 0 0 1rem; max-width: var(--ch-mesure); }

ul, ol { padding-left: 1.2rem; }
li { margin-bottom: 0.3rem; }

time { font-variant-numeric: tabular-nums; }

.ch-wrap { width: min(100% - 2rem, var(--ch-page-max)); margin-inline: auto; min-width: 0; }

/* Lien d'évitement */
.ch-skip {
  position: absolute; left: -9999px; top: 0;
  background: var(--ch-encre-titre); color: var(--ch-refuge);
  padding: 0.6rem 1rem; border-radius: var(--ch-rayon-sm); z-index: 50;
}
.ch-skip:focus { left: 1rem; top: 1rem; color: var(--ch-refuge); }

/* ============== Fronton ============== */
.ch-fronton { background: var(--ch-papier); }
.ch-crest {
  height: 14px;
  background:
    linear-gradient(135deg, transparent 74%, var(--ch-accueil) 74%) 0 0/28px 14px repeat-x,
    linear-gradient(225deg, transparent 74%, var(--ch-accueil) 74%) 0 0/28px 14px repeat-x;
}
.ch-crest--sous-heros { margin: 0.6rem auto 2.4rem; width: min(100% - 2rem, var(--ch-page-max)); }
.ch-crest--pied {
  background:
    linear-gradient(135deg, transparent 74%, #f5d0d8 74%) 0 0/28px 14px repeat-x,
    linear-gradient(225deg, transparent 74%, #f5d0d8 74%) 0 0/28px 14px repeat-x;
}

.ch-fronton__in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 1.4rem;
  padding: 1rem 0 0.9rem;
}

.ch-enseigne {
  display: inline-flex; align-items: center; gap: 0.6rem;
  color: var(--ch-encre-titre); text-decoration: none;
  font-family: var(--ch-titre); font-weight: 700;
  font-size: 1.25rem; letter-spacing: -0.02em;
}
.ch-enseigne__mark { color: var(--ch-accueil-fort); flex: none; }

.ch-devise {
  margin: 0; color: var(--ch-sauge);
  text-transform: uppercase; letter-spacing: 0.14em;
  font-size: 0.78rem; max-width: none;
}

.ch-parcours { margin-left: auto; }
.ch-parcours ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.3rem 1.1rem; }
.ch-parcours__lien {
  color: var(--ch-texte); text-decoration: none;
  text-transform: uppercase; letter-spacing: 0.11em; font-size: 0.78rem;
  padding: 0.3rem 0.2rem; border-bottom: 2px solid transparent;
}
.ch-parcours__lien:hover { color: var(--ch-encre-titre); border-bottom-color: var(--ch-accueil); }
.ch-parcours__lien[aria-current="page"] { color: var(--ch-encre-titre); border-bottom-color: var(--ch-accueil-fort); }

.ch-fronton::after { content: ""; display: block; height: 1px; background: var(--ch-filet); }

/* ============== Héros ============== */
.ch-heros {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: clamp(1.4rem, 3vw, 3rem);
  padding: clamp(2rem, 4vw, 3.6rem) 0 1.2rem;
}
.ch-heros__titre {
  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.55), 0 1px 0 var(--ch-filet);
}
.ch-kicker {
  text-transform: uppercase; letter-spacing: 0.16em;
  font-size: 0.78rem; color: var(--ch-accueil-fort);
  margin: 0 0 0.6rem;
}
.ch-heros__intro { font-size: 1.08rem; }

.ch-reperes {
  background: var(--ch-refuge);
  border-radius: var(--ch-rayon-lg);
  box-shadow: var(--ch-ombre-carte);
  padding: 1.2rem 1.3rem;
  border: 1px solid var(--ch-filet);
  align-self: start;
}
.ch-reperes__table { width: 100%; border-collapse: collapse; }
.ch-reperes__table th, .ch-reperes__table td {
  text-align: left; vertical-align: top;
  padding: 0.7rem 0.5rem 0.7rem 0;
  border-bottom: 1px solid var(--ch-filet);
  font-size: 0.94rem;
}
.ch-reperes__table tr:last-child th,
.ch-reperes__table tr:last-child td { border-bottom: none; }
.ch-reperes__table th {
  font-family: var(--ch-titre); font-weight: 700; color: var(--ch-encre-titre);
  width: 40%; padding-right: 0.9rem; border-right: 1px solid var(--ch-filet);
}
.ch-reperes__table td { padding-left: 0.9rem; color: var(--ch-texte); }

/* ============== Rayon ============== */
.ch-rayon { padding: 1rem 0 2.4rem; }
.ch-rayon__tete { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem 1rem; margin-bottom: 1.4rem; }
.ch-rayon__tete h2 { margin: 0; }
.ch-rayon__phrase { margin: 0; color: var(--ch-sauge); max-width: 46ch; font-size: 0.95rem; }
.ch-rayon__decompte {
  margin-left: auto; color: var(--ch-accueil-fort);
  font-size: 0.82rem; letter-spacing: 0.12em; text-transform: uppercase;
}

/* ============== Vedette ============== */
.ch-vedette { display: block; margin-bottom: 2rem; }
.ch-vedette__lien { text-decoration: none; color: inherit; display: grid; gap: 1.2rem; }
.ch-vedette__figure {
  margin: 0; position: relative; overflow: hidden;
  border-radius: var(--ch-rayon-lg);
  box-shadow: var(--ch-ombre-vedette);
}
.ch-vedette__figure img {
  width: 100%; aspect-ratio: var(--ch-ratio-large);
  object-fit: cover;
}
.ch-vedette__texte { max-width: 62ch; }
.ch-vedette__titre {
  font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem);
  margin: 0.2rem 0 0.5rem;
  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.6);
}
.ch-vedette__abrege { font-size: 1.05rem; color: var(--ch-texte); }

/* ============== Plaque source ============== */
.ch-plaque {
  position: absolute; left: 1rem; right: 1rem; bottom: 1rem;
  background: rgba(250, 247, 240, 0.92);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  border-radius: var(--ch-rayon-sm);
  box-shadow: var(--ch-ombre-plaque);
  padding: 0.7rem 0.9rem;
  display: flex; flex-wrap: wrap; gap: 0.3rem 0.9rem;
  align-items: baseline;
  font-size: 0.85rem;
  color: var(--ch-encre-titre);
}
.ch-plaque__nat {
  text-transform: uppercase; letter-spacing: 0.14em;
  font-size: 0.7rem; color: var(--ch-accueil-fort);
}
.ch-plaque__src { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); }
.ch-planche-image .ch-plaque { left: 1.2rem; right: 1.2rem; bottom: 1.2rem; }

/* ============== Paire de moyens ============== */
.ch-paire {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.4rem;
  margin-bottom: 2rem;
}

/* ============== Liste compacte ============== */
.ch-compacte {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 1.4rem;
}
.ch-ligne {
  display: grid; grid-template-columns: 72px minmax(0, 1fr);
  gap: 0.75rem; align-items: start;
  padding: 0.7rem;
  border-radius: var(--ch-rayon-sm);
  background: var(--ch-refuge);
  box-shadow: 0 4px 12px -8px rgba(77, 61, 69, 0.14);
  border: 1px solid var(--ch-filet);
  min-width: 0;
}
.ch-ligne__vignette { margin: 0; overflow: hidden; border-radius: var(--ch-rayon-sm); }
.ch-ligne__vignette img { width: 72px; height: 72px; aspect-ratio: var(--ch-ratio-carre); object-fit: cover; }
.ch-ligne__texte { min-width: 0; }
.ch-ligne__titre { font-size: 1rem; margin: 0.1rem 0 0.25rem; line-height: 1.25; }
.ch-ligne__titre a { color: var(--ch-encre-titre); text-decoration: none; }
.ch-ligne__titre a:hover { text-decoration: underline; }
.ch-ligne__date { margin: 0; font-size: 0.78rem; color: var(--ch-sauge); letter-spacing: 0.05em; }

/* ============== Entrée carte ============== */
.ch-entree {
  background: var(--ch-refuge);
  border-radius: var(--ch-rayon);
  box-shadow: var(--ch-ombre-carte);
  overflow: hidden;
  border: 1px solid var(--ch-filet);
  min-width: 0;
}
.ch-entree--rail {
  display: grid; grid-template-columns: 168px minmax(0, 1fr);
  gap: 1rem; align-items: stretch;
  padding: 0.9rem;
}
.ch-entree__vignette { margin: 0; overflow: hidden; }
.ch-entree__vignette img { width: 100%; aspect-ratio: var(--ch-ratio-portrait); object-fit: cover; display: block; }
.ch-entree--rail .ch-entree__vignette { border-radius: var(--ch-rayon-sm); }
.ch-entree--rail .ch-entree__vignette img { border-radius: var(--ch-rayon-sm); }
.ch-entree__texte { padding: 0.9rem 1rem 1rem; min-width: 0; }
.ch-entree--rail .ch-entree__texte { padding: 0.2rem 0.4rem; display: flex; flex-direction: column; }
.ch-entree__meta {
  display: flex; flex-wrap: wrap; gap: 0.3rem 0.7rem; align-items: baseline;
  margin: 0 0 0.35rem; font-size: 0.78rem;
}
.ch-cote {
  font-family: var(--ch-titre); font-weight: 700; letter-spacing: 0.04em;
  background: var(--ch-accueil); color: #342730;
  padding: 0.1rem 0.5rem; border-radius: 999px;
  font-size: 0.74rem;
}
.ch-mention {
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--ch-sauge); text-decoration: none;
}
.ch-mention:hover { color: var(--ch-encre-titre); }
.ch-entree__titre { margin: 0 0 0.35rem; font-size: 1.15rem; }
.ch-entree__titre a { color: var(--ch-encre-titre); text-decoration: none; }
.ch-entree__titre a:hover { text-decoration: underline; }
.ch-entree__abrege { margin: 0 0 0.7rem; font-size: 0.95rem; color: var(--ch-texte); }
.ch-entree--rail .ch-entree__abrege { margin-bottom: 0.4rem; }
.ch-entree__date { margin: 0; font-size: 0.8rem; color: var(--ch-sauge); }
.ch-entree--rail .ch-entree__date { margin-top: auto; }
.ch-entree__renvoi { margin: 0.4rem 0 0; font-size: 0.92rem; }
.ch-renvoi { color: var(--ch-accueil-fort); text-decoration: none; font-weight: 700; letter-spacing: 0.02em; }
.ch-renvoi:hover { text-decoration: underline; }

/* ============== Bande signature (APLAT 1) ============== */
.ch-bande-signature {
  background-color: var(--ch-accueil-aplat);
  background-image:
    radial-gradient(120% 140% at 15% 8%, rgba(216, 167, 177, 0.72), transparent 62%),
    radial-gradient(120% 140% at 92% 92%, rgba(90, 99, 80, 0.40), transparent 58%);
  padding: clamp(2.2rem, 4vw, 3.4rem) 0;
  margin-block: 1.2rem;
  color: #fff4f7;
}
.ch-bande-signature .ch-rayon__tete h2 {
  color: #fff4f7;
  text-shadow: 0 2px 6px rgba(52, 39, 48, 0.45);
}
.ch-bande-signature .ch-rayon__phrase { color: rgba(255, 244, 247, 0.94); }
.ch-rubriques {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
}
.ch-rubrique-carte {
  background: rgba(253, 242, 244, 0.95);
  border-radius: var(--ch-rayon-lg);
  box-shadow: 0 16px 32px -18px rgba(52, 39, 48, 0.55);
  padding: 1.2rem 1.3rem 1.3rem;
  border: 1px solid var(--ch-filet);
  min-width: 0;
}
.ch-rubrique-carte__cote {
  font-family: var(--ch-titre); font-weight: 700;
  color: var(--ch-accueil-fort); letter-spacing: 0.16em;
  font-size: 0.74rem; margin: 0 0 0.4rem;
}
.ch-rubrique-carte__titre { margin: 0 0 0.5rem; font-size: 1.25rem; }
.ch-rubrique-carte__titre a { color: var(--ch-encre-titre); text-decoration: none; }
.ch-rubrique-carte__titre a:hover { text-decoration: underline; }
.ch-rubrique-carte__intro { color: var(--ch-texte); margin-bottom: 0.7rem; font-size: 0.96rem; }

/* ============== Bande d'appel (APLAT 2) ============== */
.ch-rituel {
  background-color: var(--ch-accueil-fort);
  background-image: linear-gradient(135deg, var(--ch-accueil-aplat) 0%, var(--ch-accueil-fort) 100%);
  border-radius: var(--ch-rayon-lg);
  box-shadow: var(--ch-ombre-aplat);
  padding: 1.6rem 1.8rem;
  margin-block: 1.6rem 2.4rem;
  color: #fff4f7;
}
.ch-rituel__titre {
  color: #fff4f7;
  margin: 0 0 0.5rem;
  text-shadow: 0 2px 6px rgba(52, 39, 48, 0.4);
}
.ch-rituel__texte {
  margin: 0;
  max-width: 62ch;
  color: #fff4f7;
  font-size: 1.03rem;
}

/* ============== Rubrique et article ============== */
.ch-remontee { padding: 1rem 0 0.4rem; }
.ch-remontee ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.3rem 0.6rem; font-size: 0.85rem; }
.ch-remontee li + li::before { content: "›"; margin-right: 0.5rem; color: var(--ch-accueil-fort); }
.ch-remontee a { color: var(--ch-sauge); text-decoration: none; }
.ch-remontee a:hover { color: var(--ch-encre-titre); }
.ch-remontee [aria-current] { color: var(--ch-encre-titre); }

.ch-preambule { padding: 0.6rem 0 1.4rem; }
.ch-preambule__intro { font-size: 1.07rem; }

.ch-onglets { display: flex; flex-wrap: wrap; gap: 0.4rem 0.6rem; padding: 0.6rem 0 1rem; }
.ch-onglet {
  padding: 0.4rem 0.9rem; border-radius: 999px;
  background: var(--ch-refuge); color: var(--ch-texte);
  text-decoration: none; font-size: 0.85rem;
  letter-spacing: 0.06em; text-transform: uppercase;
  border: 1px solid var(--ch-filet);
}
.ch-onglet--courant { background: var(--ch-accueil); color: #342730; border-color: var(--ch-accueil-fort); }
.ch-onglet:hover { border-color: var(--ch-accueil-fort); }

.ch-registre { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }

.ch-entete-fiche { padding-bottom: 1.4rem; }
.ch-entete-fiche__titre {
  margin: 0.3rem 0 0.7rem;
  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.55);
}
.ch-chapeau { font-size: 1.1rem; color: var(--ch-texte); max-width: 62ch; }
.ch-datation {
  text-transform: uppercase; letter-spacing: 0.12em;
  font-size: 0.78rem; color: var(--ch-sauge); margin: 0;
}

.ch-planche-image { margin: 0 auto 2rem; position: relative; }
.ch-planche-image img {
  width: 100%; aspect-ratio: var(--ch-ratio-large); object-fit: cover;
  border-radius: var(--ch-rayon-lg);
  box-shadow: var(--ch-ombre-vedette);
}

.ch-duo {
  display: grid; grid-template-columns: minmax(0, 1fr) 18rem;
  gap: clamp(1.4rem, 3vw, 2.6rem);
  padding-bottom: 2rem;
}
.ch-corps { min-width: 0; }
.ch-corps > * { max-width: var(--ch-mesure); }
.ch-corps h2 { margin-top: 1.8rem; }
.ch-corps h3 { margin-top: 1.4rem; }
.ch-corps img { border-radius: var(--ch-rayon); box-shadow: var(--ch-ombre-carte); }
.ch-corps blockquote {
  margin: 1.2rem 0; padding: 0.6rem 1rem;
  border-left: 4px solid var(--ch-accueil);
  background: var(--ch-refuge);
  border-radius: 0 var(--ch-rayon-sm) var(--ch-rayon-sm) 0;
  color: var(--ch-texte); max-width: var(--ch-mesure);
  box-shadow: 0 6px 14px -12px rgba(77, 61, 69, 0.14);
}
.ch-corps .ch-tableau,
.ch-corps div:has(> table) { overflow-x: auto; min-width: 0; }
.ch-corps table { border-collapse: collapse; min-width: 100%; }
.ch-corps table th,
.ch-corps table td {
  padding: 0.6rem 0.8rem; border-bottom: 1px solid var(--ch-filet);
  text-align: left; font-size: 0.96rem;
}
.ch-corps table th { background: var(--ch-refuge); color: var(--ch-encre-titre); }

.ch-releve {
  background: var(--ch-refuge);
  border-radius: var(--ch-rayon-lg);
  padding: 1.1rem 1.2rem 1.2rem;
  box-shadow: var(--ch-ombre-carte);
  border: 1px solid var(--ch-filet);
  align-self: start;
  position: sticky; top: 1rem;
}
.ch-releve h2 {
  font-size: 0.85rem; text-transform: uppercase;
  letter-spacing: 0.14em; color: var(--ch-accueil-fort);
  margin-bottom: 0.5rem;
}
.ch-releve__sommaire,
.ch-releve__sources { list-style: none; padding: 0; margin: 0 0 1rem; font-size: 0.9rem; }
.ch-releve__sommaire a,
.ch-releve__sources a { color: var(--ch-texte); text-decoration: none; }
.ch-releve__sommaire a:hover,
.ch-releve__sources a:hover { text-decoration: underline; }

.ch-voisinage .ch-casier {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem;
}

/* ============== Réseau ============== */
.ch-ailleurs { padding-bottom: 2.4rem; }
.ch-ailleurs__liste {
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: 0.5rem 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ch-ailleurs__item p {
  margin: 0; padding: 0.7rem 0.9rem;
  background: var(--ch-refuge);
  border-left: 4px solid var(--ch-accueil);
  border-radius: 0 var(--ch-rayon-sm) var(--ch-rayon-sm) 0;
  font-size: 0.92rem;
  box-shadow: 0 4px 10px -8px rgba(77, 61, 69, 0.14);
}

/* ============== Pied ============== */
.ch-pied {
  background-color: #342730;
  color: var(--ch-refuge);
  margin-top: 2rem;
}
.ch-pied a { color: var(--ch-refuge); }
.ch-pied a:hover { color: var(--ch-accueil); }
.ch-pied__cols {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem; padding: 1.4rem 0;
}
.ch-pied__col h2 {
  color: var(--ch-refuge); font-size: 0.9rem;
  text-transform: uppercase; letter-spacing: 0.16em;
}
.ch-pied__col p,
.ch-pied__col li {
  color: rgba(253, 242, 244, 0.88); font-size: 0.9rem; max-width: 40ch;
}
.ch-pied__col ul { list-style: none; padding: 0; margin: 0; }
.ch-pied__note { font-size: 0.85rem; color: rgba(253, 242, 244, 0.8); }
.ch-pied__line {
  padding: 0.9rem 0 1.2rem;
  border-top: 1px solid rgba(253, 242, 244, 0.18);
  font-size: 0.82rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(253, 242, 244, 0.82);
}

/* ============== Responsive ============== */
@media (max-width: 60rem) {
  .ch-heros { grid-template-columns: minmax(0, 1fr); }
  .ch-compacte { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ch-rubriques,
  .ch-voisinage .ch-casier,
  .ch-registre { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ch-duo { grid-template-columns: minmax(0, 1fr); }
  .ch-releve { position: static; }
  .ch-pied__cols { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 40rem) {
  .ch-paire,
  .ch-compacte,
  .ch-rubriques,
  .ch-voisinage .ch-casier,
  .ch-registre,
  .ch-ailleurs__liste { grid-template-columns: minmax(0, 1fr); }
  .ch-entree--rail { grid-template-columns: 120px minmax(0, 1fr); }
  .ch-parcours { margin-left: 0; width: 100%; }
  .ch-parcours ul { gap: 0.2rem 0.8rem; }
  .ch-fronton__in { padding-bottom: 0.8rem; }
  h1 { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); }
  .ch-rituel { padding: 1.3rem 1.2rem; }
}

@media (min-width: 140rem) {
  :root { --ch-page-max: 96rem; }
  .ch-compacte { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

@media print {
  .ch-fronton, .ch-pied, .ch-remontee, .ch-parcours { display: none; }
  .ch-corps, .ch-preambule { max-width: 100%; }
}
