/* Maquette « visite d'un château », version 3 (28/10/2026, retours de Jonathan) : habillage seul de maquette-chateau.html et
   maquette-notre-maison.html, chargé après style.css (et après haut.css sur l'accueil). Le haut de page est celui de la
   production (index.html + haut.css), repris tel quel et seulement posé sur la toile de Jouy, dans un cartouche blanc.
   Plus bas : typographie fine (titres en capitales espacées), moins de boîtes, photos du château uniquement en FONDS.
   Images générées par Codex (img/chateau/). Tout mouvement est coupé si prefers-reduced-motion. */

.chateau {
  --encre: #2B2018; --brun: #6E3818; --laiton: #B08A4A; --laiton-fonce: #6E5023; --laiton-clair: #D9B871;
  --creme: #F7F1E6; --blanc: #FFFDF8; --nuit: #1E1610; --filet: rgba(176, 138, 74, .45);
  --cadre-or: linear-gradient(135deg, #7d5f28 0%, #e9cf8a 20%, #a07c38 42%, #f3dc9c 60%, #8a6a2e 80%, #d8b86c 100%);
  --jouy: url(img/chateau/toile-jouy-720.jpg);
}
.chateau body { font-family: 'EB Garamond', Georgia, serif; font-size: 17px; line-height: 1.6; background: var(--creme); color: var(--encre) }
@media (min-width: 801px) { .chateau body { font-size: 18px } }

/* ---------- Typographie des salles : capitales espacées, tailles fines (le haut de page garde celle de haut.css) ---------- */
.chateau section h2 { font-family: 'EB Garamond', Georgia, serif; font-weight: 500; text-transform: uppercase; letter-spacing: .14em; color: var(--encre); font-size: 21px; line-height: 1.35; margin: 0 0 22px }
.chateau section h2::after { width: 36px; height: 1px; margin-top: 14px; background: var(--laiton); opacity: 1 }
@media (min-width: 801px) { .chateau section h2 { font-size: 27px; margin-bottom: 30px } }
.chateau .intro { font-size: 16px; color: #4A3B2D; max-width: 660px }
@media (min-width: 801px) { .chateau .intro { font-size: 17.5px } }
.salle-titre { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0 0 8px; font: 500 11.5px/1.2 'EB Garamond', Georgia, serif; letter-spacing: .3em; text-transform: uppercase; color: var(--laiton-fonce) }
.salle-titre::before, .salle-titre::after { content: ""; width: 34px; height: 1px; background: linear-gradient(90deg, transparent, var(--laiton)) }
.salle-titre::after { background: linear-gradient(90deg, var(--laiton), transparent) }
@media (max-width: 420px) { .salle-titre { letter-spacing: .22em; gap: 9px } .salle-titre::before, .salle-titre::after { width: 22px } }

/* Boutons des salles : pleins, capitales espacées, filet crème autour (le bouton du haut garde celui de haut.css) */
.chateau section .bouton, .page-maison .maison .bouton { font: 500 14px/1.2 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .16em; border-radius: 0; padding: 15px 24px; background: var(--brun); color: #FFFDF8; box-shadow: 0 0 0 3px var(--blanc), 0 0 0 4px rgba(110, 56, 24, .55) }
.chateau section .bouton:hover, .page-maison .maison .bouton:hover { background: #57290f }
.chateau section .bouton.gros { font-size: 15px; padding: 16px 30px }
.chateau section .bouton.second { background: transparent; color: var(--brun); border: 1px solid var(--brun); box-shadow: none }
.chateau .barre-fixe { font: 500 12.5px/1.3 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .07em; white-space: nowrap; background: var(--encre); color: #F3E9D2; border-radius: 0; box-shadow: 0 0 0 1px var(--laiton-clair), 0 10px 24px rgba(0, 0, 0, .3); padding: 13px 12px }

/* ---------- En-tête ---------- */
.chateau .menu { font-size: 13.5px; text-transform: uppercase; letter-spacing: .14em; gap: 24px }
@media (max-width: 980px) { .chateau .menu a { font-size: 15px } }

/* ---------- Le Vestibule : toile de Jouy pleine ; le texte du haut (inchangé) dans un cartouche blanc ---------- */
.vestibule {
  background-color: #F4ECDC;
  background-image: var(--jouy);
  background-image: image-set(url(img/chateau/toile-jouy-720.avif) type("image/avif"), url(img/chateau/toile-jouy-720.webp) type("image/webp"), url(img/chateau/toile-jouy-720.jpg) type("image/jpeg"));
  background-size: 400px; border-bottom: 1px solid var(--filet)
}
@media (min-width: 801px) { .vestibule { background-size: 520px } }
.cartouche, .vestibule .heros-texte { position: relative; background: var(--blanc); box-shadow: 0 0 0 1px rgba(176, 138, 74, .55), 0 0 0 6px var(--blanc), 0 0 0 7px rgba(176, 138, 74, .4), 0 18px 40px rgba(43, 32, 24, .14) }
.cartouche { text-align: center; padding: 26px 30px 24px }
.vestibule .heros { padding: 52px 0 52px }
.vestibule .heros-texte { padding: 40px 36px 34px }
@media (min-width: 801px) { .vestibule .mh-rassure { font-size: 16px } }
.vestibule .heros .car-piste { box-shadow: 0 0 0 3px #C9A55E, 0 0 0 5px #4a3618, 0 0 0 11px var(--blanc), 0 0 0 12px rgba(176, 138, 74, .5), 0 22px 40px rgba(43, 32, 24, .25) }
.vestibule .heros .car-points { margin-top: 14px }
@media (max-width: 800px) {
  .vestibule .heros { padding: 16px 0 22px }
  .vestibule .heros-texte { padding: 22px 10px 18px; margin: 0 }
  .vestibule .heros-nom input { font-size: 17.5px; padding-left: 10px; padding-right: 4px }
  .vestibule .heros-nom .bouton { padding-left: 14px; padding-right: 14px }
  .vestibule .heros h1 { font-size: 32px; margin-bottom: 12px }
  .vestibule .heros h1::after { margin-top: 12px }
  .vestibule .heros .accroche { font-size: 16.5px; margin-bottom: 16px }
  .vestibule .heros .carrousel { width: calc(100% - 24px); margin-top: 22px }
  .vestibule .heros .car-piste { box-shadow: 0 0 0 2px #C9A55E, 0 0 0 4px #4a3618, 0 0 0 9px var(--blanc), 0 0 0 10px rgba(176, 138, 74, .5), 0 16px 30px rgba(43, 32, 24, .22) }
}
@media (max-width: 360px) { .vestibule .heros h1 { font-size: 28px } }
.chateau .mh-honnete { margin-top: 24px }

/* Les quatre points : sans boîte, entre deux filets, séparés par des filets verticaux, capitales fines */
.chateau .benefices { background: none; border: 0; border-top: 1px solid var(--filet); border-bottom: 1px solid var(--filet); border-radius: 0; box-shadow: none; padding: 18px 0; margin: 20px 0 36px; gap: 0 }
.chateau .benefices li { padding: 2px 14px; border-left: 1px solid var(--filet) }
.chateau .benefices li:first-child { border-left: 0 }
.chateau .benefices svg { width: 30px; height: 30px; stroke: var(--laiton-fonce); stroke-width: 1.3; margin-bottom: 8px }
.chateau .benefices b { font: 500 12.5px/1.4 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .14em; color: var(--encre) }
.chateau .benefices span { font-size: 14px; color: #6A5A48; margin-top: 2px }
@media (max-width: 800px) {
  .chateau .benefices { padding: 6px 0; margin: 16px 0 28px; gap: 0 }
  .chateau .benefices li { padding: 12px 8px; border-left: 0 }
  .chateau .benefices li:nth-child(even) { border-left: 1px solid var(--filet) }
  .chateau .benefices li:nth-child(n+3) { border-top: 1px solid var(--filet) }
  .chateau .benefices svg { width: 26px; height: 26px; margin-bottom: 6px }
  .chateau .benefices b { font-size: 11.5px; letter-spacing: .1em }
  .chateau .benefices span { font-size: 13px }
}

/* ---------- Moulures dorées entre les salles principales ---------- */
.moulure { height: 26px; background: linear-gradient(#3b2b19, #241a11); box-shadow: 0 6px 10px -6px rgba(43, 32, 24, .5); position: relative; z-index: 1 }
.moulure.allumee {
  background-image: url(img/chateau/moulure.jpg);
  background-image: image-set(url(img/chateau/moulure.avif) type("image/avif"), url(img/chateau/moulure.webp) type("image/webp"), url(img/chateau/moulure.jpg) type("image/jpeg"));
  background-repeat: repeat-x; background-size: auto 100%; background-position: center
}
@media (max-width: 800px) { .moulure { height: 18px } }
.mode-complement .moulure { display: none }

/* ---------- Salles ---------- */
.chateau section.salle { position: relative; isolation: isolate; overflow: clip; border-top: 0; background: var(--creme); padding: 34px 0 }
@media (min-width: 801px) { .chateau section.salle { padding: 60px 0 } }
.chateau section.salle::before { content: ""; position: absolute; inset: -50px 0; z-index: -1; pointer-events: none }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) { .chateau section.salle::before { animation: tapisserie linear both; animation-timeline: view() } }
}
@keyframes tapisserie { from { transform: translateY(-36px) } to { transform: translateY(36px) } }
@keyframes vacille { 0% { opacity: .78 } 18% { opacity: .95 } 33% { opacity: .82 } 52% { opacity: 1 } 71% { opacity: .86 } 100% { opacity: .93 } }
.chateau section.salle-claire { background: var(--creme) }
/* L'exemple complet : verdure très atténuée (fond aimé en v1) */
.chateau section.salle-tapisserie.allumee::before {
  background-image: url(img/chateau/tapisserie-claire.jpg);
  background-image: image-set(url(img/chateau/tapisserie-claire.avif) type("image/avif"), url(img/chateau/tapisserie-claire.webp) type("image/webp"), url(img/chateau/tapisserie-claire.jpg) type("image/jpeg"));
  background-size: 560px
}
/* La Salle des offres : la même toile de Jouy, voilée de crème ; le parcours y fait cartouche */
.chateau section.salle-offres.allumee::before {
  background-image: linear-gradient(rgba(247, 241, 230, .82), rgba(247, 241, 230, .82)), url(img/chateau/toile-jouy-720.jpg);
  background-image: linear-gradient(rgba(247, 241, 230, .82), rgba(247, 241, 230, .82)), image-set(url(img/chateau/toile-jouy-720.avif) type("image/avif"), url(img/chateau/toile-jouy-720.webp) type("image/webp"), url(img/chateau/toile-jouy-720.jpg) type("image/jpeg"));
  background-size: auto, 400px
}

/* Cadres dorés : l'affiche complète, l'atelier, la vidéo, l'alliance */
.chateau .ex-complet img, .chateau #comment .atelier, .chateau .cadeau-video .video-auto, .chateau .alliance-grille img, .cadre-dore img {
  border: 9px solid transparent; border-image: var(--cadre-or) 1; border-radius: 0; box-shadow: 0 0 0 1px #4a3618, 0 14px 28px rgba(43, 32, 24, .32)
}
@media (max-width: 800px) { .chateau .ex-complet img, .chateau #comment .atelier, .chateau .cadeau-video .video-auto, .chateau .alliance-grille img, .cadre-dore img { border-width: 6px } }

/* Moins de boîtes : listes et volets sur filets */
.chateau .ex-liste { font-size: 16px } .chateau .ex-prix { font-size: 16px }
.chateau .processus { gap: 22px }
.chateau .processus figure { background: transparent; border: 0; border-radius: 0 }
.chateau .processus img { background: transparent }
.chateau .processus figcaption { font-size: 15px; padding: 10px 2px 0 }
.chateau .processus figcaption b { font: 500 13px/1.4 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .12em; color: var(--brun) }
.chateau .sources-ligne { font-size: 14px }
.chateau .occasions a { background: transparent; border: 0; border-top: 1px solid var(--filet); border-radius: 0; padding: 9px 2px; font-size: 15px }
.chateau .occasions a b { font-weight: 500 }
.chateau .carte-cadeau-bloc { background: transparent; border: 0; border-left: 2px solid var(--laiton); border-radius: 0; font-size: 15.5px }
.chateau .cadeau h2 { text-align: left }
.chateau .honnete-colonnes ul { background: transparent; border: 0; border-top: 1px solid var(--filet); border-radius: 0; padding: 12px 4px }
.chateau .honnete-colonnes li { font-size: 15.5px }
.chateau .regles details.regle { background: transparent; border: 0; border-bottom: 1px solid var(--filet); border-radius: 0; margin: 0 }
.chateau .regles details.regle summary { font-size: 18px; padding: 10px 2px }
.chateau .regles details.regle summary img { width: 44px; height: 44px }
.chateau .regles details.regle p { font-size: 16px; padding-left: 60px }
.chateau #questions details { background: transparent; border: 0; border-bottom: 1px solid var(--filet); border-radius: 0; margin: 0 auto; padding: 4px 2px }
.chateau #questions summary { font-size: 18px }
.chateau #questions details p { font-size: 16px }
.chateau .dernier-appel p { font-size: 16px }
.chateau .alliance-bande h2 { font-size: 20px }
.chateau footer { font-size: 13.5px }
@media (max-width: 800px) { .chateau .regles details.regle p { padding-left: 2px } }

/* Formulaire de commande : cartouche net, sans arrondis */
.chateau .parcours { background: var(--blanc); border: 0; border-radius: 0; box-shadow: 0 0 0 1px rgba(176, 138, 74, .55), 0 0 0 6px var(--blanc), 0 0 0 7px rgba(176, 138, 74, .4), 0 18px 40px rgba(43, 32, 24, .12); outline: 0 }
.chateau .parcours .question { font-size: 24px; font-weight: 500 }
@media (max-width: 800px) { .chateau .parcours { margin: 0 6px } .chateau .parcours .question { font-size: 21px } }
.chateau .saisie { border-radius: 0 }
.chateau .offre { border-radius: 0 }

/* ---------- La Galerie des armoiries : mur sombre de tapisserie, cadres dorés, cartels ---------- */
.chateau section.salle-galerie { background: var(--nuit); color: #EFE4CF }
.chateau section.salle-galerie.allumee::before {
  background-image: url(img/chateau/tapisserie-sombre.jpg);
  background-image: image-set(url(img/chateau/tapisserie-sombre.avif) type("image/avif"), url(img/chateau/tapisserie-sombre.webp) type("image/webp"), url(img/chateau/tapisserie-sombre.jpg) type("image/jpeg"));
  background-size: 560px
}
.salle-galerie::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 80% 340px at 50% 0, rgba(255, 190, 110, .14), transparent 70%) }
.salle-galerie .salle-titre, .salle-couloir .salle-titre { color: var(--laiton-clair) }
.salle-galerie .salle-titre::before { background: linear-gradient(90deg, transparent, var(--laiton-clair)) }
.salle-galerie .salle-titre::after { background: linear-gradient(90deg, var(--laiton-clair), transparent) }
.chateau .salle-galerie h2 { color: #FBF4E3 }
.salle-galerie h2::after { background: var(--laiton-clair) }
.chateau .salle-galerie .intro { color: #E3D5BA }
.salle-galerie .gal-filtres button { background: transparent; border-color: rgba(217, 184, 113, .55); color: #F3E9D2; border-radius: 0; font-size: 12.5px; text-transform: uppercase; letter-spacing: .12em }
.salle-galerie .gal-filtres button.actif { background: var(--laiton-clair); border-color: var(--laiton-clair); color: #2B2018 }
.salle-galerie .galerie { gap: 28px 18px; padding: 14px 0 20px }
.salle-galerie .galerie figure { background: radial-gradient(ellipse 70% 120px at 50% 0, rgba(255, 200, 120, .16), transparent 75%); border: 0; border-radius: 0; overflow: visible; padding: 10px 6px 0; transform-origin: 50% 0 }
.salle-galerie .galerie img { border: 11px solid transparent; border-image: var(--cadre-or) 1; padding: 7px; background: #F3EAD7; box-shadow: 0 0 0 1px #3a2a14, 0 18px 30px rgba(0, 0, 0, .6) }
.salle-galerie .gal-ex { top: 30px; left: 28px; border-radius: 0; font-size: 10.5px; letter-spacing: .14em }
.salle-galerie .galerie figcaption { width: 92%; margin: 14px auto 0; background: #F3EAD7; color: #3A2C20; border: 0; border-radius: 0; box-shadow: 0 0 0 1px var(--laiton), 0 6px 14px rgba(0, 0, 0, .45); padding: 9px 11px 11px; font-size: 14px }
.salle-galerie .galerie figcaption b { color: #6E3818; font-size: 15px; text-transform: uppercase; letter-spacing: .12em; font-weight: 500 }
.salle-galerie .gal-tags { color: #6A4E26; font-size: 12.5px }
.salle-galerie .gal-affiche { color: #7A3E1D; font-size: 13.5px }
.chateau .salle-galerie .gal-cta .bouton { background: var(--laiton-clair); color: #2B2018; box-shadow: 0 0 0 3px var(--nuit), 0 0 0 4px rgba(217, 184, 113, .6) }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .salle-galerie .galerie figure { transition: transform .7s cubic-bezier(.2, .7, .2, 1) }
  .salle-galerie .galerie figure:hover { transform: rotate(-1.4deg) }
  .salle-galerie .galerie figure:nth-child(even):hover { transform: rotate(1.4deg) }
}
@media (max-width: 800px) {
  .salle-galerie .galerie { gap: 18px; padding: 10px 4px 18px }
  .salle-galerie .galerie img { border-width: 8px; padding: 5px }
  .salle-galerie .gal-ex { top: 22px; left: 20px }
}

/* ---------- Garanties : le couloir du château en fond ; armure et épée sur les côtés (grands écrans) ---------- */
.chateau section.salle-couloir { background: #17110c; color: #E6DAC0 }
.chateau section.salle-couloir.allumee::before {
  background-image: linear-gradient(rgba(20, 14, 9, .74), rgba(20, 14, 9, .84)), url(img/chateau/couloir-600.jpg);
  background-image: linear-gradient(rgba(20, 14, 9, .74), rgba(20, 14, 9, .84)), image-set(url(img/chateau/couloir-600.avif) type("image/avif"), url(img/chateau/couloir-600.webp) type("image/webp"), url(img/chateau/couloir-600.jpg) type("image/jpeg"));
  background-size: cover; background-position: center
}
@media (min-width: 801px) {
  .chateau section.salle-couloir.allumee::before {
    background-image: linear-gradient(rgba(20, 14, 9, .72), rgba(20, 14, 9, .82)), url(img/chateau/couloir-1040.jpg);
    background-image: linear-gradient(rgba(20, 14, 9, .72), rgba(20, 14, 9, .82)), image-set(url(img/chateau/couloir-1040.avif) type("image/avif"), url(img/chateau/couloir-1040.webp) type("image/webp"), url(img/chateau/couloir-1040.jpg) type("image/jpeg"))
  }
}
@media (min-width: 1240px) {
  .chateau section.salle-couloir.allumee::after {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .55;
    background-image: url(img/chateau/armure-400.jpg), url(img/chateau/epee-240.jpg);
    background-image: image-set(url(img/chateau/armure-400.avif) type("image/avif"), url(img/chateau/armure-400.webp) type("image/webp"), url(img/chateau/armure-400.jpg) type("image/jpeg")), image-set(url(img/chateau/epee-240.avif) type("image/avif"), url(img/chateau/epee-240.webp) type("image/webp"), url(img/chateau/epee-240.jpg) type("image/jpeg"));
    background-repeat: no-repeat; background-size: auto 100%; background-position: left center, right center;
    -webkit-mask-image: linear-gradient(90deg, #000 0, transparent 230px, transparent calc(100% - 150px), #000 100%); mask-image: linear-gradient(90deg, #000 0, transparent 230px, transparent calc(100% - 150px), #000 100%)
  }
}
.chateau .garanties li { border: 0; border-top: 1px solid rgba(217, 184, 113, .45); border-radius: 0; padding: 14px 4px 4px; font-size: 15px; background: none }
.chateau .garanties b { font: 500 14px/1.4 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .14em; color: var(--laiton-clair) }
.chateau #garantie .bouton { background: var(--laiton-clair); color: #2B2018; box-shadow: 0 0 0 3px #17110c, 0 0 0 4px rgba(217, 184, 113, .6) }

/* ---------- En-têtes peints en fond : le cabinet (méthode) et la bibliothèque (questions) ---------- */
.salle-entete { position: relative; margin: -34px calc(50% - 50vw) 22px; padding: 38px calc(50vw - 50%) 24px; background-color: #2a1f16; background-size: cover; background-position: center; text-align: center }
.salle-entete .salle-titre { color: var(--laiton-clair) }
.salle-entete .salle-titre::before { background: linear-gradient(90deg, transparent, var(--laiton-clair)) }
.salle-entete .salle-titre::after { background: linear-gradient(90deg, var(--laiton-clair), transparent) }
.chateau .salle-entete h2 { color: #FBF4E3; margin-bottom: 0; text-shadow: 0 1px 12px rgba(0, 0, 0, .5) }
.salle-entete h2::after { background: var(--laiton-clair) }
@media (min-width: 801px) { .salle-entete { margin-top: -60px; margin-bottom: 34px; padding-top: 70px; padding-bottom: 40px } }
.allumee .entete-cabinet, .entete-cabinet.allumee {
  background-image: linear-gradient(rgba(24, 17, 11, .62), rgba(24, 17, 11, .72)), url(img/chateau/cabinet-600.jpg);
  background-image: linear-gradient(rgba(24, 17, 11, .62), rgba(24, 17, 11, .72)), image-set(url(img/chateau/cabinet-600.avif) type("image/avif"), url(img/chateau/cabinet-600.webp) type("image/webp"), url(img/chateau/cabinet-600.jpg) type("image/jpeg"))
}
.allumee .entete-bibliotheque, .entete-bibliotheque.allumee {
  background-image: linear-gradient(rgba(24, 17, 11, .6), rgba(24, 17, 11, .72)), url(img/chateau/bibliotheque-600.jpg);
  background-image: linear-gradient(rgba(24, 17, 11, .6), rgba(24, 17, 11, .72)), image-set(url(img/chateau/bibliotheque-600.avif) type("image/avif"), url(img/chateau/bibliotheque-600.webp) type("image/webp"), url(img/chateau/bibliotheque-600.jpg) type("image/jpeg"))
}
@media (min-width: 801px) {
  .allumee .entete-cabinet, .entete-cabinet.allumee {
    background-image: linear-gradient(rgba(24, 17, 11, .6), rgba(24, 17, 11, .7)), url(img/chateau/cabinet-1040.jpg);
    background-image: linear-gradient(rgba(24, 17, 11, .6), rgba(24, 17, 11, .7)), image-set(url(img/chateau/cabinet-1040.avif) type("image/avif"), url(img/chateau/cabinet-1040.webp) type("image/webp"), url(img/chateau/cabinet-1040.jpg) type("image/jpeg"))
  }
  .allumee .entete-bibliotheque, .entete-bibliotheque.allumee {
    background-image: linear-gradient(rgba(24, 17, 11, .58), rgba(24, 17, 11, .7)), url(img/chateau/bibliotheque-1040.jpg);
    background-image: linear-gradient(rgba(24, 17, 11, .58), rgba(24, 17, 11, .7)), image-set(url(img/chateau/bibliotheque-1040.avif) type("image/avif"), url(img/chateau/bibliotheque-1040.webp) type("image/webp"), url(img/chateau/bibliotheque-1040.jpg) type("image/jpeg"))
  }
}

/* ---------- La Salle des offres : bannières et bougie de part et d'autre (grands écrans, sans hauteur) ---------- */
.applique { display: none }
.lueur { position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen; animation: vacille 4.2s ease-in-out infinite alternate }
@media (min-width: 1180px) {
  .applique { display: block; position: absolute; top: 300px; overflow: hidden; background: #22180f; box-shadow: 0 0 0 3px #C9A55E, 0 0 0 5px #4a3618, 0 16px 28px rgba(43, 32, 24, .4) }
  .applique img { display: block; width: 100%; height: 100%; object-fit: cover }
  .applique-bannieres { left: calc(50% - 560px); width: 190px; height: 285px }
  .applique-bougie { right: calc(50% - 530px); width: 130px; height: 175px; border-radius: 50% 50% 2px 2px / 37% 37% 2px 2px }
  .applique-bougie .lueur { background: radial-gradient(circle at 50% 22%, rgba(255, 200, 120, .45), transparent 45%) }
}

/* ---------- Notre maison ---------- */
.page-maison .vestibule { padding: 46px 0 }
.page-maison .cartouche { max-width: 640px; margin: 0 auto }
.page-maison .cartouche .kicker { font: 500 11.5px/1.3 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .3em; color: var(--laiton-fonce); margin: 0 }
.page-maison .cartouche h1 { font: 500 26px/1.4 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .14em; margin: 10px 0 0 }
.page-maison .maison { max-width: 680px; padding: 34px 0 20px }
.page-maison .maison p, .page-maison .maison li { font-size: 17px }
.page-maison .maison .ouverture { font-size: 18.5px }
.page-maison .maison .ouverture::first-letter { font-size: 62px; color: var(--laiton-fonce) }
.page-maison .maison h2 { font: 500 20px/1.35 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .14em; margin: 42px 0 14px }
.page-maison .maison h2::after { content: ""; display: block; width: 36px; height: 1px; background: var(--laiton); margin-top: 12px }
.page-maison .cadre-dore { margin: 34px auto; max-width: 420px }
.page-maison .cadre-dore img { border-radius: 0 }
.page-maison .cadre-dore figcaption { text-align: center }
.page-maison .maison .royaume { background: var(--blanc); border: 0; text-align: center; font-size: 18px; padding: 22px 24px; box-shadow: 0 0 0 1px rgba(176, 138, 74, .55), 0 0 0 6px var(--blanc), 0 0 0 7px rgba(176, 138, 74, .4); margin: 36px 8px }
.page-maison .maison .royaume b { display: block; font-weight: 500; text-transform: uppercase; letter-spacing: .16em; font-size: 14px; color: var(--laiton-fonce); margin-bottom: 6px }
.page-maison .maison .signature { text-align: right; font-size: 18px }
.page-maison .maison .cta { text-align: center }
/* Signature dessinée « J. Henri » (image choisie par Jonathan) et sceau de cire « HB » (fonds blancs fondus par multiply) */
.signature-sceau { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin: 30px 0 16px }
.signature-bloc { text-align: center }
.signature-image { display: block; width: 170px; height: auto; margin: 0 auto -6px; mix-blend-mode: multiply }
.signature-sceau .signature, .page-maison .maison .signature-sceau .signature { margin: 0; font-size: 15px; font-style: normal; letter-spacing: .08em; color: #5A4A3A; text-align: center }
.sceau-img { display: block; width: 84px; height: 84px; mix-blend-mode: multiply; transform: rotate(-8deg) }
@media (max-width: 800px) { .sceau-img { width: 72px; height: 72px } .signature-image { width: 150px } }
.page-maison .maison .biblio { border-top: 0; margin: 46px calc(50% - 50vw) 0; padding: 34px calc(50vw - 50%) 30px; color: #E6DAC0 }
.page-maison .maison .biblio p, .page-maison .maison .biblio li { font-size: 16px; color: #E6DAC0 }
.page-maison .maison .biblio b { font-weight: 500; text-transform: uppercase; letter-spacing: .16em; font-size: 13px; color: var(--laiton-clair) }
.page-maison .maison .biblio ul { list-style: none; padding: 0 }
.page-maison main { overflow-x: clip }
@media (max-width: 800px) {
  .page-maison .vestibule { padding: 26px 0 }
  .page-maison .cartouche { padding: 20px 16px }
  .page-maison .cartouche h1 { font-size: 19px; letter-spacing: .12em }
  .page-maison .maison { padding-top: 26px }
  .page-maison .maison .biblio { padding-top: 26px }
}

/* ---------- Page de remerciement (maquette) ---------- */
.page-merci .haut-merci { padding: 12px 0; border-bottom: 0 }
.vestibule-merci { padding: 34px 0 }
.cartouche-merci { max-width: 640px; margin: 0 auto }
.cartouche-merci .kicker { font: 500 11.5px/1.3 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .3em; color: var(--laiton-fonce); margin: 0 }
.cartouche-merci h1 { font: 500 32px/1.15 'EB Garamond', Georgia, serif; color: var(--encre); margin: 10px 0 12px }
.cartouche-merci h1::after { content: ""; display: block; width: 40px; height: 1px; background: var(--laiton); margin: 14px auto 0 }
.cartouche-merci > p { font-size: 16.5px; color: #4A3B2D; margin: 0 0 12px }
.mot-signe { border-top: 1px solid var(--filet); padding-top: 14px; margin-top: 4px }
.mot-signe > p { font-style: italic; font-size: 16.5px; line-height: 1.6; color: #3A2C20; margin: 0 }
.mot-signe .signature-sceau { justify-content: center; margin: 12px 0 0 }
.page-merci .page-texte.merci-corps { max-width: 760px; padding: 26px 0 60px }
.page-merci .merci-corps > h2, .page-merci .merci-corps .deuxieme h2, .page-merci .merci-corps .carte-merci h2, .page-merci .complement-cta h2, .page-merci #recap h2 { font: 500 19px/1.35 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .12em; color: var(--encre); margin: 18px 0 8px }
.page-merci .deuxieme, .page-merci .carte-merci, .page-merci .complement-cta { background: var(--blanc); border: 0; border-radius: 0; box-shadow: 0 0 0 1px rgba(176, 138, 74, .5), 0 0 0 5px var(--blanc), 0 0 0 6px rgba(176, 138, 74, .35); padding: 8px 20px 14px; margin: 24px 6px }
.page-merci .bouton { font: 500 14px/1.2 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .14em; border-radius: 0; padding: 14px 22px; background: var(--brun); color: #FFFDF8; box-shadow: 0 0 0 3px var(--blanc), 0 0 0 4px rgba(110, 56, 24, .55) }
.page-merci .bouton.second { background: transparent; color: var(--brun); border: 1px solid var(--brun); box-shadow: none }
.page-merci .merci-corps p, .page-merci .merci-corps li { font-size: 16.5px }
.chateau section.frise { background: transparent; padding: 30px 0 10px; text-align: center; overflow: visible }
.frise h2 { margin-bottom: 26px }
.frise-etapes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px }
.frise-etapes .etape { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: 4px }
.frise-etapes .etape::after { content: ""; position: absolute; top: 18px; left: calc(50% + 24px); width: calc(100% - 30px); height: 1px; background: var(--filet) }
.frise-etapes .etape:last-child::after, .frise-etapes .etape.si-encadre::after { display: none }
.etape-num { display: block; text-align: center; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--laiton); color: var(--laiton-fonce); font: 500 15px/28px 'EB Garamond', Georgia, serif; background: var(--creme); margin-bottom: 10px; position: relative; z-index: 1 }
.frise-etapes img { display: block; width: 100%; height: auto; max-width: 150px; aspect-ratio: 4 / 5; object-fit: cover; border: 6px solid transparent; border-image: var(--cadre-or) 1; box-shadow: 0 0 0 1px #4a3618, 0 10px 20px rgba(43, 32, 24, .25); background: #F3EAD7; margin: 0 auto 12px }
.frise-etapes b { font: 500 13px/1.35 'EB Garamond', Georgia, serif; text-transform: uppercase; letter-spacing: .12em; color: var(--brun); margin-bottom: 4px }
.frise-etapes .etape > span:last-child { font-size: 15px; line-height: 1.5; color: #4A3B2D }
.si-fichiers { display: none !important }
.offre-fichiers .si-fichiers { display: flex !important }
.offre-fichiers .si-encadre { display: none !important }
.frise-detail { text-align: left; max-width: 640px; margin: 26px auto 0; padding-left: 20px; font-size: 15px; color: #4A3B2D }
.merci-certificat { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 22px; margin: 30px 0 0 }
.merci-certificat figure { margin: 0; width: 180px }
.merci-certificat img { display: block; width: 100%; height: auto; box-shadow: 0 10px 26px -12px rgba(43, 32, 24, .45) }
.merci-certificat figure:nth-child(1) img { transform: rotate(-2deg) }
.merci-certificat figure:nth-child(2) img { transform: rotate(1.5deg) }
.merci-certificat .petit { flex-basis: 100%; font-size: 14px; color: #6A5A48; margin: 0 }
.page-merci .lien-maison { text-align: center; margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--filet) }
@media (max-width: 800px) {
  .vestibule-merci { padding: 18px 0 }
  .cartouche-merci { padding: 20px 14px 16px }
  .cartouche-merci h1 { font-size: 26px }
  .frise-etapes { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px 14px }
  .frise-etapes .etape::after { display: none }
  .frise-etapes img { max-width: 130px }
  .merci-certificat figure { width: 140px }
  .page-merci .page-texte.merci-corps { padding-left: 0; padding-right: 0 }
}

/* ---------- Mouvement coupé à la demande ---------- */
@media (prefers-reduced-motion: reduce) {
  .lueur { animation: none }
  .chateau section.salle::before { animation: none; transform: none }
  .salle-galerie .galerie figure { transition: none }
}
