.gallery-page{display:block}

.gallery-hero{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center}
.gallery-hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.gallery-hero__bg img{width:100%;height:100%;object-fit:cover;filter:brightness(0.6)}
.gallery-hero__content{position:relative;z-index:1;max-width:700px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-3)}
.gallery-hero__content p{max-width:55ch;margin-inline:auto}

.gallery-intro{display:flex;flex-direction:column;align-items:center}
.gallery-intro__text{max-width:800px}

.gallery-section-lead{max-width:60ch}

.gallery-grid{display:grid;gap:var(--space-3)}
.gallery-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}

.gallery-card{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.gallery-card .media img{width:100%;aspect-ratio:16/9;object-fit:cover}

.gallery-env{display:grid;grid-template-columns:3fr 2fr;gap:var(--space-4);align-items:center}
.gallery-env__image img{width:100%;aspect-ratio:16/9;object-fit:cover}
.gallery-env__text{min-width:0}

.gallery-cta{max-width:600px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-3)}

@media (max-width:900px){
  .gallery-grid--3{grid-template-columns:1fr 1fr}
  .gallery-env{grid-template-columns:1fr}
}

@media (max-width:600px){
  .gallery-grid--3,.gallery-grid--2{grid-template-columns:1fr}
  .gallery-hero{min-height:60vh}
  .gallery-hero__content{padding:var(--space-2)}
}