:root{--paper:#fbfbf9;--ink:#20201e;--muted:#777773;--line:#deded9;--home-hero-max:1440px;--work-cover-max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.055em}a{color:inherit;text-decoration:none}p,h1,h2,figure{margin:0}img{display:block;width:100%;height:auto;border:0;box-shadow:none;vertical-align:top}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;height:66px;padding:0 3.1vw;background:linear-gradient(to bottom,rgba(251,251,249,.95),rgba(251,251,249,.7),transparent)}.brand{font-size:11px;font-weight:500;letter-spacing:.18em}.nav{display:flex;gap:30px}.nav a,.menu-button{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.nav a{border-bottom:1px solid transparent;padding:4px 0}.nav a:hover,.nav a:focus-visible{border-color:currentColor}.menu-button{display:none;border:0;background:none;color:inherit;padding:0}.home-hero{padding:16vh 7.5vw 0}.home-hero>a{display:block;width:min(76vw,1280px);margin:auto}.home-caption{display:flex;justify-content:space-between;width:min(76vw,1280px);margin:10px auto 0;color:var(--muted);font-size:10px}.works{padding:35vh 3.1vw 28vh}.eyebrow{color:var(--muted);font-size:9px;letter-spacing:.15em;text-transform:uppercase}.work-entry{width:62vw;max-width:980px;margin:12vh auto 0}.work-image{display:block}.work-caption{display:flex;justify-content:space-between;align-items:baseline;padding-top:11px}.work-caption h1{font-size:12px;font-weight:400;letter-spacing:.06em}.work-caption p{color:var(--muted);font-size:9px;text-transform:uppercase}.information{padding:20vh 8vw 25vh;border-top:1px solid var(--line)}.information-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin:13vh 0 20vh}.identity,.bio{font-size:14px;line-height:1.8}.identity p:last-child{color:var(--muted);font-size:10px;letter-spacing:.15em}.cv{width:70%;margin-left:auto}.cv section{display:grid;grid-template-columns:190px minmax(0,1fr);padding:36px 0;border-top:1px solid var(--line)}.cv h2{font-size:10px;font-weight:400;letter-spacing:.11em}.cv-list{grid-column:2;display:grid;gap:5px;font-size:11px;line-height:1.8}.cv-list p{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:0}.cv-list p>span:first-child{color:var(--muted);font-variant-numeric:tabular-nums}.contact{min-height:65vh;padding:18vh 8vw;border-top:1px solid var(--line)}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:12vh}.contact-links a{display:inline-block;font-size:clamp(14px,1.25vw,18px);font-weight:400;letter-spacing:.075em;border-bottom:1px solid var(--line);padding-bottom:4px}footer{display:flex;justify-content:space-between;margin:0 3.1vw;padding:20px 0 25px;border-top:1px solid var(--line);color:var(--muted);font-size:8px;letter-spacing:.12em;text-transform:uppercase}.image-guard{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.series-opening{padding:15vh 3.1vw 0}.opening-image{width:min(78vw,1320px);margin:auto}.series-title{display:flex;justify-content:space-between;align-items:baseline;width:min(78vw,1320px);margin:12px auto 0}.series-title h1{font-size:12px;font-weight:400;letter-spacing:.08em}.series-title p{color:var(--muted);font-size:9px}.photo-sequence{padding:34vh 3.1vw 20vh}.frame{margin-bottom:34vh}.frame img{width:100%}.frame.wide{width:min(84vw,1440px);margin-left:auto;margin-right:auto}.frame.medium{width:min(62vw,980px)}.frame.small{width:min(43vw,720px)}.frame.core{width:min(68vw,1080px)}.frame.final{width:min(58vw,900px);margin-bottom:0}.frame.left{margin-left:5vw}.frame.right{margin-left:auto;margin-right:5vw}.frame.center{margin-left:auto;margin-right:auto}.frame.turn{margin-top:48vh}.pair{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:11vw;width:min(80vw,1300px);margin:0 auto 38vh}.pair figure:nth-child(2){transform:translateY(16vh)}.pair.offset{grid-template-columns:.85fr 1.15fr;gap:14vw}.pair.offset figure:nth-child(1){transform:translateY(13vh)}.pair.offset figure:nth-child(2){transform:none}.statement{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin:0 8vw;padding:30vh 0 32vh;border-top:1px solid var(--line)}.statement p{max-width:470px;font-size:clamp(16px,1.5vw,22px);font-weight:300;line-height:1.8;letter-spacing:.045em}.statement p:last-child{color:var(--muted)}
@media(max-width:720px){.site-header{height:56px;padding:0 18px;background:rgba(251,251,249,.94);backdrop-filter:blur(10px)}.menu-button{display:block}.nav{position:absolute;top:56px;left:0;right:0;display:none;flex-direction:column;gap:0;padding:12px 18px 20px;background:var(--paper);border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:11px 0}.home-hero{padding:18vh 0 0}.home-hero>a,.home-caption{width:100%}.home-caption{padding:0 18px}.works{padding:28vh 18px 22vh}.work-entry{width:100%;margin-top:10vh}.information{padding:16vh 18px 20vh}.information-grid{grid-template-columns:1fr;gap:45px;margin:10vh 0 16vh}.cv{width:100%}.cv section{grid-template-columns:1fr;gap:18px}.cv-list{grid-column:1}.cv-list p{grid-template-columns:54px minmax(0,1fr)}.contact{padding:16vh 18px;min-height:55vh}.contact-links{margin-top:10vh}.series-opening{padding:16vh 0 0}.opening-image,.series-title{width:100%}.series-title{padding:0 18px}.photo-sequence{padding:28vh 18px 14vh}.frame,.frame.wide,.frame.medium,.frame.small,.frame.core,.frame.final{width:100%;margin:0 0 24vh}.frame.turn{margin-top:34vh}.pair,.pair.offset{display:grid;grid-template-columns:1fr;gap:14vh;width:100%;margin:0 0 26vh}.pair figure:nth-child(2),.pair.offset figure:nth-child(1){transform:none}.pair figure{width:86%}.pair figure:nth-child(2){margin-left:auto}.statement{grid-template-columns:1fr;gap:35px;margin:0 18px;padding:22vh 0}.statement p{font-size:16px}footer{margin:0 18px;gap:18px}.series-page footer{padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.home-hero>a{position:relative;aspect-ratio:3/2;overflow:hidden;overflow:clip;background:var(--paper);border:0!important;box-shadow:none!important;font-size:0;line-height:0;text-decoration:none}
.home-hero-slide{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);object-fit:contain;border:0;outline:0;box-shadow:none;opacity:0;transition:opacity 1s ease}
.home-hero-slide.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.home-hero-slide{transition:none}}
.work-entry+.work-entry{margin-top:30vh}.work-entry-was{width:54vw;max-width:860px;margin-left:8vw}.was-statement{grid-template-columns:.65fr 1fr 1fr}.was-statement .statement-title{font-size:11px;letter-spacing:.1em;color:var(--ink)}
.work-entry-toilet{width:58vw;max-width:920px;margin-left:auto;margin-right:5vw}
@media(max-width:720px){.work-entry-was,.work-entry-toilet{width:100%;margin-left:0;margin-right:0}.work-entry+.work-entry{margin-top:24vh}.was-statement{grid-template-columns:1fr}}
.series-note{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:10vw;margin:0 8vw;padding:25vh 0 28vh;border-top:1px solid var(--line)}.series-note p{max-width:520px;font-size:12px;font-weight:400;line-height:1.9;letter-spacing:.075em}.series-note>p,.series-note-translation>p{margin:0;padding:0}.series-note-translation{position:relative;display:grid;grid-template-areas:"copy";align-self:start;color:var(--muted)}.series-note-translation>p{grid-area:copy;transform:translateY(-1px)}.series-note-translation [hidden]{display:block!important;visibility:hidden;pointer-events:none}.language-switch{position:absolute;left:0;bottom:calc(100% + 18px);display:flex;align-items:center;gap:7px;margin:0;font-size:8px;line-height:1;letter-spacing:.12em}.language-switch button{appearance:none;padding:0;border:0;background:none;color:var(--muted);font:inherit;letter-spacing:inherit;cursor:pointer}.language-switch button[aria-pressed="true"]{color:var(--ink)}.language-switch button:hover,.language-switch button:focus-visible{color:var(--ink)}.language-switch span{color:var(--line)}
@media(max-width:720px){.series-note{display:block;margin:0 18px;padding:20vh 0}.series-note-translation{margin-top:50px}.language-switch{bottom:calc(100% + 14px)}}
.uniform-series .opening-image,.uniform-series .series-title,.uniform-series .photo-sequence .frame{width:min(68vw,1080px);margin-left:auto;margin-right:auto}.uniform-series .photo-sequence{padding-top:26vh}.uniform-series .photo-sequence .frame{margin-bottom:24vh}.uniform-series .photo-sequence .frame:last-child{margin-bottom:0}
@media(max-width:720px){.uniform-series .opening-image,.uniform-series .series-title,.uniform-series .photo-sequence .frame{width:100%}.uniform-series .series-title{padding-left:18px;padding-right:18px}.uniform-series .photo-sequence .frame{margin-bottom:18vh}}
.gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:22vh 3.1vw 0;color:var(--muted);font-size:8px;letter-spacing:.12em;text-transform:uppercase}.gallery-controls button{appearance:none;border:0;background:none;color:var(--ink);padding:8px;font:inherit;font-size:15px;cursor:pointer}.horizontal-gallery,.uniform-series .horizontal-gallery{display:flex;align-items:center;gap:9vw;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:auto;overscroll-behavior-inline:contain;padding:10vh 8vw 14vh;scrollbar-width:none}.horizontal-gallery.is-animating{scroll-snap-type:none}.horizontal-gallery::-webkit-scrollbar{display:none}.horizontal-gallery>.frame,.uniform-series .horizontal-gallery>.frame{flex:0 0 auto;width:auto;margin:0;scroll-snap-align:center}.horizontal-gallery>.frame img,.uniform-series .horizontal-gallery>.frame img{width:auto;height:68vh;max-height:780px;object-fit:contain}.horizontal-gallery>.pair,.horizontal-gallery>.pair.offset{display:flex;align-items:center;flex:0 0 auto;gap:4vw;width:auto;margin:0;scroll-snap-align:center}.horizontal-gallery>.pair figure,.horizontal-gallery>.pair.offset figure{width:auto;margin:0;transform:none}.horizontal-gallery>.pair img{width:auto;height:62vh;max-height:710px;object-fit:contain}.horizontal-gallery:focus-visible{outline:1px solid var(--line);outline-offset:-1px}
@media(max-width:720px){.gallery-controls{margin:16vh 18px 0}.horizontal-gallery,.uniform-series .horizontal-gallery{gap:10vw;padding:7vh 8vw 11vh}.horizontal-gallery>.frame img,.uniform-series .horizontal-gallery>.frame img{height:auto;width:84vw;max-height:none}.horizontal-gallery>.pair,.horizontal-gallery>.pair.offset{display:flex;gap:7vw}.horizontal-gallery>.pair img{height:auto;width:74vw;max-height:none}}
.series-opening{min-height:0;padding:18vh 3.1vw 0}.series-opening .series-title{width:auto;margin:0}.gallery-controls{margin-top:6vh}.horizontal-gallery,.uniform-series .horizontal-gallery{gap:4vw;padding:8vh 11vw 14vh}.horizontal-gallery>.frame,.uniform-series .horizontal-gallery>.frame{width:78vw;opacity:.18;filter:saturate(.35) brightness(1.12);transform:scale(.965);transition:opacity 1s ease,filter 1s ease,transform 1s ease}.horizontal-gallery>.frame img,.uniform-series .horizontal-gallery>.frame img{width:100%;height:auto;max-height:none}.horizontal-gallery>.frame.is-active,.uniform-series .horizontal-gallery>.frame.is-active{opacity:1;filter:none;transform:scale(1)}
@media(max-width:720px){.series-opening{padding:15vh 18px 0}.series-opening .series-title{padding:0}.gallery-controls{margin-top:5vh}.horizontal-gallery,.uniform-series .horizontal-gallery{gap:5vw;padding:6vh 8vw 10vh}.horizontal-gallery>.frame,.uniform-series .horizontal-gallery>.frame{width:84vw}.horizontal-gallery>.frame img,.uniform-series .horizontal-gallery>.frame img{width:100%;height:auto}}
.series-opening .series-title{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px}.series-opening .series-title p{align-self:flex-start}.gallery-controls{gap:8px}.gallery-controls span{display:none}
.gallery-shell{position:relative;margin-top:6vh}.gallery-shell .gallery-controls{position:absolute;z-index:6;top:50%;left:0;right:0;height:0;margin:0;display:flex;justify-content:space-between;pointer-events:none;transform:translateY(-50%)}.gallery-shell .gallery-controls button{pointer-events:auto;display:grid;place-items:center;width:44px;height:44px;margin:0 2.3vw;border-radius:50%;background:rgba(251,251,249,.78);backdrop-filter:blur(8px);transition:background .2s ease,opacity .2s ease}.gallery-shell .gallery-controls button:hover,.gallery-shell .gallery-controls button:focus-visible{background:rgba(251,251,249,.96)}.gallery-shell .horizontal-gallery{padding-top:8vh}
@media(max-width:720px){.gallery-shell{margin-top:4vh}.gallery-shell .gallery-controls button{width:38px;height:38px;margin:0 8px;background:rgba(251,251,249,.84)}}
@media(min-width:721px){.horizontal-gallery>.frame,.uniform-series .horizontal-gallery>.frame{width:min(72vw,calc((100vh - 200px) * 1.5))}.horizontal-gallery>.frame img,.uniform-series .horizontal-gallery>.frame img{max-height:calc(100vh - 200px);object-fit:contain}.gallery-shell .horizontal-gallery{padding-top:9vh;padding-bottom:9vh}}
.gallery-follower{position:fixed;z-index:30;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(251,251,249,.84);color:var(--ink);font-size:15px;line-height:1;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.82);backdrop-filter:blur(8px);transition:opacity .18s ease,transform .18s ease}.gallery-follower.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media(min-width:721px) and (hover:hover) and (pointer:fine){.has-gallery-follower .horizontal-gallery{cursor:none}.has-gallery-follower .gallery-shell .gallery-controls{display:none}}
@media(max-width:720px),(hover:none),(pointer:coarse){.gallery-follower{display:none}}
/* Keep the opening photograph near the visual center of the viewport. */
@media(min-width:721px){.series-opening{padding-top:14vh}.gallery-shell{margin-top:1vh}.gallery-shell .horizontal-gallery{padding-top:3vh;padding-bottom:8vh}}
@media(max-width:720px){.series-opening{padding-top:13vh}.gallery-shell{margin-top:1vh}.gallery-shell .horizontal-gallery{padding-top:3vh}}

