:root{--ink:#2b2d30;--paper:#fff;--side:50vw;--page-padding:4.0625vw}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--paper)}body{font:14px/1.57 Helvetica,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}a:hover,button:hover{text-decoration:underline;text-underline-offset:2px}button:focus-visible,a:focus-visible{outline:1px solid var(--ink);outline-offset:5px}[hidden]{display:none!important}
#stage{position:fixed;inset:0;outline:none;background:#fff;transition:transform .45s cubic-bezier(.22,.65,.3,1)}body.index-open #stage{transform:translateX(-25vw)}
#work{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 90px 100px}
#photo-wrap{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}#photo{display:block;width:100%;height:100%;overflow:hidden}
.photo-hit{position:absolute;top:0;bottom:100px;width:50%;z-index:1}.previous{left:0;cursor:w-resize}.next{right:0;cursor:e-resize}.photo-hit:focus-visible{outline-offset:-8px}
.viewer-nav{position:fixed;z-index:3;bottom:32px;left:50%;transform:translateX(-50%);height:36px;display:flex;align-items:center;gap:9px;font-size:12px;white-space:nowrap}.viewer-nav button{padding:9px 5px}.viewer-nav #index-open{font-weight:700}.nav-line{width:19px;height:1px;background:#2b2d30}
dialog{border:0;padding:0;color:var(--ink);font:inherit}dialog::backdrop{background:rgba(0,0,0,.85);transition:background .3s}#index-panel{position:fixed;inset:0 0 0 auto;width:var(--side);max-width:none;height:100svh;max-height:none;margin:0;overflow:hidden;background:#fff}
.panel-nav{height:89px;display:flex;align-items:flex-start;gap:10px;padding:52px var(--page-padding) 0;font-size:12px}.panel-nav button[aria-pressed=true]{font-weight:bold;text-decoration:underline;text-underline-offset:2px}#index-close{margin-left:auto;font-size:17px;line-height:1;opacity:.55;padding:2px 0 2px 8px}.panel-body{height:calc(100% - 89px);overflow-y:auto;overscroll-behavior:contain;padding:50px var(--page-padding) 52px}.work-row{display:flex;align-items:baseline;justify-content:space-between;width:100%;gap:25px;text-align:left;line-height:1.85;font-size:14px}.work-row span:last-child{flex-shrink:0;font-variant-numeric:tabular-nums}.work-row[aria-current=true] span:first-child{text-decoration:underline;text-underline-offset:3px}.all-works{margin-bottom:30px}.work-row.series-start{margin-top:25px}
#info-panel h1{font-size:16px;font-weight:400;line-height:1.5;margin:0 0 28px}#info-panel p{margin:0 0 28px;line-height:1.9}#info-panel a{text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
#thumbs-panel{position:fixed;inset:0;width:100vw;max-width:none;height:100svh;max-height:none;margin:0;background:rgba(255,255,255,.94);overflow:hidden}#thumbs-panel::backdrop{background:transparent}#thumb-grid{height:calc(100% - 100px);overflow-y:auto;overscroll-behavior:contain;padding:100px 7.2vw 60px;display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));grid-auto-rows:95px;column-gap:30px;row-gap:30px;align-content:start;align-items:start}.thumb{width:100%;height:95px;display:flex;align-items:flex-start;justify-content:center}.thumb svg{display:block;width:100%;height:100%;overflow:hidden}.thumb[aria-current=true]{outline:1px solid #777;outline-offset:6px}.thumbs-close{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);height:36px;font-size:12px;padding:8px 10px;white-space:nowrap}
@media(max-width:700px){:root{--side:100vw;--page-padding:25px}body{font-size:14px}#work{padding:74px 20px 112px}body.index-open #stage{transform:translateX(-18vw)}.viewer-nav{bottom:22px}.panel-nav{height:80px;padding-top:33px;font-size:14px}.panel-body{height:calc(100% - 80px);padding-top:25px}.work-row{font-size:14px;line-height:2;gap:20px}#thumb-grid{padding:65px 25px 40px;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:95px;gap:28px 20px}.thumbs-close{bottom:22px}#thumb-grid{height:calc(100% - 85px)}#index-close{font-size:20px}}
@media(prefers-reduced-motion:reduce){#stage,dialog::backdrop{transition:none}}
#studio-home{position:fixed;z-index:4;top:32px;left:4.0625vw;font:400 14px/1.5 Helvetica,Arial,sans-serif;text-decoration:none;padding:5px 0}#studio-home:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){#studio-home{top:23px;left:20px;font-size:13px}}


#cursor-title{display:none;position:fixed;z-index:10;pointer-events:none;transform:translate(-50%,-50%);color:white;mix-blend-mode:difference;font:400 28px/1.2 Helvetica,Arial,sans-serif;white-space:nowrap;text-align:center}
@media(hover:hover) and (pointer:fine){#cursor-title.visible{display:block}.photo-hit{cursor:none}}
.about-portrait{display:block;width:100%;max-width:320px;height:auto;margin:0 0 38px;overflow:hidden}#info-panel .about-name{margin-bottom:22px}#info-panel .about-bio{max-width:470px;line-height:1.65;margin-bottom:24px}
#info-panel strong{color:#080808;font-weight:700}#info-panel .name-emphasis{font-size:16px}#info-panel .about-motto{color:#111;font-size:18px;line-height:1.5;margin:34px 0 0}#info-panel .about-contact{margin-top:38px;padding-bottom:6px}#info-panel .about-contact a{color:#111;text-decoration-thickness:1px;text-underline-offset:4px}
