/* Source: /film-gallery.css */
/* The separate Films index: one moving frame at a time, with native scrolling. */
.film-gallery-document{--gallery-gutter:clamp(22px,4vw,76px);--gallery-ease:cubic-bezier(.22,.68,.2,1);background:#10110f}
.film-gallery-document .film-project-header{position:fixed;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:88px;padding:22px var(--gallery-gutter);mix-blend-mode:normal;z-index:30;background:linear-gradient(#10110f82,transparent);pointer-events:none}
.film-gallery-document .film-project-header .film-page-brand{pointer-events:auto;filter:drop-shadow(0 1px 4px #0006)}
.film-gallery-document .film-project-header .corner-menu-trigger{top:22px;right:var(--gallery-gutter);transform:none;will-change:auto}
.film-gallery-document main{width:100%;max-width:none;margin:0;padding:0}
.film-gallery-document .film-index-heading{position:absolute;z-index:5;top:100px;left:var(--gallery-gutter);right:var(--gallery-gutter);display:flex;align-items:center;justify-content:space-between;max-width:none;margin:0;padding:0;pointer-events:none}
.film-gallery-document .film-index-heading h1{margin:0;font:400 11px/1.3 DM,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.film-gallery-document .film-preview-toggle{pointer-events:auto;min-height:44px;padding:0;font:400 10px/1.3 DM,Arial,sans-serif;letter-spacing:.05em;color:var(--cream);text-transform:uppercase}
.film-gallery-document .film-preview-toggle[hidden]{display:none}
.film-gallery-document .film-list{display:block;list-style:none;padding:0;margin:0}
.film-gallery-document .film-list-item{position:relative;min-height:100svh;margin:0}
.film-gallery-document .film-list-card{position:relative;display:block;height:100svh;min-height:550px;color:var(--cream);overflow:hidden}
.film-gallery-document .film-list-image{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;overflow:hidden;background:#10110f;clip-path:inset(var(--frame-inset-y,0%) var(--frame-inset-x,0%) round var(--frame-radius,0px))}
.film-gallery-document .film-list-image :is(img,video){position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;pointer-events:none;transform:scale(var(--preview-scale,1))}
.film-gallery-document .film-list-image video{opacity:0}
.film-gallery-document .film-list-image video.is-playing{opacity:1}
.film-gallery-document .film-list-image::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0b0c0a66 0%,transparent 28%,#0b0c0a14 38%,#0b0c0a99 65%,#0b0c0ae6 100%)}
.film-gallery-document .film-list-caption{position:absolute;z-index:2;left:var(--gallery-gutter);right:var(--gallery-gutter);bottom:152px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 48px;text-shadow:0 1px 12px #0006;opacity:var(--caption-opacity,1);transform:translateY(var(--caption-y,0px));pointer-events:none}
.film-gallery-document .film-list-client{grid-column:1;margin:0;font:300 clamp(20px,2vw,29px)/1.25 'swear-display',Georgia,serif;text-wrap:balance}
.film-gallery-document .film-list-card h2{grid-column:1;display:block;max-width:1050px;margin:0;font:650 clamp(26px,3.8vw,60px)/1.08 Unbounded,Arial,sans-serif;letter-spacing:-.05em;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere}
.film-gallery-document .film-list-arrow{display:none}
.film-gallery-document .film-list-type{grid-column:2;grid-row:1 / 3;align-self:end;margin:0 0 4px;font:300 clamp(18px,1.6vw,23px)/1.3 'swear-display',Georgia,serif;color:var(--cream);text-align:right}
.film-gallery-document .film-list-type i{font:400 1em 'swear-display-cilati','swear-display',Georgia,serif}
.film-gallery-document .film-list-number{display:none}
.film-gallery-document .film-list-card:focus-visible{outline:2px solid var(--cream);outline-offset:-8px}
.film-gallery-document :is(.film-preview-toggle,.film-gallery-step,.film-gallery-index a):focus-visible{outline:1px solid var(--cream);outline-offset:-4px}
.film-gallery-document .film-gallery-controls{display:none}
.film-gallery-document .film-page-footer{position:relative;z-index:5;margin:0;padding:14px var(--gallery-gutter);min-height:60px;border:0;font:400 10px/1.4 DM,Arial,sans-serif;color:var(--cream)}
.film-gallery-document .film-page-footer nav{gap:24px}
.film-gallery-document .film-page-footer nav>a:first-child{display:none}
/* Progressive enhancement keeps every film link and poster available without JS. */
.film-gallery-enhanced .film-gallery-document{height:100svh;overflow:hidden}
.film-gallery-enhanced .film-gallery-document .film-list{height:100svh;overflow-y:auto;overscroll-behavior-y:contain;scroll-snap-type:y mandatory;scrollbar-width:none;outline:none}
.film-gallery-enhanced .film-gallery-document .film-list::-webkit-scrollbar{display:none}
.film-gallery-enhanced .film-gallery-document .film-list-item{height:100%;min-height:0;scroll-snap-align:start;scroll-snap-stop:always}
.film-gallery-enhanced .film-gallery-document .film-list-card{height:100%;min-height:0}
.film-gallery-enhanced .film-gallery-document .film-index-heading{position:fixed}
.film-gallery-enhanced .film-gallery-document .film-page-footer{position:fixed;inset:auto 0 0;pointer-events:none;background:linear-gradient(transparent,#10110f30)}
.film-gallery-enhanced .film-gallery-document .film-page-footer a{pointer-events:auto}
.film-gallery-enhanced .film-gallery-controls{position:fixed;z-index:5;left:var(--gallery-gutter);right:var(--gallery-gutter);bottom:76px;display:flex;align-items:center;gap:24px;pointer-events:none}
.film-gallery-index{display:flex;align-items:center;gap:2px;overflow-x:auto;max-width:100%;scrollbar-width:none;pointer-events:auto}
.film-gallery-index::-webkit-scrollbar{display:none}
.film-gallery-index a{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 44px;min-height:44px;font:400 11px/1 DM,Arial,sans-serif;color:#eeeade80;font-variant-numeric:tabular-nums;transition:color 250ms ease}
.film-gallery-index a::after{content:'';position:absolute;bottom:6px;left:17px;right:17px;height:1px;background:currentColor;opacity:0;transform:scaleX(0);transition:transform 350ms var(--gallery-ease),opacity 250ms ease}
.film-gallery-index a[aria-current='true']{color:var(--cream)}
.film-gallery-index a[aria-current='true']::after{opacity:1;transform:scaleX(1)}
.film-gallery-index a:hover{color:var(--cream)}
.film-gallery-scroll{pointer-events:auto;min-height:44px;padding:0;display:flex;align-items:center;gap:18px;margin-left:auto;white-space:nowrap;font:300 20px/1.2 'swear-display',Georgia,serif}
.film-gallery-scroll>span:last-child{font:400 21px/1 DM,Arial,sans-serif}
.film-gallery-step{display:none}
@media(max-width:760px){
 .film-gallery-document{--gallery-gutter:22px}
 .film-gallery-document .film-project-header{height:80px;padding:18px var(--gallery-gutter)}
 .film-gallery-document .film-project-header .film-page-brand{font-size:clamp(18px,5.1vw,23px);letter-spacing:-.04em}
 .film-gallery-document .film-project-header .corner-menu-trigger{top:18px;right:16px}
 .film-gallery-document .film-index-heading{top:88px}
 .film-gallery-document .film-list-caption{bottom:160px;display:block}
 .film-gallery-document .film-list-client{font-size:22px;margin-bottom:12px;max-width:95%}
 .film-gallery-document .film-list-card h2{font-size:clamp(26px,7vw,42px);max-width:100%;line-height:1.12}
 .film-gallery-document .film-list-type{margin:15px 0 0;text-align:left;font-size:18px}
 .film-gallery-enhanced .film-gallery-controls{bottom:81px;gap:4px;left:14px;right:14px}
 .film-gallery-index{flex:1;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 8px,#000 calc(100% - 8px),transparent)}
 .film-gallery-index a{flex-basis:44px}
 .film-gallery-scroll{display:none}
 .film-gallery-step{display:flex;flex:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;pointer-events:auto;font:400 23px/1 DM,Arial,sans-serif}
 .film-gallery-step:disabled{opacity:.25;cursor:default}
 .film-gallery-document .film-page-footer{padding:12px var(--gallery-gutter) max(12px,env(safe-area-inset-bottom));gap:12px;font-size:9px;flex-wrap:nowrap}
 .film-gallery-document .film-page-footer nav{gap:12px;flex-wrap:nowrap}
 .film-gallery-document .film-page-footer nav>a:nth-child(2){font-size:9px}
}
@media(max-height:540px) and (orientation:landscape){
 .film-gallery-document .film-project-header{height:64px;padding-block:10px}
 .film-gallery-document .film-project-header .corner-menu-trigger{top:10px}
 .film-gallery-document .film-index-heading{top:64px}
 .film-gallery-document .film-list-caption{bottom:118px;display:grid;gap:6px 24px}
 .film-gallery-document .film-list-client{font-size:18px;margin:0}
 .film-gallery-document .film-list-card h2{font-size:clamp(23px,3.4vw,40px);max-width:78vw}
 .film-gallery-document .film-list-type{display:none}
 .film-gallery-enhanced .film-gallery-controls{bottom:52px}
 .film-gallery-document .film-page-footer{min-height:44px;padding-block:0}
 .film-gallery-scroll{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
 .film-gallery-enhanced .film-gallery-document .film-list{scroll-behavior:auto}
 .film-gallery-document .film-list-image{clip-path:none!important}
 .film-gallery-document .film-list-caption{transform:none!important;opacity:1!important}
 .film-gallery-document .film-list-image :is(img,video),.film-gallery-index a,.film-gallery-index a::after{transition:none}
}

.film-gallery-enhanced .film-gallery-document .film-list:focus-visible{outline:2px solid var(--cream);outline-offset:-6px}
.film-gallery-document .film-gallery-scroll:focus-visible{outline:1px solid var(--cream);outline-offset:6px}
/* Text hover is independent of the full-screen Play hit area. */
.film-gallery-document .film-list-caption :is(h2,.film-list-client){pointer-events:auto;width:fit-content}


/* Source: /film-gallery-index.css */
/* Familiar film-strip control, with a compact overview of the whole collection. */
.film-gallery-document .film-gallery-open-index{display:flex;align-items:center;gap:11px;min-height:44px;padding:0;pointer-events:auto;font:400 10px/1.3 DM,Arial,sans-serif;letter-spacing:.075em;text-transform:uppercase}
.film-gallery-document .film-gallery-open-index[hidden]{display:none}
.film-gallery-open-index .film-strip-icon{display:flex;align-items:center;gap:3px;width:28px;height:25px}
.film-gallery-open-index .film-strip-icon i{display:block;width:7px;height:16px;border:1px solid currentColor;transition:transform 300ms ease}
.film-gallery-open-index .film-strip-icon i:nth-child(2){transform:translateY(-3px)}
.film-gallery-open-index .film-strip-icon i:nth-child(3){transform:translateY(3px)}
.film-gallery-open-index:hover .film-strip-icon i{transform:translateY(0)}
.film-gallery-enhanced .film-gallery-document:is(.film-index-open,.dialog-open) .film-list{overflow:hidden}
dialog.film-gallery-picker{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:32px max(24px,env(safe-area-inset-right)) 32px max(24px,env(safe-area-inset-left));border:0;overflow:hidden;background:transparent;color:var(--cream,#e9e5d8)}
dialog.film-gallery-picker[open]{display:flex;align-items:center;justify-content:center}
.film-gallery-picker::backdrop{background:#05060480;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.film-gallery-picker-panel{display:flex;flex-direction:column;width:min(1120px,100%);max-height:100%;min-height:0;background:#10110ff7;border:1px solid #e9e5d821;box-shadow:0 18px 70px #0005;transform-origin:top left}
.film-gallery-picker-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;min-height:72px;padding:10px 24px}
.film-gallery-picker-header h2{margin:0;font:400 12px/1.3 DM,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.film-gallery-picker-header button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;font:300 29px/1 DM,Arial,sans-serif}
.film-gallery-picker-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 22px;overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:8px 24px 28px;scroll-padding:12px;scrollbar-width:thin;scrollbar-color:#77766a transparent}
.film-gallery-picker-entry{display:block;min-width:0;color:inherit;text-decoration:none;touch-action:manipulation}
.film-gallery-picker-image{display:block;aspect-ratio:16/9;overflow:hidden;outline:1px solid transparent;outline-offset:3px;transition:outline-color 220ms ease;background:#060705}
.film-gallery-picker-image img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(var(--preview-scale,1));opacity:.78;transition:opacity 250ms ease}
.film-gallery-picker-caption{display:block;min-width:0;padding-top:11px}
.film-gallery-picker-title{display:block;font:550 clamp(12px,1.1vw,16px)/1.35 Unbounded,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.035em;overflow-wrap:anywhere}
.film-gallery-picker-client{display:block;margin-top:5px;font:300 17px/1.25 'swear-display',Georgia,serif;color:#bdbeb3;overflow-wrap:anywhere}
.film-gallery-picker-entry:is(:hover,:focus-visible,[aria-current='true']) .film-gallery-picker-image{outline-color:var(--cream,#e9e5d8)}
.film-gallery-picker-entry:is(:hover,:focus-visible,[aria-current='true']) img{opacity:1}
.film-gallery-picker-entry:focus-visible{outline:1px solid var(--cream,#e9e5d8);outline-offset:6px}
.film-gallery-picker-header button:focus-visible,.film-gallery-open-index:focus-visible{outline:1px solid var(--cream,#e9e5d8);outline-offset:3px}
.film-gallery-picker.is-closing .film-gallery-picker-list{pointer-events:none}
@media(max-width:1000px) and (min-width:761px){.film-gallery-picker-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
 dialog.film-gallery-picker{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
 dialog.film-gallery-picker[open]{align-items:flex-end}
 .film-gallery-picker-panel{height:min(86dvh,820px);max-height:calc(100dvh - max(72px,calc(env(safe-area-inset-top) + 60px)));transform-origin:bottom center}
 .film-gallery-picker-header{min-height:56px;padding:5px 16px}
 .film-gallery-picker-list{display:block;flex:1;padding:0 16px 12px}
 .film-gallery-picker-entry{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:14px;min-height:68px;padding:10px 0;border-bottom:1px solid #e9e5d816}
 .film-gallery-picker-entry:last-child{border-bottom:0}
 .film-gallery-picker-caption{padding:0}
 .film-gallery-picker-title{font-size:12px;line-height:1.35}
 .film-gallery-picker-client{margin-top:4px;font-size:15px;line-height:1.2}
}
@media(max-width:380px){
 .film-gallery-picker-entry{grid-template-columns:72px minmax(0,1fr);gap:12px}
 .film-gallery-picker-title{font-size:11px}
 .film-gallery-picker-client{font-size:14px}
}
@media(max-height:540px) and (orientation:landscape){
 dialog.film-gallery-picker{padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}
 .film-gallery-picker-panel{height:auto;max-height:100%}
 .film-gallery-picker-header{min-height:52px;padding-block:4px}
}
@media(prefers-reduced-motion:reduce){
 .film-gallery-open-index .film-strip-icon i,.film-gallery-picker-image,.film-gallery-picker-image img{transition:none}
}


/* Source: /player.css */
/* A capsule timeline, open film-frame playhead, and traveling timecode. */
#film-player.film-lightbox{--fp-gutter:clamp(12px,4vw,64px);--fp-reserve:270px;color:#eee7d7;background:rgba(7,9,8,.57);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
#film-player.film-lightbox::backdrop{background:rgba(5,7,6,.48)}
#film-player.film-lightbox.fp-entering::backdrop{animation:fp-backdrop-in 550ms ease-out both}
#film-player.film-lightbox.fp-closing::backdrop{animation:fp-backdrop-out 340ms ease-in both}
#film-player.film-lightbox.fp-closing .fp-shell,#film-player.film-lightbox.fp-closing .dialog-bar,#film-player.film-lightbox.fp-closing .original-link{pointer-events:none}
.fp-shell{transform-origin:50% 50%}
@keyframes fp-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes fp-backdrop-out{from{opacity:var(--fp-backdrop-start,1)}to{opacity:0}}
#film-player.film-lightbox .dialog-bar{flex:none;border:0;padding:24px var(--fp-gutter) 12px;min-height:65px}
#film-player.film-lightbox .dialog-bar h2{min-width:0;font-size:11px;line-height:1.4;letter-spacing:.025em;font-weight:400;overflow-wrap:anywhere}
#film-player.film-lightbox .close-player{flex:none;border:1px solid #eee7d745;border-radius:100px;min-width:44px;min-height:44px;padding:0 14px;font-size:9px;letter-spacing:.05em;touch-action:manipulation}
#film-player.film-lightbox .close-player:hover{background:#eee7d7;color:#10110f}
#film-player.film-lightbox .player-body{margin:auto 0;display:grid;place-items:center;flex:1 0 auto;min-height:min-content;padding:12px var(--fp-gutter);width:100%}
#film-player.film-lightbox .original-link{margin:0;flex:none;align-self:center;padding:12px 16px 22px;font-size:9px;letter-spacing:.08em;text-decoration:none;opacity:.7}
#film-player.film-lightbox .original-link:hover{opacity:1;text-decoration:underline;text-underline-offset:5px}
.fp-shell{--film-aspect:1.777777778;width:min(90vw,100%,max(260px,calc((100svh - var(--fp-reserve) - env(safe-area-inset-top) - env(safe-area-inset-bottom))*var(--film-aspect))));max-width:1500px;min-width:0;--progress:0%;--hover:0%}
.fp-screen{width:100%;aspect-ratio:var(--film-aspect);position:relative;overflow:hidden;border-radius:0;background:#050605;box-shadow:0 22px 90px #0007;container:film-frame / inline-size}
#film-player .fp-screen>video,#film-player .fp-screen>iframe,#film-player .fp-screen>img{display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;border:0;border-radius:0;object-fit:contain;background:#050605}
#film-player .fp-screen.has-picture-aperture>video{object-fit:cover}
#film-player .fp-screen.has-picture-aperture>iframe{height:calc(100% * var(--film-aperture-scale,1));top:50%;bottom:auto;transform:translateY(-50%)}
#film-player .fp-screen>.fp-end-poster{object-fit:cover}
#film-player .fp-screen>.fp-end-poster[hidden],#film-player .fp-screen>iframe[hidden]{display:none}
.fp-controls{padding:44px 12px 0;color:#eee7d7;font-family:DM,Arial,sans-serif;container:film-controls / inline-size}
.fp-timeline{position:relative;height:38px;--progress:0%;--hover:0%;touch-action:pan-y}
.fp-track{position:absolute;left:0;top:15px;width:100%;height:4px;display:grid;grid-template-columns:repeat(48,minmax(0,1fr));gap:4px;pointer-events:none}
.fp-track i{display:block;min-width:0;height:100%;border-radius:9px;background:#eee7d72e}
.fp-track-fill{clip-path:inset(0 calc(100% - var(--progress)) 0 0);transition:clip-path 120ms linear}
.fp-track-fill i{background:#eee7d7}
.fp-playhead{position:absolute;left:var(--progress);top:17px;width:40px;height:30px;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 1px 2px #0008)}
.fp-playhead svg{display:block;width:100%;height:100%;overflow:visible;stroke:#eee7d7;stroke-width:1.7;stroke-linecap:square}
.fp-playhead .fp-playhead-axis{stroke-width:2.2}
.fp-clock,.fp-hover{position:absolute;left:clamp(29px,var(--progress),calc(100% - 29px));top:-27px;transform:translateX(-50%);font-size:11px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.075em;pointer-events:none;white-space:nowrap}
.fp-clock{padding:6px 9px 5px;border-radius:3px;background:#eee7d7;color:#171a15;box-shadow:0 2px 12px #0002}
.fp-playhead,.fp-clock{transition:left 120ms linear}
.fp-timeline.is-scrubbing .fp-playhead,.fp-timeline.is-scrubbing .fp-clock,.fp-timeline.is-scrubbing .fp-track-fill{transition:none}
.fp-hover{left:clamp(20px,var(--hover),calc(100% - 20px));top:37px;opacity:0;color:#c5c1b7;font-size:9px;font-weight:400;letter-spacing:.04em}
.fp-timeline.is-hovered .fp-hover{opacity:1}
.fp-seek{appearance:none;-webkit-appearance:none;position:absolute;left:0;top:-5px;width:100%;height:44px;margin:0;opacity:0;cursor:pointer;z-index:2}
.fp-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:1px;height:44px}
.fp-seek::-moz-range-thumb{width:1px;height:44px;border:0}
.fp-seek:disabled{cursor:default}
.fp-timeline:focus-within{outline:1px solid #eee7d7;outline-offset:6px;border-radius:1px}
.fp-timeline:focus-within .fp-playhead svg{stroke:#fff}
.fp-toolbar{display:flex;align-items:center;gap:22px;min-height:44px;margin-top:8px}
.fp-toolbar button{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:10px;border:0;background:transparent;color:inherit;padding:0;min-width:44px;min-height:44px;font:inherit;font-size:9px;letter-spacing:.08em;cursor:pointer;touch-action:manipulation}
.fp-toolbar button:disabled{opacity:.3;cursor:default}
.fp-toolbar button:hover:not(:disabled){color:#fff}
.fp-toolbar button:focus-visible{outline:1px solid #eee7d7;outline-offset:5px}
.fp-play-icon{display:block;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;pointer-events:none}
.fp-play-triangle{fill:currentColor;stroke:none;display:none}
.fp-pause-bars{stroke-width:3}
.is-paused .fp-play-triangle{display:block}
.is-paused .fp-pause-bars{display:none}
#film-player .fp-picture-toggle{position:absolute;inset:0;z-index:2;display:grid;place-items:center;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#eee7d7;cursor:pointer;touch-action:manipulation}
#film-player .fp-picture-toggle:disabled{cursor:default}
.fp-picture-toggle .fp-play-icon{width:68px;height:68px;opacity:0;filter:drop-shadow(0 2px 8px #000);transition:opacity 180ms ease}
.show-play .fp-picture-toggle .fp-play-icon{opacity:1}
#film-player .fp-picture-toggle:focus-visible{outline:1px solid #eee7d7;outline-offset:-8px}
#film-player .fp-screen>iframe{pointer-events:none}
.fp-duration{flex:none;white-space:nowrap;font-size:10px;color:#eee7d76e;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.fp-toolbar-space{flex:1}
.fp-fullscreen{font-size:24px!important;min-width:44px}
.fp-toolbar .fp-mute{min-width:44px;min-height:44px}
.fp-sound-icon{display:block;width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.fp-sound-bars{transform-origin:18px 18px;transition:transform 180ms ease,opacity 180ms ease}
.fp-sound-bars path{transform-box:fill-box;transform-origin:center;vector-effect:non-scaling-stroke}
.fp-sound-quiet,.fp-sound-brackets,.fp-sound-slash{opacity:0;transition:opacity 180ms ease}
.fp-sound-brackets{stroke-width:1.25;stroke-linecap:square;stroke-linejoin:miter}
.fp-sound-slash{stroke-width:1.6}
.fp-mute[aria-pressed="true"] .fp-sound-bars{transform:scaleY(.6);opacity:0}
.fp-mute[aria-pressed="true"] .fp-sound-quiet{opacity:.65}
.fp-mute[aria-pressed="true"] .fp-sound-brackets{opacity:.72}
.fp-mute[aria-pressed="true"] .fp-sound-slash{opacity:.9}
@media(prefers-reduced-motion:no-preference){
  .fp-mute.is-sounding:not(:disabled) .fp-sound-bars path{animation:fp-sound-wave 1200ms ease-in-out infinite}
  .fp-mute.is-sounding .fp-sound-bars path:nth-child(2){animation-duration:1050ms;animation-delay:-420ms}
  .fp-mute.is-sounding .fp-sound-bars path:nth-child(3){animation-duration:1380ms;animation-delay:-780ms}
  .fp-mute.is-sounding .fp-sound-bars path:nth-child(4){animation-duration:1140ms;animation-delay:-210ms}
  .fp-mute.is-sounding .fp-sound-bars path:nth-child(5){animation-duration:1290ms;animation-delay:-630ms}
}
@keyframes fp-sound-wave{0%,100%{transform:scaleY(.55)}25%{transform:scaleY(.95)}50%{transform:scaleY(.4)}75%{transform:scaleY(1)}}
.fp-status{margin:5px 0 0;font-size:10px;line-height:1.5;color:#d9d2c4;text-align:center}
.fp-status:empty{display:none}
.fp-shell:fullscreen{--fp-fullscreen-reserve:205px;width:100%;max-width:none;height:100dvh;padding:max(12px,env(safe-area-inset-top)) max(12px,4vw,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,4vw,env(safe-area-inset-left));background:#080a08;display:flex;flex-direction:column;justify-content:center;overflow:auto}
.fp-shell:fullscreen .fp-screen,.fp-shell:fullscreen .fp-controls{margin-inline:auto;flex:none}
.fp-shell:fullscreen .fp-screen{width:min(100%,max(1px,calc((100dvh - var(--fp-fullscreen-reserve) - env(safe-area-inset-top) - env(safe-area-inset-bottom))*var(--film-aspect))))}
.fp-shell:fullscreen .fp-controls{width:min(100%,max(260px,calc((100dvh - var(--fp-fullscreen-reserve) - env(safe-area-inset-top) - env(safe-area-inset-bottom))*var(--film-aspect))))}
.fp-shell:fullscreen .fp-screen{height:auto;aspect-ratio:var(--film-aspect);min-height:0}
@media(max-width:760px){#film-player.film-lightbox{--fp-reserve:260px}#film-player.film-lightbox .dialog-bar{padding:18px var(--fp-gutter) 10px;gap:14px}#film-player.film-lightbox .dialog-bar h2{font-size:10px}.fp-shell{width:min(92vw,100%,max(260px,calc((100svh - var(--fp-reserve) - env(safe-area-inset-top) - env(safe-area-inset-bottom))*var(--film-aspect))))}.fp-controls{padding:42px 9px 0}.fp-track{grid-template-columns:repeat(32,minmax(0,1fr));gap:3px}.fp-track i:nth-child(n+33){display:none}.fp-playhead{width:34px;height:27px}.fp-clock{font-size:10px;top:-25px;padding:5px 8px}.fp-toolbar{gap:17px}.fp-status{font-size:10px;max-width:100%;overflow-wrap:anywhere}#film-player.film-lightbox .original-link{min-height:44px;padding:12px 16px 20px}}
@media(max-height:500px) and (orientation:landscape){#film-player.film-lightbox{--fp-reserve:188px}#film-player.film-lightbox .dialog-bar{min-height:52px;padding-top:4px;padding-bottom:4px}#film-player.film-lightbox .player-body{padding-block:8px}.fp-shell{width:min(82vw,100%,max(260px,calc((100svh - var(--fp-reserve) - env(safe-area-inset-top) - env(safe-area-inset-bottom))*var(--film-aspect))))}.fp-controls{padding-top:28px}.fp-timeline{height:32px}.fp-clock{top:-20px;font-size:9px;padding:4px 7px}.fp-toolbar{margin-top:0;min-height:44px;gap:12px}.fp-shell:fullscreen{--fp-fullscreen-reserve:145px}#film-player.film-lightbox .original-link{padding:10px 12px}.fp-status:empty{display:none}}
@container film-controls (max-width:340px){.fp-toolbar{gap:8px}.fp-toolbar-space{min-width:0}}

#film-player .original-link[hidden]{display:none}
@media(prefers-reduced-motion:reduce){#film-player.film-lightbox::backdrop{animation:none!important}.fp-playhead,.fp-clock,.fp-track-fill,.fp-sound-bars,.fp-sound-quiet,.fp-sound-brackets,.fp-sound-slash,.fp-picture-toggle .fp-play-icon{transition:none}}

/* Three small films float over the last frame; no separate card or client block. */
.fp-screen::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(145deg,rgba(5,6,5,.36),rgba(5,6,5,.62) 65%,rgba(5,6,5,.8));opacity:0;pointer-events:none;transition:opacity 620ms ease}
.fp-screen.has-ended::after{opacity:1}
.fp-up-next{position:absolute;right:clamp(14px,2.3cqw,32px);bottom:clamp(14px,2.3cqw,32px);z-index:3;width:min(59%,580px);color:#eee7d7;text-align:left;animation:fp-next-in 700ms cubic-bezier(.22,1,.36,1) both}
.fp-up-next[hidden]{display:none}
.fp-next-kicker{margin:0 0 12px;font:normal 300 clamp(21px,2.5cqw,29px)/1.1 'swear-display',Georgia,serif;letter-spacing:0;text-transform:none}
.fp-next-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.fp-next-card{display:block;min-width:0;min-height:44px;margin:0;padding:0;border:0;background:none;color:inherit;text-align:left;touch-action:manipulation;animation:fp-next-in 650ms calc(var(--next-order,0)*70ms + 70ms) cubic-bezier(.22,1,.36,1) both}
.fp-next-image{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#181b16;outline:1px solid transparent;outline-offset:3px;transition:outline-color 200ms ease}
#film-player .fp-next-image>img,#film-player .fp-next-image>video{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:cover;transform:scale(var(--preview-scale,1));pointer-events:none}
.fp-next-image>video{opacity:0;transition:opacity 260ms ease}
.fp-next-image>video.is-playing{opacity:1}
.fp-next-title{display:block;margin-top:9px;font:600 clamp(9px,1.05cqw,12px)/1.35 Integral,Unbounded,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance;transition:color 200ms ease}
.fp-next-card:hover .fp-next-title{color:#fff}
.fp-next-card:hover .fp-next-image{outline-color:#eee7d766}
.fp-next-card:focus-visible{outline:2px solid #eee7d7;outline-offset:5px}
@keyframes fp-next-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@container film-frame (max-width:700px){.fp-up-next{width:min(74%,450px)}.fp-next-row{gap:10px}.fp-next-kicker{margin-bottom:9px;font-size:23px}.fp-next-title{font-size:10px;margin-top:7px}}
@container film-frame (max-width:480px){.fp-up-next{right:12px;bottom:12px;width:calc(100% - 24px)}.fp-next-row{gap:9px}.fp-next-kicker{margin-bottom:7px;font-size:21px}.fp-next-title{font-size:9px;line-height:1.25;margin-top:7px}}
@container film-frame (max-width:340px){.fp-up-next{right:9px;bottom:9px;width:calc(100% - 18px)}.fp-next-row{gap:7px}.fp-next-kicker{font-size:18px;margin-bottom:5px}.fp-next-title{font-size:8px;line-height:1.2;margin-top:5px}}
@media(prefers-reduced-motion:reduce){.fp-screen::after,.fp-next-image,.fp-next-image>video,.fp-next-title{transition:none}.fp-up-next,.fp-next-card{animation:none}}


/* Source: /interaction.css */
/* A moving spectrum lives in the lettering, never in the image or hit area. */
@property --link-shimmer { syntax:"<percentage>"; inherits:true; initial-value:0%; }
:where(a[href],button,.film-info>summary,.film-up-next>summary){--link-shimmer:0%;--shimmer-animation:none;--shimmer-word-animation:none}
@media(hover:hover){
 :where(a[href],button:not(:disabled),.film-info>summary,.film-up-next>summary):hover{--link-shimmer:100%;--shimmer-animation:link-spectrum 4s linear infinite;--shimmer-word-animation:word-spectrum 4s linear infinite}
}
/* Menu links stay on the normal text paint path while the drawer moves.
   Do not set animation here: menu.css owns the mobile link reveal. */
.corner-menu [data-menu-navigation] a{background-image:none;-webkit-text-fill-color:currentColor}

@supports (background-clip:text) and (color:color-mix(in srgb,white,black)){
 :is(.film-title-trigger,.corner-menu-label,
 .corner-menu-close>span:first-child,.project-word-inner,.stills-page .project-title,.stills-index-link .project-title,
 .stills-filters button,.index-entry .index-title,[id="open-index"],
 .contact-links a:not([data-closing-reveal]),.about-section footer a:not([data-closing-reveal]),
 .closing-section a[data-closing-reveal]:not(.footer-instagram)>.closing-reveal-inner,.press-entry h2,.press-preview-meta a,
 .press-contact,.back-films,.award-result,.award-name,.award-year,
 .close-player>span,.close-index,.original-link,.fp-next-title,.fp-next-kicker,
 .sg-back>span,.sg-close>span,.sg-next-title,.sg-next-label,
 .stills-page-header a,.stills-page-footer a,.stills-page-next,.stills-page-next em,
 .stills-chapter-cue,[id="skip-intro"],[id="retry-loading"],
 .fp-play-label,.film-controls button,.sg-controls button,.project-index-label,.pindex-title,.pindex-close,
 .film-list-card h2,.film-list-card .film-list-client,.film-list-card .film-list-type,
 .film-gallery-index a,.film-gallery-scroll>span:first-child,.film-preview-toggle,
 .film-back,.film-info>summary>:first-child,.film-info-credits a,.film-source-link a,
 .film-document .feature-synopsis a,.film-page-header nav a,.film-page-footer a:not(.footer-instagram),
 .film-up-next-summary-label,.film-up-next-card-title,.film-gallery-open-index>span:last-child,
 .film-gallery-picker-title,.film-gallery-picker-client,[data-film-gallery-index-close]>span){
  background-image:linear-gradient(90deg,
   color-mix(in srgb,currentColor,var(--shimmer-color-1,#9081fa) var(--link-shimmer)) 0%,
   color-mix(in srgb,currentColor,var(--shimmer-color-2,#1afffe) var(--link-shimmer)) 20%,
   color-mix(in srgb,currentColor,var(--shimmer-color-3,#eddd1b) var(--link-shimmer)) 40%,
   color-mix(in srgb,currentColor,var(--shimmer-color-4,#fd8f50) var(--link-shimmer)) 60%,
   color-mix(in srgb,currentColor,var(--shimmer-color-5,#fa3335) var(--link-shimmer)) 80%,
   color-mix(in srgb,currentColor,var(--shimmer-color-6,#9081fa) var(--link-shimmer)) 100%);
  background-size:400% 100%;background-position:0% 50%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:var(--shimmer-animation,none);
 }
 /* Only a hovered desktop menu link uses transparent gradient lettering.
    These breakpoints exclude the compact mobile drawer as well as touch devices. */
 @media(hover:hover) and (pointer:fine) and (min-width:761px) and (min-height:501px),(hover:hover) and (pointer:fine) and (min-width:1001px){
  .corner-menu [data-menu-navigation] a:hover{
   background-image:linear-gradient(90deg,var(--shimmer-color-1,#9081fa) 0%,var(--shimmer-color-2,#1afffe) 20%,var(--shimmer-color-3,#eddd1b) 40%,var(--shimmer-color-4,#fd8f50) 60%,var(--shimmer-color-5,#fa3335) 80%,var(--shimmer-color-6,#9081fa) 100%);
   background-size:400% 100%;background-position:0% 50%;
   -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
   animation:link-spectrum 4s linear infinite;
  }
 }
 /* A masked link moves its own text layer. Paint the spectrum on that layer,
    not its stationary parent, so transformed lettering stays visible. */
 .closing-section a[data-closing-reveal]{background-image:none;-webkit-text-fill-color:currentColor;animation:none}
 /* Restore the original soft palette on large titles; navigation keeps its vivid colors. */
 :is(.film-title-trigger,.project-word-inner,.stills-page .project-title,.stills-index-link .project-title,
 .index-entry .index-title,.press-entry h2,.fp-next-title,.sg-next-title,.stills-page-next em,.stills-page-name,.pindex-title,
 .film-list-card h2){
  --shimmer-color-1:#ffa77e;--shimmer-color-2:#ff789f;--shimmer-color-3:#b7a0ff;
  --shimmer-color-4:#7be6ee;--shimmer-color-5:#f1df88;--shimmer-color-6:#ffa77e;
 }
 /* Large project lettering has a slower drift than small navigation labels. */
 body :is(.film-title-trigger,.stills-page .project-title,.stills-index-link .project-title,
 .index-entry .index-title,.fp-next-title,.sg-next-title,.pindex-title,.film-list-card h2){animation-duration:12s}
 .stills-project-card .project-title .project-word-inner{background-size:calc(var(--shimmer-width,300px) * 4) 100%;animation:var(--shimmer-word-animation,none);animation-duration:12s}
 /* A gallery card fills the viewport; only its hovered lettering shimmers.
    The gallery stylesheet restores pointer events on these text-sized labels. */
 .film-list-card :is(h2,.film-list-client,.film-list-type){--link-shimmer:0%;--shimmer-animation:none;--shimmer-word-animation:none}
 @media(hover:hover){
  .film-list-card :is(h2,.film-list-client,.film-list-type):hover{--link-shimmer:100%;--shimmer-animation:link-spectrum 4s linear infinite}
 }
 /* No color transition: leaving the hit area restores the normal text immediately.
    Existing word-rise and menu-slide transitions remain independent. */
}
.film-title-trigger{width:fit-content;max-width:100%;margin-inline:auto}
@keyframes link-spectrum{from{background-position:0% 50%}to{background-position:-400% 50%}}
@keyframes word-spectrum{
 from{background-position:calc(0px - var(--shimmer-offset,0px)) 50%}
 to{background-position:calc(var(--shimmer-width,300px) * 12 - var(--shimmer-offset,0px)) 50%}
}

.award-badge:focus-visible,.index-entry:focus-visible .index-title{opacity:1}
#film-player.film-lightbox .close-player:hover{background:transparent;color:#eee7d7}
@media(hover:hover){
 .award-badge:hover,.index-entry:hover .index-title{opacity:1}
}

/* Touch and keyboard focus keep normal text and existing focus outlines.
   Reduced motion retains the hover spectrum without moving it. */
@media(prefers-reduced-motion:reduce){
 :is(.film-title-trigger,.corner-menu-label,
 .corner-menu-close>span:first-child,.project-word-inner,.stills-page .project-title,.stills-index-link .project-title,
 .stills-filters button,.index-entry .index-title,[id="open-index"],
 .contact-links a:not([data-closing-reveal]),.about-section footer a:not([data-closing-reveal]),
 .closing-section a[data-closing-reveal]:not(.footer-instagram)>.closing-reveal-inner,.press-entry h2,.press-preview-meta a,
 .press-contact,.back-films,.award-result,.award-name,.award-year,
 .close-player>span,.close-index,.original-link,.fp-next-title,.fp-next-kicker,
 .sg-back>span,.sg-close>span,.sg-next-title,.sg-next-label,
 .stills-page-header a,.stills-page-footer a,.stills-page-next,.stills-page-next em,
 .stills-chapter-cue,[id="skip-intro"],[id="retry-loading"],
 .fp-play-label,.film-controls button,.sg-controls button,.project-index-label,.pindex-title,.pindex-close,
 .film-list-card h2,.film-list-card .film-list-client,.film-list-card .film-list-type,
 .film-gallery-index a,.film-gallery-scroll>span:first-child,.film-preview-toggle,
 .film-back,.film-info>summary>:first-child,.film-info-credits a,.film-source-link a,
 .film-document .feature-synopsis a,.film-page-header nav a,.film-page-footer a:not(.footer-instagram),
 .film-up-next-summary-label,.film-up-next-card-title,.film-gallery-open-index>span:last-child,
 .film-gallery-picker-title,.film-gallery-picker-client,[data-film-gallery-index-close]>span){animation:none;transition:none;background-position:50% 50%}
 .corner-menu [data-menu-navigation] a:hover{animation:none;background-position:50% 50%}
 .stills-project-card .project-title .project-word-inner{animation:none;background-position:calc(var(--shimmer-width,300px) * -.7 - var(--shimmer-offset,0px)) 50%}
}
@media(forced-colors:active){
 /* System link/button colors remain readable when gradients are suppressed. */
 :is(a,button,a *,button *,.film-info>summary>:first-child,.film-up-next-summary-label){-webkit-text-fill-color:currentColor!important;background-image:none!important;animation:none!important}
 .wordmark:hover{color:LinkText}
}
/* Match the mobile navigation's plain text paint path during the drawer entrance. */
@media(max-width:760px),(max-width:1000px) and (max-height:500px) and (orientation:landscape){
 #site-menu.corner-menu .corner-menu-close>span:first-child{background-image:none;-webkit-text-fill-color:currentColor;animation:none}
}


/* Source: /wordmark-hover.css */
/* Absolute SVG contours share the native glyph positions and baseline. */
:is(.wordmark,[data-wordmark-hover])>span{position:relative}
[data-wordmark-hover]>span{display:block;width:max-content}
.wordmark-hover-baseline{display:inline-block!important;width:0!important;height:0!important;margin:0!important;padding:0!important;border:0!important;vertical-align:baseline;overflow:hidden;pointer-events:none}
.wordmark-hover-svg{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block;overflow:visible;opacity:0;pointer-events:none;-webkit-text-stroke:0}
.wordmark-hover-outline{font-style:normal;font-kerning:none;letter-spacing:0;fill:none;stroke-width:var(--wordmark-hover-stroke,.045em);-webkit-text-stroke:0;-webkit-text-fill-color:transparent}
/* Closing color follows the name's existing scroll motion, including touch. */
.wordmark.has-wordmark-hover>span{-webkit-text-stroke-color:color-mix(in srgb,currentColor calc(100% - var(--wordmark-closing-spectrum,0)*100%),transparent)}
.wordmark.has-wordmark-hover .wordmark-hover-svg{opacity:var(--wordmark-closing-spectrum,0)}
@media(hover:hover){
 :is(.wordmark,[data-wordmark-hover]).has-wordmark-hover.is-wordmark-hover{animation:none}
 :is(.wordmark,[data-wordmark-hover]).has-wordmark-hover.is-wordmark-hover>span{-webkit-text-stroke-color:transparent}
 :is(.wordmark,[data-wordmark-hover]).has-wordmark-hover.is-wordmark-hover .wordmark-hover-svg{opacity:1}
}
@media(forced-colors:active){
 .wordmark.has-wordmark-hover>span{-webkit-text-stroke-color:currentColor}
 .wordmark.has-wordmark-hover .wordmark-hover-svg{display:none}
 :is(.wordmark,[data-wordmark-hover]).has-wordmark-hover.is-wordmark-hover>span{-webkit-text-stroke-color:currentColor}
 :is(.wordmark,[data-wordmark-hover]).has-wordmark-hover.is-wordmark-hover .wordmark-hover-svg{display:none}
}

