:root{font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff;--gutter:1.5rem;scroll-behavior:smooth;scroll-padding-top:2rem}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}a:hover,.text-button:hover{text-decoration:underline;text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}.mono{font-family:Consolas,monospace;font-size:.875rem;line-height:1.25;text-transform:uppercase;font-weight:600;letter-spacing:-.035em}.text-button{padding:0;border:0;background:transparent;text-align:inherit}h1,h2,h3,p{margin:0}.skip{position:fixed;top:-5rem;left:1rem;z-index:10;background:white;color:black;padding:1rem}.skip:focus{top:1rem}.site-header{position:absolute;top:0;left:0;right:0;z-index:2;padding:1.5rem var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;color:white;text-shadow:0 1px 6px #000}.wordmark{display:inline-block;font-weight:700;margin-bottom:.2rem}nav{display:flex;gap:.3rem;flex-wrap:wrap}.header-edition{justify-self:end}.hero{position:relative;min-height:38rem;height:100svh;background:#101010;color:white;isolation:isolate}.background,.shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.background{object-fit:cover;object-position:center}.shade{z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.08) 30%,rgba(0,0,0,.12) 70%,rgba(0,0,0,.45))}.hero-labels{position:absolute;top:49%;left:var(--gutter);right:var(--gutter);display:grid;grid-template-columns:repeat(3,1fr) auto;gap:1.5rem;text-shadow:0 1px 6px #000}.hero-labels h1{font:inherit}.hero-bottom{position:absolute;bottom:1.5rem;left:var(--gutter);right:var(--gutter);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:1rem;text-shadow:0 1px 6px #000}.hero-bottom a{text-align:center}.hero-bottom button{text-align:right;justify-self:end}.status{position:absolute;bottom:4rem;right:var(--gutter);left:var(--gutter);text-align:right}.section-heading{display:flex;justify-content:space-between;align-items:baseline;padding:6rem var(--gutter) 2.5rem;gap:2rem}.section-heading h2,.section-heading>span{font-size:clamp(4rem,10vw,11rem);font-weight:400;letter-spacing:-.055em;line-height:1;text-transform:uppercase}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}.project-image{border:0;position:relative;display:block;padding:0;width:100%;aspect-ratio:1.35;overflow:hidden;background:#111;color:white}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s,filter .6s;filter:brightness(.86)}.project-image:hover img{transform:scale(1.035);filter:brightness(.7)}.view-label{position:absolute;inset:0;display:grid;place-items:center;text-shadow:0 1px 6px #000}.corner{position:absolute;width:.75rem;height:.75rem;border-color:white;border-style:solid}.top-left{top:1.5rem;left:1.5rem;border-width:1px 0 0 1px}.top-right{top:1.5rem;right:1.5rem;border-width:1px 1px 0 0}.bottom-left{bottom:1.5rem;left:1.5rem;border-width:0 0 1px 1px}.bottom-right{bottom:1.5rem;right:1.5rem;border-width:0 1px 1px 0}.project-caption{display:flex;justify-content:space-between;gap:1rem;padding:1rem var(--gutter) 2rem}.project-caption h3{font:inherit}.selection-space{aspect-ratio:1.35;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:2rem;background:#ececec;color:#666}.selection-symbol{font:400 clamp(3rem,7vw,7rem)/1 Consolas,monospace;letter-spacing:-.15em;padding-right:.15em;color:#969696}.info{margin-top:6rem;padding:1.5rem var(--gutter) 6rem;border-top:1px solid #ccc}.info-meta{display:grid;grid-template-columns:1fr 1fr 1fr;margin-bottom:6rem}.info-meta>span:last-child{text-align:right}.info h2{font-size:clamp(3rem,8vw,9rem);font-weight:400;line-height:.98;letter-spacing:-.065em;text-transform:uppercase}.info-bottom{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:4rem}.info-bottom>p{font-size:clamp(1.5rem,2.5vw,2.75rem);line-height:1.12;letter-spacing:-.045em;max-width:30ch}.info-bottom>div{padding-left:20%}.info-bottom>div p{margin-top:1rem}.muted{color:#777}footer{background:#111;color:#fff;padding:1.5rem var(--gutter);overflow:hidden}.contact-top,.contact-details,.footer-bottom{display:flex;justify-content:space-between;gap:1.5rem}.contact-top{margin-bottom:5rem}footer h2{font-size:clamp(4.5rem,12vw,13rem);line-height:1;letter-spacing:-.065em;font-weight:400;text-transform:uppercase}.contact-details{align-items:center;margin-top:2rem}.email{font-size:clamp(1rem,2.2vw,2.25rem);overflow-wrap:anywhere}.footer-mark{font-size:clamp(6rem,30vw,35rem);letter-spacing:-.085em;line-height:.9;font-weight:500;margin:6rem 0 2rem}.footer-bottom{padding-top:1rem;border-top:1px solid #555}.footer-bottom>span:last-child{text-align:right}dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:1.5rem;border:0;background:#090909;color:white}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#090909}.player-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem}.player-bar button{background:transparent;border:1px solid #666;padding:.75rem 1rem;text-transform:uppercase}#reel{flex:1;min-height:0;width:100%;object-fit:contain}#reel-status:empty{display:none}
@media(max-width:1000px){.site-header{grid-template-columns:1fr 1fr 1fr}.header-note{display:none}.header-edition{justify-self:end}.hero-labels{grid-template-columns:1fr 1fr 1fr auto}.project-caption{flex-wrap:wrap}.project-caption span:last-child{margin-left:auto}}
@media(max-width:600px){:root{--gutter:1rem}.site-header{grid-template-columns:1fr auto;padding-top:1rem}.header-link{text-align:right}.header-edition{display:none}.hero{min-height:34rem}.hero-labels{grid-template-columns:1fr auto;row-gap:1rem}.hero-labels span:nth-child(2){text-align:right}.hero-labels span:last-child{text-align:right}.hero-bottom{grid-template-columns:1fr 1fr;gap:1rem}.hero-bottom>span{display:none}.hero-bottom a{text-align:left}.section-heading{padding-top:3.5rem;padding-bottom:1.75rem}.section-heading h2,.section-heading>span{font-size:14vw;letter-spacing:-.055em}.project-grid{grid-template-columns:1fr}.selection-space{aspect-ratio:1.6}.info{margin-top:3rem;padding-bottom:3rem}.info-meta{grid-template-columns:1fr 1fr;margin-bottom:3rem}.info-meta span:nth-child(2){display:none}.info h2{font-size:10.5vw}.info-bottom{grid-template-columns:1fr;gap:2rem;margin-top:2rem}.info-bottom>div{padding:0}.contact-top{margin-bottom:3rem}.contact-details{align-items:start;flex-direction:column}.footer-mark{margin-top:4rem}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:last-child{max-width:13ch}dialog{padding:1rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
.project-credit{padding:0 var(--gutter) 2rem;margin-top:-1rem;color:#555}.film-credit{margin-top:.5rem;color:#ccc;font-weight:400;max-width:50ch}.player-bar>div{min-width:0}.player-bar button{flex-shrink:0}
.portrait-project img{object-fit:contain}.portrait-project:hover img{transform:none}
.film-photography{margin-top:4rem;border-top:1px solid #ccc}.film-photography .section-heading h2{font-size:clamp(3rem,8vw,9rem);line-height:.98}.film-empty{margin:0 var(--gutter);padding:3rem 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;color:#666;font-size:1rem}@media(max-width:600px){.film-photography{margin-top:2rem}.film-photography .section-heading h2{font-size:11vw}.film-empty{padding:2rem 0}}
.film-gallery{columns:3;column-gap:1.5rem;padding:0 var(--gutter)}
.film-photo{display:block;break-inside:avoid;margin:0 0 1.5rem;text-decoration:none;color:inherit}
.film-photo img{display:block;width:100%;height:auto;background:#eee}
.photo-caption{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;font-size:.7rem}
.photo-caption span:last-child{opacity:0;transition:opacity .2s}
.film-photo:hover .photo-caption span:last-child,.film-photo:focus-visible .photo-caption span:last-child{opacity:1}
.film-photo:focus-visible{outline:2px solid currentColor;outline-offset:5px}
#photo-viewer{overflow:hidden}
#photo-full{flex:1;min-height:0;width:100%;object-fit:contain}
.photo-controls{display:flex;justify-content:space-between;gap:1rem;padding-top:.75rem}
#photo-viewer button{min-height:44px;cursor:pointer}
@media(max-width:1000px){.film-gallery{columns:2;column-gap:1rem}}
@media(max-width:600px){.film-gallery{columns:1}.photo-caption span:last-child{opacity:1}#photo-viewer{padding:1rem}.photo-caption{font-size:.7rem}}
.photo-controls button{background:transparent;color:#fff;border:1px solid #666;padding:.6rem 1rem;font:inherit}
.photo-controls button:hover{background:#fff;color:#111}
.film-photography .section-heading>span{font-family:Consolas,monospace;font-size:1rem;align-self:flex-start;padding-top:.5rem}
.film-photography{cursor:pointer}
.film-preview{display:block;width:100%;padding:0 var(--gutter);background:none;border:0;text-align:left}
.film-preview-images{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;height:clamp(160px,25vw,340px)}
.film-preview-images img{width:100%;height:100%;min-height:0;object-fit:cover}
.film-preview-label{display:flex;justify-content:space-between;padding:1.25rem 0;border-bottom:1px solid #ccc;font-size:.875rem}
.film-preview:hover .film-preview-label{text-decoration:underline;text-underline-offset:4px}
.film-motion{display:block;margin:1rem var(--gutter) 0;background:none;border:1px solid #aaa;padding:.7rem 1rem;min-height:44px;font-size:.875rem;color:inherit;cursor:pointer}
#gallery-dialog{background:white;color:#111;padding:0;overflow:hidden}
.gallery-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem var(--gutter);border-bottom:1px solid #ddd}
.gallery-bar h2{font-size:clamp(1.25rem,3vw,2.5rem);font-weight:400;letter-spacing:-.04em}
.gallery-bar h2 span{white-space:nowrap}
.gallery-bar button{background:none;border:1px solid #aaa;padding:.8rem 1rem;min-height:44px}
.gallery-scroll{flex:1;overflow:auto;min-height:0;padding-top:1.5rem;overscroll-behavior:contain}
#gallery-dialog .photo-caption{font-size:.75rem}
@media(max-width:600px){.film-preview-images{gap:.5rem;height:170px}.gallery-bar{align-items:flex-start;padding:1rem}.gallery-bar button{font-size:.75rem;max-width:10rem}.gallery-bar h2 span{display:block;margin-top:.5rem}}

.film-intro{max-width:65ch;margin:0 var(--gutter) 2rem;font-size:1rem;line-height:1.6;color:#444}
.project-gallery{background:white;color:#111;padding:0;overflow:hidden}.project-gallery .gallery-bar p{margin-top:.75rem;font-size:.75rem}.project-gallery .photo-caption{opacity:1;font-size:.75rem}
.info-bottom>p{font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.5;letter-spacing:normal;max-width:60ch}
.info{position:relative;isolation:isolate;overflow:hidden;background:#111;color:#fff;border-top:0}.info-background,.info-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.info-background{object-fit:cover}.info-shade{z-index:-1;background:rgba(0,0,0,.68)}.info .muted{color:#ddd}.info-bottom>p{color:inherit}#info-motion{display:block;margin-top:2rem;margin-left:auto;min-height:44px;color:white}

#contact{background:linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.65)),url("assets/contact-background.jpg") center center/cover no-repeat;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.45)}
