/* One projected plane: the entire film index recedes towards the top of the frame. */
body.film-library .fg-index.fcrawl-ready{position:relative;padding:0;perspective:none;overflow:visible;height:var(--fcrawl-height,auto)}
.fcrawl-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:#080808}
.fcrawl-sticky::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:radial-gradient(circle at 17% 23%,#eeede76b .5px,transparent 1.3px),radial-gradient(circle at 72% 68%,#eeede750 .6px,transparent 1.4px),radial-gradient(circle at 46% 39%,#eeede735 .5px,transparent 1.2px);background-size:239px 293px,419px 367px,587px 521px}
.fcrawl-space{position:absolute;inset:0;perspective:var(--fcrawl-perspective,1800px);perspective-origin:50% 20%;overflow:hidden}
.fcrawl-plane{position:absolute;left:50%;top:var(--fcrawl-anchor,76%);width:min(1200px,calc(100% - var(--fc-pad)*2));transform-origin:50% 0;transform:translateX(-50%) rotateX(var(--fcrawl-angle,35deg)) translateY(var(--fcrawl-shift,0px));backface-visibility:hidden;will-change:transform}
.fcrawl-space::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(#080808 0%,#080808bb 8%,transparent 24%,transparent 94%,#08080899)}
body.film-library .fcrawl-ready .fg-projects{border-bottom:0}
body.film-library .fcrawl-ready .fg-project{grid-template-columns:24px clamp(210px,23vw,360px) minmax(0,1fr);gap:clamp(22px,2.6vw,42px);transform:none!important;opacity:var(--fcrawl-opacity,1)!important;backface-visibility:visible}
.fcrawl-plane .fg-projects>li{transform:translateY(var(--fcrawl-wrap,0px));transform-origin:50% 0}
.fcrawl-motion{position:absolute;z-index:5;right:var(--fc-pad);bottom:28px;display:flex;align-items:center;gap:12px;padding:12px 0;border:0;border-bottom:1px solid #eeede745;background:#080808b3;color:#d6d5cf;font:inherit;font-size:8px;letter-spacing:.14em;cursor:pointer}
.fcrawl-motion:hover,.fcrawl-motion:focus-visible{color:#fff;border-color:#eeede7}
.fcrawl-motion:focus-visible{outline:1px solid #eeede7;outline-offset:5px}
body.film-library .fcrawl-ready .fg-project.is-crawl-hidden{opacity:0!important;pointer-events:none}
body.film-library .fcrawl-ready .fg-index-head{margin-bottom:24px}
body.film-library .fcrawl-ready .fg-project:focus-visible{outline:2px solid #e8e5de;outline-offset:-4px;background:#ffffff08}
.fcrawl-worlds{padding:32px var(--fc-pad) 58px;margin:0;background:#080808}
@media(max-width:700px){
 .fcrawl-plane{width:calc(100% - 44px)}
 body.film-library .fcrawl-ready .fg-project{grid-template-columns:18px minmax(0,1fr);gap:10px 15px}
 body.film-library .fcrawl-ready .fg-thumb{width:100%}
 .fcrawl-motion{bottom:20px;font-size:7px}
}
@media(prefers-reduced-motion:reduce){
 body.film-library .fg-index.fcrawl-ready{height:auto;padding:62px var(--fc-pad) 0}
 .fcrawl-sticky{position:relative;height:auto;overflow:visible}
 .fcrawl-space{position:relative;inset:auto;perspective:none;overflow:visible}
 .fcrawl-plane{position:relative;left:auto;top:auto;width:100%;transform:none;will-change:auto}
 .fcrawl-plane .fg-projects>li{transform:none}
 .fcrawl-motion{display:none}
 .fcrawl-space::after{display:none}
}

/* Minimal film list: retain project links and motion, remove editorial dividers. */
body.film-library .fg-index-head{display:none}
body.film-library .fg-project{border-top:0}
body.film-library .fg-projects{border-bottom:0}

/* Cinematic selection: the surrounding films fall into deep shadow. */
body.film-library .fg-project{transition:filter .32s ease}
body.film-library .fg-thumb{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s;transform-origin:center}
body.film-library.film-spotlight .fg-project:not(.is-spotlit){filter:brightness(.12)}
body.film-library.film-spotlight .fg-project.is-spotlit{filter:none;position:relative;z-index:3}
body.film-library.film-spotlight .is-spotlit .fg-thumb{transform:scale(1.065);box-shadow:0 18px 55px #000b}
body.film-library.film-spotlight .is-spotlit .fg-thumb img{filter:saturate(1)}
body.film-library .fcrawl-sticky::before{transition:opacity .32s}
body.film-library.film-spotlight .fcrawl-sticky::before{opacity:.08}
body.film-library.film-spotlight .site-header{opacity:.22;transition:opacity .32s}
body.film-library.film-spotlight .site-header:focus-within,body.film-library.film-spotlight .site-header:hover{opacity:1}
@media(prefers-reduced-motion:reduce){body.film-library .fg-project,body.film-library .fg-thumb{transition:none}body.film-library.film-spotlight .is-spotlit .fg-thumb{transform:none}}

/* Original film rows and previews, with distance-based transparency. */
body.film-library .fg-index{background:#080808}
body.film-library .fg-projects{display:block}
body.film-library .fg-thumb video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .3s}
body.film-library .fg-thumb video.is-visible{opacity:1}
body.film-library .fcrawl-ready .fg-project.is-spotlit:not(.is-crawl-hidden),body.film-library .fcrawl-ready .fg-project:focus-visible:not(.is-crawl-hidden){opacity:1!important}
body.film-library .fg-projects>li{min-width:0}
@media(prefers-reduced-motion:reduce){body.film-library .fcrawl-ready .fg-project{opacity:1!important}.fcrawl-sticky::before{display:none}.fg-thumb video{transition:none}}
