.gallery-page{--gallery-ink:#10110f;--gallery-paper:#eceee7;--gallery-soft:#dfe4db;--gallery-line:#afb5aa;background:var(--gallery-paper);min-height:100vh;color:var(--gallery-ink);overflow:visible}.gallery-nav{z-index:20;min-height:72px;color:var(--white);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#10110ff0;border-bottom:1px solid #30312e;justify-content:space-between;align-items:center;gap:24px;padding:0 30px;display:flex;position:sticky;top:0}.gallery-home-link{text-transform:uppercase;align-items:center;gap:8px;font:700 .62rem/1 Courier New,monospace;display:inline-flex}.gallery-home-link:hover{color:var(--lime)}.gallery-nav-context{text-transform:uppercase;justify-items:center;gap:3px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.gallery-nav-context strong{font-size:.78rem}.gallery-nav-context small{color:#93968d;font:400 .52rem/1 Courier New,monospace}.gallery-hero{border-bottom:1px solid var(--gallery-ink);background:var(--gallery-ink);min-height:180px;color:var(--white);display:grid}.gallery-hero-copy{grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:center;gap:40px;padding:38px 52px;display:grid}.gallery-empty>p,.gallery-viewer header span,.gallery-viewer footer{text-transform:uppercase;font-family:Courier New,monospace}.gallery-hero h1{max-width:760px;margin:0;font-size:clamp(2.8rem,4.5vw,5rem);font-weight:400;line-height:.9}.gallery-hero-copy>p:last-child{color:#b9bbb4;max-width:620px;margin:0;font-size:1.05rem;line-height:1.65}.gallery-feed-section{padding:0 32px 72px}.gallery-empty>button{border:1px solid var(--gallery-ink);min-height:40px;color:inherit;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:9px;padding:0 14px;font:700 .62rem/1 Courier New,monospace;display:inline-flex}.gallery-empty>button:hover{border-color:var(--orange);background:var(--orange);color:var(--gallery-ink)}.gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;background:var(--gallery-ink);grid-auto-rows:8px;gap:2px;padding-top:2px;display:grid}.gallery-frame{grid-column:span 4;grid-row:span var(--gallery-row-span,38);background:var(--gallery-paper);min-width:0;min-height:0;display:grid}.gallery-frame.frame-pattern-0{--gallery-row-span:57;grid-column:span 7}.gallery-frame.frame-pattern-1,.gallery-frame.frame-pattern-2{--gallery-row-span:29;grid-column:span 5}.gallery-frame.frame-pattern-3{--gallery-row-span:48;grid-column:span 4}.gallery-frame.frame-pattern-4{--gallery-row-span:29;grid-column:span 4}.gallery-frame.frame-pattern-5{--gallery-row-span:38;grid-column:span 4}.gallery-frame.frame-pattern-6{--gallery-row-span:38;grid-column:span 8}.gallery-frame>button{width:100%;height:100%;min-height:0;color:inherit;cursor:zoom-in;background:#cdd2c9;border:0;border-radius:0;padding:0;display:block;position:relative;overflow:hidden}.gallery-frame>button>img,.gallery-frame>button>video{object-fit:cover;width:100%;height:100%;transition:filter .32s,transform .52s cubic-bezier(.22,1,.36,1);display:block}.gallery-frame>button:hover>img,.gallery-frame>button:hover>video{filter:saturate(1.08)contrast(1.03);transform:scale(1.035)}.gallery-frame-overlay{color:var(--white);opacity:0;background:linear-gradient(#0507057a,#0000 42%);justify-content:space-between;align-items:flex-start;padding:14px;font:700 .62rem/1 Courier New,monospace;transition:opacity .18s;display:flex;position:absolute;inset:0}.gallery-frame>button:hover .gallery-frame-overlay,.gallery-frame>button:focus-visible .gallery-frame-overlay{opacity:1}.gallery-frame.is-video .gallery-frame-overlay{opacity:.72;background:linear-gradient(#0507056b,#0000 38%),linear-gradient(#0000 70%,#05070547)}.gallery-video-state{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#080a087a;border:1px solid #ffffffb3;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;bottom:13px;right:13px}.gallery-image-fallback{background:linear-gradient(#10110f14 1px, transparent 1px), linear-gradient(90deg, #10110f14 1px, transparent 1px), var(--gallery-soft);background-size:24px 24px;place-content:center;justify-items:center;gap:14px;width:100%;height:100%;padding:22px;display:grid}.gallery-image-fallback small{text-transform:uppercase;max-width:170px;font:700 .58rem/1.45 Courier New,monospace}.gallery-loading,.gallery-empty{border-bottom:1px solid var(--gallery-ink);min-height:520px}.gallery-loading{background:var(--gallery-ink);grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding-top:2px;display:grid;position:relative}.gallery-loading span{background:linear-gradient(110deg, var(--gallery-soft) 20%, #f3f5ee 40%, var(--gallery-soft) 60%);background-size:200% 100%;min-height:460px;animation:1.4s linear infinite gallery-loading-sweep}.gallery-loading p{border:1px solid var(--gallery-ink);background:var(--lime);color:var(--gallery-ink);text-transform:uppercase;align-self:center;margin:0;padding:12px 16px;font:700 .64rem/1 Courier New,monospace;position:absolute;left:50%;transform:translate(-50%)}@keyframes gallery-loading-sweep{to{background-position-x:-200%}}.gallery-empty{text-align:center;place-content:center;justify-items:center;padding:70px 24px;display:grid}.gallery-empty>p{color:#546644;margin:28px 0 18px;font-size:.64rem;font-weight:700}.gallery-empty h2{max-width:760px;margin:0;font-size:clamp(2.5rem,6vw,5rem);font-weight:400;line-height:.95}.gallery-empty>span{color:#60665c;margin-top:24px;font-size:.86rem}.gallery-error>button{margin-top:30px}.empty-contact-sheet{border-top:1px solid var(--gallery-ink);border-left:1px solid var(--gallery-ink);grid-template-columns:repeat(3,1fr);width:min(400px,80vw);display:grid}.empty-contact-sheet span{aspect-ratio:1;border-right:1px solid var(--gallery-ink);border-bottom:1px solid var(--gallery-ink);color:#687064;place-items:center;font:700 .6rem/1 Courier New,monospace;display:grid}.empty-contact-sheet span:nth-child(2){background:var(--lime);color:var(--gallery-ink)}.gallery-viewer{z-index:80;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.gallery-viewer-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:zoom-out;background:#050705db;border:0;position:absolute;inset:0}.gallery-viewer-panel{width:min(1180px,100%);max-height:calc(100dvh - 56px);color:var(--white);background:#11130f;border:1px solid #4a4d45;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;box-shadow:0 36px 120px #00000080}.gallery-viewer header,.gallery-viewer footer{justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:10px 14px 10px 20px;display:flex}.gallery-viewer header{border-bottom:1px solid #3e413a}.gallery-viewer header>div{gap:5px;display:grid}.gallery-viewer header span,.gallery-viewer footer time{color:#92968b;font-size:.55rem}.gallery-viewer header strong{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:400}.gallery-viewer header button,.gallery-viewer footer button{width:42px;height:42px;color:var(--white);cursor:pointer;background:0 0;border:1px solid #55594f;border-radius:50%;place-items:center;display:grid}.gallery-viewer header button:hover,.gallery-viewer footer button:hover{border-color:var(--lime);color:var(--lime)}.gallery-viewer-media{background-color:#0c0e0b;background-image:linear-gradient(#20231e 1px,#0000 1px),linear-gradient(90deg,#20231e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;min-height:0;display:grid;overflow:hidden}.gallery-viewer-media img,.gallery-viewer-media video{object-fit:contain;max-width:100%;max-height:calc(100dvh - 184px);display:block}.gallery-viewer-media video{background:#050605;width:100%;height:100%}.gallery-viewer footer{background:0 0;border-top:1px solid #3e413a}.gallery-viewer footer>div{gap:8px;display:flex}.gallery-footer{background:var(--gallery-ink);color:var(--white);border-top:1px solid #383a35;justify-content:space-between;align-items:flex-end;gap:48px;padding:54px 32px;display:flex}.gallery-footer>div{gap:8px;display:grid}.gallery-footer p,.gallery-footer span{margin:0}.gallery-footer p{font-family:Georgia,Times New Roman,serif;font-size:1.4rem}.gallery-footer span{color:#94978f;text-transform:uppercase;font:400 .58rem/1.4 Courier New,monospace}.gallery-footer a{color:var(--lime);align-items:center;gap:9px;font-size:.75rem;font-weight:700;display:inline-flex}html[data-theme=light] .gallery-nav{color:var(--gallery-ink);background:#f7f8f2f0;border-color:#c5cabf}html[data-theme=light] .gallery-nav-context small{color:#62675e}html[data-theme=light] .gallery-home-link:hover{color:var(--green-ink)}html[data-theme=light] .gallery-hero{color:var(--gallery-ink);background:#e4e9e1;border-color:#aeb5a9}html[data-theme=light] .gallery-hero-copy>p:last-child{color:#4f574d}html[data-theme=dark] .gallery-page{--gallery-paper:#252923;--gallery-soft:#343a32;--gallery-line:#565d52;color:#f2f3ec}html[data-theme=dark] .gallery-empty>span{color:#aeb4aa}html[data-theme=dark] .gallery-empty>button,html[data-theme=dark] .empty-contact-sheet,html[data-theme=dark] .empty-contact-sheet span,html[data-theme=dark] .gallery-loading,html[data-theme=dark] .gallery-empty{border-color:#747a70}html[data-theme=dark] .gallery-frame,html[data-theme=dark] .gallery-loading span{background:#252923}html[data-theme=dark] .gallery-loading span{background:linear-gradient(110deg,#333831 20%,#454b42 40%,#333831 60%) 0 0/200% 100%}html[data-theme=dark] .gallery-loading p{color:var(--gallery-ink)}html[data-theme=dark] .gallery-empty>p{color:var(--lime)}html[data-theme=dark] .empty-contact-sheet span:nth-child(2){color:var(--gallery-ink)}@media (width<=980px){.gallery-hero{min-height:170px}.gallery-hero-copy{grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:24px;padding:32px 34px}.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.gallery-frame.frame-pattern-0{--gallery-row-span:44;grid-column:span 4}.gallery-frame.frame-pattern-1{--gallery-row-span:27;grid-column:span 2}.gallery-frame.frame-pattern-2{--gallery-row-span:18;grid-column:span 2}.gallery-frame.frame-pattern-3,.gallery-frame.frame-pattern-4,.gallery-frame.frame-pattern-5{--gallery-row-span:35;grid-column:span 3}.gallery-frame.frame-pattern-6{--gallery-row-span:35;grid-column:span 6}}@media (width<=780px){.gallery-nav{min-height:62px;padding:0 18px}.gallery-home-link{margin-left:58px}.gallery-hero{grid-template-columns:1fr;min-height:auto}.gallery-hero-copy{flex-direction:column;justify-content:space-between;align-items:stretch;min-height:260px;padding:28px 22px;display:flex}.gallery-hero h1{padding:22px 0;font-size:clamp(3.1rem,13.5vw,4.5rem);line-height:.92}.gallery-hero-copy>p:last-child{font-size:.88rem;line-height:1.5}.gallery-feed-section{padding:0 0 48px}.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.gallery-frame.frame-pattern-0{--gallery-row-span:34;grid-column:span 4}.gallery-frame.frame-pattern-1{--gallery-row-span:21;grid-column:span 2}.gallery-frame.frame-pattern-2{--gallery-row-span:14;grid-column:span 2}.gallery-frame.frame-pattern-3,.gallery-frame.frame-pattern-4{--gallery-row-span:27;grid-column:span 3}.gallery-frame.frame-pattern-5{--gallery-row-span:21;grid-column:span 2}.gallery-frame.frame-pattern-6{--gallery-row-span:21;grid-column:span 4}.gallery-frame-overlay{padding:9px}.gallery-loading,.gallery-empty{min-height:430px}.gallery-loading span{min-height:410px}.gallery-empty{padding:54px 20px}.gallery-empty h2{font-size:clamp(2.7rem,12vw,4rem)}.gallery-viewer{padding:0}.gallery-viewer-panel{border:0;width:100%;min-height:100dvh;max-height:100dvh}.gallery-viewer-media img,.gallery-viewer-media video{max-height:calc(100dvh - 128px)}.gallery-footer{flex-direction:column;align-items:flex-start;padding:44px 20px}}@media (width<=420px){.gallery-home-link{justify-content:center;min-width:28px;margin-left:54px}.gallery-home-link span{display:none}}@media (prefers-reduced-motion:reduce){.gallery-frame>button>img,.gallery-frame>button>video,.gallery-frame-overlay{transition:none}.gallery-loading span{animation:none}}
