@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600&display=swap');
:root{color-scheme:dark;background:#111110;color:#deded7;font-family:'Manrope',Arial,sans-serif;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}button:focus-visible,a:focus-visible{outline:1px solid #fff;outline-offset:8px}header{position:fixed;top:0;left:0;right:0;height:100px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;z-index:30;background:linear-gradient(#111110 10%,#111110e8 60%,#11111000)}.signature{font-size:14px;letter-spacing:.15em;font-weight:500}header nav{display:flex;gap:32px;position:absolute;left:50%;transform:translateX(-50%)}header nav button{font-size:14px;color:#888982;transition:color .25s;position:relative}header nav button:hover,header nav button[aria-current]{color:#f0f0e9}header nav button[aria-current]:before{content:'';position:absolute;width:3px;height:3px;background:#e1e1d7;border-radius:50%;top:-11px;left:calc(50% - 1.5px)}.index-toggle{font-size:13px;letter-spacing:.02em}.index-toggle span{margin-left:20px}.work{min-height:100svh;position:relative;padding:130px 10% 95px;display:flex;align-items:center;justify-content:center;scroll-margin-top:0}.work figure{margin:0;position:relative;max-width:1100px;width:100%}.work figure>img{display:block;width:100%;height:calc(100svh - 245px);max-height:950px;object-fit:contain}.work figcaption{font-size:12px;display:flex;justify-content:center;gap:28px;line-height:1.6;color:#86867e;margin-top:20px;min-height:20px}.work figcaption span:first-child{color:#b9b9b0}.installation{justify-content:center;padding-top:110px;gap:4.5vw}.installation figure{width:47%;max-width:590px}.installation figure>img{height:calc(100svh - 190px);max-height:1100px;object-fit:contain}.installation figcaption{display:none}.detail-view{width:25%;max-width:270px;align-self:flex-end;margin-bottom:9vh;position:relative}.detail-view img{width:100%;height:auto;display:block}.detail-view span{position:absolute;bottom:-25px;left:0;font-size:10px;color:#6f7069}.next{position:absolute;bottom:35px;left:50%;font-family:Arial,sans-serif;font-size:23px;color:#82837b;padding:10px;transform:translateX(-50%);transition:color .2s}.next:hover{color:#fff}.position{position:fixed;bottom:42px;left:4%;z-index:20;display:flex;align-items:center;gap:13px;font-size:11px;font-variant-numeric:tabular-nums;color:#8b8d84;mix-blend-mode:screen}.position-line{height:1px;width:45px;background:#45463f}.position #position{color:#e3e3da}.contact{position:fixed;bottom:39px;right:4%;font-size:12px;color:#93958c;z-index:20}.contact:hover{color:#fff}[hidden]{display:none!important}.still-label{position:absolute;bottom:100px;right:12%;font-size:11px;color:#797b72}body[data-view=photography] .work figure{max-width:1450px}body[data-view=film] .work{padding-left:5%;padding-right:5%}body[data-view=film] .work figure{max-width:1800px}body[data-view=film] .work figure>img{width:100%;height:auto;max-height:75svh;object-fit:contain}#work-index{position:fixed;inset:85px 3% 85px;background:#1b1c19f7;backdrop-filter:blur(20px);z-index:25;padding:35px 40px;overflow:auto;border:1px solid #ffffff0e}.index-heading{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#b2b4aa;margin-bottom:30px}.close-index{font-size:26px;font-weight:400}.index-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 32px}.index-grid img{display:block;width:100%;height:180px;object-fit:contain;transition:opacity .2s}.index-grid a:hover img{opacity:.7}.index-grid a>span{display:flex;justify-content:space-between;color:#b0b2a7;font-size:11px;margin-top:16px}.about{min-height:100svh;display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center;max-width:1180px;padding:160px 7% 130px;margin:auto}.about-photo img{width:100%;display:block;filter:saturate(.7)}.about-copy h1{font-size:16px;font-weight:500;margin:0 0 38px}.about-copy p{font-size:15px;line-height:1.85;color:#9b9e91;margin:0 0 22px}.about-copy>a{display:inline-block;font-size:13px;margin-top:22px}.social{display:flex;gap:25px;font-size:12px;color:#979a8e;margin-top:30px}
@media(min-width:1700px){.installation figure{max-width:730px}.detail-view{max-width:320px}.work figure{max-width:1450px}}
@media(max-width:850px){header{height:110px;align-items:flex-start;padding-top:28px}header nav{top:73px;gap:25px;white-space:nowrap}.signature{font-size:12px}.index-toggle{font-size:12px}.work{padding:145px 6% 105px}.work figure>img{height:calc(100svh - 260px)}.installation{gap:5%;padding-left:7%;padding-right:7%}.installation figure{width:70%}.installation figure>img{height:calc(100svh - 250px)}.detail-view{width:24%;margin-bottom:13vh}.index-grid{grid-template-columns:repeat(3,1fr);gap:30px 20px}.index-grid img{height:140px}#work-index{top:120px;padding:25px}.about{gap:8%;padding-top:160px}}
@media(max-width:550px){header{padding-left:6%;padding-right:6%;background:linear-gradient(#111110 45%,#11111000)}header nav{gap:25px}header nav button{font-size:13px}.signature{letter-spacing:.1em}.index-toggle span{margin-left:12px}.work{min-height:90svh;padding:140px 6% 100px}.work figure>img{height:calc(90svh - 260px)}.installation{min-height:100svh;display:block;padding:145px 6% 100px}.installation figure{width:87%;margin:0}.installation figure>img{height:calc(100svh - 280px);object-fit:contain;object-position:left center}.detail-view{width:23%;position:absolute;right:6%;bottom:125px;background:#111110;padding:5px}.detail-view span{bottom:-17px;left:5px;font-size:9px}.work figcaption{gap:15px;font-size:10px;margin-top:15px}.position{bottom:30px;left:6%;font-size:10px}.position-line{width:25px}.contact{bottom:28px;right:6%;font-size:11px}.next{bottom:20px;font-size:21px}.index-grid{grid-template-columns:repeat(2,1fr)}.index-grid img{height:145px}.index-grid a>span{font-size:10px}.index-heading{margin-bottom:24px}#work-index{bottom:70px;padding:22px 18px}.still-label{bottom:120px;right:6%;font-size:10px}.about{grid-template-columns:1fr;gap:35px;padding:155px 9% 120px}.about-photo{max-width:75%}.about-copy h1{margin-bottom:25px}.about-copy p{font-size:14px}.about-copy>a{font-size:12px}body[data-view=film] .work figure>img{height:auto;max-height:60svh}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
/* Centered horizontal gallery */
body:not([data-view=about]){height:100svh;overflow:hidden}.slide{height:100svh;position:relative;display:flex;align-items:center;justify-content:center;padding:105px 9% 85px}.slide figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.slide figure img{width:100%;height:calc(100% - 48px);object-fit:contain;min-height:0}.slide figcaption{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;line-height:1.7;color:#929589;font-size:12px}.slide figcaption .work-title{color:#dfdfd5}.arrow{position:absolute;top:50%;transform:translateY(-50%);font:300 42px Arial,sans-serif;width:64px;height:90px;color:#95978e;transition:color .2s,background .2s;z-index:5}.arrow:hover{color:white;background:#ffffff08}.previous{left:1.7%}.following{right:1.7%}.arriving figure{animation:arrive .45s ease-out}.film-slide{padding:0;isolation:isolate;background:#000}.film-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.film-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(#0005,transparent 18%,transparent 77%,#0007);pointer-events:none}.film-title{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;animation:title-in-out 2.8s both}.film-title.replay{animation-name:title-again}.film-title h1{font-size:clamp(25px,4vw,62px);letter-spacing:.18em;font-weight:400;text-transform:uppercase;text-shadow:0 2px 40px #0008}.film-controls{position:absolute;left:50%;bottom:37px;transform:translateX(-50%);display:flex;gap:23px;font-size:12px;z-index:8;white-space:nowrap}.film-controls button{color:#eee;text-shadow:0 1px 8px #000}.film-controls button:hover{color:#fff;text-decoration:underline}.film-slide .arrow{color:#eee;text-shadow:0 2px 15px #000}.film-slide .arrow:hover{background:#0002}body[data-view=film] header{background:linear-gradient(#0009,transparent)}body[data-view=film] header nav button{color:#bdbdb5}body[data-view=film] header nav button[aria-current]{color:#fff}body[data-view=film] .position,body[data-view=film] .contact{color:#eee;text-shadow:0 2px 8px #000}.index-grid button>span{display:flex;gap:10px;justify-content:space-between;color:#b0b2a7;font-size:11px;margin-top:16px;text-align:left}.index-grid button:hover img{opacity:.7}.index-grid button{min-width:0}.index-grid button>span>span{text-align:right}.index-grid img{width:100%;height:160px;object-fit:contain}@keyframes arrive{from{opacity:.3;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes title-in-out{0%{opacity:0;transform:translateY(8px)}25%,65%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-5px)}}@keyframes title-again{0%{opacity:0}20%,65%{opacity:1}100%{opacity:0}}
@media(max-width:850px){.slide{padding:140px 9% 85px}.film-slide{padding:0}.arrow{width:44px;font-size:35px}.previous{left:.5%}.following{right:.5%}.film-controls{gap:17px}}
@media(max-width:550px){.slide{padding:145px 10% 88px}.slide figure{gap:16px}.slide figure img{height:calc(100% - 80px)}.slide figcaption{font-size:11px;gap:3px 12px}.slide figcaption .work-title{flex-basis:100%;text-align:center}.film-slide{padding:0}.film-controls{bottom:68px;gap:20px;font-size:11px}.film-controls #title-replay{display:none}.film-title h1{font-size:28px}.arrow{width:32px;height:65px;font-size:32px}.previous{left:0}.following{right:0}.index-grid img{height:135px}}
@media(prefers-reduced-motion:reduce){.arriving figure{animation:none}.film-title{animation:none;opacity:0}.film-title.replay{animation:title-again 3s both}}
/* Final portfolio refinements */
.slide figure>.media-crop{flex:none;position:relative;overflow:hidden;width:min(100%,calc((100svh - 265px)*var(--ratio)));max-height:calc(100svh - 265px)}
.media-crop>img{position:absolute;max-width:none!important;max-height:none!important;object-fit:fill!important;margin:0;display:block}
.index-grid .media-crop{position:relative;overflow:hidden;width:min(100%,calc(160px*var(--ratio)));margin:auto;max-height:160px}
.grain{position:absolute;inset:0;pointer-events:none;opacity:.13;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px}
.film-caption{color:#e9e9e1;order:-1;min-width:90px;text-align:center;font-size:13px}.film-controls{gap:25px;align-items:center}.about{max-width:1600px;grid-template-columns:1.25fr 1fr;gap:7%;padding:150px 5% 110px;align-items:start}.about-photo{position:sticky;top:145px;max-width:none}.about-photo img{filter:none}.about-copy h1{font-size:21px;letter-spacing:.01em;margin-bottom:30px}.about-copy p{font-size:16px;line-height:1.8;color:#a6a99d}.commissions{margin-top:38px;padding-top:28px;border-top:1px solid #ffffff20}.commissions h2{font-size:15px;font-weight:500;margin:0 0 16px}.commissions a{font-size:15px;display:inline-block;border-bottom:1px solid #ffffff50;padding-bottom:5px}.about-copy .social{margin-top:28px}
@media(max-width:850px){.slide figure>.media-crop{width:min(100%,calc((100svh - 310px)*var(--ratio)));max-height:calc(100svh - 310px)}.about{grid-template-columns:1fr;padding:155px 7% 100px;gap:45px}.about-photo{position:relative;top:auto;width:100%;max-width:850px}.about-copy{max-width:650px}.index-grid .media-crop{width:min(100%,calc(140px*var(--ratio)));max-height:140px}}
@media(max-width:550px){.slide figure>.media-crop{width:min(100%,calc((100svh - 330px)*var(--ratio)));max-height:calc(100svh - 330px)}.slide figcaption{font-size:11px;line-height:1.6}.film-controls{bottom:35px;gap:20px}.film-caption{font-size:12px;min-width:0}.film-controls #play,.film-controls #fit{font-size:11px}.about-copy p{font-size:15px}.contact{bottom:24px}.position{bottom:26px}.film-controls{bottom:67px}.about-photo{max-width:none}.commissions a{font-size:14px}}

/* Contact and caption legibility */
.contact{bottom:26px;font-size:14px;font-weight:500;color:#f0f0e9;padding:12px 17px;min-height:44px;border:1px solid #ffffff60;border-radius:3px;background:#111110d9;backdrop-filter:blur(12px);transition:border-color .2s,background .2s}
.contact:hover{background:#292925;border-color:#ffffffe0}
.slide figcaption{font-size:14px}.slide figcaption .work-title{font-size:16px}
.film-caption{font-size:16px;text-shadow:0 1px 8px #000}
.index-grid button>span{font-size:13px}
@media(max-width:550px){.contact{bottom:15px;font-size:12px;padding:12px;right:6%}.slide figcaption{font-size:13px;gap:3px 12px}.slide figcaption .work-title{font-size:15px}.film-caption{font-size:15px}.film-controls{bottom:78px}.index-grid button>span{font-size:12px}}
