/* Owner12965: aspect-safe hero, width-anchored continuous city, quiet ambient light. */
@media (min-width: 1200px) {
  body.night-city.night-unified .hero {
    /* A tall browser must not turn a landscape frame into a portrait crop.
       Copy remains in normal flow and can grow the section when zoomed. */
    min-height: min(max(740px, 100svh), 1100px, calc(64px + 100vw * 941 / 1672));
  }
  body.night-city.night-unified .hero-media img {
    object-fit: contain;
    object-position: right center;
  }
}

body.night-unified .site-atmosphere {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  /* Width-scaled fallback when scripts are disabled. */
  background: url("assets/red-teal/unified-city.webp") center top / 100% auto repeat-y #070b0e;
}
body.night-unified .site-atmosphere[data-tiled] { background: #070b0e; }
body.night-unified .site-atmosphere .atmosphere-tile {
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 1672 / 941;
  background: url("assets/red-teal/unified-city.webp") center / 100% 100% no-repeat;
}
body.night-unified .site-atmosphere .atmosphere-tile:nth-child(even) {
  /* Adjacent mirrored edges share the exact same pixels: no hard repeat seam. */
  transform: scaleY(-1);
}
body.night-unified .site-atmosphere::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(7, 11, 14, .12);
}

.cursor-halo {
  width: clamp(760px, 80vmax, 1500px);
  height: clamp(760px, 80vmax, 1500px);
  background: radial-gradient(circle,
    rgba(92, 224, 218, .045) 0%,
    rgba(92, 224, 218, .035) 24%,
    rgba(92, 224, 218, .018) 46%,
    rgba(92, 224, 218, 0) 72%);
  transition: opacity 650ms ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .cursor-halo { transition: none; }
}
