.gallery-hero{padding-top:72px}
.gallery-hero .hero-carousel{height:calc(100vh - 72px);min-height:620px}
.section-wrap{max-width:1180px;margin:0 auto;padding:70px 24px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gallery-card{position:relative;border-radius:16px;overflow:hidden;background:#f3f4f6;min-height:220px;cursor:pointer;isolation:isolate}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery-card:hover img{transform:scale(1.06)}
.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.62) 100%)}
.gallery-caption{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;color:#fff;font-weight:600;font-size:.9rem}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.8);display:none;align-items:center;justify-content:center;flex-direction:column;padding:20px;z-index:1200}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1000px,92vw);max-height:74vh;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.lightbox p{margin-top:12px;color:#fff;font-weight:600}
.lightbox-close{position:absolute;top:14px;right:18px;border:none;background:none;color:#fff;font-size:34px;cursor:pointer}

@media(max-width:1024px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  .gallery-hero{padding-top:88px}
  .gallery-hero .hero-carousel{height:calc(100vh - 88px);min-height:560px}
  .section-wrap{padding:56px 16px}
  .gallery-grid{grid-template-columns:1fr}
}
