/* Cinema rows with three visible productions and an archive card. */
.vf-production-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px)/3); gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; padding-bottom:18px; }
.vf-production-track > * { min-width:0; scroll-snap-align:start; }
.vf-production-track .vf-cinema-work-media { aspect-ratio:2/3; }
.vf-production-track .vf-cinema-work-card :is(h2,h3) { margin:14px 0 0; font-size:18px; }
.vf-production-track .vf-cinema-work-card img { object-position:center; }
.vf-rail-controls { display:flex; gap:8px; }
.vf-cinema-section-heading h2 .vf-rail-title-link { display:inline-flex; align-items:center; gap:.35em; font:inherit; letter-spacing:inherit; color:inherit; text-decoration:none; }
.vf-rail-title-link > span { display:inline-block; font-size:.65em; transition:transform .2s ease; }
.vf-rail-title-link:hover > span,.vf-rail-title-link:focus-visible > span { transform:translate(2px,-2px); }
@media(prefers-reduced-motion:reduce) { .vf-rail-title-link > span { transition:none; } }
.vf-rail-controls button { width:42px; height:42px; display:grid; place-items:center; color:#171717; border:1px solid #aaa; background:transparent; border-radius:50%; font-size:22px; line-height:1; padding:0; }
.vf-rail-controls button:disabled { opacity:.25; cursor:default; }
.vf-rail-controls button:not(:disabled):hover { color:#fafaf7; background:#171717; }
.vf-rail-all { aspect-ratio:2/3; display:flex; flex-direction:column; justify-content:space-between; background:#e8e8e2; padding:30px; font-size:clamp(23px,3vw,46px); letter-spacing:-.045em; line-height:1.05; }
.vf-discover-more { background:#eeeee9; margin-top:45px; padding-top:45px; padding-bottom:50px; }
.vf-discover-more .vf-cinema-work-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.vf-discover-more .vf-cinema-work-media { aspect-ratio:2/3; }
.vf-discover-more .vf-cinema-work-card :is(h2,h3) { font-size:16px; margin:14px 0 0; }
.vf-discover-more .vf-cinema-card-caption { padding:14px 0 0; gap:12px; }
.vf-discover-more .vf-cinema-card-caption :is(h2,h3) { font-size:16px; line-height:1.25; }
.vf-discover-more .vf-poster-title { font-size:clamp(24px,3.2vw,62px); }
@media(max-width:767px) {
    .vf-discover-more .vf-poster-title { font-size:6.5vw; padding:18px 12px; }
    .vf-discover-more .vf-poster-imprint,.vf-discover-more .vf-poster-bottom { padding:12px; font-size:7px; }
    .vf-discover-more .vf-poster-imprint { flex-direction:column; gap:5px; }
    .vf-discover-more .vf-cinema-card-caption :is(h2,h3) { font-size:14px; }
    .vf-discover-more .vf-cinema-card-caption > span { display:none; }
}
.vf-production-track,.vf-cinema-poster-track { scrollbar-width:none; }
.vf-cinema-poster.has-poster > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.vf-cinema-poster.has-poster.is-stretched > img { object-fit:fill; }
/* Every generated poster reserves the same rows, regardless of its title length. */
.vf-cinema-poster.has-editorial-cover { display:grid; grid-template-rows:12% 37.5% 40.5% 10%; container-type:inline-size; }
.vf-cinema-poster.has-editorial-cover > * { min-height:0; min-width:0; }
.vf-cinema-poster.has-editorial-cover .vf-poster-imprint { padding:clamp(10px,3cqw,22px); font-size:clamp(7px,1.9cqw,10px); line-height:1.2; }
.vf-cinema-poster.has-editorial-cover .vf-poster-frame { position:relative; height:100%; margin:0; overflow:hidden; }
.vf-cinema-poster.has-editorial-cover .vf-poster-frame > img { display:block; width:100%; height:100%; object-fit:cover; }
.vf-cinema-poster.has-editorial-cover .vf-poster-title { display:flex; align-items:center; padding:clamp(12px,4cqw,22px); font-size:clamp(20px,11cqw,80px); line-height:1.1; overflow:hidden; }
.vf-cinema-poster.has-editorial-cover .vf-poster-title > span { display:block; padding-block:.1em; overflow:hidden; overflow-wrap:anywhere; }
.vf-cinema-poster.has-photo-cover > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.vf-cinema-poster.has-editorial-cover .vf-poster-bottom { margin:0; align-items:center; padding:clamp(8px,2.5cqw,18px); font-size:clamp(7px,1.9cqw,10px); line-height:1.2; overflow:hidden; }
.vf-production-track,.vf-cinema-poster-track,.vf-cinema-work-grid,.vf-cinema-archive-grid { align-items:start; }
.vf-production-track::-webkit-scrollbar,.vf-cinema-poster-track::-webkit-scrollbar { display:none; }

/* A single upcoming title owns the frame; text keeps the shared header inset. */
.vf-upcoming-feature { position:relative; width:100%; margin-top:60px; background:#1d211d; color:#fff; }
.vf-upcoming-feature-link { position:relative; display:block; isolation:isolate; overflow:hidden; height:min(900px,90svh); min-height:520px; }
.vf-upcoming-feature .vf-screen-shade { background:linear-gradient(180deg,#0007,#0001 35%,#0003 65%,#000a); }
.vf-upcoming-caption { position:absolute; inset:auto var(--vf-header-inset) 35px; padding-right:60px; }
.vf-upcoming-caption h2 { color:#fff; margin:0; max-width:100%; font-size:clamp(64px,12vw,230px); line-height:.88; font-weight:450; letter-spacing:-.055em; text-wrap:balance; overflow-wrap:break-word; }
.vf-upcoming-caption .vf-cinema-kicker { color:#fff; margin-bottom:24px; }
.vf-upcoming-arrow { position:absolute; right:0; bottom:5px; font-size:40px; line-height:1; }
.vf-cinema-notes { padding-top:0; }
.vf-production-introduction p { margin-top:0; }
.vf-production-introduction a { color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.18em; }
.vf-production-introduction a:hover,.vf-production-introduction a:focus-visible { text-decoration-thickness:2px; }
.vf-cinema-notes summary span { transition:transform .2s ease; }
.vf-cinema-notes details[open] summary span { transform:rotate(45deg); }
@media(max-width:767px) { .vf-upcoming-feature { margin-top:40px; } .vf-upcoming-feature-link { height:75svh; min-height:420px; } .vf-upcoming-caption { bottom:28px; padding-right:28px; } .vf-upcoming-caption h2 { font-size:clamp(50px,15vw,110px); line-height:.94; } .vf-upcoming-arrow { font-size:26px; } }
@media(prefers-reduced-motion:reduce) { .vf-cinema-notes summary span { transition:none; } }
@media(max-width:767px){.vf-production-track{grid-auto-columns:78%;gap:14px;}.vf-rail-all{padding:24px;font-size:32px;}.vf-discover-more .vf-cinema-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px;}.vf-discover-more .vf-cinema-work-card :is(h2,h3){font-size:15px;}.vf-rail-controls button{width:38px;height:38px;}}

.vf-upcoming-feature .vf-upcoming-label{position:absolute;z-index:4;top:clamp(28px,4vw,60px);left:var(--vf-header-inset);margin:0;color:#fff;text-shadow:0 1px 12px #0008;pointer-events:none}
