/* Source: /font-trial.css */
/* Display labels use the shared Adobe font on every host. */
:root :is(.film-category,.project-meta,.sg-category,.stills-page-heading p){font:normal 300 18px/1.3 'swear-display','Cormorant Garamond',Georgia,serif;letter-spacing:0}
@media(max-width:760px){
 :root :is(.film-category,.project-meta,.sg-category,.stills-page-heading p){font-size:16px}
}


/* Source: /film-credit.css */
/* Commissioner above the title; film type beside the lower controls. */
:root .film-caption .film-category{
  font:normal 300 clamp(22px,2.2vw,32px)/1.12 'swear-display','Cormorant Garamond',Georgia,serif;
  letter-spacing:0;
  text-transform:uppercase;
  text-wrap:balance;
}
:root .film-caption .film-category[hidden]{display:none}
:root .film-caption .film-category.film-client-italic{font-style:italic}
.opening-sticky.cinema .film-client{
  min-width:0;
  height:auto;
  overflow-wrap:anywhere;
}
.opening-sticky.cinema .film-client:has(.film-credit-value){
  display:block;
  width:auto;
  max-width:min(48%,42rem);
  font:normal 300 18px/1.3 'swear-display','Cormorant Garamond',Georgia,serif;
  letter-spacing:0;
  text-align:left;
  text-transform:none;
  text-wrap:pretty;
}
.opening-sticky.cinema .film-credit-prefix{
  font-family:'swear-display-cilati','swear-display',Georgia,serif;
  font-weight:400;
  font-style:normal;
  text-transform:none;
  margin-right:.15em;
}
.opening-sticky.cinema .film-credit-value{
  text-transform:uppercase;
}
/* The phone stack reserves laurel space only for films that have laurels. */
.opening-sticky.cinema.mobile-film-stack .film-awards:empty{display:none}
.opening-sticky.cinema.mobile-film-stack .cinema-bottom{transition:top 320ms cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){
  .opening-sticky.cinema.mobile-film-stack .cinema-bottom{transition:none}
}
@media(max-width:760px){
  :root .film-caption .film-category{font-size:20px}
  .opening-sticky.cinema .film-client:has(.film-credit-value){
    width:100%;
    max-width:340px;
    font-size:16px;
    line-height:1.3;
    text-align:center;
  }
}
@media(max-height:500px) and (orientation:landscape){
  :root .film-caption .film-category{font-size:20px}
  .opening-sticky.cinema .film-client:has(.film-credit-value){
    width:auto;
    max-width:48%;
    font-size:16px;
    text-align:left;
  }
}


