.photo{position:relative;z-index:1;min-width:0;width:100%;min-height:calc(100vh - 44px);background:#050505;color:var(--paper);padding-top:88px}.photo__intro{position:relative;z-index:2;padding:0 32px 26px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;border-bottom:1px solid rgba(246,245,242,.14)}.photo__intro h1{margin:0;font-family:var(--display);font-weight:460;font-size:clamp(26px,4vw,34px);letter-spacing:-.01em}.photo__controls{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.photo__years{display:flex;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.photo__years a{background:none;border:none;color:rgba(246,245,242,.5);cursor:pointer;padding:10px 0;font:inherit;letter-spacing:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;z-index:1;text-decoration:none}.photo__years a[aria-current=page]{color:var(--paper)}.photo__years a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor}.photo__view-toggle{display:flex;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.photo__view-toggle a{background:none;border:1px solid rgba(246,245,242,.3);color:rgba(246,245,242,.6);padding:8px 14px;cursor:pointer;font:inherit;letter-spacing:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;z-index:1;text-decoration:none}.photo__view-toggle a[aria-current=page]{color:var(--ink);background:var(--paper);border-color:var(--paper)}.photo__stage{position:relative;z-index:1;min-width:0;max-width:100%;overflow-x:hidden;padding:26px 32px 100px}.photo__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}@media (max-width:980px){.photo__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.photo__grid{grid-template-columns:repeat(2,1fr)}}.photo__tile{position:relative;aspect-ratio:4/5;overflow:hidden;background:#111;margin:0}.photo__tile-hit{position:absolute;inset:0;z-index:2;width:auto;height:auto;padding:0;margin:0;border:none;background:transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(246,245,242,.08);appearance:none;-webkit-appearance:none}.photo__tile img,.photo__tile svg{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none;-webkit-user-drag:none;transition:transform .6s var(--ease),filter .6s var(--ease);filter:grayscale(1) contrast(1.15)}.photo__tile figcaption{position:absolute;left:8px;bottom:6px;z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:rgba(246,245,242,.75);opacity:0;transition:opacity .3s var(--ease);pointer-events:none}@media (hover:hover) and (pointer:fine){.photo__tile:hover img,.photo__tile:hover svg{transform:scale(1.045)}.photo__tile:hover figcaption{opacity:1}}.photo__slider .photo__tile-hit{touch-action:pan-x pinch-zoom}@media (hover:none){.photo__tile figcaption{opacity:.85}}.photo__slider{display:flex;flex-wrap:nowrap;gap:14px;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:18px;padding-bottom:14px;-webkit-overflow-scrolling:touch;touch-action:pan-x pinch-zoom;overscroll-behavior-x:contain}.photo__slider .photo__tile{flex:0 0 auto;width:min(72vw,560px);max-width:85vw;aspect-ratio:3/4;scroll-snap-align:center}.photo__slider::-webkit-scrollbar{height:4px}.photo__slider::-webkit-scrollbar-thumb{background:rgba(246,245,242,.3)}.lightbox{position:fixed;inset:0;z-index:9999;width:100vw;height:100dvh;margin:0;padding:0;background:#050505;color:var(--paper);flex-direction:column;touch-action:none;overscroll-behavior:none;isolation:isolate}.lightbox,.lightbox__stage{box-sizing:border-box;display:flex;align-items:stretch;justify-content:center}.lightbox__stage{width:100%;flex:1 1 auto;min-height:0;flex-direction:column;gap:8px;padding:56px 14px 72px}.lightbox__frame{margin:0;width:100%;max-height:calc(100dvh - 180px);min-height:42vh;display:flex;align-items:center;justify-content:center;background:#0a0a0a}.lightbox__frame img,.lightbox__frame svg{display:block;width:100%;height:auto;max-width:100%;max-height:calc(100dvh - 180px);object-fit:contain;filter:grayscale(1) contrast(1.15);pointer-events:none;user-select:none;-webkit-user-drag:none}.lightbox__nav{box-sizing:border-box;width:100%;align-items:center;flex-shrink:0;padding:0}.lightbox__caption,.lightbox__nav{display:flex;justify-content:space-between}.lightbox__caption{position:absolute;left:18px;right:18px;bottom:max(18px,env(safe-area-inset-bottom));align-items:baseline;gap:16px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:rgba(246,245,242,.7);text-transform:uppercase;pointer-events:none;z-index:2}.lightbox__count{flex:0 0 auto;color:rgba(246,245,242,.45)}.lightbox__close,.lightbox__next,.lightbox__prev{z-index:2;background:none;border:none;color:var(--paper);font-family:var(--mono);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.lightbox__next,.lightbox__prev{position:static;line-height:1}.lightbox__close,.lightbox__next,.lightbox__prev{padding:12px 14px;font-size:14px;letter-spacing:.1em;text-shadow:0 1px 2px rgba(0,0,0,.9)}.lightbox__close{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));text-transform:uppercase}.photo__note{margin:30px 32px 0;padding:16px 18px;border:1px dashed rgba(246,245,242,.25);font-family:var(--mono);font-size:11px;color:rgba(246,245,242,.6);max-width:720px}@media (max-width:780px){.photo{padding-top:80px}.photo__intro,.photo__stage{padding-left:18px;padding-right:18px}.photo__intro{align-items:flex-start;flex-direction:column;gap:18px}.photo__controls{width:100%;justify-content:space-between;gap:14px}.photo__years{gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:calc(100% - 140px)}.photo__years::-webkit-scrollbar{display:none}.photo__view-toggle,.photo__years a{flex:0 0 auto}.photo__slider .photo__tile{width:min(78vw,560px)}.lightbox__stage{padding:56px 14px 72px}.lightbox__frame{min-height:45vh}.lightbox__frame img,.lightbox__frame svg{max-height:calc(100dvh - 170px)}}