*{box-sizing:border-box}
:root{font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff;font-synthesis:none}
body{margin:0;padding:0 24px}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.masthead{padding:42px 0 44px}
h1{font-family:Didot,"Bodoni MT","Times New Roman",serif;font-size:clamp(32px,5.15vw,100px);font-weight:400;letter-spacing:-.035em;line-height:1.05;margin:0;text-align:center;text-wrap:balance}
h1 span{letter-spacing:-.065em}
.byline{display:flex;justify-content:space-between;margin-top:24px;font-size:11px;letter-spacing:.065em}
.collection-label{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #111;padding:12px 0;font-size:10px;letter-spacing:.08em}
h2{font-size:inherit;font-weight:400;margin:0}
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px}
.photograph{position:relative;display:block;overflow:hidden;grid-column:span 7;aspect-ratio:1.75;background:#eee}
.photograph:nth-child(8n+2){grid-column:span 5;aspect-ratio:1.25}
.photograph:nth-child(8n+3){grid-column:span 4;aspect-ratio:1.05}
.photograph:nth-child(8n+4){grid-column:span 8;aspect-ratio:2.1}
.photograph:nth-child(8n+5){grid-column:span 12;aspect-ratio:2.5}
.photograph:nth-child(8n+6){grid-column:span 5;aspect-ratio:1.5}
.photograph:nth-child(8n+7){grid-column:span 7;aspect-ratio:2.1}
.photograph:nth-child(8n+8){grid-column:span 12;aspect-ratio:2.65}
.photograph img{width:100%;height:100%;object-fit:cover;display:block}
.photo-number{position:absolute;bottom:12px;left:14px;font-size:10px;color:white;mix-blend-mode:difference;pointer-events:none}
footer{display:flex;justify-content:space-between;gap:20px;padding:24px 0 36px;font-size:9px;letter-spacing:.06em}
.viewer{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;padding:0;margin:0;border:0;background:white;color:#111;overflow:hidden}
.viewer[open]{display:flex;flex-direction:column}
.viewer::backdrop{background:white}
.viewer-toolbar,.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;padding:20px 24px;font-size:11px;letter-spacing:.05em}
.viewer-toolbar{padding-top:max(20px,env(safe-area-inset-top))}
.viewer-bottom{padding-bottom:max(20px,env(safe-area-inset-bottom))}
.viewer button{background:none;border:0;padding:8px 0;letter-spacing:inherit;font-size:inherit}
.viewer-zone{position:absolute;z-index:2;top:0;bottom:26px;width:16%;padding:0!important}
.viewer-zone-previous{left:0}
.viewer-zone-next{right:0}
.viewer-count{color:#666;font-variant-numeric:tabular-nums}
.image-stage{flex:1;min-height:0;position:relative;margin:0 12px;touch-action:pan-y pinch-zoom}
.viewer-image{display:block;position:absolute;top:0;left:0;width:100%;height:calc(100% - 26px);object-fit:contain}
.image-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;font-size:11px;background:white;padding:8px}
.image-status:empty{display:none}
.viewer-title{font-size:10px;color:#666}
.viewer-meta{position:absolute;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;font-size:10px;line-height:14px;letter-spacing:.05em}
.viewer-source{font-size:9px;letter-spacing:.08em;color:#555}
@media(min-width:1800px){body{padding:0 36px}}
@media(max-width:650px){body{padding:0 10px}.masthead{padding:27px 0 30px}h1{font-size:clamp(28px,7.55vw,49px);line-height:1.08}.byline{font-size:8px;margin-top:16px}.byline span:last-child{display:none}.collection-label{font-size:9px;padding:10px 0}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photograph:nth-child(n){grid-column:span 2;aspect-ratio:1.8}.photograph:nth-child(8n+2),.photograph:nth-child(8n+3){grid-column:span 1;aspect-ratio:.85}footer{font-size:8px;flex-wrap:wrap;gap:16px}.viewer-toolbar,.viewer-bottom{padding-left:14px;padding-right:14px;font-size:10px}.image-stage{margin:0 5px}.viewer-title{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
