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

/* PEAU « accrochage » (bibliothèque du socle-site, 17/09/2026). Archétype galerie-visuelle, direction 07 « La Cimaise ».
   Le site est un accrochage : une épreuve par article (étiquette, numéro d'inventaire, date d'accrochage), un cabinet par
   rubrique, l'affiche de l'exposition en tête de l'accueil, le mur principal en une hiérarchisée sur 12 colonnes,
   la station de lecture pour l'article (grand format pleine largeur, notice étroite, aparté actif, diptyque).
   Deux mondes assumés : l'affiche et le mur principal arrondis (--rayon-affiche), les salles à angles vifs.
   TOUT CE QUI VARIE PAR SITE est dans :root (palette de 8 matières, deux piles système, rayons, mesures, rythme).
   Préfixe de classes : .ci- (le changer ici et dans la constante P de theme.mjs, rien d'autre).
   Aucune ressource externe, aucune police distante, aucun script. */
:root {
  /* PALETTE : huit matières. Contrastes mesurés avec les valeurs par défaut. */
  --creme: #fffdf8;              /* le papier des étiquettes et du mur principal (fond de page) */
  --mur: #e7e0d3;                /* la cloison de ton moyen des salles ; encre dessus 12,4:1, encre douce 5,2:1 */
  --encre: #102d28;              /* vert profond : texte, tringle, et la surface vert nuit (affiche, régie, sortie) ; 14,4:1 sur crème */
  --encre-douce: #4a5e58;        /* étiquettes, mentions, légendes ; 6,7:1 sur crème */
  --terre-cuite: #c8794d;        /* filets du surtitre, soulignés, fil d'Ariane ; 3,3:1 sur crème, donc JAMAIS un petit texte */
  --terre-cuite-sombre: #8c4a27; /* texte d'accent et survol ; 6,6:1 sur crème, 5,2:1 sur mur */
  --abricot: #f1b48f;            /* numéros du bloc méta et accents ; 8,2:1 sur vert nuit, posé UNIQUEMENT sur le vert nuit */
  --filet: #d9d1c3;              /* hairlines entre étiquettes et têtes de mur */
  /* RÈGLES NÉGATIVES :
     1. le survol est toujours plus foncé que l'accent (terre cuite -> terre cuite sombre -> plus sombre encore), jamais plus clair ;
     2. l'abricot ne se pose que sur le vert nuit : sur crème ou sur mur il tombe sous 2:1 ;
     3. aucune ombre floue : un tirage est posé à plat, la profondeur vient du passe-partout et des fils. */

  /* POLICES : deux piles système, aucun fichier. Didot pour les titres (compressé sur l'affiche), Avenir Next pour le texte.
     Rôles : capitales espacées .22em = étiquettes d'accrochage (inventaire, salle, surtitre) et elles seules ;
     italique = légendes des planches et du diptyque, et elles seules. */
  --titre-police: Oswald, Didot, "Bodoni 72", "Bodoni MT", "Hoefler Text", Georgia, serif;
  --texte-police: Lato, "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Arial, sans-serif;

  /* GÉOMÉTRIE ET RYTHME */
  --rayon-affiche: 1.05rem;      /* accueil : affiche et mur principal */
  --rayon-salle: 0;              /* salles et articles : angles vifs (identitaire du squelette) */
  --largeur-mur: 90rem;          /* largeur maxi de la page */
  --mesure: 66ch;                /* colonne de lecture */
  --marge-page: clamp(1rem, 4vw, 4rem);
  --gouttiere: clamp(.9rem, 2vw, 2rem);
  --souffle: clamp(3.2rem, 7vw, 6.5rem);  /* écart entre les sections */
  --decalage: clamp(1.5rem, 4vw, 4.5rem); /* désalignement vertical de la mosaïque */
  --corps: clamp(1rem, .97rem + .15vw, 1.0625rem);
  --interligne: 1.65;
  /* DÉTAIL DU DIPTYQUE : point de recadrage et grossissement du même tirage (réglables par site) */
  --foyer-detail: 58% 52%;
  --zoom-detail: 1.9;
}

/* ------------------------------------------------------------------ base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--creme); color: var(--encre); font-family: var(--texte-police); font-size: var(--corps); line-height: var(--interligne); overflow-wrap: break-word; }
img { max-width: 100%; height: auto; display: block; }
picture { display: block; }
h1, h2, h3, h4 { font-family: var(--titre-police); font-weight: 400; line-height: 1.08; margin: 0; letter-spacing: -.005em; text-wrap: balance; }
p, ul, ol, dl { margin: 0 0 1.1em; }
a { color: var(--terre-cuite-sombre); text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: color-mix(in srgb, var(--terre-cuite-sombre) 72%, #000); }
:focus-visible { outline: 2px solid var(--terre-cuite-sombre); outline-offset: 3px; }
.ci-raccourci { position: absolute; left: -9999px; top: 0; z-index: 60; background: var(--encre); color: var(--creme); padding: .7rem 1.1rem; }
.ci-raccourci:focus { left: .6rem; top: .6rem; color: var(--creme); }
.ci-aplomb { width: 100%; max-width: var(--largeur-mur); margin-inline: auto; padding-inline: var(--marge-page); }
.ci-exposition { display: block; }

/* ------------------------------------------------------------------ GESTE A : le surtitre à filet */
.ci-surtitre { display: flex; align-items: center; gap: .75rem; margin: 0 0 .9rem; font-family: var(--texte-police); font-size: .7rem; font-weight: 600; line-height: 1.3; letter-spacing: .22em; text-transform: uppercase; color: var(--encre-douce); }
.ci-surtitre__filet { flex: none; width: 1.8rem; height: 1px; background: var(--terre-cuite); }
.ci-surtitre--sombre { color: var(--abricot); }

/* ------------------------------------------------------------------ GESTE B : le chiffre, bloc méta (toujours sur vert nuit) */
.ci-chiffre { display: flex; align-items: baseline; gap: .8rem; margin: 0; }
.ci-chiffre__numero { flex: none; font-family: var(--titre-police); font-size: clamp(2.3rem, 1.9rem + 1.4vw, 3.3rem); line-height: .9; letter-spacing: -.02em; color: var(--abricot); font-variant-numeric: lining-nums; }
.ci-chiffre__phrase { font-size: .8rem; line-height: 1.4; max-width: 28ch; color: var(--creme); }
.ci-chiffre--plaque { display: inline-flex; background: var(--encre); padding: .85rem 1.2rem .9rem; margin-top: 1.4rem; }
.ci-oeuvre .ci-chiffre--plaque .ci-chiffre__phrase { max-width: 34ch; }
.ci-chiffre--renvoi { align-items: flex-start; }
.ci-chiffre--renvoi .ci-chiffre__numero { font-size: clamp(1.8rem, 1.5rem + 1vw, 2.4rem); }
.ci-chiffre--renvoi .ci-chiffre__phrase { font-size: .93rem; line-height: 1.55; max-width: none; }

