.gallery-page { background: #faf8f4; }
.gallery-hero { padding-top: clamp(5rem,8vw,8rem); padding-bottom: clamp(4rem,6vw,6rem); background: #f3ede4; }
.gallery-hero .detail-back { display: inline-block; margin-bottom: clamp(3rem,6vw,6rem); }
.gallery-hero h1 { max-width: 12ch; margin-bottom: 1.3rem; font-size: clamp(3.7rem,7vw,7.5rem); }
.gallery-hero h1 em { color: var(--gold-dark); font-weight: 400; }
.gallery-hero > p:not(.eyebrow) { max-width: 700px; color: var(--muted); }
.gallery-jump { display: flex; position: static; inset: auto; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: .75rem; margin-top: 2.5rem; padding: 0; background: none; box-shadow: none; }
.gallery-jump a { padding: .7rem .9rem; border: 1px solid var(--line); font-size: .75rem; letter-spacing: .04em; }
.gallery-jump a:hover { background: #fff; }
.gallery-section { padding-top: clamp(4rem,7vw,7rem); padding-bottom: clamp(4rem,7vw,7rem); scroll-margin-top: 1rem; }
.gallery-section:nth-of-type(odd) { background: #fff; }
.gallery-section-head { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 2.5rem; }
.gallery-section-head .eyebrow { width: 100%; margin-bottom: 0; }
.gallery-section-head h2 { margin: 0; font-size: clamp(2.9rem,5vw,5.5rem); }
.gallery-section-head > span { color: var(--muted); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.gallery-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(.8rem,1.5vw,1.5rem); }
.gallery-card { margin: 0; min-width: 0; }
.gallery-card a { display: block; overflow: hidden; background: var(--cream); }
.gallery-card img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .4s ease; }
.gallery-card a:hover img { transform: scale(1.025); }
.gallery-card figcaption { padding: .65rem .1rem 0; color: var(--muted); font-size: .77rem; line-height: 1.4; }
@media(max-width:1000px) { .gallery-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) { .gallery-hero { padding-top: 4rem; } .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .gallery-jump { display: flex; position: static; background: none; box-shadow: none; padding: 0; flex-direction: row; } }
@media(max-width:420px) { .gallery-grid { gap: .7rem; } .gallery-card figcaption { font-size: .7rem; } }
@media(prefers-reduced-motion:reduce) { .gallery-card img { transition: none; } }
