/* Source: /style.css */
@font-face{font-family:Integral;src:url('/assets/integral-demibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Unbounded;src:url('/assets/unbounded-site-fd1d541f9ead.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:DM;src:url('/assets/dm-sans.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#10110f;--cream:#e9e5d8;--muted:#8d8f80;--line:rgba(233,229,216,.25);--gutter:3.2vw;--header:90px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0;scrollbar-gutter:stable}body{margin:0;background:var(--ink);color:var(--cream);font:14px/1.4 DM,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.is-loading{overflow:hidden}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;border:0;background:none;cursor:pointer;padding:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:7px}button:disabled{opacity:.25;cursor:default}img,video{display:block;max-width:100%}h1,h2,h3,p{margin:0}::selection{background:var(--cream);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:24px;z-index:1000;padding:14px;background:var(--cream);color:var(--ink)}.skip-link:focus{top:10px}
.site-header{position:fixed;inset:0 0 auto;height:var(--header);z-index:30;pointer-events:none;mix-blend-mode:difference;color:#eeeade}.site-header nav{position:absolute;top:31px;right:var(--gutter);display:flex;gap:32px;pointer-events:auto}.site-header nav a{display:flex;align-items:baseline;gap:6px;font-size:15px}.site-header nav a:after{content:'';height:1px;background:currentColor;position:absolute;bottom:-5px;width:0;transition:width .25s}.site-header nav a:hover:after{width:22px}.wordmark{position:fixed;left:var(--gutter);top:11vh;width:calc(100vw - 6.4vw);font-family:Unbounded,Arial,sans-serif;font-size:clamp(85px,14vw,230px);line-height:.87;letter-spacing:-.075em;pointer-events:auto;transform-origin:top left;will-change:transform;display:flex;flex-direction:column}.wordmark>span{display:block;white-space:nowrap;width:max-content}.wordmark>span:nth-child(2){align-self:flex-end;margin-top:.035em}.wordmark .letter{display:inline-block}.is-loading .site-header{opacity:0}.opening{height:165svh;position:relative}.opening-sticky{height:100svh;position:sticky;top:0;overflow:hidden}.opening-kicker{position:absolute;top:31px;left:var(--gutter);right:34%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.07em;line-height:1.25;opacity:1;transition:opacity .2s}.hero-aperture{position:absolute;inset:53% 27% 13%;overflow:hidden;will-change:inset;transform:translateZ(0);background:#232620}.hero-media,.hero-media>img,.hero-media>video,.hero-media>iframe{position:absolute;width:100%;height:100%;object-fit:cover;border:0}.hero-media>iframe{pointer-events:none;transform:scale(1.03)}.hero-media{transform:scale(1.08);will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 50%);opacity:0}.hero-film-label{position:absolute;left:6.2vw;bottom:17%;opacity:0;transform:translateY(20px);pointer-events:none}.hero-film-label>span{font-size:10px;letter-spacing:.12em}.hero-film-label p{font-family:Unbounded,Arial,sans-serif;font-size:clamp(44px,6.4vw,100px);line-height:1.15;letter-spacing:-.05em}.hero-play{margin-top:17px;font-size:10px;letter-spacing:.08em;pointer-events:auto}.hero-play span{margin-left:30px}.opening-footer{position:absolute;bottom:32px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:end;font-size:10px;line-height:1.4;letter-spacing:.035em}.scroll-cue{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:25px;align-items:center}.scroll-cue span{font-size:25px;font-weight:400;animation:down-cue 2s ease-in-out infinite}@keyframes down-cue{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
.film-section{position:relative;height:740svh;background:var(--ink)}.cinema{position:sticky;top:0;height:100svh;overflow:hidden;background:radial-gradient(ellipse at 30% 90%,#263027 0%,#10110f 65%);transition:background-color 1s}.cinema-top{position:absolute;top:calc(var(--header) + 22px);left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;z-index:3}.cinema-top h2,.cinema-top button{font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:400}.cinema-top button{display:flex;gap:25px}.film-caption{position:absolute;z-index:3;left:10.5vw;top:23vh;pointer-events:none;max-width:70vw;transition:opacity .2s,transform .3s}.film-category{font-size:9px;letter-spacing:.1em;display:block;margin-bottom:14px}.film-title{font-family:Unbounded,Arial,sans-serif;font-weight:400;font-size:clamp(52px,8vw,128px);letter-spacing:-.065em;line-height:.9;max-width:790px;text-wrap:balance}.film-track{position:absolute;inset:34% auto auto 24%;display:flex;gap:4vw;will-change:transform;height:45vh;align-items:center}.film-slide{position:relative;flex:0 0 58vw;width:58vw;height:100%;overflow:hidden;border:0;padding:0;text-align:left;background:#20221e;opacity:.35;transition:opacity .5s,filter .5s;filter:saturate(.75);cursor:pointer}.film-slide.active{opacity:1;filter:saturate(1)}.film-slide img,.film-slide video,.film-slide iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}.film-slide iframe{pointer-events:none;width:102%;height:102%;left:-1%;top:-1%}.film-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,0,0,.22),transparent 60%);pointer-events:none}.slide-play{position:absolute;bottom:24px;right:24px;width:50px;height:50px;border:1px solid rgba(233,229,216,.7);border-radius:50%;display:grid;place-items:center;z-index:2;font-size:10px;transition:background .3s,transform .3s}.film-slide:hover .slide-play{background:var(--cream);color:var(--ink);transform:scale(1.08)}.film-slide:focus-visible{outline-offset:-4px}.cinema-bottom{position:absolute;bottom:7vh;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px}.film-client{font-size:10px;letter-spacing:.05em;text-transform:uppercase;max-width:38%}.film-controls{display:flex;gap:25px;align-items:center}.film-controls button{font-size:24px;min-height:40px;min-width:32px}.film-counter{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.film-counter i{font-style:normal;color:#8e9085;margin-left:12px}
.stills-section{position:relative;background:var(--cream);color:var(--ink);padding:110px var(--gutter) 100px}.section-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.06em}.stills-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:70px 8vw 90px 0}.stills-heading h2{font-family:Unbounded,Arial,sans-serif;font-size:clamp(92px,13.5vw,210px);font-weight:400;line-height:.86;letter-spacing:-.07em}.stills-heading em,.about-grid em{font-weight:400;font-style:italic}.stills-heading p{font-size:12px;line-height:1.5;margin-bottom:10px}.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:100px 2.4vw;align-items:start}.photo-card{border:0;padding:0;width:100%;text-align:left;grid-column:span 5;position:relative}.photo-card:nth-child(6n+1){grid-column:2 / span 5}.photo-card:nth-child(6n+2){grid-column:9 / span 4;margin-top:180px}.photo-card:nth-child(6n+3){grid-column:1 / span 6;margin-top:-100px}.photo-card:nth-child(6n+4){grid-column:8 / span 5;margin-top:90px}.photo-card:nth-child(6n+5){grid-column:2 / span 4;margin-top:-80px}.photo-card:nth-child(6n+6){grid-column:8 / span 4;margin-top:80px}.photo-card .photo-frame{display:block;overflow:hidden;background:#d5d1c6}.photo-card img{width:100%;height:auto;transition:transform .9s cubic-bezier(.2,.65,.2,1)}.photo-card:hover img{transform:scale(1.035)}.photo-card figcaption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.025em;margin-top:16px}.photo-card .photo-number{opacity:.45}.text-link{font-size:10px;letter-spacing:.08em;display:flex;justify-content:space-between;border-bottom:1px solid;padding:16px 0;width:330px;max-width:100%}.all-photographs{margin:110px auto 0}.text-link span{font-size:18px}
.about-section{padding:100px var(--gutter) 0;background:var(--ink)}.about-section .section-meta button{font-size:10px;letter-spacing:.06em}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;margin:95px 0 120px}.about-grid h2{font-family:Unbounded,Arial,sans-serif;font-size:clamp(80px,11vw,180px);line-height:.9;letter-spacing:-.065em;font-weight:400}.about-copy{max-width:460px;padding-top:10px}.bio{font-size:clamp(20px,2vw,30px);line-height:1.4;letter-spacing:-.02em}.contact-links{display:flex;flex-direction:column;margin-top:45px;gap:20px}.contact-links a{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.06em;border-bottom:1px solid var(--line);padding-bottom:16px}.contact-links a span{font-size:15px}.about-section footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.04em;padding:26px 0 30px}.about-section footer span:last-child{opacity:.5}
.loader{position:fixed;inset:0;background:transparent;z-index:100;color:var(--cream);overflow:hidden;transition:opacity .45s;will-change:opacity}.loader[hidden]{display:none}.loader-top{position:absolute;left:var(--gutter);right:var(--gutter);top:32px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.08em}.loader-bottom{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:end;font-size:10px;letter-spacing:.06em}.loader-bottom button{font-size:9px;letter-spacing:.05em}dialog{border:0;padding:0;color:var(--cream);background:var(--ink);max-width:none;max-height:none;width:100vw;height:100dvh;inset:0;margin:0}dialog::backdrop{background:rgba(0,0,0,.8)}dialog[open]{display:flex;flex-direction:column}.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px var(--gutter);border-bottom:1px solid var(--line);font-size:11px}.dialog-bar h2{font-size:14px;font-weight:400}.dialog-bar button{font-size:10px;letter-spacing:.05em;min-height:32px}.player-body{flex:1;min-height:0;position:relative;display:grid;place-items:center;margin:25px 5vw}.player-body iframe,.player-body video{width:100%;height:100%;border:0}.original-link{font-size:10px;letter-spacing:.06em;text-align:center;padding:20px;margin-top:auto}.original-link:hover{text-decoration:underline}.player-poster{height:100%;max-height:65vh;object-fit:contain}.player-fallback{display:grid;gap:25px;justify-items:center}.player-fallback a{border-bottom:1px solid;padding:12px 0}#photo-viewer{background:var(--cream);color:var(--ink)}#photo-viewer .dialog-bar{border-color:#bbb8ae}#photo-viewer>img{margin:auto;max-height:calc(100dvh - 170px);max-width:90vw;object-fit:contain}.photo-controls{display:flex;justify-content:center;align-items:center;gap:50px;padding:20px;font-size:10px}.photo-controls button{font-size:25px;min-width:40px}.index-list{overflow:auto;padding:10px var(--gutter) 40px}.index-entry{display:grid;grid-template-columns:40px 100px 1fr auto;align-items:center;gap:25px;width:100%;text-align:left;border-bottom:1px solid var(--line);padding:18px 0}.index-entry img{width:100px;height:60px;object-fit:cover}.index-entry .index-title{font-family:Unbounded,Arial,sans-serif;font-size:clamp(24px,4vw,48px);letter-spacing:-.045em}.index-entry .index-client{font-size:9px;letter-spacing:.04em;color:var(--muted);text-align:right}.index-entry:hover .index-title{font-style:italic}.noscript{position:fixed;bottom:0;z-index:500;background:var(--cream);color:var(--ink);padding:20px;width:100%}
@media(min-width:1700px){.film-track{height:49vh;top:30%}.film-title{max-width:1000px}.wordmark{font-size:14vw}}
@media(max-width:760px){:root{--gutter:6vw;--header:78px}.site-header nav{top:24px;gap:20px}.site-header nav a{font-size:12px}.wordmark{top:18vh;width:88vw;font-size:18vw;line-height:.94;letter-spacing:-.075em}.wordmark>span:nth-child(2){margin-top:0}.opening-kicker{top:24px;font-size:8px;right:50%}.opening{height:148svh}.hero-aperture{inset:47% 14% 20%}.opening-footer{bottom:25px;font-size:8px}.scroll-cue{left:auto;right:0;transform:none;gap:14px}.hero-film-label{left:9vw;bottom:22%}.hero-film-label p{font-size:12vw;max-width:80vw}.hero-film-label>span{font-size:8px}.hero-play{font-size:9px}.cinema-top{top:100px}.cinema-top h2,.cinema-top button{font-size:9px}.film-caption{top:25vh;left:6vw;max-width:88vw}.film-category{font-size:8px;margin-bottom:12px}.film-title{font-size:15vw;max-width:90vw}.film-track{top:38%;left:12%;gap:6vw;height:33vh}.film-slide{width:82vw;flex-basis:82vw}.film-slide .slide-play{width:38px;height:38px;bottom:15px;right:15px}.cinema-bottom{bottom:11vh;flex-wrap:wrap;row-gap:30px}.film-client{font-size:8px;max-width:52%}.film-controls{gap:14px}.film-counter{font-size:10px}.film-counter i{margin-left:5px}.film-controls button{font-size:20px}.stills-section{padding-top:100px;padding-bottom:70px}.section-meta{font-size:8px}.stills-heading{margin:55px 0 60px}.stills-heading h2{font-size:22vw}.stills-heading p{font-size:10px}.photo-grid{grid-template-columns:repeat(6,1fr);gap:48px 18px}.photo-card:nth-child(6n+1){grid-column:1 / span 4}.photo-card:nth-child(6n+2){grid-column:4 / span 3;margin-top:0}.photo-card:nth-child(6n+3){grid-column:1 / span 5;margin-top:0}.photo-card:nth-child(6n+4){grid-column:3 / span 4;margin-top:0}.photo-card:nth-child(6n+5){grid-column:1 / span 4;margin-top:0}.photo-card:nth-child(6n+6){grid-column:3 / span 4;margin-top:0}.photo-card figcaption{font-size:8px;margin-top:10px}.all-photographs{margin-top:70px;font-size:9px;width:100%}.about-section{padding-top:80px}.about-section .section-meta button{font-size:8px}.about-grid{grid-template-columns:1fr;gap:45px;margin:65px 0 80px}.about-grid h2{font-size:23vw}.about-copy{max-width:none}.bio{font-size:21px;max-width:440px}.about-section footer{font-size:8px;align-items:start;flex-wrap:wrap;row-gap:22px}.about-section footer span:last-child{display:none}.loader-top,.loader-bottom{font-size:8px}.loader-bottom button{font-size:8px}.index-entry{grid-template-columns:24px 64px 1fr;gap:16px}.index-entry img{width:64px;height:45px}.index-entry .index-client{display:none}.index-entry .index-title{font-size:25px}.dialog-bar{font-size:10px}.player-body{margin:20px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loader{display:none!important}.hero-media{transform:none!important}.photo-card img{transform:none!important}}

/* Heavy extended typography: the reference's graphic weight. */
.wordmark{font-weight:900;font-size:13.2vw;line-height:.92;letter-spacing:-.065em}
.film-title{font-weight:800;text-transform:uppercase;font-size:7.3vw;line-height:.95;letter-spacing:-.06em;max-width:80vw}
.hero-film-label p{font-family:Unbounded,Arial,sans-serif;font-weight:800;text-transform:uppercase;font-size:5.7vw;letter-spacing:-.06em;max-width:76vw;line-height:1}
.stills-heading h2{font-weight:800;font-size:15vw;line-height:.95;letter-spacing:-.07em;text-transform:uppercase}
.about-grid h2{font-weight:800;font-size:8vw;line-height:1;letter-spacing:-.06em;text-transform:uppercase}
.stills-heading em,.about-grid em{font-style:normal;font-weight:inherit}


.index-entry .index-title{font-weight:700;text-transform:uppercase;font-size:clamp(20px,3vw,40px)}
.index-entry:hover .index-title{font-style:normal;opacity:.65}
.photo-categories{display:flex;gap:25px;font-size:10px;margin-top:28px}
.photo-categories a{border-bottom:1px solid;padding-bottom:5px}
@media(max-width:760px){.wordmark{font-size:15.6vw;top:20vh;line-height:.98}.hero-film-label p{font-size:10vw;max-width:82vw}.film-title{font-size:12vw;max-width:88vw}.stills-heading h2{font-size:19vw}.about-grid h2{font-size:15vw}.photo-categories{gap:20px;font-size:9px}.stills-heading{display:block}.stills-heading p{margin-top:30px}.index-entry .index-title{font-size:18px}}

/* Opening filmstrip: spread, gather, then open the first film. */
.wordmark{font-weight:550;font-size:11.8vw;letter-spacing:-.065em;line-height:.98;top:15vh}
.wordmark>span:nth-child(2){margin-top:.03em}
.film-title,.hero-film-label p{font-weight:650;letter-spacing:-.055em}
.about-grid h2{font-weight:550}
.opening{height:180svh}
.hero-aperture{inset:auto;z-index:9;will-change:left,top,width,height}
.reel-card{position:absolute;overflow:hidden;background:#232620;will-change:left,top,width,height;pointer-events:none}
.reel-card img,.reel-card video{width:100%;height:100%;object-fit:cover}
.hero-film-label{z-index:12;bottom:18%}
.opening-footer{z-index:13}
@media(max-width:760px){.wordmark{font-size:15.1vw;top:23vh;font-weight:550}.opening{height:180svh}.hero-film-label{bottom:28%}.hero-film-label p{font-size:10vw}}

/* Widescreen frames and titles below the image. */
.cinema{--film-width:min(62vw,90vh);--film-top:14vh}
.film-track{left:calc((100vw - var(--film-width))/2);top:var(--film-top);height:calc(var(--film-width)*.5625);gap:4vw}
.film-slide{width:var(--film-width);flex-basis:var(--film-width);border-radius:clamp(14px,2vw,30px);aspect-ratio:16/9}
.film-caption{top:calc(var(--film-top) + var(--film-width)*.5625 + 3.5vh);left:4vw;width:92vw;max-width:none;text-align:center}
.film-category{font-size:9px;margin-bottom:15px}
.film-title{font-size:5.6vw;max-width:100%;line-height:1.05}
.film-title.long-title{font-size:4.6vw}
.cinema-top{top:88px}
.cinema-bottom{bottom:3.5vh}
.hero-film-label{left:5vw;width:90vw;bottom:auto;text-align:center}
.hero-film-label p{font-size:4.9vw;max-width:none}
.hero-film-label>span{display:none}
.hero-play{margin-top:20px}
.hero-media{transform:none!important}
.hero-aperture,.reel-card{aspect-ratio:16/9;border-radius:8px}
.player-body iframe,.player-body video{width:min(90vw,calc((100dvh - 160px)*1.777778));height:auto;aspect-ratio:16/9;max-height:100%;border-radius:16px;object-fit:contain;background:#000}
.index-entry img{aspect-ratio:16/9;height:auto;border-radius:5px}
@media(max-width:760px){
 .cinema{--film-width:88vw;--film-top:25vh}
 .film-track{gap:6vw}
 .film-caption{top:calc(var(--film-top) + var(--film-width)*.5625 + 32px);left:6vw;width:88vw}
 .film-title{font-size:9vw}.film-title.long-title{font-size:7.8vw}
 .film-category{font-size:8px;margin-bottom:15px}
 .cinema-top{top:100px}.cinema-bottom{bottom:12vh}
 .hero-film-label p{font-size:9vw}.hero-play{margin-top:18px}
 .player-body iframe,.player-body video{width:96vw;border-radius:10px}
}

.stills-heading h2{font-weight:650;letter-spacing:-.045em}
.photo-card figcaption>span:first-child{font-size:9px}

/* One pinned stage: the opening card becomes the first film in the same track. */
.opening.film-section{height:870svh}
.film-anchor{position:absolute;left:0;width:1px;height:1px;pointer-events:none}
.opening-sticky.cinema{background:var(--ink)}
.cinema:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 100%,var(--scene-tint,#263027),transparent 70%);opacity:var(--scene-tint-opacity,0);pointer-events:none;transition:background .5s;mask-image:linear-gradient(#000 55%,transparent);-webkit-mask-image:linear-gradient(#000 55%,transparent)}
.film-track{position:absolute;inset:0;width:100%;height:100%;display:block;transform:none!important;pointer-events:none}
.film-slide{position:absolute;flex:none;will-change:left,top,width,height,scale;transform-origin:50% 50%;transition:filter .5s;filter:none}
.film-caption{z-index:25;top:auto}
.film-title{font-size:4.9vw}.film-title.long-title{font-size:4.3vw}
.cinema-top,.cinema-bottom{z-index:25}
.cinema-top{justify-content:flex-end}
.film-ui{opacity:0}
.opening-footer{z-index:25}

@media(max-width:760px){.film-title{font-size:9vw}.film-title.long-title{font-size:7.8vw}.film-caption{width:88vw;left:6vw}.opening.film-section{height:870svh}}

/* Still film images spin in a ring, then unfurl into the opening strip. */
/* A return visit never flashes the server-rendered ring while scripts load.
   Keep the landing guarded by is-loading until its layout is measured. */
html.intro-visited .loader{display:none!important}
html{scrollbar-gutter:stable}
.intro-backdrop{position:absolute;inset:0;z-index:0;background:var(--ink)}
.intro-orbit{position:absolute;inset:0;z-index:1;pointer-events:none;--intro-radius:min(29vw,390px);--intro-vertical:calc(var(--intro-radius)*.52)}
.intro-card{position:absolute;left:50%;top:47%;width:min(19vw,280px);aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:#22241f;transform-origin:50% 50%;box-shadow:0 10px 40px #0003;transform:translate(-50%,-50%) translate(var(--intro-x),var(--intro-y)) scale(.94)}
/* The first ring is real HTML with ordinary image files. It can paint before
   deferred animation scripts execute; the script reuses these exact elements. */
.intro-card:nth-child(1){--intro-x:calc(var(--intro-radius)*-.85264);--intro-y:calc(var(--intro-vertical)*-.5225)}
.intro-card:nth-child(2){--intro-x:calc(var(--intro-radius)*-.94088);--intro-y:calc(var(--intro-vertical)*.33874)}
.intro-card:nth-child(3){--intro-x:calc(var(--intro-radius)*-.32062);--intro-y:calc(var(--intro-vertical)*.94721)}
.intro-card:nth-child(4){--intro-x:calc(var(--intro-radius)*.54107);--intro-y:calc(var(--intro-vertical)*.84098)}
.intro-card:nth-child(5){--intro-x:calc(var(--intro-radius)*.99533);--intro-y:calc(var(--intro-vertical)*.09655)}
.intro-card:nth-child(6){--intro-x:calc(var(--intro-radius)*.70008);--intro-y:calc(var(--intro-vertical)*-.71407)}
.intro-card:nth-child(7){--intro-x:calc(var(--intro-radius)*-.12235);--intro-y:calc(var(--intro-vertical)*-.99249)}
.intro-card img,.intro-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-slide img,.film-slide video,.intro-card img,.intro-card video{transform:scale(var(--preview-scale,1));transform-origin:center}
/* Keep Safari's video layer inside the rounded aperture at fractional sizes.
   A one-pixel bleed covers the poster beneath without changing the frame. */
.film-slide,.intro-fanning .intro-card{-webkit-mask-image:linear-gradient(#fff,#fff);mask-image:linear-gradient(#fff,#fff)}
/* Only a revealed trial video needs Safari's clipping layer. Still-only cards
   retain the ordinary image paint path that fixed the first-load blank ring. */
.intro-motion-trial .intro-card:has(>video[data-preview-visible="true"]){-webkit-mask-image:linear-gradient(#fff,#fff);mask-image:linear-gradient(#fff,#fff)}
.film-slide video,.intro-card video{inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);max-width:none}
/* The opening's small, transformed frames must not retain a bright poster
   under the anti-aliased edge of a playing video. Restore it on media failure. */
.intro-card img,.film-slide img{visibility:inherit}
:is(.intro-card,.film-slide):has(>video[data-preview-visible="true"])>img{visibility:hidden;transition:visibility 0s linear 180ms}
.intro-card img{inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);max-width:none}
.intro-card:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,0,0,.22),transparent 60%);pointer-events:none}
.loader-chrome{z-index:50}
.loader-bottom button{min-height:36px}
.is-loading .film-track,.is-loading .opening-footer,.is-loading .opening-kicker{visibility:hidden}
/* Orbit cards are separate from this destination strip. Keep the strip fully
   transparent until the same live players are handed back in finishIntro. */
.is-loading .film-track{opacity:0;pointer-events:none}
.is-loading.intro-reveal .film-track,.is-loading.intro-fanning .film-track{visibility:visible}
.is-loading.intro-fanning .film-slide{visibility:hidden}
@media(max-width:760px){.loader-top{top:25px}.loader-bottom{bottom:25px}.intro-card{border-radius:6px}}
@media(max-width:760px){.intro-orbit{--intro-radius:28vw;--intro-vertical:calc(var(--intro-radius)*.88)}.intro-card{width:25vw;aspect-ratio:3/4}}
.loader[data-phase="error"] .load-status{position:absolute;left:10%;top:58%;width:80%;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;text-align:center;font-size:14px;line-height:1.5}
.loader[data-phase="error"] .intro-progress{display:none}
.loader[data-phase="error"] .loader-bottom{flex-wrap:wrap;align-items:center}

.intro-progress{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}
.load-count{font:500 clamp(30px,3.6vw,54px)/1 Unbounded,Arial,sans-serif;letter-spacing:-.07em}
.load-unit{font:400 11px/1 DM,Arial,sans-serif;opacity:.65}
@media(max-width:760px){.intro-progress{gap:4px}.load-count{font-size:25px}.load-unit{font-size:9px}}

/* Mobile name and opening film strip. */
@media(max-width:760px){
 body:not(.press-page) .wordmark{left:6vw;top:23.5svh;width:88vw;font-size:16vw;font-weight:550;line-height:1.02;letter-spacing:-.065em}
 body:not(.press-page) .wordmark>span:nth-child(2){margin-top:.045em}
 body:not(.press-page) .site-header nav{top:26px;right:6vw;gap:16px}
 body:not(.press-page) .site-header nav a{font-size:11px;min-height:28px;align-items:center}
}

/* The owner's Integral DemiBold wordmark, restored after the Heavy comparison. */
.wordmark{font-family:Integral,Arial,sans-serif;font-weight:600;letter-spacing:-.035em;font-size:12.7vw;line-height:1.02}
/* Outline exploration: retain Integral's letterforms and scale the stroke with the name. */
@supports (-webkit-text-stroke:1px currentColor){.wordmark{-webkit-text-fill-color:transparent;-webkit-text-stroke:.045em currentColor}}
.wordmark .letter{display:inline}
@media(max-width:760px){
 body:not(.press-page) .wordmark{font-weight:600;font-size:17.2vw;letter-spacing:-.035em;line-height:1.08}
 body:has(.opening.film-section) .wordmark{line-height:.94}
 body:has(.opening.film-section) .wordmark>span{height:auto}
 body:has(.opening.film-section) .wordmark>span:nth-child(2){margin-top:.02em}
}

/* The project title opens the same film as its preview. */
.film-title-trigger{display:block;width:100%;min-height:44px;pointer-events:auto;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;text-wrap:inherit}
.film-explore-hint{font:italic 500 17px/1.2 'Cormorant Garamond',Georgia,serif;white-space:nowrap;pointer-events:none}
.desktop-scroll-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.mobile-scroll-hint{display:none}
/* Show the settled gallery hints only after the previews reach their film frame. */
.cinema-bottom[inert] .film-explore-hint{visibility:hidden}
.scroll-cue{width:76px;height:44px;min-width:44px;justify-content:center}
/* Desktop uses the same serif scroll hint as the gallery; mobile keeps Explore and its line. */
.scroll-cue .cue-explore{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;white-space:nowrap;opacity:0;animation:none}
.scroll-cue .cue-label{display:block;font:italic 500 17px/1.2 'Cormorant Garamond',Georgia,serif;letter-spacing:0;-webkit-text-fill-color:currentColor;animation:none}
.scroll-cue .cue-label-mobile{display:none}
/* The line only shrinks inside its own height, so it cannot grow into the label. */
.scroll-cue .cue-line{display:none;flex:none;width:2px;height:40px;background:currentColor;transform-origin:center bottom;animation:opening-cue-line 2s ease-in-out infinite}
/* finishIntro removes is-loading only after every unfurl card has arrived. */
body:not(.is-loading) .scroll-cue .cue-explore{animation:opening-cue-arrive .6s ease-out .15s both}
@keyframes opening-cue-line{0%,100%{transform:scaleY(.75)}50%{transform:scaleY(1)}}
@keyframes opening-cue-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){body:not(.is-loading) .scroll-cue .cue-explore{animation:none;opacity:1}.scroll-cue .cue-line{animation:none;transform:none}}
/* A desktop wheel notch can cross the scroll fade in one frame. Give that
   opacity change a short dissolve; retain the approved mobile scroll response. */
@media(prefers-reduced-motion:no-preference){
 @media(min-width:761px) and (min-height:501px),(min-width:1001px){
  .opening-footer{transition:opacity .45s ease-out}
 }
}
@media(max-width:760px), (max-width:1000px) and (max-height:500px){
 .desktop-scroll-hint{display:none}
 /* Keep the approved name/thumbnail geometry: the whole cue fits inside the
    existing 44px footer instead of extending upward over the thumbnails. */
 .scroll-cue .cue-explore{position:static;transform:none;gap:6px}
 .scroll-cue .cue-label{font-size:14px;line-height:1.2}
 .scroll-cue .cue-label-desktop{display:none}
 .scroll-cue .cue-label-mobile{display:block}
 .scroll-cue .cue-line{display:block;height:clamp(16px,3svh,20px)}
}

/* Responsive composition: keep film, caption and controls inside the safe frame. */
html{-webkit-text-size-adjust:100%}
.film-controls button,.photo-controls button{min-width:44px;min-height:44px;touch-action:manipulation}
#open-index{min-height:44px;align-items:center;padding-inline:8px;touch-action:manipulation}
.loader-bottom button,.scroll-cue{min-height:44px;align-items:center}
.loader-bottom{bottom:max(20px,env(safe-area-inset-bottom));gap:12px}
.dialog-bar{flex-shrink:0;padding-top:max(16px,env(safe-area-inset-top));padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right))}
.dialog-bar button{min-height:44px;min-width:60px;flex:none}
.dialog-bar h2,.dialog-bar>span{min-width:0;overflow-wrap:anywhere}
.index-list{min-height:0;overscroll-behavior:contain;padding-bottom:max(32px,env(safe-area-inset-bottom))}
.index-entry{grid-template-columns:40px 100px minmax(0,1fr) auto}
.index-title{overflow-wrap:anywhere}
.photo-controls{flex-shrink:0;padding-bottom:max(20px,env(safe-area-inset-bottom))}
#photo-viewer>img{min-height:0;flex:1;max-height:calc(100dvh - 180px - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:90%;object-fit:contain}
.contact-links a,.about-section footer a,.photo-categories a{min-height:44px;align-items:center}
.about-section footer{align-items:center;padding-bottom:max(30px,env(safe-area-inset-bottom))}
@media(hover:none){.photo-card:hover img{transform:none}}
@media(max-width:760px){
 :root{--gutter:max(6vw,env(safe-area-inset-left),env(safe-area-inset-right))}
 body:has(.opening.film-section) .site-header .corner-menu-trigger{top:max(clamp(40px,7svh,60px),calc(env(safe-area-inset-top) + 8px))}
 .cinema-top{top:max(clamp(40px,7svh,60px),calc(env(safe-area-inset-top) + 8px));left:auto;right:max(calc(6vw + 52px),calc(env(safe-area-inset-right) + 66px))}
 .cinema-top .film-strip-label{display:none}
 .cinema-bottom{bottom:max(40px,calc(env(safe-area-inset-bottom) + 22px));gap:6px;flex-wrap:nowrap;flex-direction:column;text-align:center}
 .film-client{width:100%;max-width:280px;height:24px;display:flex;align-items:center;justify-content:center;line-height:12px}
 .film-controls{gap:22px;flex:none;justify-content:center}
 .film-counter{font-size:12px;min-width:54px}
 .mobile-scroll-hint{display:block;font:italic 500 17px/1.2 'Cormorant Garamond',Georgia,serif}
 .opening-footer{bottom:max(34px,calc(env(safe-area-inset-bottom) + 18px));display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}

 .opening-footer .scroll-cue{position:relative;inset:auto;transform:none;order:1;justify-content:center;font:italic 500 17px/1.2 'Cormorant Garamond',Georgia,serif;gap:12px;text-transform:none}
 .opening-kicker{top:max(28px,calc(env(safe-area-inset-top) + 8px))}
 .index-entry{grid-template-columns:20px 56px minmax(0,1fr);gap:12px}
 .index-entry img{width:56px}
 .index-entry .index-title{font-size:clamp(14px,4.4vw,22px);line-height:1.2}
 .photo-card figcaption{gap:8px;line-height:1.5}
 .photo-card figcaption>span:first-child{font-size:8px}
 .photo-number{flex:none}
 .section-meta{gap:20px;line-height:1.5}
 .section-meta>span:last-child{text-align:right}
 /* Center the label against the button's 44px touch target, not its bottom edge. */
 .loader-bottom{left:var(--gutter);right:var(--gutter);align-items:center}
 .loader-bottom .load-label,.loader-bottom button{font-size:8px;line-height:1.4;white-space:nowrap}
}
/* A short, wide screen needs its own composition, rather than a squeezed portrait. */
@media(max-width:760px) and (max-height:560px) and (orientation:portrait){
 body:has(.opening.film-section) .site-header .corner-menu-trigger,.cinema-top{top:max(16px,env(safe-area-inset-top))}
 .cinema-bottom{bottom:max(16px,env(safe-area-inset-bottom));gap:3px}
 .film-title{font-size:7.8vw}.film-title.long-title{font-size:6.7vw}
 :root .opening-sticky .film-caption .film-category{font-size:18px;margin-bottom:6px}
 .opening-sticky .film-awards{height:32px;margin-top:3px}
 .opening-sticky .film-awards .award-badge{min-height:32px;padding-block:0}
 .mobile-scroll-hint{font-size:15px}
}
@media(max-height:500px) and (orientation:landscape){
 body:has(.opening.film-section) .site-header .corner-menu-trigger{top:max(26px,calc(env(safe-area-inset-top) + 8px))}
 .cinema-top{top:66px;right:max(var(--gutter),calc(env(safe-area-inset-right) + 14px))}
 .cinema-bottom{bottom:max(12px,env(safe-area-inset-bottom));flex-wrap:nowrap}
 .film-caption{left:12%;width:76%}
 .film-title,.film-title.long-title{font-size:clamp(18px,4.8svh,27px);line-height:1.05}
 .film-title-trigger{min-height:44px}
 .film-category{font-size:9px;margin-bottom:5px}
 .film-client{max-width:33%;font-size:8px}
 .film-controls{gap:12px}
 body:not(.press-page) .wordmark{top:19svh;font-size:clamp(32px,12svh,65px);width:66%;left:var(--gutter);line-height:1.02}
 body:has(.opening.film-section) .wordmark{line-height:1.02}
 body:has(.opening.film-section) .wordmark>span{height:auto}
 .opening-kicker{font-size:8px;top:24px}
 .opening-footer{bottom:18px}
 .loader-bottom{bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(max-height:500px) and (orientation:landscape){
 .cinema-bottom{flex-direction:row;align-items:center}
 .film-client{width:auto;height:auto;justify-content:flex-start;text-align:left}
 .mobile-scroll-hint{display:none}
 .opening-footer{flex-direction:row;align-items:center;justify-content:center;gap:20px}
 .opening-footer .scroll-cue{position:relative;inset:auto;transform:none;order:1}

}
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){
 .mobile-scroll-hint{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
}

/* Keep the mobile film navigation low when Safari retracts its browser bars.
   The opening ring and name retain their existing small-viewport composition. */
.opening-sticky.cinema.mobile-film-stack.is-film-settled{height:100dvh}
.opening-sticky.cinema.mobile-film-stack .cinema-bottom{
 bottom:max(clamp(16px,3dvh,28px),calc(env(safe-area-inset-bottom) + 12px));
 justify-content:flex-start;
}
.opening-sticky.cinema.mobile-film-stack .film-controls{margin-top:auto}
.opening-sticky.cinema.mobile-film-stack .mobile-scroll-hint{margin-top:6px}
.opening-sticky.cinema.mobile-film-stack .film-caption{transition:opacity .2s,transform .3s,top 320ms cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){
 .opening-sticky.cinema.mobile-film-stack .film-caption{transition:none}
}

/* A small social mark with a full keyboard and touch target on every footer. */
.footer-instagram-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.footer-instagram-nav>a{display:inline-flex;align-items:center;min-height:44px}
a.footer-instagram{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:12px;margin:0;border:0;color:var(--cream,#e9e5d8);line-height:1;text-decoration:none;touch-action:manipulation}
.footer-instagram svg{display:block;flex:none;width:20px;height:20px;max-width:none}
a.footer-instagram:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(hover:hover){a.footer-instagram:hover{opacity:.7}}


/* Source: /press/press.css */
/* Press: an editorial index paired with a changing image. */
/* The original linked awards remain a static grid until the loop is ready. */
.press-page .press-recognition{display:block}
.recognition-viewport,.recognition-track{display:contents}
.press-recognition .recognition-set{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}
.press-recognition .recognition-copy{display:none}
.press-recognition.is-marquee{display:block;position:relative;padding-bottom:48px}
.press-recognition.is-marquee .recognition-viewport{display:block;overflow:hidden;padding-block:8px}
.press-recognition.is-marquee .recognition-track{display:flex;width:max-content;animation:recognition-drift var(--recognition-duration,60s) linear infinite;animation-play-state:paused}
.press-recognition.is-marquee.is-visible:not(.is-paused):not(.is-page-hidden) .recognition-track{animation-play-state:running}
.press-recognition.is-marquee .recognition-set{display:flex;flex:none;flex-wrap:nowrap;width:max-content;gap:36px;padding-right:36px}
.press-recognition.is-marquee .award-badge{flex:0 0 154px;width:154px;max-width:none;min-height:69px;padding:6px 25px}
.press-recognition.is-marquee .award-badge:before,.press-recognition.is-marquee .award-badge:after{width:24px;height:66px}
.press-recognition.is-marquee .award-name{font-size:20px}
.press-recognition.is-marquee .award-result,.press-recognition.is-marquee .award-year{font-size:8px}
.press-recognition.is-marquee .recognition-toggle{position:absolute;right:0;bottom:2px;width:44px;height:44px;display:grid;place-items:center;color:#b4b3a9;touch-action:manipulation}
.recognition-toggle span{width:10px;height:12px;border-inline:2px solid currentColor}
.is-paused .recognition-toggle span{width:0;height:0;border:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor}
.recognition-toggle:hover,.recognition-toggle:focus-visible{color:#e9e5d8}
.press-recognition.is-marquee.is-keyboard-focus .recognition-track{animation:none}
.press-recognition.is-marquee.is-keyboard-focus .recognition-viewport{overflow-x:auto}
.press-recognition.is-marquee.is-keyboard-focus .recognition-copy{display:none}
@media(hover:hover){.press-recognition.is-marquee .recognition-viewport:hover .recognition-track{animation-play-state:paused}}
@keyframes recognition-drift{to{transform:translate3d(calc(-1 * var(--recognition-distance)),0,0)}}
@media(max-width:760px){
 .press-recognition.is-marquee{padding-bottom:44px}
 .press-recognition.is-marquee .recognition-set{gap:24px;padding-right:24px}
 .press-recognition.is-marquee .award-badge{flex-basis:108px;width:108px;min-height:48px;padding:5px 14px}
 .press-recognition.is-marquee .award-badge:before,.press-recognition.is-marquee .award-badge:after{width:13px;height:38px}
 .press-recognition.is-marquee .award-name{font-size:15px}
 .press-recognition.is-marquee .award-result,.press-recognition.is-marquee .award-year{font-size:7px}
}
@media(prefers-reduced-motion:reduce){.press-recognition.is-marquee .recognition-track{animation:none}.press-recognition.is-marquee .recognition-copy{display:none}.press-recognition.is-marquee .recognition-viewport{overflow-x:auto}}
body.press-page{background:#10110f;color:#e9e5d8}
.press-page .site-header{height:100px;background:#10110ff2;mix-blend-mode:normal;backdrop-filter:blur(12px)}
.press-page .wordmark{position:absolute;left:max(var(--gutter),calc(env(safe-area-inset-left) + 16px));top:max(20px,calc(env(safe-area-inset-top) + 8px));width:auto;min-height:44px;flex-direction:row;gap:.28em;align-items:flex-start;justify-content:flex-start;font-size:23px;line-height:1.02;letter-spacing:-.035em}
.press-page .wordmark>span:nth-child(2){align-self:flex-start;margin-top:0}
.press-page .site-header nav{top:31px}
.site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.press-main{padding:146px max(var(--gutter),calc(env(safe-area-inset-right) + 16px)) max(100px,calc(env(safe-area-inset-bottom) + 32px)) max(var(--gutter),calc(env(safe-area-inset-left) + 16px));min-width:0}
.press-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:50px}
.press-intro :is(h1,.press-index-heading){font:800 clamp(76px,12.5vw,190px)/.85 Unbounded,Arial,sans-serif;letter-spacing:-.075em;text-transform:uppercase;margin-left:-.035em}
.press-intro p{font-size:10px;letter-spacing:.065em;line-height:1.5;text-transform:uppercase;text-align:right;padding-bottom:8px;max-width:190px}
.press-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:8vw;align-items:start}
.press-list{list-style:none;margin:0;padding:0;border-top:1px solid #e9e5d84a;min-width:0;scroll-margin-top:110px}
.press-entry{position:relative;display:block;padding:23px 38px 26px 0;border-bottom:1px solid #e9e5d83a;outline-offset:7px;color:#b4b3a9;transition:color .3s}
.press-entry:hover,.press-entry:focus-visible,.press-entry.is-active{color:#e9e5d8}
.press-entry:before{content:'';position:absolute;inset:auto 0 -1px;height:1px;background:#e9e5d8;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.press-entry.is-active:before,.press-entry:hover:before,.press-entry:focus-visible:before{transform:scaleX(1)}
.press-meta{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px;font-size:10px;letter-spacing:.065em;line-height:1.3;text-transform:uppercase}
.press-meta time{font-size:9px;color:#919389;font-variant-numeric:tabular-nums;white-space:nowrap}
.press-entry h2{font:400 clamp(24px,2.35vw,37px)/1.14 DM,Arial,sans-serif;letter-spacing:-.035em;text-wrap:pretty;overflow-wrap:anywhere}
.press-entry .press-arrow{position:absolute;top:23px;right:1px;font-size:21px;font-weight:300;opacity:0;transform:translate(-5px,5px);transition:transform .35s,opacity .35s}
.press-entry:hover .press-arrow,.press-entry:focus-visible .press-arrow,.press-entry.is-active .press-arrow{opacity:1;transform:translate(0,0)}
.press-mobile-image{display:none}
.press-preview{position:sticky;top:125px;min-width:0;padding-top:12px}
.press-image-stack{position:relative;height:min(54vw,61svh);min-height:300px}
.press-image-stack figure{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(20px) scale(.975);transition:opacity .45s ease,transform .75s cubic-bezier(.16,1,.3,1);pointer-events:none}
.press-image-stack figure.is-active{opacity:1;transform:translateY(0) scale(1)}
.press-image-stack picture{display:contents}
.press-image-stack img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.press-preview-meta{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:26px;padding-top:14px;border-top:1px solid #e9e5d83a;font-size:9px;letter-spacing:.065em;text-transform:uppercase;color:#9d9e94}
.press-preview-meta a{color:#e9e5d8;padding:5px 0;display:flex;align-items:center;gap:22px;min-height:44px;flex-shrink:0;touch-action:manipulation}
.press-footer{display:flex;justify-content:space-between;align-items:end;gap:36px;border-top:1px solid #e9e5d83a;padding:40px 0 0;margin-top:100px}
.press-footer p{font-size:10px;color:#9d9e94;letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}
.press-footer>div{min-width:0;max-width:100%}
.press-footer .press-contact{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:clamp(22px,3.6vw,50px);letter-spacing:-.04em;overflow-wrap:anywhere;touch-action:manipulation}
.press-footer .back-films{display:inline-flex;align-items:center;min-height:44px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:12px 0;touch-action:manipulation}
.press-footer .back-films span{margin-left:24px}
.press-intro,.press-layout{animation:press-arrive .8s cubic-bezier(.16,1,.3,1) both}.press-layout{animation-delay:.1s}
@keyframes press-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.press-layout{gap:10vw;grid-template-columns:1.05fr 1fr}.press-main{max-width:1900px;margin:auto}}
@media(max-width:900px){.press-layout{gap:5vw}.press-entry h2{font-size:25px}.press-meta{font-size:9px}.press-meta time{font-size:8px}.press-image-stack{height:55svh}.press-intro{padding-bottom:38px}}
@media(max-width:900px){.press-page .site-header{height:86px}.press-page .site-header nav{top:24px;gap:16px}.press-page .site-header nav a{font-size:12px}.press-main{padding-top:calc(133px + env(safe-area-inset-top));padding-bottom:max(48px,calc(env(safe-area-inset-bottom) + 24px))}.press-intro{display:block;padding-bottom:32px}.press-intro :is(h1,.press-index-heading){font-size:clamp(58px,17vw,118px)}.press-intro p{text-align:left;max-width:none;font-size:9px;margin-top:22px;padding:0}.press-layout{display:block}.press-preview{display:none}.press-entry{padding:24px 0 26px;color:#e9e5d8}.press-meta{margin-bottom:12px;padding-right:28px;font-size:9px}.press-meta time{font-size:9px}.press-entry h2{font-size:clamp(24px,5vw,34px);line-height:1.15;padding-right:15px}.press-entry .press-arrow{opacity:1;top:22px;transform:none;font-size:19px}.press-mobile-image{display:block;width:100%;height:auto;margin:22px 0 0;max-height:70svh;object-fit:contain;object-position:left}.press-entry:before{display:none}.press-footer{margin-top:55px;gap:25px;align-items:start;flex-direction:column}.press-footer .press-contact{font-size:32px}.press-footer p{font-size:9px}.press-footer .back-films{font-size:9px}}
@media(prefers-reduced-motion:reduce){.press-intro,.press-layout{animation:none}.press-entry,.press-entry:before,.press-arrow,.press-image-stack figure{transition:none;transform:none}}

/* Keep the editorial preview within short landscape viewports. */
@media(min-width:901px) and (max-height:600px){
 .press-preview{top:105px;padding-top:0}
 .press-image-stack{height:calc(100svh - 215px);min-height:140px}
 .press-preview-meta{margin-top:12px;padding-top:6px}
}
@media(max-width:900px){
 .press-page .site-header{height:calc(86px + env(safe-area-inset-top))}
 .press-page .recognition-awards{min-width:0}
 .press-entry{touch-action:manipulation}
}

/* Match the home page wordmark after it settles in the corner. */
@media(max-width:760px), (max-width:1000px) and (max-height:500px){.press-page .wordmark{top:max(30px,calc(env(safe-area-inset-top) + 12px));font-size:18px;line-height:1.08}}
.press-archive-link{padding:24px 0;font-size:14px}.press-archive-link a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}


/* Source: /awards.css */
/* Custom typographic laurels; recognition text remains selectable and crawlable. */
@font-face{font-family:'Cormorant Garamond';src:url(/assets/cormorant-garamond-italic.woff2) format('woff2');font-style:italic;font-weight:500;font-display:swap}
.award-badge{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:154px;min-height:69px;padding:6px 25px;text-align:center;color:var(--cream,#e9e5d8);transition:opacity .25s}
.award-badge:before,.award-badge:after{content:'';position:absolute;width:24px;height:66px;top:50%;left:0;transform:translateY(-50%);background:currentColor;-webkit-mask:url(/assets/laurel-branch.svg) center/contain no-repeat;mask:url(/assets/laurel-branch.svg) center/contain no-repeat;opacity:.8}
.award-badge:after{left:auto;right:0;transform:translateY(-50%) scaleX(-1)}
.award-badge:hover{opacity:.65}
.award-result{font-size:8px;font-weight:400;letter-spacing:.07em;text-transform:uppercase;line-height:1.25;margin-bottom:5px}
.award-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;font-weight:500;font-style:italic;letter-spacing:-.025em;line-height:1.05}
.award-year{font-size:8px;letter-spacing:.05em;line-height:1;margin-top:5px;opacity:.65}
.film-awards{height:48px;display:flex;justify-content:center;align-items:center;gap:14px;margin-top:9px;pointer-events:auto}
.film-awards:empty{visibility:hidden}
.film-awards .award-badge{width:126px;min-height:48px;padding:1px 19px}
.film-awards .award-badge:before,.film-awards .award-badge:after{width:18px;height:45px}
.film-awards .award-result{font-size:8px;letter-spacing:.04em;margin-bottom:4px}
.film-awards .award-name{font-size:15px;line-height:1;white-space:nowrap}
.film-awards .award-year{font-size:8px;margin-top:4px}
.press-recognition{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;margin:0 0 48px;padding:0 0 32px;border-bottom:1px solid #e9e5d83a}
.recognition-project{min-width:0}
.recognition-project h2{font:400 11px/1.4 DM,Arial,sans-serif;letter-spacing:.02em;margin:0 0 18px;color:#b4b3a9}
.recognition-awards{display:flex;align-items:center;justify-content:flex-start;gap:18px;flex-wrap:wrap}
@media(max-width:1100px){.press-recognition{gap:5vw}.recognition-awards{gap:9px}.press-recognition .award-badge{width:126px;padding-inline:21px}.press-recognition .award-badge:before,.press-recognition .award-badge:after{width:21px}.press-recognition .award-name{font-size:18px}}
@media(max-width:760px){.film-awards{height:42px;gap:5px;margin-top:8px}.film-awards .award-badge{width:100px;min-height:42px;padding-inline:15px}.film-awards .award-badge:before,.film-awards .award-badge:after{width:15px;height:40px}.film-awards .award-name{font-size:13px}.film-awards .award-result,.film-awards .award-year{font-size:7px}.press-recognition{grid-template-columns:1fr;gap:27px;margin-bottom:30px;padding-bottom:28px}.recognition-project h2{font-size:10px;margin-bottom:14px}.recognition-awards{gap:7px;justify-content:flex-start;flex-wrap:nowrap}.press-recognition .award-badge{width:calc((100% - 14px)/3);max-width:142px;min-height:60px;padding-inline:17px}.press-recognition .award-badge:before,.press-recognition .award-badge:after{width:18px;height:57px}.press-recognition .award-name{font-size:17px}.press-recognition .award-result,.press-recognition .award-year{font-size:7px}}
@media(max-width:350px){.film-awards{gap:2px}.film-awards .award-badge{width:90px}.film-awards .award-name{font-size:12px}}
@media(prefers-reduced-motion:reduce){.award-badge{transition:none}}

/* Keep three project groups on one desktop row; let the reading order stack on small screens. */
@media(min-width:1001px){.press-recognition{grid-template-columns:1.5fr 1fr 1fr;gap:3vw}.recognition-awards{gap:9px;flex-wrap:nowrap}.press-recognition .award-badge{flex:1;width:auto;max-width:154px;min-width:0;padding-inline:19px}.press-recognition .award-name{font-size:18px}.press-recognition .award-badge:before,.press-recognition .award-badge:after{width:19px}}
@media(min-width:761px) and (max-width:1000px){.press-recognition{grid-template-columns:1fr;gap:24px}.recognition-project{display:flex;align-items:center;gap:26px}.recognition-project h2{width:125px;flex:none;margin:0}.recognition-awards{gap:12px}.press-recognition .award-badge{width:126px}}

/* Small, quiet recognition on phones; linked badges retain a 44px tap height. */
@media(max-width:760px){
 .film-awards{height:44px;gap:4px;margin-top:3px}
 .film-awards .award-badge{width:82px;min-height:44px;padding:5px 12px}
 .film-awards .award-badge:before,.film-awards .award-badge:after{width:11px;height:30px;opacity:.7}
 .film-awards .award-result,.film-awards .award-year{font-size:7px;letter-spacing:0}
 .film-awards .award-result{margin-bottom:2px}
 .film-awards .award-name{font-size:11px}
 .film-awards .award-year{margin-top:2px}
 .press-recognition .award-badge{max-width:108px;min-height:48px;padding-inline:14px}
 .press-recognition .award-badge:before,.press-recognition .award-badge:after{width:13px;height:38px}
 .press-recognition .award-name{font-size:15px}
}
@media(max-height:500px) and (orientation:landscape){
 .film-awards{height:44px;margin-top:0;gap:8px}
 .film-awards .award-badge{width:90px;min-height:44px;padding:3px 13px}
 .film-awards .award-badge:before,.film-awards .award-badge:after{width:12px;height:32px}
 .film-awards .award-name{font-size:12px}
 .film-awards .award-result,.film-awards .award-year{font-size:7px;margin-block:2px}
}


/* Source: /menu.css */
/* A quiet corner control opens the main navigation. */
:is(.site-header,.supporting-header) .corner-menu-trigger{position:absolute;top:max(20px,calc(env(safe-area-inset-top) + 8px));right:max(var(--gutter),calc(env(safe-area-inset-right) + 16px));display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;pointer-events:auto;font-size:11px;letter-spacing:.08em;will-change:transform;touch-action:manipulation}
.corner-menu-strokes{display:none;flex-direction:column;gap:6px;width:22px}
.corner-menu-strokes:before,.corner-menu-strokes:after{content:'';height:1px;width:100%;background:currentColor;transition:transform .25s}
.corner-menu-trigger:hover .corner-menu-strokes:before{transform:translateX(-3px)}
.corner-menu-trigger:hover .corner-menu-strokes:after{transform:translateX(3px)}
:is(.site-header,.supporting-header) [data-menu-navigation][hidden]{display:none}
body.corner-menu-open{overflow:hidden}
dialog.corner-menu{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;color:var(--cream);background:transparent}
dialog.corner-menu[open]{display:flex;align-items:flex-end;flex-direction:column}
dialog.corner-menu::backdrop{background:#050604a8;backdrop-filter:blur(7px)}
.corner-menu-panel{position:relative;flex:none;width:min(58vw,780px);height:100%;padding:max(clamp(100px,18svh,180px),calc(env(safe-area-inset-top) + 80px)) max(clamp(42px,6vw,110px),calc(env(safe-area-inset-right) + 24px)) max(clamp(100px,18svh,180px),calc(env(safe-area-inset-bottom) + 24px));display:flex;flex-direction:column;align-items:stretch;overflow-y:auto;overscroll-behavior:contain;background:var(--ink);border-left:1px solid var(--line);animation:corner-menu-arrive .5s cubic-bezier(.22,1,.36,1) both}
.corner-menu-close{position:absolute;right:max(var(--gutter),calc(env(safe-area-inset-right) + 16px));top:max(20px,calc(env(safe-area-inset-top) + 8px));min-width:44px;min-height:44px;display:flex;align-items:center;gap:17px;font-size:11px;letter-spacing:.08em;touch-action:manipulation}
.corner-menu-cross{position:relative;width:20px;height:20px}
.corner-menu-cross:before,.corner-menu-cross:after{content:'';position:absolute;left:0;top:9px;width:20px;height:1px;background:currentColor;transform:rotate(45deg)}
.corner-menu-cross:after{transform:rotate(-45deg)}
.corner-menu [data-menu-navigation]{width:100%;margin-block:auto;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(18px,4svh,40px)}
/* Negative tracking needs extra paint room for the final glyph in the rainbow text. */
.corner-menu [data-menu-navigation] a{display:flex;align-items:center;min-height:44px;max-width:100%;padding-inline-end:.14em;font:400 clamp(44px,6.3vw,90px)/1.15 Unbounded,Arial,sans-serif;letter-spacing:-.065em;overflow-wrap:anywhere;transition:opacity .2s,transform .3s;touch-action:manipulation}
.corner-menu [data-menu-navigation] a:hover{transform:translateX(8px)}
.corner-menu [data-menu-navigation] a[aria-current=page]{opacity:.48}
@keyframes corner-menu-arrive{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:translateX(0)}}
@keyframes corner-menu-mobile-arrive{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}
@keyframes corner-menu-mobile-leave{from{transform:var(--menu-leave-from,translate3d(0,0,0))}to{transform:translate3d(100%,0,0)}}
@media(max-width:760px),(max-width:1000px) and (max-height:500px) and (orientation:landscape){
 /* hidden is still a scroll container: showModal's automatic focus can pan it
    to the offscreen CLOSE button. clip prevents that invisible horizontal scroll.
    The panel itself remains vertically scrollable for short screens. */
 dialog.corner-menu{overflow:clip}
 :is(.site-header,.supporting-header) .corner-menu-trigger{top:max(26px,calc(env(safe-area-inset-top) + 8px));right:max(24px,calc(env(safe-area-inset-right) + 14px));width:44px;justify-content:center}
 .corner-menu-label{display:none}
 .corner-menu-strokes{display:flex}
 .corner-menu-panel{width:100%;padding:max(100px,calc(env(safe-area-inset-top) + 80px)) max(9vw,calc(env(safe-area-inset-right) + 24px)) max(100px,calc(env(safe-area-inset-bottom) + 24px)) max(9vw,calc(env(safe-area-inset-left) + 24px));border-left:0;animation:corner-menu-mobile-arrive .8s cubic-bezier(.4,0,.2,1) both}
 .corner-menu.is-closing .corner-menu-panel{animation:corner-menu-mobile-leave .3s cubic-bezier(.4,0,.6,1) both}
 .corner-menu-close{top:max(26px,calc(env(safe-area-inset-top) + 8px));right:max(34px,calc(env(safe-area-inset-right) + 24px));font-size:10px;gap:12px}
 /* menu.js fades each link and the close control directly after showModal().
    Keep the static state readable if motion is unavailable or disabled. */
 .corner-menu [data-menu-navigation]{gap:32px}
 .corner-menu [data-menu-navigation] a{font-size:clamp(40px,13vw,76px);animation:none;transition:none}
 .corner-menu [data-menu-navigation] a:hover{transform:none}
}
@media(max-height:600px){
 .corner-menu-panel{padding-top:max(82px,calc(env(safe-area-inset-top) + 66px));padding-bottom:max(24px,calc(env(safe-area-inset-bottom) + 16px))}
 .corner-menu [data-menu-navigation]{gap:clamp(8px,2svh,14px)}
 .corner-menu [data-menu-navigation] a{font-size:clamp(32px,8svh,48px)}
}
@media(prefers-reduced-motion:reduce){.corner-menu-panel,.corner-menu.is-closing .corner-menu-panel,.corner-menu [data-menu-navigation],.corner-menu [data-menu-navigation] a{animation:none}.corner-menu [data-menu-navigation] a,.corner-menu-strokes:before,.corner-menu-strokes:after{transition:none}}

/* Supporting pages keep their header in document flow, using the same menu control. */
.supporting-header .corner-menu-trigger{position:static;inset:auto;transform:none;flex: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}
}


/* Source: /press/press-reader.css */
/* A press article keeps its own URL while opening over the editorial index. */
body.press-reading-open{overflow:hidden}
body.press-reading-open .recognition-track{animation-play-state:paused!important}

dialog.press-reader{
 --reader-paper:#e9e5d8;
 --reader-ink:#10110f;
 --reader-rule:rgba(16,17,15,.23);
 --reader-gutter:clamp(28px,4.3vw,76px);
 position:fixed;
 inset:0;
 z-index:100;
 width:100vw;
 height:100vh;
 height:100dvh;
 max-width:none;
 max-height:none;
 margin:0;
 padding:0;
 border:0;
 border-radius:0;
 overflow:hidden;
 color:var(--reader-ink);
 background:transparent;
 overscroll-behavior:contain;
 text-align:left;
}
dialog.press-reader[open]{display:block}
.press-reader::backdrop{
 background:rgba(0,0,0,.36);
 opacity:1;
 transition:opacity 620ms ease;
}
.press-reader-panel{
 width:90%;
 height:100%;
 overflow-x:hidden;
 overflow-y:auto;
 overscroll-behavior-y:contain;
 -webkit-overflow-scrolling:touch;
 scrollbar-color:#77786d var(--reader-paper);
 color:var(--reader-ink);
 background:var(--reader-paper);
 transform:translate3d(0,0,0);
 transition:transform 620ms cubic-bezier(.22,1,.36,1);
}
.press-reader.is-entering .press-reader-panel,
.press-reader.is-closing .press-reader-panel{transform:translate3d(-100%,0,0)}
.press-reader.is-entering::backdrop,
.press-reader.is-closing::backdrop{opacity:0}
.press-reader-toolbar{
 position:sticky;
 top:0;
 z-index:2;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:24px;
 min-height:88px;
 padding:18px var(--reader-gutter);
 padding-top:max(18px,env(safe-area-inset-top));
 border-bottom:1px solid var(--reader-rule);
 background:var(--reader-paper);
}
.press-reader-back{
 display:inline-flex;
 align-items:center;
 gap:20px;
 min-height:44px;
 font:500 12px/1.3 DM,Arial,sans-serif;
 letter-spacing:.065em;
 text-transform:uppercase;
 touch-action:manipulation;
}
.press-reader-close{
 display:grid;
 flex:none;
 place-items:center;
 width:44px;
 height:44px;
 color:var(--reader-ink);
 touch-action:manipulation;
}
.press-reader-close svg{display:block;width:24px;height:24px}
.press-reader :is(a,button):focus-visible{outline:2px solid var(--reader-ink);outline-offset:5px}
.press-reader ::selection{background:var(--reader-ink);color:var(--reader-paper)}
.press-story{
 margin:0;
 padding:clamp(34px,4.8vw,76px) var(--reader-gutter) max(72px,calc(env(safe-area-inset-bottom) + 40px));
}
.press-story-header{margin-bottom:clamp(30px,4vw,58px)}
.press-story-meta{
 display:flex;
 align-items:baseline;
 flex-wrap:wrap;
 justify-content:space-between;
 gap:10px 24px;
 margin:0 0 24px;
 font:500 12px/1.45 DM,Arial,sans-serif;
 letter-spacing:.055em;
 text-transform:uppercase;
}
.press-story-meta :is(time,.press-story-issue){font-size:11px;font-variant-numeric:tabular-nums}
.press-story-header :is(h1,h2){
 max-width:26ch;
 margin:0;
 font:650 clamp(28px,3.65vw,56px)/1.1 Unbounded,Arial,sans-serif;
 letter-spacing:-.045em;
 text-transform:uppercase;
 text-wrap:pretty;
 overflow-wrap:break-word;
}
.press-story-header :is(h1,h2):focus{outline:none}
.press-story-layout{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 align-items:start;
 gap:clamp(32px,4.8vw,76px);
}
.press-story-image{min-width:0;margin:0}
.press-story-image img{
 display:block;
 width:100%;
 height:auto;
 max-height:min(76svh,840px);
 object-fit:contain;
 object-position:left top;
 border-radius:0;
}
.press-story-image figcaption{
 margin-top:12px;
 font:400 12px/1.5 DM,Arial,sans-serif;
 color:#57594f;
}
.press-story-copy{
 min-width:0;
 max-width:62ch;
 font:400 clamp(17px,1.45vw,21px)/1.6 DM,Arial,sans-serif;
 letter-spacing:-.012em;
 overflow-wrap:break-word;
}
.press-story-copy>p{margin:0 0 1.15em}
.press-story-copy>p:last-child{margin-bottom:0}
.press-story-copy>.press-story-text-label{margin-bottom:24px;font:500 12px/1.5 DM,Arial,sans-serif;letter-spacing:.015em;color:#57594f}
.press-story-copy blockquote{
 margin:1.6em 0;
 padding-left:22px;
 border-left:1px solid var(--reader-ink);
}
.press-story-copy blockquote cite{display:block;margin-top:12px;font-size:13px;font-style:normal}
.press-story-scans{margin-top:clamp(36px,5vw,80px)}
.press-story-scan{max-width:1100px;margin:0 auto 36px}
.press-story-scan>a{display:block;touch-action:manipulation}
.press-story-scan img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}
.press-story-scan figcaption{
 display:flex;
 align-items:baseline;
 justify-content:space-between;
 flex-wrap:wrap;
 gap:8px 24px;
 margin-top:14px;
 font:400 12px/1.5 DM,Arial,sans-serif;
 color:#57594f;
}
.press-story-scan figcaption a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;touch-action:manipulation}
.press-story-source{
 display:inline-flex;
 align-items:center;
 gap:16px;
 min-height:44px;
 max-width:100%;
 margin-top:8px;
 font:500 14px/1.5 DM,Arial,sans-serif;
 letter-spacing:0;
 text-decoration:underline;
 text-decoration-thickness:1px;
 text-underline-offset:5px;
 touch-action:manipulation;
}
.press-story-related{
 display:flex;
 align-items:flex-start;
 flex-direction:column;
 gap:12px;
 margin-top:clamp(34px,4vw,60px);
 padding-top:23px;
 border-top:1px solid var(--reader-rule);
}
.press-story-related>span{
 margin-bottom:2px;
 font:500 13px/1.4 DM,Arial,sans-serif;
}
.press-story-related>a{
 display:inline-flex;
 align-items:center;
 gap:10px;
 min-height:44px;
 max-width:100%;
 font:600 clamp(15px,1.35vw,19px)/1.4 Unbounded,Arial,sans-serif;
 letter-spacing:-.035em;
 text-transform:uppercase;
 touch-action:manipulation;
}

/* Use the site's moving link spectrum, with deeper colors on the light paper. */
@supports (background-clip:text) and (color:color-mix(in srgb,white,black)){
 .press-reader :is(.press-reader-back,.press-story-source,.press-story-related>a,.press-story-scan figcaption a){
  background-image:linear-gradient(90deg,
   color-mix(in srgb,currentColor,#6240a5 var(--link-shimmer,0%)) 0%,
   color-mix(in srgb,currentColor,#00656b var(--link-shimmer,0%)) 20%,
   color-mix(in srgb,currentColor,#74600e var(--link-shimmer,0%)) 40%,
   color-mix(in srgb,currentColor,#934614 var(--link-shimmer,0%)) 60%,
   color-mix(in srgb,currentColor,#a82d44 var(--link-shimmer,0%)) 80%,
   color-mix(in srgb,currentColor,#6240a5 var(--link-shimmer,0%)) 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);
 }
}
@media(max-width:1000px){
 .press-story-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .press-story-image{max-width:760px}
 .press-story-image img{max-height:72svh}
 .press-story-copy{font-size:18px}
}
@media(max-width:760px){
 html:has(body.press-reading-open){scrollbar-gutter:auto}
 dialog.press-reader{--reader-gutter:24px}
 .press-reader-panel{width:100%}
 .press-reader-toolbar{
  min-height:76px;
  padding:12px max(18px,env(safe-area-inset-right)) 12px max(24px,env(safe-area-inset-left));
  padding-top:max(12px,env(safe-area-inset-top));
 }
 .press-reader-back{font-size:11px;gap:16px}
 .press-story{
  padding:32px max(24px,env(safe-area-inset-right)) max(52px,calc(env(safe-area-inset-bottom) + 24px)) max(24px,env(safe-area-inset-left));
 }
 .press-story-header{margin-bottom:28px}
 .press-story-meta{font-size:10px;gap:8px 16px;margin-bottom:20px}
 .press-story-meta :is(time,.press-story-issue){font-size:10px}
 .press-story-header :is(h1,h2){font-size:clamp(22px,6.9vw,42px);line-height:1.13;letter-spacing:-.045em}
 .press-story-layout{gap:27px}
 .press-story-image img{max-height:70svh}
 .press-story-copy{font-size:17px;line-height:1.6}
 .press-story-source{font-size:14px}
 .press-story-related{margin-top:32px;padding-top:20px}
 .press-story-related>a{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
 .press-reader-panel,.press-reader::backdrop{transition:none}
 .press-reader :is(.press-reader-back,.press-story-source,.press-story-related>a,.press-story-scan figcaption a){animation:none;background-position:50% 50%}
}
@media(forced-colors:active){
 .press-reader-panel,.press-reader-toolbar{background:Canvas;color:CanvasText}
 .press-reader :is(a,button){color:LinkText;-webkit-text-fill-color:currentColor;background-image:none;animation:none}
 .press-reader-toolbar,.press-story-related{border-color:CanvasText}
 .press-reader :is(a,button):focus-visible{outline-color:Highlight}
}

