:root{--paper:#e9e8e3;--ink:#262722;--muted:#64665e;--line:#bbbcb2;--accent:#9a3e25;--gutter:clamp(20px,4vw,84px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue","PingFang SC",sans-serif}body.dark{--accent:#e39b7e;--paper:#22231f;--ink:#e9e8e3;--muted:#b1b2a6;--line:#515348}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{opacity:.4;cursor:default}header{min-height:94px;margin:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);gap:24px}.brand{font-size:26px;font-weight:650;letter-spacing:-1px;line-height:1.1}.brand span{font:9px monospace;letter-spacing:2px;display:block;margin-top:7px}header nav{display:flex;align-items:center;gap:32px;font:11px monospace;letter-spacing:1px}.work-nav{display:inline-flex;align-items:center;min-height:44px}#menu-toggle{background:none;border:0;display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:0 3px;letter-spacing:inherit}.menu-lines{width:22px;height:8px;display:block;border-top:1px solid;border-bottom:1px solid}.intro{padding:36px var(--gutter) 32px}.eyebrow,.mono,.frame-caption,.hero-label,.end-index,footer{font:10px/1.6 "SFMono-Regular",Consolas,monospace;letter-spacing:1px}.eyebrow{display:flex;align-items:center;gap:9px}.dot{width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0}.intro-code{margin-left:auto;color:var(--muted)}h1{font-size:clamp(52px,7.2vw,118px);font-weight:400;letter-spacing:-4px;line-height:1.17;margin:50px 0 36px}h1 span{color:var(--muted)}html[lang=en] h1{font-size:clamp(44px,7vw,108px);letter-spacing:-3.5px}.intro-bottom{display:flex;justify-content:space-between;align-items:end;gap:24px}.intro-bottom p{font-size:13px;line-height:1.9;margin:0}.intro-bottom p span{color:var(--muted);font-size:12px}.explore{font-size:12px;width:190px;min-height:44px;border-bottom:1px solid var(--ink);padding-bottom:10px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.explore span{font-size:25px}.hero{margin:0 var(--gutter)}.hero-image{position:relative;border:0;padding:0;display:block;width:100%;background:#171915}.artwork-picture{display:block;width:100%}.hero-image img{display:block;width:100%;height:auto;max-height:78svh;object-fit:contain}.hero-label{position:absolute;bottom:20px;left:22px;color:white;text-align:left;text-shadow:0 1px 4px #000}.hero-label b{display:block;font-weight:400;margin-top:5px}.cross{position:absolute;right:24px;bottom:22px;color:white;font-size:30px;font-weight:200}.frame-caption{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:9px}.works{padding:88px var(--gutter) 0}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:22px}.section-head h2{font-size:24px;font-weight:400;margin:0}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:20px 0 36px}.filters{display:flex;flex-wrap:wrap;gap:8px 24px;min-width:0}.filters button{background:none;border:0;color:var(--muted);padding:10px 0;min-height:44px;font-size:12px}.filters button.active{color:var(--ink);box-shadow:inset 0 -1px var(--ink)}sup{font:9px monospace;margin-left:6px}.filter-note{font-size:9px;color:var(--muted);white-space:nowrap}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px;align-items:start}.photo{margin:0;min-width:0}.photo button{border:0;padding:0;width:100%;display:block;background:#171915}.photo img{width:100%;height:auto;display:block}.photo.landscape{grid-column:span 2}.photo figcaption{display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:1.7;padding:12px 0;border-bottom:1px solid var(--line)}.photo figcaption span{overflow-wrap:anywhere}.photo figcaption span:last-child{font:9px/1.7 monospace;color:var(--muted);max-width:38%;text-align:right}.photo[hidden]{display:none}.end-index{display:flex;justify-content:space-between;gap:20px;margin:40px 0 0;padding-top:16px;border-top:1px solid var(--ink);color:var(--muted)}.end-index a{min-height:44px}.about{margin:100px var(--gutter) 0;border-top:1px solid var(--ink);padding:60px 0 80px;display:grid;grid-template-columns:1fr 1fr;gap:7%}.about-mark{font-size:clamp(110px,18vw,270px);line-height:1;letter-spacing:-12px}.about-mark span{display:block;font:10px monospace;letter-spacing:2px;margin-top:25px}.about-copy{max-width:490px}.about h2{font-size:clamp(40px,5vw,72px);font-weight:400;line-height:1.1;letter-spacing:-2px;margin:27px 0}.about p{font-size:14px;line-height:2;color:var(--muted);max-width:390px}.about .location-label{display:flex;align-items:center;gap:9px;font:11px monospace;color:var(--ink);margin:0 0 25px}.practice{border-top:1px solid var(--line);margin-top:28px;padding-top:16px;display:flex;flex-direction:column;gap:10px}.practice>span:last-child{font-size:12px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:8px;margin-top:20px}.contact{margin:0 var(--gutter);padding:60px 0 75px;border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:7%}.contact h2{font-size:clamp(34px,3.6vw,54px);font-weight:400;letter-spacing:-2px;line-height:1.35;margin:28px 0}.contact-intro>p{font-size:14px;line-height:2;max-width:390px;color:var(--muted)}.contact-location{display:block;margin-top:32px;color:var(--muted);font-size:9px}.contact-channels{min-width:0}.contact-channel{border-top:1px solid var(--ink);padding:18px 0 26px}.channel-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.channel-top>span:last-child{font-size:22px}.social-handle{font-size:clamp(20px,2.1vw,32px);font-weight:400;letter-spacing:-.6px;display:block;margin:28px 0 20px;overflow-wrap:anywhere}.social-handle[href]:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.copy-account{border:0;border-bottom:1px solid var(--line);background:none;min-height:44px;font-size:11px;padding:8px 0;display:flex;justify-content:space-between;align-items:center;gap:30px;min-width:100px}.channel-help{font-size:11px;line-height:1.8;color:var(--muted);margin:-5px 0 12px}.channel-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.channel-actions>a{font-size:11px;min-height:44px;display:inline-flex;align-items:center}.copy-status{min-height:30px;font-size:12px;color:var(--accent);line-height:1.7}footer{margin:0 var(--gutter);border-top:1px solid var(--ink);padding:23px 0 28px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:9px}footer a{min-height:32px}footer p{width:100%;font:11px/1.8 sans-serif;color:var(--muted);margin:4px 0 0}.skip{position:fixed;top:-70px;left:20px;background:var(--paper);padding:15px;z-index:9}.skip:focus{top:10px}
/* Image pixels remain in the browser's native colour/HDR pipeline. */
.artwork-picture img,#full-photo{dynamic-range-limit:no-limit;filter:none;opacity:1;transform:none;transition:none}dialog{color:var(--ink)}dialog[open]{display:flex}#lightbox{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;background:#191b18;color:#efefe8;padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));flex-direction:column}#lightbox::backdrop{background:#191b18}.lightbox-top,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;flex-shrink:0}.lightbox-top{min-height:44px}.lightbox-top button{background:none;border:0;font:12px monospace;color:inherit;min-height:44px;padding:10px}.lightbox-stage{flex:1;min-height:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:20px;align-items:center;padding:16px 0;touch-action:pan-y pinch-zoom}.lightbox-stage button{background:none;border:1px solid #55594d;width:44px;height:44px;border-radius:50%;color:white}#full-picture{display:flex;justify-content:center;align-items:center;height:100%;min-height:0;min-width:0}#full-photo{display:block;max-width:100%;max-height:100%;height:auto;width:auto;object-fit:contain}.lightbox-bottom{border-top:1px solid #55594d;padding-top:12px;min-height:64px}.lightbox-bottom>div{min-width:0}.lightbox-bottom #photo-title{overflow-wrap:anywhere}.image-status{font-size:10px;line-height:1.5;color:#b7baa9;margin:6px 0 0}#open-original{font-size:11px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}#open-original[hidden]{display:none}.viewer-keys{font-size:9px;white-space:nowrap}
#site-menu{position:fixed;inset:16px 16px auto auto;margin:0;width:min(440px,calc(100vw - 32px));height:calc(100dvh - 32px);max-height:none;max-width:none;border:1px solid var(--ink);padding:24px 28px;background:var(--paper);color:var(--ink);flex-direction:column;overflow:auto}#site-menu::backdrop{background:#1118}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:22px;border-bottom:1px solid var(--line)}.menu-heading .mono{font-size:9px}.menu-heading button{background:none;border:0;min-height:44px;font-size:12px;padding:8px}.menu-links{display:flex;flex-direction:column;padding:22px 0}.menu-links>a{display:flex;align-items:center;gap:18px;min-height:74px;font-size:28px;letter-spacing:-1px}.menu-links .mono{font-size:10px;color:var(--muted)}.menu-settings{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:12px}.menu-settings>a,.menu-settings>button{min-height:44px;padding:10px 0;background:none;border:0;text-align:left;display:flex;align-items:center}.menu-settings label{grid-column:1/-1;display:block;font-size:11px}.menu-settings select{width:100%;max-width:100%;margin-top:8px;min-height:44px;border:1px solid var(--line);border-radius:0;background:var(--paper);padding:9px;font-size:12px}.menu-image-note{grid-column:1/-1;font-size:11px;line-height:1.8;color:var(--muted);margin:0}
@media(min-width:1800px){body{max-width:2000px;margin:auto}}@media(max-width:1100px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px}.filter-note{display:none}.intro-code{font-size:9px}.about{gap:40px}.about-mark{font-size:180px}.social-handle{font-size:24px}}@media(max-width:700px){:root{--gutter:24px}header{min-height:76px}.brand{font-size:23px}.brand span{font-size:8px}header nav{gap:24px}.intro{padding-top:25px}.intro .eyebrow{font-size:8px;letter-spacing:.5px}.intro-code{display:none}h1{letter-spacing:-2px;font-size:clamp(46px,9vw,66px);margin:38px 0 28px}html[lang=en] h1{font-size:clamp(34px,7.5vw,52px);letter-spacing:-1.5px}.intro-bottom{gap:16px}.intro-bottom p{font-size:12px}.intro-bottom p span{font-size:10px}.explore{width:115px;font-size:11px}.hero-label{left:15px;bottom:14px;font-size:9px}.cross{right:16px;bottom:12px}.frame-caption{font-size:8px;letter-spacing:.4px}.works{padding-top:55px}.section-head h2{font-size:22px}.filters{gap:4px 20px}.filter-row{margin:15px 0 26px}.about{margin-top:60px;padding:38px 0 48px;grid-template-columns:1fr;gap:34px}.about-mark{font-size:110px;letter-spacing:-8px}.about-mark span{margin-top:12px}.about h2{font-size:46px}.about p,.contact-intro>p{font-size:14px}.contact{padding:38px 0 40px;grid-template-columns:1fr;gap:34px}.contact h2{font-size:36px}.contact-location{margin-top:24px}.contact-channel{padding-bottom:22px}.copy-status{font-size:12px}footer>span:nth-child(2){display:none}footer p{font-size:10px}#lightbox{padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.lightbox-stage{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) 44px;gap:10px;padding:10px 0}#full-picture{grid-column:1/-1;grid-row:1}.lightbox-stage #prev{grid-row:2;justify-self:start}.lightbox-stage #next{grid-row:2;justify-self:end}.viewer-keys{display:none}.lightbox-bottom{gap:12px}.lightbox-bottom>div{max-width:68%}.image-status{font-size:9px}.lightbox-top .mono{font-size:9px}#site-menu{padding:16px 20px}.menu-links>a{min-height:66px}.menu-settings select{font-size:16px}}
@media(max-width:540px){.gallery{grid-template-columns:1fr;gap:28px}.photo.landscape{grid-column:auto}.photo figcaption{font-size:12px}.photo figcaption span:last-child{font-size:10px}.intro-bottom p{max-width:60%}.intro-bottom .explore{width:100px}.frame-caption span:last-child{max-width:50%;text-align:right}}@media(max-width:350px){:root{--gutter:18px}.brand{font-size:21px}header nav{gap:18px}.intro-bottom p{font-size:11px}.intro-bottom p span{font-size:9px}.explore{width:90px}.section-head .mono{font-size:9px}.menu-links>a{font-size:25px}}@media(max-height:500px) and (orientation:landscape){#site-menu{padding:10px 20px}.menu-links{padding:6px 0}.menu-links>a{min-height:44px;font-size:20px}.menu-heading{padding-bottom:4px}.menu-settings{gap:4px 16px;padding-top:5px}.menu-image-note{font-size:10px}.lightbox-top{min-height:32px}.lightbox-stage{padding:5px 0;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:minmax(0,1fr)}#full-picture{grid-column:2;grid-row:1}.lightbox-stage #prev{grid-row:1;grid-column:1}.lightbox-stage #next{grid-row:1;grid-column:3}.lightbox-bottom{min-height:45px;padding-top:5px}.image-status{margin-top:2px}}@media(hover:none){a,button{touch-action:manipulation}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.portfolio-intro{margin:0 var(--gutter);padding:42px 0 16px}.portfolio-intro h1{font-family:Arial,sans-serif;font-size:clamp(42px,5.8vw,82px);letter-spacing:-3px;margin:26px 0 5px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.portfolio-count{font:10px monospace!important;letter-spacing:1px!important;color:var(--muted)}.portfolio-intro+.works{padding-top:28px}.portfolio-intro+.works .section-head{display:none}.portfolio-intro+.works .filter-row{border-top:1px solid var(--ink);padding-top:12px}@media(max-width:540px){.portfolio-intro{padding-top:28px}.portfolio-intro h1{font-size:44px;letter-spacing:-2px}.portfolio-count{font-size:9px!important}.portfolio-intro+.works{padding-top:16px}}