/* ------------------------------------------------------------------ fronton */
.ci-vestibule { background: color-mix(in srgb, var(--creme) 93%, transparent); border-bottom: 1px solid var(--filet); }
.ci-vestibule__rang { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .9rem 2rem; padding-block: .9rem; }
.ci-signaletique { display: inline-flex; align-items: center; gap: .8rem; color: var(--encre); text-decoration: none; min-width: 0; }
.ci-signaletique__pastille { flex: none; display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--encre); color: var(--abricot); font-family: var(--titre-police); font-size: 1rem; letter-spacing: .02em; }
.ci-signaletique__texte { display: flex; flex-direction: column; min-width: 0; }
.ci-signaletique__nom { font-family: var(--titre-police); font-size: clamp(1.25rem, 1.05rem + .8vw, 1.7rem); line-height: 1.05; }
.ci-signaletique__sous-titre { font-size: .76rem; line-height: 1.35; color: var(--encre-douce); max-width: 46ch; margin-top: .2rem; }
.ci-signaletique:hover .ci-signaletique__nom { color: var(--terre-cuite-sombre); }
.ci-orientation ul { display: flex; flex-wrap: wrap; gap: .35rem 1.3rem; list-style: none; margin: 0; padding: 0; }
.ci-orientation a { display: inline-flex; align-items: baseline; gap: .4rem; padding-block: .25rem; font-size: .9rem; color: var(--encre); text-decoration: none; box-shadow: inset 0 -2px 0 transparent; }
.ci-orientation__numero { font-size: .66rem; font-weight: 600; letter-spacing: .22em; color: var(--encre-douce); }
.ci-orientation a:hover { color: var(--terre-cuite-sombre); }
.ci-orientation a[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--terre-cuite); }
.ci-orientation .ci-orientation__accueil { color: var(--terre-cuite-sombre); text-decoration: underline; text-decoration-color: var(--terre-cuite); }
@media (min-width: 64rem) {
  .ci-vestibule { position: sticky; top: 0; z-index: 30; -webkit-backdrop-filter: blur(14px) saturate(115%); backdrop-filter: blur(14px) saturate(115%); }
}

/* ------------------------------------------------------------------ fil d'Ariane */
.ci-cheminement { padding-block: 1.1rem 0; font-size: .8rem; color: var(--encre-douce); }
.ci-cheminement ol { display: flex; flex-wrap: wrap; gap: .3rem .55rem; list-style: none; margin: 0; padding: 0; }
.ci-cheminement li + li::before { content: "/"; margin-right: .55rem; color: var(--terre-cuite); }
.ci-cheminement a { color: var(--encre-douce); text-decoration: none; }
.ci-cheminement a:hover { color: var(--terre-cuite-sombre); text-decoration: underline; }

/* ------------------------------------------------------------------ ACCUEIL : l'affiche de l'exposition */
.ci-affiche { margin-top: clamp(1rem, 2.4vw, 2rem); }
.ci-affiche__plaque { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(31rem, 74vh, 46rem); border-radius: var(--rayon-affiche); overflow: hidden; background: var(--encre); color: var(--creme); }
.ci-affiche__cadre { position: absolute; inset: 0; z-index: -1; margin: 0; }
.ci-affiche__vue, .ci-affiche__vue img { width: 100%; height: 100%; }
.ci-affiche__vue img { object-fit: cover; object-position: 50% 42%; }
/* dégradé de lisibilité systématique, teinté par l'encre : le texte ne pose jamais sur une photo nue */
.ci-affiche__cadre::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, color-mix(in srgb, var(--encre) 94%, transparent) 0%, color-mix(in srgb, var(--encre) 76%, transparent) 32%, color-mix(in srgb, var(--encre) 24%, transparent) 60%, transparent 88%), linear-gradient(to right, color-mix(in srgb, var(--encre) 52%, transparent), transparent 58%); }
.ci-affiche__legende { position: absolute; top: .9rem; right: .9rem; z-index: 1; max-width: min(24rem, 70%); padding: .3rem .65rem; background: color-mix(in srgb, var(--encre) 80%, transparent); color: var(--creme); font-size: .76rem; font-style: italic; line-height: 1.35; }
.ci-affiche__texte { padding: clamp(1.4rem, 4.5vw, 4.2rem); max-width: 64rem; }
.ci-affiche__titre { font-size: clamp(3rem, 6vw, 7rem); line-height: .88; letter-spacing: -.045em; max-width: 13ch; margin: 0 0 .28em; color: var(--creme); }
.ci-affiche__sous-titre { max-width: 44ch; margin: 0 0 1.6rem; font-size: clamp(1rem, .94rem + .35vw, 1.22rem); line-height: 1.5; color: var(--creme); }
.ci-affiche__pied { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1.1rem 2.6rem; padding-top: 1.1rem; border-top: 1px solid color-mix(in srgb, var(--creme) 26%, transparent); }
.ci-affiche__dernier { display: flex; align-items: center; gap: .9rem; margin: 0; max-width: 40ch; }
.ci-affiche__vignette { flex: none; width: 4.4rem; }
.ci-affiche__vignette img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: calc(var(--rayon-affiche) * .45); outline: 1px solid color-mix(in srgb, var(--creme) 45%, transparent); outline-offset: 3px; }
.ci-affiche__dernier-texte { display: flex; flex-direction: column; gap: .25rem; margin: 0; font-family: var(--titre-police); font-size: clamp(1.05rem, 1rem + .35vw, 1.3rem); line-height: 1.25; }
.ci-affiche__dernier-cle { font-family: var(--texte-police); font-size: .68rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--abricot); }
.ci-affiche__dernier a { color: var(--creme); text-decoration-color: var(--abricot); }
.ci-affiche__dernier a:hover { color: var(--abricot); }

/* ------------------------------------------------------------------ le MUR : une hiérarchisée sur 12 colonnes */
.ci-mur { margin-top: var(--souffle); }
.ci-mur__tete { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .3rem 2rem; padding-top: 1rem; margin-bottom: clamp(1.6rem, 3.5vw, 3rem); border-top: 1px solid var(--filet); }
.ci-mur__tete .ci-surtitre { grid-column: 1 / -1; }
.ci-mur__titre { font-size: clamp(1.9rem, 1.3rem + 2.2vw, 3.3rem); letter-spacing: -.02em; }
.ci-mur__note { margin: 0; max-width: 32ch; text-align: right; font-size: .82rem; line-height: 1.45; color: var(--encre-douce); }
.ci-mur__accrochage { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.4rem, 2.6vw, 2.6rem) var(--gouttiere); align-items: start; list-style: none; margin: 0; padding: 0; }
.ci-epreuve { position: relative; grid-column: span 4; margin: 0; }
.ci-epreuve--e2 { grid-column: span 2; } .ci-epreuve--e3 { grid-column: span 3; } .ci-epreuve--e4 { grid-column: span 4; }
.ci-epreuve--e5 { grid-column: span 5; } .ci-epreuve--e6 { grid-column: span 6; } .ci-epreuve--e7 { grid-column: span 7; }
.ci-epreuve--e8 { grid-column: span 8; } .ci-epreuve--e9 { grid-column: span 9; } .ci-epreuve--e10 { grid-column: span 10; }
.ci-epreuve--e11 { grid-column: span 11; } .ci-epreuve--e12 { grid-column: span 12; }
.ci-epreuve--haut { grid-row: span 2; }
.ci-epreuve--decale1 { margin-top: var(--decalage); }
.ci-epreuve--decale2 { margin-top: calc(var(--decalage) * 2); }
.ci-epreuve__figure { margin: 0; }
.ci-format { overflow: hidden; border-radius: var(--rayon-affiche); background: var(--mur); }
.ci-format img { width: 100%; height: auto; object-fit: cover; transition: transform .5s ease, filter .5s ease; }
.ci-format--45 img { aspect-ratio: 4 / 5; } .ci-format--34 img { aspect-ratio: 3 / 4; } .ci-format--11 img { aspect-ratio: 1 / 1; }
.ci-format--32 img { aspect-ratio: 3 / 2; } .ci-format--219 img { aspect-ratio: 21 / 9; }
.ci-epreuve:hover .ci-format img, .ci-epreuve:focus-within .ci-format img { transform: scale(1.045); filter: saturate(1.08); }
.ci-epreuve:focus-within { outline: 2px solid var(--terre-cuite-sombre); outline-offset: 6px; }
.ci-epreuve:focus-within .ci-etiquette__lien:focus-visible { outline: none; }
.ci-mur__accrochage--cabinet .ci-format { border-radius: var(--rayon-salle); }
/* l'étiquette : filet, inventaire en capitales espacées, titre Didot, une ligne d'usage, la date d'accrochage et la saison */
.ci-etiquette { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid var(--filet); }
.ci-etiquette__numero { margin: 0 0 .4rem; font-size: .66rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--encre-douce); }
.ci-etiquette__titre { font-size: clamp(1.1rem, .98rem + .5vw, 1.45rem); line-height: 1.12; }
.ci-epreuve--e6 .ci-etiquette__titre, .ci-epreuve--e7 .ci-etiquette__titre, .ci-epreuve--e8 .ci-etiquette__titre, .ci-epreuve--e9 .ci-etiquette__titre,
.ci-epreuve--e10 .ci-etiquette__titre, .ci-epreuve--e11 .ci-etiquette__titre, .ci-epreuve--e12 .ci-etiquette__titre { font-size: clamp(1.45rem, 1.05rem + 1.3vw, 2.3rem); line-height: 1.05; }
.ci-etiquette__lien { color: var(--encre); text-decoration: none; }
.ci-etiquette__lien::after { content: ""; position: absolute; inset: 0; }
.ci-epreuve:hover .ci-etiquette__lien { color: var(--terre-cuite-sombre); }
.ci-etiquette__usage { margin: .5rem 0 0; max-width: 46ch; font-size: .88rem; line-height: 1.5; color: var(--encre-douce); }
.ci-epreuve--e2 .ci-etiquette__usage, .ci-epreuve--e3 .ci-etiquette__usage { display: none; }
.ci-etiquette__date { margin: .5rem 0 0; font-size: .76rem; color: var(--encre-douce); }
.ci-etiquette__saison { white-space: nowrap; }
.ci-cabinet__saison, .ci-seuil__saison { margin: 0 0 .5rem; font-size: .84rem; color: var(--encre-douce); }
.ci-seuil__saison { margin-top: -.4rem; }

