/* One continuous surface from the portfolio monitor into the live 3D room. */
body.studio-in-flight {
  overflow: hidden !important;
}
body.studio-in-flight > .studio-pointer-dot,
body.studio-in-flight > .studio-pointer-halo {
  display: none;
}
html.studio-pointer-on body.studio-in-flight .studio-flight-controls button {
  cursor: pointer !important;
}
.studio-flight {
  position: fixed;
  inset: 0;
  z-index: 21000;
  background: var(--page);
  isolation: isolate;
}
.studio-flight-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  opacity: 0;
  pointer-events: none;
}
.studio-flight-frame.is-visible {
  opacity: 1;
}
.studio-flight[data-phase="complete"] .studio-flight-frame {
  pointer-events: auto;
}
.studio-flight-visual {
  position: absolute;
  inset: 0;
  overflow: hidden;
  perspective: 1400px;
  pointer-events: none;
}
.studio-flight-computer {
  position: absolute;
  margin: 0;
  aspect-ratio: auto;
  transform-origin: 50% 50%;
}
.studio-flight-controls {
  position: absolute;
  z-index: 2;
  bottom: 25px;
  left: 20px;
  right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font: 400 13px/1.5 var(--font-sans);
}
.studio-flight-controls p:empty {
  display: none;
}
.studio-flight-controls p {
  padding: 9px 14px;
  background: rgba(245, 245, 245, 0.88);
  border-radius: 20px;
  margin: 0;
}
.studio-flight-controls button {
  border: 1px solid #13141726;
  border-radius: 30px;
  padding: 9px 16px;
  background: rgba(245, 245, 245, 0.88);
  color: #131417;
}
.studio-flight-controls button:hover {
  color: white;
  background: var(--hover-bg);
}
.studio-flight[data-phase="room-reveal"] .studio-flight-controls {
  opacity: 0.65;
}
body.studio-arriving > header,
body.studio-arriving > footer,
body.studio-arriving .drawer-access {
  opacity: 0 !important;
  pointer-events: none;
}
body.studio-only > header,
body.studio-only > footer {
  transition: opacity 0.6s ease;
}
body.studio-arriving #world-pages {
  transform: scale(1.04);
  transform-origin: 50% 50%;
}
.studio-arrival-quote {
  pointer-events: none;
  border-radius: 0;
  overflow: hidden;
}
@media (max-width: 760px) {
  body.studio-arriving #world-pages {
    transform: scale(1.05);
  }
}
