

@font-face {
  font-family: "Readex Pro";
  src: url("/readex-pro-v10-latin-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Core Sans";
  src: url("/core-sans-a-latin-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Core Sans";
  src: url("/core-sans-a-latin-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  
  --cst-craie: #F7F2E8;
  --cst-ardoise: #141B36;
  --cst-ardoise-pale: #6B7488;
  --cst-rouge: #0F7C82;
  --cst-rouge-grele: #4FB3B0;
  --cst-rouge-fonce: #084F55;
  --cst-barnack: #EFCB84;
  --cst-fer: #46536B;
  --cst-feuille: #2C6E63;
  --cst-filet: #DED3BE;
  --cst-ardoise-loin: #0E1023;
  
  --rc: var(--cst-rouge);
  --rc-clair: var(--cst-rouge-grele);
  
  --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);
  
  --cst-titre-police: "Readex Pro", "Palatino Linotype", Palatino, Georgia, serif;
  --cst-texte-police: "Core Sans", Verdana, Geneva, "Segoe UI", sans-serif;
  
  --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; }


.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; }


.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; }


.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: #F7F2E8; 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; }


.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); }


.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; }


.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); }


[data-rubrique="club-culture"] { --rc: var(--cst-rouge); --rc-clair: var(--cst-rouge-grele); }
[data-rubrique="first-visit"] { --rc: #6A4A2B; --rc-clair: #9B6B3E; }
[data-rubrique="sky-reading"] { --rc: var(--cst-feuille); --rc-clair: #46806C; }


.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; }


.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; }


.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; }


.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; }


.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; }


.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); }


.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; }


.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; }


@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:#F7F2E8;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}}

