/* Conseil municipal · présentation éditoriale premium */
.conseil-page{
  background:#faf9f6;
  color:#000000;
  padding:78px 28px 115px;
}
.conseil-wrap{
  width:100%;
  max-width:1180px;
  margin:0 auto;
}
.conseil-intro{
  max-width:900px;
  margin:0 auto 82px;
  font-size:18px;
  line-height:1.75;
  color:#000000;
}
.conseil-intro p:last-child{margin-bottom:0}
.conseil-section{margin-top:86px}
.conseil-section:first-of-type{margin-top:0}
.conseil-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding-bottom:19px;
  margin-bottom:34px;
  border-bottom:1px solid #d9ddd8;
}
.conseil-section-head span{
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#000000;
}
.conseil-section-head h2{
  margin:0;
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(38px,4vw,58px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.025em;
  text-align:right;
}
.conseil-maire{
  display:grid;
  grid-template-columns:minmax(290px,390px) minmax(0,1fr);
  gap:clamp(45px,7vw,100px);
  align-items:center;
}
.conseil-maire-portrait{
  aspect-ratio:4/5;
  min-height:430px;
}
.conseil-maire-copy{max-width:620px}
.conseil-role-kicker{
  display:block;
  margin-bottom:16px;
  color:#000000;
  font-size:11px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.conseil-maire-copy h3{
  margin:0;
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(48px,5.5vw,78px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.035em;
}
.conseil-maire-copy p{
  max-width:430px;
  margin:0;
  color:#000000;
  font-size:14px;
  line-height:1.7;
}
.conseil-rule{
  width:72px;
  height:1px;
  margin:28px 0 24px;
  background:#000000;
}
.conseil-portrait{
  position:relative;
  overflow:hidden;
  background:#e9e8e1;
}
.conseil-portrait img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.conseil-portrait-placeholder{
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#213f49,#17333d);
  color:#fff;
}
.conseil-portrait-placeholder span{
  color:#fff!important;
}
.conseil-portrait-placeholder span{
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(42px,5vw,72px);
  letter-spacing:-.04em;
  opacity:.88;
}
.conseil-grid{
  display:grid;
  gap:34px 28px;
}
.conseil-grid-adjoints{grid-template-columns:repeat(3,minmax(0,1fr))}
.conseil-profile{
  min-width:0;
  border-top:1px solid #d9ddd8;
  padding-top:16px;
}
.conseil-profile>.conseil-portrait{
  width:100%;
  aspect-ratio:4/5;
  margin-bottom:20px;
}
.conseil-profile-copy h3{
  margin:0 0 7px;
  font-family:Montserrat,Arial,sans-serif;
  font-size:29px;
  line-height:1.08;
  font-weight:400;
  letter-spacing:-.02em;
}
.conseil-profile-copy p{
  margin:0;
  color:#000000;
  font-size:12px;
  line-height:1.55;
}
.conseil-grid-conseillers{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 34px;
}
.conseil-profile-compact{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:18px;
  align-items:center;
  min-height:128px;
  padding:18px 0;
  border-top:1px solid #d9ddd8;
}
.conseil-profile-compact>.conseil-portrait{
  width:82px;
  height:96px;
  aspect-ratio:auto;
  margin:0;
}
.conseil-profile-compact .conseil-portrait-placeholder span{font-size:29px}
.conseil-profile-compact .conseil-profile-copy h3{
  font-size:23px;
  margin-bottom:5px;
}
.conseil-empty{
  padding:30px 0;
  border-top:1px solid #d9ddd8;
  color:#000000;
}
@media(max-width:900px){
  .conseil-page{padding:62px 28px 92px}
  .conseil-maire{grid-template-columns:1fr;gap:35px}
  .conseil-maire-portrait{width:min(100%,520px);min-height:0}
  .conseil-grid-adjoints{grid-template-columns:repeat(2,minmax(0,1fr))}
  .conseil-grid-conseillers{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .conseil-page{padding:48px 20px 74px}
  .conseil-intro{font-size:14px;line-height:1.7;margin-bottom:58px}
  .conseil-section{margin-top:64px}
  .conseil-section-head{display:block;margin-bottom:26px}
  .conseil-section-head span{display:block;margin-bottom:10px}
  .conseil-section-head h2{text-align:left;font-size:40px}
  .conseil-maire-copy h3{font-size:52px}
  .conseil-grid-adjoints,.conseil-grid-conseillers{grid-template-columns:1fr}
  .conseil-grid-adjoints{gap:38px}
  .conseil-profile-copy h3{font-size:27px}
  .conseil-profile-compact{grid-template-columns:72px minmax(0,1fr);gap:15px;min-height:112px}
  .conseil-profile-compact>.conseil-portrait{width:72px;height:86px}
  .conseil-profile-compact .conseil-profile-copy h3{font-size:22px}
}
