:root{--bg: #ffffff;--ink: #3a3a3a;--text: #6f6f6f;--muted: #9a9a9a;--nav-w: clamp(240px, 23vw, 360px);--pad: 1.5rem;--font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--ink);color:var(--bg)}.top-bar,.menu-btn{display:none}.sidebar{position:fixed;top:0;left:0;height:100dvh;width:var(--nav-w);padding:var(--pad);overflow-y:auto;z-index:10;display:flex;flex-direction:column;background:var(--bg)}.sidebar-name{font-size:15px;font-weight:300;color:var(--ink);letter-spacing:.01em}.sidebar-works-heading{margin-top:2.2rem;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.nav-series{margin-top:.7rem;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding-left:.9rem}.nav-series a{font-size:13px;color:var(--text);font-weight:300}.nav-en{color:var(--muted);font-size:11px}.nav-misc{margin-top:2.2rem;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.nav-misc a{font-size:13px;font-weight:300}.sidebar a:hover,.sidebar a.active{text-decoration:underline;text-underline-offset:3px}.main{margin-left:var(--nav-w);padding:var(--pad)}.page-head{margin-bottom:2rem}.page-head h1{font-size:1.6rem;font-weight:300;color:var(--ink);letter-spacing:-.01em}.page-sub{margin-top:.3rem;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.series-desc{max-width:560px;margin-bottom:2.5rem;color:var(--text);font-size:14px;font-weight:300}.series-desc-en{margin-top:.6rem;color:var(--muted);font-size:13px}.slideshow{position:relative;width:min(100%,calc((100dvh - 3rem) * var(--ar-num, 1.5)));aspect-ratio:var(--ar, 3 / 2);max-height:calc(100dvh - 3rem);margin:0 auto;overflow:hidden;transition:aspect-ratio .9s ease,width .9s ease}.slide{position:absolute;inset:0}.slide img{width:100%;height:100%;object-fit:contain}.series-pages{display:flex;flex-direction:column}.series-page{min-height:90dvh;display:flex;align-items:center;justify-content:center;padding:2.5rem 0;border-bottom:1px solid #eeeeee}.series-page:last-child{border-bottom:none}.series-page img{max-width:100%;max-height:70dvh;width:auto;height:auto;object-fit:contain}.series-photo{position:relative;display:inline-block;max-width:100%}.series-caption{margin:.5rem 0 0;font-size:11px;font-weight:300;letter-spacing:.04em;color:var(--muted);text-align:left}.empty{min-height:55vh;border:1px dashed #cccccc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:var(--muted);font-size:14px;text-align:center;padding:2rem}.empty .hint{font-size:12px;color:#aaa}.about-layout{display:flex;gap:3rem;align-items:flex-start}.about-body{flex:1 1 320px;max-width:560px}.contact-body{max-width:560px}.about-body p{margin-bottom:1rem;color:var(--text);font-weight:300}.about-en{color:var(--muted);font-size:13px}.about-photos{display:flex;flex-direction:column;gap:1rem;max-width:440px;flex:0 1 440px;margin-top:0}.about-photos img{display:block;width:100%;height:auto}.about-empty{margin-top:2.5rem;min-height:40vh}.contact-body{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem}.contact-mail{font-size:1.3rem;font-weight:300;color:var(--ink);text-decoration:underline;text-underline-offset:4px}.contact-social{font-size:14px;color:var(--text);font-weight:300}@media(max-width:760px){.top-bar{display:flex;position:fixed;top:0;left:0;right:0;height:56px;align-items:center;justify-content:space-between;padding:0 var(--pad);background:var(--bg);border-bottom:1px solid #eeeeee;z-index:400}.top-brand{font-size:15px;font-weight:300;color:var(--ink)}.menu-btn{display:flex;flex-direction:column;gap:5px;padding:8px;background:none;border:none;cursor:pointer}.menu-btn span{width:22px;height:1.5px;background:var(--ink);transition:transform .25s ease,opacity .25s ease}.sidebar{position:fixed;inset:0;width:100%;height:100dvh;border-right:none;background:var(--bg);transform:translate(-100%);transition:transform .35s ease;z-index:300}.sidebar.open{transform:translate(0)}.main{margin-left:0;padding:calc(56px + 1rem) var(--pad) 1rem}.slideshow{height:calc(100dvh - 9rem)}.about-layout{flex-direction:column}}
