.page-psychologie-de-lhabitat{overflow-x:clip}.housing-section{padding-block:clamp(4.5rem,9vw,8rem)}.housing-heading{max-width:780px;margin-bottom:clamp(2.4rem,5vw,4rem)}.housing-heading h2,.housing-split h2{margin:.45rem 0 1rem}.housing-heading>p:not(.eyebrow),.housing-split>div>p:not(.eyebrow){color:var(--muted);font-size:var(--step-1)}.housing-hero{position:relative;padding-block:clamp(4rem,8vw,7.5rem);overflow:hidden;background:linear-gradient(125deg,#f9f6f0,#e9e8dc 62%,#dce1cf)}.housing-hero::after{position:absolute;right:-10rem;bottom:-16rem;width:34rem;height:34rem;border:1px solid rgb(195 165 87 / 34%);border-radius:50%;content:""}.housing-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:clamp(3rem,8vw,7rem)}.housing-hero h1{max-width:12ch}.housing-hero__lead{max-width:57ch;color:var(--terra-dark);font-size:var(--step-1);font-weight:600}.housing-hero__grid>div>p:not(.eyebrow){max-width:62ch}.housing-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.housing-hero__visual{position:relative;margin:0;padding:.75rem;border:1px solid rgb(168 95 73 / 45%)}.housing-hero__visual::before{position:absolute;inset:-1rem 1.3rem 1.3rem -1rem;z-index:-1;border:1px solid var(--gold);content:""}.housing-hero__visual img{display:block;width:100%;aspect-ratio:1.43;object-fit:cover}.housing-hero__visual figcaption{margin:.9rem 0 .1rem;color:var(--muted);font-size:var(--step--1)}.housing-split{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(3rem,8vw,8rem);align-items:start}.housing-definition{background:var(--white)}.housing-definition .housing-split>div:last-child p{max-width:72ch;color:var(--muted);font-size:var(--step-1)}.housing-offer{background:var(--cream)}.housing-offer__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(3rem,8vw,7rem);align-items:start}.housing-offer h2{margin:.45rem 0 1.2rem}.housing-offer__grid aside{padding:clamp(1.5rem,3vw,2.4rem);border-radius:20px;background:var(--white);box-shadow:0 12px 26px rgb(80 83 85 / 8%)}.housing-offer__date{margin:.3rem 0 1rem;color:var(--terra-text);font-size:var(--step-2);font-weight:700}.housing-offer__grid aside .housing-actions{margin-top:1.5rem}.housing-audiences,.housing-practical{background:var(--cream)}.housing-grid{display:grid;padding:0;margin:0;border-top:1px solid var(--line);border-left:1px solid var(--line);border-right:1px solid var(--line);list-style:none}.housing-grid--audiences{grid-template-columns:repeat(3,1fr)}.housing-grid--three{grid-template-columns:repeat(3,1fr)}.housing-grid--four{grid-template-columns:repeat(4,1fr)}.housing-grid>li,.housing-grid>article{padding:clamp(1.4rem,2.7vw,2.2rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.housing-grid--audiences li{min-height:180px;font-size:var(--step-1);font-weight:600;line-height:1.4}.housing-grid--audiences li::before{display:block;margin-bottom:2rem;color:var(--gold-text);font-size:.75rem;content:"◆"}.housing-grid article h3{margin:0 0 .75rem;font-size:var(--step-1)}.housing-grid article p{color:var(--muted)}.housing-grid article>span{display:block;margin-bottom:1.8rem;color:var(--gold-text);font-size:var(--step--1);font-weight:600}.housing-situations{background:#f4f1e9}.housing-objectives{background:#313530;color:#fff}.housing-objectives h2,.housing-objectives .eyebrow{color:#fff}.housing-objectives .housing-heading>p:not(.eyebrow){color:#dfe1dc}.housing-objectives ol{padding:0;margin:0;border-top:1px solid #555a54;list-style:none}.housing-objectives li{display:grid;grid-template-columns:3rem 1fr;gap:1.2rem;padding:1.1rem 0;border-bottom:1px solid #555a54}.housing-objectives li span{color:var(--gold-text);font-size:var(--step--1);font-weight:600}.housing-objectives li p{margin:0;color:#f0f1ed}.housing-capabilities{background:var(--paper)}.housing-capabilities article{background:var(--white)}.housing-program{scroll-margin-top:84px;background:#eef0e6}.housing-program__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.36fr);gap:clamp(2rem,6vw,6rem);align-items:end}.housing-program__intro .housing-heading{margin-bottom:0}.housing-program__list{border-top:1px solid var(--line)}.housing-program__list details,.housing-faq details{border-bottom:1px solid var(--line)}.housing-program__list summary,.housing-faq summary{position:relative;cursor:pointer;list-style:none}.housing-program__list summary:focus,.housing-faq summary:focus{outline:3px solid var(--focus);outline-offset:3px}.housing-program__list summary::-webkit-details-marker,.housing-faq summary::-webkit-details-marker{display:none}.housing-program__list summary{display:grid;grid-template-columns:7rem 1fr;align-items:center;gap:1rem;padding:1.15rem 3rem 1.15rem 0}.housing-program__list summary::after,.housing-faq summary::after{position:absolute;right:.35rem;color:var(--terra-text);font-size:1.5rem;content:"+"}.housing-program__list details[open] summary::after,.housing-faq details[open] summary::after{content:"−"}.housing-program__list summary span{color:var(--terra-text);font-size:var(--step--1);font-weight:600}.housing-program__list summary strong{font:700 var(--step-1)/1.35 var(--font-title)}.housing-program__list ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 2rem;padding:0 3rem 1.4rem 8rem;margin:0;list-style:none}.housing-program__list li{position:relative;padding-left:1rem;color:var(--muted)}.housing-program__list li::before{position:absolute;left:0;color:var(--gold-text);content:"•"}.housing-method{background:var(--white)}.housing-method ul{padding:0;margin:0;border-top:1px solid var(--line);list-style:none}.housing-method li{display:grid;grid-template-columns:12rem 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.housing-method li span{color:var(--muted)}.housing-applications{background:#f4f1e9}.housing-boundaries{padding-block:clamp(4rem,8vw,7rem);background:#313530;color:#fff}.housing-boundaries__grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(3rem,8vw,8rem)}.housing-boundaries h2,.housing-boundaries .eyebrow{color:#fff}.housing-boundaries h2{margin:.45rem 0}.housing-boundaries__grid>div:last-child p{max-width:72ch;color:#e5e7e2;font-size:var(--step-1)}.housing-quality{padding-block:clamp(4rem,8vw,7rem);background:var(--terra-dark);color:#fff}.housing-quality__grid{display:grid;grid-template-columns:240px 1fr;align-items:center;gap:clamp(2rem,6vw,6rem)}.housing-quality img{width:220px;height:auto;padding:1rem;background:#fff;object-fit:contain}.housing-quality h2,.housing-quality .eyebrow{color:#fff}.housing-quality h2{margin:.45rem 0 1rem}.housing-quality p{max-width:74ch;color:#f5e8e3}.housing-trainer{background:var(--white)}.housing-trainer__grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1fr);align-items:center;gap:clamp(3rem,8vw,8rem);max-width:1040px}.housing-trainer figure{margin:0}.housing-trainer img{display:block;width:100%;max-height:680px;object-fit:cover}.housing-trainer h2{margin:.45rem 0 1rem}.housing-trainer__grid>div>p:not(.eyebrow){max-width:58ch;color:var(--muted);font-size:var(--step-1)}.housing-faq{background:#eef0e6}.housing-faq__list{border-top:1px solid var(--line)}.housing-faq summary{padding:1.25rem 2.5rem 1.25rem 0;font-size:var(--step-1);font-weight:600;line-height:1.4}.housing-faq summary::after{top:1.2rem}.housing-faq details p{max-width:68ch;padding:0 2.5rem 1.25rem 0;color:var(--muted)}.housing-final{padding-block:clamp(5rem,10vw,9rem);background:linear-gradient(135deg,#f4eee7,#e5e8da);text-align:center}.housing-final__inner{display:grid;justify-items:center}.housing-final h2{max-width:23ch;margin:.45rem auto .8rem}.housing-final p{color:var(--muted)}.housing-actions--center{justify-content:center}.button-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.86rem 1.35rem;border:1px solid var(--terra);border-radius:999px;color:var(--terra-dark);font-family:var(--font-body);font-weight:600;text-decoration:none}
@media(max-width:1000px){.housing-grid--audiences,.housing-grid--three{grid-template-columns:repeat(2,1fr)}.housing-grid--four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.housing-program__intro,.housing-hero__grid,.housing-split,.housing-offer__grid,.housing-boundaries__grid{grid-template-columns:1fr}.housing-hero__visual{width:min(92%,620px);margin-inline:auto}.housing-heading{margin-bottom:2.2rem}.program-download{max-width:360px}.housing-quality__grid{grid-template-columns:180px 1fr}.housing-trainer__grid{grid-template-columns:minmax(240px,.7fr) 1fr}.housing-program__list ul{padding-left:0}.housing-program__list summary{grid-template-columns:5rem 1fr}.housing-method li{grid-template-columns:10rem 1fr}}
@media(max-width:650px){.housing-section{padding-block:4rem}.housing-grid--audiences,.housing-grid--three,.housing-grid--four{grid-template-columns:1fr}.housing-grid--audiences li{min-height:0}.housing-actions,.housing-actions .button,.housing-actions .button-secondary{width:100%}.housing-hero__visual{width:92%}.housing-program__list summary{grid-template-columns:1fr;padding-right:2.5rem}.housing-program__list ul{grid-template-columns:1fr;padding-right:1rem}.housing-method li{grid-template-columns:1fr;gap:.25rem}.housing-quality__grid,.housing-trainer__grid{grid-template-columns:1fr}.housing-quality img{width:170px}.housing-trainer figure{max-width:430px}}

/* ─────────── L'encart « Prochaine session » : un seul bouton, et qu'il porte

   Le second lien, « Voir les prochaines sessions », a été retiré du balisage.
   « Je m'inscris » restait alors seul, 280 px de large dans une carte de 523,
   calé en haut à gauche : il avait l'air d'un reste plutôt que d'un appel.

   Il prend maintenant toute la largeur de sa carte, avec la hauteur des zones
   tactiles confortables. Le dégradé est celui de la charte, réservé au public ;
   l'encre #2b2d2f y donne 5,16 de contraste sur l'extrémité la plus foncée,
   9,61 sur la plus claire — mesuré, pas supposé.

   LA PORTÉE EST ÉTROITE, ET C'EST VOULU : .housing-actions sert aussi ailleurs
   sur la page, notamment en version centrée en fin de parcours. Seul l'encart
   de l'offre est visé. */
.housing-offer aside .housing-actions { margin-top: 1.6rem; }
.housing-offer aside .housing-actions .button {
  width: 100%;
  min-height: 58px;
  justify-content: center;
  font-size: 1.02rem;
  letter-spacing: .01em;
  box-shadow: 0 10px 22px rgb(207 143 117 / 28%);
  transition: transform .2s ease, box-shadow .2s ease;
}
.housing-offer aside .housing-actions .button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgb(207 143 117 / 36%);
}
@media (prefers-reduced-motion: reduce) {
  .housing-offer aside .housing-actions .button { transition: none; }
  .housing-offer aside .housing-actions .button:hover { transform: none; }
}

/* ─────────── Ce que la jumelle avait et pas elle — 29 août 2026

   Les cases d'« Applications » de la page neuro ont une hauteur plancher de
   190 px : sans elle, une case à texte court se tasse à côté de sa voisine et
   la grille perd son quadrillage. Les articles de « Modalités » y sont posés
   sur un blanc translucide, qui les détache du crème de la section. */
.housing-applications .housing-grid > article { min-height: 190px; }
.housing-practical .housing-grid > article { background: rgb(255 255 255 / 45%); }

/* ═════════════════════ Le cadre de la grille des publics — 29 août 2026

   Cinq publics dans trois colonnes : la dernière ligne n'en compte que deux, et
   le bord bas restait ouvert sur 360 px (mesuré à 1440), 367 px à 768. Le cadre
   était dessiné par les cellules ; là où il n'y a pas de cellule, il n'y a pas
   de filet.

   LE CONTENEUR PORTE MAINTENANT TOUT LE CADRE, les cellules ne dessinent que
   les lignes INTÉRIEURES. D'où le nth-child : il sait, à chaque largeur,
   combien il y a de colonnes. Le cadre devient indifférent au nombre
   d'éléments — cinq, six ou sept, il se ferme.

   Boucher le trou par une cellule vide aurait marché à trois colonnes et raté à
   deux ; ajouter `border-bottom` au conteneur aurait doublé le filet sous les
   cellules pleines. */
.housing-grid--audiences { border: 1px solid var(--line); }
.housing-grid--audiences > li { border-right: 0; border-bottom: 0; }
/* Trois colonnes */
.housing-grid--audiences > li:not(:nth-child(3n)) { border-right: 1px solid var(--line); }
.housing-grid--audiences > li:nth-child(n+4)      { border-top: 1px solid var(--line); }
@media (max-width: 1000px) {
  /* Deux colonnes : les séparations changent de rythme. */
  .housing-grid--audiences > li:not(:nth-child(3n)) { border-right: 0; }
  .housing-grid--audiences > li:nth-child(n+4)      { border-top: 0; }
  .housing-grid--audiences > li:not(:nth-child(2n)) { border-right: 1px solid var(--line); }
  .housing-grid--audiences > li:nth-child(n+3)      { border-top: 1px solid var(--line); }
}
@media (max-width: 650px) {
  /* Une colonne : plus aucune séparation verticale. */
  .housing-grid--audiences > li:not(:nth-child(2n)) { border-right: 0; }
  .housing-grid--audiences > li:nth-child(n+3)      { border-top: 0; }
  .housing-grid--audiences > li:nth-child(n+2)      { border-top: 1px solid var(--line); }
}

/* ═══════════════════ Les deux parties du programme — 29 août 2026

   Le programme remis par Mathilde se lit en deux parties — le Feng Shui, puis
   la psychologie de l'habitat — suivies de deux bonus. L'en-tête de partie doit
   se distinguer d'un module sans devenir un titre de section : il est plus petit
   que les modules, en capitales espacées, et porte un filet doré qui n'existe
   nulle part ailleurs dans cette liste.

   IL NE PORTE PAS DE <h3>. Trois parties feraient trois titres de plus dans la
   hiérarchie de la page pour de simples intercalaires — le même travers que les
   cinq titres du pied de page, corrigés le matin même. */
.housing-program__partie {
  display: grid;
  gap: .15rem;
  margin: 2.2rem 0 .2rem;
  padding: 0 0 .7rem;
  border-bottom: 2px solid var(--gold);
}
.housing-program__partie:first-child { margin-top: 0; }
.housing-program__partie span {
  font: 700 var(--step--1)/1.3 var(--font-body);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold-text);
}
.housing-program__partie small { color: var(--muted); font-size: var(--step--1); }

/* Un bonus n'a pas de sujets : il se rend comme une ligne de la liste, au même
   rythme que les volets, mais sans la promesse d'un « + » qui n'ouvrirait rien. */
.housing-program__seul {
  display: grid;
  grid-template-columns: 7rem 1fr;
  align-items: center;
  gap: 1rem;
  margin: 0;
  padding: 1.15rem 3rem 1.15rem 0;
  border-bottom: 1px solid var(--line);
}
.housing-program__seul span { color: var(--terra-text); font-size: var(--step--1); font-weight: 600; }
.housing-program__seul strong { font: 700 var(--step-1)/1.35 var(--font-title); }

@media (max-width: 850px) {
  .housing-program__seul { grid-template-columns: 5rem 1fr; }
}
@media (max-width: 650px) {
  .housing-program__seul { grid-template-columns: 1fr; gap: .2rem; padding-right: 1rem; }
}
