.gallery-page{background:#f7f3e9}
.gallery-header{position:absolute;background:transparent}
.gallery-header .active-link{color:#e3a72f;opacity:1}
.gallery-hero{min-height:620px;background:#102920;color:#fff;padding:170px clamp(24px,7vw,110px) 85px;display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:end}
.gallery-hero h1{font-family:"Playfair Display",serif;font-size:clamp(4rem,8vw,8.5rem);line-height:.86;letter-spacing:-.055em;margin:0}
.gallery-hero h1 em{color:#e3a72f;font-weight:500}
.gallery-intro{max-width:470px;color:rgba(255,255,255,.67);font-size:1.03rem;margin:0 0 10px}
.gallery-grid{padding:18px;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;grid-auto-flow:dense;gap:12px;background:#f7f3e9}
.gallery-item{position:relative;border:0;padding:0;overflow:hidden;background:#18362c;cursor:zoom-in;color:#fff}
.gallery-item.wide{grid-column:span 2}
.gallery-item.tall{grid-row:span 2}
.gallery-item.portrait{grid-row:span 2}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s}
.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,28,21,.7),transparent 48%);transition:background .3s}
.gallery-item span{position:absolute;z-index:2;left:20px;bottom:17px;font-family:"DM Sans",sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.17em}
.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.045);filter:saturate(1.08)}
.gallery-item:focus-visible{outline:4px solid #e3a72f;outline-offset:-4px}
.gallery-cta{text-align:center;background:#bd5d3a;color:#fff;padding:105px 24px}
.gallery-cta .eyebrow{color:#f9d993}
.gallery-cta h2{font-family:"Playfair Display",serif;font-size:clamp(3.2rem,6vw,6.5rem);line-height:1;margin:0 0 35px}
.gallery-cta h2 em{color:#f9d993;font-weight:500}
.lightbox{width:min(1050px,92vw);height:min(820px,90vh);border:0;padding:0;background:#0d241c;color:#fff;overflow:hidden}
.lightbox::backdrop{background:rgba(4,15,11,.88);backdrop-filter:blur(6px)}
.lightbox img{width:100%;height:calc(100% - 58px);object-fit:contain;display:block}
.lightbox p{height:58px;margin:0;padding:18px 24px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.lightbox-close{position:absolute;top:14px;right:14px;z-index:3;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(13,36,28,.75);color:#fff;font-size:1.5rem;cursor:pointer}
@media(max-width:900px){.gallery-hero{grid-template-columns:1fr;min-height:590px;gap:35px}
.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:230px}
.gallery-intro{max-width:620px}
}
@media(max-width:560px){.gallery-hero{padding:135px 24px 65px}
.gallery-hero h1{font-size:4.2rem}
.gallery-grid{padding:8px;gap:8px;grid-template-columns:1fr;grid-auto-rows:300px}
.gallery-item.wide{grid-column:span 1}
.gallery-item.tall,.gallery-item.portrait{grid-row:span 1}
.gallery-item:nth-child(2n){height:390px}
.lightbox{width:96vw;height:82vh}
}

.gallery-video{cursor:pointer}
.gallery-video .play-icon{left:50%;bottom:50%;transform:translate(-50%,50%);width:62px;height:62px;border-radius:50%;display:grid;place-items:center;padding-left:4px;background:rgba(227,167,47,.94);color:#102920;font-size:1.1rem;letter-spacing:0;box-shadow:0 12px 35px rgba(0,0,0,.28);transition:transform .25s ease}
.gallery-video:hover .play-icon,.gallery-video:focus-visible .play-icon{transform:translate(-50%,50%) scale(1.08)}
.gallery-video .video-label{left:20px;bottom:17px}
.lightbox video{width:100%;height:calc(100% - 58px);object-fit:contain;display:block;background:#06150f}
.lightbox [hidden]{display:none}
