.device-stage {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: var(--mint);
}

.device-sun {
  position: absolute;
  top: 12%;
  right: 11%;
  width: 150px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--gold);
}

.device {
  position: absolute;
  z-index: 2;
  filter: drop-shadow(0 28px 34px rgba(20, 50, 40, .2));
}

.device-screen {
  overflow: hidden;
  background: #fff;
}

.device-screen img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.device-laptop {
  top: 18%;
  left: 7%;
  width: 78%;
}

.device-laptop .device-screen {
  aspect-ratio: 16 / 9;
  padding: 9px;
  border: 8px solid #263630;
  border-bottom-width: 18px;
  border-radius: 10px 10px 3px 3px;
}

.device-laptop .device-screen img {
  object-position: left top;
}

.laptop-base {
  width: 112%;
  height: 15px;
  margin-left: -6%;
  border-radius: 2px 2px 14px 14px;
  background: #d8dedb;
  box-shadow: inset 0 3px 0 rgba(255, 255, 255, .75);
}

.device-tablet {
  right: 3%;
  bottom: 7%;
  width: 49%;
}

.device-tablet .device-screen {
  aspect-ratio: 4 / 3;
  padding: 10px;
  border: 8px solid #22322d;
  border-radius: 16px;
}

.device-tablet .device-screen img {
  object-position: center top;
}

.device-phone {
  left: 8%;
  bottom: -4%;
  width: 24%;
}

.device-phone .device-screen {
  aspect-ratio: 750 / 1320;
  border: 7px solid #21312c;
  border-radius: 22px;
}

.device-phone .device-screen img {
  height: auto;
  transform: translateY(-1.5%);
}

@media (max-width: 980px) {
  .device-stage { min-height: 680px; }
  .device-laptop { top: 11%; }
  .device-tablet { bottom: 8%; }
}

@media (max-width: 640px) {
  .device-stage { min-height: 530px; }
  .device-sun { width: 96px; }
  .device-laptop { top: 15%; left: 4%; width: 88%; }
  .device-tablet { right: 1%; bottom: 8%; width: 54%; }
  .device-phone { left: 4%; bottom: -3%; width: 29%; }
  .device-laptop .device-screen { padding: 5px; border-width: 5px; border-bottom-width: 12px; }
  .device-tablet .device-screen { padding: 5px; border-width: 5px; border-radius: 10px; }
  .device-phone .device-screen { border-width: 5px; border-radius: 16px; }
}
