@font-face{font-family:Portfolio;src:url(/assets/cormorant.ttf) format("truetype");font-display:swap}*{box-sizing:border-box}body{margin:0;background:#fff;color:#191919;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}header{position:fixed;left:38px;top:58px;width:195px;z-index:2}.brand{font-family:Portfolio,serif;font-size:31px;letter-spacing:.085em;line-height:1.13;display:block;width:190px}.descriptor{font-size:7px;letter-spacing:.23em;text-transform:uppercase;margin:17px 0 0;color:#666}nav{display:flex;flex-direction:column;align-items:start;gap:17px;margin-top:49px;font-size:10px;letter-spacing:.035em}nav a:hover{text-decoration:underline;text-underline-offset:5px}main{margin-left:265px;padding-top:58px}.grid{display:flex;gap:17px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;height:calc(100dvh - 145px);padding-right:38px;align-items:center;touch-action:pan-x pan-y}.grid::-webkit-scrollbar{display:none}.photo{display:block;flex:none;height:100%;width:auto;border:0;background:none;padding:0;margin:0;cursor:zoom-in}.photo img{display:block;height:100%;width:auto;max-width:none}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin:22px 38px 0 0;font-size:8px;letter-spacing:.12em;color:#777}.arrows{display:flex;gap:22px;align-items:center}.arrows button{border:0;background:none;cursor:pointer;font:18px Georgia,serif;padding:0 5px;color:#333}.hint{font-size:8px;letter-spacing:.1em}.info{position:fixed;left:38px;top:310px;width:185px;border:0;background:white;z-index:3}.info summary{display:none}.info p{font-size:10px;line-height:1.8;margin:0 0 20px;color:#666}.info a:hover{text-decoration:underline}footer{position:fixed;left:38px;bottom:30px;font-size:6px;letter-spacing:.08em;color:#888}footer>a{display:none}dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:52px;background:white;color:#222}dialog::backdrop{background:white}dialog img{display:block;max-width:100%;height:calc(100dvh - 104px);object-fit:contain;margin:auto}.close,.prev,.next{position:fixed;border:0;background:white;padding:12px;cursor:pointer;font:11px Arial,sans-serif}.close{right:18px;top:14px}.prev{left:10px;top:48%}.next{right:10px;top:48%}a:focus-visible,button:focus-visible{outline:1px solid #333;outline-offset:4px}@media(max-width:700px){header{position:relative;left:auto;top:auto;width:auto;padding:26px 22px 24px;display:flex;justify-content:space-between;align-items:start}.brand{font-size:23px;width:150px}.descriptor{display:none}nav{margin:3px 0 0;gap:13px;font-size:9px}main{margin-left:0;padding-top:8px}.grid{height:calc(100dvh - 200px);min-height:320px;gap:10px;padding:0 22px}.gallery-controls{margin:21px 22px 0}.info{left:22px;top:120px;width:calc(100% - 44px);padding:22px;box-shadow:0 2px 15px #0001}.info p{font-size:12px}footer{position:relative;left:auto;bottom:auto;margin:32px 22px 20px}.hint{font-size:7px}dialog{padding:50px 28px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.brand h1{font:inherit;letter-spacing:inherit;margin:0}nav a[aria-current=page]{color:#111;text-decoration:underline;text-underline-offset:5px}nav{gap:16px} .page-copy{max-width:680px;margin:0 45px 70px 0;padding:12px 0 30px}.page-copy h1,.page-copy h2{font-family:Portfolio,serif;font-weight:400}.page-copy h1{font-size:42px;line-height:1.1;margin:0 0 30px}.page-copy h2{font-size:25px;margin:35px 0 16px}.page-copy p{font-size:13px;color:#555;line-height:1.9}.page-copy a:hover{text-decoration:underline;text-underline-offset:4px}.contact-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 35px}.contact-list p{font-size:11px}.contact-list strong{font-weight:400;color:#222}.slide{flex:none;height:100%;margin:0;display:flex;flex-direction:column}.slide .photo{height:calc(100% - 50px)}.slide figcaption{height:50px;padding-top:14px;font-size:9px;line-height:1.7;color:#666}.film-link{display:block;height:100%;position:relative}.film-link img{height:calc(100% - 40px);width:auto;display:block}.film-link span{display:block;font-size:10px;margin-top:15px;letter-spacing:.06em}.play{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);font-size:24px!important;background:#fffE;border-radius:100%;width:55px;height:55px;display:grid!important;place-items:center;margin:0!important;color:#222}.watch{margin-right:38px;max-width:1100px}.watch video{width:100%;max-height:calc(100dvh - 210px);background:#111}.watch h1{font:normal 28px Portfolio,serif;letter-spacing:.02em;margin:22px 0 10px}.watch p{font-size:11px;color:#666;line-height:1.7}.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}@media(max-width:700px){header{padding-bottom:20px}nav{gap:11px;margin-top:0}.page-copy{margin:5px 22px 35px;padding:0}.page-copy h1{font-size:34px}.contact-list{grid-template-columns:1fr}.watch{margin:0 22px}.watch video{max-height:60dvh}.slide figcaption{font-size:8px}.film-link img{max-width:none}.brand h1{font-size:inherit}}
.film-heading{font:normal 27px Portfolio,serif;margin:0 0 22px}.film-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px;margin-right:38px;padding-bottom:40px}.film-index .slide{height:auto;min-width:0}.film-index .film-link{height:auto}.film-index .film-link img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.film-index .play{width:40px;height:40px;font-size:20px!important;top:42%}.film-index .film-link span:not(.play){margin-top:11px;font-size:10px;line-height:1.6}.film-index .film-link:hover span:not(.play){text-decoration:underline;text-underline-offset:4px}@media(max-width:1000px){.film-index{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.film-heading{margin:0 22px 20px}.film-index{margin:0 22px;gap:25px 12px}.film-index .play{width:30px;height:30px;font-size:16px!important}.film-index .film-link span:not(.play){font-size:9px}}@media(max-width:390px){.film-index{grid-template-columns:1fr}}
.film-index .film-link .play{left:12px;top:12px;transform:none;margin:0!important;width:34px;height:34px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.65);color:#fff;font-size:18px!important;backdrop-filter:blur(3px);text-shadow:0 1px 4px #0006;transition:background .2s,border-color .2s}.film-index .film-link:hover .play{background:rgba(255,255,255,.25);border-color:#fff}@media(max-width:700px){.film-index .film-link .play{left:9px;top:9px;width:29px;height:29px;font-size:16px!important}}
.film-rail .slide{height:100%;display:block}.film-rail .film-link{height:100%;display:block;position:relative}.film-rail .film-link img{height:100%;width:auto;max-width:none;display:block}.film-rail .film-link>span:not(.play){position:absolute;bottom:17px;left:17px;margin:0;padding:7px 10px;background:rgba(0,0,0,.22);color:white;font-size:10px;letter-spacing:.05em;text-shadow:0 1px 4px #0006}.film-rail .film-link .play{left:16px;top:16px;transform:none;margin:0!important;width:34px;height:34px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.65);color:#fff;font-size:18px!important;backdrop-filter:blur(3px);text-shadow:0 1px 4px #0006}.film-rail .film-link:hover .play{background:rgba(255,255,255,.25);border-color:#fff}@media(max-width:700px){.film-rail .film-link .play{left:12px;top:12px}.film-rail .film-link>span:not(.play){left:12px;bottom:12px;font-size:9px}}
.film-player{position:relative;height:100%;aspect-ratio:16/9;background:#111}.film-player video{display:block;width:100%;height:100%;object-fit:contain}.inline-play{position:absolute;left:16px;top:16px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #fffa;background:#ffffff24;color:white;backdrop-filter:blur(3px);font:18px Arial,sans-serif;cursor:pointer;text-shadow:0 1px 4px #0006;padding:0}.inline-play:hover{background:#ffffff40}.inline-play[hidden]{display:none}.film-name{position:absolute;bottom:17px;left:17px;padding:7px 10px;background:#0004;color:white;font-size:10px;letter-spacing:.05em;pointer-events:none}.film-player.is-playing .film-name{display:none}.film-player.has-controls .film-name{bottom:65px}.play-error{position:absolute;left:17px;top:65px;font-size:11px;color:white;background:#0007}.play-error:empty{display:none}@media(max-width:700px){.inline-play{left:12px;top:12px}.film-name{left:12px;bottom:12px;font-size:9px}}
.film-player{width:min(calc((100dvh - 145px)*16/9),calc(100vw - 303px));aspect-ratio:auto;background:#fff}.film-player video{object-fit:contain;background:#fff}@media(max-width:700px){.film-player{width:calc(100vw - 44px)}}
.film-player{width:auto;aspect-ratio:16/9;height:100%;background:#111}.film-player video{width:100%;height:100%;object-fit:contain;background:#111}@media(max-width:700px){.film-player{width:auto;aspect-ratio:16/9;height:100%}}

.film-rail{gap:8.5px}@media(max-width:700px){.film-rail{gap:5px}}
.grid{gap:8.5px}@media(max-width:700px){.grid{gap:5px}}

.film-player .film-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:1}.film-player.has-started .film-cover{display:none}.film-player .inline-play,.film-player .film-name,.film-player .play-error{z-index:2}
.film-controls{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:35px 18px 9px;color:#fff;background:linear-gradient(transparent,#0009);opacity:0;transition:opacity .18s}.film-player:hover .film-controls,.film-player:focus-within .film-controls,.film-player.is-scrubbing .film-controls{opacity:1}.film-player.has-started .film-name{bottom:76px}.film-timeline{position:relative;height:25px;display:flex;align-items:center}.film-seek{--progress:0%;appearance:none;-webkit-appearance:none;width:100%;height:4px;margin:0;cursor:pointer;background:linear-gradient(to right,#fff var(--progress),#ffffff60 var(--progress));border-radius:3px;touch-action:none}.film-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:#fff}.film-seek::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:#fff}.film-seek:focus-visible{outline:2px solid white;outline-offset:6px}.film-control-row{display:flex;align-items:center;gap:12px;height:30px}.film-control-row button{color:white;background:none;border:0;cursor:pointer;font:10px Arial,sans-serif;padding:5px 2px}.film-control-row .film-toggle,.film-control-row .film-fullscreen{font-size:22px;min-width:28px}.film-time{font:10px Arial,sans-serif;font-variant-numeric:tabular-nums}.control-spacer{flex:1}.frame-preview{position:absolute;bottom:28px;width:160px;transform:translateX(-50%);border:1px solid #fff9;background:#171717;box-shadow:0 3px 15px #0005;pointer-events:none}.frame-preview[hidden]{display:none}.preview-image{width:160px;height:90px;background-size:auto;background-repeat:no-repeat}.preview-time{display:block;text-align:center;padding:5px;font:10px Arial,sans-serif;font-variant-numeric:tabular-nums}.film-player:fullscreen{width:100vw;height:100dvh;aspect-ratio:auto}.film-player:fullscreen video,.film-player:fullscreen .film-cover{object-fit:contain}@media(hover:none){.film-controls{opacity:1}}@media(max-width:700px){.film-controls{padding-left:12px;padding-right:12px}}
.film-controls{box-sizing:border-box;right:auto;width:min(100%,calc(100vw - 285px))}.film-player:fullscreen .film-controls{width:100%}@media(max-width:700px){.film-controls{width:min(100%,calc(100vw - 44px))}}
/* Quiet movement for the portfolio and navigation. */
.photo,.film-player{overflow:hidden}.photo img,.film-cover{transform:scale(1);transition:transform .85s cubic-bezier(.2,.65,.3,1)}nav a{display:inline-block;transform-origin:left center;transition:transform .35s cubic-bezier(.2,.65,.3,1),color .25s}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.photo:hover img,.photo:focus-visible img{transform:scale(1.025)}.film-player:not(.has-started):hover .film-cover{transform:scale(1.018)}nav a:hover,nav a:focus-visible{transform:translateX(3px) scale(1.025)}}
@media(prefers-reduced-motion:reduce){.photo img,.film-cover,nav a,.film-controls{transition:none!important;transform:none!important}}
.film-player:hover .film-name,.film-player:focus-within .film-name{bottom:76px}@media(hover:none){.film-player .film-name{bottom:76px}}
