/* Full-width cinema presentation. Inter Tight remains the only typeface. */
.vf-cinema-home,.vf-cinema-detail,.vf-cinema-archive { color:#171717; background:#fafaf7; overflow:clip; }
:where(.vf-cinema-home,.vf-cinema-detail,.vf-cinema-archive,.vf-cinema-footer) :where(h1,h2,h3,p,a,button,span,dt,dd,summary,select) { font-family:var(--vf-font-family); }
.vf-cinema-home a,.vf-cinema-detail a,.vf-cinema-archive a,.vf-cinema-footer a { color:inherit; text-decoration:none; }
:where(.vf-cinema-home,.vf-cinema-detail,.vf-cinema-archive,.vf-cinema-footer) :where(a,button,select,summary):focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.vf-screen-page .header:not(.inverted) { color:white; background:transparent; }
.vf-screen-page .header:not(.inverted) .navigation .navigation-inner :where(.nav-left,.nav-right),.vf-screen-page .header:not(.inverted) .vf-brand-switch { color:white; }
.vf-screen-page .header:not(.inverted) .vf-brand-switch { border-color:#ffffff80; background:transparent; }
.vf-screen-page .header:not(.inverted) .navigation .navigation-inner .vf-films-logo .logo:not(.inverted) { display:block; }
.vf-screen-page .header:not(.inverted) .navigation .navigation-inner .vf-films-logo .logo.inverted { display:none; }
.vf-screen-page .header.inverted { background:#fafaf7; color:#171717; }
.vf-screen-page.vf-menu-open .header:not(.inverted) { color:#171717; }
.vf-screen-page.vf-menu-open .header:not(.inverted) .navigation .navigation-inner :where(.nav-left,.nav-right),.vf-screen-page.vf-menu-open .header:not(.inverted) .vf-brand-switch { color:#171717; }
.vf-screen-page.vf-menu-open .header:not(.inverted) .navigation .navigation-inner .vf-films-logo .logo:not(.inverted) { display:none; }
.vf-screen-page.vf-menu-open .header:not(.inverted) .navigation .navigation-inner .vf-films-logo .logo.inverted { display:block; }
.vf-screen-hero { position:relative; width:100%; height:100svh; min-height:650px; isolation:isolate; color:#fff; background:#1d211d; overflow:hidden; }
.vf-screen-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.vf-screen-shade { position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(180deg,#0005,transparent 32%,#0002 55%,#0009); }
.vf-screen-caption { position:absolute; inset:auto 24px 30px; }
.vf-cinema-kicker { color:inherit; margin:0 0 20px; font-size:11px!important; line-height:1.4; text-transform:uppercase; letter-spacing:.1em; }
.vf-screen-caption h1 { color:inherit; max-width:12ch; margin:0; font-size:clamp(64px,10.8vw,210px); line-height:.9; letter-spacing:-.055em; font-weight:450; text-wrap:balance; }
.vf-cinema-hero-link { position:absolute; right:6px; bottom:12px; display:inline-flex; align-items:center; gap:35px; border:1px solid #fffa; color:white!important; background:transparent; padding:13px 18px; font-size:13px; line-height:1.3; border-radius:0; font-weight:500; }
.vf-cinema-hero-link:hover { background:white; color:#171717!important; }
.vf-cinema-section { width:100%; padding-block:60px 20px; }
.vf-cinema-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:24px; padding:0 24px 26px; }
.vf-cinema-section-heading h2 { color:#171717; font-size:clamp(24px,2.5vw,40px); font-weight:500; letter-spacing:-.035em; margin:0; }
.vf-cinema-section-heading > a { font-size:12px; white-space:nowrap; }
.vf-cinema-poster-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 24px)/3); gap:12px; overflow-x:auto; scrollbar-width:thin; scroll-snap-type:x mandatory; padding-bottom:10px; }
.vf-cinema-card { min-width:0; scroll-snap-align:start; }
.vf-cinema-poster { position:relative; aspect-ratio:2/3; width:100%; overflow:hidden; background:#22251e; color:#f5f2df; display:flex; flex-direction:column; }
.vf-cinema-poster > img { width:100%; height:100%; object-fit:contain; }
.vf-poster-imprint { display:flex; justify-content:space-between; align-items:start; gap:12px; padding:22px; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.vf-poster-frame { width:100%; margin-top:auto; }
.vf-poster-frame img { width:100%; height:auto; display:block; }
.vf-poster-title { font-size:clamp(24px,4.3vw,84px); line-height:.94; font-weight:550; letter-spacing:-.055em; padding:28px 22px 40px; text-wrap:balance; }
.vf-poster-bottom { margin-top:auto; padding:18px 22px; display:flex; justify-content:space-between; gap:12px; border-top:1px solid currentColor; font-size:10px; }
.vf-cinema-poster--documentario { background:#dce4db; color:#1f352a; }
.vf-cinema-poster--video-musicale { background:#d2ccc1; color:#24201d; }
.vf-cinema-poster--spot-pubblicitario { background:#e7e3d8; color:#20251e; }
.vf-cinema-card-caption { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:16px 22px; }
.vf-cinema-card-caption :is(h2,h3) { color:#171717; font-size:16px; line-height:1.2; letter-spacing:-.02em; font-weight:500; margin:0; }
.vf-cinema-card-caption > span { color:#6a6a65; font-size:11px; }
.vf-cinema-work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.vf-cinema-work-card { min-width:0; }
.vf-cinema-work-media { aspect-ratio:16/10; overflow:hidden; background:#ddd; }
.vf-cinema-work-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.vf-production-cover-link:hover ~ .vf-cinema-work-media > img { transform:scale(1.025); }
.vf-cinema-work-card :is(h2,h3) { color:#171717; margin:16px 24px 0; font-size:18px; line-height:1.3; font-weight:500; letter-spacing:-.025em; }
.vf-cinema-statement { padding:85px 24px 55px; display:flex; justify-content:space-between; align-items:end; gap:30px; }
.vf-cinema-statement p { color:#171717; font-size:clamp(26px,3.3vw,50px); font-weight:450; letter-spacing:-.04em; line-height:1.1; margin:0; }
.vf-cinema-statement a { font-size:13px; }
.vf-cinema-synopsis { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:10vw; padding:70px 4vw 80px; }
.vf-cinema-synopsis h2 { color:#66665f; font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:500; margin:0 0 28px; }
.vf-cinema-synopsis > div > p { color:#171717; font-size:clamp(22px,2.2vw,36px); font-weight:400; line-height:1.35; letter-spacing:-.025em; margin:0; }
.vf-cinema-credits { margin:0; display:grid; grid-template-columns:1fr 1fr; align-content:start; gap:28px; }
.vf-cinema-credits dt { color:#66665f; font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; }
.vf-cinema-credits dd { color:#171717; font-size:16px; line-height:1.4; margin:0; }
.vf-cinema-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.vf-cinema-gallery > img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; display:block; }
.vf-cinema-gallery > img:first-child:nth-last-child(3) { grid-column:1/-1; }
.vf-cinema-gallery > img:first-child:last-child { grid-column:1/-1; }
.vf-cinema-notes { padding:35px 4vw; }
.vf-cinema-notes details { border-block:1px solid #ccc; padding-block:20px; }
.vf-cinema-notes summary { display:flex; justify-content:space-between; font-size:14px; cursor:pointer; list-style:none; }
.vf-cinema-notes summary::-webkit-details-marker { display:none; }
.vf-cinema-notes .production-single-content { max-width:900px; margin:35px auto; font-size:16px; }
.vf-cinema-notes .production-single-content :where(p,li) { font-size:16px; }
.vf-cinema-notes .production-single-content :where(img,iframe,video) { max-width:100%; }
.vf-cinema-notes > a { display:inline-block; font-size:12px; margin-top:25px; }
.vf-cinema-overlay#overlay { z-index:20000; background:#000f; }
.vf-cinema-overlay#overlay #player { width:min(1280px,92vw); height:auto; aspect-ratio:16/9; }
.vf-cinema-overlay#overlay #closeBtn { top:20px; right:20px; padding:16px; }
.vf-cinema-overlay#overlay #closeBtn img { width:24px; height:24px; }
.vf-cinema-archive { padding-top:145px; }
.vf-cinema-archive-heading { padding:0 24px 55px; display:flex; justify-content:space-between; align-items:end; gap:25px; }
.vf-cinema-archive-heading h1 { font-size:clamp(48px,7vw,110px); color:#171717; font-weight:450; letter-spacing:-.06em; line-height:1; margin:0; }
.vf-cinema-filter select { max-width:100%; border:0; border-bottom:1px solid #777; border-radius:0; background:transparent; padding:10px 30px 10px 0; color:#171717; font-size:13px; }
.vf-cinema-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 12px; }
.vf-cinema-empty { padding:30px 24px; }
.vf-cinema-footer { padding:65px 24px 25px; background:#fafaf7; color:#171717; }
.vf-cinema-footer-top { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-bottom:60px; }
.vf-cinema-footer-top img { display:block; width:145px; height:auto; }
.vf-cinema-contact { font-size:clamp(18px,2.2vw,32px); letter-spacing:-.025em; }
.vf-cinema-footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:20px; border-top:1px solid #c9c9c3; padding-top:22px; }
.vf-cinema-footer-bottom p { color:#66665f; font-size:10px; margin:0; }
.vf-cinema-footer-bottom nav { display:flex; flex-wrap:wrap; gap:18px; font-size:11px; }
.admin-bar .vf-screen-hero { height:calc(100svh - 32px); }
@media(max-width:1024px) { .vf-poster-imprint,.vf-poster-bottom { padding:16px; font-size:9px; } .vf-poster-title { padding:20px 16px 30px; } }
@media(max-width:767px) {
 .vf-screen-hero { min-height:620px; }
 .vf-screen-caption { inset:auto 20px 30px; }
 .vf-screen-caption h1 { font-size:17vw; max-width:11ch; line-height:.94; }
 .vf-cinema-kicker { margin-bottom:18px; font-size:9px!important; }
 .vf-cinema-hero-link { position:static; margin-top:25px; font-size:12px; padding:12px 16px; gap:30px; }
 .vf-cinema-section { padding-top:40px; }
 .vf-cinema-section-heading { padding:0 20px 22px; flex-wrap:wrap; gap:12px; }
 .vf-cinema-section-heading h2 { font-size:28px; }
 .vf-cinema-poster-track { grid-auto-columns:82vw; gap:8px; padding-inline:0; }
 .vf-poster-title { font-size:12vw; padding:25px 20px; }
 .vf-poster-imprint,.vf-poster-bottom { padding:18px 20px; }
 .vf-cinema-card-caption { padding:14px 20px; }
 .vf-cinema-card-caption :is(h2,h3) { font-size:15px; }
 .vf-cinema-work-grid { grid-template-columns:1fr; gap:28px; }
 .vf-cinema-work-card :is(h2,h3) { margin:12px 20px 0; font-size:16px; }
 .vf-cinema-statement { padding:55px 20px 25px; flex-direction:column; align-items:start; gap:22px; }
 .vf-cinema-synopsis { grid-template-columns:1fr; gap:38px; padding:45px 20px; }
 .vf-cinema-synopsis h2 { margin-bottom:22px; }
 .vf-cinema-credits { gap:25px 20px; }
 .vf-cinema-credits dd { font-size:14px; }
 .vf-cinema-gallery { grid-template-columns:1fr; }
 .vf-cinema-notes { padding:25px 20px; }
 .vf-cinema-archive { padding-top:125px; }
 .vf-cinema-archive-heading { padding:0 20px 35px; flex-direction:column; align-items:start; }
 .vf-cinema-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 8px; }
 .vf-cinema-archive-grid .vf-poster-title { font-size:6.5vw; padding:14px 12px; }
 .vf-cinema-archive-grid .vf-poster-imprint,.vf-cinema-archive-grid .vf-poster-bottom { padding:12px; font-size:7px; }
 .vf-cinema-archive-grid .vf-poster-imprint { flex-direction:column; gap:5px; }
 .vf-cinema-archive-grid .vf-cinema-card-caption { padding:12px; }
 .vf-cinema-archive-grid .vf-cinema-card-caption :is(h2,h3) { font-size:13px; }
 .vf-cinema-archive-grid .vf-cinema-card-caption > span { display:none; }
 .vf-cinema-footer { padding:45px 20px 25px; }
 .vf-cinema-footer-top { align-items:start; flex-direction:column; gap:25px; padding-bottom:35px; }
 .vf-cinema-footer-top img { width:120px; }
 .vf-cinema-footer-bottom nav { gap:14px; font-size:10px; }
 .admin-bar .vf-screen-hero { height:calc(100svh - 46px); }
}
@media(prefers-reduced-motion:reduce) { .vf-cinema-work-card img { transition:none; transform:none!important; } }

/* Use the header inset throughout the cinema pages, keeping heroes full bleed. */
.vf-films-page .header .navigation { margin-inline:var(--vf-header-inset); }
.vf-cinema-section { padding-inline:var(--vf-header-inset); }
.vf-cinema-section-heading { padding-inline:0; }
.vf-cinema-card-caption { padding-inline:0; }
.vf-cinema-work-card :is(h2,h3) { margin-inline:0; }
.vf-cinema-statement { padding-inline:var(--vf-header-inset); }
.vf-cinema-archive-heading { padding-inline:var(--vf-header-inset); }
.vf-cinema-archive-grid { margin-inline:var(--vf-header-inset); }
.vf-cinema-archive-grid .vf-cinema-card-caption { padding-inline:0; }
.vf-cinema-empty,.vf-cinema-footer { padding-inline:var(--vf-header-inset); }
.vf-cinema-synopsis { padding:45px var(--vf-header-inset) 50px; gap:6vw; }
.vf-cinema-synopsis > div > p { font-size:clamp(20px,1.65vw,28px); line-height:1.4; max-width:60ch; }
.vf-cinema-synopsis h2 { margin-bottom:20px; }
.vf-cinema-gallery { margin-inline:var(--vf-header-inset); }
.vf-cinema-notes { padding-inline:var(--vf-header-inset); }
.vf-screen-caption { left:var(--vf-header-inset); right:var(--vf-header-inset); }
@media(max-width:767px) { .vf-cinema-synopsis { padding-block:35px; gap:30px; } .vf-cinema-synopsis > div > p { font-size:20px; } }

/* Compact external project links, grouped below the introduction. */
.vf-cinema-detail .vf-production-links {
 display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; margin-top:20px;
}
:is(.vf-cinema-detail,.vf-profile) :is(.vf-production-imdb,.vf-production-instagram,.vf-production-filmfreeway) {
 display:inline-flex; align-items:center; justify-content:flex-start; gap:8px;
 max-width:100%; min-height:44px; padding:8px 12px; box-sizing:border-box;
 border:1px solid #deded6; border-radius:3px; background:transparent;
 color:#373730; font:500 12px/1.35 var(--vf-font-family); text-decoration:none;
 transition:border-color .2s ease,background-color .2s ease;
}
:is(.vf-cinema-detail,.vf-profile) .vf-production-imdb .vf-imdb-badge {
 display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
 padding:3px 4px; border-radius:2px; background:#f5c518; color:#121212;
 font:850 16px/1 var(--vf-font-family); letter-spacing:-.06em;
}
:is(.vf-cinema-detail,.vf-profile) :is(.vf-production-imdb,.vf-production-instagram,.vf-production-filmfreeway) > svg { flex:0 0 auto; }
:is(.vf-cinema-detail,.vf-profile) :is(.vf-production-imdb,.vf-production-instagram,.vf-production-filmfreeway):hover { background:#f0f0eb; border-color:#66665f; color:#171717; }
:is(.vf-cinema-detail,.vf-profile) :is(.vf-production-imdb,.vf-production-instagram,.vf-production-filmfreeway):focus-visible { outline:2px solid #171717; outline-offset:4px; }
@media(max-width:767px) {
 .vf-cinema-detail .vf-production-links { margin-top:18px; }
}
@media(prefers-reduced-motion:reduce) {
 :is(.vf-cinema-detail,.vf-profile) :is(.vf-production-imdb,.vf-production-instagram,.vf-production-filmfreeway) { transition:none; }
}

/* The shared footer carries the production statement on every public page. */
.vf-cinema-footer>.vf-cinema-statement{padding:0 0 44px;margin-bottom:44px;border-bottom:1px solid #c9c9c3}
@media(max-width:767px){.vf-cinema-footer>.vf-cinema-statement{padding-bottom:30px;margin-bottom:30px}}
