@charset "UTF-8";
:root{color-scheme:dark;--bg:#080808;--fg:#e9e8e4;--muted:#9b9b96;--line:#30302e;--tile:#151515;--rail:64px;--index:276px;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:13px;font-weight:400;-webkit-font-smoothing:antialiased}
:root[data-theme="light"]{color-scheme:light;--bg:#efeee9;--fg:#151515;--muted:#686862;--line:#cfcec8;--tile:#ddddd6}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);transition:background-color .2s,color .2s}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a:focus-visible,button:focus-visible{outline:1px solid var(--fg);outline-offset:6px}
button:disabled{opacity:.35;cursor:default}
::selection{background:var(--fg);color:var(--bg)}
.skip-link{position:fixed;z-index:10;top:12px;left:12px;background:var(--fg);color:var(--bg);padding:12px;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.rail{position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:5;display:flex;align-items:center;flex-direction:column;background:var(--bg);padding:26px 0 22px}
.wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-weight:700;font-size:17px;letter-spacing:-.6px;white-space:nowrap;line-height:1}
.wordmark-name{writing-mode:vertical-rl}
.occupation{writing-mode:vertical-rl;font-size:9px;font-weight:400;letter-spacing:.06em;color:var(--muted)}
.rail-bottom{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:38px}
.info-link{writing-mode:vertical-rl;font-size:14px;font-weight:700}
.info-link[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.theme-toggle{font-size:13px;font-weight:700;padding:6px}
.mobile-index-toggle{display:none}
.sidebar{position:fixed;left:var(--rail);top:0;bottom:0;width:var(--index);padding:28px 29px 26px 16px;display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;z-index:4;background:var(--bg)}
.sidebar nav{margin-top:81px}
.index-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 23px}
.index-heading h1{font:inherit;font-size:12px;letter-spacing:.03em;margin:0;font-weight:700}
.index-heading>span{font-size:10px;color:var(--muted)}
.project-index{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.index-link{display:block;line-height:1.55;transition:opacity .2s}
.index-brand{display:block;font-size:13px;font-weight:500}
.index-title{display:block;color:var(--muted);font-size:12px}
.project-index.has-active .index-link:not(.is-active){opacity:.25}
.index-link[aria-current="page"] .index-brand:before{content:"→ ";display:inline}
.sidebar-footer{display:grid;gap:12px;margin-top:70px;font-size:11px}
.sidebar-footer a{width:fit-content;display:flex;gap:18px}
.sidebar-footer a:hover,.info-link:hover{color:var(--muted)}
main{margin-left:calc(var(--rail) + var(--index));min-height:100svh;padding:12px 12px 20px 0;outline:none}
.grid-topline{display:flex;justify-content:space-between;align-items:center;min-height:40px;margin:0 3px 12px;font-size:10px;color:var(--muted);letter-spacing:.03em}
.grid-topline .selected{color:var(--fg)}
.film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.film-card{display:block;position:relative;aspect-ratio:3/2;background:var(--tile);overflow:hidden;isolation:isolate;transition:opacity .25s}
.film-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1),filter .25s}
.film-card:after{content:"";position:absolute;inset:40% 0 0;z-index:0;background:linear-gradient(transparent,rgba(0,0,0,.68));opacity:0;transition:opacity .25s}
.card-caption{position:absolute;bottom:17px;left:18px;right:18px;z-index:1;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:12px;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s;font-size:12px;line-height:1.5}
.card-caption strong{font-weight:500;display:block}
.card-caption small{font:inherit;color:#d1d1cd}
.card-play{font-size:18px;padding-bottom:1px}
.film-grid.has-active .film-card:not(.is-active){opacity:.23}
.film-card:is(:hover,:focus-visible,.is-active) img{transform:scale(1.025)}
.film-card:is(:hover,:focus-visible,.is-active):after,.film-card:is(:hover,:focus-visible,.is-active) .card-caption{opacity:1;transform:none}
.grid-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;line-height:1.7;padding:21px 3px 6px;gap:20px}
.grid-footer a:hover{color:var(--fg)}
.project-toolbar{min-height:40px;margin:0 3px 12px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}
.project-toolbar a:hover{color:var(--fg)}
.project-toolbar span{font-size:10px}
.player-shell{width:100%;aspect-ratio:16/9;position:relative;background:#000;display:grid;place-items:center}
.player-shell iframe{width:100%;height:100%;border:0;position:absolute;inset:0}
.player-loading{color:#aaa;font-size:11px;text-align:center;padding:24px}
.campaign-heading{padding:10px 3px 28px}
.campaign-heading h2{font-size:15px;font-weight:500;margin:0 0 9px}
.campaign-heading p{font-size:12px;color:var(--muted);margin:0}
.video-heading{display:flex;justify-content:space-between;align-items:center;padding:14px 3px;border-top:1px solid var(--line)}
.video-heading h3{font-size:12px;font-weight:500;margin:0}
.video-heading span{font-size:10px;color:var(--muted)}
.project-details{display:flex;justify-content:space-between;align-items:start;gap:24px;padding:25px 3px 32px}
.project-details h2{font-size:15px;font-weight:500;margin:0 0 9px;line-height:1.4}
.project-details p{font-size:12px;color:var(--muted);margin:0;line-height:1.65}
.project-credits{text-align:right}
.project-credits a{display:inline-block;font-size:11px;margin-top:12px;text-decoration:underline;text-underline-offset:4px}
.project-pagination{border-top:1px solid var(--line);padding:19px 3px;display:flex;justify-content:space-between;gap:20px;font-size:11px;line-height:1.8}
.project-pagination a:last-child{text-align:right}
.project-pagination span{color:var(--muted);display:block;font-size:10px}
.project-pagination a:hover{color:var(--muted)}
.info-page{padding:66px clamp(20px,5vw,90px) 50px 28px;max-width:1100px}
.eyebrow{font-size:11px;color:var(--muted);font-weight:400;margin:0 0 26px;letter-spacing:.03em}
.info-page h2{font:inherit;font-size:clamp(30px,4.2vw,62px);font-weight:400;line-height:1.18;letter-spacing:-2.5px;margin:0 0 40px}
.biography{font-size:15px;line-height:1.9;max-width:590px;margin:0 0 75px}
.biography p{margin:0}
.biography p+p{margin-top:1.5em}
.info-contact{border-top:1px solid var(--line);padding-top:25px}
.email{font-size:clamp(15px,2vw,26px);line-height:1.7;display:inline-block;word-break:break-word;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.socials{display:flex;gap:30px;margin:40px 0 0;font-size:11px}
.info-back{display:inline-block;margin-top:70px;font-size:11px;color:var(--muted)}
.no-script{margin-left:calc(var(--rail) + var(--index));padding:40px}
@media(min-width:1440px){:root{--index:300px}.film-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar{padding-right:35px}.film-card{aspect-ratio:3/2}.index-brand{font-size:14px}.index-title{font-size:13px}.project-index{gap:23px}}
@media(min-width:1900px){:root{--rail:75px;--index:340px;font-size:15px}.sidebar{padding-left:20px;padding-right:40px}.index-brand{font-size:16px}.index-title{font-size:14px}.film-grid{gap:15px}.grid-topline{min-height:44px}.wordmark{font-size:20px}}
@media(max-width:1000px) and (min-width:761px){:root{--rail:54px;--index:224px}.sidebar{padding-left:12px;padding-right:20px}.index-brand{font-size:12px}.index-title{font-size:11px}.sidebar nav{margin-top:65px}.project-index{gap:17px}.film-grid{gap:9px}.card-caption{left:12px;right:12px;bottom:12px;font-size:10px}}
@media(max-width:760px){:root{--rail:0px;--index:0px}.rail{position:sticky;top:0;width:100%;height:72px;flex-direction:row;justify-content:space-between;padding:0 18px;gap:18px}.wordmark{align-items:flex-start;gap:6px;font-size:15px;letter-spacing:-.5px}.wordmark-name,.occupation{writing-mode:horizontal-tb}.occupation{font-size:9px;letter-spacing:.02em}.rail-bottom{margin:0 0 0 auto;flex-direction:row;gap:18px}.info-link{writing-mode:horizontal-tb;font-size:11px;font-weight:400}.theme-toggle{display:none}.mobile-index-toggle{display:flex;gap:9px;padding:10px 0;font-size:11px}.sidebar{display:none;position:fixed;top:72px;left:0;width:100%;bottom:0;padding:20px 22px 35px;background:var(--bg);overflow-y:auto}.sidebar.is-open{display:flex}.sidebar nav{margin-top:0}.project-index{gap:20px}.index-heading{margin-bottom:25px}.index-brand{font-size:14px}.index-title{font-size:12px}.sidebar-footer{margin-top:35px}.index-heading>span{font-size:11px}main{margin:0;padding:0 12px 16px;min-height:calc(100svh - 72px)}.grid-topline{min-height:25px;margin-bottom:13px;font-size:9px}.film-grid{gap:10px}.film-card{aspect-ratio:3/2}.card-caption{opacity:1;transform:none;font-size:10px;bottom:12px;left:12px;right:12px}.film-card:after{opacity:1}.card-play{font-size:14px}.grid-footer{padding-top:17px;font-size:9px}.project-toolbar{margin-bottom:10px;min-height:30px;font-size:10px}.project-details{padding:20px 2px 25px;gap:12px}.project-details h2{font-size:13px}.project-details p{font-size:11px}.project-credits{max-width:42%}.project-credits a{font-size:10px}.project-pagination{font-size:10px}.info-page{padding:45px 8px 25px}.info-page h2{font-size:42px;letter-spacing:-2px;margin-bottom:30px}.biography{font-size:14px;line-height:1.85;margin-bottom:50px}.info-page .eyebrow{font-size:10px}.email{font-size:clamp(15px,4vw,23px)}.info-back{margin-top:50px}.no-script{margin:0;padding:24px}.menu-open{overflow:hidden}}
@media(max-width:480px){.rail{height:66px;padding:0 14px;gap:14px}.rail-bottom{gap:0}.wordmark{gap:6px;font-size:14px}.occupation{font-size:8px}.mobile-index-toggle{font-size:10px}.info-link{font-size:10px}.sidebar{top:66px}.film-grid{grid-template-columns:1fr;gap:12px}.film-card{aspect-ratio:3/2}.card-caption{font-size:12px;left:16px;right:16px;bottom:14px}.card-play{font-size:16px}.grid-topline{margin-top:2px;margin-bottom:12px}.project-details{flex-direction:column}.project-credits{text-align:left;max-width:none}.project-credits p{display:none}.project-credits a{margin-top:0}.info-page h2{font-size:38px}.grid-footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
