/* Peau « Hedingham & Beyond » ,  relevé de mur, préfixe cst-.
   Palette encre-chaude + cote rouge. Filets francs, arrondis 12-20px,
   ombres colorées douces, aplats saturés (rouge de cote, feuille de haie).
   Règle négative : jamais de photo détourée sur fond blanc, jamais de badge
   « meilleur choix », jamais de prix ni de bouton d'achat, jamais d'arrondi
   sous 10px. Ce n'est pas une marketplace. */

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

:root {
  /* Palette */
  --cst-craie: #FFF8ED;
  --cst-ardoise: #33190E;
  --cst-ardoise-pale: #7A6A5C;
  --cst-rouge: #A82240;
  --cst-rouge-grele: #C9526A;
  --cst-rouge-fonce: #7E1830;
  --cst-barnack: #EAD0A4;
  --cst-fer: #4E5B66;
  --cst-feuille: #2E5D4E;
  --cst-filet: #EAD9BE;
  --cst-ardoise-loin: #241F1A;
  /* Couleur de rubrique par défaut, surchargée par data-rubrique */
  --rc: var(--cst-rouge);
  --rc-clair: var(--cst-rouge-grele);
  /* Ombres colorées douces (au moins 3 déclarations visibles) */
  --cst-ombre-douce: 0 2px 4px rgba(51, 25, 14, .06), 0 12px 26px rgba(51, 25, 14, .09);
  --cst-ombre-carte: 0 4px 12px rgba(168, 34, 64, .12), 0 18px 34px rgba(51, 25, 14, .09);
  --cst-ombre-planche: 0 6px 18px rgba(46, 93, 78, .16), 0 24px 46px rgba(51, 25, 14, .11);
  --cst-ombre-heros: 0 12px 28px rgba(51, 25, 14, .28), inset 0 -120px 120px -80px rgba(36, 31, 26, .95);
  /* Typographie */
  --cst-titre-police: "Playfair", "Palatino Linotype", Palatino, Georgia, serif;
  --cst-texte-police: "Open Sans", Verdana, Geneva, "Segoe UI", sans-serif;
  /* Mesures */
  --cst-travee: 76rem;
  --cst-mesure: 68ch;
  --cst-r: 14px;
  --cst-r-petit: 12px;
  --cst-r-grand: 20px;
  --cst-rythme: 1.5rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--cst-craie);
  color: var(--cst-ardoise);
  font-family: var(--cst-texte-police);
  font-size: clamp(1rem, .35vw + .95rem, 1.1rem);
  line-height: 1.6;
  min-width: 0;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--cst-rouge); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--cst-rouge-fonce); text-decoration-thickness: .14em; }
:focus-visible { outline: 3px solid var(--cst-rouge); outline-offset: 3px; border-radius: 8px; }
h1, h2, h3, h4 { font-family: var(--cst-titre-police); font-weight: 700; letter-spacing: .005em; line-height: 1.16; color: var(--cst-ardoise); }
h1 { font-size: clamp(1.75rem, 2.4vw + 1rem, 3rem); margin: 0 0 .75rem; text-shadow: 0 1px 0 rgba(255,248,237,.7), 0 4px 24px rgba(51,25,14,.12); }
h2 { font-size: clamp(1.3rem, 1.3vw + 1rem, 2rem); margin: 0 0 .5rem; }
h3 { font-size: clamp(1.05rem, .55vw + .95rem, 1.35rem); margin: 0 0 .35rem; }
p { margin: 0 0 1rem; }

