/* Extension limitée au hero #presentation. Le thème et le menu restent ceux du site. */
#presentation.home-hero--mosaic {
  isolation: isolate;
  padding-bottom: 0;
  color: #fff;
  background: var(--navy, #0f172a);
}
#presentation.home-hero--mosaic .hero-banner {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  pointer-events: none;
}
#presentation.home-hero--mosaic .hero-mosaic {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 5px;
  overflow: hidden;
}
#presentation.home-hero--mosaic .hero-mosaic img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: cover;
  object-position: center 40%;
}
#presentation.home-hero--mosaic .hero-mosaic img:nth-child(2) { object-position: center 46%; }
#presentation.home-hero--mosaic .hero-mosaic img:nth-child(4) { object-position: center 38%; }
#presentation.home-hero--mosaic .hero-mosaic img:nth-child(6) { object-position: center 34%; }
#presentation.home-hero--mosaic .hero-shade {
  background: linear-gradient(90deg, rgba(7,13,26,.9) 0%, rgba(7,13,26,.82) 42%, rgba(7,13,26,.6) 70%, rgba(7,13,26,.28) 100%), linear-gradient(0deg, rgba(7,13,26,.4), transparent 65%);
}
#presentation.home-hero--mosaic .hero-compact {
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: clamp(1.25rem, 3vw, 2.5rem);
  row-gap: 1.25rem;
  align-content: center;
  align-items: start;
  min-height: clamp(28rem, 39vw, 35rem);
  margin-top: 0;
  padding-block: clamp(3rem, 6vw, 5rem);
}
#presentation.home-hero--mosaic .hero-avatar {
  grid-row: 1 / span 2;
  margin-top: .25rem;
}
#presentation.home-hero--mosaic .hero-copy { max-width: 750px; padding-bottom: 0; }
#presentation.home-hero--mosaic .hero-copy h1 { max-width: 750px; color: #fff; }
#presentation.home-hero--mosaic .hero-lead { max-width: 660px; color: #eef2f7; }
#presentation.home-hero--mosaic .hero-actions {
  grid-column: 2;
  justify-content: flex-start;
  gap: .75rem 1.5rem;
  padding: 0;
}
#presentation.home-hero--mosaic .hero-text-link { color: #fff; }
#presentation.home-hero--mosaic .hero-text-link span { color: #fdba74; }
@media (max-width: 1020px) {
  #presentation.home-hero--mosaic .hero-compact { min-height: 27rem; }
}
@media (max-width: 760px) {
  #presentation.home-hero--mosaic .hero-mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 4px;
  }
  #presentation.home-hero--mosaic .hero-mosaic img:nth-child(n+7) { display: none; }
  #presentation.home-hero--mosaic .hero-shade {
    background: linear-gradient(90deg, rgba(7,13,26,.86), rgba(7,13,26,.65)), linear-gradient(0deg, rgba(7,13,26,.5), transparent 80%);
  }
  #presentation.home-hero--mosaic .hero-compact {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 1.25rem;
    min-height: 0;
    padding-block: 2.5rem;
  }
  #presentation.home-hero--mosaic .hero-avatar { grid-row: auto; margin-top: 0; }
  #presentation.home-hero--mosaic .hero-copy h1 { max-width: 22ch; line-height: 1.1; }
  #presentation.home-hero--mosaic .hero-lead { max-width: 50ch; line-height: 1.65; }
  #presentation.home-hero--mosaic .hero-actions { grid-column: 1; gap: .5rem 1.25rem; }
}