/* Works index: separate series and individual works without adding visual hierarchy. */
.is-temporarily-hidden{display:none!important}/* Re-enable a section by removing this class from its HTML. */
.works-group-title{margin:0 0 6vh;color:var(--muted);font-size:9px;letter-spacing:.15em}
.works-group+.works-group{margin-top:18vh}
.individual-works-grid{width:min(45vw,calc(var(--home-hero-max) / 2));margin:0 auto}
.individual-work-entry a,.individual-work-entry figure{display:block;margin:0}
.individual-work-entry img{display:block;width:100%;height:auto}
.individual-work-caption{padding-top:11px;font-size:12px;letter-spacing:.06em}
.individual-work-caption em{font-style:normal}
@media(min-width:721px){
  .home-hero{padding-top:14vh}
  .home-hero>a{width:min(82vw,var(--home-hero-max))}
  .works{display:block;padding:14vh 5vw 20vh;scroll-margin-top:66px}
  .works>.eyebrow{margin-bottom:8vh}
  .works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:7vw;row-gap:16vh;align-items:center}
  .works-grid>.work-entry,.works-grid>.work-entry-toilet,.works-grid>.work-entry-was,.works-grid>.work-entry-becoming{width:100%;max-width:var(--work-cover-max);margin:0;justify-self:center}
}
@media(max-width:720px){
  .works{padding:15vh 18px 18vh;scroll-margin-top:56px}
  .works>.eyebrow{margin-bottom:7vh}
  .works-group-title{margin-bottom:5vh}
  .works-group+.works-group{margin-top:14vh}
  .works-grid{display:grid;gap:12vh}
  .works-grid>.work-entry,.works-grid>.work-entry-toilet,.works-grid>.work-entry-was,.works-grid>.work-entry-becoming{width:100%;margin:0}
  .individual-works-grid{width:50%}
}

