.scene-character {
  display: none !important;
}

.scene-background {
  filter: none;
}

.scene {
  background:
    radial-gradient(ellipse at 68% 52%, rgba(8, 34, 43, .38), transparent 58%),
    linear-gradient(90deg, #031019 0%, #031019 48%, #061722 100%);
}

.scene-canvas {
  right: auto;
  left: 50%;
  width: min(100%, calc(100svh * 1.7787234));
  transform: translate(-50%, -50%);
}

.contact-hit-canvas {
  position: absolute;
  z-index: 4;
  top: 50%;
  right: auto;
  left: 50%;
  width: min(100%, calc(100svh * 1.7787234));
  aspect-ratio: 1672 / 940;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.contact-board {
  top: 25.5%;
  right: auto;
  left: 84.9%;
  width: 12.2%;
  height: 23.5%;
  aspect-ratio: auto;
  pointer-events: none;
}

.doorway-hotspot {
  position: absolute;
  z-index: 2;
  top: 21%;
  left: 64.5%;
  width: 9%;
  height: 17%;
  border-radius: 42% 42% 18% 18%;
  pointer-events: auto;
}

.doorway-hotspot:hover,
.doorway-hotspot:focus-visible {
  background: transparent;
  box-shadow: none;
  outline: none;
}

.contact-board-hotspot {
  position: absolute;
  z-index: 2;
  left: 0;
  width: 100%;
  height: 46%;
  border-radius: 8px;
  pointer-events: auto;
}

.contact-board-hotspot:hover,
.contact-board-hotspot:focus-visible {
  background: transparent;
  box-shadow: none;
  outline: none;
}

.contact-board-map {
  top: 0;
}

.contact-board-whatsapp {
  top: 48.5%;
}

/* A tall desktop window must fill the viewport height. Because the scene is
   right-aligned, the necessary crop comes only from the dark copy area. */
@media (min-width: 901px) and (max-aspect-ratio: 1672 / 940) {
  .scene-canvas,
  .contact-hit-canvas {
    width: max(100%, calc(100svh * 1.7787234));
  }
}

/* Keep the copy inside the same centered 1672:940 design canvas. A regular
   16:9 monitor fills the viewport; an ultrawide monitor receives equal side
   margins, matching the catalogue laboratory. */
@media (min-width: 901px) {
  .hero-content {
    width: min(620px, 42vw);
    margin-left: max(40px, calc(50vw - min(50vw, 88.93617svh) + 40px));
    padding-left: 0;
  }
}
