.gallery-page{--g-bg: #0f1318;--g-panel: #161c24;--g-line: rgba(201, 163, 94, .28);--g-text: #f1ecdd;--g-dim: #a9a38f;--g-brass: #a8823c;--g-brass-light: #c9a35e;--g-brass-pale: #e2c48a;--g-gap: 14px;background-color:var(--g-bg);background-image:linear-gradient(rgba(201,163,94,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(201,163,94,.035) 1px,transparent 1px);background-size:56px 56px;color:var(--g-text)}.gallery-page [hidden]{display:none!important}.gallery-page h1,.gallery-page h2,.gallery-page h3{color:#f5f2e8}.skip-link{position:absolute;left:-9999px;top:0;background:var(--g-brass);color:#1c1b17;padding:.6rem 1rem;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.06em;z-index:10001}.skip-link:focus{left:.5rem;top:.5rem}.g-hero{position:relative;min-height:clamp(340px,54vh,540px);display:grid;place-items:center;text-align:center;overflow:hidden;border-bottom:2px solid var(--g-brass);isolation:isolate}.g-hero-bg{position:absolute;inset:0;z-index:-2;background:#141a21}.g-hero-slide{position:absolute;inset:0;background-size:cover;background-position:center 35%;opacity:0;transform:scale(1.03);transition:opacity 1.6s ease}.g-hero-slide.on{opacity:1}.g-hero-slide.on,.g-hero-slide.leaving{animation:g-kenburns 11s ease-out forwards}@keyframes g-kenburns{0%{transform:scale(1.03)}to{transform:scale(1.14) translate3d(-1.2%,-1%,0)}}.g-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(135deg,rgba(201,163,94,.07) 0 1px,transparent 1px 64px),linear-gradient(180deg,#0a0d1180,#0a0d11b8 60%,#0f1318fa)}.g-hero-inner{padding:7rem 1.25rem 3rem;max-width:900px}.g-eyebrow{display:inline-block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--g-brass-pale);border:1px solid var(--g-brass);padding:.35rem .9rem;margin-bottom:1.1rem;background:#0f13188c}.g-hero h1{font-family:Oswald,sans-serif;font-size:clamp(2.8rem,9vw,5.8rem);font-weight:700;letter-spacing:.07em;line-height:1;margin:0 0 1rem;text-shadow:0 3px 24px rgba(0,0,0,.65)}.g-rule{display:flex;align-items:center;gap:.8rem;justify-content:center;color:var(--g-brass-light);margin:0 auto 1.1rem;max-width:340px}.g-rule:before,.g-rule:after{content:"";flex:1;height:1px;background:var(--g-brass)}.g-hero-sub{font-family:var(--font-primary);font-style:italic;font-size:clamp(1.05rem,2.4vw,1.35rem);color:#e6dfcb;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.7)}.g-controls{position:sticky;top:var(--site-header-h, 79px);z-index:60;background:#0f1318eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--g-line)}.g-controls-inner{max-width:1400px;margin:0 auto;padding:.7rem 1.25rem;display:flex;align-items:center;gap:1.1rem 1.4rem;flex-wrap:wrap}.g-years{display:flex;gap:.5rem;flex-wrap:wrap}.g-year{font-family:Oswald,sans-serif;font-size:1.35rem;font-weight:500;letter-spacing:.08em;line-height:1;color:var(--g-text);background:transparent;border:1px solid var(--g-line);border-left:4px solid var(--g-brass);padding:.5rem 1.05rem .5rem .8rem;border-radius:2px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.g-year:hover{background:#a8823c29}.g-year[aria-selected=true]{background:var(--g-brass);border-color:var(--g-brass-light);color:#1c1b17}.g-filters{display:flex;gap:.45rem;flex-wrap:wrap;flex:1 1 320px}.g-chip{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--g-dim);background:transparent;border:1px solid rgba(245,242,232,.2);border-radius:2px;padding:.42rem .7rem;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s,background-color .2s}.g-chip .n{opacity:.6;margin-left:.35rem}.g-chip:hover{color:var(--g-text);border-color:var(--g-brass)}.g-chip[aria-pressed=true]{color:#1c1b17;background:var(--g-brass-light);border-color:var(--g-brass-light)}.g-chip[aria-pressed=true] .n{opacity:.75}.g-chip svg{width:11px;height:11px;vertical-align:-1px;margin-right:.3rem}.g-actions{display:flex;gap:.5rem;margin-left:auto}.g-btn{display:inline-flex;align-items:center;gap:.45rem;font-family:Oswald,sans-serif;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--g-text);background:#f5f2e80f;border:1px solid rgba(245,242,232,.2);border-radius:2px;padding:.5rem .9rem;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.g-btn:hover{border-color:var(--g-brass);color:var(--g-brass-pale)}.g-btn svg{width:15px;height:15px}.g-intro{max-width:1400px;margin:0 auto;padding:2.4rem 1.25rem 1.6rem;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;flex-wrap:wrap}.g-intro h2{font-family:Oswald,sans-serif;font-size:clamp(1.7rem,4vw,2.5rem);letter-spacing:.05em;margin:0 0 .3rem}.g-intro p{margin:0;color:var(--g-dim);font-style:italic;font-size:1.05rem}.g-count{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--g-brass-pale)}.g-grid{display:flex;gap:var(--g-gap);max-width:1400px;margin:0 auto;padding:0 1.25rem 4.5rem;align-items:flex-start}.g-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--g-gap)}.g-tile{position:relative;margin:0;border-radius:3px;overflow:hidden;background:linear-gradient(110deg,#19212a 30%,#222b36,#19212a 60%);background-size:200% 100%;animation:g-shimmer 1.6s linear infinite;opacity:0;transform:translateY(20px) scale(.985);transition:opacity .7s ease,transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d, 0ms);box-shadow:0 2px #00000059}.g-tile.in{opacity:1;transform:none}.g-tile.loaded{animation:none;background:#19212a}@keyframes g-shimmer{to{background-position:-200% 0}}.g-tile img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease,transform .9s cubic-bezier(.2,.7,.2,1),filter .4s}.g-tile.loaded img{opacity:1}.g-tile.err:after{content:"Photo unavailable";position:absolute;inset:0;display:grid;place-items:center;color:var(--g-dim);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.g-tile .br{position:absolute;width:18px;height:18px;border:0 solid var(--g-brass-light);opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;z-index:2}.g-tile .br.tl{top:8px;left:8px;border-top-width:2px;border-left-width:2px;transform:translate(6px,6px)}.g-tile .br.br2{bottom:8px;right:8px;border-bottom-width:2px;border-right-width:2px;transform:translate(-6px,-6px)}.g-open{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;z-index:1}.g-open:focus-visible{outline:3px solid var(--g-brass-light);outline-offset:-3px}.g-meta{position:absolute;left:0;right:0;bottom:0;padding:3.2rem .85rem .75rem;background:linear-gradient(180deg,transparent,rgba(8,10,13,.92));transform:translateY(101%);transition:transform .4s cubic-bezier(.2,.7,.2,1);pointer-events:none;z-index:2}.g-cap{display:block;font-family:var(--font-primary);font-style:italic;font-size:.95rem;line-height:1.35;color:#f5f2e8;margin-top:.35rem}.g-tag{--tc: #c9c2b0;display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tc)}.g-tag:before{content:"";width:7px;height:7px;background:var(--tc)}.g-tag[data-tag=Fellowship]{--tc: #e2c48a}.g-tag[data-tag=Scheels]{--tc: #b79bb7}.g-tag[data-tag=Banquet]{--tc: #d6b8a0}.g-tag[data-tag=Fishing]{--tc: #6fb3b8}.g-tag[data-tag="On the Range"]{--tc: #8fb0c4}.g-tag[data-tag=Afield]{--tc: #a9b97a}.g-tag[data-tag=Harvest]{--tc: #d98c80}.g-tag[data-tag="Camp & Lodge"]{--tc: #9fc2b0}.g-tile:hover img,.g-tile:focus-within img{transform:scale(1.06);filter:brightness(1.06) saturate(1.05)}.g-tile:hover .g-meta,.g-tile:focus-within .g-meta{transform:none}.g-tile:hover .br,.g-tile:focus-within .br{opacity:1;transform:none}.g-fav{position:absolute;top:8px;right:8px;z-index:3;width:34px;height:34px;display:grid;place-items:center;color:#f5f2e8;background:#0a0d119e;border:1px solid rgba(245,242,232,.28);border-radius:2px;cursor:pointer;opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s,background-color .2s,color .2s}.g-fav svg{width:17px;height:17px}.g-tile:hover .g-fav,.g-tile:focus-within .g-fav,.g-fav[aria-pressed=true]{opacity:1;transform:none}.g-fav:hover{background:#a8823cd9;color:#1c1b17}.g-fav[aria-pressed=true]{color:#e88f82}.g-fav[aria-pressed=true] svg{fill:currentColor}.g-fav:focus-visible{outline:3px solid var(--g-brass-light)}@media (hover: none){.g-meta{transform:none;padding-top:2rem}.g-cap{font-size:.82rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.g-fav{opacity:1;transform:none;width:30px;height:30px}.g-tile .br{display:none}}.g-empty{max-width:560px;margin:1rem auto 5rem;padding:2.2rem 1.5rem;text-align:center;border:1px dashed var(--g-line);color:var(--g-dim);font-style:italic}.g-empty strong{color:var(--g-text);font-style:normal;font-family:Oswald,sans-serif;letter-spacing:.05em;text-transform:uppercase}.g-more{max-width:1400px;margin:-1.5rem auto 4.5rem;padding:1.6rem 1.25rem 0;border-top:1px solid var(--g-line);display:flex;align-items:center;flex-wrap:wrap;gap:.8rem 1rem}.g-more-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--g-brass-pale);margin-right:.5rem}.g-more-btn{font-family:Oswald,sans-serif;font-size:1.05rem;letter-spacing:.05em;color:var(--g-text);background:transparent;border:1px solid var(--g-line);border-left:4px solid var(--g-brass);border-radius:2px;padding:.65rem 1.1rem;cursor:pointer;transition:background-color .2s,border-color .2s}.g-more-btn b{font-weight:600;margin-right:.35rem}.g-more-btn span{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--g-dim);margin-left:.8rem}.g-more-btn:hover{background:#a8823c29;border-color:var(--g-brass-light)}.g-status{text-align:center;padding:5rem 1rem;color:var(--g-dim);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}html.lb-open{overflow:hidden}.lb{position:fixed;inset:0;z-index:9999;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#07090cf7;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility 0s linear .28s;color:#f5f2e8}.lb.open{opacity:1;visibility:visible;transition-delay:0s}.lb[hidden]{display:none}.lb-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem .9rem}.lb-top-left,.lb-top-right{display:flex;align-items:center;gap:.45rem}.lb-brand{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--g-brass-pale);margin-right:.4rem}.ib{width:42px;height:42px;display:inline-grid;place-items:center;color:#f5f2e8;background:#f5f2e80f;border:1px solid rgba(245,242,232,.2);border-radius:2px;cursor:pointer;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,transform .2s}.ib svg{width:19px;height:19px}.ib:hover{border-color:var(--g-brass);color:var(--g-brass-pale);background:#a8823c29}.ib:active{transform:scale(.94)}.ib:focus-visible{outline:3px solid var(--g-brass-light);outline-offset:2px}.ib[aria-pressed=true]{color:#1c1b17;background:var(--g-brass-light);border-color:var(--g-brass-light)}.ib.fav[aria-pressed=true]{color:#e88f82;background:#e88f8224;border-color:#e88f82}.ib.fav[aria-pressed=true] svg{fill:currentColor}.lb-stage{position:relative;overflow:hidden;min-height:0;touch-action:pan-y;user-select:none;-webkit-user-select:none}.lb-img{position:absolute;inset:0;margin:auto;max-width:calc(100% - 2rem);max-height:100%;width:auto;height:auto;object-fit:contain;opacity:0;transform:translate(calc(var(--dir, 0) * 70px)) scale(.97);transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1);cursor:zoom-in;box-shadow:0 10px 60px #0009;-webkit-user-drag:none}.lb-img.in{opacity:1;transform:none}.lb-img.out{opacity:0;transform:translate(calc(var(--dir, 0) * -70px)) scale(.97)}.lb-img.zoomed{transform:scale(2.3);cursor:zoom-out;transition:transform .28s ease}.lb-stage.loading:after{content:"";position:absolute;top:50%;left:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border:3px solid rgba(245,242,232,.15);border-top-color:var(--g-brass-light);border-radius:50%;animation:g-spin .8s linear infinite}@keyframes g-spin{to{transform:rotate(360deg)}}.lb-nav{position:absolute;top:50%;z-index:3;width:48px;height:64px;margin-top:-32px;display:grid;place-items:center;color:#f5f2e8;background:#0a0d118c;border:1px solid rgba(245,242,232,.22);border-radius:2px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.lb-nav svg{width:24px;height:24px}.lb-nav:hover{background:#a8823cd9;color:#1c1b17;border-color:var(--g-brass-light)}.lb-nav:focus-visible{outline:3px solid var(--g-brass-light)}.lb-prev{left:.8rem}.lb-next{right:.8rem}.lb-bottom{padding:.3rem 1rem 1rem}.lb-progress{height:2px;background:#f5f2e81a;margin-bottom:.8rem;overflow:hidden}.lb-progress i{display:block;height:100%;width:0;background:var(--g-brass-light)}.lb-progress i.run{animation:lb-prog var(--lb-dur, 4.5s) linear forwards}@keyframes lb-prog{0%{width:0}to{width:100%}}.lb-caption{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem 2rem;max-width:1100px;margin:0 auto .8rem}.lb-cap-text{font-family:var(--font-primary);font-style:italic;font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.35;margin:.25rem 0 0;color:#f5f2e8}.lb-count{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.18em;color:var(--g-brass-light);white-space:nowrap}.lb-strip{display:flex;justify-content:center;gap:6px;min-height:52px;overflow:hidden}.lb-thumb{flex:0 0 auto;width:66px;height:50px;padding:0;border:2px solid transparent;background:#19212a;border-radius:2px;cursor:pointer;opacity:.5;overflow:hidden;transition:opacity .25s,border-color .25s,transform .25s}.lb-thumb img{width:100%;height:100%;object-fit:cover;display:block}.lb-thumb:hover{opacity:.9}.lb-thumb.on{opacity:1;border-color:var(--g-brass-light);transform:translateY(-3px)}.lb-hint{text-align:center;margin:.7rem 0 0;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:#f5f2e861}.lb-hint kbd{font:inherit;border:1px solid rgba(245,242,232,.25);padding:0 .35rem;border-radius:2px;margin:0 .15rem}.g-toast{position:fixed;left:50%;bottom:1.4rem;z-index:10000;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#faf7ef;color:#211f1a;border-left:4px solid var(--g-brass);padding:.7rem 1.1rem;font-family:var(--font-primary);box-shadow:3px 3px #00000059;transition:opacity .3s,transform .3s;max-width:90vw}.g-toast.show{opacity:1;transform:translate(-50%)}@media (max-width: 768px){.g-hero-inner{padding:6rem 1rem 2.2rem}.g-controls-inner{padding:.6rem .9rem;gap:.7rem}.g-filters{flex-wrap:nowrap;overflow-x:auto;flex:1 1 100%;order:3;scrollbar-width:none;padding-bottom:2px}.g-filters::-webkit-scrollbar{display:none}.g-actions{margin-left:auto}.g-btn span{display:none}.g-btn{padding:.55rem .7rem}.g-intro{padding:1.6rem .9rem 1.1rem}.g-grid{padding:0 .9rem 3.5rem;--g-gap: 10px}.lb-brand,.lb-hint,.lb-strip{display:none}.lb-nav{width:40px;height:54px;margin-top:-27px}.lb-prev{left:.4rem}.lb-next{right:.4rem}.lb-img{max-width:100%}.ib{width:40px;height:40px}}@media (prefers-reduced-motion: reduce){.g-tile{opacity:1;transform:none;transition:none;animation:none}.g-tile img,.g-meta,.g-fav,.lb-img{transition:none}.g-hero-slide.on{animation:none;transform:none}.g-tile:hover img{transform:none}}
