/* HTML image dimensions reserve space; CSS must retain the artwork's proportions. */
.material-stage .sculpture-row > img,
#p50 .art-line > img {
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  min-width: 0;
}

.portrait-duo > img,
.campaign-board > img,
#visuel-lancement-app .application-media > img,
#visuel-lancement-app ~ .section .application-media > img {
  height: auto;
}

@media (max-width: 760px) {
  #visuel-lancement-app,
  #visuel-lancement-app ~ .section {
    min-height: 0;
    scroll-margin-top: 80px;
  }

  #visuel-lancement-app:not(.v8-page) > .section-body,
  #visuel-lancement-app ~ .section:not(.v8-page) > .section-body {
    min-height: 0;
    padding: 48px 24px 56px;
    gap: 24px;
  }

  /* The fixed page control already carries this decorative folio on mobile. */
  #visuel-lancement-app > .folio,
  #visuel-lancement-app ~ .section > .folio {
    display: none;
  }

  #visuel-lancement-app ~ .section .portrait-duo > img:nth-child(2) {
    margin-top: 24px;
  }

  #visuel-lancement-app ~ .material-stage .sculpture-row {
    margin: 24px 0;
  }

  #visuel-lancement-app ~ #p50 .design-family {
    gap: 32px;
  }

  #visuel-lancement-app ~ #p50 .font-line {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  #visuel-lancement-app ~ #p50 .font-line span {
    font-size: clamp(40px, 12vw, 58px);
  }
}
