@font-face{font-family:Libre Baskerville;src:url('/fonts/libre-baskerville.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Libre Baskerville;src:url('/fonts/libre-baskerville-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--gutter:2vw;--rail:calc(48vw - 6px);--ink:#080808;--paper:#fff}
*{box-sizing:border-box}html{color:var(--ink);background:var(--paper);scroll-behavior:smooth}body{margin:0;font-family:'Libre Baskerville',Georgia,serif;font-size:15.4px;font-weight:400;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}img{display:block;max-width:100%;height:auto}figure{margin:0}p{margin:0 0 1em}a:hover{text-decoration:underline;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:1px solid #222;outline-offset:5px}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:15px}
.site-header{position:relative;z-index:30;height:61px;pointer-events:none}.site-header a,.site-header button{pointer-events:auto}.brand{position:fixed;top:20px;left:2vw;font-size:17px;line-height:24px;text-transform:uppercase;font-weight:400;z-index:32}.home .brand{display:none}.instagram{position:fixed;right:4vw;top:24px;width:22px;height:22px;z-index:32}.instagram svg{width:100%;height:100%}.navigation{position:fixed;right:4vw;top:152px;text-align:right;z-index:31}.navigation>ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:flex-end;gap:16px}.navigation li{line-height:23px}.navigation a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}.projects-toggle{font-size:inherit;padding:0;line-height:23px;display:inline-flex;align-items:center;gap:6px}.plus{width:14px;height:14px;position:relative;display:inline-block}.plus:before,.plus:after{content:'';position:absolute;background:#777;left:1px;top:7px;width:12px;height:1px}.plus:after{transform:rotate(90deg);transition:transform .2s}.projects-toggle[aria-expanded=true] .plus:after{transform:rotate(0deg)}.project-submenu{list-style:none;padding:12px 12px 0 0;margin:0;font-size:12px;line-height:1.8}.project-submenu[hidden]{display:none}.project-submenu li+li{margin-top:7px}.menu-toggle{display:none}.site-footer{margin:80px 4vw 24px auto;max-width:230px;text-align:right;font-size:13px;line-height:1.5}.site-footer a{display:block;font-size:11px;color:#777;margin-top:9px}.home .site-footer{margin-top:45px}.sr-only{position:absolute!important;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.brand{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:.075em}
/* Home: the same narrow, horizontal photographic stage as the reference. */
.home-stage{width:100%;overflow:hidden;position:relative}.carousel-viewport{width:var(--rail);margin:auto;overflow:hidden;outline-offset:-1px!important;touch-action:pan-y;cursor:grab}.carousel-viewport:active{cursor:grabbing}.carousel-track{display:flex;align-items:flex-start;will-change:transform}.slide{flex:0 0 100%;min-width:0;padding:0 11.6%;user-select:none}.slide .slide-image{display:block}.slide img{width:100%;height:auto;object-fit:contain;max-height:calc(100svh - 124px);object-position:left top}.slide figcaption{padding-top:13px;font-size:13px;line-height:1.7}.slide figcaption p{margin-bottom:8px}.slide-category{display:block;color:#555;margin-top:7px;font-size:12px}.home-stage:after{content:'';position:absolute;bottom:0;right:0;width:0;height:0;pointer-events:none}.carousel-controls{display:flex;justify-content:space-between;align-items:center;width:var(--rail);padding:0 11.6%;margin:18px auto 0;gap:24px;font-size:12px}.carousel-controls button{padding:3px 0;color:#555;font-size:15px}.carousel-controls .pause-control{font-size:11px;margin-left:auto}.slide-count{font-size:10px;color:#777;font-variant-numeric:tabular-nums}
/* Selected works: carefully spaced photographs on a 24-column canvas. */
.selected-grid{display:grid;grid-template-columns:repeat(100,minmax(0,1fr));grid-auto-rows:1.9vw;column-gap:0;margin:28px 2vw 0;align-items:start}.selected-item{display:block;position:relative;transition:opacity .3s}.selected-item img{width:100%;height:auto}.selected-item:hover{opacity:.88}.selected-item:nth-child(12n+1){grid-column:4/span 15;grid-row:span 14}.selected-item:nth-child(12n+2){grid-column:35/span 24;grid-row:span 15;margin-top:2.1vw}.selected-item:nth-child(12n+3){grid-column:71/span 19;grid-row:span 16}.selected-item:nth-child(12n+4){grid-column:1/span 12;grid-row:span 14;margin-top:6vw}.selected-item:nth-child(12n+5){grid-column:20/span 16;grid-row:span 16}.selected-item:nth-child(12n+6){grid-column:51/span 18;grid-row:span 17;margin-top:2.3vw}.selected-item:nth-child(12n+7){grid-column:85/span 15;grid-row:span 14;margin-top:11vw}.selected-item:nth-child(12n+8){grid-column:8/span 20;grid-row:span 16;margin-top:5vw}.selected-item:nth-child(12n+9){grid-column:46/span 16;grid-row:span 15}.selected-item:nth-child(12n+10){grid-column:80/span 16;grid-row:span 15;margin-top:4vw}.selected-item:nth-child(12n+11){grid-column:16/span 24;grid-row:span 15}.selected-item:nth-child(12n+12){grid-column:64/span 20;grid-row:span 16;margin-top:6vw}
/* Archive and project pages. */
.archive-intro{max-width:640px;margin:124px auto 120px;text-align:center;font-size:17px;line-height:1.35}.category-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;margin:0 14vw 80px;font-size:13px;letter-spacing:2px;text-transform:uppercase}.category-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}.portfolio-grid{columns:4;column-gap:30px;padding:0 2vw}.portfolio-card{break-inside:avoid;margin-bottom:36px}.portfolio-card img{width:100%}.portfolio-card h2{font-size:20px;font-weight:400;margin:9px 0 0;line-height:1.3}.portfolio-card .category{font-size:11px;display:block;margin-top:12px;color:#555}.portfolio-card:hover img{opacity:.93}.project-heading{max-width:850px;text-align:center;margin:25px auto 72px}.project-heading .category{font-size:15px;display:block;margin-bottom:25px}.project-heading h1{font-size:clamp(50px,7.7vw,120px);font-weight:400;line-height:1.03;letter-spacing:-.045em;margin:0}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:72vw;margin:auto;align-items:start}.project-gallery .image-button{padding:0;display:block;width:100%;line-height:0}.project-gallery img{width:100%;height:auto}.project-gallery .landscape{grid-column:1/-1;width:100%}.project-gallery .image-button:hover{opacity:.96}.project-pagination{max-width:72vw;margin:90px auto;display:flex;justify-content:space-between;gap:30px;font-size:19px;line-height:1.4}.project-pagination a:last-child{text-align:right}.project-pagination small{display:block;font-size:11px;color:#777;margin-bottom:10px}.category-title{font-size:42px;font-weight:400;margin:70px 0 30px;text-align:center}.category-subtitle{max-width:540px;text-align:center;margin:0 auto 70px;font-size:14px;color:#555;line-height:1.5}.photo-grid{columns:4;column-gap:24px;padding:0 2vw}.photo-grid .image-button{display:block;border:0;padding:0;margin:0 0 24px;break-inside:avoid;cursor:zoom-in;width:100%}.photo-grid img{width:100%}.lightbox{border:0;position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;padding:35px 60px;margin:0;background:rgba(255,255,255,.98);color:black;z-index:100}.lightbox::backdrop{background:#fff}.lightbox img{width:100%;height:calc(100svh - 100px);object-fit:contain}.lightbox-close{position:absolute;right:24px;top:14px;font-size:27px;padding:4px 8px}.lightbox-prev,.lightbox-next{position:absolute;top:50%;font-size:25px}.lightbox-prev{left:17px}.lightbox-next{right:17px}.lightbox-caption{text-align:center;font-size:11px;margin:14px 0 0;color:#555}.lightbox-open{overflow:hidden}
/* Biography and contact retain the reference's typography and page hierarchy. */
.about-layout{display:grid;grid-template-columns:52% 36%;gap:4%;padding:40px 2vw 0;align-items:start}.about-copy{max-width:650px;font-size:15.4px;line-height:1.38}.about-copy h1{font-size:15.4px;line-height:1.5;font-weight:700;margin:0 0 52px}.about-image{margin-top:10px}.about-image img{width:100%}.about-image figcaption{font-size:10px;color:#777;margin-top:12px}.about-copy .direct-contact{margin-top:50px;line-height:1.8}.about-copy .direct-contact a{display:block}.contact-heading{display:grid;grid-template-columns:65% 28%;gap:5%;padding:34px 2vw 0;margin-bottom:122px}.contact-heading h1{font-size:clamp(64px,7.7vw,120px);font-weight:400;letter-spacing:-.06em;line-height:.89;margin:0;max-width:780px}.contact-heading p{font-size:16px;line-height:1.35;max-width:350px;margin:10px 0}.contact-panel{background:#f5f5f5;border-radius:16px;margin:0 2vw;padding:72px 20px}.contact-form{max-width:610px;margin:auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.field label{line-height:1.5}.field small{color:#777;font-size:11px}.field input,.field textarea,.field select{width:100%;border:1px solid #222;background:transparent;border-radius:0;padding:12px;line-height:1.3;font-size:14px}.field textarea{resize:vertical;min-height:160px}.send-button{background:#111;color:#fff;padding:16px 28px;border:1px solid #111;font-size:13px}.send-button:hover{background:#333}.form-note{font-size:11px;line-height:1.6;margin-top:18px;color:#666}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:65px 2vw;max-width:940px;margin:auto;line-height:1.9;font-size:14px}.contact-details a{display:block}.contact-thumbnails{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:15px 2vw 50px}.contact-thumbnails img{aspect-ratio:1;object-fit:cover;width:100%}
@media(min-width:1600px){body{font-size:17px}.navigation{top:180px}.navigation>ul{gap:20px}.about-copy{font-size:17px}}
@media(max-width:800px){:root{--gutter:5vw;--rail:92vw}.site-header{height:85px}.brand{position:absolute;top:24px;left:5vw;font-size:15px}.home .brand{display:none}.instagram{display:none}.menu-toggle{display:block;position:fixed;z-index:42;right:14px;top:25px;width:36px;height:28px;padding:4px 0}.menu-toggle span{position:absolute;left:0;width:36px;height:1px;background:#333;top:10px;transition:transform .25s,top .25s}.menu-toggle span+span{top:21px}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg);top:15px}.menu-toggle[aria-expanded=true] span+span{transform:rotate(-45deg)}.navigation{display:none;inset:0;background:#fff;padding:115px 35px 60px;text-align:left;overflow:auto;z-index:40}.navigation.mobile-open{display:block}.navigation>ul{align-items:flex-start;gap:28px}.navigation li{font-size:28px;line-height:1.4}.projects-toggle{font-size:28px;line-height:1.4}.project-submenu li{font-size:17px}.project-submenu{padding:18px 0 0}.site-footer{font-size:12px;margin-top:70px;margin-right:5vw}.home-stage{padding-top:35px;min-height:calc(100svh - 180px)}.slide{padding:0 12.5%}.slide img{max-height:65svh}.slide figcaption{font-size:12px}.slide-category{font-size:11px}.carousel-controls{margin-top:18px;padding:0 12.5%;font-size:10px}.home .site-footer{margin-top:15px;margin-bottom:18px}.selected-grid{margin:14px 5vw 0;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:6vw}.selected-item:nth-child(n){margin:0;grid-column:1/span 5;grid-row:span 17}.selected-item:nth-child(4n+2){grid-column:8/span 5;grid-row:span 17;margin-top:15vw}.selected-item:nth-child(4n+3){grid-column:2/span 6;grid-row:span 19;margin-top:6vw}.selected-item:nth-child(4n+4){grid-column:9/span 4;grid-row:span 19;margin-top:24vw}.archive-intro{margin:40px 8vw 65px;font-size:14px}.category-nav{gap:18px;margin:0 5vw 50px;font-size:11px;letter-spacing:1.1px}.portfolio-grid{columns:2;padding:0 5vw;column-gap:16px}.portfolio-card{margin-bottom:30px}.portfolio-card h2{font-size:15px}.portfolio-card .category{font-size:10px}.project-heading{margin:30px 7vw 45px}.project-heading .category{font-size:12px;margin-bottom:20px}.project-heading h1{font-size:44px}.project-gallery{max-width:90vw;gap:12px}.project-pagination{max-width:90vw;font-size:14px;margin:60px auto}.photo-grid{columns:2;column-gap:12px;padding:0 5vw}.photo-grid .image-button{margin-bottom:12px}.category-title{font-size:32px;margin-top:35px}.category-subtitle{font-size:12px;margin:0 7vw 45px}.about-layout{display:flex;flex-direction:column;padding:30px 5vw 0;gap:40px}.about-copy{font-size:14px}.about-copy h1{font-size:14px;margin-bottom:35px}.about-image{width:80%;margin:0 auto}.contact-heading{display:block;margin:30px 5vw 70px;padding:0}.contact-heading h1{font-size:62px;margin-bottom:40px}.contact-heading p{font-size:14px;max-width:300px}.contact-panel{margin:0 5vw;padding:40px 20px;border-radius:10px}.form-row{display:block}.field label{font-size:13px}.contact-details{display:block;margin:0 5vw;padding:45px 0;font-size:13px}.contact-details>div+div{margin-top:25px}.contact-thumbnails{grid-template-columns:repeat(3,1fr);margin:0 5vw 40px}.lightbox{padding:60px 25px 25px}.lightbox img{height:calc(100svh - 135px)}.lightbox-prev{left:1px}.lightbox-next{right:1px}}
.portrait-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}
.portrait-grid .image-button{margin:0}
.project-film{display:block;width:min(72vw,960px);max-height:78svh;margin:60px auto 0;background:#000}
.project-credits{width:min(90vw,640px);margin:55px auto 0;font-size:13px;line-height:1.55;text-align:center}
.project-credits h2{font-size:18px;font-weight:400;margin:0 0 20px}
.project-credits p{margin:0 0 8px}
.project-credits a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.project-film{width:90vw}}
.portrait-photo figcaption{font-size:10px;line-height:1.4;color:#555;margin-top:7px;font-weight:400}
@media(max-width:800px){.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 30px;align-items:start}.portfolio-grid .portfolio-card{margin-bottom:0}.portfolio-grid.masonry-ready{display:block;position:relative}.masonry-ready .portfolio-card{position:absolute;margin:0}
@media(max-width:800px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
