/* v1.9 site gallery: masonry that keeps each photo's own shape, plus a full-screen viewer styled like a site notice board */
.gx-sec .sh p{color:#a89d92}
.gx-bar{display:flex;justify-content:space-between;align-items:center;gap:16px 28px;flex-wrap:wrap;margin-bottom:34px;padding-bottom:18px;border-bottom:1px solid #4a3f37}
.gx-f{display:flex;flex-wrap:wrap;gap:8px}
.gx-f button{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:baseline;gap:8px;padding:9px 15px;border:1.5px solid #6b5f56;color:#d9d2c8;font:600 14px/1 var(--hf);font-stretch:90%;transition:background .2s,color .2s}
.gx-f button b{font-weight:700;color:#a89d92}
.gx-f button:hover{border-color:var(--gold)}
.gx-f button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--ink)}.gx-f button[aria-pressed=true] b{color:var(--ink)}
.gx-f button:focus-visible,.gx-all:focus-visible,.gi-m:focus-visible,.gi-lk:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.gx-all{font:700 15px var(--hf);font-stretch:90%;color:var(--gold);text-decoration:none;border-bottom:1.5px solid var(--gold);padding-bottom:3px}.gx-all:hover{color:#fff;border-color:#fff}
.gx-none{color:#a89d92;font:500 17px var(--hf);padding:30px 0}

.gx{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(16px,2.2vw,32px);align-items:start}
.gx.js{grid-auto-rows:4px}
.gi{min-width:0}.gi[hidden]{display:none}
.gi-in{padding-bottom:clamp(30px,3.4vw,48px)}

/* media tile: the box takes the photo's own ratio (--r), so vertical and horizontal shots both sit naturally */
.gi-m{position:relative;display:block;aspect-ratio:var(--r,.75);overflow:hidden;background:#2a211b;color:#fff;text-decoration:none;cursor:zoom-in}
.gi-m img,.gi-m video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gi-ph{position:absolute;inset:0;display:grid;place-items:center;font:700 22px var(--hf);font-stretch:70%;letter-spacing:.06em;color:#6b5f56;background:repeating-linear-gradient(135deg,#2a211b 0 14px,#251c17 14px 28px)}
.gi-st{position:absolute;left:0;top:0;padding:8px 13px;font:700 13px/1 var(--hf);font-stretch:90%;background:var(--plaster);color:var(--ink)}
.gi-st.is-ongoing{background:repeating-linear-gradient(135deg,var(--gold) 0 9px,#b98a30 9px 18px)}
.gi-n{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:7px;padding:7px 10px;background:rgba(18,13,10,.8);color:#fff;font:600 13px/1 var(--hf);font-stretch:90%}
.gi-pl{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(18,13,10,.6);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.85);transition:opacity .25s}
.gi-pl svg{margin-left:3px}
@media(hover:hover){.gi-m.is-v:hover .gi-pl{opacity:0}}

/* caption: a small title block under the picture */
.gi-p{padding-top:14px;border-top:2px solid var(--gold);margin-top:-2px;position:relative}
.gi-p h3{font-size:clamp(24px,2.3vw,34px);font-stretch:75%;text-transform:uppercase;color:#fff;margin:0 0 9px}
.gi-l{margin:0 0 4px;font:600 15px/1.3 var(--hf);font-stretch:90%;color:#d9d2c8}
.gi-d{margin:0;font:500 15px/1.3 var(--hf);font-stretch:90%;color:#d9d2c8}.gi-d u{text-decoration:none;color:#a89d92;margin-right:6px}
.gi-lk{display:inline-block;margin-top:12px;font:700 14px var(--hf);font-stretch:90%;color:var(--gold);text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}.gi-lk:hover{color:#fff}
.gi-m:hover~.gi-p h3,.gi-m:focus-visible~.gi-p h3{color:var(--gold)}

@media(max-width:1000px){.gx{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.gx{grid-template-columns:minmax(0,1fr)}.gx-f{width:100%}}

/* viewer */
html.gx-lock{overflow:hidden}
.gx-lb{box-sizing:border-box;position:fixed;inset:0;margin:0;padding:0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;background:#120d0a;color:#f1ede6;overflow:hidden}
.gx-lb::backdrop{background:#000}
.gx-lb[open]{display:block}
.lb-g{display:grid;grid-template-columns:minmax(0,1fr) 380px;height:100%}
.lb-st{display:flex;flex-direction:column;min-width:0;min-height:0;padding:22px 22px 18px}
.lb-fr{position:relative;flex:1;min-height:0;container-type:size}
.lb-md{position:absolute;inset:0;display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center}
.lb-md img,.lb-md video{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;background:#000}
.lb-md video{width:100%;height:100%}
.lb-md .lb-emb{max-height:100%}
.lb-emb{width:min(100cqw,calc(100cqh*var(--er,1.7778)));aspect-ratio:var(--er,1.7778);background:#000}
.lb-emb iframe{width:100%;height:100%;border:0;display:block}
.lb-pv,.lb-nx{all:unset;box-sizing:border-box;position:absolute;top:50%;margin-top:-26px;width:52px;height:52px;display:grid;place-items:center;cursor:pointer;color:#fff;background:rgba(18,13,10,.72);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55);z-index:3;transition:background .2s,color .2s}
.lb-pv{left:12px}.lb-nx{right:12px}.lb-pv:hover,.lb-nx:hover{background:var(--gold);color:var(--ink)}.lb-pv:focus-visible,.lb-nx:focus-visible,.lb-x:focus-visible,.lb-th button:focus-visible,.lb-pj button:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.lb-ft{display:flex;align-items:center;gap:18px;padding-top:14px;min-height:62px}
.lb-ct{font:600 14px var(--hf);font-stretch:90%;color:#a89d92;white-space:nowrap}
.lb-th{display:flex;gap:8px;overflow-x:auto;padding:2px;scrollbar-width:thin}
.lb-th button{all:unset;box-sizing:border-box;position:relative;flex:none;width:68px;height:48px;cursor:pointer;background:#2a211b center/cover no-repeat;opacity:.55;transition:opacity .2s}
.lb-th button:hover{opacity:.9}.lb-th button[aria-current=true]{opacity:1;box-shadow:0 0 0 2px var(--gold)}
.lb-th button svg{position:absolute;left:50%;top:50%;margin:-9px 0 0 -9px;color:#fff;filter:drop-shadow(0 0 3px rgba(0,0,0,.8))}
.lb-x{all:unset;box-sizing:border-box;position:absolute;right:16px;top:16px;width:46px;height:46px;display:grid;place-items:center;cursor:pointer;color:#fff;background:#120d0a;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55);z-index:6}.lb-x:hover{background:var(--gold);color:var(--ink)}

/* info plate */
.lb-in{display:flex;flex-direction:column;gap:20px;min-height:0;overflow:auto;padding:78px 28px 28px;background:#17110e;border-left:1px solid #3a2f28}
.lb-in .gi-st{position:static;align-self:flex-start}
.lb-in h2{font-size:clamp(34px,3.4vw,52px);font-stretch:62%;text-transform:uppercase;color:#fff;margin:0}
.lb-dl{margin:0;border:1.5px solid #4a3f37;font:500 15px/1.35 var(--hf);font-stretch:90%}
.lb-dl div{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:11px 14px;border-top:1px solid #3a2f28}.lb-dl div:first-child{border-top:0}
.lb-dl dt{color:#a89d92}.lb-dl dd{margin:0;font-weight:700;color:#fff}
.lb-nt{margin:0;color:#c9c0b5;font-size:17px;line-height:1.55}
.lb-ac{display:flex;gap:10px;flex-wrap:wrap}.lb-ac .btn.alt{color:#fff;box-shadow:inset 0 0 0 1.5px #fff}.lb-ac .btn.alt:hover{background:#fff;color:var(--ink)}
.lb-pj{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:18px;border-top:1px solid #3a2f28;font:600 14px var(--hf);font-stretch:90%;color:#a89d92}
.lb-pj div{display:flex;gap:8px}
.lb-pj button{all:unset;box-sizing:border-box;cursor:pointer;padding:9px 13px;border:1.5px solid #6b5f56;color:#d9d2c8}.lb-pj button:hover{border-color:var(--gold);color:#fff}.lb-pj button[disabled]{opacity:.3;cursor:default;border-color:#4a3f37;color:#a89d92}

@media(max-width:900px){
 .gx-lb{overflow-y:auto}
 .lb-g{display:block;height:auto;min-height:100%}
 .lb-st{height:auto;padding:64px 0 0}
 .lb-fr{flex:none;height:min(62dvh,560px)}
 .lb-ft{padding:12px 16px 14px}
 .lb-pv,.lb-nx{width:44px;height:44px;margin-top:-22px}.lb-pv{left:8px}.lb-nx{right:8px}
 .lb-in{overflow:visible;padding:22px 18px 40px;border-left:0;border-top:1px solid #3a2f28}
 .lb-x{right:12px;top:12px}
}
@media(prefers-reduced-motion:reduce){.gi-pl,.lb-pv,.lb-nx,.lb-th button,.gx-f button{transition:none}}