/* Individual works: full image first, optional close detail inspection second. */
.individual-work{padding:15vh 3.1vw 20vh}
.individual-work-heading{width:min(94vw,1800px);margin:0 auto 8vh}
.individual-work-heading h1{margin:0 0 8px;font-size:12px;font-weight:400;letter-spacing:.08em}
.individual-work-meta{margin:0;color:var(--muted);font-size:9px;line-height:1.7}
.individual-work-figure{width:min(94vw,1800px);margin:0 auto}
.detail-trigger{appearance:none;display:block;width:100%;margin:0;padding:0;border:0;background:none;color:inherit;cursor:-webkit-zoom-in;cursor:zoom-in;font:inherit;font-size:0;line-height:0}
.detail-trigger:focus,.detail-trigger:focus-visible,.detail-viewer-bar button:focus,.detail-viewer-bar button:focus-visible{outline:none}
.detail-trigger img{display:block;width:100%;height:auto;cursor:-webkit-zoom-in;cursor:zoom-in}
.detail-viewer-bar button{appearance:none;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:9px;letter-spacing:.12em;cursor:pointer}
.detail-viewer-bar button:hover,.detail-viewer-bar button:focus-visible{color:var(--ink)}
.detail-viewer[hidden]{display:none}
.detail-viewer{position:fixed;inset:0;z-index:100;background:transparent}
.detail-viewer-bar{position:absolute;inset:0 0 auto;z-index:1;display:flex;align-items:center;justify-content:flex-end;height:56px;padding:0 3.1vw;color:var(--muted);font-size:9px;letter-spacing:.1em;pointer-events:none}
.detail-viewer-bar em{font-style:italic;color:var(--ink)}
.detail-viewport{position:absolute;inset:0;overflow:hidden;background:transparent;touch-action:none;cursor:grab}
.detail-viewport.is-dragging{cursor:grabbing}
.detail-viewport img{position:absolute;left:50%;top:50%;width:auto;max-width:none;height:auto;transform:translate(-50%,-50%);transform-origin:center;will-change:transform;user-select:none}
.detail-viewer-bar button{display:grid;place-items:center;width:24px;height:24px;font-size:16px;line-height:1;letter-spacing:0;pointer-events:auto}
body.detail-open{overflow:hidden}
body.detail-open>header,
body.detail-open>main,
body.detail-open>footer{visibility:hidden}
@media(max-width:720px){
  .individual-work{padding:15vh 18px 16vh}
  .individual-work-heading{width:100%;margin-bottom:7vh}
  .individual-work-figure{width:100%}
  .detail-viewer-bar{padding:0 18px}
  .detail-viewport img{width:auto}
}
