/* The weave spans the viewport. No strand belongs to an individual word. */
.studio-room .topic-energy { display: none; }
.studio-word-weave {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100vw;
  height: 100dvh;
  transform: translate(-50%, -50%);
  pointer-events: none;
  display: block;
}
.studio-word-weave--back { z-index: 0; }
.studio-room .studio-topic { z-index: 1; }
.studio-topic h3 { color: #fff; text-shadow: 0 2px 20px #0008; }
.studio-room .topic-copy { text-shadow: 0 2px 12px #000; }
.studio .studio-topline > a,
.studio .studio-topline h2,
.studio .topic-copy h4 {
  font-family: 'Sora', sans-serif;
  font-weight: 600;
  letter-spacing: -.025em;
}

/* Reserve room for the label and supporting copy in shallow desktop windows. */
@media (min-width: 701px) and (min-height: 541px) and (max-height: 700px) {
  .studio-topic h3 { font-size: min(12.6vw, 22dvh); }
}

/* Short portrait screens need content-led spacing: an absolute word center
   otherwise collides with the longer two-line support heading. */
@media (max-width: 700px) and (orientation: portrait) and (max-height: 660px) {
  .studio-room .studio-topic {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
  }
  .studio-room .topic-label,
  .studio-room .studio-topic h3,
  .studio-room .topic-copy {
    position: static;
    transform: none;
    margin: 0;
  }
  .studio-room .topic-copy h4 { margin-bottom: 10px; }
}