.cst-travee { width: min(var(--cst-travee), 100% - 2.5rem); margin-inline: auto; min-width: 0; }
.cst-acces-direct { position: absolute; left: -999px; top: 0; background: var(--cst-rouge); color: #fff; padding: .75rem 1rem; border-radius: 0 0 12px 0; z-index: 100; }
.cst-acces-direct:focus { left: 0; }

/* ---------- Bande de marque : aplat accent pleine largeur ---------- */
.cst-bande-marque { background: var(--cst-rouge); color: #FFF1E4; box-shadow: 0 6px 18px rgba(126,24,48,.28); }
.cst-bande-marque__interieur { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.4rem; padding: .8rem 0 .85rem; }
.cst-enseigne { display: inline-flex; align-items: center; gap: .7rem; color: #FFF1E4; text-decoration: none; font-family: var(--cst-titre-police); font-size: clamp(1.25rem, 1vw + .95rem, 1.8rem); letter-spacing: .015em; text-shadow: 0 1px 0 rgba(0,0,0,.28); }
.cst-enseigne__mot { border-bottom: 2px solid rgba(255,241,228,.5); padding-bottom: .1em; }
.cst-enseigne:hover { color: #fff; }
.cst-enseigne:hover .cst-enseigne__mot { border-bottom-color: #fff; }
.cst-marque { display: block; width: 40px; height: 40px; color: #FFF1E4; flex: 0 0 auto; }
.cst-devise { margin: 0 0 0 auto; font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: #FFE0D2; }

/* ---------- Fronton : barre de navigation ---------- */
.cst-fronton { background: var(--cst-ardoise-loin); color: #FBEEDC; padding: .55rem 0; }
.cst-fronton__interieur { min-width: 0; }
.cst-parcours ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem .3rem; }
.cst-parcours__lien { color: #FBEEDC; text-decoration: none; font-size: .86rem; padding: .38rem .8rem; border-radius: 999px; letter-spacing: .04em; }
.cst-parcours__lien:hover { background: rgba(201,82,106,.28); color: #fff; }
.cst-parcours__lien[aria-current="page"] { background: var(--cst-craie); color: var(--cst-ardoise-loin); font-weight: 700; }

/* ---------- Héros plein cadre (photo sous voile) ---------- */
.cst-heros { position: relative; isolation: isolate; min-width: 0; box-shadow: var(--cst-ombre-heros); overflow: hidden; }
.cst-heros > picture, .cst-heros > img { display: block; width: 100%; }
.cst-heros img { width: 100%; height: clamp(20rem, 52vh, 34rem); object-fit: cover; object-position: center 55%; }
.cst-heros__voile { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(36,31,26,.30) 0%, rgba(36,31,26,.42) 45%, rgba(36,31,26,.86) 100%); pointer-events: none; }
.cst-heros__texte { position: absolute; left: 0; right: 0; bottom: 0; padding: 2rem 0 1.8rem; color: #FBEEDC; text-shadow: 0 1px 2px rgba(0,0,0,.5); }
.cst-heros__cote { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem .6rem; margin: 0 0 .5rem; }
.cst-heros__titre { margin: 0 0 .5rem; font-size: clamp(2rem, 3.4vw + 1rem, 4rem); color: #FFF8ED; text-shadow: 0 2px 4px rgba(0,0,0,.55), 0 8px 28px rgba(0,0,0,.4); max-width: 22ch; }
.cst-heros__titre a { color: inherit; text-decoration: none; }
.cst-heros__titre a:hover { color: #FFD9C6; }
.cst-heros__chapeau { margin: 0 0 .6rem; max-width: 60ch; color: #F0DCC6; font-size: 1.02rem; }
.cst-heros__pied { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-items: baseline; margin: 0; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: #E9CDA8; }
.cst-cote--clair { color: #FFC7A8; }
.cst-mention--clair { color: #F0DCC6; }
.cst-mention--clair:hover { color: #fff; }

/* ---------- Préambule ---------- */
.cst-preambule { padding: 2.4rem 0 1.6rem; }
.cst-accroche { font-family: var(--cst-titre-police); font-size: clamp(.85rem, .4vw + .75rem, 1rem); letter-spacing: .32em; text-transform: uppercase; color: var(--cst-rouge); margin: 0 0 .6rem; }
.cst-preambule__titre { margin: 0 0 .7rem; text-shadow: 0 1px 0 rgba(255,248,237,.75); }
.cst-preambule__intro { max-width: 64ch; font-size: 1.05rem; color: #3E251A; }
.cst-bilan { list-style: none; padding: 0; margin: 1.4rem 0 0; display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.cst-bilan__poste { display: flex; flex-direction: column; min-width: 0; }
.cst-bilan__chiffre { font-family: var(--cst-titre-police); font-size: 1.6rem; color: var(--cst-rouge); }
.cst-bilan__libelle { font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cst-ardoise-pale); }

/* ---------- Planche : en-tête capitales + filet double ---------- */
.cst-rayon { padding: 1.6rem 0 2.4rem; min-width: 0; }
.cst-planche__entete { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; border-top: 1px solid var(--cst-ardoise); border-bottom: 3px double var(--cst-ardoise); padding: .7rem 0 .55rem; margin-bottom: 1.4rem; }
.cst-planche__titre { margin: 0; font-size: clamp(1rem, .8vw + .85rem, 1.35rem); letter-spacing: .2em; text-transform: uppercase; }
.cst-rayon__decompte { font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cst-ardoise-pale); margin-left: auto; }
.cst-rayon__phrase { margin: .2rem 0 1rem; font-style: italic; color: var(--cst-ardoise-pale); max-width: 60ch; }

/* ---------- Signatures : cote, mention, constat, duree ---------- */
.cst-cote { font-family: var(--cst-titre-police); font-weight: 700; letter-spacing: .14em; color: var(--rc, var(--cst-rouge)); font-size: .82rem; }
.cst-mention { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--cst-ardoise-pale); text-decoration: none; }
.cst-mention:hover { color: var(--cst-rouge); }
.cst-entree__cote { margin: 0 0 .4rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: .6rem; }
.cst-constat { font-style: italic; color: #5A4436; font-size: .95rem; line-height: 1.45; margin: .25rem 0 .5rem; }
.cst-duree { display: inline-block; margin-left: .8rem; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cst-ardoise-pale); }

/* Couleur de rubrique par data-rubrique → --rc */
[data-rubrique="village-heritage"] { --rc: var(--cst-rouge); --rc-clair: var(--cst-rouge-grele); }
[data-rubrique="norman-reading"] { --rc: #6A4A2B; --rc-clair: #9B6B3E; }
[data-rubrique="slow-exploration"] { --rc: var(--cst-feuille); --rc-clair: #46806C; }

/* ---------- Cartes d'articles (12-20px, ombres colorées) ---------- */
.cst-casier { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1.2rem; margin-top: 1.3rem; min-width: 0; }
.cst-casier--secondes { grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); }
.cst-casier--moyennes { grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr)); margin-top: 1.2rem; }

.cst-entree { background: #FFFDF7; border: 1px solid var(--cst-filet); border-radius: var(--cst-r); padding: .9rem; box-shadow: var(--cst-ombre-douce); display: flex; flex-direction: column; min-width: 0; transition: transform .18s ease, box-shadow .18s ease; }
.cst-entree:hover { transform: translateY(-2px); box-shadow: var(--cst-ombre-carte); }
.cst-entree__vignette { margin: -.1rem -.1rem .8rem; aspect-ratio: 4/3; border-radius: var(--cst-r-petit); overflow: hidden; min-width: 0; box-shadow: 0 3px 10px rgba(51,25,14,.10); }
.cst-entree__vignette img { width: 100%; height: 100%; object-fit: cover; }
.cst-entree__intitule { margin: 0 0 .3rem; }
.cst-entree__intitule a { color: var(--cst-ardoise); text-decoration: none; }
.cst-entree__intitule a:hover { color: var(--rc, var(--cst-rouge)); text-decoration: underline; }
.cst-entree__datation { margin: auto 0 0; font-size: .78rem; letter-spacing: .12em; color: var(--cst-ardoise-pale); }
.cst-entree__datation .cst-duree { margin-left: .7rem; }
.cst-entree--serre { padding: .75rem; }
.cst-entree--serre .cst-entree__vignette { aspect-ratio: 16/10; }
.cst-entree--serre .cst-constat { display: none; }
.cst-entree--serre .cst-entree__intitule { font-size: 1rem; }
.cst-entree--ligne { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 1rem; align-items: start; }
.cst-entree--ligne .cst-entree__vignette { margin: 0; aspect-ratio: 4/3; }

.cst-registre { display: grid; grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr)); gap: 1rem; min-width: 0; }

/* ---------- Fil dense : grille compacte à vignettes ---------- */
.cst-fil__liste { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1.1rem; }
.cst-fil__item { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: .8rem 1rem; align-items: center; padding: .55rem .8rem .55rem .9rem; border-left: 4px solid var(--rc, var(--cst-rouge)); background: #FFFDF7; border-radius: 0 var(--cst-r-petit) var(--cst-r-petit) 0; box-shadow: 0 2px 6px rgba(51,25,14,.06), 0 10px 22px rgba(168,34,64,.06); min-width: 0; }
.cst-fil__item::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 0 1px var(--cst-filet); }
.cst-fil__vignette { margin: 0; width: 96px; height: 68px; border-radius: var(--cst-r-petit); overflow: hidden; box-shadow: 0 2px 6px rgba(51,25,14,.14); }
.cst-fil__vignette img { width: 100%; height: 100%; object-fit: cover; }
.cst-fil__texte { min-width: 0; }
.cst-fil__intitule { margin: .1rem 0 .15rem; font-size: 1.02rem; }
.cst-fil__intitule a { color: var(--cst-ardoise); text-decoration: none; }
.cst-fil__intitule a:hover { color: var(--rc, var(--cst-rouge)); text-decoration: underline; }
.cst-fil__constat { margin: .05rem 0 0; font-size: .88rem; }
.cst-fil__date { font-size: .76rem; letter-spacing: .12em; color: var(--cst-ardoise-pale); white-space: nowrap; }

/* ---------- Planches rubriques : aplat feuille saturé ---------- */
.cst-planches { background: var(--cst-feuille); color: #F4EAD9; padding: 2.4rem 0 2.8rem; box-shadow: inset 0 10px 28px rgba(0,0,0,.2); }
.cst-planches .cst-planche__entete { border-top-color: rgba(244,234,217,.65); border-bottom-color: rgba(244,234,217,.85); }
.cst-planches .cst-planche__titre { color: #F4EAD9; }
.cst-planches__grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1.2rem; }
.cst-planche { background: rgba(244,234,217,.12); border: 1px solid rgba(244,234,217,.35); border-radius: var(--cst-r); padding: 1.1rem 1.1rem 1.2rem; box-shadow: 0 4px 14px rgba(0,0,0,.18); min-width: 0; }
.cst-planche .cst-cote { color: #F6C58E; }
.cst-planche__nom { margin: .25rem 0 .5rem; }
.cst-planche__nom a { color: #fff; text-decoration: none; }
.cst-planche__nom a:hover { color: #F6C58E; text-decoration: underline; }
.cst-planche .cst-constat { color: #EFE1CB; }
.cst-planche .cst-entree__datation { color: #E4D2B6; }
.cst-constat--clair { color: #EFE1CB !important; }
.cst-entree__datation--clair { color: #E4D2B6 !important; }

/* ---------- Méthode (encadré à filet barnack) ---------- */
.cst-methode { margin: 2.4rem auto 2.6rem; max-width: 60ch; padding: 1.3rem 1.5rem 1.1rem; background: var(--cst-craie); border: 1px solid var(--cst-barnack); border-radius: var(--cst-r); box-shadow: var(--cst-ombre-douce); }
.cst-methode__entete { display: flex; align-items: baseline; gap: .8rem; border-bottom: 3px double var(--cst-ardoise); padding-bottom: .5rem; margin-bottom: .7rem; }
.cst-methode__titre { margin: 0; font-size: 1rem; letter-spacing: .2em; text-transform: uppercase; }
.cst-methode p { color: #3E251A; margin: 0; }

/* ---------- Réseau ---------- */
.cst-ailleurs { padding-top: 2rem; padding-bottom: 2.6rem; }
.cst-ailleurs__liste { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); gap: .9rem 1.4rem; }
.cst-ailleurs__item { padding: .9rem 1rem; border-left: 4px solid var(--cst-feuille); background: #FFFDF7; border-radius: 0 var(--cst-r-petit) var(--cst-r-petit) 0; box-shadow: 0 2px 8px rgba(46,93,78,.14); }
.cst-ailleurs__item p { margin: 0; }

/* ---------- Remontée, onglets ---------- */
.cst-remontee { padding: 1rem 0 .3rem; }
.cst-remontee ol { list-style: none; display: flex; flex-wrap: wrap; gap: .3rem .5rem; padding: 0; margin: 0; font-size: .82rem; letter-spacing: .06em; color: var(--cst-ardoise-pale); }
.cst-remontee li::after { content: "›"; margin-left: .5rem; color: var(--cst-ardoise-pale); }
.cst-remontee li:last-child::after { content: ""; }
.cst-remontee a { color: var(--cst-ardoise-pale); text-decoration: none; }
.cst-remontee a:hover { color: var(--cst-rouge); }
.cst-onglets { display: flex; flex-wrap: wrap; gap: .5rem; margin: .4rem 0 1rem; }
.cst-onglet { display: inline-block; padding: .4rem .95rem; border-radius: 999px; background: #FFFDF7; border: 1px solid var(--cst-filet); color: var(--cst-ardoise); text-decoration: none; font-size: .85rem; letter-spacing: .04em; box-shadow: 0 2px 6px rgba(51,25,14,.05); }
.cst-onglet:hover { background: var(--cst-barnack); color: var(--cst-ardoise); }
.cst-onglet--courant { background: var(--cst-rouge); color: #fff; border-color: var(--cst-rouge); box-shadow: 0 4px 12px rgba(168,34,64,.28); }

/* ---------- Article (fiche) ---------- */
.cst-fiche { display: block; }
.cst-entete-fiche { padding: 1rem 0 1.4rem; max-width: 74ch; }
.cst-entete-fiche .cst-constat { font-size: 1.02rem; }
.cst-constat--entete { margin: .5rem 0 1rem; padding-left: 1rem; border-left: 3px solid var(--rc, var(--cst-rouge)); }
.cst-grand-titre { text-shadow: 0 1px 0 rgba(255,248,237,.75), 0 6px 28px rgba(51,25,14,.16); }
.cst-chapeau { font-size: 1.08rem; color: #3E251A; max-width: 64ch; }
.cst-signature { display: flex; flex-wrap: wrap; gap: .4rem .8rem; align-items: baseline; margin: .2rem 0 .5rem; font-size: .92rem; }
.cst-signature__role { font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cst-ardoise-pale); }
.cst-signature__nom { font-family: var(--cst-titre-police); color: var(--cst-ardoise); }
.cst-datation { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cst-ardoise-pale); }
.cst-planche-image { margin: 0 auto 2rem; width: min(var(--cst-travee), 100% - 2.5rem); }
.cst-planche-image img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--cst-r-grand); box-shadow: var(--cst-ombre-planche); }
.cst-planche-image__legende { margin-top: .6rem; font-size: .85rem; color: var(--cst-ardoise-pale); font-style: italic; max-width: 68ch; }

.cst-duo { display: grid; grid-template-columns: minmax(0, 1fr) 22rem; gap: 2rem; padding-bottom: 2.4rem; min-width: 0; }
.cst-corps { max-width: var(--cst-mesure); min-width: 0; }
.cst-corps > p:first-of-type::first-letter { font-family: var(--cst-titre-police); font-size: 3.2em; line-height: .85; float: left; padding: .12em .14em 0 0; color: var(--rc, var(--cst-rouge)); }
.cst-corps h2 { margin-top: 1.8rem; }
.cst-corps h3 { margin-top: 1.4rem; }
.cst-corps table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.cst-corps th, .cst-corps td { padding: .55rem .7rem; border-bottom: 1px solid var(--cst-filet); text-align: left; }
.cst-corps th { font-family: var(--cst-titre-police); color: var(--cst-rouge); letter-spacing: .04em; }
.cst-corps ul, .cst-corps ol { padding-left: 1.2rem; }
.tableau-defilant { overflow-x: auto; min-width: 0; }
.tableau-defilant table { min-width: 36rem; }

.cst-releve { position: sticky; top: 1rem; align-self: start; background: var(--cst-barnack); border-radius: var(--cst-r); padding: 1.1rem 1.2rem; box-shadow: var(--cst-ombre-carte); min-width: 0; max-height: calc(100vh - 2rem); overflow-y: auto; }
.cst-releve__titre { font-size: .85rem; letter-spacing: .2em; text-transform: uppercase; margin: .2rem 0 .6rem; }
.cst-releve__sommaire, .cst-releve__sources { list-style: none; padding: 0; margin: 0 0 1rem; }
.cst-releve__sommaire li, .cst-releve__sources li { padding: .35rem 0 .35rem 1rem; border-left: 3px solid var(--rc, var(--cst-rouge)); margin-bottom: .25rem; }
.cst-releve a { color: #5A2B14; text-decoration: none; }
.cst-releve a:hover { color: var(--cst-rouge); text-decoration: underline; }
.cst-releve__note { margin: 1rem 0 0; font-size: .82rem; color: #5A2B14; font-style: italic; }

.cst-voisinage { padding-bottom: 3rem; }

/* ---------- Pied ---------- */
.cst-pied { background: var(--cst-ardoise); color: #F1DDC2; padding: 2.4rem 0 1.4rem; margin-top: 2rem; }
.cst-pied a { color: #F6C58E; text-decoration: none; }
.cst-pied a:hover { color: #fff; text-decoration: underline; }
.cst-pied__colonnes { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 1.6rem 2rem; }
.cst-pied__colonne { min-width: 0; }
.cst-pied__titre { font-size: 1rem; letter-spacing: .16em; text-transform: uppercase; color: #F6C58E; margin: 0 0 .6rem; }
.cst-pied__colonne ul { list-style: none; padding: 0; margin: 0; }
.cst-pied__colonne li { padding: .18rem 0; }
.cst-pied__independance { color: #EBD6BB; font-size: .92rem; max-width: 60ch; }
.cst-pied__ligne { border-top: 3px double rgba(251,238,220,.4); margin-top: 1.6rem; padding-top: .9rem; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: #E4D2B6; }

/* ---------- Responsive ---------- */
@media (max-width: 64rem) {
  .cst-duo { grid-template-columns: 1fr; }
  .cst-releve { position: static; max-height: none; }
  .cst-fil__liste { grid-template-columns: 1fr; }
  .cst-pied__colonnes { grid-template-columns: 1fr 1fr; }
  .cst-heros__titre { max-width: 26ch; }
}
@media (max-width: 44rem) {
  .cst-travee { width: min(var(--cst-travee), 100% - 1.6rem); }
  .cst-bande-marque__interieur { flex-direction: column; align-items: flex-start; gap: .35rem; }
  .cst-devise { margin-left: 0; font-size: .72rem; }
  .cst-parcours { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
  .cst-parcours ul { flex-wrap: nowrap; padding-bottom: .3rem; }
  .cst-parcours__lien { scroll-snap-align: start; white-space: nowrap; }
  .cst-casier, .cst-casier--secondes, .cst-casier--moyennes, .cst-registre { grid-template-columns: 1fr; }
  .cst-pied__colonnes { grid-template-columns: 1fr; }
  .cst-entree--ligne { grid-template-columns: 128px minmax(0, 1fr); gap: .8rem; }
  .cst-preambule { padding: 1.6rem 0 1rem; }
  .cst-heros__texte { padding: 1.4rem 0 1.2rem; }
  .cst-heros img { height: clamp(16rem, 46vh, 24rem); }
  .cst-heros__chapeau { font-size: .96rem; }
  .cst-fil__item { grid-template-columns: 84px minmax(0, 1fr); }
  .cst-fil__vignette { width: 84px; height: 62px; }
  .cst-fil__date { grid-column: 2; white-space: normal; }
}
@media (max-width: 24rem) {
  .cst-entree--ligne { grid-template-columns: 1fr; }
  .cst-entree--ligne .cst-entree__vignette { aspect-ratio: 16/9; }
  .cst-fil__item { grid-template-columns: 72px minmax(0, 1fr); }
  .cst-fil__vignette { width: 72px; height: 56px; }
}
@media (min-width: 120rem) {
  :root { --cst-travee: 88rem; --cst-mesure: 68ch; }
  .cst-fil__liste { gap: .9rem 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  .cst-entree { transition: none; }
  .cst-entree:hover { transform: none; }
}

.cst-image-label{position:absolute;top:.8rem;right:1rem;background:#24201bd9;color:#fff8ed;border-radius:12px;padding:.35rem .7rem;font-size:.72rem;max-width:85%}.cst-heros{border-radius:0 0 18px 18px}

@media(max-width:700px){.cst-parcours ul{flex-wrap:wrap;gap:.7rem .2rem}.cst-parcours{padding-block:.5rem}.cst-parcours__lien{font-size:.73rem;padding:.3rem .5rem}}
