.cinema-gallery{background:var(--sage);position:relative;color:var(--ink)}.cinema-stage{height:100svh;min-height:760px;padding:38px 0 18px;display:flex;flex-direction:column;overflow:hidden}.cinema-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:0 6vw 24px;gap:25px;flex-shrink:0}.cinema-heading .eyebrow{font-size:9px}.cinema-heading h2{font-size:clamp(35px,3.6vw,55px);margin-top:15px;line-height:1.04}.cinema-heading h2 em{color:#454d42}.cinema-guide{display:flex;align-items:center;gap:20px;padding-bottom:5px}.cinema-guide p{font-size:11px;line-height:1.7}.cinema-guide-line{width:52px;height:1px;background:var(--ink);position:relative}.cinema-guide-line:after{content:'→';position:absolute;right:-4px;top:-10px;font-size:19px}.mobile-guide{display:none}.cinema-viewport{width:100%;flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.cinema-viewport::-webkit-scrollbar{display:none}.cinema-rail{display:flex;align-items:center;width:max-content;gap:40px;padding:18px 6vw 35px;height:100%;will-change:transform}.cinema-card{height:100%;display:block;flex:none;position:relative;scroll-snap-align:center;max-height:570px;outline-offset:6px}.cinema-card:nth-child(even){height:88%;margin-top:25px}.cinema-card figure{margin:0;height:calc(100% - 32px);aspect-ratio:var(--ratio);background:#94978a;position:relative;overflow:hidden}.cinema-card img{width:100%;height:100%;object-fit:contain;transition:filter .35s}.cinema-card:hover img{filter:brightness(1.04)}.cinema-expand{position:absolute;bottom:14px;right:14px;background:var(--cream);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:23px;transition:background .2s,transform .2s}.cinema-card:hover .cinema-expand{background:var(--paper);transform:rotate(45deg)}.cinema-card figcaption{display:flex;justify-content:space-between;align-items:center;padding-top:13px;gap:25px;font-size:12px;white-space:nowrap}.cinema-card figcaption small{font-size:9px;letter-spacing:.08em}.cinema-controls{display:flex;align-items:center;justify-content:space-between;margin:5px 6vw 0;padding-top:15px;border-top:1px solid #24282440;flex-shrink:0}.cinema-position{display:flex;align-items:center;gap:16px;font-size:11px}.cinema-position>span:first-child{font-family:var(--serif);font-size:25px;min-width:28px}.cinema-line{display:block;position:relative;background:#24282425;width:135px;height:2px}.cinema-line i{position:absolute;inset:0;background:var(--red);transform-origin:left;transform:scaleX(.1667)}.cinema-actions{display:flex;align-items:center;gap:12px}.gallery-arrow{height:44px;width:44px;border:1px solid #24282440;border-radius:50%;font-size:21px;transition:background .2s}.gallery-arrow:hover{background:var(--cream)}.gallery-arrow:disabled{opacity:.3}.cinema-actions #view-collection{display:flex;align-items:center;gap:24px;padding:12px 0 12px 22px;font-size:11px;min-height:44px}.cinema-actions #view-collection span{font-size:20px}.cinema-disclosure{font-size:8px;padding:12px 6vw 0;color:#41473d}.photo-collection{background:var(--paper)}.photo-collection[hidden]{display:none!important}.collection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:40px}.collection-heading h2{margin-top:18px;font-size:50px}.collection-heading h2 em{color:#7a7e71}.collection-heading>.text-link{white-space:nowrap}.photo-collection .gallery-card:nth-child(3n+2){margin-top:45px}.photo-collection .gallery-card figure{aspect-ratio:var(--ratio);max-height:550px}.photo-collection .gallery-card img{object-fit:contain;background:#e2e0d8}.photo-collection .gallery-card:hover img{transform:none}.collection-note{font-size:10px;color:var(--muted);margin-top:35px}.cinema-scroll .cinema-viewport{overflow:hidden;scroll-snap-type:none}.pswp{--pswp-bg:var(--ink);--pswp-icon-color:var(--cream);--pswp-icon-color-secondary:var(--ink);--pswp-icon-stroke-color:var(--ink);--pswp-icon-stroke-width:1px;z-index:1000}.pswp__top-bar{padding:8px 15px}.pswp__counter{font-family:var(--sans);font-size:12px;letter-spacing:.12em}.pswp__button{min-width:50px;min-height:50px}.pswp__scia-caption{position:absolute;bottom:0;left:0;right:0;padding:24px 6vw;background:linear-gradient(transparent,#242824 45%);pointer-events:none;color:var(--paper)}.pswp__scia-caption h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:0 0 5px}.pswp__scia-caption p{font-size:10px;color:var(--sage);margin:0;line-height:1.5}.pswp__scia-caption small{font-size:9px;letter-spacing:.08em;color:var(--cream);display:block;margin-bottom:6px}.pswp__button:focus-visible{outline:2px solid var(--red);outline-offset:-3px}.gallery-load-error{padding:20px 6vw;font-size:13px}
@media(max-width:900px){.cinema-stage{height:auto;min-height:0;padding:40px 0 20px}.cinema-heading{padding:0 7vw 25px;display:block}.cinema-heading h2{font-size:42px;max-width:90%}.cinema-guide{margin-top:20px}.desktop-guide{display:none}.mobile-guide{display:block}.cinema-guide p{font-size:11px}.cinema-guide-line{width:35px}.cinema-viewport{flex:none;height:535px}.cinema-rail{gap:22px;padding:15px 7vw 35px}.cinema-card{max-width:none}.cinema-card figure{max-width:82vw}.cinema-card:nth-child(even){height:91%;margin-top:18px}.cinema-controls{margin:0 7vw;flex-wrap:wrap;gap:16px}.cinema-line{width:70px}.cinema-actions{gap:8px}.gallery-arrow{height:42px;width:42px}.cinema-actions #view-collection{padding-left:8px;gap:12px;font-size:10px}.cinema-disclosure{font-size:8px;padding:15px 7vw 0}.collection-heading{display:block}.collection-heading h2{font-size:43px}.collection-heading>.text-link{margin-top:20px;width:max-content;gap:30px}.photo-collection .gallery-card:nth-child(3n+2){margin-top:0}.photo-collection .gallery-card:nth-child(2n){margin-top:32px}}
@media(max-width:550px){.cinema-heading h2{font-size:36px;max-width:none}.cinema-viewport{height:460px}.cinema-card{height:100%}.cinema-card figure{max-width:79vw}.cinema-card figcaption{font-size:11px;gap:15px}.cinema-position{gap:9px}.cinema-position>span:first-child{font-size:23px;min-width:24px}.cinema-line{width:42px}.cinema-controls{gap:10px}.cinema-actions{gap:6px}.gallery-arrow{width:38px;height:42px}.cinema-actions #view-collection{font-size:9px;padding-left:4px;gap:5px}.cinema-actions #view-collection span{font-size:16px}.cinema-expand{width:34px;height:34px;font-size:21px}.collection-heading h2{font-size:37px}.pswp__scia-caption{padding:20px 7vw}.pswp__scia-caption h3{font-size:26px}.pswp__scia-caption p{font-size:9px;max-width:92%}.pswp__top-bar{padding:4px}.pswp__button--arrow--prev,.pswp__button--arrow--next{top:auto;bottom:115px;height:44px;width:44px}.pswp__button--arrow--prev{left:5px}.pswp__button--arrow--next{right:5px}}
@media(prefers-reduced-motion:reduce){.cinema-card,.cinema-rail{transform:none!important;will-change:auto}.cinema-stage{height:auto;min-height:0}.cinema-viewport{height:530px;flex:none}.cinema-card:hover .cinema-expand{transform:none}}

/* Native sticky containment: no fixed pin, reparenting or injected spacer. */
.cinema-gallery{isolation:isolate;overflow:visible}
.cinema-scroll .cinema-stage{position:sticky;top:0;height:100svh;min-height:0}
@media(min-width:901px) and (max-height:679px){.cinema-stage{height:auto;min-height:0}.cinema-viewport{height:460px;flex:none}.desktop-guide{display:none}.mobile-guide{display:block}}
@media(min-width:901px) and (max-height:800px){.cinema-scroll .cinema-heading h2{font-size:36px}.cinema-scroll .cinema-stage{padding-top:25px}.cinema-scroll .cinema-heading{padding-bottom:12px}}
