*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;background:#fff;color:#202020;font-family:Geist,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #617f92;outline-offset:5px}[hidden]{display:none!important}.page-width{width:min(1120px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-80px;left:24px;background:white;padding:12px;z-index:100}.skip-link:focus{top:10px}.home-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:24px 40px;background:#fffffff2;backdrop-filter:blur(10px);font-size:14px}.wordmark{font-weight:600;letter-spacing:-.025em}.home-nav nav{display:flex;gap:28px}.home-nav nav a{color:#757575;padding-block:6px}.home-nav nav a[aria-current]{color:#202020}.home-intro{display:grid;grid-template-columns:1fr 112px;gap:48px;align-items:center;padding-block:76px 82px}.eyebrow{font-size:12px;line-height:1.5;color:#777}.home-intro h1{font-size:28px;font-weight:400;letter-spacing:-.035em;line-height:1.35;margin-top:20px}.intro-note{font-size:14px;line-height:1.6;color:#777;margin-top:20px}.cloud{border:0;background:none;position:relative;width:112px;padding:8px;perspective:600px;touch-action:pan-y}.cloud img{width:84px;height:auto;margin:auto;pointer-events:none;user-select:none;filter:drop-shadow(0 11px 9px #00000010)}.cloud span{position:absolute;top:100%;left:0;right:0;text-align:center;opacity:0;transition:opacity .2s;font-size:11px;color:#888}.cloud:hover span,.cloud:focus-visible span{opacity:1}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:12px;color:#888}.section-top h2{font-size:14px;font-weight:400;color:#333}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 28px}.project{min-width:0}.project a{display:block}.project-cover{position:relative;aspect-ratio:8/5;overflow:hidden;border-radius:8px;background:#f0f0ee;isolation:isolate}.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.75,.2,1)}.cover-adu img{object-fit:contain}.project-cover canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.project-meta{padding-top:16px;display:flex;justify-content:space-between;gap:12px}.project-meta h3{font-size:16px;font-weight:500;letter-spacing:-.025em}.project-meta p{font-size:13px;line-height:1.5;color:#737373;margin-top:6px}.project-meta>span{font-size:10px;line-height:1.5;color:#777;text-align:right;max-width:110px;padding-top:3px}.selected-work{padding-bottom:88px}.experiments{padding:0 0 74px}.lab-intro{border-top:1px solid #e7e7e7;padding-top:30px;display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:28px}.lab-intro h2{font-size:16px;letter-spacing:-.02em;font-weight:400}.lab-intro>p{font-size:12px;color:#777;line-height:1.5}.experiment-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px 18px}.experiment{min-width:0}.experiment-open{display:block;width:100%;padding:0;border:0;background:none;text-align:left}.experiment-media{position:relative;overflow:hidden;border-radius:7px;background:#f2f2f0;aspect-ratio:5/4}.experiment-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.75,.2,1)}.is-archive .experiment-media img{object-fit:contain}.experiment-label{padding-top:11px}.experiment-label h3{font-size:12px;line-height:1.45;font-weight:400}.experiment-label span{display:block;font-size:10px;color:#777;margin-top:3px;line-height:1.4}.home-footer{background:white;padding:0 0 30px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #e7e7e7;padding-top:26px;font-size:12px;color:#757575}.contact-links{display:flex;flex-wrap:wrap;gap:20px}.contact-links a,.footer-bottom>a{transition:color .2s}.contact-links a:hover,.footer-bottom>a:hover{color:#202020}.about{padding-block:76px 110px;min-height:75vh}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:28px}.about h1{font-size:32px;line-height:1.2;font-weight:400;letter-spacing:-.035em}.about-cloud{width:110px;height:auto;margin:42px 0 0 35px;transform:rotate(-10deg)}.about-copy p{font-size:17px;line-height:1.65;margin-bottom:22px}.about-copy .contact-links{font-size:13px;margin-top:36px}
.experiment-dialog{border:0;padding:0;background:transparent;color:white;width:min(760px,calc(100% - 56px));max-width:none;max-height:calc(100dvh - 64px);overflow:visible}.experiment-dialog::backdrop{background:#171b1ec4;backdrop-filter:blur(7px);transition:background .35s,backdrop-filter .35s}.experiment-dialog.is-closing::backdrop{background:transparent;backdrop-filter:blur(0)}.dialog-shell{position:relative;max-height:calc(100dvh - 64px);overflow:auto;scrollbar-width:thin;scrollbar-color:#777 transparent}.dialog-close{display:block;margin:0 0 8px auto;border:0;background:transparent;color:#fff;font-size:25px;width:40px;height:36px;line-height:1}.dialog-close:focus-visible{outline-offset:-3px}.dialog-media{display:grid;place-items:center;border-radius:8px;overflow:hidden;background:#f2f2f0;position:relative}.dialog-media img{width:auto;max-width:100%;height:auto;max-height:59dvh;object-fit:contain}.dialog-media iframe{border:0;width:100%;aspect-ratio:16/9;display:block;max-height:59dvh}.dialog-caption{display:flex;justify-content:space-between;gap:24px;padding:18px 1px 8px}.dialog-caption h2{font-size:17px;font-weight:400;letter-spacing:-.02em;margin:4px 0 7px}.dialog-caption .eyebrow{font-size:10px;color:#c1c1c1}.dialog-caption p:not(.eyebrow){font-size:12px;line-height:1.5;color:#d0d0d0;max-width:54ch}.dialog-actions{display:flex;flex-direction:column;align-items:end;gap:10px;flex-shrink:0}.gallery-controls{display:flex;align-items:center;gap:10px}.gallery-controls button{width:40px;height:40px;border:1px solid #ffffff4a;border-radius:50%;background:transparent;color:white}.gallery-count{font-size:11px;color:#ddd;white-space:nowrap}.video-external{font-size:11px;color:#ddd}.video-play{position:absolute;inset:0;border:0;background:#00000025;color:white;display:grid;place-items:center}.video-play span{padding:11px 17px;background:#202020dd;border-radius:24px;font-size:12px}.is-modal-open{overflow:hidden}.media-flight{position:fixed;z-index:2;pointer-events:none;border-radius:8px;object-fit:cover;max-width:none;margin:0}.media-flight.is-contained{object-fit:contain;background:#f2f2f0}
@media(hover:hover) and (pointer:fine){.project a:hover .project-cover:not(.cover-glitch) img{transform:scale(1.012)}.experiment-open:hover img{transform:scale(1.025)}}
@media(max-width:1050px){.page-width{width:calc(100% - 64px)}.home-intro{gap:28px}.home-intro h1{font-size:26px}.project-meta{display:block}.project-meta>span{display:block;max-width:none;text-align:left;margin-top:8px}.experiment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.about-grid{gap:40px}}
@media(max-width:640px){.page-width{width:calc(100% - 40px)}.home-nav{padding:19px 20px;font-size:14px}.home-nav nav{gap:23px}.home-intro{padding-block:40px 46px;grid-template-columns:1fr 60px;gap:12px}.home-intro h1{font-size:23px;margin-top:15px;line-height:1.35}.home-intro h1 br{display:none}.eyebrow{font-size:11px}.intro-note{font-size:12px;margin-top:16px;max-width:29ch}.cloud{width:60px;padding:0;align-self:start;margin-top:38px}.cloud img{width:58px}.cloud span{display:none}.section-top{margin-bottom:17px}.section-top span{font-size:11px}.project-grid{grid-template-columns:1fr;gap:32px}.project-meta{padding-top:13px}.project-meta>span{margin-top:5px}.selected-work{padding-bottom:54px}.lab-intro{display:block;padding-top:24px;margin-bottom:22px}.lab-intro p{margin-top:9px}.experiment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.experiment{margin-bottom:0}.experiment-label h3{font-size:12px}.experiments{padding-bottom:42px}.footer-bottom{font-size:11px;flex-wrap:wrap;gap:20px}.footer-bottom .contact-links{order:3;width:100%;gap:23px}.about{padding-block:44px 64px}.about-grid{grid-template-columns:1fr;gap:28px}.about h1{font-size:29px}.about-cloud{display:none}.about-copy p{font-size:16px}.experiment-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 30px)}.dialog-shell{max-height:calc(100dvh - 30px)}.dialog-caption{display:block;padding-top:14px}.dialog-actions{flex-direction:row;justify-content:space-between;align-items:center;margin-top:16px}.dialog-media img{max-height:52dvh}.dialog-media iframe{max-height:52dvh}.dialog-caption h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.project a:hover .project-cover img,.experiment-open:hover img{transform:none}}

