@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url('/kks-oswald-v36-latin-700.woff2') format('woff2')}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('/kks-lato-v17-latin-regular.woff2') format('woff2')}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('/kks-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: #fcf5e6;              /* le papier des étiquettes et du mur principal, chauffé par la lumière du soir (fond de page) */
  --mur: #e9dec0;                /* la cloison sable des salles, ton Bandaran Berjaya au sec */
  --encre: #113b44;              /* lagon profond : texte, tringle, et la surface nuit (affiche, régie, sortie) */
  --encre-douce: #4e6267;        /* étiquettes, mentions, légendes, l'encre du port à midi */
  --terre-cuite: #cb4e33;        /* hibiscus : filets du surtitre, soulignés, fil d'Ariane ; jamais en petit texte */
  --terre-cuite-sombre: #83301d; /* braise hibiscus : texte d'accent et survol */
  --abricot: #f0b05c;            /* or de coucher de Jesselton : numéros du bloc méta, posé UNIQUEMENT sur le lagon */
  --filet: #dccfb2;              /* 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: flow-root; }

/* ------------------------------------------------------------------ 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); }
.ci-signaletique__pastille svg { width: 1.9rem; height: 1.9rem; display: block; }
.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); }
/* Grand écran : la signalétique à gauche, la visite à droite sur la même rangée. L'en-tête ne colle plus : sa hauteur
   dépend du nombre de salles, de la longueur des libellés et de la langue, et collé il masquait 21 à 23 % de l'écran
   (159 px à 1024, 171 px à 1280 en allemand avec le journal ; 22/09/2026). */
@media (min-width: 80rem) {
  .ci-vestibule__rang { flex-wrap: nowrap; }
  .ci-signaletique { flex: 0 1 auto; max-width: 40%; }
  .ci-orientation { flex: 1 1 0; min-width: 0; }
  /* la visite coule comme un texte aligné à droite et ÉQUILIBRÉ : en flex, le dernier lien restait seul sur la seconde ligne */
  .ci-orientation ul { display: block; text-align: right; text-wrap: balance; line-height: 1.9; }
  .ci-orientation li { display: inline; }
  .ci-orientation li + li { margin-left: 1.3rem; }
}

/* ------------------------------------------------------------------ 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; }
/* interligne .98 : à .88, l'accent d'une capitale ou d'un « é » heurtait le jambage de la ligne du dessus (« Registres /
   Réparés », 1024 à 2560 px ; 23/09/2026) */
.ci-affiche__titre { font-size: clamp(3rem, 6vw, 7rem); line-height: .98; letter-spacing: -.045em; max-width: 13ch; margin: 0 0 .28em; color: var(--creme); }
/* titre long (plus de 34 signes, 55 sur ledburyscoutgroup.org.uk) : en corps plein, il prenait cinq lignes et poussait
   hors du premier écran le seul lien de l'affiche (« Dernier tirage » à 816 px pour 800 à 1280 px ; 23/09/2026) */
.ci-affiche__titre--long { font-size: clamp(2.5rem, 4.4vw, 5.2rem); max-width: 17ch; }
.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; }
/* l'épreuve ENTIÈRE garde tout son cadre mais pas plus de 80 % de l'écran : une photo portrait (1 305 px à 1440 pour un
   écran de 900) ou très haute (3 723 px) faisait du diptyque plusieurs écrans. Réduite, elle se pose sur la cloison. */
.ci-diptyque__entier { background: var(--mur); }
.ci-diptyque__entier img { width: 100%; height: auto; max-height: min(80vh, 60rem); object-fit: contain; }
.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); }

.ci-regie__preuves { list-style: none; margin: 0; padding: 0; font-size: .92rem; line-height: 1.55; color: var(--creme); }
.ci-regie__preuves li { padding: .45rem 0; border-top: 1px solid color-mix(in srgb, var(--creme) 22%, transparent); }
.ci-regie__contact { margin: 1.1rem 0 0; font-size: .92rem; font-weight: 600; }
.ci-regie a { color: var(--creme); text-decoration-color: var(--abricot); }
.ci-regie a:hover { color: var(--abricot); }

/* ------------------------------------------------------------------ mode entreprise : ce que fait la maison */
.ci-prestations { margin-top: var(--souffle); }
.ci-prestations__liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 1.6rem var(--gouttiere); list-style: none; margin: 0; padding: 0; }
.ci-prestations__entree { min-width: 0; padding-top: .9rem; border-top: 1px solid var(--filet); }
.ci-prestations__numero { display: block; margin-bottom: .45rem; font-size: .66rem; font-weight: 600; letter-spacing: .22em; color: var(--encre-douce); }
.ci-prestations__titre { font-size: clamp(1.2rem, 1.05rem + .6vw, 1.55rem); line-height: 1.15; }
.ci-prestations__titre a { color: var(--encre); text-decoration: none; }
.ci-prestations__titre a:hover { color: var(--terre-cuite-sombre); text-decoration: underline; }
.ci-prestations__texte { margin: .55rem 0 0; max-width: 46ch; font-size: .92rem; line-height: 1.55; color: var(--encre-douce); }
.ci-mur__renvoi { margin-top: clamp(1.6rem, 3vw, 2.4rem); }

