.gallery-page{background:#fafafa}
.gallery-intro{padding:76px 24px 48px;text-align:center}
.gallery-intro h1{font-size:clamp(3.4rem,6.5vw,6rem);font-weight:600;letter-spacing:-.065em;line-height:1.06}
.gallery-intro h1 em{color:#86868b}
.gallery-intro p{max-width:450px;margin:23px auto 0;font-size:1.0625rem;line-height:1.6;color:var(--muted);letter-spacing:-.02em}
.photo-collage{width:min(calc(100% - 64px),1440px);margin:0 auto 72px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(130px,16vw,235px);grid-auto-flow:dense;gap:14px}
.collage-photo{position:relative;overflow:hidden;border-radius:18px;background:#ececee;min-width:0;isolation:isolate;-webkit-touch-callout:none;user-select:none}
.collage-photo img{width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,center);pointer-events:none}
.collage-photo--portrait{grid-row:span 2}
.collage-photo--feature{grid-column:span 2;grid-row:span 2}
.gallery-home{display:block;width:fit-content;margin:0 auto 68px;padding:10px 0;font-size:.9375rem;color:var(--muted);text-decoration:underline;text-underline-offset:5px}
.gallery-home:hover{color:var(--ink)}
@media(max-width:760px){.gallery-intro{padding:54px 24px 32px}.gallery-intro h1{font-size:clamp(2.8rem,8.8vw,4rem)}.gallery-intro p{font-size:1rem;margin-top:18px;max-width:300px}.photo-collage{width:calc(100% - 24px);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:31vw;gap:8px;margin-bottom:40px}.collage-photo{border-radius:11px}.gallery-home{margin-bottom:35px}.gallery-page .site-footer{padding-bottom:30px}}
