/* The Small / Large wordmark is drawn once, with the same outlines at every size. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand-mark{display:block;width:100%;height:auto;overflow:visible;color:inherit}
.logo{width:190px;max-width:48vw;gap:0;line-height:0;flex-shrink:0}
.brand-letter,.brand-small{transform-box:fill-box;transform-origin:50% 100%}
/* A persistent, compact menu: scrolling never removes category access. */
body{padding-top:var(--header)}.admin-body,.embedded-film{padding-top:0}
html{scroll-padding-top:110px}.site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header);background:rgba(247,246,242,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:height .4s var(--ease),background .4s,border-color .4s;view-transition-name:site-header}
.site-header.is-scrolled{height:72px;border-bottom-color:var(--line)}.is-home .site-header{background:rgba(25,25,24,.96);color:var(--paper)}.is-home .site-header.is-scrolled{border-bottom-color:#ffffff20}
.site-header .logo{transition:width .4s var(--ease)}.site-header.is-scrolled .logo{width:164px}
.mobile-nav:not([hidden]){position:fixed;top:var(--menu-top,var(--header));max-height:calc(100dvh - var(--menu-top,var(--header)));overflow:auto;z-index:99}
.work-subnav{z-index:110}.desktop-nav a{padding-block:10px}.desktop-nav a:after{bottom:4px}
/* The opening photographs ARE the collection menu, with visible labels and real scrolling. */
.opening-carousel{display:block;height:auto;min-height:0;max-height:none;padding:25px 0 22px;overflow:hidden;isolation:isolate;background:#191918;color:var(--paper)}
.opening-masthead{display:flex;justify-content:space-between;align-items:end;gap:50px;padding:0 var(--gutter) 35px}
.opening-wordmark{width:min(68%,820px);line-height:0!important;margin:0;perspective:800px}
.opening-wordmark .brand-mark{width:100%;height:auto}.opening-masthead .opening-credit{position:static;margin:0 0 5px;padding:0 0 0 20px;border-top:0;border-left:1px solid #ffffff35;min-width:180px}
.opening-masthead .opening-credit p{font-size:10px}.opening-masthead .opening-credit p:first-child{font-size:12px;margin-bottom:11px}
.opening-gallery{position:relative;--opening-card-width:clamp(320px,40vw,850px);--opening-image-height:clamp(220px,calc(100svh - 500px),560px)}
.opening-track{position:relative;display:flex;align-items:start;gap:clamp(24px,3vw,72px);overflow-x:auto;overflow-y:hidden;padding:24px max(0px,calc((100% - var(--opening-card-width))/2)) 35px;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;touch-action:pan-x pan-y;cursor:grab;perspective:1400px}
.opening-track::-webkit-scrollbar{display:none}.opening-track.is-dragging{cursor:grabbing}
.opening-card{display:block;flex:0 0 var(--opening-card-width);min-width:0;position:relative;scroll-snap-align:center;transform-origin:center center;transform:translateY(var(--card-y,0px)) rotateY(var(--card-angle,0deg)) scale(var(--card-scale,1));will-change:transform;outline-offset:8px}
.opening-image{height:var(--opening-image-height);position:relative;overflow:hidden;background:#292927;isolation:isolate}
.opening-image>img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:transform 1s var(--ease)}
.opening-card:hover .opening-image>img,.opening-card:focus-visible .opening-image>img{transform:scale(1)}
.opening-image-line{position:absolute;inset:0;z-index:2;border:1px solid #ffffff12;pointer-events:none;transition:border-color .5s}.opening-card:hover .opening-image-line{border-color:#ffffff70}
.opening-label{display:grid;grid-template-columns:24px 1fr auto;align-items:baseline;gap:16px;padding-top:19px;opacity:.7;transition:opacity .4s}
.opening-card.is-current .opening-label,.opening-card:hover .opening-label{opacity:1}.opening-label h2{font:500 clamp(20px,2.1vw,36px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.045em}.opening-number,.opening-total{font-size:9px;color:#bbb9b1;font-variant-numeric:tabular-nums}
.opening-navigation{display:flex;align-items:center;gap:30px;margin:0 var(--gutter);padding:17px 0 0;border-top:1px solid #ffffff25;font-size:10px;font-variant-numeric:tabular-nums}
.opening-gesture{color:#b2b0a8}.opening-navigation .arrow-pair{margin-left:auto;gap:35px}.opening-navigation button{padding:6px 0}
.opening-links{display:flex;flex-wrap:wrap;gap:12px 35px;margin:20px var(--gutter) 0;font-size:10px;color:#b6b3ab}.opening-links a{position:relative;padding-bottom:5px;transition:color .25s}.opening-links a:hover,.opening-links a[aria-current]{color:var(--paper)}.opening-links a[aria-current]:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor}
.lens-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .3s;z-index:1}.lens-canvas.is-active{opacity:1}
/* A single interaction language follows the photographs into the work index. */
.work-window{position:sticky;top:105px;align-self:start;height:min(70svh,780px);aspect-ratio:auto;min-height:400px}
.work-view-image{position:relative}.work-row h2,.work-row h3{transition:translate .7s var(--ease),letter-spacing .7s var(--ease)}.work-row.is-active h2,.work-row.is-active h3{letter-spacing:-.07em}
.site-footer .logo{width:210px}.site-footer .logo:hover{transform:none}
@media(min-width:1800px){.opening-carousel{max-height:none}.opening-masthead{max-width:2000px;margin-inline:auto}.opening-masthead .opening-wordmark{width:900px}}
@media(max-width:1050px){.opening-masthead{gap:25px}.opening-gallery{--opening-card-width:54vw;--opening-image-height:clamp(220px,calc(100svh - 460px),500px)}.opening-wordmark{width:70%}.opening-masthead .opening-credit{min-width:150px}.opening-links{gap:15px 26px}}
@media(max-width:700px){.logo{width:164px;max-width:58vw}.site-header.is-scrolled{height:64px}.site-header.is-scrolled .logo{width:148px}.opening-carousel{display:block;min-height:0;height:auto;max-height:none;padding:16px 0 23px}.opening-masthead{display:block;padding:0 var(--gutter) 17px}.opening-wordmark{width:100%;max-width:none}.opening-masthead .opening-credit{display:flex;gap:12px;align-items:center;border:0;padding:0;margin:20px 0 0;min-width:0}.opening-masthead .opening-credit p{font-size:8px;line-height:1.4}.opening-masthead .opening-credit p:first-child{font-size:9px;margin:0}.opening-masthead .opening-credit p:last-child{margin-left:auto}.opening-gallery{--opening-card-width:78vw;--opening-image-height:42svh}.opening-track{gap:22px;padding-top:13px;padding-bottom:27px;perspective:1200px}.opening-label{gap:10px;padding-top:16px;grid-template-columns:20px 1fr auto}.opening-label h2{font-size:23px}.opening-navigation{gap:15px;padding-top:15px;font-size:9px}.opening-navigation .arrow-pair{gap:25px}.opening-links{gap:12px 20px;margin-top:17px;font-size:9px}.work-window{display:none}.site-footer .logo{width:190px}.mobile-nav:not([hidden]){position:fixed;top:var(--menu-top,var(--header))}}
@media(prefers-reduced-motion:reduce){.brand-letter,.brand-small,.opening-card{animation:none!important;transform:none!important}.lens-canvas{display:none}.site-header,.site-header .logo{transition:none}}
.is-draft{padding-top:calc(var(--header) + 36px)}.is-draft .site-header{top:36px}.is-draft .draft-banner{position:fixed;inset:0 0 auto;min-height:36px;z-index:120}.is-draft .mobile-nav:not([hidden]){top:calc(var(--menu-top,var(--header)) + 36px)}

/* Top-level anchors share one line box, including the Work dropdown trigger. */
.desktop-nav{align-items:center}
.desktop-nav>a,.work-navigation>a{display:flex;align-items:center;min-height:40px;line-height:20px;padding:10px 0}
.work-navigation{display:flex;align-items:center}
.header-contact{line-height:20px;padding:10px 0;border-bottom:0}
.header-contact:before{content:'';position:absolute;bottom:4px;left:0;right:0;border-bottom:1px solid #8885}
/* Preserve the entire source portrait, on every screen, at rest and on hover. */
.about-portrait{aspect-ratio:auto;overflow:visible;top:110px;align-self:start}
.about-portrait img,.about-portrait:hover img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;transform:none;transition:none}
@media(max-width:700px){.about-portrait{position:relative;top:auto;aspect-ratio:auto}}

.mobile-photo-list {display:grid;gap:32px;margin-block:20px 36px}
.mobile-photo-list figure {margin:0}
.mobile-photo-list img {width:100%;height:auto;object-fit:contain}
.mobile-photo-list figcaption {margin-top:8px}
.mobile-photo-empty {margin:32px 0 48px}
.mobile-photo-empty a {display:inline-block;margin-top:14px}
[data-gallery-output]>.gallery-tools {justify-content:flex-end;margin:0 0 12px}
.mobile-photo-list {margin-inline:calc(-1 * var(--gutter))}
.mobile-photo-list a {display:block}
.mobile-photo-list figcaption {display:flex;justify-content:space-between;gap:12px;padding:0 var(--gutter)}
.mobile-photo-list figure {scroll-margin-top:var(--header)}
.mobile-viewer[open] {position:fixed;inset:0;margin:0;border:0;background:#151514;color:white;padding:0;width:100%;height:100dvh;max-width:none;max-height:none;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.mobile-viewer::backdrop {background:#151514}
body:has(.mobile-viewer[open]) {overflow:hidden}
.mobile-viewer-bar,.mobile-viewer-nav {display:flex;align-items:center;padding:6px 16px;gap:12px}
.mobile-viewer-bar {padding-top:max(6px,env(safe-area-inset-top))}
.mobile-viewer-bar span {margin-right:auto;font-variant-numeric:tabular-nums}
.mobile-viewer-nav {justify-content:space-between;padding-bottom:max(6px,env(safe-area-inset-bottom))}
.mobile-viewer button {min-height:44px;padding:0 10px}
.mobile-viewer-stage {overflow:hidden;touch-action:pan-y pinch-zoom}
.mobile-viewer-stage img {width:100%;height:100%;object-fit:contain}
.mobile-viewer-stage.zoomed {overflow:auto;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain}
.mobile-viewer-stage.zoomed img {width:240%;max-width:none;min-height:100%;height:auto}
