/* ==========================================================================
   Charte « Cimaise sapin » (validée par Manech le 20/10/2026), sur tout le site.
   Source : manechhurelle-charte-cimaise/DESIGN.md et maquette-accueil-sapin.html.
   Chargée après le gabarit sur chaque page, accueil compris : elle réaffecte les variables --skv-* des
   feuilles existantes (gabarit, pages, accueil, consentement) puis pose ce qu'elles n'ont pas : murs sapin
   grainés, tirages encadrés, cartels, boutons bordeaux, logo. Le contenu des pages n'est pas touché.
   Préfixe body.mh-gabarit : passe devant le style de l'accueil, écrit plus loin dans la page.
   60 % blanc, 30 % sapin, 10 % bordeaux (boutons de demande, pastille de date réservée, point du logo).
   Caslon pour ce qui est peint au mur (h1, h2, lettrage) ; Franklin pour tout ce qui est imprimé.
   ========================================================================== */

@font-face { font-family: "Libre Caslon Display"; src: url("../fonts/libre-caslon-display-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Libre Franklin"; src: url("../fonts/libre-franklin-var.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }

body.mh-gabarit,
body.mh-gabarit :is(.mh-evitement, .mh-entete, .mh-tiroir, .mh-pied, .mh-barre, .mh-page, .mh-accueil, .mh-consent, .mh-consent-panneau) {
  --skv-blanc: #FFFFFF;
  --skv-gris: #FFFFFF;
  --skv-voile: #FFFFFF;
  --skv-filet: #D9D9D9;
  --skv-controle: #111111;
  --skv-velours: #01190F;
  --skv-velours-profond: #010D07;
  --skv-encre-douce: #4A4A4A;
  --skv-action: #111111;
  --skv-action-survol: #01190F;
  --skv-bois: #111111;
  --skv-bois-encre: #111111;
  --skv-bois-clair: #CFE6DA;
  --skv-anneau: #111111;
  --skv-titre: "Libre Franklin", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --skv-texte: "Libre Franklin", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --skv-r-micro: 0;
  --skv-r-agir: 0;
  --skv-r-choisir: 0;
  --skv-r-contenir: 0;
  --mh-caslon: "Libre Caslon Display", Georgia, "Times New Roman", serif;
  /* grain de papier Canson : bruit fin gris à demi-opacité, fondu en lumière douce (relève la couleur dessous) */
  --mh-papier: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78 .62' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeColorMatrix values='1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 0 .55'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
  --mh-ombre-cadre: 0 26px 40px -24px rgba(0, 0, 0, .55), 0 4px 8px -3px rgba(0, 0, 0, .25);
  --mh-ombre-cadre-haute: 0 38px 54px -26px rgba(0, 0, 0, .6), 0 8px 14px -4px rgba(0, 0, 0, .28);
  --mh-fleche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E");
}
body.mh-gabarit { font-family: "Libre Franklin", system-ui, -apple-system, "Segoe UI", Arial, sans-serif; color: #01190F; }

/* ---------- murs sapin : en-tête, fil, entrées, salles « velours » des pages, duo et « qui vous répond » de l'accueil ---------- */
body.mh-gabarit .mh-entete,
body.mh-gabarit .mh-page .mh-fil,
body.mh-gabarit :is(.mh-page, .mh-accueil) .mh-heros,
body.mh-gabarit .mh-page .mh-fond-velours,
body.mh-gabarit .mh-accueil .mh-section:is(.mh-duo, .mh-repond) {
  background: var(--mh-papier), #01190F;
  background-blend-mode: soft-light, normal;
  color: #FFFFFF;
}
body.mh-gabarit .mh-pied { background: var(--mh-papier), #010D07; background-blend-mode: soft-light, normal; }
body.mh-gabarit :is(.mh-entete, .mh-page .mh-fil) { border: 0; box-shadow: none; }
body.mh-gabarit .mh-entete::after { display: none; }

/* texte sur le vert : blanc, et vert pâle pour le second plan */
body.mh-gabarit :is(.mh-page :is(.mh-heros, .mh-fond-velours), .mh-accueil :is(.mh-heros, .mh-duo, .mh-repond)) :is(h1, h2, h3, h4, p, li, a, .mh-titre, .mh-chapeau, .mh-texte) { color: #FFFFFF; }
body.mh-gabarit :is(.mh-page :is(.mh-heros, .mh-fond-velours), .mh-accueil :is(.mh-heros, .mh-duo, .mh-repond)) :is(.mh-chapeau, .mh-chapeau p, .mh-texte, .mh-texte p, .mh-heros__micro, .mh-heros__chapeau, .mh-duo__aide) { color: #CFE6DA; }
body.mh-gabarit .mh-page .mh-fil :is(ol, a, li, span) { color: #CFE6DA; }
body.mh-gabarit .mh-page .mh-fil li:not(:last-child)::after { background: #CFE6DA; }
body.mh-gabarit .mh-page .mh-fil [aria-current] { color: #FFFFFF; }

/* la lumière de salle : une flaque blanche à 8 % sur l'œuvre principale ; celle de l'entrée s'allume une fois */
body.mh-gabarit :is(.mh-page, .mh-accueil) .mh-heros,
body.mh-gabarit .mh-accueil .mh-section:is(.mh-duo, .mh-repond) { position: relative; isolation: isolate; }
body.mh-gabarit :is(.mh-page, .mh-accueil) .mh-heros::before,
body.mh-gabarit .mh-accueil .mh-section:is(.mh-duo, .mh-repond)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(48% 62% at var(--mh-lumiere-ou, 26% 46%), rgba(255, 255, 255, .08), transparent 72%);
  pointer-events: none;
}
body.mh-gabarit .mh-page .mh-heros { --mh-lumiere-ou: 72% 46%; }
body.mh-gabarit .mh-page .mh-heros--plein-cadre { --mh-lumiere-ou: 50% 34%; }
body.mh-gabarit .mh-accueil .mh-duo { --mh-lumiere-ou: 76% 42%; }
@keyframes mh-allume { from { opacity: 0; } }
@media (prefers-reduced-motion: no-preference) {
  body.mh-gabarit :is(.mh-page, .mh-accueil) .mh-heros::before { animation: mh-allume 1.8s cubic-bezier(.16, 1, .3, 1) .15s both; }
}

/* salles blanches : le gris d'avant devient du blanc ; deux salles blanches qui se suivent ont un filet d'angle #111 */
body.mh-gabarit :is(.mh-page, .mh-accueil) .mh-fond-gris { background: #FFFFFF; }
body.mh-gabarit .mh-page .mh-section:not(.mh-fond-velours):not(.mh-heros) + .mh-section:not(.mh-fond-velours):not(.mh-heros) { padding-top: 0; }
body.mh-gabarit .mh-page .mh-section:not(.mh-fond-velours):not(.mh-heros) + .mh-section:not(.mh-fond-velours):not(.mh-heros) > .mh-conteneur { border-top: 1px solid #111111; padding-top: var(--skv-section); }
body.mh-gabarit .mh-accueil :is(.mh-series + .mh-pellicule, .mh-pellicule + .mh-zones, .mh-demande > .mh-acote, .mh-demande + .mh-acote) { padding-top: 0; }
body.mh-gabarit .mh-accueil :is(.mh-series + .mh-pellicule, .mh-pellicule + .mh-zones, .mh-demande > .mh-acote, .mh-demande + .mh-acote) > .mh-conteneur { border-top: 1px solid #111111; padding-top: var(--skv-section); }

/* ---------- lettrage du mur : Caslon pour h1, h2 et ce qui est peint ; Franklin 600 pour les petits titres ---------- */
body.mh-gabarit :is(.mh-page, .mh-accueil) :is(h1, h2, .mh-titre, .mh-heros__titre, .mh-acote__titre) {
  font-family: var(--mh-caslon);
  font-weight: 400;
  font-synthesis: none;
  letter-spacing: -.012em;
  text-wrap: balance;
}
body.mh-gabarit :is(.mh-page, .mh-accueil) :is(h1, .mh-heros__titre) { font-size: clamp(2.6rem, 4.3vw, 4.7rem); line-height: 1.12; }
/* le style d'origine pose sa police sur le span du titre : le lettrage du mur passe par-dessus */
body.mh-gabarit :is(.mh-page, .mh-accueil) :is(h1, .mh-heros__titre) .h1-titre { font: inherit; letter-spacing: inherit; }
body.mh-gabarit :is(.mh-page, .mh-accueil) :is(h2, .mh-titre) { font-size: clamp(2.2rem, 3.4vw, 3.7rem); line-height: 1.06; max-width: 22ch; }
body.mh-gabarit .mh-accueil .mh-acote__titre { font-size: clamp(1.8rem, 2.4vw, 2.4rem); line-height: 1.1; }
body.mh-gabarit :is(.mh-page, .mh-accueil, .mh-consent, .mh-consent-panneau) :is(h3, h4) { font-family: "Libre Franklin", system-ui, sans-serif; font-weight: 600; letter-spacing: 0; }

/* pas de surtitre au-dessus d'un titre : le titre parle seul (le texte reste dans la page) */
body.mh-gabarit :is(.mh-page, .mh-accueil) :is(.mh-tete, .mh-heros__texte, .mh-heros__tete, .mh-demande__texte, .mh-duo__tete, .mh-pellicule__titre, .mh-repond__tete) > .mh-surtitre { display: none; }
body.mh-gabarit :is(.mh-page, .mh-accueil) .mh-surtitre { text-transform: none; letter-spacing: 0; }
body.mh-gabarit :is(.mh-page, .mh-accueil) :is(.mh-surtitre, .mh-trait)::before,
body.mh-gabarit :is(.mh-page, .mh-accueil) .mh-trait::after { display: none; }
/* capitales espacées de l'ancienne charte : en bas de casse */
body.mh-gabarit :is(.mh-pied__titre, .mh-duo__kb-titre, .mh-duo__qui, .mh-citation figcaption, .mh-consent-choix__fixe) { text-transform: none; letter-spacing: 0; }
body.mh-gabarit .mh-pied__titre { font: 600 .95rem/1.3 "Libre Franklin", system-ui, sans-serif; color: #FFFFFF; }

/* ---------- tirages encadrés : baguette noire, passe-partout blanc, ombre portée sur le mur ---------- */
body.mh-gabarit :is(.mh-page, .mh-accueil) :is(figure, .mh-galerie__lien, .mh-offre__photo, .mh-index__vignette, .mh-passe, .mh-carte__cadre) img {
  box-sizing: border-box;
  border: 5px solid #111111;
  padding: clamp(10px, 1.8vw, 26px);
  background: #FFFFFF;
  box-shadow: var(--mh-ombre-cadre);
  transition: box-shadow .6s cubic-bezier(.16, 1, .3, 1);
}
body.mh-gabarit :is(.mh-page, .mh-accueil) :is(a:hover, a:focus-visible) img,
body.mh-gabarit .mh-accueil :is(.mh-offre, .mh-vedette, .mh-index__item):is(:hover, :focus-within) img { box-shadow: var(--mh-ombre-cadre-haute); transform: none; }
body.mh-gabarit .mh-accueil :is(.mh-offre__photo, .mh-index__vignette, .mh-passe),
body.mh-gabarit .mh-page :is(.mh-carte__cadre, .mh-liste__vignette) { background: transparent; padding: 0; overflow: visible; }

/* ---------- cartels : Franklin imprimé ; sur un mur vert, une carte blanche montée ---------- */
body.mh-gabarit :is(.mh-page, .mh-accueil) .mh-cartel { font: 500 .9rem/1.45 "Libre Franklin", system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: #4A4A4A; }
body.mh-gabarit :is(.mh-page, .mh-accueil) .mh-cartel::before { display: none; }
body.mh-gabarit :is(.mh-page :is(.mh-heros, .mh-fond-velours), .mh-accueil :is(.mh-heros, .mh-duo, .mh-repond)) :is(.mh-cartel, .mh-legende) {
  display: inline-block;
  background: #FFFFFF;
  color: #111111;
  padding: 12px 16px;
  box-shadow: 0 2px 3px rgba(0, 0, 0, .22);
}
body.mh-gabarit :is(.mh-page :is(.mh-heros, .mh-fond-velours), .mh-accueil :is(.mh-heros, .mh-duo, .mh-repond)) :is(.mh-cartel, .mh-legende) :is(a, span) { color: #111111; }

/* ---------- cartons : la seule forme de bouton de demande, bordeaux au grain de papier ---------- */
body.mh-gabarit :is(.mh-page, .mh-accueil) :is(.mh-bouton--plein, a.mh-bouton[href*="/contact"]),
body.mh-gabarit .mh-g-bouton {
  background: var(--mh-papier), #8E1B34;
  background-blend-mode: soft-light, normal;
  color: #FFFFFF;
  border-color: transparent;
  border-radius: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .28);
}
body.mh-gabarit :is(.mh-page, .mh-accueil) :is(.mh-bouton--plein, a.mh-bouton[href*="/contact"]):hover,
body.mh-gabarit .mh-g-bouton:hover { background-color: #6E1428; color: #FFFFFF; }
body.mh-gabarit :is(.mh-page, .mh-accueil) .mh-bouton--contour:not([href*="/contact"]) { border-radius: 0; }
body.mh-gabarit :is(.mh-page :is(.mh-heros, .mh-fond-velours), .mh-accueil :is(.mh-heros, .mh-duo, .mh-repond)) .mh-bouton--contour:not([href*="/contact"]) { border-color: #FFFFFF; color: #FFFFFF; }
body.mh-gabarit :is(.mh-bouton, .mh-g-bouton) svg { transition: transform .5s cubic-bezier(.16, 1, .3, 1); }
body.mh-gabarit :is(.mh-bouton, .mh-g-bouton):hover svg { transform: translateX(4px); }
/* la demande dans l'en-tête reste un lien souligné : un seul carton par écran */
body.mh-gabarit .mh-entete__action { color: #FFFFFF; text-decoration-color: currentColor; }

/* ---------- formulaires, état d'envoi ---------- */
body.mh-gabarit .mh-page .mh-form__etat { border: 1px solid #111111; background: #FFFFFF; }

/* ---------- barre mobile et bandeau des cookies ---------- */
body.mh-gabarit .mh-barre { background: var(--mh-papier), #01190F; background-blend-mode: soft-light, normal; border: 0; }
body.mh-gabarit .mh-barre :is(a, .mh-barre__icone) { border-radius: 0; }
body.mh-gabarit .mh-barre .mh-barre__icone { background: #FFFFFF; color: #111111; border: 0; }
body.mh-gabarit .mh-consent { border-top: 0; }
body.mh-gabarit .mh-consent .mh-consent__bouton { background: #FFFFFF; color: #111111; border-radius: 0; }
body.mh-gabarit .mh-consent .mh-consent__bouton:hover { background: #E9E9E9; }
body.mh-gabarit .mh-consent-panneau { border-radius: 0; }
body.mh-gabarit .mh-consent-choix { background: #FFFFFF; border-radius: 0; }

/* ---------- logo « Pastille » : le nom en lettrage du mur et la pastille bordeaux des galeries ---------- */
body.mh-gabarit .mh-marque__logo { display: block; height: 26px; width: auto; color: #FFFFFF; }
body.mh-gabarit .mh-pied__logo { display: block; height: 34px; width: auto; color: #FFFFFF; margin-bottom: 1.5rem; }
/* le tiroir du menu mobile est une salle blanche : logo en vert sapin, pastille bordeaux */
body.mh-gabarit .mh-tiroir__logo { display: block; height: 26px; width: auto; color: #01190F; }
@media (min-width: 64.0625em) { body.mh-gabarit .mh-marque__logo { height: 32px; } }

/* ==========================================================================
   Accueil : les salles, d'après maquette-accueil-sapin.html
   ========================================================================== */

/* entrée : le tirage grand à gauche, son cartel dessous, le texte tout près ; le crédit sous le titre */
body.mh-gabarit .mh-accueil .mh-heros__titre { display: flex; flex-direction: column-reverse; }
body.mh-gabarit .mh-accueil .mh-heros__titre .h1-surtitre { display: block; margin-top: 1.25rem; font: 500 .95rem/1.4 "Libre Franklin", system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: #CFE6DA; }
body.mh-gabarit .mh-accueil .mh-heros__titre .h1-surtitre::before { display: none; }
body.mh-gabarit .mh-accueil .mh-heros__photo img { padding: clamp(16px, 2.6vw, 40px) clamp(16px, 2.6vw, 40px) clamp(24px, 3.8vw, 58px); border-width: 7px; }
@media (max-width: 47.9999em) { body.mh-gabarit .mh-accueil .mh-heros__photo { order: -1; justify-self: center; } }
@media (max-width: 64.0624em) { body.mh-gabarit .mh-accueil .mh-heros__photo img { width: auto; max-width: 100%; max-height: 56svh; } }
/* le <picture> est en display: contents : ses <source> deviendraient des cases de la grille */
body.mh-gabarit .mh-accueil .mh-heros__photo picture > source { display: none; }
@media (min-width: 64.0625em) {
  /* deux colonnes : le tirage à sa taille, le texte juste après (les deux enfants sont replacés, les 12 colonnes d'origine ne servent plus) */
  body.mh-gabarit .mh-accueil .mh-heros__grille { grid-template-columns: auto minmax(0, 1fr); column-gap: clamp(48px, 5vw, 88px); align-items: center; }
  body.mh-gabarit .mh-accueil .mh-heros__photo { grid-area: 1 / 1; display: grid; grid-template-columns: auto; justify-items: start; row-gap: 18px; }
  body.mh-gabarit .mh-accueil .mh-heros__photo img { grid-area: 1 / 1; width: auto; max-width: none; height: min(66svh, 720px); }
  body.mh-gabarit .mh-accueil .mh-heros__photo .mh-legende { grid-area: 2 / 1; margin: 0; }
  body.mh-gabarit .mh-accueil .mh-heros__texte { grid-area: 1 / 2; max-width: 40rem; }
}

/* prestations : le titre sur toute la largeur, puis l'accrochage sur trois colonnes, cadres sur une même ligne d'axe */
body.mh-gabarit .mh-accueil .mh-prestations__tete,
body.mh-gabarit .mh-accueil .mh-prestations__corps { grid-column: 1 / -1; position: static; }
body.mh-gabarit .mh-accueil .mh-prestations__tete { margin-bottom: clamp(40px, 5vw, 72px); }
body.mh-gabarit .mh-accueil .mh-offres { gap: 56px clamp(24px, 4vw, 64px); }
body.mh-gabarit .mh-accueil .mh-offre { display: grid; grid-template-rows: auto auto 1fr; gap: 18px; border: 0; border-radius: 0; background: transparent; overflow: visible; box-shadow: none; }
body.mh-gabarit .mh-accueil .mh-offre__photo { display: flex; justify-content: center; align-items: center; }
body.mh-gabarit .mh-accueil .mh-offre__photo img { aspect-ratio: auto; width: auto; max-width: 100%; max-height: 420px; }
body.mh-gabarit .mh-accueil :is(.mh-offre__texte, .mh-offre__bas) { padding: 0; }
body.mh-gabarit .mh-accueil .mh-offre__titre { font: 600 1.05rem/1.3 "Libre Franklin", system-ui, sans-serif; }
body.mh-gabarit .mh-accueil .mh-offre__titre::after { display: none; }
body.mh-gabarit .mh-accueil .mh-offre__desc { color: #111111; }
body.mh-gabarit .mh-accueil .mh-offre__prix { font: 600 1rem/1.3 "Libre Franklin", system-ui, sans-serif; }
body.mh-gabarit .mh-accueil .mh-offre__bas { align-items: start; }
@media (min-width: 64.0625em) {
  body.mh-gabarit .mh-accueil .mh-offres { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: auto auto auto; }
  body.mh-gabarit .mh-accueil .mh-offre { grid-row: span 3; grid-template-rows: subgrid; }
}
body.mh-gabarit .mh-accueil .mh-prestations__pied { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 36px; margin-top: clamp(48px, 5vw, 72px); padding-top: 24px; border-top: 1px solid #111111; }
body.mh-gabarit .mh-accueil .mh-prestations__pied .mh-mention { flex: 1 1 260px; }
body.mh-gabarit .mh-accueil .mh-large-seulement { display: inline-flex; }

/* photo + borne : salle verte ; les faits peints au mur, les cartels en cartes blanches */
body.mh-gabarit .mh-accueil .mh-duo__photo--b { margin-top: 0; }
body.mh-gabarit .mh-accueil .mh-duo .mh-reperes { border-top: 0; }
body.mh-gabarit .mh-accueil .mh-duo .mh-reperes li { padding: 0 0 18px; border-bottom: 0; font: 400 clamp(1.35rem, 1.7vw, 1.65rem)/1.25 var(--mh-caslon); }
body.mh-gabarit .mh-accueil .mh-reperes li::before { display: none; }
body.mh-gabarit .mh-accueil .mh-repond .mh-reperes li { padding: 0; border: 0; color: #CFE6DA; }
body.mh-gabarit .mh-accueil .mh-duo__kb { padding: 0; border: 0; background: transparent; }
body.mh-gabarit .mh-accueil .mh-duo__kb-titre { font: 600 1.05rem/1.3 "Libre Franklin", system-ui, sans-serif; color: #FFFFFF; }
body.mh-gabarit .mh-accueil .mh-duo__liens li + li { border-top: 0; }
body.mh-gabarit .mh-accueil .mh-duo :is(.mh-lien, .mh-lien-ext, .mh-texte a) { color: #FFFFFF; text-decoration-color: currentColor; }

/* séries : la dernière série en grand avec son cartel à côté, puis les trois autres accrochées en rang */
body.mh-gabarit .mh-accueil .mh-series__grille { display: block; }
body.mh-gabarit .mh-accueil .mh-vedette { display: grid; gap: 28px; }
body.mh-gabarit .mh-accueil .mh-vedette__texte { display: flex; flex-direction: column; margin-top: 0; }
body.mh-gabarit .mh-accueil .mh-vedette__texte .mh-surtitre { order: 2; margin: 10px 0 0; font: 500 .9rem/1.45 "Libre Franklin", system-ui, sans-serif; color: #4A4A4A; }
body.mh-gabarit .mh-accueil .mh-vedette__texte :is(.mh-cartel, .mh-texte) { order: 3; }
body.mh-gabarit .mh-accueil .mh-vedette__titre { font: 400 clamp(1.9rem, 2.6vw, 2.7rem)/1.08 var(--mh-caslon); letter-spacing: -.012em; }
body.mh-gabarit .mh-accueil :is(.mh-vedette__titre, .mh-index__titre)::after { display: none; }
body.mh-gabarit .mh-accueil .mh-index { position: static; margin-top: clamp(48px, 5vw, 72px); }
body.mh-gabarit .mh-accueil .mh-index__liste { display: grid; gap: 56px clamp(24px, 4vw, 64px); border-top: 0; }
body.mh-gabarit .mh-accueil .mh-index__item { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-content: start; padding: 0; border-bottom: 0; }
body.mh-gabarit .mh-accueil .mh-index__vignette img { width: 100%; }
body.mh-gabarit .mh-accueil .mh-index__fleche { display: none; }
body.mh-gabarit .mh-accueil .mh-index__titre { font: 600 1.05rem/1.3 "Libre Franklin", system-ui, sans-serif; }
body.mh-gabarit .mh-accueil .mh-index__tout { margin-top: clamp(40px, 5vw, 64px); }
@media (min-width: 37.5em) { body.mh-gabarit .mh-accueil .mh-index__liste { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 64.0625em) {
  body.mh-gabarit .mh-accueil .mh-vedette { grid-template-columns: 7fr 4fr; align-items: end; gap: 48px; }
}

/* sur pellicule : une salle blanche, les scans encadrés et leurs cartels posés au mur */
body.mh-gabarit .mh-accueil .mh-section.mh-pellicule { background: #FFFFFF; color: #01190F; }
body.mh-gabarit .mh-accueil .mh-section.mh-pellicule :is(h2, .mh-titre, p, a) { color: #01190F; }
body.mh-gabarit .mh-accueil .mh-section.mh-pellicule :is(.mh-texte, .mh-cartel) { color: #4A4A4A; }
body.mh-gabarit .mh-accueil .mh-bande { align-items: flex-end; }

/* où je photographie : le nom des régions peint au mur */
body.mh-gabarit .mh-accueil .mh-schema .mh-schema__region-nom { font-family: "Libre Caslon Display", Georgia, serif; font-size: 22px; font-weight: 400; letter-spacing: 0; text-transform: none; fill: #01190F; }
body.mh-gabarit .mh-accueil .mh-schema__compact .mh-schema__region-nom { font-size: 18px; }

/* qui vous répond : salle verte ; le lien vers la démarche en lien suivi d'une flèche, sans encadré */
body.mh-gabarit .mh-accueil .mh-repond .mh-reperes { border-top: 0; }
body.mh-gabarit .mh-accueil .mh-encart { display: inline-flex; gap: .5em; margin-top: 32px; padding: 0 0 2px; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: #FFFFFF; font: 500 1rem/1.3 "Libre Franklin", system-ui, sans-serif; }
body.mh-gabarit .mh-accueil .mh-encart svg { color: currentColor; }

/* demande : le panneau des choix en sapin de nuit, le carton à droite, les étapes sur leur propre rang */
body.mh-gabarit .mh-accueil .mh-puces { margin-top: clamp(40px, 5vw, 64px); }
body.mh-gabarit .mh-accueil .mh-puces__legende { margin: 0; padding: 26px 28px 14px; background: var(--mh-papier), #010D07; background-blend-mode: soft-light, normal; color: #FFFFFF; font: 600 1.05rem/1.3 "Libre Franklin", system-ui, sans-serif; }
body.mh-gabarit .mh-accueil .mh-puces__liste { display: block; padding: 0 28px 10px; background: var(--mh-papier), #010D07; background-blend-mode: soft-light, normal; }
body.mh-gabarit .mh-accueil .mh-puce { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 0; border: 0; border-top: 1px solid rgba(255, 255, 255, .28); border-radius: 0; background: transparent; color: #FFFFFF; font: 400 1.3rem/1.25 var(--mh-caslon); }
body.mh-gabarit .mh-accueil .mh-puce::after { content: ""; flex: none; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--mh-fleche) center / contain no-repeat; mask: var(--mh-fleche) center / contain no-repeat; transition: transform .5s cubic-bezier(.16, 1, .3, 1); }
body.mh-gabarit .mh-accueil .mh-puce:is(:hover, :active, :focus-visible) { background: transparent; color: #FFFFFF; }
body.mh-gabarit .mh-accueil .mh-puce:hover::after { transform: translateX(4px); }
body.mh-gabarit .mh-accueil .mh-puce:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }
body.mh-gabarit .mh-accueil .mh-demande__panneau { padding: 0; border: 0; }
body.mh-gabarit .mh-accueil .mh-contacts__amorce { margin-top: 44px; padding-top: 0; border-top: 0; font: 600 1.05rem/1.3 "Libre Franklin", system-ui, sans-serif; }
body.mh-gabarit .mh-accueil .mh-contacts a { color: #111111; font-weight: 600; }
body.mh-gabarit .mh-accueil .mh-surtitre--nu { display: block; margin: clamp(56px, 6vw, 88px) 0 28px; font: 400 clamp(1.6rem, 2vw, 2rem)/1.15 var(--mh-caslon); color: #01190F; }
body.mh-gabarit .mh-accueil .mh-etapes { gap: 28px; margin-top: 0; }
body.mh-gabarit .mh-accueil .mh-etapes li { position: relative; display: block; padding-top: 18px; border-top: 1px solid #111111; font-size: 1rem; max-width: 36ch; }
body.mh-gabarit .mh-accueil .mh-etapes li::before { display: block; margin-bottom: 12px; font: 400 2.2rem/1 var(--mh-caslon); color: #01190F; }
/* la pastille rouge des galeries : la date réservée */
body.mh-gabarit .mh-accueil .mh-etapes li:last-child::after { content: ""; position: absolute; top: 26px; left: 2rem; width: 13px; height: 13px; border-radius: 50%; background: #8E1B34; }
@media (min-width: 48em) { body.mh-gabarit .mh-accueil .mh-etapes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 64.0625em) {
  /* le panneau d'origine s'ouvre dans la grille : carton et contacts à droite, étapes sur toute la largeur */
  body.mh-gabarit .mh-accueil .mh-demande .mh-grille { grid-template-rows: auto auto 1fr auto auto; }
  body.mh-gabarit .mh-accueil .mh-demande__principal { grid-column: 1 / 8; grid-row: 1 / 4; }
  body.mh-gabarit .mh-accueil .mh-demande__panneau { display: contents; }
  body.mh-gabarit .mh-accueil .mh-demande__panneau > .mh-bouton { grid-column: 9 / 13; grid-row: 1; align-self: start; margin-top: clamp(40px, 5vw, 64px); }
  body.mh-gabarit .mh-accueil .mh-demande__panneau > .mh-heros__micro { grid-column: 9 / 13; grid-row: 2; }
  body.mh-gabarit .mh-accueil .mh-contacts__amorce { grid-column: 9 / 13; grid-row: 2; }
  body.mh-gabarit .mh-accueil .mh-contacts { grid-column: 9 / 13; grid-row: 3; align-self: start; }
  body.mh-gabarit .mh-accueil .mh-surtitre--nu { grid-column: 1 / 4; grid-row: 4; align-self: start; margin-top: 18px; }
  body.mh-gabarit .mh-accueil .mh-etapes { grid-column: 4 / 13; grid-row: 4; margin-top: clamp(56px, 6vw, 88px); }
  body.mh-gabarit .mh-accueil .mh-surtitre--nu { margin-top: calc(clamp(56px, 6vw, 88px) + 18px); }
}

@media (prefers-reduced-motion: reduce) {
  body.mh-gabarit :is(.mh-page, .mh-accueil) img,
  body.mh-gabarit :is(.mh-bouton, .mh-g-bouton, .mh-puce) :is(svg),
  body.mh-gabarit .mh-accueil .mh-puce::after { transition: none; }
}

/* navigation de l'en-tête : le trait de survol en blanc sur le vert ; champs de formulaire en filet noir */
body.mh-gabarit .mh-nav__lien::after { background: #FFFFFF; }
body.mh-gabarit .mh-page .mh-champ__saisie { border: 1px solid #111111; border-radius: 0; }
body.mh-gabarit .mh-page .mh-champ__saisie:hover { border-color: #01190F; }

/* le grain commence au milieu d'une tuile : posée au bord d'un bloc, la première rangée de la tuile
   dessine un filet clair à la jonction de deux murs (vu à l'échelle 2x) */
body.mh-gabarit .mh-entete,
body.mh-gabarit .mh-page .mh-fil,
body.mh-gabarit :is(.mh-page, .mh-accueil) .mh-heros,
body.mh-gabarit .mh-page .mh-fond-velours,
body.mh-gabarit .mh-accueil .mh-section:is(.mh-duo, .mh-repond),
body.mh-gabarit .mh-pied,
body.mh-gabarit .mh-barre,
body.mh-gabarit .mh-accueil :is(.mh-puces__legende, .mh-puces__liste),
body.mh-gabarit :is(.mh-page, .mh-accueil) :is(.mh-bouton--plein, a.mh-bouton[href*="/contact"]),
body.mh-gabarit .mh-g-bouton { background-position: 50% -110px, 0 0; }
