/* The studio index: names, moving images, and complete photographic series. */
.header nav{gap:24px;font-size:12px}.header nav .contact-link{margin-left:22px}
.directors,.photographer-section{padding-block:88px 96px;border-top:1px solid var(--line);scroll-margin-top:88px}
.talent-section-top{display:flex;justify-content:space-between;gap:24px;color:var(--muted)}
.talent-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin:26px 0 52px}
.talent-heading h2{font-weight:400;font-size:clamp(58px,7.2vw,112px);letter-spacing:-.06em;line-height:1.02}
.talent-heading p{color:var(--muted);font-size:13px;line-height:1.6;padding-bottom:6px}.talent-loading{font-size:13px;padding:20px 0}
.directors-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:start}
.director-roster h3{font-weight:400;border-top:1px solid var(--line)}.director-roster h3:last-child{border-bottom:1px solid var(--line)}
.director-roster button{width:100%;text-align:left;display:grid;grid-template-columns:20px 1fr 24px;column-gap:14px;align-items:center;padding:28px 0;color:var(--muted);transition:color .22s}
.director-roster button:hover,.director-roster button.is-active{color:var(--ink)}.director-roster button.is-active .director-index{color:var(--red)}
.director-name{font-size:clamp(32px,3.9vw,60px);letter-spacing:-.055em;line-height:1.1;white-space:nowrap;transition:transform .28s var(--ease)}.director-roster button:hover .director-name{transform:translateX(5px)}
.director-index{font-size:9px;align-self:start;padding-top:10px}.director-arrow{font-size:25px;opacity:0;transform:translate(-5px,5px);transition:opacity .22s,transform .28s}.is-active .director-arrow{opacity:1;transform:none}
.director-film-count{grid-column:2;font-size:10px;margin-top:12px;color:var(--muted)}.director-hint{font-size:11px;color:var(--muted);margin:25px 0 16px}.director-index-panel>.text-button{font-size:11px}
.director-stage{position:sticky;top:110px}.director-preview{position:relative;aspect-ratio:1.45;background:#deded5;overflow:hidden}
#director-still,.director-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.director-video{z-index:1;opacity:0;transition:opacity .25s ease}.director-video.is-ready{opacity:1}.director-preview:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#1118);z-index:2;pointer-events:none}
.director-preview-label{position:absolute;left:22px;top:22px;z-index:3;color:#fff;background:#151a1780;padding:7px 9px;font-size:8px}
.director-watch{position:absolute;right:22px;bottom:20px;z-index:3;display:flex;align-items:center;gap:12px;color:#fff;font-size:11px}.director-watch>span{display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;width:44px;height:44px;font-size:12px;transition:background .2s}.director-watch:hover>span{background:#fff;color:var(--ink)}
.director-stage-caption{display:flex;justify-content:space-between;gap:24px;padding-top:20px;min-height:78px}.director-stage-caption .eyebrow{font-size:9px;color:var(--muted)}.director-stage-caption p{font-size:15px;margin-top:7px}.director-stage>.text-button{font-size:11px;margin-top:10px}
.director-film-panel{margin-top:45px;padding-top:25px;border-top:1px solid var(--line)}.director-films{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:22px 0 16px;scrollbar-width:thin}.director-film{flex:0 0 29%;text-align:left;padding:0;scroll-snap-align:start}.director-film-image{display:block;position:relative;aspect-ratio:1.6;overflow:hidden;background:#dcded4}.director-film img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.director-film:hover img{transform:scale(1.025)}.director-film-image>span{position:absolute;right:12px;bottom:12px;background:var(--paper);width:30px;height:30px;display:grid;place-items:center}.director-film-caption{display:block;font-size:12px;margin-top:12px}
.photographer-section{padding-bottom:80px}.photographer-roster{display:flex;justify-content:space-between;gap:16px;border-block:1px solid var(--line);overflow:auto;scrollbar-width:thin}.photographer-roster button{position:relative;display:flex;align-items:center;gap:12px;padding:22px 0;font-size:clamp(12px,1.25vw,18px);white-space:nowrap;transition:color .2s;color:var(--muted)}.photographer-number{font-size:8px;color:var(--muted)}.photographer-roster button[aria-pressed=true],.photographer-roster button:hover{color:var(--ink)}.photographer-roster button:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}.photographer-roster button[aria-pressed=true]:after{transform:scaleX(1)}
.photographer-intro{display:grid;grid-template-columns:1.2fr 1fr 56px;gap:5%;align-items:center;margin-block:48px 30px}.photographer-intro .eyebrow{color:var(--muted);font-size:9px}.photographer-intro h3{font-weight:400;font-size:clamp(32px,4vw,62px);letter-spacing:-.045em;line-height:1.05;margin-top:12px}.photographer-intro p{font-size:14px;line-height:1.65;color:var(--muted);max-width:40ch}.portfolio-enquire{border:1px solid var(--line);border-radius:50%;width:56px;height:56px;display:grid;place-items:center;font-size:25px;transition:background .2s}.portfolio-enquire:hover{background:var(--ink);color:var(--paper)}
.portfolio-categories{display:flex;gap:24px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:28px}.portfolio-categories button{font-size:11px;padding:14px 0;color:var(--muted);border-bottom:2px solid transparent}.portfolio-categories button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}
.portfolio-project-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}.portfolio-project-heading .eyebrow{font-size:9px;color:var(--muted)}.portfolio-project-heading h4{font-size:clamp(19px,2.3vw,32px);font-weight:400;letter-spacing:-.03em;margin:7px 0 0;line-height:1.2}.portfolio-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.portfolio-controls .eyebrow{margin-right:12px;font-variant-numeric:tabular-nums}.portfolio-controls button{width:42px;height:42px;border:1px solid var(--line);font-size:22px}.portfolio-controls button:not(:disabled):hover{background:var(--ink);color:var(--paper)}.portfolio-controls button:disabled{opacity:.25;cursor:default}
.portfolio-carousel{display:flex;gap:20px;height:clamp(340px,44vw,640px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px;overscroll-behavior-x:contain;scroll-padding-left:0}.portfolio-slide{position:relative;flex:0 0 auto;max-width:82%;height:100%;padding:0;scroll-snap-align:start;overflow:hidden;background:#e1e0d8}.portfolio-slide img{height:100%;width:auto;max-width:100%;object-fit:contain}.portfolio-slide>.portfolio-hover{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px;background:linear-gradient(transparent 60%,#0008);color:#fff;font-size:11px;line-height:1.4;opacity:0;transition:opacity .2s ease;pointer-events:none}.portfolio-hover>span:last-child{font-size:9px;letter-spacing:.1em;font-variant-numeric:tabular-nums}.portfolio-slide:hover .portfolio-hover,.portfolio-slide:focus-visible .portfolio-hover{opacity:1}.portfolio-slide:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}.portfolio-slide:last-child{margin-right:18%}
.portfolio-projects-label{display:flex;justify-content:space-between;margin:25px 0 18px;color:var(--muted);font-size:11px}.portfolio-projects{display:flex;gap:18px;overflow:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:15px}.portfolio-projects button{flex:0 0 136px;padding:0 0 12px;text-align:left;scroll-snap-align:start;color:var(--muted);border-bottom:2px solid transparent}.portfolio-projects img{width:100%;height:86px;object-fit:cover;margin-bottom:10px;opacity:.65;transition:opacity .2s}.portfolio-projects button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.portfolio-projects button[aria-pressed=true] img,.portfolio-projects button:hover img{opacity:1}.portfolio-projects button>span{display:block;font-size:10px;line-height:1.4;min-height:28px}.portfolio-projects small{display:block;font-size:9px;margin-top:6px}
@media(max-width:1100px){.header nav{gap:15px;font-size:11px}.header nav .contact-link{margin-left:4px}.directors-layout{gap:5%;grid-template-columns:1fr 1.15fr}.director-name{font-size:clamp(29px,3.8vw,45px)}.director-roster button{padding:23px 0;column-gap:8px}.photographer-roster{gap:22px}.photographer-roster button{font-size:13px}.photographer-number{display:none}}
@media(max-width:767px){.directors,.photographer-section{padding-block:52px;scroll-margin-top:76px}.talent-section-top{font-size:9px}.talent-section-top>.eyebrow{font-size:8px}.talent-section-top>span:last-child{display:none}.talent-heading{margin:22px 0 32px;display:block}.talent-heading h2{font-size:clamp(47px,10vw,70px)}.talent-heading p{font-size:12px;margin-top:18px}.directors-layout{display:flex;flex-direction:column;gap:28px}.director-index-panel,.director-stage{width:100%;position:static}.director-name{font-size:clamp(34px,8vw,46px)}.director-roster button{grid-template-columns:24px 1fr 24px;padding:18px 0}.director-film-count{margin-top:7px}.director-hint{margin-top:18px}.director-preview{aspect-ratio:1.4}.director-film{flex-basis:78%}.director-preview-label{left:15px;top:15px}.director-watch{right:15px;bottom:15px}.photographer-roster{justify-content:start;gap:25px}.photographer-roster button{padding-block:19px;font-size:14px}.photographer-intro{grid-template-columns:1fr 44px;gap:20px;margin-top:30px}.photographer-intro h3{font-size:38px}.photographer-intro p{grid-column:1;grid-row:2;font-size:13px}.portfolio-enquire{grid-column:2;grid-row:1;width:44px;height:44px}.portfolio-categories{gap:24px}.portfolio-project-heading{gap:12px;align-items:center}.portfolio-project-heading h4{font-size:20px}.portfolio-controls{gap:5px}.portfolio-controls button{width:34px;height:34px;font-size:18px}.portfolio-controls .eyebrow{margin-right:3px;font-size:8px}.portfolio-carousel{height:clamp(330px,65svh,520px);gap:12px}.portfolio-slide{max-width:92%}.portfolio-slide:last-child{margin-right:8%}.portfolio-projects{gap:12px}.portfolio-projects button{flex-basis:112px}.portfolio-projects img{height:76px}.portfolio-projects-label>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.director-name,.director-video,.director-arrow,.director-film img{transition:none}.director-roster button:hover .director-name,.director-film:hover img{transform:none}}

/* Compact indexes keep the films and photography in the foreground. */
.header nav{gap:clamp(12px,1.6vw,24px)}
.header nav .contact-link{margin-left:8px}
.header nav .contact-link .nav-number,.mobile-nav .nav-number{font-size:9px;color:var(--muted);vertical-align:super;margin-left:8px}
.directors .talent-heading h2{font-size:clamp(48px,5vw,76px)}
.directors-layout{grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);gap:6%}
.director-name{font-size:clamp(25px,2.5vw,38px);letter-spacing:-.04em}
.director-roster button{padding:24px 0;column-gap:10px}
.director-preview{aspect-ratio:1.6}
.photographer-section{padding-block:24px 22px;scroll-margin-top:0}
.photography-heading{margin:0 0 18px;align-items:center}
.photography-heading h2{font-size:clamp(30px,3vw,44px);letter-spacing:-.045em}
.photography-heading>a{color:var(--muted);font-size:9px}
.photographer-roster{flex-shrink:0}
.photographer-roster button{padding-block:14px;font-size:14px}
.photographer-portfolio{min-height:0;display:flex;flex-direction:column;flex:1}
.photographer-intro{margin:16px 0 12px;grid-template-columns:1fr 1fr 40px;gap:24px}
.photographer-intro h3{font-size:clamp(24px,2.5vw,36px);margin-top:4px}
.photographer-intro p{font-size:12px;line-height:1.5;max-width:46ch}
.portfolio-enquire{width:40px;height:40px;font-size:21px}
.portfolio-navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;border-block:1px solid var(--line);margin-bottom:12px}
.portfolio-categories{border:0;margin:0;gap:22px;min-width:0}
.portfolio-categories button{padding-block:11px;white-space:nowrap}
.portfolio-project-picker{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted);min-width:0}
.portfolio-project-picker select{font:inherit;font-size:11px;color:var(--ink);border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;padding:9px 20px 9px 12px;width:clamp(180px,22vw,330px);cursor:pointer;text-overflow:ellipsis}
.portfolio-projects{gap:12px;padding-bottom:7px;margin-bottom:12px;flex-shrink:0}
.portfolio-projects button{flex-basis:100px;min-width:0;padding-bottom:5px}
.portfolio-projects img{height:46px;margin-bottom:5px}
.portfolio-projects button>span{font-size:9px;min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portfolio-projects small{display:none}
.portfolio-project-heading{margin-bottom:12px;gap:16px;align-items:center;flex-shrink:0}
.portfolio-project-heading h4{font-size:clamp(18px,1.7vw,25px);margin-top:3px}
.portfolio-controls button{height:36px;width:36px;font-size:20px}
.portfolio-carousel{gap:16px;padding-bottom:8px;min-height:0}
@media(min-width:768px){
 .photographer-section{height:calc(100svh - 100px);min-height:680px;display:flex;flex-direction:column}
 .photography-heading,.photographer-intro,.portfolio-navigation{flex-shrink:0}
 .portfolio-carousel{height:auto;flex:1}
}
@media(max-width:1000px) and (min-width:768px){
 .header nav{gap:11px;font-size:10px}.header nav span{margin-left:4px;font-size:8px}
 .header nav .contact-link{margin-left:0}.header nav .contact-link .nav-number{font-size:8px;margin-left:4px}
 .directors-layout{grid-template-columns:.7fr 1.3fr;gap:4%}.director-name{font-size:25px}
 .photographer-roster{gap:20px}.photographer-roster button{font-size:12px}
}
@media(max-width:767px){
 .director-name{font-size:28px}.directors-layout{display:flex}
 .photographer-section{padding-block:28px;scroll-margin-top:0}
 .photography-heading{display:flex;margin:0 0 16px}.photography-heading h2{font-size:34px}.photography-heading>a{font-size:8px;max-width:90px;text-align:right}
 .photographer-roster button{font-size:13px;padding-block:13px}
 .photographer-intro{grid-template-columns:1fr 36px;gap:12px;margin:16px 0}
 .photographer-intro h3{font-size:27px}.photographer-intro p{display:none}
 .portfolio-enquire{width:36px;height:36px}
 .portfolio-navigation{display:block}.portfolio-categories{gap:22px}
 .portfolio-project-picker{border-top:1px solid var(--line);justify-content:space-between}
 .portfolio-project-picker select{width:80%;border-left:0;padding-block:12px}
 .portfolio-projects{gap:10px}.portfolio-projects button{flex-basis:90px}
 .portfolio-carousel{height:clamp(280px,48svh,440px)}
 .portfolio-project-heading h4{font-size:18px}.portfolio-controls button{width:32px;height:32px}
}

/* An open film index: every title stays available beside the preview. */
.directors{padding-block:24px 40px;scroll-margin-top:0}
.directors .directors-heading{align-items:center;margin:0 0 18px}
.directors .directors-heading h2{font-size:clamp(30px,3vw,44px);letter-spacing:-.045em}
.directors-heading>a{font-size:9px;color:var(--muted)}
.director-roster{display:flex;gap:40px;border-block:1px solid var(--line);overflow-x:auto;scrollbar-width:thin;margin-bottom:24px}
.director-roster button{position:relative;display:flex;align-items:center;width:auto;flex-shrink:0;gap:12px;padding:16px 0}
.director-roster button:after{content:'';position:absolute;inset:auto 0 0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.director-roster button.is-active:after{transform:scaleX(1)}
.director-roster .director-name{font-size:20px;letter-spacing:-.03em;white-space:nowrap;transform:none}
.director-roster button:hover .director-name{transform:none}
.director-index{align-self:center;padding:0;font-variant-numeric:tabular-nums}
.director-film-count{margin:0 0 0 8px;font-size:9px}
.directors-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:32px;align-items:start}
.director-stage{position:sticky;top:110px}
.director-preview{aspect-ratio:16 / 10}
.director-stage-caption{padding-top:15px;min-height:0}
.director-stage-caption p{font-size:15px;line-height:1.4}
.director-film-panel{margin:0;padding:0;border:0;min-width:0}
.director-library-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px}
.director-library-heading h3{font-size:9px;font-weight:400;color:var(--muted)}
.director-library-heading>span{font-size:10px;color:var(--muted)}
.director-films{display:flex;flex-direction:column;gap:0;padding:0;overflow:visible;scroll-snap-type:none}
.director-film{flex:auto;display:grid;grid-template-columns:18px 66px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:7px 0;border-top:1px solid var(--line);color:var(--muted);transition:color .2s}
.director-film:last-child{border-bottom:1px solid var(--line)}
.director-film-number{font-size:8px;font-variant-numeric:tabular-nums}
.director-film-image{width:66px;aspect-ratio:16 / 9}
.director-film-caption{font-size:12px;line-height:1.35;margin:0}
.director-film-play{font-size:18px;opacity:0;transition:opacity .2s}
.director-film:hover,.director-film.is-preview{color:var(--ink)}
.director-film.is-preview .director-film-number{color:var(--red)}
.director-film:hover .director-film-play,.director-film.is-preview .director-film-play,.director-film:focus-visible .director-film-play{opacity:1}
@media(max-width:1000px) and (min-width:768px){
 .director-roster{gap:28px}.director-roster .director-name{font-size:18px}
 .directors-layout{grid-template-columns:minmax(0,1.2fr) minmax(285px,1fr);gap:24px}
 .director-film{gap:9px}.director-film-caption{font-size:11px}
}
@media(max-width:767px){
 .directors{padding-block:28px 36px}.directors .directors-heading h2{font-size:34px}
 .director-roster{gap:26px;margin-bottom:20px}.director-roster button{padding:14px 0;gap:8px}.director-roster .director-name{font-size:17px}.director-film-count{display:none}
 .directors-layout{display:flex;flex-direction:column;gap:24px}.director-stage{position:static}.director-film-panel{width:100%}
 .director-films{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;align-items:start}
 .director-film{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;min-width:0;padding:0;border:0}.director-film:last-child{border:0}
 .director-film-image{width:100%;aspect-ratio:16 / 10;margin-bottom:8px}
 .director-film-caption{font-size:11px;padding-right:15px}
 .director-film-number{position:absolute;top:8px;left:8px;z-index:1;background:var(--paper);padding:4px 5px}
 .director-film-play{position:absolute;right:0;bottom:0;opacity:1;font-size:14px}
}

