/* People-led editorial pages. Same paper, typography and open layout as Films. */
.vf-people-page.vf-editorial-shell { width:calc(100% - 2 * var(--vf-header-inset)); max-width:none; margin-inline:auto; padding-top:clamp(108px,8vw,130px); }
.vf-people-page :where(h1,h2,h3,p,figure) { color:#171717; }
.vf-people-page :where(h1,h2,h3) { font-weight:450; letter-spacing:-.05em; }
.vf-people-page :where(section,aside,article,div) { min-width:0; }
.vf-people-page :where(.vf-about-intro,.vf-contact-intro) h1 { font-size:clamp(40px,4.6vw,72px); line-height:1.04; margin:0 0 26px; max-width:18ch; }
.vf-people-page .vf-editorial-kicker { font-size:12px!important; color:#65655f; }
.vf-people-page .vf-about-intro-copy { max-width:none; gap:5vw; grid-template-columns:1.1fr 1fr; margin:0; }
.vf-people-page .vf-about-intro-copy p { font-size:clamp(18px,1.4vw,22px); line-height:1.4; letter-spacing:-.02em; }
.vf-people-page .vf-about-intro-copy p+p { color:#666; font-size:clamp(16px,1.2vw,19px); line-height:1.6; }
.vf-about-team { padding-block:50px 45px; }
.vf-people-section-heading { display:grid; grid-template-columns:1fr 2fr 1fr; gap:30px; border-top:1px solid #bdbdb5; padding-top:20px; margin-bottom:28px; align-items:start; }
.vf-people-section-heading h2 { margin:0; font-size:clamp(30px,3vw,46px); line-height:1; }
.vf-people-section-heading > p:last-child { color:#666; font-size:17px; line-height:1.5; max-width:25ch; margin:0; }
.vf-people-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.vf-person { margin:0; }
.vf-person-portrait { aspect-ratio:3/4; overflow:hidden; background:#e4e4df; }
.vf-person-portrait img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 30%; filter:grayscale(1); }
.vf-person h3 { font-size:clamp(20px,1.6vw,26px); line-height:1.15; margin:20px 0 8px; }
.vf-person p { font-size:15px; line-height:1.4; color:#666; margin:0; }
.vf-people-page .vf-about-method { padding-bottom:20px; }
.vf-people-page .vf-editorial-section-head h2 { font-size:clamp(26px,2.2vw,34px); }
.vf-people-page .vf-editorial-section-head > span { font-size:15px; }
.vf-people-page .vf-about-method ol { gap:30px; margin-bottom:20px; }
.vf-people-page .vf-about-method h3 { font-size:clamp(21px,1.7vw,26px); }
.vf-people-page .vf-about-method p { font-size:16px; line-height:1.5; margin-bottom:0; }
.vf-people-page .vf-editorial-studio { padding-block:35px; }
.vf-people-page .vf-editorial-studio p,.vf-people-page .vf-editorial-link { font-size:15px; }
.vf-contact-intro-copy { max-width:none; }
.vf-contact-intro-copy p { max-width:65ch; margin:0; font-size:clamp(19px,1.7vw,26px); line-height:1.2; letter-spacing:-.035em; }
.vf-contact-details { display:flex; flex-wrap:wrap; gap:12px 30px; margin-top:24px; padding-bottom:30px; }
.vf-contact-details a,.vf-contact-details p { font-size:14px; line-height:1.5; margin:0; }
.vf-contact-details a { text-decoration:underline; text-underline-offset:5px; }
.vf-contact-page .contacts-section { width:100%; max-width:none; margin:0; padding:30px 0 45px; border-top:1px solid #bdbdb5; }
.vf-contact-page .contacts-section .contact-info { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(35px,6vw,110px); margin:0; align-items:start; }
.vf-contact-page .contacts-section .contact-info .contact-form { background:transparent; padding:0; box-shadow:none; border:0; border-radius:0; width:100%; }
.vf-contact-page .contacts-section .contact-info .contact-form h2,.vf-contact-team h2 { font-size:clamp(28px,2.5vw,38px); line-height:1.05; letter-spacing:-.045em; margin:0 0 25px; }
.vf-contact-page .contacts-section .contact-info .contact-form .vf-form-intro { font-size:16px; line-height:1.5; margin:0 0 20px; }
.vf-contact-page .contacts-section .contact-info .contact-form .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.vf-contact-page .form-grid > .full-width { grid-column:1/-1; }
.vf-contact-page .contacts-section .contact-info .contact-form .form-grid .input-main { background:transparent; border:1px solid #aaa; border-radius:0; min-height:54px; }
.vf-contact-page .contacts-section .contact-info .contact-form .form-grid .input-main:focus { box-shadow:0 0 0 1px #171717; border-color:#171717; }
.vf-contact-page .contacts-section .contact-info .contact-form .form-grid .label { font-size:14px; font-weight:450; }
.vf-contact-page .contacts-section .form-grid .vf-submit { border-radius:0; background:#171717; color:#fff; font-size:16px; }
.vf-contact-page .vf-form-note { color:#666; font-size:13px; line-height:1.6; margin:0; }
.vf-contact-page .vf-form-note a { text-decoration:underline; text-underline-offset:3px; }
.vf-contact-page .vf-submit :where(span) { color:#fff; }
.vf-contact-team { padding:0; }
.vf-contact-team .vf-people-grid { gap:14px; margin-top:35px; }
.vf-contact-team .vf-person h3 { font-size:clamp(18px,1.4vw,24px); margin-top:14px; }
.vf-contact-team .vf-person p { font-size:13px; }
.vf-contact-team > a { margin-top:30px; }
.vf-contact-page .vf-contact-faq { width:100%; max-width:none; padding:35px 0 60px; }
.vf-contact-page .faq-inner { width:100%; padding:0; }
@media(max-width:1000px) {
 .vf-people-section-heading { grid-template-columns:1fr 2fr; }
 .vf-people-section-heading > p:last-child { grid-column:2; }
 .vf-contact-page .contacts-section .contact-info { grid-template-columns:minmax(0,1fr); gap:65px; }
 .vf-contact-team .vf-person h3 { font-size:24px; }
}
@media(max-width:767px) {
 .vf-people-page.vf-editorial-shell { width:calc(100% - 2 * var(--vf-header-inset)); padding-top:108px; }
 .vf-people-page :where(.vf-about-intro,.vf-contact-intro) h1 { font-size:clamp(36px,8.5vw,54px); margin-bottom:24px; }
 .vf-people-page .vf-about-intro-copy { grid-template-columns:1fr; gap:20px; }
 .vf-about-team { padding-block:36px; }
 .vf-people-section-heading { grid-template-columns:1fr; gap:18px; margin-bottom:30px; }
 .vf-people-section-heading > p:last-child { grid-column:1; }
 .vf-people-section-heading h2 { font-size:32px; }
 .vf-people-grid { gap:26px 16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .vf-person h3,.vf-contact-team .vf-person h3 { font-size:21px; }
 .vf-person p { font-size:14px; }
 .vf-contact-intro-copy p { font-size:20px; line-height:1.4; }
 .vf-contact-details { flex-direction:column; gap:10px; padding-bottom:25px; margin-top:20px; }
 .vf-contact-page .contacts-section { padding-top:35px; }
 .vf-contact-page .contacts-section .contact-info .contact-form .form-grid { grid-template-columns:minmax(0,1fr); }
 .vf-contact-page .contacts-section .contact-info .contact-form .form-grid > div { grid-column:1/-1; }
 .vf-contact-page .vf-optional { display:inline; margin-left:4px; }
}

.vf-contact-page .vf-field-error { color:#b42318; }

/* Match the actual header inset at every breakpoint, including narrow phones. */
.vf-films-page .header .navigation { margin-inline:var(--vf-header-inset); }
.vf-cinema-footer { padding-inline:var(--vf-header-inset); }
.vf-about-team .vf-person-portrait { aspect-ratio:auto; height:clamp(240px,32vw,480px); }
.vf-people-page .vf-about-method h3 { margin:14px 0 10px; }
.vf-films-page #primary.vf-contact-page .contacts-section .contact-form h2 { font-size:clamp(28px,2.5vw,38px); font-weight:450; line-height:1.1; }

.vf-person-portrait img { transition:filter .35s ease; }
.vf-person:hover .vf-person-portrait img,.vf-person:focus-within .vf-person-portrait img { filter:grayscale(0); }
@media(prefers-reduced-motion:reduce) { .vf-person-portrait img { transition:none; } }

@media(min-width:1024px) { .vf-about-team .vf-people-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .vf-about-team .vf-person-portrait { aspect-ratio:3/4; height:auto; } }

/* Touch layouts show the original colour without requiring a hover gesture. */
@media(max-width:767px){.vf-person-portrait img{filter:none}}
