/* The portrait opens into the same film universe, then a direct editorial index. */
body.film-library{--fc-pad:clamp(22px,4vw,76px);background:#080808}
body.film-library .site-header{background:linear-gradient(#080808aa,transparent);border-color:transparent}
body.film-library .site-header.scrolled{background:#080808e8;border-color:#ffffff12}
body.film-library .fu-viewport{padding:0}
body.film-library .fu-hero.is-ready{height:360svh}
.fl-cover{position:relative;height:100svh;min-height:540px;overflow:hidden;background:#070707;isolation:isolate}
.film-library-ready .fl-cover{position:absolute;z-index:6;inset:0;height:100%;min-height:0;opacity:var(--fl-cover-opacity,1);visibility:var(--fl-cover-visibility,visible);pointer-events:auto}
.fl-cover-image,.fl-cover-subject{position:absolute;inset:0;transform:translate3d(0,var(--fl-camera-y,0px),0) scale(var(--fl-camera-zoom,1));transform-origin:49% 62%}
.fl-cover-subject{z-index:3;mix-blend-mode:darken;opacity:.4;pointer-events:none}
.fl-cover-image img,.fl-cover-subject img{position:absolute;left:50%;top:50%;height:270%;width:auto;min-width:100%;max-width:none;object-fit:cover;transform:translate(-50%,-34%);filter:grayscale(1) brightness(.65) contrast(1.06)}
.fl-cover-subject img{-webkit-mask-image:url("assets/director-silhouette-mask.svg?rev=78");mask-image:url("assets/director-silhouette-mask.svg?rev=78");-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.fl-cover::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0003,transparent 23%,#0002 45%,#000b 100%),radial-gradient(ellipse at 50% 40%,transparent 30%,#0005);pointer-events:none}
.fl-cover-grain{position:absolute;inset:0;z-index:4;background:url('assets/grain.svg') repeat;background-size:180px;opacity:.06;pointer-events:none}
.fl-director{position:absolute;z-index:5;top:110px;left:var(--fc-pad);margin:0;color:#deded6;font-size:9px;line-height:1.8;letter-spacing:.15em}
.fl-cover-copy{position:absolute;z-index:2;left:var(--fc-pad);right:var(--fc-pad);bottom:13vh;opacity:var(--fl-copy-opacity,1);transform:translateY(var(--fl-copy-y,0px))}
.fl-kicker{font-size:10px;letter-spacing:.18em;line-height:1.5;margin:0 0 24px}
.fl-cover h1{width:max-content;max-width:100%;margin:0;font-size:clamp(46px,7.15vw,146px);font-weight:400;line-height:1.04;letter-spacing:-.06em;color:#eeede7}
.fl-title-line{display:block;overflow:hidden;padding-bottom:.06em}
.fl-title-line>span{display:flex;align-items:center;gap:.24em;white-space:nowrap}
.fl-title-line img{flex:none;width:1.12em;height:.67em;object-fit:contain;margin-left:.08em;opacity:.9}
.fl-title-together>span{justify-content:flex-end;gap:.35em}
.fl-title-together i{flex:1;height:.035em;background:currentColor;min-width:1.1em}
.fl-cover-foot{display:flex;align-items:center;justify-content:space-between;margin-top:27px;transform:translateY(8vh);font-size:9px;letter-spacing:.15em;color:#c7c7bf}
.fl-cover-foot>span{display:flex;align-items:center;gap:14px}
.fl-cover-foot b{font-weight:300;font-size:23px}
.fl-cover-foot a{padding:12px 0;border-bottom:1px solid #ffffff40}
@media(prefers-reduced-motion:no-preference){
 .fl-title-line>span{animation:fl-title-arrive 1.15s cubic-bezier(.18,.72,.24,1) both}
 .fl-title-line:nth-child(2)>span{animation-delay:.13s}
 .fl-title-line:nth-child(3)>span{animation-delay:.26s}
 .fl-kicker,.fl-director,.fl-cover-foot{animation:fl-detail-arrive 1.1s ease .25s both}
}
@keyframes fl-title-arrive{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes fl-detail-arrive{from{opacity:0}to{opacity:1}}
body.film-library .fu-hero .fu-image img{filter:saturate(.82) brightness(.86);transition:filter .5s}
body.film-library .fu-hero .fu-card:hover .fu-image img,body.film-library .fu-hero .fu-card:focus-visible .fu-image img{filter:saturate(1) brightness(1)}
body.film-library .fu-stage{padding:42px var(--fc-pad)}
body.film-library .fu-hero.is-ready .fu-stage{padding:0}
body.film-library .fu-hero.is-ready .fu-card{width:min(49vw,790px)}
body.film-library .fu-hero.is-ready .fu-card--portrait{width:min(29vw,410px)}
body.film-library .fg-index{padding-top:62px;padding-bottom:65px}
body.film-library .fg-project{grid-template-columns:35px clamp(190px,21vw,350px) minmax(0,1fr) auto;gap:clamp(20px,2.6vw,50px);padding:28px 0;min-height:0}
body.film-library .fg-project-title h3{font-size:clamp(28px,3.3vw,62px);letter-spacing:-.055em}
body.film-library .fg-thumb{position:relative;isolation:isolate}
body.film-library .fg-thumb img{filter:saturate(.88);transform:none;transition:opacity .4s ease,filter .4s ease}
body.film-library .fg-thumb .fl-preview-frame{position:absolute;inset:0;opacity:0}
body.film-library .fg-thumb .fl-preview-frame.is-visible{opacity:1}
body.film-library .fg-project:hover .fg-thumb img{filter:saturate(1);transform:none}
body.film-library .fg-project:hover h3{color:#f7f6ef}
body.film-library .fc-strip-section{position:relative;padding:70px 0 85px}
body.film-library .fc-strip-head{margin-bottom:34px;grid-template-columns:.23fr .54fr .23fr}
body.film-library .fc-strip-head h2{font-size:clamp(45px,5.4vw,96px);letter-spacing:-.055em;line-height:1.04}
body.film-library .fc-strip-head a{font-size:9px}
.fl-motion-toggle{display:block;margin:0 var(--fc-pad) 18px auto;border:0;border-bottom:1px solid #ffffff40;background:none;padding:12px 0;font-size:9px;letter-spacing:.14em}
.fc-strip-section.is-paused .fc-strip{animation-play-state:paused}
body.film-library .fc-end-nav{padding-top:58px;padding-bottom:70px}
body.film-library .fc-end-nav span:not(.fg-arrow){font-size:clamp(45px,7.2vw,130px)}
body.film-library .fg-open{font-size:8px;gap:18px}
@media(max-width:1100px){
 body.film-library .fg-project{grid-template-columns:25px clamp(170px,24vw,250px) minmax(0,1fr) 25px;gap:22px}
 body.film-library .fg-open>span{display:none}
 body.film-library .fg-project-title h3{font-size:clamp(26px,3.4vw,42px)}
 body.film-library .fc-strip-head{grid-template-columns:1fr 1fr}
 body.film-library .fc-strip-head h2{grid-column:1/-1;grid-row:1}
 body.film-library .fc-strip-head a{grid-column:2}
}
@media(max-width:700px){
 body.film-library .fu-hero.is-ready{height:310svh}
 .fl-cover{min-height:540px}
 .fl-cover-image img,.fl-cover-subject img{height:165%;transform:translate(-50%,-35%)}
 .fl-cover-image,.fl-cover-subject{transform-origin:50% 62%}
 .fl-cover-subject{opacity:.24}
 .fl-director{top:100px;font-size:8px}
 .fl-cover-copy{bottom:12vh}
 .fl-cover h1{font-size:clamp(25px,7.5vw,54px);line-height:1.12;letter-spacing:-.055em}
 .fl-kicker{font-size:8px;margin-bottom:20px}
 .fl-cover-foot{font-size:7px;margin-top:25px;gap:12px;transform:translateY(6vh)}
 .fl-cover-foot>span{gap:9px}
 body.film-library .fu-hero.is-ready .fu-card{width:84vw}
 body.film-library .fu-hero.is-ready .fu-card--portrait{width:49vw}
 body.film-library .fg-project{grid-template-columns:20px minmax(0,1fr) 25px;gap:12px;padding:24px 0}
 body.film-library .fg-number{grid-column:1;grid-row:1}
 body.film-library .fg-thumb{grid-column:2;grid-row:1;width:min(100%,330px)}
 body.film-library .fg-project-title{grid-column:2;grid-row:2;padding-top:4px}
 body.film-library .fg-project-title h3{font-size:clamp(26px,6.9vw,42px)}
 body.film-library .fg-meta{margin-top:11px;font-size:8px}
 body.film-library .fg-open{grid-column:3;grid-row:2}
 body.film-library .fg-index-head h2{font-size:9px}
 body.film-library .fg-index-head>span{font-size:7px}
 body.film-library .fc-strip-head{display:block}
 body.film-library .fc-strip-head h2{font-size:clamp(42px,10vw,64px);margin:20px 0}
 body.film-library .fc-strip-head a{font-size:8px}
}
@media(max-height:650px) and (min-width:701px){.fl-director{top:90px}.fl-cover h1{font-size:min(6vw,12vh)}.fl-kicker{margin-bottom:12px}.fl-cover-foot{margin-top:12px}}
@media(prefers-reduced-motion:reduce){
 body.film-library .fu-hero.is-ready{height:auto}
 body.film-library .fu-hero.is-ready .fu-viewport{padding:0;min-height:0}
 .film-library-ready .fl-cover{position:relative;height:100svh;min-height:540px;opacity:1;visibility:visible}
 .fl-cover-copy{opacity:1;transform:none}
 .fl-cover-image,.fl-cover-subject{transform:none}
 body.film-library .fu-hero.is-ready .fu-stage{padding:32px var(--fc-pad)}
 body.film-library .fu-hero.is-ready .fu-card{width:100%}
 body.film-library .fu-hero.is-ready .fu-card--portrait{width:62%}
 body.film-library .fu-title,body.film-library .fu-bottom{margin:30px var(--fc-pad)!important}
 .fl-motion-toggle{display:none}
}
