.photography-page .grain-layer{position:absolute;height:320px}
.photo-intro{padding:160px var(--gutter) 44px;background:radial-gradient(ellipse at 90% 12%,#775cba25,transparent 58%),radial-gradient(ellipse at 10% 80%,#e1663118,transparent 65%)}
.photo-intro-top{display:flex;justify-content:space-between;gap:20px;color:var(--muted)}
.photo-intro h1{font-size:clamp(42px,6.4vw,104px);letter-spacing:-.045em;line-height:1.12;margin:24px 0 0;overflow-wrap:anywhere}
.photo-period{color:var(--amber)}
.photo-gallery{padding:0 var(--gutter) 90px;column-count:3;column-gap:24px}
.photo-tile{position:relative;display:block;break-inside:avoid;margin-bottom:24px;cursor:zoom-in;isolation:isolate}
.photo-tile img{display:block;width:100%;height:auto}
.photo-enlarge{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;background:#090909b3;border:1px solid #ffffff50;border-radius:50%;font-size:19px;color:#fff;opacity:0;transition:opacity .2s}
.photo-tile:hover .photo-enlarge,.photo-tile:focus-visible .photo-enlarge{opacity:1}
.photo-footer{border-top:1px solid var(--line);align-items:center;flex-wrap:wrap}
.photo-footer .email-link{font-size:14px}
.photo-viewer{width:min(1600px,96vw);max-width:96vw;height:96vh;height:96dvh;max-height:96dvh;padding:12px 20px;border:1px solid var(--line);overflow:hidden;background:#090909}
.photo-viewer[open]{display:flex;flex-direction:column;gap:8px}
.photo-viewer::backdrop{background:#000e}
.photo-viewer-toolbar,.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;font-family:'Courier New',monospace;font-size:14px}
.photo-viewer button{min-height:44px;padding:8px 10px;color:var(--paper);background:transparent;border:0;cursor:pointer;font-family:inherit;font-size:14px}
.photo-viewer button:hover{color:var(--amber)}
.photo-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.photo-full{display:block;width:100%;height:100%;object-fit:contain}
.photo-counter{color:var(--muted);padding-left:10px}
@media(max-width:1000px){.photo-gallery{column-count:2;column-gap:20px}.photo-tile{margin-bottom:20px}}
@media(max-width:850px){.photo-intro{padding-top:166px}}
@media(max-width:600px){
 .photo-intro{padding-bottom:30px}
 .photo-intro-top{gap:10px;flex-wrap:wrap}
 .photo-intro-top .mini-label{font-size:12px;letter-spacing:.03em}
 .photo-intro h1{font-size:clamp(34px,8.6vw,52px);margin-top:20px}
 .photo-gallery{column-count:1;padding-bottom:44px}
 .photo-tile{margin-bottom:22px}
 .photo-footer{gap:18px}
 .photo-footer .email-link{order:3;flex-basis:100%;width:fit-content;flex-grow:0}
 .photo-viewer{padding:8px;width:100%;max-width:100%;height:100vh;height:100dvh;max-height:100dvh;border:0}
 .photo-enlarge{opacity:1;width:30px;height:30px;font-size:16px}
}
