/* The photograph and architecture share one raster-registered 16:9 world.
   No independent portrait parallax: move the camera, never the mounted screen. */
body.night-city #city-arrival > .city-scenery { visibility: hidden; }
body.night-city #city-arrival { background:#040b0e; }
body.night-city #city-arrival > .city-arrival-sign { z-index:3; }
body.night-city #ltBlock2217031472 { overflow:hidden; }
body.night-city #ltBlock2217031472 .my-container {
  position:relative; isolation:isolate; display:grid!important;
  grid-template-columns:minmax(0,1fr); min-height:clamp(660px,calc(100svh - 121px),790px);
  max-width:none!important; padding:38px max(40px,calc((100vw - 1248px)/2)) 70px!important;
}
body.night-city #ltBlock2217031472 #builder7637299 {
  position:relative; z-index:2; width:50%!important; max-width:640px!important;
  padding:12px 0!important; margin:0!important;
}
body.night-city #ltBlock2217031472 .gold-title { font-size:clamp(40px,4.3vw,64px)!important; }
body.night-city #ltBlock2217031472 #aff914eef0 { max-width:530px; }
#city-arrival .hero-building-viewport {
  position:absolute; inset:0; z-index:0; overflow:hidden;
  pointer-events:none; background:#040b0e;
}
#city-arrival .hero-building-stage {
  position:absolute; width:max(100%,1400px); aspect-ratio:1672 / 941;
  top:50%; left:50%;
  background:url('./assets/city/hero-billboard-building.webp') center / 100% 100% no-repeat;
  transform:translate(-50%,-50%) translate3d(var(--hero-pan-x,0px),var(--hero-pan-y,0px),0) scale(1.018);
  transform-origin:70% 50%;
}
#city-arrival .hero-building-stage.is-camera-ready {
  transition:transform .75s cubic-bezier(.2,.65,.3,1);
}
#city-arrival .hero-building-viewport::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,#030a0de6 0%,#030a0dcc 28%,#030a0d6b 43%,transparent 62%),linear-gradient(0deg,#040b0e,transparent 16%);
}
/* Raster inner screen corners: (1021,120), (1386,110), (1387,738), (1021,735).
   The photograph fills this quadrilateral; the physical frame belongs to the raster. */
body.night-city #ltBlock2217031472 #builder8730760 {
  position:absolute; left:61.06459%; top:11.68969%; width:21.88995%!important; height:66.73751%;
  clip-path:polygon(0 1.59236%,99.72678% 0,100% 100%,0 99.52229%);
  max-width:none!important; margin:0!important; padding:0!important;
  transform:none; transform-origin:0 0; border:0!important; outline:0;
  background:#051014; box-shadow:none; overflow:hidden; animation:none!important;
}
body.night-city #ltBlock2217031472 #builder8730760::before { content:none!important; }
body.night-city #ltBlock2217031472 #builder8730760::after {
  content:''; position:absolute; inset:0; border:0; padding:0;
  background:repeating-linear-gradient(0deg,transparent 0 2px,#06282f20 2px 3px);
  mix-blend-mode:multiply; opacity:.32; pointer-events:none;
}
body.night-city #ltBlock2217031472 #a5cda723b3,
body.night-city #ltBlock2217031472 #image6279094 {
  position:absolute; inset:0; width:100%!important; height:100%!important;
  margin:0!important; padding:0!important;
}
body.night-city #ltBlock2217031472 #image6279094 img {
  display:block!important; width:100%!important; height:100%!important;
  max-height:none!important; max-width:none!important;
  object-fit:cover!important; object-position:12% 50%!important;
  border-radius:0!important; transform:none!important; filter:none!important;
}
@media(min-width:1800px) {
  body.night-city #ltBlock2217031472 .my-container { min-height:46vw; }
}
@media(max-width:1000px) {
  body.night-city #ltBlock2217031472 .my-container {
    display:flex!important; flex-direction:column; align-items:stretch;
    min-height:0; padding:30px 0 0!important; gap:0;
  }
  body.night-city #ltBlock2217031472 #builder7637299 {
    width:auto!important; max-width:640px!important;
    margin:0 32px 20px!important; padding:0!important;
  }
  body.night-city #ltBlock2217031472 .gold-title { font-size:clamp(40px,7.2vw,64px)!important; }
  #city-arrival .hero-building-viewport {
    position:relative; flex:none; width:100%; height:min(115vw,730px); margin:0;
  }
  #city-arrival .hero-building-stage {
    width:max(205%,1160px); left:50%; top:48%;
    transform:translate(-72%,-50%) translate3d(var(--hero-pan-x,0px),var(--hero-pan-y,0px),0) scale(1.018);
  }
  #city-arrival .hero-building-viewport::after {
    background:linear-gradient(180deg,#040b0e,transparent 12%,transparent 84%,#040b0e);
  }
}
@media(max-width:520px) {
  body.night-city #ltBlock2217031472 #builder7637299 { margin:0 22px 10px!important; }
  body.night-city #ltBlock2217031472 .gold-title { font-size:clamp(34px,9.5vw,48px)!important; }
  #city-arrival .hero-building-viewport { height:151vw; max-height:720px; }
  #city-arrival .hero-building-stage { width:270%; }
}
@media(prefers-reduced-motion:reduce) {
  #city-arrival .hero-building-stage { transition:none; --hero-pan-x:0px!important; --hero-pan-y:0px!important; }
}
