.project-gallery{padding:15px 3% 45px}.gallery-heading{border-top:1px solid var(--ink);justify-content:space-between;align-items:end;gap:30px;padding:22px 0 32px;display:flex}.gallery-kicker{letter-spacing:.05em;color:var(--muted);margin-bottom:15px;font:10px/1.4 monospace}.gallery-heading h2{letter-spacing:-.06em;font-size:clamp(42px,5vw,78px);line-height:.94}.gallery-heading h2 sup{vertical-align:top;letter-spacing:0;margin:8px 0 0 10px;font:11px monospace}.gallery-note{max-width:290px;color:var(--muted);text-align:right;font:11px/1.5 monospace}.gallery-grid{columns:2;column-gap:14px}.gallery-item{break-inside:avoid;width:100%;min-width:0;margin:0 0 28px}.gallery-item.gallery-panorama{column-span:all}.gallery-frame{color:#f4f1e8;cursor:zoom-in;background:0 0;border:0;place-items:center;width:100%;padding:0;display:grid;position:relative;overflow:hidden}.gallery-frame img{object-fit:contain;width:100%;max-width:100%;height:auto;transition:transform .65s cubic-bezier(.2,.7,.2,1);display:block}.gallery-expand-hint{color:#f4f1e8;letter-spacing:.05em;opacity:0;background:#141412d1;padding:7px 9px;font:8px/1 monospace;transition:opacity .25s,transform .25s;position:absolute;bottom:10px;right:10px;transform:translateY(4px)}.gallery-frame:hover .gallery-expand-hint,.gallery-frame:focus-visible .gallery-expand-hint{opacity:1;transform:none}.gallery-item figcaption{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;padding:8px 0 4px;font:9px/1.4 monospace;display:flex}.gallery-item:hover img{transform:scale(1.012)}.gallery-first figcaption{border-bottom-color:var(--ink);color:var(--ink)}.gallery-lightbox{color:#f4f1e8;background:#141412f7;border:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0}.gallery-lightbox::backdrop{backdrop-filter:blur(8px);background:#141412e0}.lightbox-bar{letter-spacing:.05em;border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;height:64px;padding:0 3%;font:10px/1 monospace;display:flex}.lightbox-close,.lightbox-nav{color:inherit;cursor:pointer;background:0 0;border:0}.lightbox-close{letter-spacing:.05em;padding:16px 0;font:10px/1 monospace}.lightbox-stage{grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;height:calc(100vh - 64px);display:grid}.lightbox-stage figure{grid-template-rows:minmax(0,1fr) 42px;align-items:center;min-width:0;height:100%;margin:0;display:grid}.lightbox-stage img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 120px);margin:auto;display:block}.lightbox-caption{text-align:center;color:#aaa79e;align-self:center;font:9px/1.4 monospace}.lightbox-nav{height:100%;font-size:28px;transition:background .2s}.lightbox-nav:hover{background:#ffffff0f}.gallery-more{border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);width:100%;color:var(--ink);cursor:pointer;letter-spacing:-.035em;text-align:left;background:0 0;justify-content:space-between;align-items:center;margin-top:42px;padding:24px 0;font-size:clamp(18px,2vw,30px);display:flex}.gallery-more span:last-child{letter-spacing:.04em;color:var(--muted);font:11px/1 monospace}.gallery-more:hover span:first-child{text-underline-offset:7px;text-decoration:underline}@media (width<=700px){.project-gallery{padding:0 5% 30px}.gallery-heading{padding:18px 0 24px;display:block}.gallery-heading h2{font-size:42px}.gallery-note{text-align:left;max-width:250px;margin-top:18px}.gallery-grid{columns:1}.gallery-item,.gallery-item.gallery-panorama,.gallery-item.gallery-landscape,.gallery-item.gallery-portrait,.gallery-item.gallery-square{column-span:none;width:100%;margin-bottom:26px}.gallery-item figcaption{gap:6px;font-size:8px}.gallery-item figcaption span:last-child{white-space:nowrap}.gallery-expand-hint{opacity:1;transform:none}.lightbox-bar{height:54px;padding:0 5%}.lightbox-stage{grid-template-columns:44px minmax(0,1fr) 44px;height:calc(100vh - 54px)}.lightbox-stage figure{grid-template-rows:minmax(0,1fr) 38px}.lightbox-stage img{max-height:calc(100vh - 105px)}.lightbox-nav{font-size:22px}}@media (prefers-reduced-motion:reduce){.gallery-item img{transition:none}}