/* ------------------------------------------------------------------ GESTE D : le diptyque (le même tirage, entier puis détail) */
.ci-regard { margin-top: var(--souffle); }
.ci-diptyque { margin-block: var(--souffle) 0; }
.ci-regard .ci-diptyque { margin-top: 0; }
.ci-diptyque__tete { padding-top: 1rem; border-top: 1px solid var(--filet); }
.ci-diptyque__vues { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); gap: var(--gouttiere); align-items: stretch; }
.ci-diptyque__entier img { width: 100%; height: auto; }
.ci-diptyque__detail { position: relative; overflow: hidden; min-height: 8rem; background: var(--mur); }
.ci-diptyque__detail .ci-diptyque__image { position: absolute; inset: 0; }
.ci-diptyque__image--detail img { width: 100%; height: 100%; object-fit: cover; object-position: var(--foyer-detail); transform: scale(var(--zoom-detail)); transform-origin: var(--foyer-detail); }
.ci-diptyque__legende { margin-top: .9rem; padding-top: .7rem; border-top: 1px solid var(--filet); max-width: 72ch; font-size: .92rem; font-style: italic; line-height: 1.5; color: var(--encre-douce); }
.ci-diptyque__numero { margin-right: .5rem; font-style: normal; font-size: .66rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.ci-diptyque__legende a { color: var(--terre-cuite-sombre); }

/* ------------------------------------------------------------------ feuille de salle + régie */
.ci-feuille-de-salle { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; margin-top: var(--souffle); }
.ci-feuille-de-salle__texte { padding-top: 1rem; border-top: 1px solid var(--filet); }
.ci-feuille-de-salle__intro { max-width: 36ch; margin: 0; font-family: var(--titre-police); font-size: clamp(1.3rem, 1.05rem + 1vw, 1.9rem); line-height: 1.38; }
.ci-regie { padding: clamp(1.3rem, 2.8vw, 2.2rem); background: var(--encre); color: var(--creme); }
.ci-regie__titre { margin: 0 0 .6rem; font-size: clamp(1.3rem, 1.1rem + .7vw, 1.7rem); color: var(--creme); }
.ci-regie__texte { margin: 0; font-size: .92rem; line-height: 1.6; color: var(--creme); }
.ci-regie__bilan { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 1rem 1.4rem; list-style: none; margin: 1.4rem 0 0; padding: 1.2rem 0 0; border-top: 1px solid color-mix(in srgb, var(--creme) 22%, transparent); }
.ci-regie__dates { margin: 1rem 0 0; font-size: .8rem; color: var(--creme); }

/* ------------------------------------------------------------------ l'enfilade des cabinets et la tringle (GESTE C) */
.ci-enfilade { margin-top: var(--souffle); padding-block: clamp(2.8rem, 6vw, 5.2rem); background: var(--mur); }
.ci-cabinet { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(1.5rem, 4vw, 4.5rem); align-items: start; }
.ci-cabinet + .ci-cabinet { margin-top: clamp(2.6rem, 5vw, 4.6rem); padding-top: clamp(2.6rem, 5vw, 4.6rem); border-top: 1px solid color-mix(in srgb, var(--encre) 16%, transparent); }
.ci-cabinet__titre { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.6rem); line-height: 1.04; }
.ci-cabinet__titre a { color: var(--encre); text-decoration: none; }
.ci-cabinet__titre a:hover { color: var(--terre-cuite-sombre); }
.ci-cabinet__intro { max-width: 40ch; margin: .8rem 0 .7rem; color: var(--encre); }
.ci-cabinet__compte { margin: 0 0 .5rem; font-size: .8rem; color: var(--encre-douce); }
.ci-cabinet__note { max-width: 40ch; margin: 0 0 .5rem; font-size: .84rem; color: var(--encre-douce); }
.ci-cabinet__renvoi { margin: .9rem 0 0; font-size: .88rem; font-weight: 600; }
.ci-cabinet__renvoi a { color: var(--terre-cuite-sombre); }
/* GESTE C : la tringle, une moulure de 3 px et son ombre de 1 px ; chaque épreuve pend à un crochet par deux fils en Λ */
.ci-tringle { position: relative; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 10.5rem), 13.5rem)); gap: 0 clamp(1.2rem, 3vw, 2.8rem); list-style: none; margin: 1.2rem 0 0; padding: 0; border-top: 3px solid var(--encre); }
.ci-tringle::before { content: ""; position: absolute; left: 0; right: 0; top: 2px; height: 1px; background: color-mix(in srgb, var(--encre) 30%, transparent); }
.ci-tringle--nue { display: block; min-height: 3.2rem; }
/* GESTE E : la frise des saisons. Douze initiales de mois sur un rail segmenté ; les mois de la saison en terre cuite.
   Sur un cabinet, la frise EST la tringle : ses segments portent le rail, les crochets s'y accrochent. */
