/* Preserve the supplied logo's contours and show complete photographs and film frames. */
.site-page .wordmark-logo{display:block;width:160px;height:auto;max-width:none}
.site-page .site-footer .wordmark-logo{width:200px;max-width:100%}
.home-with-brand .brand-dock{width:160px;aspect-ratio:314.08/74.495483}
.brand-intro{padding:18px 56px}
.brand-intro-mark{width:clamp(280px,34vw,450px);aspect-ratio:314.08/74.495483}
.home-introduction{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:20px;padding-bottom:22px}
.home-introduction>p{font-size:19px;max-width:800px;letter-spacing:-.2px;line-height:1.55}
.home-early-contact{flex-shrink:0;margin-top:0;white-space:nowrap}
.site-page main img,.site-page main video{object-fit:contain!important;object-position:50% 50%!important;transform:none!important}
.site-page.home-with-brand .portal-hero{height:clamp(450px,calc(100svh - 335px),620px);min-height:450px;max-height:620px;gap:1px;background:var(--line)}
.portal-panel{padding:0;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#171717;border:0;isolation:isolate;justify-content:normal}
.portal-panel::before{display:none}
.portal-media{position:relative;min-width:0;min-height:0;isolation:isolate;background:#111;overflow:hidden}
.portal-media .portal-background,.portal-media .banner-video{inset:0;width:100%;height:100%;z-index:0;filter:none;transition:opacity .5s}
.portal-media .banner-video{z-index:1}
.portal-copy{padding:18px 28px 22px;border-top:1px solid var(--line)}
.portal-copy>p{font-size:12px;line-height:1.6;letter-spacing:.3px;margin-bottom:8px;color:var(--muted)}
.portal-copy h2{font-size:clamp(46px,5vw,74px);line-height:1.05;letter-spacing:-.06em;margin:0}
.portal-copy h2>span{width:35px;height:35px;font-size:20px}
.portal-action{padding-top:12px;margin-top:14px;font-size:13px;line-height:1.5;color:#d2c9c0}

.site-page .home-benjamin img{aspect-ratio:auto;max-height:520px;background:#181818}
.site-page .about-photo img{background:#181818}
.film-page-heading{padding-top:45px;padding-bottom:42px}
.film-page-heading h1{font-size:clamp(54px,6vw,90px);line-height:1.02}
.film-page-heading>p:last-child{font-size:16px;line-height:1.8}
.film-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}
.film-preview-card{min-width:0}
.film-preview-link{display:block}
.film-preview-media{position:relative;aspect-ratio:16/9;background:#111;border:1px solid var(--line)}
.film-preview-media video{display:block;width:100%;height:100%;aspect-ratio:16/9}
.film-preview-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 16px;background:#151515db;color:#f4f0e9;border:1px solid #e36c3f;font-size:13px;white-space:nowrap;pointer-events:none}
.film-preview-card.preview-playing .film-preview-play{display:none}
.film-preview-action{position:absolute;right:14px;bottom:14px;padding:9px 13px;background:#151515e8;border:1px solid #baa18f;color:#f4f0e9;display:flex;align-items:center;gap:15px;font-size:12px;line-height:1.5}
.film-preview-action>span{color:var(--orange);font-size:19px}
.film-preview-link:hover .film-preview-media,.film-preview-link:focus-visible .film-preview-media{border-color:var(--orange)}
.film-preview-caption{padding-top:20px}
.film-preview-caption .eyebrow{margin-bottom:8px}
.film-preview-caption h2{font-size:28px;line-height:1.25;letter-spacing:-.8px}
.film-preview-caption>p:last-child{font-size:14px;line-height:1.8;color:var(--muted);margin-top:8px}
.film-preview-note{font-size:13px;line-height:1.8;color:var(--muted);padding-top:24px}
.case-film-card[id]{scroll-margin-top:155px}
.external-film-link{display:block;position:relative}
.external-film-link .case-film-player{pointer-events:none}
.film-open-label{position:absolute;right:14px;bottom:14px;background:#151515ed;color:#f4f0e9;border:1px solid #baa18f;padding:10px 14px;font-size:13px}
.external-film-link:hover .film-open-label,.external-film-link:focus-visible .film-open-label{background:var(--orange);color:#161616}
.site-page .portal-video .banner-video{object-fit:cover!important;object-position:50% 50%!important;background:#111}
@media(max-width:1100px) and (min-width:761px){
 .site-page .wordmark-logo,.home-with-brand .brand-dock{width:145px}
 .brand-intro{padding:16px 36px}
 .home-introduction>p{font-size:17px}
 .home-early-contact{font-size:13px}
}
@media(max-width:760px){
 .brand-intro{padding:15px 25px}
 .brand-intro-mark{width:min(82vw,300px)}
 .home-introduction{display:block;padding-top:17px;padding-bottom:20px}
 .home-introduction>p{font-size:17px;line-height:1.6}
 .home-early-contact{margin-top:10px;font-size:14px}
 .site-page.home-with-brand .portal-hero{height:auto;min-height:0;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
 .portal-panel{grid-template-rows:auto 1fr}
 .portal-media{aspect-ratio:1/1}
 /* The narrow two-column layout cannot crop a 16:9 interview to square safely. */
 .site-page .portal-video .banner-video{object-fit:contain!important;background:transparent}
 .site-page .portal-video .portal-background{object-fit:cover!important;filter:blur(14px) brightness(.5)!important;transform:scale(1.12)!important}
 .portal-copy{padding:15px 13px 17px;min-width:0}
 .portal-copy>p{font-size:12px;letter-spacing:0;min-height:38px;line-height:1.6}
 .portal-copy h2{font-size:clamp(32px,9vw,58px);gap:8px;letter-spacing:-.055em}
 .portal-copy h2>span{width:26px;height:26px;font-size:17px}
 .portal-action{font-size:12px;gap:8px;margin-top:13px;padding-top:11px;align-items:flex-end}
 .portal-action>span{font-size:17px}

 .film-page-heading{padding-top:34px;padding-bottom:32px}
 .film-page-heading h1{font-size:clamp(51px,12vw,75px)}
 .film-page-heading>p:last-child{font-size:15px}
 .film-preview-grid{grid-template-columns:1fr;gap:32px}
 .film-preview-caption{padding-top:16px}
 .film-preview-caption h2{font-size:27px}
 .film-preview-action{font-size:12px;padding:8px 11px;right:11px;bottom:11px}
 .case-film-card[id]{scroll-margin-top:140px}
}

.film-preview-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;padding-top:24px}
.film-preview-tools .film-preview-note{padding-top:0}



/* Player controls and labels stay outside the faces in the source frame. */

.film-preview-action{position:static;display:inline-flex;margin-top:14px}

.booking-hint{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:12px}.studio-booking>.booking-direct{margin:0 0 25px}

/* True vector artwork renders at its actual animated width, with no raster upscaling. */
.brand-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.brand-vector{display:block;width:100%;height:auto;aspect-ratio:314.08/74.495483}
.home-with-brand .morph-wordmark{height:auto;aspect-ratio:314.08/74.495483}
.brand-scroll-active:not(.brand-docked) .morph-wordmark{will-change:auto}
.service-preview{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;background:#111}

/* Authentic partner marks are below the photographs so no face is overlaid. */
.site-page .case-caption{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}
.site-page .case-caption>div{grid-column:1;grid-row:1}
.site-page .case-caption .case-brand{position:static;grid-column:2;grid-row:1;background:none;padding:0;max-width:74px;align-self:center}
.site-page .case-caption .case-brand img{width:74px;height:29px;object-fit:contain}
.site-page .case-caption .case-brand img.badge-logo{width:38px;height:38px}
.site-page .client-band-link>img.badge-logo{width:58px;max-height:54px}
.site-page .case-film-tag,.site-page .case-arrow{display:none}
