/* PHOTOS only; the shared shell and paper-tone behavior remain untouched. */
.photos-page{min-height:100svh;font-family:var(--mono)}
.photos-head{display:grid;place-items:center;padding:clamp(64px,12svh,128px) 24px clamp(72px,12svh,128px)}
.photo-grid{width:min(1280px,calc(100% - 160px));margin:0 auto;padding:0 0 160px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(64px,8vw,112px) clamp(32px,4vw,64px);align-items:start}
.photo-grid a{display:block;min-width:0}
.photo-grid img{display:block;width:100%;height:auto;border:1px solid #000}
.photo-enlargement{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:64px clamp(24px,6vw,96px);border:0;background:var(--paper);color:var(--ink);cursor:inherit}
.photo-enlargement[open]{display:grid;place-items:center}
.photo-enlargement::backdrop{background:var(--paper)}
.photo-enlargement img{width:auto;height:auto;max-width:100%;max-height:calc(100svh - 128px);border:1px solid #000}
.photo-close{position:absolute;top:24px;right:24px;border:0;padding:4px;background:transparent;color:inherit;font:11px var(--mono);text-transform:uppercase;cursor:inherit}
.photo-close:hover,.photo-close:focus-visible{background:var(--ink);color:var(--paper)}
.photos-page:has(.photo-enlargement[open]){overflow:hidden}
@media(max-width:700px){
  .photos-head{padding:64px 22px 80px}
  .photo-grid{width:calc(100% - 48px);grid-template-columns:1fr;gap:72px;padding-bottom:128px}
}