.ci-frise { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2px; list-style: none; margin: 0; padding: 0; }
.ci-frise__mois { padding-bottom: .38rem; border-bottom: 3px solid color-mix(in srgb, var(--encre) 34%, transparent); font-size: .6rem; font-weight: 600; line-height: 1; letter-spacing: .08em; text-align: center; color: var(--encre-douce); }
.ci-frise__mois--saison { border-bottom-color: var(--terre-cuite); color: var(--terre-cuite-sombre); }
.ci-cabinet__accroche { min-width: 0; margin-top: 1.2rem; }
.ci-cabinet__accroche .ci-tringle { margin-top: 0; }
.ci-cabinet__accroche .ci-frise + .ci-tringle { border-top-color: transparent; }
.ci-cabinet__accroche .ci-frise + .ci-tringle::before { top: -1px; }
.ci-seuil .ci-frise { max-width: 24rem; margin: .1rem 0 1rem; }
.ci-aparte .ci-frise { max-width: 12rem; margin-top: .45rem; gap: 1px; }
.ci-aparte .ci-frise__mois { padding-bottom: .25rem; border-bottom-width: 2px; font-size: .5rem; letter-spacing: 0; }
.ci-tringle__crochet { position: absolute; top: -.48rem; left: clamp(3rem, 22%, 9rem); width: .62rem; height: .62rem; border: 1.5px solid var(--encre); border-radius: 50%; background: var(--mur); }
.ci-cabinet--vide .ci-tringle__crochet { background: var(--creme); }
.ci-suspension { position: relative; padding-top: 2.7rem; }
.ci-suspension::before { content: ""; position: absolute; top: -.48rem; left: 50%; width: .62rem; height: .62rem; margin-left: -.31rem; border: 1.5px solid var(--encre); border-radius: 50%; background: var(--mur); }
.ci-suspension__fil { position: absolute; top: .16rem; left: 14%; right: 14%; height: 2.6rem; opacity: .6;
  background:
    linear-gradient(to top left, transparent calc(50% - .6px), var(--encre) calc(50% - .6px), var(--encre) calc(50% + .6px), transparent calc(50% + .6px)) left top / 50% 100% no-repeat,
    linear-gradient(to top right, transparent calc(50% - .6px), var(--encre) calc(50% - .6px), var(--encre) calc(50% + .6px), transparent calc(50% + .6px)) right top / 50% 100% no-repeat; }
.ci-suspension__figure { margin: 0; }
.ci-suspension__passe-partout { padding: .55rem; background: var(--creme); border: 1px solid color-mix(in srgb, var(--encre) 22%, transparent); border-radius: var(--rayon-salle); }
.ci-suspension__passe-partout img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.ci-suspension:nth-child(3n+2) .ci-suspension__passe-partout img { aspect-ratio: 1 / 1; }
.ci-suspension:nth-child(3n) .ci-suspension__passe-partout img { aspect-ratio: 4 / 3; }
.ci-suspension__etiquette { padding-top: .7rem; }
.ci-suspension__numero { margin: 0 0 .3rem; font-size: .62rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--encre-douce); }
.ci-suspension__titre { font-size: 1.08rem; line-height: 1.18; }
.ci-suspension__lien { color: var(--encre); text-decoration: none; }
.ci-suspension__lien::after { content: ""; position: absolute; inset: 0; }
.ci-suspension:hover .ci-suspension__lien { color: var(--terre-cuite-sombre); }
.ci-suspension:focus-within { outline: 2px solid var(--terre-cuite-sombre); outline-offset: 4px; }
.ci-suspension:focus-within .ci-suspension__lien:focus-visible { outline: none; }
.ci-suspension__date { margin: .35rem 0 0; font-size: .74rem; color: var(--encre-douce); }

/* ------------------------------------------------------------------ hors les murs (section réseau), sur vert nuit */
.ci-hors-les-murs { padding-block: clamp(3rem, 7vw, 6rem); background: var(--encre); color: var(--creme); }
.ci-hors-les-murs[hidden] { display: none; }
.ci-hors-les-murs__rang { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(1.6rem, 4vw, 4.5rem); }
.ci-hors-les-murs__titre { font-size: clamp(1.8rem, 1.3rem + 2vw, 3.1rem); color: var(--creme); }
.ci-hors-les-murs__phrase { max-width: 38ch; margin: .9rem 0 0; font-size: .92rem; color: var(--creme); }
.ci-hors-les-murs__liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1.4rem 2.4rem; list-style: none; margin: 0; padding: 0; }
.ci-hors-les-murs__renvoi { padding-top: .95rem; border-top: 1px solid color-mix(in srgb, var(--creme) 22%, transparent); }
.ci-hors-les-murs a { color: var(--creme); text-decoration-color: var(--abricot); }
.ci-hors-les-murs a:hover { color: var(--abricot); }
.ci-hors-les-murs :focus-visible, .ci-sortie :focus-visible, .ci-affiche :focus-visible, .ci-regie :focus-visible { outline-color: var(--abricot); }

/* ------------------------------------------------------------------ ARTICLE : la station de lecture */
.ci-seuil { padding-block: clamp(1.4rem, 4vw, 3.4rem) clamp(1.4rem, 3vw, 2.4rem); }
.ci-seuil__titre { max-width: 20ch; margin: 0 0 .45em; font-size: clamp(2.3rem, 1.45rem + 3.3vw, 4.7rem); line-height: 1.02; letter-spacing: -.018em; }
.ci-seuil__amorce { max-width: 58ch; margin: 0 0 1.3rem; font-size: clamp(1.08rem, 1rem + .45vw, 1.32rem); line-height: 1.55; color: var(--encre-douce); }
.ci-indications { display: flex; flex-wrap: wrap; gap: .4rem 1.8rem; max-width: 62rem; list-style: none; margin: 0; padding: .85rem 0 0; border-top: 1px solid var(--filet); font-size: .84rem; color: var(--encre-douce); }
.ci-indications a { color: var(--encre-douce); }
.ci-indications a:hover { color: var(--terre-cuite-sombre); }
.ci-grand-format { margin: 0; }
.ci-grand-format__vue img { width: 100%; max-height: 82vh; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--rayon-salle); }
.ci-grand-format__etiquette { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .9rem; padding-top: .8rem; font-size: .88rem; color: var(--encre-douce); }
.ci-grand-format__numero { font-size: .66rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.ci-grand-format__legende { font-style: italic; }
.ci-grand-format__credit { font-size: .8rem; }
.ci-station { display: grid; grid-template-columns: minmax(0, var(--mesure)) minmax(0, 17rem); justify-content: space-between; gap: clamp(2rem, 6vw, 6rem); margin-top: clamp(2rem, 5vw, 4rem); }
.ci-station--seule { grid-template-columns: minmax(0, var(--mesure)); }
.ci-notice { min-width: 0; }
.ci-notice > :first-child { margin-top: 0; }
.ci-notice > p:first-of-type { font-size: 1.1em; line-height: 1.6; }
.ci-notice h2 { margin: 2.1em 0 .6em; font-size: clamp(1.5rem, 1.2rem + 1vw, 2.15rem); line-height: 1.1; scroll-margin-top: 6rem; }
.ci-notice h3 { margin: 1.8em 0 .5em; font-size: 1.3rem; line-height: 1.2; }
.ci-notice ul, .ci-notice ol { padding-left: 1.3rem; }
.ci-notice li { margin-bottom: .35em; }
.ci-notice blockquote { margin: 1.8em 0; padding-left: 1.2rem; border-left: 1px solid var(--terre-cuite); font-family: var(--titre-police); font-size: 1.28em; line-height: 1.4; }
.ci-notice table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 1.6em 0; font-size: .92rem; }
.ci-notice th, .ci-notice td { padding: .5rem .7rem; border-bottom: 1px solid var(--filet); text-align: left; vertical-align: top; }
.ci-notice th { font-size: .84rem; font-weight: 600; color: var(--encre); }
.ci-notice img { margin: 1.6em 0; }
.ci-notice pre { max-width: 100%; overflow-x: auto; }
/* l'aparté : sommaire, étiquette détaillée, sources ; collant sur grand écran */
.ci-aparte { position: sticky; top: 6.5rem; align-self: start; font-size: .88rem; line-height: 1.5; }
.ci-aparte__titre { margin: 1.8rem 0 .7rem; padding-top: .8rem; border-top: 1px solid var(--filet); font-family: var(--titre-police); font-size: 1.18rem; line-height: 1.2; color: var(--encre); }
.ci-aparte__titre:first-child { margin-top: 0; }
.ci-aparte__sommaire { list-style: none; margin: 0; padding: 0; }
.ci-aparte__sommaire li { display: grid; grid-template-columns: 1.9rem minmax(0, 1fr); margin-bottom: .45rem; }
.ci-aparte__rang { font-family: var(--titre-police); color: var(--terre-cuite-sombre); }
.ci-aparte__sommaire a { color: var(--encre); text-decoration: none; }
.ci-aparte__sommaire a:hover { color: var(--terre-cuite-sombre); text-decoration: underline; }
.ci-aparte__etiquette { margin: 0; }
.ci-aparte__etiquette div { display: grid; grid-template-columns: 6.2rem minmax(0, 1fr); gap: .6rem; padding: .35rem 0; border-bottom: 1px solid var(--filet); }
.ci-aparte__etiquette dt { font-size: .62rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--encre-douce); padding-top: .18rem; }
.ci-aparte__etiquette dd { margin: 0; }
.ci-aparte__etiquette a { color: var(--encre); }
.ci-aparte__sources { list-style: none; margin: 0; padding: 0; }
.ci-aparte__sources li { margin-bottom: .45rem; overflow-wrap: anywhere; font-size: .84rem; }
/* à voir ensuite : la tringle sur la cloison */
.ci-ensuite { margin-top: var(--souffle); padding-block: clamp(2.6rem, 6vw, 4.8rem); background: var(--mur); }
.ci-ensuite__tete { max-width: 40rem; }
.ci-ensuite__titre { font-size: clamp(1.7rem, 1.3rem + 1.5vw, 2.6rem); }
.ci-tringle--ensuite { margin-top: 2rem; }

