@font-face{font-family:Humane;src:url('../_astro/fonts/49bcf9504c41e9b4.woff2') format('woff2');font-display:swap;font-weight:500}
@font-face{font-family:Inter;src:url('../_astro/fonts/1e49bd114953732c.woff2') format('woff2');font-display:swap;font-weight:200 400;font-style:normal;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;src:url('../_astro/fonts/e868cdf4720e9ea5.woff2') format('woff2');font-display:swap;font-weight:200 400;font-style:normal;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{color-scheme:dark}*{box-sizing:border-box}html{background:#111;scroll-behavior:smooth}body{margin:0;background:#111;color:#d3d3d3;font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{position:sticky;top:20px;z-index:20;margin:20px 24px 0;display:inline-flex;align-items:center;gap:24px;padding:16px 22px;border:1px solid #303030;border-radius:6px;background:#1a1a1ad9;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;padding-right:21px;border-right:1px solid #363636}.brand svg{width:19px;height:19px}.site-header nav{display:flex;gap:25px}.site-header nav a{font-size:14px;text-decoration:none;white-space:nowrap;transition:color .2s}.site-header nav a:hover,.site-header nav a[aria-current]{color:#fff}
.hero,.archive,.footer{padding-left:24px;padding-right:24px}.hero{padding-top:84px;padding-bottom:48px}.eyebrow{font-size:15px;margin:0 0 35px}.hero h1{font-family:Humane,Impact,sans-serif;font-weight:500;line-height:.73;font-size:clamp(160px,20vw,360px);letter-spacing:.008em;color:#d5d5d5;margin:0 0 48px;white-space:nowrap}.hero-bottom{border-top:1px solid #363636;padding-top:20px;display:flex;justify-content:space-between;gap:24px;color:#aaa;font-size:18px}.hero-bottom p{margin:0}.hero-bottom span{font-size:14px}
.archive{padding-top:20px;padding-bottom:100px}.controls{display:flex;gap:12px;align-items:center;margin-bottom:44px}.search-wrap{flex:1}.search-wrap input,.select-wrap select{width:100%;height:52px;background:#1a1a1a;border:1px solid #383838;color:#e8e8e8;border-radius:3px;padding:0 16px;outline:none}.search-wrap input:focus-visible,.select-wrap select:focus-visible{border-color:#ccc}.search-wrap input::placeholder{color:#777}.select-wrap{width:min(320px,35%)}
#gallery-status{color:#aaa;font-size:15px}.collection{margin:0 0 80px;scroll-margin-top:95px}.collection-head{display:flex;align-items:end;justify-content:space-between;gap:20px;border-top:1px solid #3a3a3a;padding-top:18px;margin-bottom:26px}.collection-head h2{font-size:clamp(26px,3vw,48px);font-weight:300;letter-spacing:-.035em;line-height:1.1;margin:0;color:#f0f0f0}.collection-head span{font-size:14px;color:#888}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 18px}.card{min-width:0;text-align:left}.card-media{position:relative;display:block;width:100%;aspect-ratio:16/9;background:#222;overflow:hidden;border-radius:3px}.card-media>img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .3s ease}.card:hover .card-media>img{filter:brightness(.85)}.card-media iframe{position:absolute;inset:0;z-index:1;display:block;border:0;width:100%;height:100%;pointer-events:none}.card-activate{position:absolute;inset:0;z-index:2;width:100%;border:0;padding:0;background:transparent;color:#fff;cursor:pointer;text-align:left}.card-play{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:30px;background:#111c;color:#fff;font-size:13px;backdrop-filter:blur(8px)}.card-play::before{content:'▶';font-size:10px}.card.is-playing .card-play{opacity:0}.card.is-playing:hover .card-play,.card.is-playing:focus-within .card-play{opacity:1}.card.is-playing .card-play::before{content:'■'}.card.is-playing .card-play{font-size:0}.card.is-playing .card-play::after{content:'Stop';font-size:13px}.card-duration{position:absolute;right:16px;top:16px;z-index:3;padding:7px 10px;background:#111c;color:#eee;font-size:12px;border-radius:2px;pointer-events:none}.card-sound{position:absolute;right:16px;bottom:16px;z-index:4;border:1px solid #ffffff65;border-radius:30px;padding:8px 12px;background:#111d;color:#fff;font-size:13px;cursor:pointer;backdrop-filter:blur(8px)}.card-sound[hidden]{display:none}.card-activate:focus-visible,.card-sound:focus-visible{outline:2px solid #fff;outline-offset:-4px}.card-title{display:block;margin:22px 0 0;color:#e6e6e6;font-size:19px;font-weight:400;line-height:1.4;letter-spacing:-.02em;overflow-wrap:anywhere}.card-format{display:block;color:#888;font-size:13px;margin:8px 0 0;line-height:1.4}.empty{padding:80px 0;color:#aaa;font-size:20px}
.footer{border-top:1px solid #333;padding-top:28px;padding-bottom:36px;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#888}.footer a{text-decoration:none;color:#ccc}.footer a:hover{color:#fff}
.film-dialog{position:fixed;inset:0;width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);padding:24px;border:1px solid #444;border-radius:4px;background:#151515;color:#ddd;box-shadow:0 30px 100px #000c}.film-dialog::backdrop{background:#000e}.dialog-top{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:20px}.dialog-top p{margin:0 0 6px;color:#888;font-size:13px}.dialog-top h2{font-size:clamp(20px,2.5vw,32px);line-height:1.15;font-weight:300;letter-spacing:-.03em;margin:0}.dialog-top button{border:0;background:none;color:#ccc;cursor:pointer;white-space:nowrap;font-size:14px;padding:4px}.dialog-top button span{font-size:22px;margin-left:12px}.dialog-player{aspect-ratio:16/9;background:#000}.dialog-player iframe{display:block;width:100%;height:100%;border:0}.film-dialog>a{display:inline-block;margin-top:16px;color:#aaa;text-decoration:none;font-size:13px}.film-dialog>a:hover{color:#fff}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:clamp(150px,24vw,300px)}}
@media(max-width:650px){.site-header{margin:12px 16px 0;padding:13px 14px;gap:12px;max-width:calc(100% - 32px)}.brand{padding-right:11px}.brand svg{width:14px;height:14px}.site-header nav{gap:12px}.site-header nav a{font-size:11px}.hero,.archive,.footer{padding-left:16px;padding-right:16px}.hero{padding-top:100px;padding-bottom:45px}.eyebrow{margin-bottom:25px}.hero h1{font-size:clamp(105px,23vw,170px);margin-bottom:45px}.hero-bottom{font-size:14px}.hero-bottom p{max-width:55%}.hero-bottom span{min-width:0;max-width:45%;font-size:12px;text-align:right}.controls{flex-direction:column;align-items:stretch;margin-bottom:44px}.select-wrap{width:100%}.cards{grid-template-columns:1fr;gap:32px}.collection{margin-bottom:62px}.collection-head h2{font-size:30px}.card-title{font-size:18px}.footer{flex-direction:column}.film-dialog{padding:16px}.dialog-player{aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-media>img,.site-header nav a{transition:none}}

#dialog-description{max-width:74ch;margin:18px 0 0;color:#bbb;font-size:15px;line-height:1.55}

/* Keep the poster over Vimeo's loading screen until the first frame plays. */
.card-media>img{position:relative;z-index:2;transition:opacity .25s ease,filter .3s ease}
.card.is-playing .card-media>img{opacity:0}
.card-media iframe{z-index:1;outline:0}
.card-activate{z-index:3}
.card-duration{z-index:4}
.card-sound{z-index:5;left:16px;right:auto;bottom:16px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;filter:drop-shadow(0 1px 3px #000)}
.card-sound svg{display:block;width:22px;height:22px}
.card-sound .sound-wave{display:none}
.card-sound.is-on .sound-wave{display:block}
.card-sound.is-on .sound-slash{display:none}
.card-play{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #ffffff65;border-radius:50%;font-size:0}
.card-play::before{content:'▶';font-size:12px;line-height:1}
.card.is-playing .card-play::before{content:'■';font-size:12px}
.card.is-playing .card-play::after{content:none}
.card-activate:focus-visible{outline:none}
.card:focus-within .card-title{text-decoration:underline;text-underline-offset:4px}
.card-close[hidden]{display:none}
.card-close{position:absolute;z-index:6;top:10px;right:10px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #ffffff88;border-radius:50%;background:#111d;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.card-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
.card.is-touch-player .card-activate,.card.is-touch-player .card-sound{display:none}
.card.is-touch-player.is-player-ready .card-media>img{opacity:0;pointer-events:none}
.card.is-touch-player.is-player-ready .card-media iframe{z-index:4;pointer-events:auto}
.site-header .brand img{display:block;width:58px;height:24px;object-fit:contain}.site-header .brand{padding-right:18px}@media(max-width:650px){.site-header .brand img{width:46px;height:20px}.site-header .brand{padding-right:10px}}
.card-title a{color:inherit;text-decoration:none}.card-title a:hover,.card-title a:focus-visible{text-decoration:underline;text-underline-offset:4px}.card-title a:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* Match the main site navigation across archive, service and project pages. */
body{padding-top:84px}
.site-header{position:fixed;top:24px;left:24px;z-index:100;margin:0;padding:16px 24px;gap:24px;border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.03);backdrop-filter:blur(16px)}
.site-header .brand{padding-right:24px}
.site-header .brand img{width:58px;height:24px}
.site-header nav{gap:32px;align-items:center}
.site-header nav a{font-size:14px;line-height:1.3}
.site-header nav .abe-lang-switch{font-size:12px;line-height:1}
@media(max-width:650px){body{padding-top:71px}.site-header{top:24px;left:16px;margin:0;padding:16px 24px;gap:24px;max-width:calc(100% - 32px)}.site-header .brand{padding-right:24px}.site-header .brand img{width:58px;height:24px}.site-header nav{gap:24px}.site-header nav a{font-size:14px}.site-header nav .abe-lang-switch{font-size:10px;line-height:1}}
@media(max-width:430px){.site-header{padding:13px 14px;gap:12px}.site-header .brand{padding-right:11px}.site-header .brand img{width:46px;height:20px}.site-header nav{gap:12px}.site-header nav a{font-size:11px}.site-header nav .abe-lang-switch{font-size:10px}}
