.studio-motion {
  align-items: center;
  display: grid;
  gap: clamp(36px, 6vw, 88px);
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  padding-block: 88px 24px;
}

.studio-motion-visual {
  background:
    radial-gradient(circle at 75% 18%, rgba(230, 176, 185, 0.48), transparent 32%),
    linear-gradient(145deg, #123e3c, #285f5a 54%, #d7a4ad);
  border-radius: 42% 42% 18px 18px;
  box-shadow: 18px 20px 0 rgba(215, 164, 173, 0.28);
  isolation: isolate;
  min-height: 460px;
  overflow: hidden;
  position: relative;
}

.studio-threeui-root,
.studio-threeui-root > div,
.studio-threeui-ribbon,
.studio-threeui-ribbon > canvas {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.studio-threeui-root {
  mix-blend-mode: screen;
  opacity: 0.72;
  pointer-events: none;
  z-index: 0;
}

.studio-threeui-ribbon {
  background: transparent;
  overflow: hidden;
}

.studio-threeui-ribbon > canvas {
  display: block;
}

.studio-motion-wash {
  background: linear-gradient(110deg, rgba(11, 43, 42, 0.28), rgba(255, 244, 235, 0.05));
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.studio-motion-photo {
  background: #fffaf4;
  border: 8px solid #fffaf4;
  box-shadow: 0 20px 52px rgba(12, 31, 30, 0.28);
  margin: 0;
  overflow: hidden;
  position: absolute;
  z-index: 2;
}

.studio-motion-photo img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.studio-motion-photo--main {
  height: 72%;
  left: 23%;
  top: 13%;
  transform: rotate(-2.5deg);
  width: 48%;
}

.studio-motion-photo--left {
  bottom: 8%;
  height: 38%;
  left: 5%;
  transform: rotate(-7deg);
  width: 29%;
}

.studio-motion-photo--right {
  height: 36%;
  right: 5%;
  top: 9%;
  transform: rotate(6deg);
  width: 27%;
}

.studio-motion-copy h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5vw, 68px);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 0.98;
  margin: 18px 0 24px;
  text-wrap: balance;
}

.studio-motion-copy > p:not(.eyebrow) {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.7;
  margin: 0;
  max-width: 430px;
}

@media (max-width: 800px) {
  .studio-motion {
    gap: 34px;
    grid-template-columns: 1fr;
    padding-block: 64px 8px;
  }

  .studio-motion-copy {
    max-width: 620px;
  }
}

@media (max-width: 700px) {
  .studio-motion-visual {
    border-radius: 34% 34% 14px 14px;
    box-shadow: 10px 12px 0 rgba(215, 164, 173, 0.24);
    min-height: 330px;
  }

  .studio-threeui-root {
    display: none;
  }

  .studio-motion-photo {
    border-width: 5px;
  }

  .studio-motion-photo--main {
    height: 70%;
    left: 22%;
    top: 15%;
    width: 55%;
  }

  .studio-motion-photo--left {
    bottom: 6%;
    height: 34%;
    left: 4%;
    width: 31%;
  }

  .studio-motion-photo--right {
    height: 31%;
    right: 4%;
    top: 8%;
    width: 30%;
  }

  .studio-motion-copy h2 {
    font-size: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .studio-threeui-root {
    display: none;
  }
}
