.home-hero-photo { min-height: 420px; margin: 0; overflow: hidden; border-radius: 28px; box-shadow: 0 24px 60px rgba(25,17,12,.18); transform: rotate(1.5deg); }
.home-hero-photo img { width: 100%; height: 100%; min-height: 420px; display: block; object-fit: cover; object-position: center; }
.home-gallery-section { background: #efe5d8; }
.home-gallery-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: end; margin-bottom: 34px; }
.home-gallery-heading h2, .home-gallery-heading .intro { margin-bottom: 0; }
.home-gallery { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 18px; }
.home-gallery figure { position: relative; min-height: 470px; margin: 0; overflow: hidden; border-radius: 22px; background: #171310; }
.home-gallery img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.home-gallery .gallery-main img { object-position: 42% center; }
.home-gallery figure:hover img { transform: scale(1.025); }
.home-gallery figcaption { position: absolute; right: 18px; bottom: 18px; left: 18px; padding: 14px 16px; border-radius: 14px; color: #fff; background: rgba(18,13,10,.78); font-weight: 800; letter-spacing: .02em; backdrop-filter: blur(6px); }
@media (max-width: 850px) {
  .home-hero-photo, .home-hero-photo img { min-height: 320px; }
  .home-gallery-heading { grid-template-columns: 1fr; gap: 8px; }
  .home-gallery { grid-template-columns: 1fr 1fr; }
  .home-gallery .gallery-main { grid-column: 1 / -1; }
  .home-gallery figure { min-height: 390px; }
}
@media (max-width: 560px) {
  .home-gallery { grid-template-columns: 1fr; }
  .home-gallery .gallery-main { grid-column: auto; }
  .home-gallery figure { min-height: 340px; }
}