@media(prefers-reduced-motion:reduce){.portfolio-slide>.portfolio-hover{transition:none}}
/* Apollo: discipline → artist → every film, using the shared talent layout. */
.post-section{padding-block:36px 60px;border-top:1px solid var(--line);scroll-margin-top:0}
.post-heading{margin:0 0 22px;align-items:center}
.post-heading h2{font-size:clamp(30px,3vw,44px);letter-spacing:-.045em}
.post-apollo-link{display:flex;align-items:center;gap:16px;font-size:20px}
.post-apollo-link img{width:100px;height:30px;object-fit:contain}
.post-departments{display:flex;gap:34px;border-block:1px solid var(--line)}
.post-departments button{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:2px solid transparent;font-size:13px;color:var(--muted)}
.post-departments small{font-size:9px;font-variant-numeric:tabular-nums}
.post-departments button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}
.post-artists{display:flex;gap:40px;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--line)}
.post-artists button{position:relative;flex-shrink:0;padding:16px 0;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:20px;letter-spacing:-.03em;white-space:nowrap;transition:color .2s}
.post-artists button>span{font-size:8px;letter-spacing:0;color:var(--muted)}
.post-artists button:after{content:'';position:absolute;inset:auto 0 0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.post-artists button[aria-pressed=true]:after{transform:scaleX(1)}
.post-artists button[aria-pressed=true],.post-artists button:hover{color:var(--ink)}
.post-artists button[aria-pressed=true]>span{color:var(--red)}
.post-artist-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:20px 0}
.post-artist-intro h3{font-size:clamp(24px,2.5vw,36px);font-weight:400;letter-spacing:-.04em;margin-top:5px}
.post-artist-intro .eyebrow{font-size:9px;color:var(--muted)}
.post-enquiry{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:0}
.post-contact-email{font-size:14px;line-height:1.5;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;transition:text-decoration-color .2s}
.post-contact-email:hover{ text-decoration-color:currentColor }
.post-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:36px;align-items:start}
.post-preview{position:relative;aspect-ratio:16/10;max-height:55svh;overflow:hidden;background:var(--paper)}
#post-still,.post-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post-video{z-index:1;opacity:0;transition:opacity .2s}
.post-video.is-ready{opacity:1}
.post-preview:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none;z-index:2}
.post-watch{position:absolute;bottom:22px;right:22px;z-index:3;display:flex;gap:16px;align-items:center;color:#fff;font-size:11px;padding:8px 0}
.post-watch span{font-size:22px}
.post-stage-caption{display:flex;justify-content:space-between;align-items:start;gap:24px;padding-top:15px}
.post-stage-caption p{font-size:14px;line-height:1.4}.post-stage-caption .eyebrow{font-size:9px;flex-shrink:0;color:var(--muted);padding-top:2px}
.post-library-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}
.post-library-heading h3{font-weight:400;font-size:9px}.post-library-heading>span{font-size:10px;color:var(--muted)}
.post-films{max-height:calc(55svh - 28px);overflow:auto;scrollbar-width:thin;overscroll-behavior:contain;padding-right:8px}
.post-film{display:grid;grid-template-columns:19px 84px minmax(0,1fr) 15px;align-items:center;gap:12px;width:100%;padding:12px 0;text-align:left;border-bottom:1px solid var(--line);color:var(--muted)}
.post-film img{width:84px;aspect-ratio:1.6;object-fit:cover;opacity:.6;transition:opacity .2s}
.post-film.is-preview,.post-film:hover{color:var(--ink)}.post-film.is-preview img,.post-film:hover img{opacity:1}
.post-film-number{font-size:9px;font-variant-numeric:tabular-nums}.post-film-caption{font-size:12px;line-height:1.4}.post-film-caption small{display:block;font-size:10px;line-height:1.4;margin-top:4px;color:var(--muted)}
.dialog-media .embedded-film{display:block;border:0;width:100%;height:min(65svh,660px);background:white}
@media(max-width:1100px){
 .header{height:76px}.header nav{display:none}.menu-button{display:flex;align-items:center;gap:14px;font-size:12px}:root{--header-height:76px;--header-offset:76px}
 .post-layout{gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr)}
 .post-artists{gap:28px}.post-artists button{font-size:18px}
 .post-film{grid-template-columns:16px 64px minmax(0,1fr) 12px;gap:10px}.post-film img{width:64px}
}
@media(max-width:767px){
 .post-section{padding-block:28px 42px}.post-heading h2{font-size:34px}.post-heading{gap:14px}.post-apollo-link img{width:75px}.post-apollo-link{gap:8px}
 .post-departments{gap:25px}.post-departments button{font-size:12px}.post-artists{gap:26px}.post-artists button{font-size:17px;padding:14px 0;gap:8px}
 .post-artist-intro{align-items:start;flex-wrap:wrap;gap:16px}.post-enquiry{align-items:flex-start}.post-contact-email{font-size:13px}.post-artist-intro h3{font-size:28px}
 .post-layout{grid-template-columns:1fr;gap:25px}.post-preview{aspect-ratio:1.5;max-height:none}.post-films{max-height:360px}.post-film{grid-template-columns:20px 84px minmax(0,1fr) 15px}.post-film img{width:84px}
 .dialog-media .embedded-film{height:55svh}
}
@media(prefers-reduced-motion:reduce){.post-video,.post-film img,.post-artists button,.post-artists button:after{transition:none}}

/* Full roster names and touch targets, without horizontal scrolling on phones. */
@media(max-width:767px){
 .director-roster,.photographer-roster,.post-artists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;overflow:visible;justify-content:normal}
 .director-roster button,.photographer-roster button,.post-artists button{width:100%;min-width:0;min-height:44px;padding:12px 0;gap:0;white-space:normal;text-align:left;justify-content:flex-start;font-size:14px;line-height:1.35;letter-spacing:0;overflow-wrap:anywhere}
 .director-roster .director-name{font-size:14px;line-height:1.35;letter-spacing:0;white-space:normal}
 .director-roster .director-index,.photographer-number,.post-artists button>span{display:none}
 .post-departments{flex-wrap:wrap;gap:0 24px}
 .post-departments button{min-height:44px}
}

.director-thumbnail-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}.director-thumbnail-video.is-ready{opacity:1}
