/* DNA home-page photo gallery v2 (classes start with g2- so the old gallery.css/js can stay installed harmlessly) */
.g2{margin-top:44px}
.g2-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.g2-chip{padding:9px 16px;border:1px solid var(--line,rgba(255,255,255,.2));background:transparent;color:#d5d3ce;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;cursor:pointer;transition:.2s}
.g2-chip span{margin-left:6px;color:#8d897f;font-weight:400}
.g2-chip:hover{border-color:var(--gold,#b99356);color:#fff}
.g2-chip.is-active{background:var(--gold,#b99356);border-color:var(--gold,#b99356);color:#111}
.g2-chip.is-active span{color:#3b2f1b}
.g2-stage{position:relative;aspect-ratio:16/9;max-height:80vh;width:100%;background:#0a0a0a;border:1px solid var(--line,rgba(255,255,255,.17));overflow:hidden;outline-offset:4px;touch-action:pan-y}
.g2-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s ease;pointer-events:none;background:#0a0a0a}
.g2-slide.is-active{opacity:1;pointer-events:auto}
.g2-slide::before{content:"";position:absolute;inset:-30px;background:var(--g2-bg,none) center/cover no-repeat;filter:blur(30px) brightness(.45) saturate(1.2);transform:scale(1.05)}
.g2-slide img{position:relative;display:block;width:100%;height:100%;object-fit:contain;cursor:zoom-in}
.g2-caption{position:absolute;left:0;right:0;top:0;padding:18px 22px 46px;background:linear-gradient(rgba(0,0,0,.7),transparent);text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700;color:#f1ede4;pointer-events:none}
.g2-arrow{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:1px solid rgba(255,255,255,.4);background:rgba(7,7,7,.55);color:#fff;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.2s}
.g2-arrow:hover{background:rgba(185,147,86,.9);border-color:var(--gold,#b99356);color:#111}
.g2-arrow.prev{left:14px}.g2-arrow.next{right:14px}
.g2-btn{position:absolute;bottom:14px;padding:9px 13px;border:1px solid rgba(255,255,255,.4);background:rgba(7,7,7,.6);color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:10px;cursor:pointer;transition:.2s}
.g2-btn:hover{background:rgba(185,147,86,.9);border-color:var(--gold,#b99356);color:#111}
.g2-pause{left:14px}
.g2-open{right:14px;bottom:auto;top:14px}
.g2-count{position:absolute;right:14px;bottom:14px;margin:0;padding:9px 13px;background:rgba(7,7,7,.6);color:#e8e4da!important;font-size:11px;letter-spacing:.14em}
.g2-thumbs{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.g2-thumb{flex:0 0 auto;width:110px;height:76px;padding:0;border:1px solid var(--line,rgba(255,255,255,.17));background:#111;cursor:pointer;opacity:.5;transition:.2s}
.g2-thumb[hidden],.g2-slide[hidden]{display:none}
.g2-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.g2-thumb:hover,.g2-thumb.is-active{opacity:1}
.g2-thumb.is-active{border-color:var(--gold,#b99356)}
/* full-screen viewer */
.g2-lb{position:fixed;inset:0;z-index:9999;background:#050505;display:grid;grid-template-rows:auto 1fr auto;color:#fff}
.g2-lb[hidden]{display:none}
.g2-lb-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px max(18px,env(safe-area-inset-right)) 8px max(18px,env(safe-area-inset-left))}
.g2-lb-cap{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#d9c9a8;min-height:1em}
.g2-lb-count{font-size:12px;letter-spacing:.14em;color:#aaa;white-space:nowrap}
.g2-lb-close{width:46px;height:46px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.g2-lb-close:hover{background:var(--gold,#b99356);border-color:var(--gold,#b99356);color:#111}
.g2-lb-stage{position:relative;min-height:0;display:grid;place-items:center;padding:0 8px;touch-action:pan-y}
.g2-lb-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;user-select:none;-webkit-user-select:none}
.g2-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border:1px solid rgba(255,255,255,.35);background:rgba(7,7,7,.6);color:#fff;font-size:32px;line-height:1;cursor:pointer}
.g2-lb-nav:hover{background:var(--gold,#b99356);border-color:var(--gold,#b99356);color:#111}
.g2-lb-nav.prev{left:14px}.g2-lb-nav.next{right:14px}
.g2-lb-foot{padding:10px 18px 16px;text-align:center;font-size:11px;letter-spacing:.12em;color:#7d7a72;text-transform:uppercase}
html.g2-lock,html.g2-lock body{overflow:hidden}
html.g2-lock .dna-notice{display:none!important}
@media(max-width:680px){
  .g2{margin-top:30px}
  .g2-stage{aspect-ratio:4/3}
  .g2-arrow{width:42px;height:42px;font-size:26px}
  .g2-thumb{width:78px;height:56px}
  .g2-chip{padding:8px 12px;font-size:10px}
  .g2-lb-nav{width:44px;height:44px;font-size:26px}
  .g2-lb-foot{display:none}
}
@media(prefers-reduced-motion:reduce){.g2-slide{transition:none}}