/* ------------------------------------------------------------------ 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: flex; flex-wrap: wrap; justify-content: space-evenly; gap: 0 clamp(1.2rem, 3vw, 2.8rem); list-style: none; margin: 1.2rem 0 0; padding: 0; border-top: 3px solid var(--encre); }
/* les épreuves se répartissent sur TOUTE la tringle : en grille auto-fill, deux ou trois pièces laissaient des pistes vides
   à droite (grille à moitié vide, cabinets de l'accueil et « à voir ensuite », 768 à 2560 px ; 22/09/2026) */
.ci-tringle > .ci-suspension { flex: 0 1 13.5rem; min-width: min(100%, 10.5rem); }
.ci-tringle + .ci-tringle { margin-top: 2.4rem; }
.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); }
/* couleur de salle : --ci-rc est posée en ligne par salle (nav, pied, cabinet, seuil de salle) */
.ci-cabinet .ci-surtitre__filet, .ci-seuil--cabinet .ci-surtitre__filet { background: var(--ci-rc, var(--terre-cuite)); }
.ci-cabinet .ci-surtitre__texte, .ci-seuil--cabinet .ci-surtitre__texte { color: var(--ci-rc, var(--encre-douce)); }
.ci-cabinet .ci-cabinet__renvoi a { color: var(--ci-rc, var(--terre-cuite-sombre)); }
.ci-cabinet .ci-frise__mois--saison { border-bottom-color: var(--ci-rc, var(--terre-cuite)); color: var(--ci-rc, var(--terre-cuite-sombre)); }
.ci-cabinet .ci-suspension__numero { color: var(--ci-rc, var(--encre-douce)); }
.ci-suspension__pastille { display: inline-block; width: .52em; height: .52em; margin-right: .5em; border-radius: 50%; background: var(--ci-rc, var(--terre-cuite)); }
.ci-seuil--cabinet .ci-seuil__saison { color: var(--ci-rc, var(--encre-douce)); }
.ci-seuil--cabinet .ci-frise__mois--saison { border-bottom-color: var(--ci-rc, var(--terre-cuite)); color: var(--ci-rc, 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: 1.5rem; }
.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; }
/* au téléphone, un tableau de trois colonnes ou plus se tassait à 6 ou 7 caractères par ligne (thurmontthespians.org,
   390 px, 22/09/2026) : chaque cellule garde une largeur de lecture, le tableau défile dans sa boîte */
.ci-notice th, .ci-notice td { min-width: 9rem; }
.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 */
/* Pas de hauteur bornée ni de défilement interne : une boîte à défilement propre, sans indice, cachait le cartel et les
   sources (238 px cachés à 1280 px, 1 source visible sur 6 en fin de station ; 23/09/2026). Plus haut que l'écran, l'aparté
   colle par le haut et se relâche en bas de la station, où tout se lit. */
.ci-aparte { position: sticky; top: 1.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, var(--mesure)); }
  .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; }
}

/* tablette seule : une demi-épreuve qui resterait seule sur sa rangée la prend entière (plan calculé par tablette() dans theme.mjs) */
@media (min-width: 38.8125rem) and (max-width: 64rem) {
  .ci-epreuve--pleine-tablette { grid-column: span 6; }
  .ci-epreuve--pleine-tablette .ci-format img { aspect-ratio: 3 / 2; }
  .ci-epreuve--pleine-tablette .ci-etiquette__usage { display: block; }
}

/* ------------------------------------------------------------------ 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__titre--long { font-size: clamp(2.2rem, 10vw, 2.8rem); }
  .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 > .ci-suspension { flex-basis: calc(50% - .6rem); min-width: 0; }
  /* deux épreuves par rangée : celles des rangées suivantes pendaient à un crochet sans tringle (22/09/2026) */
  .ci-tringle > .ci-suspension:nth-child(n+3)::after { content: ""; position: absolute; top: -3px; left: -.6rem; right: -.6rem; border-top: 3px solid var(--encre); }
  .ci-tringle > .ci-suspension:nth-child(n+3) { margin-top: 1.6rem; }
  .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(--terre-cuite-sombre)}
/* dans la visite, sur le crème de l'en-tête, la couleur d'une salle garde sa teinte mais sa clarté est plafonnée : posée
   telle quelle, une couleur claire ou moyenne tombait à 1,22:1 (#f3e7b5) ou 3,17:1 (#bc8523, thurmontthespians.org) pour un
   texte de 11 px. Une couleur déjà sombre passe inchangée. Repli sans couleur relative : mélange avec l'encre (23/09/2026). */
.ci-orientation__lien[style] .ci-orientation__numero{color:color-mix(in srgb,var(--ci-rc) 35%,var(--encre));color:oklch(from var(--ci-rc) min(l, .48) c h)}
/* sur le vert nuit du pied, la couleur d'une salle garde sa teinte, éclaircie par le crème : posée telle quelle, une couleur
   de salle sombre y tombait à 1,36:1 (22/09/2026) */
.ci-sortie__numero[style]{color:color-mix(in srgb,var(--ci-rc) 40%,var(--creme))}
.ci-grand-format__humaine{display:block;margin-bottom:.35rem;font-weight:400}
