/* Gallery page */
.gallery-hero-page { width: min(1500px,100%); margin: 0 auto; padding: clamp(72px,6.5vw,108px) 5vw clamp(48px,4.5vw,72px); }
.gallery-hero-page .kicker { margin: 0 0 20px; color: #527176; opacity: 1; font-size: 10px; line-height: 1.2; letter-spacing: .24em; }
.gallery-hero-page h1 { max-width: 980px; margin: 0 0 26px; color: var(--ink); font: 600 clamp(56px,6vw,94px)/.94 var(--serif); letter-spacing: -.045em; }
.gallery-hero-page h1 em { color: var(--cyan); font-style: italic; }
.gallery-hero-page>p:last-child { max-width: 780px; margin: 0; color: #527176; font-size: 15px; line-height: 1.85; }
.gallery-full-grid { max-width: 1500px; margin: 0 auto; padding: 0 5vw 10vw; columns: 3 340px; column-gap: 18px; }
.gallery-full-grid figure { position: relative; display: inline-block; width: 100%; margin: 0 0 18px; break-inside: avoid; overflow: hidden; border-radius: 14px; background: #eef6f6; box-shadow: 0 8px 28px rgba(0,70,76,.07); }
.gallery-full-grid img { width: 100%; height: auto; display: block; object-fit: contain; background: #eef6f6; transition: transform .85s cubic-bezier(.23,1,.32,1), filter .5s ease; }
.gallery-full-grid figure:hover img { transform: scale(1.015); filter: saturate(1.03); }
.gallery-full-grid figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 56px 20px 18px; color: #fff; background: linear-gradient(180deg,transparent,rgba(0,38,42,.72)); text-shadow: 0 2px 18px rgba(0,0,0,.3); pointer-events: none; }
.gallery-full-grid figcaption strong { display: block; font: 600 clamp(21px,2vw,34px)/1.02 var(--serif); }
.gallery-full-grid figcaption small { display: block; margin-top: 7px; font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
@media(max-width:900px){.gallery-hero-page{padding:56px 6vw 42px}.gallery-hero-page .kicker{margin-bottom:16px;font-size:9px}.gallery-hero-page h1{max-width:92%;margin-bottom:22px;font-size:clamp(46px,12.5vw,68px);line-height:.94}.gallery-hero-page>p:last-child{max-width:100%;font-size:14px;line-height:1.75}}
@media(max-width:680px){.gallery-full-grid{columns:1;padding-left:5vw;padding-right:5vw}.gallery-full-grid figure{margin-bottom:14px}}
@media(max-width:560px){.gallery-hero-page{padding:48px 6vw 36px}.gallery-hero-page h1{font-size:clamp(44px,13vw,58px)}}
