/* Ajouts ciblés : couleurs et typographie héritées du site. */
.engagements-2025 { padding-bottom: 0; }
.engagement-case { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; padding-block: 2.5rem; border-top: 1px solid var(--line); }
.engagement-case-media { min-width: 0; margin: 0; }
.engagement-case-media > img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.engagement-case-media figcaption { margin-top: .75rem; color: var(--muted); font-size: .75rem; }
.engagement-case-copy { min-width: 0; }
.engagement-case-copy h3 { margin: 0; font-size: clamp(1.5rem, 2.75vw, 2.4rem); line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
.engagement-case-role { color: var(--orange-dark); font-size: .85rem; font-weight: 750; }
.engagement-case-copy > p:not([class]) { color: var(--muted); }
.engagement-case-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 .75rem; padding-block: 1rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.engagement-case-stats dt { color: var(--navy); font-size: clamp(1.35rem, 2.3vw, 1.85rem); font-weight: 850; line-height: 1.2; }
.engagement-case-stats dd { margin: .5rem 0 0; font-size: .8rem; line-height: 1.4; color: var(--muted); }
.engagement-case-note { margin: .75rem 0 1.5rem; font-size: .72rem; color: var(--muted); }
.engagement-case-gallery { display: grid; gap: .5rem; overflow: hidden; border-radius: var(--radius); background: var(--navy); }
.engagement-case-gallery figure { position: relative; margin: 0; min-width: 0; }
.engagement-case-gallery img { display: block; width: 100%; height: auto; border-radius: 0; aspect-ratio: 3 / 2; object-fit: cover; }
.engagement-case-gallery figcaption { position: absolute; inset: auto auto .75rem .75rem; margin: 0; padding: .25rem .65rem; border-radius: .5rem; color: var(--white); background: var(--navy); font-size: .75rem; }
.site-mission-mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; border-radius: var(--radius); overflow: hidden; }
.site-mission-mosaic figure { position: relative; margin: 0; min-width: 0; overflow: hidden; background: var(--navy); }
.site-mission-mosaic img { display: block; width: 100%; height: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.site-mission-mosaic figure:first-child { grid-column: 1 / -1; }
.site-mission-mosaic figure:first-child img { aspect-ratio: 16 / 10; object-position: 50% 55%; }
.site-mission-mosaic figure:nth-child(2) img { object-position: 20% 50%; }
.site-mission-mosaic figure:last-child img { object-position: 50% 65%; }
.site-mission-mosaic figcaption { position: absolute; inset: auto 0 0; margin: 0; padding: .65rem .75rem; color: var(--white); background: var(--navy); font-size: .7rem; line-height: 1.4; font-weight: 700; }
.site-mission-references { margin: 1.5rem 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.site-mission-references li { display: grid; gap: .25rem; padding-block: .8rem; border-bottom: 1px solid var(--line); }
.site-mission-references strong { color: var(--navy); font-size: .9rem; }
.site-mission-references span { color: var(--muted); font-size: .85rem; line-height: 1.5; }
.experience-card--sans-photo .experience-placeholder, .experience-card--sans-photo .experience-overlay { display: none; }
.experience-card--sans-photo { border: 1px solid var(--line); }
.experience-card--sans-photo .experience-content { position: relative; inset: auto; padding: 2rem 1.35rem; }
.experience-card--sans-photo .experience-content::before { content: ""; display: block; width: 3rem; height: .25rem; margin-bottom: 3rem; background: var(--orange); }
@media (max-width: 767px) {
  .engagement-case { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; padding-block: 2rem; }
  .engagement-case-gallery { gap: .5rem; }
}
@media (max-width: 359px) {
  .engagement-case-stats { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .engagement-case-stats > div { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: .5rem; align-items: center; }
  .engagement-case-stats dd { margin: 0; }
}