/* ------------------------------------------------------------------ SALLE (rubrique) */
.ci-seuil--cabinet .ci-seuil__amorce { max-width: 52ch; }
.ci-mur--cabinet { margin-top: calc(var(--souffle) * .8); }
.ci-autres-cabinets { margin-block: var(--souffle); padding-top: 1rem; border-top: 1px solid var(--filet); }
.ci-regard--cabinet { margin-top: calc(var(--souffle) * .7); }
.ci-cabinet--vide { margin-top: var(--souffle); }
.ci-cabinet--vide .ci-cabinet__note { margin-top: 1.2rem; }
.ci-autres-cabinets__liste { display: flex; flex-wrap: wrap; gap: .6rem 2rem; list-style: none; margin: 0; padding: 0; }
.ci-autres-cabinets__liste a { display: inline-flex; align-items: baseline; gap: .55rem; font-family: var(--titre-police); font-size: clamp(1.15rem, 1rem + .5vw, 1.5rem); color: var(--encre); text-decoration: none; }
.ci-autres-cabinets__liste a:hover { color: var(--terre-cuite-sombre); }
.ci-autres-cabinets__numero { font-family: var(--texte-police); font-size: .66rem; font-weight: 600; letter-spacing: .22em; color: var(--encre-douce); }

/* ------------------------------------------------------------------ 404 : le tirage décroché */
.ci-decroche { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; padding-block: clamp(2rem, 6vw, 5rem); }
.ci-decroche__mur { position: relative; aspect-ratio: 4 / 5; background: var(--mur); }
.ci-decroche__tringle { position: absolute; left: 0; right: 0; top: 1.6rem; height: 3px; background: var(--encre); }
.ci-decroche__crochet { position: absolute; top: calc(1.6rem - .45rem); left: 50%; width: .62rem; height: .62rem; margin-left: -.31rem; border: 1.5px solid var(--encre); border-radius: 50%; background: var(--mur); }
.ci-decroche__cordon { position: absolute; top: 2rem; left: 50%; width: 1px; height: 18%; background: color-mix(in srgb, var(--encre) 70%, transparent); }
.ci-decroche__cordon::after { content: ""; position: absolute; bottom: -.55rem; left: -.36rem; width: .72rem; height: .62rem; border: 1.5px solid var(--encre); border-top: 0; border-radius: 0 0 .5rem .5rem; }
.ci-decroche__trace { position: absolute; left: 17%; right: 17%; top: 34%; bottom: 13%; background: color-mix(in srgb, var(--creme) 58%, var(--mur)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--encre) 7%, transparent); }
.ci-decroche__texte { max-width: 46ch; font-size: 1.05rem; }
.ci-decroche__note { max-width: 46ch; font-size: .84rem; color: var(--encre-douce); }
.ci-autres-cabinets--decroche { margin-block: 1.6rem 0; }

/* ------------------------------------------------------------------ socle : la feuille de salle du site, sur vert nuit */
.ci-sortie { background: var(--encre); color: var(--creme); border-top: 1px solid color-mix(in srgb, var(--terre-cuite) 70%, transparent); font-size: .9rem; }
.ci-enfilade + .ci-sortie, .ci-ensuite + .ci-sortie { margin-top: 0; }
.ci-sortie__rang { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 3fr) minmax(0, 3fr); gap: clamp(1.6rem, 4vw, 4rem); padding-block: clamp(2.6rem, 6vw, 4.6rem) 1.6rem; }
.ci-sortie__nom { margin: 0 0 .7rem; font-family: var(--titre-police); font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); line-height: 1.1; }
.ci-sortie__texte { max-width: 56ch; margin: 0 0 .8rem; line-height: 1.6; color: var(--creme); }
.ci-sortie__note { padding-top: .8rem; border-top: 1px solid color-mix(in srgb, var(--creme) 18%, transparent); }
.ci-sortie__cle { margin-right: .4rem; font-size: .64rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--abricot); }
.ci-sortie__titre { margin: 0 0 .8rem; font-family: var(--titre-police); font-size: 1.3rem; line-height: 1.15; color: var(--abricot); }
.ci-sortie__liste { list-style: none; margin: 0; padding: 0; }
.ci-sortie__liste li { display: flex; align-items: baseline; gap: .55rem; margin-bottom: .5rem; }
.ci-sortie__numero { font-family: var(--titre-police); color: var(--abricot); }
.ci-sortie a { color: var(--creme); text-decoration-color: color-mix(in srgb, var(--abricot) 70%, transparent); }
.ci-sortie a:hover { color: var(--abricot); }
.ci-sortie__bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-block: 1.3rem 2rem; border-top: 1px solid color-mix(in srgb, var(--creme) 18%, transparent); }
.ci-sortie__ligne { margin: 0; font-size: .78rem; color: var(--creme); }

