/* Homepages only. Preserve all existing rules below the desktop breakpoint. */
@media (min-width: 1024px) {
  html { zoom: 0.5; }

  /* Camera positions use viewport coordinates from getBoundingClientRect().
     Cancel document zoom for the fixed overlay to keep that coordinate system. */
  .gallery-camera { zoom: 2; }

  /* The scene clone is outside .building-home. Restore its query container
     so cqw-based lettering and floor offsets follow the 700px scene,
     rather than falling back to the full browser viewport. */
  .gallery-camera-scene { container-type: inline-size; }

  /* Counter the document zoom for viewport-wide scenery, not the building. */
  .street-surround { width: 200vw; height: 117.79vw; bottom: max(700px, 66.6667vw); background-image: url('/street-surround-v2-r1-1536.webp'); }
  .subway-station { width: 200vw; height: max(700px, 66.6667vw); max-height: none; }
  .subway-backdrop { display: none; }
  .subway-station::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: #151917 url('/subway-continuous-v2.webp') center bottom / cover no-repeat;
  }
  .subway-track {
    --train-span: max(clamp(1500px,270vw,3780px),calc(100vw + 500px));
    width: calc(var(--train-span) + 400vw + 160px);
    min-width: 0;
  }
  /* Keep the wheels on the rails as the uncropped panorama grows. */
  .subway-train { width: var(--train-span); left: calc(200vw + 80px); bottom: calc(16% - clamp(89px, 16.02vw, 224.28px)); }
  .gallery-camera .street-surround { width: 100vw; height: 58.895vw; bottom: clamp(330px,50cqw,700px); }
  body > footer { background: #151917; color: #ddd4bf; }
  body > footer a { color: inherit; }
}
