/* Photos originales BMP : légendes, comparaisons et vues de chantier. */
.gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.gallery-project { min-width: 0; margin: 0; }
.gallery-project > figcaption { margin-top: 14px; color: var(--ink); font-weight: 600; font-size: 15px; }
.ba-card:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
.chantier-section { padding: clamp(48px, 7vw, 96px) 0; }
.chantier-section--soft { background: var(--bg-soft); }
.chantier-section .section-head > p { max-width: 760px; }
.chantier-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.chantier-pair--portrait { max-width: 900px; margin-inline: auto; }
.chantier-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.chantier-photo { margin: 0; min-width: 0; }
.chantier-photo > a { display: block; border-radius: var(--radius-lg); overflow: hidden; background: var(--line); }
.chantier-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.chantier-grid .chantier-photo:last-child img { object-position: center top; }
.chantier-photo--portrait img { aspect-ratio: 3 / 4; }
.chantier-photo figcaption { font-size: 14px; line-height: 1.5; color: var(--ink-2); margin-top: 13px; }
.chantier-photo a:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.chantier-feature { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(28px, 6vw, 80px); align-items: center; }
.chantier-feature__text { min-width: 0; }
.chantier-feature__text h2 { margin: 14px 0 20px; }
.chantier-feature__text p { color: var(--ink-2); line-height: 1.7; margin-bottom: 28px; }
.chantier-more { text-align: center; margin-top: 28px; }
.chantier-more a { color: var(--blue); font-weight: 600; }
@media (max-width: 760px) {
  .gallery__grid, .chantier-feature, .chantier-grid { grid-template-columns: 1fr; }
  .gallery__grid { gap: 30px; }
  .chantier-pair { gap: 12px; }
  .chantier-pair .chantier-photo > a { border-radius: var(--radius); }
  .chantier-pair .chantier-photo figcaption { font-size: 12px; }
  .chantier-feature { gap: 28px; }
  .chantier-feature .btn { white-space: normal; text-align: center; }
  .chantier-feature__text h2 { font-size: 30px; }
  .chantier-grid { gap: 30px; }
}
@media (max-width: 360px) {
  .section-divider__label { flex-shrink: 1; white-space: normal; text-align: center; }
  .page-hero h1 { font-size: 36px; }
}
