.film-index,.film-project { background:var(--paper); }
.film-index { padding:calc(var(--nav-h) + clamp(48px,6vw,96px)) var(--gutter) clamp(100px,12vw,180px); }
.film-index__inner,.film-project__body { max-width:1720px; margin:auto; }
.film-index__heading { display:grid; grid-template-columns:repeat(12,1fr); gap:var(--gutter); align-items:end; }
.film-index__heading .label { grid-column:1/-1; }
.film-index__heading .work-page__title { grid-column:1/8; }
.film-index__heading .work-page__lead { grid-column:9/-1; }
.film-index__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(60px,8vw,130px) var(--gutter); margin-top:clamp(70px,8vw,130px); }
.film-card { display:block; min-width:0; }
.film-card img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; transition:opacity .25s; }
.film-card:hover img { opacity:.85; }
.film-card div { display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:10px; padding-top:22px; }
.film-card__type { grid-column:1/-1; color:var(--ink-2); font-size:13px; }
.film-card h2 { margin:0; font-weight:800; font-size:clamp(24px,2.6vw,42px); line-height:1.25; }
.film-card span { color:var(--ink-2); font-size:14px; }
.film-card:hover h2,.film-card:hover span { color:var(--accent); }
.film-project { padding-top:var(--nav-h); }
.film-project__hero { position:sticky; top:var(--nav-h); display:flex; width:100%; height:calc(100svh - var(--nav-h)); min-height:420px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:none; cursor:grab; }
.film-project__hero::-webkit-scrollbar { display:none; }
.film-project__hero.is-dragging { cursor:grabbing; scroll-snap-type:none; }
.film-project__slide { position:relative; flex:0 0 100%; height:100%; margin:0; overflow:hidden; scroll-snap-align:start; scroll-snap-stop:always; }
.film-project__slide img { display:block; width:100%; height:100%; object-fit:cover; user-select:none; -webkit-user-select:none; }
.film-project__slide--letterboxed img { transform:scale(1.16); }
.film-project__body { position:relative; z-index:1; isolation:isolate; padding:clamp(48px,6vw,90px) var(--gutter) clamp(100px,12vw,180px); }
.film-project__body::before { content:""; position:absolute; z-index:-1; inset:0 auto 0 50%; width:100vw; transform:translateX(-50%); background:var(--paper); }
.film-project__intro { display:grid; grid-template-columns:1fr 1fr; gap:var(--gutter); align-items:start; }
.film-project__intro .label { margin:0 0 30px; }
.film-project__intro .work-page__title { max-width:11em; }
.film-project__intro .work-page__lead { max-width:38em; margin:0; font-size:clamp(17px,1.3vw,21px); line-height:1.9; }
.film-project__role { color:var(--ink-2); font-size:14px; margin-top:2.5em; line-height:1.8; }
@media(max-width:760px) { .film-index__heading .work-page__title,.film-index__heading .work-page__lead { grid-column:1/-1; } .film-index__grid { grid-template-columns:1fr; } .film-project__hero { height:68svh; min-height:300px; } .film-project__intro { grid-template-columns:1fr; gap:35px; } }
