/* Quiet editorial refinements, on the same grid and single typeface as the header. */
.vf-about .vf-about-section-head { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,90px); align-items:start; padding-block:26px 32px; border-top:1px solid #bdbdb5; }
.vf-about .vf-about-section-head h2 { margin:0; max-width:18ch; font-size:clamp(28px,3vw,44px); line-height:1.06; letter-spacing:-.045em; font-weight:450; }
.vf-about .vf-about-section-head p { max-width:48ch; margin:0; color:#66665f; font-size:17px; line-height:1.55; }
.vf-about-disciplines { padding-block:24px 66px; }
.vf-discipline-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(24px,5vw,90px); }
.vf-discipline { display:grid; grid-template-columns:minmax(0,1fr) minmax(100px,.65fr); gap:24px; border-top:1px solid #d4d4cc; padding-block:30px; }
.vf-discipline h3 { margin:0 0 18px; font-size:clamp(24px,2vw,32px); line-height:1.12; }
.vf-discipline h3 a { display:inline-flex; align-items:baseline; gap:14px; color:inherit; }
.vf-discipline h3 a span { font-size:17px; transition:transform .2s ease; }
.vf-discipline h3 a:hover span { transform:translate(2px,-2px); }
.vf-discipline-copy > p { margin:0; color:#66665f; font-size:16px; line-height:1.6; }
.vf-discipline-copy > .vf-discipline-details { margin-top:20px; color:#66665f; font-size:11px; line-height:1.6; letter-spacing:.015em; }
.vf-discipline figure { margin:0; overflow:hidden; align-self:start; }
.vf-discipline figure img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.vf-people-page .vf-about-method { padding-bottom:55px; }
.vf-people-page .vf-about-method .vf-method-steps { display:block; margin:0; padding:0; }
.vf-method-steps li { display:grid; grid-template-columns:50px minmax(0,1fr) minmax(0,1fr); gap:clamp(18px,3vw,55px); padding-block:30px 34px; border-top:1px solid #d4d4cc; }
.vf-method-steps .vf-method-number { padding-top:6px; color:#66665f; font-size:12px; }
.vf-people-page .vf-method-steps li h3 { margin:0; max-width:18ch; font-size:clamp(25px,2.4vw,36px); line-height:1.1; letter-spacing:-.04em; }
.vf-people-page .vf-method-steps li p { margin:0; max-width:52ch; color:#66665f; font-size:17px; line-height:1.6; }
.vf-people-page .vf-method-steps li .vf-method-details { margin-top:18px; color:#66665f; font-size:11px; letter-spacing:.025em; }
.vf-about-backstage { margin:0 0 60px; }
.vf-about-backstage img { display:block; width:100%; height:auto; aspect-ratio:2.2; object-fit:cover; }
.vf-about-backstage figcaption { margin-top:10px; color:#66665f; font-size:12px; }
.vf-about-invitation { display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(25px,8vw,140px); border-top:1px solid #bdbdb5; padding-block:38px 70px; }
.vf-about-invitation h2 { max-width:18ch; margin:0; font-size:clamp(32px,3.6vw,54px); line-height:1.08; letter-spacing:-.045em; }
.vf-about-invitation p { margin:0 0 28px; color:#66665f; font-size:17px; line-height:1.6; max-width:44ch; }

/* Long production notes read as an editorial column, separated by a fine rule. */
.vf-films-page #primary .vf-cinema-notes { padding-block:0 45px; }
.vf-cinema-notes details { padding:0; border-color:#bdbdb5; }
.vf-cinema-notes summary { padding-block:24px; align-items:center; gap:20px; font-size:clamp(18px,1.6vw,24px); line-height:1.25; letter-spacing:-.025em; }
.vf-cinema-notes summary > span { display:flex; align-items:center; justify-content:center; flex:0 0 30px; width:30px; height:30px; border:1px solid #bdbdb5; border-radius:50%; font-size:20px; font-weight:350; transition:transform .2s ease; }
.vf-cinema-notes details[open] summary > span { transform:rotate(45deg); }
.vf-films-page #primary .vf-cinema-notes .production-single-content { width:min(100%,780px); max-width:none; margin:10px auto 38px; font-size:17px; line-height:1.75; letter-spacing:0; }
.vf-films-page #primary .vf-cinema-notes .production-single-content :where(p,li) { max-width:none; font-size:17px; line-height:1.75; letter-spacing:0; }
.vf-cinema-notes .production-single-content p { margin:0 0 1.25em; }
.vf-cinema-notes .production-single-content :where(h2,h3,h4) { margin:1.5em 0 .65em; font-weight:500; letter-spacing:-.025em; }
.vf-cinema-notes .production-single-content :where(iframe,video) { display:block; width:100%; height:auto; aspect-ratio:16/9; border:0; }
.vf-cinema-notes .production-single-content :where(ul,ol) { padding-left:1.3em; }
.vf-cinema-notes .production-single-content > :last-child { margin-bottom:0; }

/* Small hover cues that do not move surrounding content. */
.vf-films-page :where(.vf-cinema-hero-link,.vf-editorial-link,.vf-cinema-section-heading > a,.vf-rail-heading a,.vf-cinema-contact,.vf-submit,.vf-header-link) { transition:color .2s ease,background-color .2s ease,border-color .2s ease,opacity .2s ease; }
.vf-films-page :where(.vf-cinema-hero-link,.vf-editorial-link,.vf-submit) > span { display:inline-block; transition:transform .2s ease; }
.vf-films-page :where(.vf-cinema-hero-link,.vf-editorial-link,.vf-submit):hover > span:last-child { transform:translate(2px,-2px); }
.vf-films-page :where(.vf-cinema-section-heading > a,.vf-rail-heading a,.vf-cinema-contact,.vf-header-link):hover { text-decoration:underline; text-underline-offset:5px; }
.vf-films-page :where(.vf-editorial-link,.vf-cinema-hero-link,.vf-discipline a,summary):focus-visible { outline:2px solid currentColor; outline-offset:5px; }

/* The watch player stays fully inside both viewport dimensions, including landscape phones. */
.vf-cinema-overlay#overlay { z-index:100001; box-sizing:border-box; padding:72px 24px 24px; background:rgba(8,8,8,.97); isolation:isolate; }
.vf-video-stage { width:min(1280px,100%,calc((100dvh - 110px)*16/9)); aspect-ratio:16/9; position:relative; margin:auto; background:#080808; }
.vf-cinema-overlay#overlay #player { display:block; position:absolute; inset:0; width:100%; height:100%; aspect-ratio:16/9; border:0; }
.vf-cinema-overlay#overlay .vf-video-heading { position:absolute; top:max(22px,env(safe-area-inset-top)); left:24px; right:120px; margin:0; color:#bdbdb5; font-size:12px; line-height:1.4; letter-spacing:.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vf-cinema-overlay#overlay #closeBtn { display:inline-flex; align-items:center; gap:10px; top:max(12px,env(safe-area-inset-top)); right:14px; min-height:44px; padding:10px; color:#fff; background:transparent; font:inherit; font-size:12px; }
.vf-cinema-overlay#overlay #closeBtn img { width:17px; height:17px; }
.vf-video-status { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; margin:0; padding:25px; color:#aaa; font-size:13px; pointer-events:none; }
.vf-video-status[hidden] { display:none; }
.vf-cinema-overlay#overlay #player > a { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; text-decoration:underline; text-underline-offset:5px; }
@media(max-width:1000px) { .vf-discipline { grid-template-columns:minmax(0,1fr); } .vf-discipline figure img { aspect-ratio:16/10; } }
@media(max-width:767px) {
    .vf-about .vf-about-section-head,.vf-about-invitation { grid-template-columns:minmax(0,1fr); gap:20px; }
    .vf-discipline-grid { grid-template-columns:minmax(0,1fr); }
    .vf-discipline { grid-template-columns:minmax(0,1fr) minmax(95px,.6fr); gap:20px; padding-block:25px; }
    .vf-discipline figure img { aspect-ratio:4/5; }
    .vf-about-disciplines { padding-bottom:35px; }
    .vf-method-steps li { grid-template-columns:30px minmax(0,1fr); gap:16px; padding-block:25px; }
    .vf-method-steps li > div { grid-column:2; }
    .vf-people-page .vf-method-steps li p { font-size:16px; }
    .vf-about-invitation { padding-block:30px 48px; }
    .vf-films-page #primary .vf-cinema-notes .production-single-content :where(p,li) { font-size:16px; }
    .vf-cinema-overlay#overlay { padding:64px 12px 16px; }
    .vf-video-stage { width:min(100%,calc((100dvh - 90px)*16/9)); }
    .vf-cinema-overlay#overlay .vf-video-heading { left:16px; }
}
@media(prefers-reduced-motion:reduce) {
    .vf-films-page :where(a,button,summary,span),.vf-discipline h3 a span { transition:none!important; }
}

/* Festival logos share one measured row, with native scrolling for larger collections. */
.vf-recognitions { --vf-recognition-spacing:16px; padding-block:clamp(24px,2vw,34px); color:#171717; }
.vf-recognitions--home { padding-inline:var(--vf-header-inset); }
.vf-recognitions h2 { margin:0 0 18px; color:#66665f; font-size:11px; font-weight:400; letter-spacing:.08em; line-height:1.4; text-transform:uppercase; text-align:left; }
.vf-recognition-list { --vf-laurel-display-height:64px; --vf-recognition-logo-limit:200px; display:flex; justify-content:space-between; gap:clamp(20px,2.5vw,40px); list-style:none; margin:0; padding:5px 0; overflow-x:auto; scroll-snap-type:x proximity; overscroll-behavior-inline:contain; scrollbar-width:none; }
.vf-recognition-list::-webkit-scrollbar { display:none; }
.vf-recognition-list:focus-visible { outline:1px solid currentColor; outline-offset:6px; }
.vf-recognition { display:flex; flex:0 0 auto; min-width:140px; scroll-snap-align:start; }
.vf-recognition-link { display:flex; flex:1; flex-direction:column; align-items:center; gap:10px; min-width:0; color:inherit; text-decoration:none; }
.vf-recognitions .vf-recognition-link > img { display:block; width:auto; max-width:none; height:80px; object-fit:contain; filter:brightness(0); }
.vf-recognitions .vf-recognition-project { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; width:180px; max-width:100%; color:#66665f; font-size:12px; font-weight:400; line-height:1.35; letter-spacing:0; text-align:center; }
.vf-recognition-link:hover .vf-recognition-project { color:#171717; text-decoration:underline; text-underline-offset:3px; }
.vf-recognition-link:focus-visible { outline:1px solid currentColor; outline-offset:4px; }
.vf-recognitions .vf-laurel-graphic { --vf-laurel-fitted-height:min(var(--vf-laurel-display-height),calc(var(--vf-recognition-logo-limit)/var(--vf-laurel-ratio,1))); width:calc(var(--vf-laurel-fitted-height)*var(--vf-laurel-ratio,1)); height:var(--vf-laurel-fitted-height); margin-block:calc((var(--vf-laurel-display-height) - var(--vf-laurel-fitted-height))/2); }
.vf-about .vf-recognitions--about { padding-block:clamp(40px,4vw,64px) 12px; }
.vf-about .vf-recognitions--about + .vf-about-team { padding-top:clamp(18px,2vw,28px); }
@media(max-width:767px) {
    .vf-recognition-list { --vf-laurel-display-height:48px; --vf-recognition-logo-limit:150px; gap:24px; }
    .vf-recognitions .vf-recognition-link > img { width:auto; max-width:none; height:68px; }
    .vf-about .vf-recognitions--about { padding-block:36px 8px; }
}

/* Give people, disciplines and method separate editorial breathing room. */
.vf-about .vf-about-team { padding-block:clamp(30px,4vw,64px) clamp(70px,7vw,110px); }
.vf-about .vf-about-disciplines { padding-block:0 clamp(72px,7vw,112px); }
.vf-about .vf-about-section-head { padding-block:34px 42px; }
.vf-about .vf-discipline { padding-block:34px 42px; }
.vf-discipline--poster { grid-template-columns:minmax(0,1.15fr) minmax(120px,.75fr); align-items:start; }
.vf-discipline-poster { min-width:0; width:100%; max-width:240px; justify-self:end; }
.vf-discipline-poster .vf-cinema-card-caption { display:none; }
.vf-discipline-poster .vf-poster-imprint,.vf-discipline-poster .vf-poster-bottom { padding:10px; font-size:7px; }
.vf-discipline-poster .vf-poster-title { padding:16px 10px; font-size:clamp(22px,2.3vw,42px); }
.vf-discipline-project { margin-top:28px; border-top:1px solid #d4d4cc; padding-top:18px; }
.vf-discipline-project > p { margin:0 0 8px; color:#66665f; font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.vf-discipline-project > a { color:inherit; font-size:18px; line-height:1.3; font-weight:500; text-decoration:none; }
.vf-discipline-project > a:hover { text-decoration:underline; text-underline-offset:4px; }
.vf-discipline-project dl { display:grid; gap:10px; margin:16px 0 0; }
.vf-discipline-project dl > div { display:grid; grid-template-columns:45px minmax(0,1fr); gap:12px; }
.vf-discipline-project dt,.vf-discipline-project dd { margin:0; font-size:12px; line-height:1.45; font-weight:400; }
.vf-discipline-project dt { color:#66665f; }
@media(min-width:768px) and (max-width:1100px) {
    .vf-about .vf-discipline-grid { grid-template-columns:minmax(0,1fr); }
    .vf-about .vf-discipline--poster { grid-template-columns:minmax(0,1fr) minmax(140px,.45fr); }
}
@media(max-width:767px) {
    .vf-recognitions { padding-block:24px; }
    .vf-about .vf-about-team { padding-block:24px 64px; }
    .vf-about .vf-about-disciplines { padding-bottom:64px; }
    .vf-about .vf-about-section-head { padding-block:28px 30px; }
    .vf-about .vf-discipline--poster { grid-template-columns:minmax(0,1fr) minmax(95px,.6fr); gap:20px; }
    .vf-discipline-project > a { font-size:16px; }
    .vf-discipline-project dl > div { display:block; }
    .vf-discipline-project dt { margin-bottom:3px; }
}
.vf-about .vf-about-team:has(+ .vf-recognitions--about) { padding-bottom:clamp(36px,4vw,58px); }

/* Home awards sit between the two cinema sections with balanced vertical space. */
.vf-recognitions--home { padding-block:clamp(36px,4vw,60px) clamp(24px,2.5vw,40px); }
.vf-recognitions--home h2 { text-align:center; margin-bottom:24px; }
.vf-cinema-home > .vf-recognitions--home + .vf-cinema-section { padding-top:clamp(20px,2vw,32px); }

/* The archive card has the same portrait format and a clear editorial invitation. */
.vf-production-track .vf-rail-all { --vf-rail-card-padding:clamp(24px,6vw,44px); container-type:inline-size; box-sizing:border-box; inline-size:100%; min-block-size:0; aspect-ratio:2/3; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:12% 54% 24% 10%; justify-content:stretch; justify-items:stretch; gap:0; padding:0; color:#23231f; }
.vf-rail-all > span { box-sizing:border-box; min-inline-size:0; min-block-size:0; }
.vf-rail-all .vf-rail-all-kicker { padding:var(--vf-rail-card-padding) var(--vf-rail-card-padding) 0; font-size:11px; line-height:1.4; letter-spacing:.07em; text-transform:uppercase; }
.vf-rail-all .vf-rail-all-title { align-self:center; padding-inline:var(--vf-rail-card-padding); font-size:clamp(32px,12cqw,78px); line-height:1.08; letter-spacing:-.045em; }
.vf-rail-all .vf-rail-all-description { align-self:center; max-width:none; padding-inline:var(--vf-rail-card-padding); font-size:clamp(14px,3.4cqw,18px); line-height:1.5; letter-spacing:0; color:#67675e; }
.vf-rail-all .vf-rail-all-footer { position:relative; display:flex; align-items:center; justify-content:space-between; gap:18px; align-self:stretch; inline-size:100%; padding:0 var(--vf-rail-card-padding); border:0; font-size:12px; line-height:1.3; letter-spacing:0; }
.vf-rail-all-footer::before { content:""; position:absolute; top:0; inset-inline:var(--vf-rail-card-padding); border-top:1px solid #bcbcb1; }
.vf-rail-all-footer > span { flex-shrink:0; font-size:32px; line-height:1; transition:transform .2s ease; }
.vf-rail-all:hover .vf-rail-all-footer > span { transform:translate(3px,-3px); }

/* Preserve the light watch action and show interaction through a small arrow motion. */
.vf-films-page .vf-cinema-hero-link:hover,.vf-films-page .vf-cinema-hero-link:focus-visible { background:rgba(255,255,255,.13); color:#fff!important; border-color:#fff; }

/* A restrained frame follows each video's actual proportions. */
.vf-cinema-overlay#overlay { --vf-video-ratio:1.777778; padding:24px; background:rgba(5,5,5,.88); backdrop-filter:blur(12px); overflow:auto; }
.vf-video-panel { box-sizing:border-box; width:min(1200px,100%,calc((100dvh - 130px) * var(--vf-video-ratio) + 32px)); max-height:calc(100dvh - 48px); margin:auto; padding:16px; border:1px solid #494949; border-radius:10px; background:#0b0b0b; box-shadow:0 24px 100px #0006; }
.vf-video-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; }
.vf-cinema-overlay#overlay .vf-video-panel .vf-video-heading { position:static; min-width:0; margin:0; color:#eee; font-size:14px; line-height:1.35; }
.vf-cinema-overlay#overlay .vf-video-panel #closeBtn { position:static; flex-shrink:0; min-height:36px; padding:7px 10px; border:1px solid #555; border-radius:20px; color:#ddd; background:#181818; }
.vf-video-panel .vf-video-stage { width:100%; margin:0; aspect-ratio:var(--vf-video-ratio); overflow:hidden; border-radius:3px; }
.vf-cinema-overlay#overlay .vf-video-panel #player { aspect-ratio:var(--vf-video-ratio); }
@media(max-width:767px) {
    .vf-cinema-overlay#overlay { padding:12px; }
    .vf-video-panel { width:min(100%,calc((100dvh - 120px) * var(--vf-video-ratio) + 24px)); max-height:calc(100dvh - 24px); padding:12px; }
    .vf-rail-all .vf-rail-all-title { font-size:clamp(30px,11cqw,52px); }
    .vf-rail-all .vf-rail-all-description { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .vf-rail-all-footer > span { transition:none; } }

/* Give phone previews enough room for the cover and its existing credits. */
@media(max-width:767px) {
    .vf-production-track { grid-auto-columns:92%; gap:16px; }
    .vf-cinema-poster-track { grid-auto-columns:96%; gap:16px; }
    .vf-cinema-card-caption { padding-block:16px 0; gap:14px; }
    .vf-cinema-card-caption :is(h2,h3),.vf-production-track .vf-cinema-card-caption :is(h2,h3) { font-size:18px; line-height:1.3; }
    .vf-cinema-card-caption > span { font-size:12px; line-height:1.4; }
    .vf-cinema-poster.has-editorial-cover .vf-poster-imprint { padding:14px 16px; font-size:11px; line-height:1.3; }
    .vf-cinema-poster.has-editorial-cover .vf-poster-bottom { padding:6px 12px; font-size:11px; line-height:1.25; }
    .vf-cinema-poster.has-editorial-cover .vf-poster-bottom > span:first-child { min-width:0; }
    .vf-cinema-poster.has-editorial-cover .vf-poster-bottom > span:last-child { flex-shrink:0; }
    .vf-cinema-poster.has-editorial-cover .vf-poster-title { font-size:clamp(28px,11cqw,48px); }

    /* Center playback in the free space between the header and the full caption. */
    .vf-cinema-detail .vf-hero-footer { inset:0; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:var(--vf-hero-header-clearance,68px) minmax(76px,1fr) auto; gap:0; padding:0 var(--vf-header-inset) 30px; }
    .vf-cinema-detail .vf-hero-footer > .vf-screen-caption { position:static; grid-column:1; grid-row:3; }
    .vf-cinema-detail .vf-hero-actions { position:static; grid-column:1; grid-row:2; place-self:center; transform:none; width:max-content; max-width:100%; align-items:center; gap:0; }
    .vf-cinema-detail #playBtn.vf-cinema-play { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:14px 20px; gap:14px; border:1px solid #ffffffa6; background:rgba(0,0,0,.25); color:#fff!important; font-size:15px; line-height:1.3; backdrop-filter:blur(6px); }
    .vf-cinema-detail #playBtn.vf-cinema-play:hover,.vf-cinema-detail #playBtn.vf-cinema-play:focus-visible { background:rgba(255,255,255,.16); }
}
@media(max-width:600px) {
    .vf-cinema-archive-grid { grid-template-columns:minmax(0,1fr); row-gap:36px; }
    .vf-cinema-archive-grid .vf-poster-imprint { flex-direction:row; }
    .vf-cinema-archive-grid .vf-cinema-card-caption { padding:16px 0 0; }
    .vf-cinema-archive-grid .vf-cinema-card-caption :is(h2,h3) { font-size:18px; line-height:1.3; }
    .vf-cinema-archive-grid .vf-cinema-card-caption > span { display:block; flex-shrink:0; font-size:12px; }
    .vf-discover-more .vf-cinema-work-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:92%; gap:16px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x proximity; overscroll-behavior-inline:contain; scrollbar-width:none; }
    .vf-discover-more .vf-cinema-work-grid::-webkit-scrollbar { display:none; }
    .vf-discover-more .vf-cinema-work-grid > * { scroll-snap-align:start; }
    .vf-discover-more .vf-cinema-card-caption :is(h2,h3) { font-size:18px; line-height:1.3; }
    .vf-discover-more .vf-cinema-card-caption > span { display:block; font-size:12px; }
}

/* A subtitle is secondary copy on the production page, outside its main title. */
.vf-cinema-detail .vf-screen-caption .vf-production-subtitle { max-width:40em; margin:8px 0 0; color:#fff; font-size:clamp(18px,2.2vw,30px); font-weight:400; line-height:1.25; letter-spacing:0; text-wrap:balance; }
.vf-rail-controls button svg { display:block; width:20px; height:20px; flex-shrink:0; }
.vf-rail-controls button:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.vf-recognition-heading { margin-bottom:var(--vf-recognition-spacing); }
.vf-recognition-heading h2 { margin:0; }
.vf-recognitions--home .vf-recognition-heading { margin-bottom:var(--vf-recognition-spacing); }
.vf-recognition-hint { margin:var(--vf-recognition-spacing) 0 0; color:#66665f; font-size:12px; line-height:1.4; text-align:right; }
.vf-recognitions--home .vf-recognition-hint { text-align:center; }
.vf-recognition-hint span { display:inline-block; margin-left:8px; }
@media(max-width:767px) {
    .vf-rail-controls { flex-shrink:0; }
    .vf-rail-controls button { width:44px; height:44px; }
    .vf-cinema-detail .vf-screen-caption .vf-production-subtitle { margin-top:6px; font-size:18px; }
}

/* Keep the homepage invitation on the same left edge as its title. */
.vf-cinema-home .vf-hero-footer { grid-template-columns:minmax(0,1fr); gap:22px; }
.vf-cinema-home .vf-hero-actions { justify-self:start; align-items:flex-start; }
/* A soft outline and a small hover cue make the primary watch action clear. */
.vf-cinema-detail #playBtn.vf-cinema-play { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 22px; border:1px solid #ffffffa6; border-radius:999px; background:rgba(0,0,0,.22); backdrop-filter:blur(6px); color:#fff!important; }
.vf-cinema-detail #playBtn.vf-cinema-play:hover,.vf-cinema-detail #playBtn.vf-cinema-play:focus-visible { background:rgba(255,255,255,.16); border-color:#fff; }

/* Center the menu links in the available viewport; keep contact details below. */
@media(max-width:1040px) {
    .header .menu-overly .menu-content { box-sizing:border-box; min-height:max(100%,520px); padding:88px var(--vf-header-inset) 88px; align-items:center; justify-content:center; }
    .header .menu-overly .menu-content .navigation-items { width:100%; align-items:center; gap:clamp(16px,3dvh,26px); }
    .header .menu-overly .menu-content .navigation-items > li { width:100%; text-align:center; }
    .header .menu-overly .menu-content .navigation-items .navigation-link { width:100%; margin-inline:auto; justify-content:center; gap:0; text-align:center; }
    .header .menu-overly .menu-content .navigation-items .navigation-link .number-circle { display:none; }
    .header .menu-overly .menu-content .navigation-items .navigation-link .nav-text-wrapper .text-full { font-size:clamp(38px,10vw,60px); line-height:1.15; }
    .header .menu-overly .vf-menu-meta { position:absolute; inset:auto var(--vf-header-inset) max(24px,env(safe-area-inset-bottom)); margin:0; align-items:center; justify-content:center; gap:6px; width:auto; text-align:center; font-size:12px; }
}

/* Keep the mobile account avatar inside WordPress's native 46 px toolbar. */
@media(max-width:782px) {
    body.vf-films-page #wpadminbar #wp-admin-bar-my-account.with-avatar > .ab-item { position:relative; display:block; box-sizing:border-box; width:48px; height:46px; padding:0; overflow:hidden; }
    body.vf-films-page #wpadminbar #wp-admin-bar-my-account.with-avatar > .ab-item > img.avatar { position:absolute; top:50%; right:10px; bottom:auto; left:auto; transform:translateY(-50%); box-sizing:border-box; width:28px; height:28px; min-width:28px; max-width:28px; margin:0; padding:0; object-fit:cover; }
}

/* R01/R06: shared content grid, readable type and undistorted set photographs. */
.vf-films-page #primary :where(.vf-cinema-section-heading h2,.vf-production-section-heading h2) { font-size:var(--vf-title-section); line-height:1.15; }
.vf-films-page #primary .vf-cinema-card-caption :is(h2,h3) { font-size:var(--vf-title-card); line-height:1.25; overflow-wrap:anywhere; }
.vf-films-page .vf-cinema-card-caption { align-items:baseline; min-width:0; }
.vf-films-page .vf-cinema-card-caption :is(h2,h3) { flex:1; min-width:0; }
.vf-films-page .vf-cinema-card-caption > span { flex-shrink:0; }
.vf-films-page .vf-screen-caption h1 { line-height:1.03; padding-bottom:.09em; overflow-wrap:break-word; }
.vf-films-page .vf-cinema-archive-heading h1 { line-height:1.1; padding-bottom:.08em; overflow-wrap:anywhere; }
.vf-films-page .vf-cinema-archive-heading { padding-bottom:24px; }
.vf-films-page .vf-cinema-archive-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:38px 22px; padding-bottom:48px; }
.vf-catalog-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 var(--vf-header-inset) 32px; padding-bottom:20px; border-bottom:1px solid #d4d4cc; }
.vf-catalog-filters :where(a,span) { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; color:inherit; border:1px solid transparent; font-size:15px; line-height:1.35; border-radius:2px; }
.vf-catalog-filters [aria-current="page"] { border-color:#171717; background:#171717; color:#fafaf7; }
.vf-catalog-filters a:hover { border-color:#a5a59c; }
.vf-filter-reset { font-size:14px; text-decoration:underline!important; text-underline-offset:5px; }
.vf-backstage { margin-bottom:60px; }
.vf-contact-context { padding:18px; border:1px solid #bdbdb5; font-size:16px; overflow-wrap:anywhere; }
.vf-contact-context span { display:block; margin-top:8px; color:#66665f; font-size:14px; }
.vf-films-page :where(.vf-contact-intro,.vf-profile-intro,.vf-production-navigation,.vf-cinema-archive-heading) :where(h1,h2,p,a) { min-width:0; }
.vf-films-page :where(button,input,textarea,select) { max-width:100%; }
.vf-films-page .vf-video-stage { width:min(1280px,100%,calc((100dvh - 150px)*var(--vf-video-ratio,1.777778))); aspect-ratio:var(--vf-video-ratio,1.777778); }
.vf-films-page .vf-cinema-overlay#overlay #player { aspect-ratio:var(--vf-video-ratio,1.777778); }
@media(max-width:1100px) { .vf-films-page .vf-cinema-archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) {
 .vf-films-page .vf-cinema-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 12px; }
 .vf-films-page #primary .vf-cinema-card-caption :is(h2,h3) { font-size:clamp(16px,3vw,22px); }
 .vf-films-page #primary .vf-profile-projects .vf-cinema-card-caption :is(h2,h3) { font-size:14px; }
 .vf-catalog-filters { gap:6px; }
 .vf-catalog-filters :where(a,span) { font-size:14px; padding-inline:10px; }
 .vf-films-page .vf-video-stage { width:min(100%,calc((100dvh - 140px)*var(--vf-video-ratio,1.777778))); }
}
@media(prefers-reduced-motion:reduce) {
 .vf-films-page *, .vf-films-page *::before, .vf-films-page *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
 .vf-films-page [data-vf-reveal] { opacity:1!important; transform:none!important; visibility:visible!important; }
}

@keyframes vf-editorial-reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:no-preference) { .vf-revealed { animation:vf-editorial-reveal .32s ease both; } }
