/* Polyverse-only composition. The shared project framework stays in project.css. */

/* Polyverse's project header keeps only its placement override. */
.polyverse-meta {
  margin: 0 0 var(--project-eyebrow-space);
}

/* The Background image keeps the shared media frame, with a slightly shorter
 * crop that preserves the lower edge of the New York street scene. */
.polyverse-background-frame {
  aspect-ratio: 2 / 1;
}

.polyverse-background-frame > .project-media {
  object-position: center bottom;
}

.project-media {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.project-media--device {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
}

/* These four Polyverse slides use the same shared 16:9 carousel shell, but
 * the source artwork needs an explicit fit mode. Contained slides preserve
 * the full asset; the second Figo slide is the one intentional full-bleed
 * treatment. */
.polyverse-carousel-slide--contain .project-media-split__media {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: var(--project-device-padding-block);
  padding-inline: var(--project-device-padding-inline);
}

.polyverse-carousel-slide--contain .project-carousel__media-visual {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.polyverse-carousel-slide--cover .project-media-split__media {
  padding: 0;
}

.polyverse-carousel-slide--cover .project-carousel__media-visual {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
