/* Shared project layout, introduced on Fido before rolling out to other works. */
:root{--pad:clamp(24px,5vw,80px)}
.page{padding:0}
.frame{border:0;border-radius:0;background:none;min-height:100svh}
.shell{padding:0 var(--pad) 16px;gap:24px}
.nav{height:78px;grid-template-columns:minmax(0,1fr) auto;align-items:center;font-size:11px;letter-spacing:.18em}
.home-wordmark img{height:27px}
.home-wordmark span{letter-spacing:.18em}
.nav-links{gap:28px;align-items:center}
.work-layout{grid-template-columns:minmax(280px,.85fr) minmax(0,1.35fr);gap:clamp(40px,6vw,90px);padding:22px 0 0;border:0;border-radius:0;background:none;box-shadow:none}
.wall-label{padding:0 12px 35px 0}
.back-bin-link{display:inline-block;margin-bottom:38px;justify-self:start;text-align:left;font:400 10px/1.5 Inter,sans-serif;letter-spacing:.03em;color:#e24a1a}
.kicker{font:400 10px/1.6 Inter,sans-serif;letter-spacing:.03em;margin:0 0 14px;color:#686761;text-transform:none}
h1{font:450 clamp(54px,6vw,88px)/1.05 Inter,sans-serif;letter-spacing:-.055em;margin:0 0 28px}
.notes{margin:0;padding:0;border:0;font:400 14px/1.8 Inter,sans-serif;color:#686761}
.notes p{margin:0 0 24px}
.notes p:first-child{font-size:clamp(20px,2vw,27px);line-height:1.4;letter-spacing:-.025em;color:#111}
.project-details{margin-top:32px;border-top:1px solid #dedbd3;padding-top:16px}
.exhibition-credit{margin:24px 0 0;font:400 12px/1.7 Inter,sans-serif;color:#686761}
.project-details summary{font:400 12px/1.5 Inter,sans-serif;color:#111;cursor:pointer;padding:4px 0}
.project-details summary::marker{color:#e24a1a}
.project-details summary:focus-visible{outline:2px solid #e24a1a;outline-offset:5px}
.project-details .tags{margin:22px 0}
.project-details .tags span{font:400 10px/1.5 Inter,sans-serif;text-transform:none;letter-spacing:0;border-color:#dedbd3;border-radius:3px}
.project-details .tombstone{font:400 12px/1.7 Inter,sans-serif;border:0;padding-top:0;gap:18px}
.project-details .tombstone span{font:400 9px/1.5 Inter,sans-serif;text-transform:none;letter-spacing:.03em}
.media-column{padding:0 6px 60px 0}
.media-viewer{--media-rail-width:48px;--media-rail-gap:24px}
.media-item img,.media-item video,.media-item iframe{box-shadow:none;border-radius:0}
.media-item.hero img,.media-item.hero video{max-height:calc(100dvh - 220px)}
.media-rail{height:calc(100dvh - 220px);max-height:calc(100dvh - 220px);gap:18px}
.related-title{font:450 17px/1.4 Inter,sans-serif;letter-spacing:-.02em}
.related-kicker{font:400 9px/1.5 Inter,sans-serif;letter-spacing:.04em;text-transform:none}
.related-meta{font:400 9px/1.5 Inter,sans-serif;text-transform:none;letter-spacing:0}
.site-footer{max-width:none;flex-direction:row}
@media(min-width:901px){
 .frame{height:100dvh}
 .shell{height:100%;grid-template-rows:78px minmax(0,1fr) auto}
 .wall-label{position:static;max-height:100%;overflow-y:auto}
}
@media(max-width:900px){
 html,body{height:auto;overflow-y:auto}
 .shell{--mobile-content-max:100%;padding:0 var(--pad) 16px;gap:28px}
 .nav{max-width:none;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:12px;font-size:10px}
 .nav-links{grid-column:2;grid-row:1;justify-self:end;gap:16px}
 .home-wordmark{gap:8px}.home-wordmark img{height:24px}.home-wordmark span{font-size:9px;letter-spacing:.12em}
 .work-layout{grid-template-columns:1fr;gap:45px;padding:10px 0 25px}
 .wall-label{padding:0;position:static}
 .back-bin-link{margin-bottom:28px}
 h1{font-size:64px}
 .media-column{padding:0;max-width:100%}
 .media-item.hero img,.media-item.hero video{max-height:none}
.site-footer{max-width:none;flex-direction:row}
}

/* One gallery surface: controls, a fitted media stage, then a horizontal filmstrip. */
.media-column{display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:0;min-height:0;height:100%}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;min-height:28px;color:#686761}
.gallery-status{font:400 10px/1.5 Inter,sans-serif;letter-spacing:.04em}
.gallery-controls>div{display:flex;gap:16px}
.gallery-controls button{border:0;background:none;color:#111;font:400 20px/1 Inter,sans-serif;min-width:30px;min-height:30px;padding:0;cursor:pointer}
.gallery-controls button:hover{color:#e24a1a}
.gallery-controls button:disabled{opacity:.25;cursor:default}
.gallery-controls button:focus-visible{outline:2px solid #e24a1a;outline-offset:3px}
.media-viewer{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:18px;height:100%;min-height:0}
.media-stack,#galleryItems{display:contents}
.media-stack>.media-caption{display:none}
.media-item.visible{display:none;content-visibility:visible;contain-intrinsic-size:none}
.media-item.visible.is-current{display:flex;grid-column:1;grid-row:1;align-self:stretch;min-height:0;gap:14px;justify-content:center}
.media-item img,.media-item video,.media-item.hero img,.media-item.hero video{width:auto;max-width:100%;height:auto;max-height:calc(100% - 65px);min-height:0;flex:0 1 auto;object-fit:contain}
.media-item.is-current iframe{width:100%;height:auto;aspect-ratio:16 / 9;max-height:calc(100% - 65px);min-height:0;flex:0 1 auto;border:0}
.media-item .model-viewer{display:block;width:100%;height:calc(100% - 65px);max-height:calc(100% - 65px);min-height:0;aspect-ratio:auto;flex:1 1 0}
.media-item figcaption{width:100%!important;flex:0 0 auto;max-height:50px;overflow-y:auto;margin:0;font:400 11px/1.5 Inter,sans-serif;letter-spacing:0;text-transform:none;text-align:left;color:#686761}
.media-rail{position:relative;top:auto;grid-column:1;grid-row:2;display:flex;flex-direction:row;gap:10px;width:100%;height:74px;max-height:none;overflow-x:auto;overflow-y:hidden;padding:4px 2px 10px;overscroll-behavior:contain;scrollbar-width:thin}
.media-thumb{flex:0 0 56px;width:56px;height:56px;aspect-ratio:1;border-color:#dedbd3;border-radius:0;opacity:.5}
.media-thumb.active{transform:none;box-shadow:none;border-color:#e24a1a;opacity:1}
.media-thumb.is-video{position:relative}
.media-thumb.is-video::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.13) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M7 3v18l15-9Z'/%3E%3C/svg%3E") center/14px 14px no-repeat;pointer-events:none}
.single-media .gallery-controls>div,.single-media .media-rail{display:none}
.single-media .media-viewer{grid-template-rows:minmax(0,1fr)}
@media(max-width:900px){
 .media-column{height:auto;overflow:visible}
 .media-viewer{height:auto;grid-template-rows:minmax(300px,65svh) auto}
 .media-item.visible.is-current{max-width:100%;width:100%;height:100%}
 .single-media .media-viewer{grid-template-rows:minmax(300px,65svh)}
}
