/* ============================================================
   Echoes of Service ,  skin « td- » (table de dépouillement)
   Palette : etabli clair, encre de tampon, signature lie-de-vin,
   orange de dépouillement réservé à l'incertitude.
   Fonts : Playfair Display 700 (titres), Open Sans 400/700 (texte).
   Budget : 3 woff2, < 80 KB.
   ============================================================ */
@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/playfair-display-v22-latin-700.woff2") format("woff2");
  size-adjust: 100%;
  ascent-override: 98%;
  descent-override: 22%;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/open-sans-latin-regular.woff2") format("woff2");
  size-adjust: 101%;
  ascent-override: 98%;
  descent-override: 22%;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/open-sans-latin-700.woff2") format("woff2");
  size-adjust: 101%;
  ascent-override: 98%;
  descent-override: 22%;
}

:root {
  /* matières */
  --td-etabli: #faf6f2;
  --td-craie: #f1e6db;
  --td-encre: #241310;
  --td-plomb: #5a4a44;
  --td-signature: #7a2230;
  --td-signature-sombre: #521520;
  --td-accent: #e84800;
  --td-tampon: #e81a00;
  --td-filet: #e8ddd6;
  --td-filet-fort: #b9a79e;
  --td-filet-doux: #d9c9be;

  /* typographie */
  --td-display: "Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --td-texte: "Open Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --td-condensee: "Arial Narrow", "Helvetica Neue Condensed", "Open Sans", sans-serif;

  /* rythme */
  --td-mesure: 68ch;
  --td-cadre: 78rem;
  --td-gouttiere: clamp(1rem, 0.6rem + 1.6vw, 2.5rem);
  --td-pas: clamp(1.5rem, 0.9rem + 2.2vw, 3rem);
  --td-rayon: 16px;
  --td-rayon-sm: 12px;
  --td-rayon-lg: 20px;

  /* tailles */
  --td-t-h1: clamp(2.1rem, 1.4rem + 3.4vw, 3.6rem);
  --td-t-h2: clamp(1.5rem, 1.15rem + 1.7vw, 2.2rem);
  --td-t-h3: clamp(1.15rem, 1rem + 0.7vw, 1.5rem);
  --td-t-corps: clamp(1rem, 0.95rem + 0.28vw, 1.1rem);
  --td-t-petit: 0.82rem;
  --td-t-meta: 0.72rem;

  /* ombres douces colorées */
  --td-ombre-douce: 0 12px 28px rgba(122, 34, 48, 0.12);
  --td-ombre-carte: 0 10px 26px rgba(232, 72, 0, 0.10);
  --td-ombre-hero: 0 24px 48px rgba(36, 19, 16, 0.24);
  --td-omp-ombre-forte: 0 18px 38px rgba(122, 34, 48, 0.20);

  color-scheme: light;
}

/* --td-tampon ne valorise JAMAIS un article : il marque l'incertitude. */

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--td-craie);
  color: var(--td-encre);
  font-family: var(--td-texte);
  font-size: var(--td-t-corps);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

img, svg, picture { max-width: 100%; display: block; }
img { height: 100%; width: 100%; object-fit: cover; }

a { color: var(--td-signature); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--td-accent); }

:focus-visible {
  outline: 3px solid var(--td-accent);
  outline-offset: 2px;
  border-radius: 4px;
}

.td-acces-direct {
  position: absolute; left: -9999px; top: 0;
  background: var(--td-encre); color: #fbf1ec;
  padding: 0.75rem 1rem; z-index: 50;
  border-radius: 0 0 var(--td-rayon-sm) 0;
}
.td-acces-direct:focus { left: 0; }

/* ---------- Grille de largeur ---------- */
.td-travee {
  width: 100%;
  max-width: var(--td-cadre);
  margin-inline: auto;
  padding-inline: var(--td-gouttiere);
  min-width: 0;
}

