.review-stage {
  position: relative;
  min-height: min(68vh, 660px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: linear-gradient(145deg, rgba(19, 43, 74, 0.72), rgba(13, 35, 64, 0.54));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.26);
}

.review-stage img {
  position: absolute;
  left: var(--x, 8%);
  top: var(--y, 12%);
  z-index: var(--z, 1);
  width: min(44vw, 620px);
  max-height: 34vh;
  object-fit: contain;
  opacity: 0;
  background: #fff;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
  transform: translateY(18px) rotate(var(--rot, 0deg)) scale(var(--scale, 1));
}

.review-stage.visible img {
  animation: review-in 620ms ease forwards;
  animation-delay: var(--delay, 0ms);
}

@keyframes review-in {
  from {
    opacity: 0;
    transform: translateY(28px) rotate(var(--rot, 0deg)) scale(calc(var(--scale, 1) * 0.96));
  }

  to {
    opacity: 1;
    transform: translateY(0) rotate(var(--rot, 0deg)) scale(var(--scale, 1));
  }
}

@media (max-width: 900px) {
  .review-stage {
    min-height: 760px;
  }

  .review-stage img {
    width: min(78vw, 560px);
    max-height: 25vh;
  }
}
