html,body{min-height:100%}.photo-page{padding-top:82px;min-height:100dvh;background:var(--paper-cool)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2.5vw,40px);padding:0 var(--page-gutter, 32px) clamp(24px,4vw,40px)}.grid-item{aspect-ratio:1 / 1;background:var(--warm-grey);position:relative;overflow:hidden;cursor:zoom-in}.grid-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .6s ease}.grid-item:hover img{transform:scale(1.03)}.grid-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.placeholder-num{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;font-style:normal;color:var(--stone);opacity:.4}.placeholder-hint{font-size:var(--text-xs);letter-spacing:-.01em;color:var(--stone);font-weight:500}.photo-lightbox{padding:32px 24px}.photo-lb-caption{font-size:var(--text-sm);font-weight:400;color:var(--paper-faint);letter-spacing:-.01em}@media(max-width:767px){.photo-page{padding-top:72px}.grid{grid-template-columns:1fr;gap:clamp(6px,1.5vw,12px);padding:0 var(--page-gutter) 24px}.photo-lightbox{padding:16px var(--page-gutter)}.photo-lb-inner{max-height:80vh}}
