.lh-mag.night-feature {
  --night-ink: #292325;
  --night-accent: #632b3c;
}
.night-feature .night-hero { text-align: center; padding-block: clamp(3rem,8vw,7rem) 1rem; }
.night-feature .night-hero h1 { max-width: 16ch; margin-inline: auto; text-wrap: balance; }
.night-feature .night-hero .hero-lede { max-width: 49ch; margin-inline: auto; text-wrap: pretty; }
.night-feature .night-copy { min-width: 0; color: var(--night-ink); }
.night-feature .night-copy h2 {
  font: 400 clamp(2.1rem,4vw,4.2rem)/1.03 MadeMirage, Georgia, serif;
  text-wrap: balance;
  margin: 0 0 1.4rem;
}
.night-feature .night-copy p { margin: 0 0 1.2rem; font-size: clamp(1rem,1.35vw,1.18rem); line-height: 1.7; }
.night-feature .night-copy p:last-child { margin-bottom: 0; }
.night-feature :is(.night-intro,.night-end) { max-width: 72ch; margin: auto; padding: clamp(2.8rem,6vw,6rem) 1.5rem; }
.night-feature .night-intro p:first-child {
  font-family: MadeMirage, Georgia, serif;
  font-size: clamp(1.35rem,2.6vw,2.2rem);
  line-height: 1.35;
}
.night-feature .night-spread {
  width: min(1320px, 90%);
  margin: auto;
  padding-block: clamp(2.6rem,6vw,6.5rem);
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
  gap: clamp(2rem,7vw,8rem);
  align-items: center;
}
.night-feature .night-dining { grid-template-columns: minmax(0,1fr) minmax(0,450px); }
.night-feature .night-tower { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); }
.night-feature .night-suite { background: #eee4db; box-shadow: 0 0 0 100vmax #eee4db; clip-path: inset(0 -100vmax); }
.night-feature .night-photo { min-width: 0; margin: 0; }
.night-feature .night-frame { overflow: hidden; background: #ded3c8; }
.night-feature .night-frame img {
  width: 100%; height: 100%; display: block; object-fit: cover;
  transform: translateY(var(--night-shift, 0%)) scale(var(--night-scale, 1));
}
.night-feature .night-dining .night-frame { aspect-ratio: 3 / 2; }
.night-feature .night-tower .night-frame { aspect-ratio: 5 / 4; }
.night-feature .night-suite .night-frame { aspect-ratio: 4 / 5; }
.night-feature .night-photo figcaption { margin-top: .65rem; color: #665555; font-size: .88rem; }
.night-feature .night-panorama .night-frame {
  height: clamp(18rem,55vw,76svh);
  clip-path: inset(0 var(--night-inset, 0%));
}
.night-feature .night-end h2 { text-align: center; }
.night-feature .night-link {
  display: inline-flex; gap: .6em; align-items: center; color: var(--night-accent);
  font-weight: 600; text-decoration: underline; text-underline-offset: .3em;
}
.night-feature .night-source { color: var(--night-accent); text-decoration: underline; text-underline-offset: .2em; font-size: .9rem; }
@media (max-width: 760px) {
  .night-feature :is(.night-dining,.night-tower,.night-suite) { grid-template-columns: minmax(0,1fr); }
  .night-feature .night-tower .night-photo { order: 1; }
  .night-feature .night-panorama .night-frame { height: clamp(16rem,80vw,29rem); }
}
@media (prefers-reduced-motion: reduce) {
  .night-feature .night-frame { clip-path: none; }
  .night-feature .night-frame img { transform: none; }
}

.article-cinema .night-feature.lh-mag > .hero-media {
  width: 100%;
  max-width: none;
  height: clamp(22rem, 68svh, 52rem);
  margin: 1.5rem auto 0;
  transform: none !important;
  clip-path: inset(0 var(--night-inset, 0%));
}
.night-feature .night-copy {
  translate: 0 var(--night-copy-shift, 0px);
}
.night-feature .night-panorama .night-frame img { object-position: center 48%; }
@media (max-width: 760px) {
  .article-cinema .night-feature.lh-mag > .hero-media { height: clamp(19rem, 58svh, 32rem); }
  .night-feature .night-panorama .night-frame { height: clamp(24rem, 125vw, 37rem); }
  .night-feature .night-spread { gap: 1.4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .article-cinema .night-feature.lh-mag > .hero-media { clip-path: none; }
  .night-feature .night-copy { translate: none; }
}
.night-feature .night-panorama .night-frame img {
  object-position: center 43%;
  transform: translateY(var(--night-shift, 0%)) scale(1.08);
}
@media (min-width: 761px) {
  .night-feature .night-panorama .night-frame { height: clamp(30rem, 84svh, 64rem); }
}
@media (prefers-reduced-motion: reduce) {
  .night-feature .night-panorama .night-frame img { transform: none; }
}

.night-feature .night-dining {
  display: block;
  width: 100%;
}
.night-feature .night-dining .night-copy {
  width: min(68ch, calc(100% - 3rem));
  margin: 0 auto clamp(2rem, 5vw, 5rem);
}
.night-feature .night-dining .night-frame {
  aspect-ratio: auto;
  height: clamp(23rem, 62vw, 76svh);
  clip-path: inset(0 var(--night-inset, 0%));
}
.night-feature .night-dining .night-frame img { object-position: center 62%; }
.night-feature .night-dining figcaption { margin-inline: max(1.5rem, 5vw); }
.night-feature .night-tower .night-frame { aspect-ratio: 3 / 2; }
.night-feature .night-tower figcaption a { color: inherit; text-decoration: underline; }
.night-feature .night-copy h2 { translate: 0 var(--night-title-shift, 0px); }
@media (max-width: 760px) {
  .night-feature .night-dining .night-frame { height: clamp(17rem, 83vw, 25rem); }
}
@media (prefers-reduced-motion: reduce) {
  .night-feature .night-dining .night-frame { clip-path: none; }
  .night-feature .night-copy h2 { translate: none; }
}

.night-feature .night-tower .night-frame {
  clip-path: inset(calc(var(--night-reveal, 0) * 68%) 0 0);
}
.night-feature .night-suite .night-frame {
  clip-path: inset(calc(var(--night-reveal, 0) * 8%) 0 calc(var(--night-reveal, 0) * 8%) calc(var(--night-reveal, 0) * 70%));
}
@media (prefers-reduced-motion: reduce) {
  .night-feature :is(.night-tower, .night-suite) .night-frame { clip-path: none; }
}

/* The fog is the opening scene. Keep the street visible beneath it. */
.night-feature.fog-feature .night-hero h1 { max-width: 25ch; }
.article-cinema .lh-mag.fog-feature > .hero-media {
  clip-path: none;
  background: transparent;
}
.article-cinema .lh-mag.fog-feature .article-hero-camera > img { object-position: center 68%; }
.article-cinema .lh-mag.fog-feature > .hero-media figcaption {
  padding: .65rem max(1.5rem, 5vw);
  background: transparent;
  color: #665555;
}
@media (prefers-reduced-motion: no-preference) {
  .article-cinema .lh-mag.fog-feature .article-hero-camera {
    clip-path: inset(0 var(--fog-inset, 0%));
  }
  .article-cinema .lh-mag.fog-feature .article-hero-camera > img {
    transform: translate3d(0, var(--fog-camera-y, 0%), 0) scale(var(--fog-camera-scale, 1));
  }
  .night-feature.fog-feature .night-hero :is(.eyebrow, h1) {
    translate: 0 var(--fog-title-y, 0px);
  }
  .night-feature.fog-feature :is(.night-copy > p, .article-related-section h2, .article-related-card :is(.related-k, .related-title, .article-read)) {
    translate: 0 var(--fog-text-y, 0px);
  }
  .article-cinema .fog-feature .article-related-card .article-related-media img {
    transform: translate3d(var(--fog-card-x, 0%), var(--fog-card-y, 0%), 0) scale(var(--fog-card-scale, 1.025));
    transition: filter .5s;
  }
}
.night-feature.fog-feature .night-suite .night-frame { aspect-ratio: 1 / 1; }
.night-feature.fog-feature .night-end .cta {
  padding: clamp(1.65rem, 3vw, 2.5rem) 0 0;
  background: transparent;
}
.night-feature.fog-feature .night-end .cta-actions { margin-top: 0; }
