/* Page le-lieu — chargé sur elle seule (repris de _generation/corps/le-lieu.css). */
/* ── Héro ─────────────────────────────────────────────────── */
.hero{ background:linear-gradient(180deg,var(--bleu-brume) 0%,var(--blanc) 100%); }
.hero__grille{ display:grid; gap:2.5rem; padding-block:2.5rem 3rem; align-items:center; }
@media (min-width:900px){ .hero__grille{ grid-template-columns:1fr 1fr; gap:4rem; padding-block:3.5rem 4rem; } }
.hero__surtitre{ font-size:.78rem; letter-spacing:.24em; text-transform:uppercase; color:var(--bleu-moyen); margin:0 0 1.25rem; }
.hero h1{ font-family:var(--serif); font-size:clamp(1.9rem,4.6vw,2.9rem); color:var(--bleu); margin-bottom:1.25rem; }
.hero__texte p{ margin:0 0 1rem; }
.hero__texte p:last-child{ margin-bottom:0; }
.hero__image{ position:relative; }
.hero__image img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:3px; }
.hero__image::after{
  content:""; position:absolute; inset:auto -14px -14px auto;
  width:55%; height:55%; border-right:1px solid var(--bleu-clair);
  border-bottom:1px solid var(--bleu-clair); z-index:-1;
}

/* ── Texte courant ────────────────────────────────────────── */
.texte{ max-width:68ch; margin-inline:auto; }
.texte h2{
  font-family:var(--serif); font-size:clamp(1.35rem,2.6vw,1.7rem);
  color:var(--bleu); margin:2.75rem 0 1rem;
}
.texte h2:first-child{ margin-top:0; }
.texte p{ margin:0 0 1.15rem; }
.texte p:last-child{ margin-bottom:0; }
.texte strong{ font-weight:500; color:var(--encre); }

/* ── Les quatre constituants ──────────────────────────────── */
.piliers{ display:grid; gap:1.25rem; max-width:68ch; margin:2rem auto 0; }
@media (min-width:600px){ .piliers{ grid-template-columns:repeat(2,1fr); } }
.pilier{
  background:var(--blanc); border:1px solid #e4eaec; border-left:2px solid var(--bleu-clair);
  border-radius:3px; padding:1.15rem 1.35rem;
}
.pilier__numero{ font-size:.72rem; letter-spacing:.2em; color:var(--bleu-moyen); margin:0 0 .25rem; }
.pilier h3{ font-family:var(--serif); font-size:1.1rem; color:var(--bleu); }

/* ── Les trois espaces ────────────────────────────────────── */
.espaces{ background:var(--bleu-brume); }
.espaces__grille{ display:grid; gap:2rem; }
@media (min-width:768px){ .espaces__grille{ grid-template-columns:repeat(3,1fr); } }
.espace{
  background:var(--blanc); border-radius:3px; overflow:hidden;
  display:flex; flex-direction:column;
}
.espace img{ width:100%; height:200px; object-fit:cover; }
.espace__corps{ padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.espace__nom{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--bleu-moyen); margin:0 0 .4rem; }
.espace h3{ font-family:var(--serif); font-size:1.25rem; color:var(--bleu); margin-bottom:.6rem; }
.espace p{ color:var(--gris); font-size:.95rem; margin:0 0 1.25rem; }
.espace .bouton{ margin-top:auto; align-self:flex-start; font-size:.88rem; padding:.7rem 1.35rem; }

/* ── L'équipe, en liste compacte ──────────────────────────── */
.equipe{ max-width:74ch; margin-inline:auto; }
.equipe__famille+.equipe__famille{ margin-top:2.5rem; }
.equipe__famille h3{
  font-family:var(--serif); font-size:1.25rem; color:var(--bleu);
  padding-bottom:.6rem; border-bottom:1px solid #e2e8ea; margin-bottom:.5rem;
}
.equipe ul{ list-style:none; margin:0; padding:0; }
.equipe li{ padding:.75rem 0; border-bottom:1px solid #f0f3f4; display:grid; gap:.15rem; }
@media (min-width:600px){ .equipe li{ grid-template-columns:14rem 1fr; gap:1.5rem; align-items:baseline; } }
.equipe__nom{ font-size:1.02rem; }
.equipe__discipline{ color:var(--gris); font-size:.93rem; }
.equipe-etat{ color:var(--gris); margin:0; }

/* ── Appel de fin ─────────────────────────────────────────── */
.appel{ text-align:center; }
.appel h2{ font-family:var(--serif); font-size:1.6rem; color:var(--bleu); margin-bottom:.75rem; }
.appel p{ color:var(--gris); max-width:52ch; margin:0 auto 1.75rem; }