/* ------------------------------------------------------------------ tablette : 6 colonnes, empans ramenés */
@media (max-width: 64rem) {
  .ci-mur__accrochage { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .ci-epreuve--e2, .ci-epreuve--e3, .ci-epreuve--e4, .ci-epreuve--e5 { grid-column: span 3; }
  .ci-epreuve--e6, .ci-epreuve--e7, .ci-epreuve--e8, .ci-epreuve--e9, .ci-epreuve--e10, .ci-epreuve--e11, .ci-epreuve--e12 { grid-column: span 6; }
  .ci-epreuve--haut { grid-row: auto; }
  .ci-epreuve--decale2 { margin-top: var(--decalage); }
  .ci-epreuve--e3 .ci-etiquette__usage { display: block; }
  .ci-feuille-de-salle, .ci-cabinet, .ci-hors-les-murs__rang, .ci-decroche { grid-template-columns: minmax(0, 1fr); }
  .ci-station { grid-template-columns: minmax(0, 1fr); }
  .ci-aparte { position: static; max-width: var(--mesure); }
  .ci-sortie__rang { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ci-sortie__mentions { grid-column: 1 / -1; }
  .ci-decroche__mur { max-width: 22rem; }
}

/* ------------------------------------------------------------------ téléphone : une colonne, décalages retirés */
@media (max-width: 38.75rem) {
  .ci-mur__accrochage { grid-template-columns: minmax(0, 1fr); }
  .ci-epreuve, .ci-epreuve--e2, .ci-epreuve--e3, .ci-epreuve--e4, .ci-epreuve--e5, .ci-epreuve--e6, .ci-epreuve--e7, .ci-epreuve--e8,
  .ci-epreuve--e9, .ci-epreuve--e10, .ci-epreuve--e11, .ci-epreuve--e12 { grid-column: 1 / -1; }
  .ci-epreuve--decale1, .ci-epreuve--decale2 { margin-top: 0; }
  .ci-epreuve--e2 .ci-etiquette__usage { display: block; }
  .ci-format--219 img { aspect-ratio: 3 / 2; }
  .ci-format--45 img { aspect-ratio: 5 / 6; }
  .ci-mur__tete { grid-template-columns: minmax(0, 1fr); }
  .ci-mur__note { text-align: left; }
  .ci-signaletique__sous-titre { display: none; }
  .ci-affiche__plaque { min-height: 34rem; }
  .ci-affiche__titre { font-size: clamp(2.7rem, 13vw, 3.4rem); }
  .ci-affiche__legende { top: .6rem; right: .6rem; left: .6rem; max-width: none; }
  .ci-diptyque__vues { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
  .ci-tringle { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ci-sortie__rang { grid-template-columns: minmax(0, 1fr); }
  .ci-orientation ul { gap: .2rem 1rem; }
  .ci-orientation a { font-size: .86rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ci-format img { transition: none; }
  .ci-epreuve:hover .ci-format img, .ci-epreuve:focus-within .ci-format img { transform: none; filter: none; }
}

@media print {
  .ci-vestibule, .ci-sortie, .ci-aparte, .ci-hors-les-murs, .ci-raccourci, .ci-autres-cabinets { display: none !important; }
  body { background: #fff; color: #000; }
  .ci-affiche__plaque { min-height: 0; background: #fff; color: #000; }
  .ci-affiche__cadre { position: static; }
  .ci-affiche__cadre::after { display: none; }
  .ci-affiche__titre, .ci-affiche__sous-titre, .ci-affiche__dernier a { color: #000; }
  .ci-station { grid-template-columns: minmax(0, 1fr); }
}

/* couleur par salle : --ci-rc est posée en ligne sur les éléments d'une rubrique */
.ci-orientation__lien .ci-orientation__numero{color:var(--ci-rc,var(--terre-cuite-sombre))}
.ci-sortie__numero[style]{color:var(--ci-rc)}
.ci-grand-format__humaine{display:block;margin-bottom:.35rem;font-weight:400}

/* Flash library adaptation */
/* Catoctin Curtain — peau accrochage, variante « coulisses »
   Site : communauté théâtrale du Catoctin. Palette saturée bleu rideau / laiton / rouge fauteuil.
   Superpose la peau « accrochage » sans toucher au HTML ni au JS. Rayons 12-20px, ombres douces,
   aplats saturés, corps de lecture ~68ch, têtes display à ombre discrète. */
:root{
  --creme:#fbf7f0;
  --mur:#dcd2e4;
  --encre:#12133f;
  --encre-douce:#4b4a78;
  --terre-cuite:#c8362f;
  --terre-cuite-sombre:#8f1f1a;
  --abricot:#f6c05a;
  --filet:#c9bfd6;
  --ci-bleu-rideau:#1f2b6b;
  --ci-bleu-profonde:#0d1338;
  --ci-rouge-fauteuil:#a8221c;
  --ci-laiton:#d99a2b;
  --ci-laiton-clair:#f2cf7a;
  --ci-scene:#e9dcf1;
  --mesure:68ch;
  --rayon-affiche:18px;
  --rayon-salle:14px;
  --ombre-carte:0 10px 30px -18px rgba(18,19,63,.55);
  --ombre-carte-forte:0 22px 48px -22px rgba(18,19,63,.62);
  --ombre-douce:0 2px 6px -3px rgba(18,19,63,.35);
  --ombre-texte:0 1px 3px rgba(13,19,56,.42);
  --ombre-texte-clair:0 1px 2px rgba(13,19,56,.28);
}
body.ci-galerie{background:var(--creme);}

/* --- ambiance générale : aplats saturés + souffle --- */
.ci-vestibule{background:linear-gradient(180deg,var(--ci-bleu-profonde) 0%,var(--ci-bleu-rideau) 100%);border-bottom:1px solid var(--ci-laiton);box-shadow:var(--ombre-douce);}
.ci-vestibule .ci-signaletique{color:var(--creme);}
.ci-vestibule .ci-signaletique__nom{color:var(--creme);text-shadow:var(--ombre-texte);}
.ci-vestibule .ci-signaletique__sous-titre{color:var(--ci-laiton-clair);}
.ci-vestibule .ci-signaletique__pastille{background:var(--ci-laiton);color:var(--ci-bleu-profonde);box-shadow:var(--ombre-carte);}
.ci-vestibule .ci-signaletique:hover .ci-signaletique__nom{color:var(--ci-laiton-clair);}
.ci-orientation a{color:var(--creme);}
.ci-orientation__numero{color:var(--ci-laiton);}
.ci-orientation a:hover,.ci-orientation a[aria-current="page"]{color:var(--ci-laiton-clair);}
.ci-orientation a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--ci-laiton);}
.ci-orientation .ci-orientation__accueil{color:var(--ci-laiton-clair);text-decoration-color:var(--ci-laiton);}
.ci-raccourci{background:var(--ci-laiton);color:var(--ci-bleu-profonde);}

/* --- GESTE A : surtitre --- */
.ci-surtitre{letter-spacing:.2em;font-size:.72rem;}
.ci-surtitre__filet{background:var(--ci-laiton);height:2px;width:2.2rem;}
.ci-surtitre--sombre{color:var(--ci-laiton-clair);}

/* --- l'affiche (image-led) --- */
.ci-affiche__plaque{background:var(--ci-bleu-profonde);border-radius:var(--rayon-affiche);box-shadow:var(--ombre-carte-forte);overflow:hidden;}
.ci-affiche__cadre{overflow:hidden;border-radius:var(--rayon-affiche);}
.ci-affiche__cadre img{transition:transform .8s ease;}
.ci-affiche__cadre::after{background:
  linear-gradient(to top,color-mix(in srgb,var(--ci-bleu-profonde) 96%,transparent) 0%,color-mix(in srgb,var(--ci-bleu-profonde) 78%,transparent) 34%,color-mix(in srgb,var(--ci-bleu-rideau) 38%,transparent) 62%,color-mix(in srgb,var(--ci-rouge-fauteuil) 18%,transparent) 100%);
}
.ci-affiche__titre{color:#fff;text-shadow:0 2px 10px rgba(13,19,56,.68),0 1px 3px rgba(13,19,56,.82);}
.ci-affiche__sous-titre{color:var(--ci-laiton-clair);text-shadow:var(--ombre-texte);}
.ci-affiche__pied{border-top-color:color-mix(in srgb,var(--ci-laiton) 60%,transparent);}
.ci-affiche__dernier-cle{color:var(--ci-laiton);}
.ci-affiche__dernier a{color:var(--creme);text-decoration-color:var(--ci-laiton);}
.ci-affiche__dernier a:hover{color:var(--ci-laiton-clair);}
.ci-affiche__vignette img{border-radius:12px;outline:1px solid var(--ci-laiton);outline-offset:3px;}
.ci-affiche__legende{background:color-mix(in srgb,var(--ci-bleu-profonde) 88%,transparent);border-radius:10px;}

/* --- le mur (cartes, rayons, ombres) --- */
.ci-mur__tete{border-top:2px solid var(--terre-cuite);}
.ci-format{border-radius:15px;box-shadow:var(--ombre-carte);background:var(--ci-scene);}
.ci-format img{transition:transform .55s ease,filter .55s ease;}
.ci-epreuve:hover .ci-format img,.ci-epreuve:focus-within .ci-format img{transform:scale(1.05);filter:saturate(1.12) contrast(1.02);}
.ci-epreuve:hover .ci-format,.ci-epreuve:focus-within .ci-format{box-shadow:var(--ombre-carte-forte);}
.ci-etiquette{margin-top:1rem;padding-top:.85rem;border-top:2px solid var(--terre-cuite);}
.ci-etiquette__numero{color:var(--ci-rouge-fauteuil);letter-spacing:.18em;}
.ci-etiquette__titre{text-shadow:var(--ombre-texte-clair);}
.ci-etiquette__lien{color:var(--encre);}
.ci-epreuve:hover .ci-etiquette__lien{color:var(--terre-cuite-sombre);}
.ci-etiquette__date{color:var(--encre-douce);}
.ci-mur__note{color:var(--encre-douce);}

/* --- GESTE D : diptyque --- */
.ci-diptyque__tete{border-top:2px solid var(--terre-cuite);}
.ci-diptyque__entier img{border-radius:15px;box-shadow:var(--ombre-carte);}
.ci-diptyque__detail{border-radius:15px;box-shadow:var(--ombre-carte);}
.ci-diptyque__image--detail img{border-radius:15px;}
.ci-diptyque__legende{border-top:2px solid var(--terre-cuite);}
.ci-diptyque__numero{color:var(--ci-rouge-fauteuil);}

/* --- feuille de salle + régie (aplan saturé) --- */
.ci-feuille-de-salle__texte{border-top:2px solid var(--terre-cuite);}
.ci-feuille-de-salle__intro{text-shadow:var(--ombre-texte-clair);}
.ci-regie{background:linear-gradient(160deg,var(--ci-bleu-rideau) 0%,var(--ci-bleu-profonde) 100%);border-radius:16px;box-shadow:var(--ombre-carte-forte);border:1px solid var(--ci-laiton);}
.ci-regie__titre{color:var(--creme);text-shadow:var(--ombre-texte);}
.ci-regie__texte{color:var(--creme);}
.ci-regie__bilan{border-top-color:color-mix(in srgb,var(--ci-laiton) 50%,transparent);}
.ci-regie__dates{color:var(--ci-laiton-clair);}
.ci-chiffre__numero{color:var(--ci-laiton);text-shadow:var(--ombre-texte);}
.ci-chiffre__phrase{color:var(--creme);}
.ci-chiffre--plaque{background:var(--ci-bleu-profonde);border-radius:12px;box-shadow:var(--ombre-carte);}

/* --- enfilade des cabinets --- */
.ci-enfilade{background:linear-gradient(180deg,var(--ci-scene) 0%,var(--mur) 100%);box-shadow:inset 0 1px 0 var(--ci-laiton);}
.ci-cabinet__titre a{color:var(--ci-bleu-profonde);text-shadow:var(--ombre-texte-clair);}
.ci-cabinet__titre a:hover{color:var(--terre-cuite-sombre);}
.ci-cabinet__compte{color:var(--ci-rouge-fauteuil);letter-spacing:.04em;}
.ci-cabinet__note,.ci-cabinet__intro,.ci-cabinet__saison{color:var(--encre);}
.ci-cabinet__renvoi a{color:var(--terre-cuite-sombre);text-decoration-color:var(--ci-laiton);}
.ci-cabinet+.ci-cabinet{border-top:1px solid color-mix(in srgb,var(--ci-bleu-profonde) 22%,transparent);}
.ci-seuil__saison{color:var(--encre-douce);}

/* --- GESTE C : tringle et suspensions --- */
.ci-tringle{border-top:3px solid var(--ci-bleu-profonde);box-shadow:0 1px 0 0 var(--ci-laiton);}
.ci-tringle::before{background:color-mix(in srgb,var(--ci-laiton) 70%,transparent);}
.ci-tringle__crochet{border-color:var(--ci-bleu-profonde);background:var(--ci-scene);}
.ci-suspension__fil{opacity:.75;}
.ci-suspension::before{border-color:var(--ci-bleu-profonde);background:var(--ci-laiton);}
.ci-suspension__passe-partout{padding:.6rem;background:#fff;border:1px solid color-mix(in srgb,var(--ci-bleu-profonde) 20%,transparent);border-radius:14px;box-shadow:var(--ombre-carte);}
.ci-suspension__numero{color:var(--ci-rouge-fauteuil);letter-spacing:.18em;}
.ci-suspension__titre{text-shadow:var(--ombre-texte-clair);}
.ci-suspension__lien{color:var(--encre);}
.ci-suspension:hover .ci-suspension__lien{color:var(--terre-cuite-sombre);}
.ci-suspension__date{color:var(--encre-douce);}

/* --- GESTE E : frise des saisons --- */
.ci-frise__mois{border-bottom-color:color-mix(in srgb,var(--ci-bleu-profonde) 40%,transparent);color:var(--encre-douce);}
.ci-frise__mois--saison{border-bottom-color:var(--ci-rouge-fauteuil);color:var(--ci-rouge-fauteuil);font-weight:700;}

/* --- hors les murs (aplan saturé #2) --- */
.ci-hors-les-murs{background:linear-gradient(150deg,var(--ci-bleu-profonde) 0%,var(--ci-bleu-rideau) 70%,var(--ci-rouge-fauteuil) 160%);}
.ci-hors-les-murs__titre{color:var(--creme);text-shadow:var(--ombre-texte);}
.ci-hors-les-murs__phrase{color:var(--creme);}
.ci-hors-les-murs__renvoi{border-top-color:color-mix(in srgb,var(--ci-laiton) 50%,transparent);}
.ci-hors-les-murs a{color:var(--creme);text-decoration-color:var(--ci-laiton);}
.ci-hors-les-murs a:hover{color:var(--ci-laiton-clair);}

/* --- article : station de lecture --- */
.ci-seuil__titre{text-shadow:var(--ombre-texte-clair);}
.ci-seuil__amorce{color:var(--encre-douce);}
.ci-indications{border-top:2px solid var(--terre-cuite);}
.ci-grand-format__vue img{border-radius:18px;box-shadow:var(--ombre-carte-forte);}
.ci-grand-format__etiquette{color:var(--encre-douce);}
.ci-grand-format__numero{color:var(--ci-rouge-fauteuil);letter-spacing:.18em;}
.ci-grand-format__humaine{font-size:.9rem;}
.ci-notice img{border-radius:15px;box-shadow:var(--ombre-carte);}
.ci-notice blockquote{border-left:3px solid var(--ci-laiton);background:color-mix(in srgb,var(--ci-scene) 60%,transparent);padding:.9rem 1.3rem;border-radius:0 12px 12px 0;}
.ci-notice h2,.ci-notice h3{text-shadow:var(--ombre-texte-clair);}
.ci-aparte__titre{color:var(--ci-bleu-profonde);}
.ci-aparte__rang{color:var(--ci-rouge-fauteuil);}
.ci-aparte__etiquette dt{color:var(--ci-rouge-fauteuil);letter-spacing:.18em;}
.ci-aparte__sommaire a{color:var(--encre);}
.ci-aparte__sommaire a:hover{color:var(--terre-cuite-sombre);}
.ci-ensuite{background:linear-gradient(180deg,var(--mur) 0%,color-mix(in srgb,var(--ci-scene) 80%,var(--mur)) 100%);}
.ci-ensuite__titre{text-shadow:var(--ombre-texte-clair);}

/* --- rubrique : autres salles --- */
.ci-autres-cabinets{border-top:2px solid var(--terre-cuite);}
.ci-autres-cabinets__liste a{color:var(--ci-bleu-profonde);text-shadow:var(--ombre-texte-clair);}
.ci-autres-cabinets__liste a:hover{color:var(--terre-cuite-sombre);}
.ci-autres-cabinets__numero{color:var(--ci-rouge-fauteuil);}
.ci-cabinet--vide .ci-cabinet__note{margin-top:1.2rem;color:var(--encre-douce);}

/* --- 404 --- */
.ci-decroche__mur{background:linear-gradient(150deg,var(--ci-scene),var(--mur));border-radius:16px;box-shadow:var(--ombre-carte);}
.ci-decroche__trace{background:color-mix(in srgb,var(--creme) 70%,var(--ci-scene));}
.ci-decroche__note{color:var(--encre-douce);}

/* --- pied : feuille de salle du site (aplan saturé #3) --- */
.ci-sortie{background:linear-gradient(180deg,var(--ci-bleu-rideau) 0%,var(--ci-bleu-profonde) 100%);border-top:2px solid var(--ci-laiton);color:var(--creme);}
.ci-sortie__nom,.ci-sortie__texte{color:var(--creme);}
.ci-sortie__titre{color:var(--ci-laiton);}
.ci-sortie__numero{color:var(--ci-laiton);}
.ci-sortie__cle{color:var(--ci-laiton);}
.ci-sortie__liste li a{color:var(--creme);}
.ci-sortie a:hover{color:var(--ci-laiton-clair);}
.ci-sortie__note{border-top-color:color-mix(in srgb,var(--ci-laiton) 45%,transparent);}
.ci-sortie__bas{border-top-color:color-mix(in srgb,var(--ci-laiton) 40%,transparent);}
.ci-sortie__ligne{color:var(--creme);}

/* --- focus, accessibilité douce --- */
a:focus-visible,:focus-visible{outline:2px solid var(--ci-laiton);outline-offset:3px;}
.ci-hors-les-murs :focus-visible,.ci-sortie :focus-visible,.ci-affiche :focus-visible,.ci-regie :focus-visible{outline-color:var(--ci-laiton);}

/* --- responsive : pas de débordement, nav qui se replie ; l'affichage des images reste inchangé --- */
@media (max-width:64rem){
  .ci-affiche__plaque{border-radius:16px;}
  .ci-cabinet+.ci-cabinet{margin-top:2.4rem;padding-top:2.4rem;}
}
@media (max-width:38.75rem){
  .ci-vestibule__rang{gap:.7rem 1.2rem;padding-block:.75rem;}
  .ci-signaletique__pastille{width:2.3rem;height:2.3rem;}
  .ci-affiche__plaque{min-height:32rem;border-radius:14px;}
  .ci-affiche__titre{text-shadow:0 1px 6px rgba(13,19,56,.75);}
  .ci-format,.ci-diptyque__entier img,.ci-diptyque__detail,.ci-grand-format__vue img{border-radius:12px;}
  .ci-station{gap:1.6rem;}
  .ci-notice{max-width:100%;}
  .ci-tringle{gap:1rem;}
  .ci-enfilade{padding-block:2rem;}
  .ci-hors-les-murs{padding-block:2.4rem;}
  .ci-sortie__rang{gap:1.4rem;}
}
@media (prefers-reduced-motion:reduce){
  .ci-affiche__cadre img,.ci-format img{transition:none;}
  .ci-epreuve:hover .ci-format img,.ci-epreuve:focus-within .ci-format img{transform:none;filter:none;}
}
/* Photo-first repair */
.ci-affiche__vedette{display:none;margin:0}
@media (max-width:64rem){.ci-affiche__vedette{display:block;margin:0 0 1.4rem}.ci-affiche__vedette-vue{width:100%;border-radius:16px;box-shadow:var(--ombre-carte-forte);background:var(--ci-scene);overflow:hidden}.ci-affiche__vedette-vue img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 40%}.ci-affiche__vedette-lien{display:block;margin-top:.7rem;padding-top:.7rem;border-top:2px solid var(--terre-cuite);color:#fff;text-decoration:none}.ci-affiche__vedette-lien:hover{color:var(--ci-laiton-clair)}.ci-affiche__vedette-surtitre{display:block;font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ci-laiton);margin-bottom:.35rem}.ci-affiche__vedette-titre{font-family:var(--titre-police);font-size:clamp(1.3rem,1.05rem + 1vw,1.9rem);line-height:1.12;text-shadow:var(--ombre-texte)}}
@media (max-width:38.75rem){.ci-affiche__vedette-vue img{border-radius:14px}.ci-affiche__plaque{min-height:0;box-sizing:border-box}.ci-affiche__vue,.ci-affiche__vue img{height:auto}.ci-affiche__vue img{aspect-ratio:4/3;border-radius:14px}.ci-affiche__cadre{position:static;z-index:auto;margin:0 0 1.1rem}.ci-affiche__cadre::after{display:none}.ci-affiche__legende{position:static;max-width:none;margin:.5rem 0 0;background:transparent;backdrop-filter:none;color:var(--ci-laiton-clair);border-radius:0;text-align:left}.ci-affiche__texte{padding:0 clamp(1rem,5vw,1.5rem) clamp(1.4rem,5vw,2rem)}.ci-affiche__titre{font-size:clamp(2.1rem,10vw,2.9rem);text-shadow:0 1px 6px rgba(13,19,56,.55)}.ci-affiche__sous-titre{margin-bottom:1.1rem}.ci-affiche__pied{flex-direction:column;align-items:flex-start;gap:1rem}.ci-affiche__vignette{width:5.5rem}}
@media print{.ci-affiche__vedette{display:block}.ci-affiche__vedette-lien{color:#000}}
.ci-affiche__vedette-vue img,.ci-affiche__vedette-lien{transition:none}
/* Subject-specific finish */
.ci-signaletique__pastille svg{width:40px;height:40px;display:block}.ci-affiche__legende{max-width:min(34rem,85%);white-space:normal;line-height:1.4;font-size:.8rem}.ci-surtitre__texte{font-weight:700;font-size:.9rem;letter-spacing:normal}.ci-cartel{border-top:3px solid var(--ci-rc,#b98634);border-radius:14px}
.publication-byline{font-size:.85rem;font-weight:600;margin:.5rem 0;color:inherit}
