
:root{--ink:#333;--muted:#666;--line:#eee;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:#fafafa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}a:hover{opacity:.7}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #555;outline-offset:3px}h1,h2,p,figure{margin:0}img{display:block;max-width:100%}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;top:0;left:0;z-index:100;background:white;padding:10px}.site-header{background:#fff}.header-inner{max-width:1060px;margin:auto;padding:0 10px}.brand-row{min-height:65px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0}.site-name{font-size:20px;font-weight:700;letter-spacing:-.025em}.social-links{display:flex;align-items:center;gap:12px}.social-links a{display:flex;align-items:center;justify-content:center;min-width:20px;height:28px;font-size:15px}.social-links a+a{border-left:1px solid #aaa;padding-left:12px;box-sizing:content-box}.social-links svg{width:15px;height:15px}.social-icon{display:flex;align-items:center;justify-content:center;width:20px;height:28px}.social-icon img{max-width:none;flex-shrink:0}.note-icon{width:32px;height:32px}.substack-icon{width:28px;height:28px}.site-header nav{height:44px;display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch}.site-header nav a{text-align:center;display:flex;align-items:center;justify-content:center;font-size:14px;color:#666}.site-header nav a[aria-current="page"]{color:#444}.page-shell{max-width:1060px;margin:10px auto 0;background:#fff;padding:30px 70px 60px;min-height:65vh}.mosaic-row{display:flex;gap:4px;align-items:flex-start;margin-bottom:4px}.mosaic-column{min-width:0;display:flex;flex-direction:column;gap:4px}.mosaic-photo{display:block;width:100%;line-height:0;position:relative}.mosaic-photo img{width:100%;height:auto;transition:opacity .2s}.mosaic-photo:hover img{opacity:.92}footer{padding:44px 20px 36px;text-align:center;background:#fafafa}footer .social-links{justify-content:center;margin-bottom:24px}.footer-name{font-size:18px;font-weight:700}footer p{font-size:12px;color:#666;margin-top:6px}.breadcrumb{font-size:12px;display:flex;gap:10px;color:#777;margin:0 0 25px}.page-shell h1:not(.sr-only){font-size:28px;font-weight:700;line-height:1.5;margin-bottom:40px}.series-section{margin:0 0 70px}.series-section h2{font-size:22px;font-weight:600;margin-bottom:25px}.statement p{font-size:16px;line-height:1.9;margin-bottom:22px}.work-thumbnails{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:25px}.work-thumb{display:block;aspect-ratio:1;border:1px solid #ddd;padding:4px;min-width:0}.work-thumb img{height:100%;width:100%;object-fit:contain}.contact-copy{font-size:16px;line-height:1.9}.contact-copy p{margin-bottom:24px}.contact-copy a{color:#555;text-decoration:underline;text-underline-offset:3px}
.preview-note{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
dialog{max-width:none;max-height:none;width:100%;height:100dvh;inset:0;margin:0;padding:0 4.4%;border:0;background:#fff;color:var(--ink)}dialog::backdrop{background:#fff}body.gallery-is-open{overflow:hidden}.gallery-header{height:85px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.gallery-header h2{font-family:Georgia,serif;font-size:26px}.close-gallery{min-height:44px;font-size:14px;display:flex;gap:24px;align-items:center}.close-gallery span{font-size:30px;font-weight:200}.gallery-stage{height:calc(100dvh - 206px);display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:20px;align-items:center;padding:25px 0 0}.gallery-stage>button{width:44px;height:44px;font-size:24px}.gallery-stage figure{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:0}.gallery-stage img{max-width:100%;max-height:calc(100% - 45px);width:auto;height:auto;object-fit:contain}.gallery-stage figcaption{font-size:14px;margin-top:16px;min-height:22px}.gallery-bottom{height:120px;display:flex;align-items:center;justify-content:space-between;gap:18px}#gallery-counter{font-size:14px;white-space:nowrap}#gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:8px}#gallery-thumbs button{width:57px;height:57px;flex:0 0 57px;border:1px solid transparent;padding:3px;opacity:.5}#gallery-thumbs button[aria-current="true"]{border-color:#333;opacity:1}#gallery-thumbs img{width:100%;height:100%;object-fit:contain}

@media(max-width:700px){.header-inner{padding:0 20px}.brand-row{min-height:67px}.site-name{font-size:19px}.social-links{gap:7px}.social-links a+a{padding-left:7px}.site-header nav{height:auto;grid-template-columns:repeat(3,1fr);padding-bottom:10px;gap:0}.site-header nav a{min-height:39px;font-size:14px}.page-shell{padding:20px 16px 38px;margin-top:6px;min-height:60vh}.mosaic-row,.mosaic-column{gap:3px}.mosaic-row{margin-bottom:3px}.page-shell h1:not(.sr-only){font-size:25px;margin-bottom:30px}.series-section h2{font-size:21px}.series-section{margin-bottom:48px}.work-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.statement p{line-height:1.8}.gallery-header{height:72px}.gallery-header h2{font-size:21px}.gallery-stage{height:calc(100dvh - 190px);grid-template-columns:28px minmax(0,1fr) 28px;gap:4px}.gallery-stage>button{width:28px}.gallery-bottom{height:114px;flex-direction:column;justify-content:center;gap:8px}#gallery-thumbs{gap:6px;max-width:100%}#gallery-thumbs button{width:44px;height:44px;flex-basis:44px}.gallery-stage figcaption{font-size:13px;text-align:center}.close-gallery{gap:14px}.contact-copy{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.mosaic-photo img{transition:none}}

@media(max-width:400px){.header-inner{padding:0 16px}.site-name{font-size:17px}.social-links{gap:4px}.social-links a+a{padding-left:4px}}