/* Restore the editorial scale, retain the working gallery and source media. */
.page-width{width:min(1200px,calc(100% - 96px))}.home-intro{grid-template-columns:1fr 220px;gap:60px;padding-block:86px 98px}.home-intro h1{font-size:clamp(40px,4.3vw,60px);line-height:1.1;letter-spacing:-.045em;margin-top:24px}.home-intro h1 span{color:#777}.intro-note{font-size:16px;max-width:37ch;margin-top:26px}.cloud{width:200px;padding:12px;justify-self:center}.cloud img{width:164px}.cloud span{display:none}.section-top{margin-bottom:26px}.project-grid{gap:72px 32px}.project-grid>.project:nth-child(-n+2){grid-column:1/-1}.project-grid>.project:nth-child(-n+2) .project-cover{aspect-ratio:16/10}.project-cover{border-radius:12px}.project-meta{display:flex;padding-top:22px}.project-meta h3{font-size:21px;font-weight:500}.project-meta p{font-size:16px;margin-top:8px}.project-meta>span{font-size:12px;max-width:190px}.project-grid>.project:nth-child(n+3) .project-cover{aspect-ratio:4/3}.project-grid>.project:nth-child(n+3) .project-meta{display:block}.project-grid>.project:nth-child(n+3) .project-meta>span{text-align:left;display:block;max-width:none;margin-top:8px}.selected-work{padding-bottom:108px}
.experiments{background:#101110;color:#f4f4f1;padding:78px 0 88px}.lab-intro{border:0;padding:0;align-items:end;margin-bottom:44px}.lab-intro .eyebrow{font-size:12px;color:#aaa;margin-bottom:14px}.lab-intro h2{font-size:38px;font-weight:400;letter-spacing:-.035em}.lab-intro>p{font-size:14px;color:#a9a9a9;max-width:29ch}.experiment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}.experiment-column{display:flex;flex-direction:column;gap:28px;min-width:0}.experiment{margin:0}.experiment-media{aspect-ratio:5/4;border-radius:10px;background:#1b1c1b}.experiment.is-tall .experiment-media{aspect-ratio:4/5}.experiment.is-archive .experiment-media{background:#f0f0ee}.experiment-label{padding-top:12px}.experiment-label h3{font-size:13px;color:#f4f4f1}.experiment-label span{font-size:11px;color:#aaa}.experiment-open:focus-visible{outline-color:#bbb}.about h1{font-size:44px}
@media(max-width:1000px){.page-width{width:calc(100% - 64px)}.home-intro{grid-template-columns:1fr 180px;gap:30px;padding-block:66px 76px}.cloud{width:180px}.cloud img{width:150px}.experiment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.experiment-column{display:contents}.project-meta{display:block}.project-meta>span{display:block;text-align:left;max-width:none;margin-top:10px}}
@media(max-width:640px){.page-width{width:calc(100% - 40px)}.home-intro{grid-template-columns:1fr 94px;gap:8px;padding-block:40px 54px}.home-intro h1{font-size:clamp(27px,7vw,39px);margin-top:18px;line-height:1.12}.home-intro h1 br{display:initial}.home-intro .eyebrow{max-width:23ch}.intro-note{font-size:13px;margin-top:20px;max-width:25ch}.cloud{width:94px;padding:0;margin-top:58px;align-self:start}.cloud img{width:88px}.project-grid{gap:42px}.project-grid>.project:nth-child(n) .project-cover{aspect-ratio:8/5}.project-meta{padding-top:15px}.project-meta h3{font-size:19px}.project-meta p{font-size:14px}.project-meta>span{font-size:11px;margin-top:7px}.selected-work{padding-bottom:60px}.experiments{padding-block:50px 58px}.lab-intro{margin-bottom:28px}.lab-intro h2{font-size:28px}.lab-intro>p{font-size:13px;margin-top:16px}.experiment-grid{gap:24px 14px}.experiment-label h3{font-size:12px}.experiment-label span{font-size:10px}.about h1{font-size:34px}}

/* A personal introduction with small, explorable Specimen studies. */
.home-intro{grid-template-columns:minmax(0,740px) 200px;justify-content:space-between;align-items:center;gap:60px;padding-block:72px 82px}.home-intro h1{font-size:28px;line-height:1.38;letter-spacing:-.025em;margin:0;font-weight:400}.intro-detail{font-size:17px;line-height:1.8;color:#606060;max-width:66ch;margin-top:20px}.intro-detail+.intro-detail{margin-top:14px}.intro-links{display:flex;gap:26px;font-size:14px;margin-top:25px}.intro-links a{padding-block:7px}.intro-links a:hover{text-decoration:underline;text-underline-offset:5px}
.intro-sample{display:inline-block;position:relative;vertical-align:middle;margin:-4px 5px 0;width:48px;height:34px;padding:0;border:0;border-radius:5px;background:#e9eae7;z-index:2}.intro-sample>img{width:100%;height:100%;object-fit:cover;border-radius:5px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.sample-enlarged{position:absolute;bottom:calc(100% + 12px);left:50%;width:240px;pointer-events:none;opacity:0;transform:translate(-50%,8px) scale(.94);transform-origin:bottom;transition:opacity .22s,transform .35s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 12px 20px #0002)}.sample-enlarged img{display:block;border-radius:9px;width:100%;height:auto}.intro-sample[aria-expanded=true],.intro-sample:focus-visible{z-index:5}.intro-sample[aria-expanded=true] .sample-enlarged,.intro-sample:focus-visible .sample-enlarged{opacity:1;transform:translate(-50%,0) scale(1)}
@media(hover:hover){.intro-sample:hover{z-index:5}.intro-sample:hover .sample-enlarged{opacity:1;transform:translate(-50%,0) scale(1)}.intro-sample:hover>img{transform:rotate(-4deg)}}
.lab-intro{align-items:center;margin-bottom:26px}.lab-intro h2{font-size:20px;letter-spacing:-.015em;font-weight:400}.experiment-column{gap:20px}.preview-toggle{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#a6a6a2;font-size:15px}.preview-toggle:hover{background:#ffffff10;color:#fff}.motion-preview{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;opacity:0;transition:opacity .3s}.experiment-media.is-playing .motion-preview{opacity:1}.experiment-project{font-size:12px;white-space:nowrap;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.dialog-caption h2{margin-top:0}.dialog-actions{gap:6px}.video-external{display:none}
@media(max-width:1000px){.home-intro{grid-template-columns:minmax(0,1fr) 160px;gap:30px;padding-block:58px 64px}.home-intro h1{font-size:26px}.intro-detail{font-size:16px}.experiment-grid{gap:20px}.lab-intro{display:flex}}
@media(max-width:640px){.home-intro{position:relative;display:block;padding-block:34px 48px}.home-intro h1{font-size:23px;line-height:1.4;max-width:calc(100% - 80px)}.home-intro h1 br{display:none}.intro-detail{font-size:15px;line-height:1.8;margin-top:19px}.intro-detail+.intro-detail{margin-top:12px}.cloud{position:absolute;right:-3px;top:31px;width:76px;margin:0}.cloud img{width:72px}.intro-links{font-size:13px;margin-top:18px}.intro-sample{width:42px;height:30px;margin-inline:3px}.sample-enlarged{width:185px;left:0;transform:translate(0,8px) scale(.94)}.intro-sample[aria-expanded=true] .sample-enlarged,.intro-sample:focus-visible .sample-enlarged{transform:translate(0,0) scale(1)}.lab-intro h2{font-size:18px}.lab-intro{margin-bottom:20px}.experiment-grid{gap:14px}.dialog-caption p:not(.eyebrow){max-width:45ch}}
@media(prefers-reduced-motion:reduce){.intro-sample:hover>img{transform:none}.sample-enlarged{transition:none}.preview-toggle{display:none}}

.sample-enlarged{display:none;position:fixed;left:var(--sample-x,50vw);top:var(--sample-y,100px);bottom:auto;transform:translateX(-50%);opacity:1}.intro-sample:hover .sample-enlarged,.intro-sample[aria-expanded=true] .sample-enlarged,.intro-sample:focus-visible .sample-enlarged{display:block;transform:translateX(-50%)}

.intro-sample:hover .sample-enlarged,.intro-sample[aria-expanded=true] .sample-enlarged,.intro-sample:focus-visible .sample-enlarged{display:none}.intro-sample.sample-open .sample-enlarged{display:block;transform:translateX(-50%)}
@media(max-width:1000px){.experiment-grid{display:block;columns:2;column-gap:20px}.experiment{break-inside:avoid;margin-bottom:20px}.experiment-column{display:contents}}@media(max-width:640px){.experiment-grid{column-gap:14px}.experiment{margin-bottom:14px}}

/* Cloud sticker: preserve the complete square composition. */
.experiment.is-square .experiment-media{aspect-ratio:1}.experiment-media video.motion-preview{object-fit:contain;background:#101110}.dialog-media video{display:block;width:auto;max-width:100%;height:auto;max-height:59dvh;object-fit:contain;background:#101110}
@media(max-width:640px){.dialog-media video{max-height:52dvh}}