:root{--cst-craie:#F7F2E8;--cst-ardoise:#141B36;--cst-ardoise-pale:#6B7488;--cst-rouge:#0F7C82;--cst-rouge-grele:#4FB3B0;--cst-rouge-fonce:#084F55;--cst-barnack:#EFCB84;--cst-fer:#46536B;--cst-feuille:#2C6E63;--cst-filet:#DED3BE;--cst-ardoise-loin:#0E1023;}

.cst-entree,.cst-releve,.cst-methode{position:relative}.cst-entree::before,.cst-releve::before,.cst-methode::before{content:"";position:absolute;top:6px;left:6px;width:14px;height:14px;border-top:2px solid var(--rc,var(--cst-rouge));border-left:2px solid var(--rc,var(--cst-rouge));border-radius:6px 0 0 0;pointer-events:none;opacity:.85}.cst-entree::after,.cst-releve::after,.cst-methode::after{content:"";position:absolute;bottom:6px;right:6px;width:14px;height:14px;border-bottom:2px solid var(--rc,var(--cst-rouge));border-right:2px solid var(--rc,var(--cst-rouge));border-radius:0 0 6px 0;pointer-events:none;opacity:.85}.cst-methode{background:var(--cst-ardoise-loin);border-color:var(--cst-ardoise-pale);box-shadow:var(--cst-ombre-planche)}.cst-methode__entete{border-bottom:3px double var(--cst-barnack)}.cst-methode__titre{color:#FBEEDC}.cst-methode p{color:#EFE1CB}.cst-methode a{color:var(--cst-barnack);text-decoration:underline;text-decoration-thickness:.1em}.cst-methode a:hover{color:#4FB3B0}.cst-methode::before,.cst-methode::after{border-color:var(--cst-barnack)}.cst-mention{display:inline-block;padding:.28rem .7rem;border-radius:12px;background:var(--rc,var(--cst-rouge));color:#F7F2E8;text-decoration:none}.cst-mention:hover{background:var(--cst-rouge-fonce);color:#fff}.cst-mention--clair{background:var(--cst-barnack);color:var(--cst-ardoise-loin)}.cst-mention--clair:hover{background:#F0DCC6;color:var(--cst-ardoise-loin)}.cst-planche .cst-mention{background:var(--cst-feulle,var(--cst-feuille));color:#F4EAD9}.cst-heros .cst-mention{background:rgba(232,201,138,.9);color:var(--cst-ardoise-loin)}

/* Subject-led composition, API-normalised */
/* ===== Cutaway Notes — HOME addition (prefix: cut-) ===== */

/* Page masthead: keep look, tighten to editorial-table tone */
.cst-bande-marque { background: #141B36; box-shadow: 0 6px 18px rgba(14,124,123,.20); }
.cst-bande-marque__interieur { padding: .9rem 0 .95rem; }
.cst-enseigne { color: #F7F2E8; }
.cst-enseigne__mot { border-bottom-color: rgba(14,124,123,.85); }
.cst-enseigne:hover .cst-enseigne__mot { border-bottom-color: #0F7C82; }
.cst-marque { color: #0F7C82; }
.cst-devise { color: #EFCB84; }
.cst-fronton { background: #0E1023; }
.cst-parcours__lien:hover { background: rgba(14,124,123,.28); }

/* Small card badges globally updated (kept subtle) */
.cst-mention { background: #0F7C82; color: #F7F2E8; border-radius: 12px; }
.cst-mention:hover { background: #084F55; color: #fff; }
.cst-mention--clair { background: #EFCB84; color: #141B36; }
.cst-mention--clair:hover { background: #F0DCC6; color: #141B36; }

/* ---------- Deep indigo intro strip with teal accents ---------- */
.cut-intro {
  background: #141B36;
  color: #F7F2E8;
  padding: 2rem 0 2.2rem;
  box-shadow: inset 0 8px 22px rgba(0,0,0,.35);
  position: relative;
}
.cut-intro::before,
.cut-intro::after {
  content: "";
  position: absolute;
  width: 46px; height: 46px;
  border: 2px solid #0F7C82;
  opacity: .75;
  pointer-events: none;
}
.cut-intro::before { top: 12px; left: 14px; border-right: none; border-bottom: none; border-radius: 14px 0 0 0; }
.cut-intro::after { bottom: 12px; right: 14px; border-left: none; border-top: none; border-radius: 0 0 14px 0; }
.cut-intro__titre {
  color: #F7F2E8;
  font-size: clamp(1.4rem, 1.2vw + 1rem, 2rem);
  margin: 0 0 .6rem;
  letter-spacing: .01em;
  text-shadow: 0 2px 8px rgba(0,0,0,.45);
  border-bottom: 3px double #0F7C82;
  padding-bottom: .5rem;
  display: inline-block;
}
.cut-intro__texte {
  max-width: 68ch;
  font-size: 1.02rem;
  color: #E9E3D2;
  margin: .4rem 0 0;
  line-height: 1.6;
}

/* ---------- Shared helpers ---------- */
.cut-travee { width: min(76rem, 100% - 2.5rem); margin-inline: auto; min-width: 0; }
.cut-rays__titre,
.cut-dense__titre,
.cut-rubriques__titre {
  margin: 0 0 1rem;
  font-size: clamp(1rem, .7vw + .9rem, 1.3rem);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #141B36;
  display: flex;
  align-items: center;
  gap: .8rem;
}
.cut-rays__titre::after,
.cut-dense__titre::after,
.cut-rubriques__titre::after {
  content: "";
  flex: 1;
  height: 3px;
  background: linear-gradient(90deg, #0F7C82 0%, #0F7C82 40%, transparent 100%);
  border-radius: 2px;
}

/* ---------- 1. Full-bleed photo hero (newest article) ---------- */
.cst-heros { border-radius: 0 0 20px 20px; }
.cst-heros img { height: clamp(20rem, 54vh, 36rem); }
.cst-heros__voile {
  background: linear-gradient(180deg, rgba(27,31,58,.20) 0%, rgba(27,31,58,.55) 55%, rgba(21,23,42,.92) 100%);
}
.cst-heros__titre {
  text-shadow: 0 2px 6px rgba(0,0,0,.65), 0 10px 30px rgba(0,0,0,.5);
  color: #F7F2E8;
  max-width: 22ch;
}
.cst-heros__titre a:hover { color: #EFCB84; }
.cst-heros__cote .cst-cote--clair { color: #EFCB84; }
.cst-heros__pied { color: #EFCB84; }
.cst-heros__texte::before {
  content: "";
  position: absolute;
  left: 0; top: -14px;
  width: 84px; height: 6px;
  background: linear-gradient(90deg, #0F7C82 0%, #0F7C82 55%, #EFCB84 55%, #EFCB84 100%);
  border-radius: 3px;
  box-shadow: 0 2px 8px rgba(0,0,0,.4);
}

/* ---------- 2. Three large photo story cards ---------- */
.cut-rays { padding: 2.2rem 0 2rem; }
.cut-rays__grille {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.3rem;
}
.cut-rays__grille .cst-entree {
  border-radius: 16px;
  padding: 1rem;
  background: #FFFDF7;
  box-shadow: 0 6px 16px rgba(27,31,58,.08), 0 20px 42px rgba(27,31,58,.10);
  position: relative;
  border: 1px solid #E4DCCB;
  overflow: hidden;
}
.cut-rays__grille .cst-entree::before {
  content: "";
  position: absolute;
  top: -1px; left: -1px;
  width: 34px; height: 34px;
  border-top: 3px solid #0F7C82;
  border-left: 3px solid #0F7C82;
  border-radius: 14px 0 12px 0;
  transform: skewX(-18deg);
  transform-origin: top left;
  pointer-events: none;
}
.cut-rays__grille .cst-entree::after {
  content: "";
  position: absolute;
  bottom: -1px; right: -1px;
  width: 34px; height: 34px;
  border-bottom: 3px solid #0F7C82;
  border-right: 3px solid #0F7C82;
  border-radius: 0 12px 0 14px;
  transform: skewX(-18deg);
  transform-origin: bottom right;
  pointer-events: none;
}
.cut-rays__grille .cst-entree__vignette { aspect-ratio: 4/3; border-radius: 12px; }
.cut-rays__grille .cst-entree__intitule { font-size: clamp(1.15rem, .5vw + 1rem, 1.45rem); }
.cut-rays__grille .cst-entree__intitule a {
  text-shadow: 0 1px 0 rgba(255,248,237,.8), 0 4px 18px rgba(27,31,58,.12);
}

/* ---------- 3. Dense two-column reading selection ---------- */
.cut-dense { padding: 1.6rem 0 2.4rem; background: #F7F2E8; }
.cut-dense__liste {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem 1.1rem;
}
.cut-dense__item { min-width: 0; }
.cut-dense__lien {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: .85rem 1rem;
  align-items: center;
  padding: .6rem .85rem .6rem .6rem;
  border-radius: 14px;
  background: #FFFDF7;
  border-left: 4px solid #0F7C82;
  text-decoration: none;
  color: #141B36;
  box-shadow: 0 3px 10px rgba(27,31,58,.07), 0 12px 26px rgba(27,31,58,.06);
  position: relative;
  overflow: hidden;
  transition: transform .16s ease, box-shadow .16s ease;
}
.cut-dense__lien:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(27,31,58,.12), 0 18px 36px rgba(27,31,58,.10);
  text-decoration: none;
}
.cut-dense__lien::after {
  content: "";
  position: absolute;
  top: 0; right: 0;
  width: 26px; height: 26px;
  background: linear-gradient(225deg, rgba(14,124,123,.18) 0 50%, transparent 50%);
  pointer-events: none;
}
.cut-dense__vignette {
  display: block;
  width: 108px;
  height: 76px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(27,31,58,.14);
}
.cut-dense__vignette picture { display: block; width: 100%; height: 100%; }
.cut-dense__vignette img { width: 100%; height: 100%; object-fit: cover; }
.cut-dense__corps { display: grid; gap: .15rem; min-width: 0; }
.cut-dense__rubrique {
  font-size: .7rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #0F7C82;
  font-family: "Core Sans", Verdana, sans-serif;
  font-weight: 700;
}
.cut-dense__intitule {
  font-family: "Readex Pro", Georgia, serif;
  font-weight: 700;
  font-size: 1.02rem;
  line-height: 1.22;
  color: #141B36;
  text-shadow: 0 1px 0 rgba(255,248,237,.7);
}
.cut-dense__temps {
  font-size: .74rem;
  letter-spacing: .1em;
  color: #6B7488;
  font-family: "Core Sans", Verdana, sans-serif;
}

/* ---------- 4. Three full-width coloured topic panels ---------- */
.cut-rubriques { padding: 2.4rem 0 2.8rem; }
.cut-rubriques__grille {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
}
.cut-topic {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(27,31,58,.14), 0 22px 46px rgba(27,31,58,.12);
  min-width: 0;
  position: relative;
}
.cut-topic::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 6px;
  background: linear-gradient(90deg, transparent 0, rgba(255,255,255,.35) 50%, transparent 100%);
  z-index: 2;
  pointer-events: none;
}
.cut-topic--0 { background: #0F7C82; }
.cut-topic--1 { background: #141B36; }
.cut-topic--2 { background: #EFCB84; }
.cut-topic__lien {
  display: grid;
  grid-template-rows: 168px auto;
  text-decoration: none;
  color: inherit;
  height: 100%;
}
.cut-topic__vignette {
  display: block;
  width: 100%; height: 100%;
  overflow: hidden;
  position: relative;
}
.cut-topic__vignette picture { display: block; width: 100%; height: 100%; }
.cut-topic__vignette img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.cut-topic__lien:hover .cut-topic__vignette img { transform: scale(1.04); }
.cut-topic__vignette::after {
  content: "";
  position: absolute;
  bottom: 0; right: 0;
  width: 42px; height: 42px;
  background: linear-gradient(315deg, rgba(244,239,228,.9) 0 50%, transparent 50%);
  pointer-events: none;
}
.cut-topic__corps {
  display: grid;
  gap: .35rem;
  padding: 1.05rem 1.15rem 1.15rem;
  color: #F7F2E8;
}
.cut-topic__nom {
  font-family: "Readex Pro", Georgia, serif;
  font-weight: 700;
  font-size: clamp(1.15rem, .5vw + 1rem, 1.5rem);
  line-height: 1.18;
  text-shadow: 0 2px 6px rgba(0,0,0,.30);
}
.cut-topic__intro {
  font-family: "Core Sans", Verdana, sans-serif;
  font-size: .95rem;
  line-height: 1.45;
  opacity: .95;
}
.cut-topic--2 .cut-topic__corps { color: #141B36; }
.cut-topic--2 .cut-topic__nom { text-shadow: 0 2px 6px rgba(255,255,255,.4); }
.cut-topic__cta {
  margin-top: .35rem;
  display: inline-block;
  padding: .45rem .95rem;
  border-radius: 999px;
  background: #EFCB84;
  color: #141B36;
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
}
.cut-topic--2 .cut-topic__cta { background: #141B36; color: #F7F2E8; }
.cut-topic__cta:hover { background: #F0DCC6; }
.cut-topic--2 .cut-topic__cta:hover { background: #35396A; color: #F7F2E8; }

/* Kept network section spacing tidy below the panels */
.cut-rubriques + .cst-ailleurs { padding-top: 1.2rem; }

/* ---------- Responsive: 760px breakpoint ---------- */
@media (max-width: 760px) {
  .cut-travee { width: min(76rem, 100% - 1.6rem); }
  .cut-intro { padding: 1.6rem 0 1.8rem; }
  .cut-intro__texte { font-size: 1rem; }
  .cut-rays__grille { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; }
  .cut-dense__liste { grid-template-columns: minmax(0, 1fr); }
  .cut-dense__lien { grid-template-columns: 92px minmax(0, 1fr); padding: .55rem .75rem .55rem .55rem; }
  .cut-dense__vignette { width: 92px; height: 68px; }
  .cut-dense__intitule { font-size: 1rem; }
  .cut-rubriques__grille { grid-template-columns: minmax(0, 1fr); }
  .cut-topic__lien { grid-template-rows: 200px auto; }
  .cst-heros img { height: clamp(16rem, 46vh, 24rem); }
}

@media (min-width: 120rem) {
  .cut-travee { width: min(88rem, 100% - 2.5rem); }
}

@media (prefers-reduced-motion: reduce) {
  .cut-dense__lien { transition: none; }
  .cut-dense__lien:hover { transform: none; }
  .cut-topic__vignette img { transition: none; }
  .cut-topic__lien:hover .cut-topic__vignette img { transform: none; }
}


.cut-hero-action{background-color:#EFCB84;color:#141B36;padding:12px 18px;border-radius:14px;box-shadow:0 4px 14px rgba(27,31,58,0.18);text-decoration:none;font-weight:600;line-height:1.4;max-width:100%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word}.cut-hero-action:hover,.cut-hero-action:focus{background-color:#f0d9a4;color:#141B36;box-shadow:0 6px 18px rgba(27,31,58,0.24)}.cut-hero-byline{color:#F6EFE2;font-size:14px;line-height:1.5;margin:0 0 10px;max-width:100%;overflow-wrap:break-word}.cut-hero-byline a{color:#F6EFE2;text-decoration:underline}.cst-heros__pied{flex-wrap:wrap;align-items:center;gap:10px}.cst-heros__pied .cut-hero-action{flex:0 1 auto}.cut-topic--0 .cut-topic__corps{background-color:#0F7C82;color:#ffffff}.cut-topic--0 .cut-topic__corps .cut-topic__titre,.cut-topic--0 .cut-topic__corps h2,.cut-topic--0 .cut-topic__corps h3,.cut-topic--0 .cut-topic__corps h4{color:#ffffff}.cut-topic--0 .cut-topic__corps .cut-topic__intro,.cut-topic--0 .cut-topic__corps p,.cut-topic--0 .cut-topic__corps a{color:#ffffff}.cut-topic--1 .cut-topic__corps{background-color:#294C8A;color:#ffffff}.cut-topic--1 .cut-topic__corps .cut-topic__titre,.cut-topic--1 .cut-topic__corps h2,.cut-topic--1 .cut-topic__corps h3,.cut-topic--1 .cut-topic__corps h4{color:#ffffff}.cut-topic--1 .cut-topic__corps .cut-topic__intro,.cut-topic--1 .cut-topic__corps p,.cut-topic--1 .cut-topic__corps a{color:#ffffff}.cut-topic--2 .cut-topic__corps{background-color:#EFCB84;color:#141B36}.cut-topic--2 .cut-topic__corps .cut-topic__titre,.cut-topic--2 .cut-topic__corps h2,.cut-topic--2 .cut-topic__corps h3,.cut-topic--2 .cut-topic__corps h4{color:#141B36}.cut-topic--2 .cut-topic__corps .cut-topic__intro,.cut-topic--2 .cut-topic__corps p,.cut-topic--2 .cut-topic__corps a{color:#141B36}@media (max-width:640px){.cst-heros__pied{flex-direction:column;align-items:flex-start}.cut-hero-action{width:100%;text-align:center;padding:12px 16px}}

/* mobile-hero-flow-v1 */
@media(max-width:640px){.cst-heros{min-height:500px}.cst-heros picture{position:absolute;inset:0;height:100%;width:100%}.cst-heros picture img{height:100%;width:100%;object-fit:cover}.cst-heros__voile{position:absolute;inset:0}.cst-heros__texte{position:relative;bottom:auto;top:0;width:calc(100% - 1.6rem);padding:64px 0 24px;margin:0 auto;box-sizing:border-box}.cst-image-label{top:.8rem;right:1rem;z-index:2}}