/* ---------- Fronton ---------- */
.td-fronton {
  background: var(--td-signature);
  color: #fbf1ec;
  box-shadow: var(--td-ombre-carte);
}
.td-fronton__rubans {
  height: 10px;
  background: repeating-linear-gradient(
    135deg,
    var(--td-accent) 0 14px,
    var(--td-signature-sombre) 14px 28px
  );
}
.td-fronton__interieur {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
  align-items: center;
  gap: var(--td-gouttiere);
  padding-block: 1.1rem;
}
.td-enseigne {
  display: inline-flex; flex-direction: column; gap: 0;
  font-family: var(--td-display);
  font-weight: 700;
  line-height: 0.95;
  font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem);
  color: #fbf1ec;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(0,0,0,0.35);
}
.td-enseigne:hover { color: #fff; }
.td-enseigne__marque2 { color: var(--td-accent); }
.td-devise {
  margin: 0;
  color: #ecd9d3;
  font-family: var(--td-condensee);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: var(--td-t-meta);
  font-weight: 700;
  text-align: center;
}
.td-parcours { min-width: 0; }
.td-parcours ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: 0.35rem 0.9rem;
  justify-content: flex-end;
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.td-parcours__lien {
  color: #fbf1ec;
  text-decoration: none;
  padding: 0.35rem 0.6rem;
  border-radius: var(--td-rayon-sm);
  border: 1px solid transparent;
}
.td-parcours__lien:hover,
.td-parcours__lien[aria-current="page"] {
  background: var(--td-signature-sombre);
  border-color: rgba(255,255,255,0.18);
  color: #fff;
}

/* ---------- Cachet de dépouillement ---------- */
.td-cachet {
  display: inline-block;
  border: 2px solid var(--td-encre);
  padding: 0.35rem 0.75rem;
  margin: 0 0 0.9rem;
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--td-encre);
  border-radius: 6px;
  background: rgba(255,255,255,0.35);
}

/* ---------- Bande de méthode / h1 ---------- */
.td-marque {
  background: var(--td-etabli);
  border-bottom: 1px solid var(--td-filet);
  padding-block: var(--td-pas);
  margin-bottom: var(--td-pas);
}
.td-marque__entete { max-width: 46rem; }
.td-marque__titre {
  font-family: var(--td-display);
  font-weight: 700;
  font-size: var(--td-t-h1);
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0 0 0.8rem;
  color: var(--td-signature);
  text-shadow: 0 1px 0 rgba(255,255,255,0.6), 0 2px 6px rgba(122,34,48,0.15);
}
.td-marque__accroche {
  font-size: 1.05rem;
  color: #3a2823;
  margin: 0;
  max-width: var(--td-mesure);
}

.td-bilan {
  list-style: none; padding: 0;
  margin: var(--td-pas) 0 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.75rem;
  min-width: 0;
}
.td-bilan__poste {
  background: var(--td-etabli);
  border: 1px solid var(--td-filet);
  border-radius: var(--td-rayon);
  padding: 0.9rem 1rem;
  box-shadow: var(--td-ombre-douce);
  min-width: 0;
}
.td-bilan__chiffre {
  display: block;
  font-family: var(--td-display);
  font-weight: 700;
  font-size: 1.6rem;
  color: var(--td-signature);
  line-height: 1;
}
.td-bilan__libelle {
  display: block;
  font-family: var(--td-condensee);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: var(--td-t-meta);
  color: var(--td-plomb);
  margin-top: 0.4rem;
}

/* ---------- Rayon (section) ---------- */
.td-rayon { padding-block: var(--td-pas); }
.td-rayon__tete {
  display: flex; flex-wrap: wrap;
  align-items: baseline; justify-content: space-between;
  gap: 0.5rem 1rem;
  border-bottom: 1px solid var(--td-filet-fort);
  padding-bottom: 0.65rem;
  margin-bottom: var(--td-pas);
}
.td-rayon__tete h2 {
  font-family: var(--td-display);
  font-weight: 700;
  font-size: var(--td-t-h2);
  line-height: 1.1;
  margin: 0;
  color: var(--td-encre);
  text-shadow: 0 1px 0 rgba(255,255,255,0.5);
}
.td-rayon__tete h2 a { color: inherit; text-decoration: none; }
.td-rayon__tete h2 a:hover { color: var(--td-signature); }
.td-rayon__phrase {
  margin: 0;
  color: var(--td-plomb);
  font-size: 0.92rem;
  max-width: 44ch;
}
.td-rayon__decompte,
.td-rayon__kicker {
  font-family: var(--td-condensee);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: var(--td-t-meta);
  color: var(--td-plomb);
  margin: 0;
}
.td-rayon__kicker { color: var(--td-accent); }

