.work-section{padding-top:60px;padding-bottom:80px;min-height:0}
.hero-foot{padding-bottom:0}
.section-jump{font-size:14px;border-bottom:1px solid #64645f;padding:10px 0;line-height:1.5}
.section-note{font-size:14px;color:var(--sub);margin:0;line-height:1.6}
#spaceView{margin-top:16px}
#spaceCanvas{height:65svh;min-height:430px;max-height:800px;background:#080808}
#spaceCanvas canvas{touch-action:pan-y}
#spaceCanvas.unavailable{height:160px;min-height:160px}
.space-source{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.space-instructions{padding:0;font-size:14px}
.film-index{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.film-link{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:24px 18px;gap:8px;border-right:1px solid var(--line);transition:background .2s}
.film-link:last-child{border-right:0}
.film-link:hover,.film-link:focus-visible{background:#181818}
.film-link>span{font-size:18px;font-weight:400;letter-spacing:-.035em}
.film-link small{font-size:12px;color:var(--sub);line-height:1.5}
.photography-section{padding:0 4vw 90px}
.campaign{padding:65px 0 0;min-width:0}
.campaign-header{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:5vw;padding-bottom:28px}
.campaign-header h3{font:300 clamp(30px,4vw,60px)/1.05 Manrope,Arial,sans-serif;letter-spacing:-.05em;margin:0 0 16px}
.campaign-line{font-size:16px;color:#b5b6b1;margin:0;line-height:1.6}
.campaign-copy{max-width:620px}
.campaign-copy p{font-size:16px;line-height:1.7;color:#c2c3be;margin:0 0 12px}
.campaign-copy p+p{color:#92948d;margin-bottom:0}
.campaign-track{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#686a62 #131413;padding:0 0 14px;position:relative;align-items:center}
.campaign-slide{height:clamp(330px,57svh,680px);flex:0 0 auto;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;padding:0;background:#101010;max-width:82vw}
.campaign-slide img{display:block;height:100%;width:auto;max-width:82vw;object-fit:contain}
.campaign-slide:hover img{opacity:.94}
.campaign-controls{display:flex;align-items:center;justify-content:space-between;padding:14px 0 28px;gap:18px;border-bottom:1px solid var(--line);color:var(--sub);font-size:13px}
.campaign-controls>div{display:flex;align-items:center;gap:24px}
.campaign-controls button{font-size:14px;min-height:44px;color:var(--text);padding:6px 0}
.campaign-counter{font-size:12px;min-width:58px;text-align:center}
@media(max-width:900px){.film-link{padding:20px 10px}.film-link>span{font-size:16px}.campaign-header{gap:32px}}
@media(max-width:600px){
 .work-section{padding-top:42px;padding-bottom:60px}
 .photography-section{padding:0 6% 60px}
 .section-top h2{font-size:36px}
 .section-jump{font-size:14px}
 #spaceCanvas{height:120vw;min-height:440px;max-height:650px}
 .space-instructions{font-size:12px;padding-top:2px}
 .film-index{margin:0 6%;grid-template-columns:1fr 1fr}
 .film-link{padding:18px 12px;border-bottom:1px solid var(--line)}
 .film-link:nth-child(2n){border-right:0}
 .film-link:last-child{grid-column:1/-1;border-bottom:0}
 .film-link>span{font-size:18px}
 .campaign{padding-top:44px}
 .campaign-header{grid-template-columns:1fr;gap:22px;padding-bottom:24px}
 .campaign-header h3{font-size:36px;margin-bottom:12px}
 .campaign-copy p{font-size:16px}
 .campaign-track{gap:12px;margin-right:-6.82%;padding-right:6%;scroll-padding-right:6%}
 .campaign-slide{height:108vw;min-height:310px;max-height:580px;max-width:82vw}
 .campaign-controls{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 0 20px}
.campaign-controls>div{width:100%;justify-content:space-between}
}

/* Film library: native horizontal scroll with perspective on the sleeves. */
#spaceCanvas.coverflow-host{height:auto;min-height:0;max-height:none;overflow:hidden;touch-action:auto}
.coverflow-track{--cover-width:min(54vw,670px);position:relative;display:flex;gap:0;align-items:center;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:30px max(0px,calc((100% - var(--cover-width))/2)) 40px;cursor:grab;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none}
.coverflow-track::-webkit-scrollbar{display:none}
.coverflow-track.dragging{scroll-snap-type:none;cursor:grabbing}
.coverflow-card{position:relative;flex:0 0 var(--cover-width);width:var(--cover-width);height:clamp(270px,38vw,430px);padding:0;scroll-snap-align:center;scroll-snap-stop:always;outline-offset:-4px}
.coverflow-sleeve{position:relative;display:block;width:100%;height:100%;transform-origin:center;will-change:transform;backface-visibility:hidden;background:#101010;border:1px solid #333;box-shadow:0 22px 35px #0008;pointer-events:none}
.coverflow-sleeve video{display:block;width:100%;height:100%;object-fit:contain;background:#080808}
.coverflow-caption{text-align:center;padding:0 0 30px}
.coverflow-caption h3{font:300 clamp(30px,4vw,52px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.045em;margin:12px 0 9px}
.coverflow-caption p{font-size:14px;color:var(--sub);margin:0 0 22px}
.coverflow-controls{display:flex;justify-content:center;align-items:center;gap:26px;font-size:14px}
.coverflow-controls button{min-height:46px;min-width:64px}
#watchCurrentFilm{background:#eeefed;color:#111;padding:12px 30px}
.film-link[aria-pressed=true]{background:#1c1c1b;box-shadow:inset 0 2px #eeefed}
@media(max-width:600px){.coverflow-track{--cover-width:72vw;padding-top:25px;padding-bottom:28px}.coverflow-card{height:92vw;min-height:280px;max-height:450px}.coverflow-caption{padding:5px 6% 28px}.coverflow-caption h3{font-size:32px}.coverflow-controls{gap:18px}.space-instructions p{max-width:190px}}
@media(prefers-reduced-motion:reduce){.coverflow-sleeve{will-change:auto}}
