/* The selected atrium remains the main image; Grand Terminal gets a full-width stage. */
.hero { height: calc(100svh - var(--hero-chrome, 120px)); min-height: 0; aspect-ratio: auto; }
.hero-photo { object-position: center bottom; }
.hero-copy { top: 12%; }
.hero-bottom span { width: fit-content; padding: 4px 8px; background: rgba(18, 17, 14, .66); color: #f4efe5; }
.light-panorama { grid-column: 1 / -1; min-width: 0; }
.light-layout .light-panorama img { height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.editorial { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.editorial-small { padding-top: 0; }
.editorial-large img, .editorial-small img { height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.editorial figcaption { flex-wrap: wrap; }
@media (max-width: 620px) {
  .editorial { grid-template-columns: 1fr; }
  .hero { height: calc(100svh - var(--hero-chrome, 140px)); }
  .hero-photo { object-position: right bottom; }
  .hero-copy { top: clamp(16px, 5svh, 44px); }
  .hero-copy h1 { font-size: clamp(2.45rem, 7svh, 3.7rem); margin-bottom: clamp(12px, 2.4svh, 24px); }
  .hero-copy .eyebrow { margin-bottom: 16px; }
  .hero-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.5; margin-bottom: 20px; max-width: 300px; }
  .hero-copy .button { min-height: 48px; padding: 12px 20px; }
  .hero-bottom { bottom: 12px; }
  .hero-bottom span { margin-top: 0; }
  .hero-bottom span:first-child { display: none; }
  .hero-shade { background: linear-gradient(180deg, rgba(10,10,8,.5), rgba(10,10,8,.6) 57%, rgba(10,10,8,.06) 84%); }
  .light-layout { gap: var(--space-6); }
  .light-panorama figcaption { line-height: 1.5; }
}
@media (min-width: 621px) and (max-width: 1100px) {
  .hero-photo { object-position: right bottom; }
}
@media (max-height: 750px) and (min-width: 621px) {
  .hero-copy { top: 8%; }
  .hero-copy h1 { font-size: clamp(3rem, 11svh, 5.8rem); margin-bottom: 20px; }
  .hero-copy .eyebrow { margin-bottom: 16px; }
  .hero-copy > p:not(.eyebrow) { margin-bottom: 20px; }
}
@media (max-height: 560px) {
  .hero-copy { top: 16px; }
  .hero-copy h1 { font-size: 2.6rem; margin-bottom: 12px; }
  .hero-copy .eyebrow { margin-bottom: 10px; }
  .hero-copy > p:not(.eyebrow) { font-size: 13px; line-height: 1.4; max-width: 430px; margin-bottom: 12px; }
  .hero-copy .button { min-height: 40px; padding: 8px 16px; }
  .hero-bottom { bottom: 10px; }
}
@media (max-height: 480px) {
  .hero-copy > p:not(.eyebrow) { display: none; }
}
