.gallery-hero{padding-top:56px;padding-bottom:38px}.gallery-hero-top{display:flex;justify-content:space-between;gap:20px;margin-bottom:48px}.gallery-title-grid{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:50px}.gallery-kicker{color:var(--muted);margin-bottom:17px}.gallery-title-grid h1{font-size:clamp(70px,8.6vw,120px);letter-spacing:-.02em}.gallery-title-grid h1 span{color:var(--red)}.gallery-intro{padding-bottom:8px;max-width:360px;justify-self:end}.gallery-intro p{font-size:14px;color:#b6b9ad;line-height:1.85}.gallery-jump{display:flex;justify-content:space-between;border-bottom:1px solid #55594b;padding:24px 0 12px;font-size:12px;margin-top:16px}.gallery-jump:hover{color:var(--red)}.gallery-rule{display:flex;justify-content:space-between;margin-top:45px;padding-top:20px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.photo-archive{padding-top:65px;padding-bottom:70px}.archive-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.archive-heading h2{font-size:66px;margin-top:13px}.photo-count{text-align:right;font-size:12px}.photo-count span{display:block;font-size:10px;color:var(--muted);margin-top:8px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}.photo-grid.masonry-ready{grid-auto-rows:8px;row-gap:18px}.photo-card{margin:0;min-width:0}.photo-card-inner{padding:9px 9px 0;border:1px solid #44473c;background:#20221c}.photo-card.photo-wide{grid-column:span 2}.photo-link{position:relative;display:block}.photo-mat{display:flex;justify-content:center;align-items:center;background:#10110e;min-height:110px;overflow:hidden}.photo-mat img{display:block;width:auto;height:auto;max-width:100%;filter:saturate(.82);transition:filter .2s}.photo-link:hover img{filter:saturate(1)}.photo-open{position:absolute;right:10px;bottom:10px;width:32px;height:32px;display:grid;place-items:center;background:var(--paper);color:var(--ink);font-size:19px;opacity:0;transition:opacity .2s}.photo-link:hover .photo-open,.photo-link:focus-visible .photo-open{opacity:1}.photo-card figcaption{padding:13px 4px 15px;font-size:11px;color:#d4d5c9;line-height:1.5;overflow-wrap:anywhere}.gallery-page-copy{padding:0 0 28px;min-height:0;font-size:14px;max-width:800px;color:#c4c7b8}.gallery-page-copy h2{font-size:34px}.gallery-empty{text-align:center;border:1px dashed #55594b;padding:65px 20px;background:repeating-linear-gradient(135deg,transparent 0 14px,#ffffff02 14px 15px)}.empty-mark{color:var(--red);font-size:65px}.gallery-empty h3{margin:18px 0;font-size:42px}.gallery-empty p{font-size:14px;color:var(--muted)}.gallery-empty .owner-note{margin:22px auto;max-width:450px;font-size:12px}.gallery-cta{padding:54px 0;background:var(--paper);color:var(--ink)}.gallery-cta>.wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}.gallery-cta h2{font-size:54px;margin-top:18px}.gallery-cta h2 span{color:#686b5f}.gallery-cta .btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.photo-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px 32px;border:0;background:#11120ff5;color:var(--paper);overscroll-behavior:contain}.photo-dialog::backdrop{background:#000c}.photo-dialog[open]{display:flex;flex-direction:column}.lightbox-top,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0}.lightbox-close,.lightbox-prev,.lightbox-next{background:none;border:1px solid #5e6252;padding:9px 16px;min-width:44px;min-height:44px}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:var(--red);color:var(--ink);border-color:var(--red)}.lightbox-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:20px;align-items:center;flex:1;min-height:0;padding:20px 0}.lightbox-stage figure{margin:0;min-height:0;min-width:0;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:14px}.lightbox-image{max-width:100%;max-height:calc(100dvh - 210px);width:auto;height:auto;object-fit:contain;min-height:0}.lightbox-stage figcaption{font-size:12px;text-align:center;max-width:720px;overflow:auto;max-height:65px}.lightbox-bottom{font-size:11px;padding-top:12px;border-top:1px solid var(--line)}.lightbox-count{color:var(--red);min-width:55px}.lightbox-hint{color:var(--muted)}.lightbox-original{text-decoration:underline;text-underline-offset:4px}.lightbox-loading .lightbox-image{opacity:.3}
@media(max-width:1000px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-title-grid{gap:30px}.gallery-title-grid h1{font-size:9.2vw}.gallery-cta h2{font-size:45px}}
@media(max-width:700px){.gallery-hero{padding-top:32px}.gallery-hero-top{margin-bottom:32px}.gallery-hero-top>.muted{display:none}.gallery-title-grid{grid-template-columns:1fr;gap:25px}.gallery-title-grid h1{font-size:clamp(48px,13vw,90px)}.gallery-intro{justify-self:start;max-width:none;width:100%}.gallery-intro p{font-size:13px}.gallery-jump{max-width:300px;margin-top:0}.gallery-rule{margin-top:30px;font-size:8px;gap:22px}.gallery-rule span:last-child{text-align:right}.photo-archive{padding-top:40px;padding-bottom:45px}.archive-heading h2{font-size:50px}.photo-count{font-size:10px}.photo-count span{max-width:120px;font-size:9px}.photo-grid{grid-template-columns:minmax(0,1fr)}.photo-card.photo-wide{grid-column:auto}.photo-open{opacity:1}.gallery-cta>.wrap{display:block}.gallery-cta h2{font-size:45px}.gallery-cta .btn{margin-top:25px}.photo-dialog{padding:15px}.lightbox-top .eyebrow{font-size:9px}.lightbox-stage{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px}.lightbox-prev,.lightbox-next{min-width:36px;padding:6px}.lightbox-hint{display:none}.lightbox-bottom{font-size:10px}.gallery-empty h3{font-size:34px}.photo-card figcaption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.photo-mat img,.photo-open{transition:none}}