/* ---------- Une (hero) ---------- */
.td-une .td-entree--hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 0;
  background: var(--td-encre);
  color: #fbf1ec;
  border-radius: var(--td-rayon-lg);
  overflow: hidden;
  box-shadow: var(--td-ombre-hero);
}
.td-entree--hero .td-entree__vignette {
  position: relative;
  margin: 0;
  aspect-ratio: 3 / 2;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 0;
}
.td-entree--hero .td-entree__vignette::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(36,19,16,0.10), rgba(36,19,16,0.55));
  pointer-events: none;
}
.td-entree--hero .td-entree__vignette img {
  width: 100%; height: 100%; object-fit: cover;
}
.td-entree__legende {
  position: absolute;
  left: 0.75rem; bottom: 0.75rem; right: 0.75rem;
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fbf1ec;
  text-shadow: 0 1px 3px rgba(0,0,0,0.7);
  z-index: 2;
  margin: 0;
}
.td-entree--hero .td-entree__texte {
  padding: clamp(1.25rem, 1rem + 1.5vw, 2.25rem);
  display: flex; flex-direction: column; justify-content: center;
  gap: 0.75rem;
  min-width: 0;
}
.td-entree--hero .td-entree__intitule {
  font-size: clamp(1.5rem, 1.15rem + 1.8vw, 2.35rem);
  line-height: 1.1;
  margin: 0;
}
.td-entree--hero .td-entree__intitule a {
  color: #fbf1ec;
  text-decoration: none;
  text-shadow: 0 2px 6px rgba(0,0,0,0.55);
}
.td-entree--hero .td-entree__intitule a:hover { color: #ff8a5c; }
.td-entree--hero .td-entree__abrege { color: #ecd9d3; margin: 0; }
.td-entree--hero .td-entree__datation { color: #cdbbb4; }
.td-entree--hero .td-mention,
.td-entree--hero .td-cote { color: #ff8a5c; }
.td-entree--hero .td-mention {
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

/* ---------- Entrée (carte) ---------- */
.td-entree {
  background: var(--td-etabli);
  border: 1px solid var(--td-filet);
  border-radius: var(--td-rayon);
  overflow: hidden;
  box-shadow: var(--td-ombre-carte);
  min-width: 0;
  transition: transform 160ms ease, box-shadow 200ms ease;
}
.td-entree:hover { transform: translateY(-3px); box-shadow: var(--td-ombre-forte, var(--td-ombre-carte)); }
.td-entree__vignette {
  margin: 0;
  aspect-ratio: 3 / 2;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  background: var(--td-craie);
}
.td-entree__vignette img {
  width: 100%; height: 100%; object-fit: cover;
  border-radius: 0;
}
.td-entree__texte {
  padding: 1rem 1.1rem 1.2rem;
  display: flex; flex-direction: column; gap: 0.55rem;
  min-width: 0;
}
.td-entree__cote {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem;
  margin: 0;
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--td-plomb);
}
.td-cote {
  background: var(--td-signature);
  color: #fbf1ec;
  border-radius: 6px;
  padding: 0.15rem 0.5rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}
.td-mention {
  color: var(--td-accent);
  text-decoration: none;
  font-weight: 700;
}
.td-mention:hover { text-decoration: underline; }
.td-entree__intitule {
  font-family: var(--td-display);
  font-weight: 700;
  font-size: var(--td-t-h3);
  line-height: 1.15;
  margin: 0;
  text-shadow: 0 1px 0 rgba(255,255,255,0.5);
}
.td-entree__intitule a { color: var(--td-encre); text-decoration: none; }
.td-entree__intitule a:hover { color: var(--td-signature); }
.td-entree__abrege { margin: 0; color: #3b2f2b; }
.td-entree__datation {
  margin: 0.2rem 0 0;
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--td-plomb);
}

/* Entrée --ligne (rail horizontal : image carrée à gauche) */
.td-entree--ligne {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 0;
}
.td-entree--ligne .td-entree__vignette { aspect-ratio: 1 / 1; height: 100%; }
.td-entree--ligne .td-entree__texte { padding: 0.9rem 1rem; }
.td-entree--ligne .td-entree__intitule { font-size: 1.1rem; }

/* ---------- Casier (3 col) ---------- */
.td-casier {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
  gap: var(--td-pas);
  min-width: 0;
}

/* ---------- Compact (petite liste) ---------- */
.td-compact {
  list-style: none; padding: 0; margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
  gap: 0.85rem;
  min-width: 0;
}
.td-compact__item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  background: var(--td-etabli);
  border: 1px solid var(--td-filet);
  border-radius: var(--td-rayon-sm);
  padding: 0.6rem;
  box-shadow: var(--td-ombre-douce);
  min-width: 0;
}
.td-compact__vignette {
  margin: 0;
  aspect-ratio: 1 / 1;
  width: 100%; max-width: 100%;
  overflow: hidden;
  border-radius: 10px;
}
.td-compact__vignette img { width: 100%; height: 100%; }
.td-compact__texte { min-width: 0; }
.td-compact__intitule {
  font-family: var(--td-texte);
  font-weight: 700;
  font-size: 0.98rem;
  line-height: 1.25;
  margin: 0.35rem 0 0.25rem;
}
.td-compact__intitule a { color: var(--td-encre); text-decoration: none; }
.td-compact__intitule a:hover { color: var(--td-signature); }
.td-compact__datation {
  margin: 0;
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--td-plomb);
}

/* ---------- Registres (rubriques) ---------- */
.td-registre__grille {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
  gap: 1rem;
  min-width: 0;
}
.td-entree__renvoi { margin-top: 1.1rem; }
.td-renvoi {
  display: inline-block;
  background: var(--td-signature);
  color: #fbf1ec;
  text-decoration: none;
  padding: 0.55rem 1.1rem;
  border-radius: 999px;
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  box-shadow: var(--td-ombre-carte);
}
.td-renvoi:hover { background: var(--td-accent); color: #fff; }

/* ---------- Rayon ailleurs (réseau) ---------- */
.td-ailleurs { border-top: 1px solid var(--td-filet-fort); margin-top: var(--td-pas); }
.td-ailleurs__liste {
  list-style: none; padding: 0; margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
  gap: 0.9rem;
  min-width: 0;
}
.td-ailleurs__item {
  border-left: 3px solid var(--td-accent);
  padding: 0.55rem 0.9rem;
  background: var(--td-etabli);
  border-radius: 0 var(--td-rayon-sm) var(--td-rayon-sm) 0;
  box-shadow: var(--td-ombre-douce);
  min-width: 0;
}
.td-ailleurs__item p { margin: 0; font-size: 0.95rem; }

/* ---------- Préambules (rubrique, 404) ---------- */
.td-preambule {
  padding-block: calc(var(--td-pas) * 0.8);
  max-width: var(--td-mesure);
}
.td-preambule h1 {
  font-family: var(--td-display);
  font-weight: 700;
  font-size: var(--td-t-h1);
  line-height: 1.05;
  margin: 0 0 0.8rem;
  color: var(--td-signature);
  text-shadow: 0 2px 5px rgba(122,34,48,0.18);
}
.td-preambule > p { color: #3a2823; }

/* ---------- Remontée ---------- */
.td-remontee { padding-block: 0.75rem; }
.td-remontee ol {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: 0.4rem 0.6rem;
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--td-plomb);
}
.td-remontee li + li::before {
  content: "/";
  color: var(--td-filet-fort);
  margin-right: 0.6rem;
}
.td-remontee a { color: var(--td-plomb); text-decoration: none; }
.td-remontee a:hover { color: var(--td-signature); }

/* ---------- Onglets de rubrique ---------- */
.td-onglets {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  padding-block: 0.6rem;
  border-bottom: 1px solid var(--td-filet);
}
.td-onglet {
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--td-encre);
  padding: 0.5rem 0.9rem;
  border-radius: 999px;
  border: 1px solid var(--td-filet-fort);
  background: var(--td-etabli);
}
.td-onglet--courant,
.td-onglet:hover {
  background: var(--td-signature);
  color: #fbf1ec;
  border-color: var(--td-signature);
}

/* ---------- Fiche article ---------- */
.td-fiche { padding-block-bottom: var(--td-pas); }
.td-entete-fiche {
  padding-block: var(--td-pas) calc(var(--td-pas) * 0.6);
  max-width: var(--td-mesure);
}
.td-entete-fiche h1 {
  font-family: var(--td-display);
  font-weight: 700;
  font-size: var(--td-t-h1);
  line-height: 1.06;
  margin: 0.6rem 0 0.9rem;
  color: var(--td-encre);
  text-shadow: 0 2px 6px rgba(122,34,48,0.12);
}
.td-chapeau {
  font-size: 1.15rem;
  line-height: 1.5;
  color: var(--td-signature);
  font-weight: 700;
  margin: 0 0 1rem;
}
.td-datation {
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--td-plomb);
  margin: 0 0 1rem;
}
.td-planche-image {
  margin: 0 0 var(--td-pas);
  border-radius: var(--td-rayon-lg);
  overflow: hidden;
  box-shadow: var(--td-ombre-hero);
  aspect-ratio: 3 / 2;
  width: 100%; max-width: 100%;
}
.td-planche-image img { width: 100%; height: 100%; }
.td-planche__legende {
  background: var(--td-encre);
  color: #f0ded6;
  padding: 0.75rem 1rem;
  font-size: var(--td-t-petit);
  font-family: var(--td-texte);
}
.td-duo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 16rem);
  gap: var(--td-pas);
  align-items: start;
  min-width: 0;
}
.td-corps { max-width: var(--td-mesure); min-width: 0; }
.td-corps h2 {
  font-family: var(--td-display);
  font-weight: 700;
  font-size: var(--td-t-h2);
  line-height: 1.15;
  margin: 2rem 0 0.7rem;
  color: var(--td-signature);
}
.td-corps h3 {
  font-family: var(--td-display);
  font-weight: 700;
  font-size: var(--td-t-h3);
  margin: 1.6rem 0 0.6rem;
}
.td-corps p { margin: 0 0 1rem; }
.td-corps ul, .td-corps ol { padding-left: 1.3rem; }
.td-corps li { margin-bottom: 0.4rem; }
.td-corps blockquote {
  margin: 1.5rem 0;
  padding: 0.8rem 1.2rem;
  border-left: 3px solid var(--td-accent);
  background: var(--td-etabli);
  border-radius: 0 var(--td-rayon-sm) var(--td-rayon-sm) 0;
  color: #3a2823;
  font-style: italic;
}
.td-corps table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.td-corps th, .td-corps td {
  padding: 0.6rem 0.7rem;
  border-bottom: 1px solid var(--td-filet);
  text-align: left;
  vertical-align: top;
}
.td-corps thead th {
  background: var(--td-craie);
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.td-corps > table { display: block; overflow-x: auto; }

/* Relevé (colonne de notes) */
.td-releve {
  position: sticky;
  top: 1rem;
  background: var(--td-etabli);
  border: 1px solid var(--td-filet);
  border-radius: var(--td-rayon);
  padding: 1.1rem 1.1rem 1.2rem;
  box-shadow: var(--td-ombre-douce);
  font-size: 0.92rem;
  min-width: 0;
}
.td-releve h2 {
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin: 0 0 0.6rem;
  color: var(--td-plomb);
  border-bottom: 1px solid var(--td-filet);
  padding-bottom: 0.4rem;
}
.td-releve__sommaire { list-style: none; padding: 0; margin: 0 0 1.2rem; }
.td-releve__sommaire li { margin-bottom: 0.4rem; }
.td-releve__sommaire a { color: var(--td-encre); text-decoration: none; }
.td-releve__sommaire a:hover { color: var(--td-signature); }
.td-releve__sources { list-style: none; padding: 0; margin: 0 0 1rem; }
.td-releve__sources li {
  padding: 0.3rem 0;
  border-bottom: 1px dashed var(--td-filet);
  word-break: break-word;
}
.td-releve__sources a { color: var(--td-signature); }
.td-releve__mention {
  font-size: 0.82rem;
  color: var(--td-plomb);
  margin: 0.8rem 0 0;
  font-style: italic;
}

/* Trait de mesure */
.td-mesure {
  position: relative;
  height: 1px;
  border-top: 1px solid var(--td-filet-fort);
  margin: 1.5rem 0 0.5rem;
}
.td-mesure::before, .td-mesure::after {
  content: ""; position: absolute; top: -5px;
  width: 1px; height: 11px; background: var(--td-filet-fort);
}
.td-mesure::before { left: 0; }
.td-mesure::after { right: 0; }

/* ---------- Voisinage ---------- */
.td-voisinage { border-top: 1px solid var(--td-filet-fort); margin-top: var(--td-pas); }

/* ---------- Pied ---------- */
.td-pied {
  background: var(--td-encre);
  color: #ecd9d3;
  margin-top: var(--td-pas);
  padding-block: var(--td-pas) 1rem;
}
.td-pied__colonnes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: var(--td-pas);
  min-width: 0;
}
.td-pied__colonne h2 {
  font-family: var(--td-display);
  font-weight: 700;
  font-size: 1.15rem;
  margin: 0 0 0.7rem;
  color: #fbf1ec;
}
.td-pied__colonne p { margin: 0 0 0.6rem; color: #cdbbb4; }
.td-pied__colonne ul { list-style: none; padding: 0; margin: 0; }
.td-pied__colonne li { padding: 0.18rem 0; }
.td-pied__colonne a { color: #ff8a5c; text-decoration: none; }
.td-pied__colonne a:hover { color: #fff; text-decoration: underline; }
.td-pied__note {
  border-left: 2px solid var(--td-accent);
  padding-left: 0.7rem;
  font-size: 0.9rem;
  color: #ecd9d3;
}
.td-pied__ligne {
  margin-top: var(--td-pas);
  padding-top: 1rem;
  border-top: 1px solid #3a211a;
  font-family: var(--td-condensee);
  font-size: var(--td-t-meta);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #b08d7f;
}

/* ---------- Responsive ---------- */
@media (max-width: 68rem) {
  .td-fronton__interieur { grid-template-columns: minmax(0, 1fr); text-align: left; }
  .td-parcours ul { justify-content: flex-start; }
  .td-devise { text-align: left; }
}

@media (max-width: 56rem) {
  .td-une .td-entree--hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .td-entree--hero .td-entree__vignette { aspect-ratio: 3 / 2; }
  .td-duo {
    grid-template-columns: minmax(0, 1fr);
  }
  .td-releve { position: static; }
}

@media (max-width: 40rem) {
  .td-entree--ligne {
    grid-template-columns: 96px minmax(0, 1fr);
  }
  .td-compact__item { grid-template-columns: 72px minmax(0, 1fr); }
  .td-pied__colonnes { grid-template-columns: minmax(0, 1fr); }
  .td-rayon__tete { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 26rem) {
  .td-entree--ligne { grid-template-columns: minmax(0, 1fr); }
  .td-entree--ligne .td-entree__vignette { aspect-ratio: 16 / 9; }
}

@media print {
  .td-fronton, .td-pied, .td-parcours, .td-remontee, .td-onglets { display: none; }
  .td-entree, .td-compact__item { box-shadow: none; border: 1px solid #999; }
}