/* Source: /film-strip.css */
/* A compact contact strip keeps the gallery in view while choosing a film. */
#open-index{gap:10px;padding:0 6px;min-width:44px;min-height:44px}
.film-strip-icon{display:flex;align-items:center;gap:3px;width:28px;height:25px;color:var(--cream)}
.film-strip-icon i{display:block;width:7px;height:16px;border:1px solid currentColor;transition:transform .3s ease}
.film-strip-icon i:nth-child(2){transform:translateY(-3px)}
.film-strip-icon i:nth-child(3){transform:translateY(3px)}
#open-index:hover .film-strip-icon i{transform:translateY(0)}
.film-strip-label{font:400 9px/1 DM,Arial,sans-serif;letter-spacing:.09em}
/* Keep the index in the header row, clear of the neighboring preview. */
@media(min-width:761px) and (min-height:501px){
 .cinema-top{top:max(20px,calc(env(safe-area-inset-top) + 8px));left:auto;right:max(calc(var(--gutter) + 80px),calc(env(safe-area-inset-right) + 96px))}
}
@media(max-height:500px) and (orientation:landscape){
 .cinema-top{top:max(26px,calc(env(safe-area-inset-top) + 8px));left:auto;right:max(calc(var(--gutter) + 80px),calc(env(safe-area-inset-right) + 96px))}
 .cinema-top .film-strip-label{display:none}
}
#film-index{position:fixed;inset:0;width:100%;height:100dvh;background:transparent;overflow:hidden;padding:0}
#film-index::backdrop{background:rgba(0,0,0,.18)}
.film-strip-panel{position:absolute;right:max(22px,env(safe-area-inset-right));top:max(80px,calc(env(safe-area-inset-top) + 64px));bottom:max(22px,env(safe-area-inset-bottom));width:238px;display:flex;flex-direction:column;min-height:0;background:rgba(16,17,15,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 16px 60px #0004;transform-origin:top right;will-change:clip-path,transform}
.film-strip-panel:before,.film-strip-panel:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(var(--cream),var(--cream)) left top/22px 1px no-repeat,linear-gradient(var(--cream),var(--cream)) left top/1px 22px no-repeat,linear-gradient(var(--cream),var(--cream)) right bottom/22px 1px no-repeat,linear-gradient(var(--cream),var(--cream)) right bottom/1px 22px no-repeat;opacity:.65}
.film-strip-panel:after{transform:scaleX(-1)}
#film-index .dialog-bar{border:0;min-height:56px;padding:8px 17px;flex:none;gap:10px}
#film-index .dialog-bar h2{font:400 10px/1.2 DM,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.index-total{margin-left:8px;opacity:.45;font-variant-numeric:tabular-nums}
#film-index .close-index{min-width:44px;min-height:44px;font:300 28px/1 DM,Arial,sans-serif;letter-spacing:0}
#film-index .index-list{padding:8px 18px 16px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#77766a transparent;min-height:0;scroll-padding:12px}
#film-index .index-entry{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;padding:0;gap:9px;border:0;margin-bottom:21px;text-align:left;touch-action:manipulation}
#film-index .index-entry:last-child{margin-bottom:0}
.index-image{position:relative;display:block;aspect-ratio:16/9;width:100%;overflow:hidden;background:#23241f;outline:1px solid #e9e5d823;outline-offset:3px;transition:outline-color .25s ease}
#film-index .index-image img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;transform:scale(var(--preview-scale,1));opacity:.82;transition:opacity .25s ease}
#film-index .index-entry:is(.is-current,:hover,:focus-visible) img{opacity:1}
#film-index .index-entry:is(.is-current,:hover,:focus-visible) .index-image{outline-color:var(--cream)}
#film-index .index-entry:focus-visible{outline:0}
#film-index .index-entry:focus-visible .index-image{outline-width:2px;outline-offset:4px}
.index-caption{display:grid;grid-template-columns:21px minmax(0,1fr);align-items:baseline;gap:3px 6px}
.index-number{font:400 9px/1.3 DM,Arial,sans-serif;font-variant-numeric:tabular-nums;opacity:.4}
#film-index .index-title{font:400 11px/1.3 DM,Arial,sans-serif;letter-spacing:0;overflow-wrap:normal}
#film-index .index-entry:hover .index-title{font-style:normal}
#film-index .index-client{display:block;grid-column:2;font:400 9px/1.3 DM,Arial,sans-serif;letter-spacing:0;text-align:left;opacity:.5}
#film-index .is-current .index-number{opacity:1}
.film-strip-hint{flex:none;padding:13px 12px 17px;text-align:center;font:400 9px/1.3 DM,Arial,sans-serif;color:var(--muted)}
#film-index.is-closing .film-strip-panel{pointer-events:none}
@media(max-width:760px),(max-width:1000px) and (max-height:500px){
 .film-strip-panel{top:auto;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:auto;height:min(86dvh,780px);max-height:calc(100dvh - max(72px,calc(env(safe-area-inset-top) + 60px)));transform-origin:bottom center}
 #film-index .dialog-bar{min-height:52px;padding:4px 14px}
 /* A vertical contact sheet shows several complete films before scrolling. */
 #film-index .index-list{display:block;flex:1;padding:2px 18px 10px;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;scroll-padding-block:10px}
 #film-index .index-entry{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:14px;width:100%;min-height:74px;padding:10px 0;margin:0;border-bottom:1px solid #e9e5d816;scroll-snap-align:none}
 #film-index .index-entry:last-child{border-bottom:0}
 #film-index .index-image{width:96px;aspect-ratio:16/9;outline-offset:2px}
 #film-index .index-caption{grid-template-columns:19px minmax(0,1fr);gap:4px 5px;min-width:0}
 #film-index .index-title{font-size:12px;line-height:1.3}
 #film-index .index-client{font-size:10px;line-height:1.35;opacity:.6}
 #film-index .film-strip-hint{padding:9px 12px 11px}
}
@media(max-width:350px){
 #film-index .index-entry{grid-template-columns:84px minmax(0,1fr);gap:12px;min-height:68px;padding-block:9px}
 #film-index .index-image{width:84px}
 #film-index .index-caption{grid-template-columns:17px minmax(0,1fr);gap:3px 4px}
 #film-index .index-title{font-size:11px}
 #film-index .index-client{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .film-strip-panel,#film-index.is-closing .film-strip-panel{animation:none}
 .film-strip-icon i,.index-image,#film-index .index-image img{transition:none}
}


/* Source: /project-index.css */
/* Photography uses the same compact strip composition as the film index. */
#project-index{position:fixed;inset:0;width:100%;height:100dvh;background:transparent;overflow:hidden;padding:0;color:var(--cream)}
#project-index::backdrop{background:rgba(0,0,0,.18)}
.project-strip-panel{position:absolute;right:max(22px,env(safe-area-inset-right));top:max(80px,calc(env(safe-area-inset-top) + 64px));bottom:max(22px,env(safe-area-inset-bottom));width:238px;display:flex;flex-direction:column;min-height:0;background:rgba(16,17,15,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 16px 60px #0004;transform-origin:top right;will-change:clip-path,transform}
.project-strip-panel:before,.project-strip-panel:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(var(--cream),var(--cream)) left top/22px 1px no-repeat,linear-gradient(var(--cream),var(--cream)) left top/1px 22px no-repeat,linear-gradient(var(--cream),var(--cream)) right bottom/22px 1px no-repeat,linear-gradient(var(--cream),var(--cream)) right bottom/1px 22px no-repeat;opacity:.65}
.project-strip-panel:after{transform:scaleX(-1)}
.pindex-bar{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:8px 17px;flex:none;gap:10px}
.pindex-heading{margin:0;font:400 10px/1.2 DM,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.pindex-total{margin-left:8px;opacity:.45;font-variant-numeric:tabular-nums}
.pindex-close{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;font:300 28px/1 DM,Arial,sans-serif;letter-spacing:0;touch-action:manipulation}
.pindex-list{padding:8px 18px 16px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#77766a transparent;min-height:0;scroll-padding:12px}
.pindex-entry{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;min-height:44px;padding:0;gap:9px;border:0;margin:0 0 21px;text-align:left;color:inherit;text-decoration:none;touch-action:manipulation}
.pindex-entry:last-child{margin-bottom:0}
.pindex-image{position:relative;display:block;aspect-ratio:16/9;width:100%;overflow:hidden;background:#23241f;outline:1px solid #e9e5d823;outline-offset:3px;transition:outline-color .25s ease}
.pindex-image img{display:block;width:100%;height:100%;max-width:none;aspect-ratio:auto;object-fit:cover;border-radius:0;opacity:.82;transition:opacity .25s ease}
.pindex-entry:is(.pindex-current,:hover,:focus-visible) img{opacity:1}
.pindex-entry:is(.pindex-current,:hover,:focus-visible) .pindex-image{outline-color:var(--cream)}
.pindex-entry:focus-visible{outline:0}
.pindex-entry:focus-visible .pindex-image{outline-width:2px;outline-offset:4px}
.pindex-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.pindex-caption{display:grid;grid-template-columns:21px minmax(0,1fr);align-items:baseline;gap:3px 6px}
.pindex-number{font:400 9px/1.3 DM,Arial,sans-serif;font-variant-numeric:tabular-nums;opacity:.4}
.pindex-title{font:400 11px/1.3 DM,Arial,sans-serif;letter-spacing:0;overflow-wrap:normal}
.pindex-category{display:block;grid-column:2;font:400 9px/1.3 DM,Arial,sans-serif;letter-spacing:0;text-align:left;opacity:.5}
.pindex-current .pindex-number{opacity:1}
.pindex-hint{flex:none;margin:0;padding:13px 12px 17px;text-align:center;font:400 9px/1.3 DM,Arial,sans-serif;color:var(--muted)}
#project-index.pindex-closing .project-strip-panel{pointer-events:none}
@media(max-width:760px),(max-width:1000px) and (max-height:500px){
 .project-strip-panel{top:auto;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:auto;height:min(86dvh,780px);max-height:calc(100dvh - max(72px,calc(env(safe-area-inset-top) + 60px)));transform-origin:bottom center}
 .pindex-bar{min-height:52px;padding:4px 14px}
 .pindex-list{display:block;flex:1;padding:2px 18px 10px;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;scroll-padding:10px;touch-action:pan-y;-webkit-overflow-scrolling:touch}
 .pindex-entry{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;width:100%;min-width:0;min-height:104px;padding:8px 0;margin:0;border-bottom:1px solid #e9e5d816;scroll-snap-align:none}
 .pindex-entry:last-child{border-bottom:0}
 /* Each complete photograph sits inside a compact cell, without a crop. */
 .pindex-entry .pindex-image{width:88px;aspect-ratio:1;background:transparent;outline:0}
 .pindex-image img{width:100%;height:100%;object-fit:contain;object-position:center!important}
 .pindex-entry:focus-visible{outline:1px solid var(--cream);outline-offset:4px}
 .pindex-entry:focus-visible .pindex-image{outline:0}
 .pindex-caption{grid-template-columns:19px minmax(0,1fr);gap:4px 5px;min-width:0}
 .pindex-title{font-size:12px;line-height:1.3;overflow-wrap:anywhere}
 .pindex-category{font-size:10px;line-height:1.35;opacity:.6}
 .pindex-hint{padding:9px 12px 11px}
}
@media(max-width:350px){
 .pindex-entry{grid-template-columns:72px minmax(0,1fr);gap:12px;min-height:88px}
 .pindex-entry .pindex-image{width:72px}
 .pindex-caption{grid-template-columns:17px minmax(0,1fr);gap:3px 4px}
 .pindex-title{font-size:11px}
 .pindex-category{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .project-strip-panel{will-change:auto}
 .pindex-image,.pindex-image img{transition:none}
}


/* Source: /photo-gallery.css */
/* The complete project collection: full photographs, shared image baselines. */
.photo-gallery-document{--photo-gutter:clamp(24px,4vw,72px);background:var(--ink);color:var(--cream)}
.photo-gallery-document .photo-gallery-header{position:relative;inset:auto;height:auto;min-height:88px;padding:22px var(--photo-gutter);display:flex;align-items:center;mix-blend-mode:normal;pointer-events:auto}
.photo-gallery-brand{display:inline-flex;align-items:center;min-height:44px;max-width:calc(100% - 64px);font:600 clamp(19px,2vw,27px)/1 Integral,Arial,sans-serif;letter-spacing:-.04em;white-space:nowrap;pointer-events:auto;color:var(--cream);-webkit-text-fill-color:transparent;-webkit-text-stroke:1px var(--cream);--wordmark-hover-stroke:1px}
.photo-gallery-document .photo-gallery-header .corner-menu-trigger{top:22px;right:var(--photo-gutter);transform:none;will-change:auto}
.photo-gallery-main{max-width:1920px;margin-inline:auto;padding:clamp(16px,3vw,44px) var(--photo-gutter) 0}
.photo-gallery-heading{display:flex;justify-content:center;align-items:center;min-height:44px;margin-bottom:clamp(44px,5vw,80px)}
.photo-gallery-filters{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(14px,3vw,42px)}
.photo-gallery-filters[hidden]{display:none}
.photo-gallery-filters button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 8px;font:400 11px/1.3 DM,Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#b8baae;touch-action:manipulation}
.photo-gallery-filters button[aria-pressed=true]{color:var(--cream)}
.photo-gallery-filters button[aria-pressed=true]::before{content:'';position:absolute;inset:3px -2px;pointer-events:none;background:linear-gradient(currentColor,currentColor) left top/6px 1px no-repeat,linear-gradient(currentColor,currentColor) left top/1px 6px no-repeat,linear-gradient(currentColor,currentColor) right top/6px 1px no-repeat,linear-gradient(currentColor,currentColor) right top/1px 6px no-repeat,linear-gradient(currentColor,currentColor) left bottom/6px 1px no-repeat,linear-gradient(currentColor,currentColor) left bottom/1px 6px no-repeat,linear-gradient(currentColor,currentColor) right bottom/6px 1px no-repeat,linear-gradient(currentColor,currentColor) right bottom/1px 6px no-repeat}
.photo-gallery-grid{--photo-slot-height:clamp(220px,25vw,370px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(64px,6vw,100px) clamp(28px,3.4vw,62px)}
.photo-gallery-card{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center;touch-action:manipulation}
.photo-gallery-card[hidden]{display:none}
.photo-gallery-image{height:var(--photo-slot-height);width:100%;display:flex;align-items:center;justify-content:center}
.photo-gallery-frame{position:relative;display:block;width:min(100%,calc(var(--photo-slot-height) * var(--photo-aspect)));aspect-ratio:var(--photo-aspect);flex:none}
.photo-gallery-frame img{width:100%;height:100%;object-fit:contain}
.photo-gallery-frame::after{content:'';position:absolute;inset:-9px;opacity:0;pointer-events:none;transition:opacity .25s ease;background:linear-gradient(var(--cream),var(--cream)) left top/16px 1px no-repeat,linear-gradient(var(--cream),var(--cream)) left top/1px 16px no-repeat,linear-gradient(var(--cream),var(--cream)) right top/16px 1px no-repeat,linear-gradient(var(--cream),var(--cream)) right top/1px 16px no-repeat,linear-gradient(var(--cream),var(--cream)) left bottom/16px 1px no-repeat,linear-gradient(var(--cream),var(--cream)) left bottom/1px 16px no-repeat,linear-gradient(var(--cream),var(--cream)) right bottom/16px 1px no-repeat,linear-gradient(var(--cream),var(--cream)) right bottom/1px 16px no-repeat}
.photo-gallery-title{display:block;width:fit-content;max-width:100%;margin:24px auto 0;font:650 clamp(15px,1.3vw,22px)/1.25 Unbounded,Arial,sans-serif;letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere}
.photo-gallery-card:focus-visible .photo-gallery-frame::after{opacity:1}
.photo-gallery-footer{max-width:calc(1920px - var(--photo-gutter) * 2);margin:clamp(70px,8vw,130px) var(--photo-gutter) 0;padding:24px 0 max(24px,env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px;color:#b8baae}
.photo-gallery-footer nav,.photo-gallery-footer-meta{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(18px,2.4vw,36px)}
.photo-gallery-footer a{display:inline-flex;align-items:center;min-height:44px}
.photo-gallery-footer .footer-instagram{min-width:44px;justify-content:center}
/* This single rule set is also loaded on the home page for its collection link. */
#stills .stills-project-grid{padding-bottom:0}
#stills .stills-project-grid>.stills-project-card:nth-last-child(1 of :not([hidden])){margin-bottom:0}
.stills-view-all{display:flex;align-items:center;justify-content:center;gap:22px;width:fit-content;max-width:100%;min-height:48px;margin:clamp(32px,3vw,48px) auto 0;padding:10px 4px;font:400 clamp(12px,1.2vw,15px)/1.5 DM,Arial,sans-serif;letter-spacing:.07em;text-align:center;text-transform:uppercase;text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--line)}
.stills-view-all>span:last-child{font-size:24px;text-decoration:none}
.stills-view-all{transform:translate3d(0,var(--last-project-travel,0px),0)}
@media(hover:hover){.photo-gallery-card:hover .photo-gallery-frame::after{opacity:1}.stills-view-all:hover{text-decoration-color:currentColor}}
@media(min-width:1920px){.photo-gallery-footer{margin-inline:auto}}
@media(max-width:1099px){
 .photo-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));--photo-slot-height:clamp(260px,39vw,390px);column-gap:clamp(32px,6vw,64px)}
 .photo-gallery-title{font-size:clamp(17px,2.3vw,24px)}
}
@media(max-width:760px){
 .photo-gallery-document .photo-gallery-header{min-height:78px;padding:17px var(--photo-gutter)}
 .photo-gallery-brand{font-size:clamp(18px,4.7vw,24px)}
 .photo-gallery-document .photo-gallery-header .corner-menu-trigger{top:17px;right:var(--photo-gutter)}
 .photo-gallery-main{padding-top:14px}
 .photo-gallery-heading{margin-bottom:38px}
 .photo-gallery-filters{gap:clamp(5px,2.3vw,18px)}
 .photo-gallery-filters button{font-size:10px;letter-spacing:.035em;padding-inline:7px}
 .photo-gallery-footer{align-items:flex-start;flex-direction:column;gap:5px}
 .photo-gallery-footer nav,.photo-gallery-footer-meta{width:100%;justify-content:space-between;gap:14px}
 .stills-view-all{margin-top:28px;gap:16px}
}
@media(max-width:599px){
 .photo-gallery-grid{grid-template-columns:minmax(0,1fr);--photo-slot-height:min(100vw,58svh);row-gap:58px}
 .photo-gallery-card{width:100%;max-width:400px;margin-inline:auto}
 .photo-gallery-title{font-size:clamp(19px,5vw,27px);margin-top:25px;max-width:96%}
}
@media(prefers-reduced-motion:reduce){.photo-gallery-frame::after{transition:none}}

