:root{--paper:#fbfaf7;--ink:#29322e;--muted:#68716b;--line:#dcded6;--accent:#485b48}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Yu Gothic',Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #658167;outline-offset:6px}header{height:120px;max-width:1440px;padding:0 6%;margin:auto;display:flex;align-items:center;justify-content:space-between}.logo{font:34px Georgia,serif;letter-spacing:.02em}.logo span{display:block;font:8px Arial,sans-serif;letter-spacing:.24em;margin-top:6px}nav{display:flex;gap:38px;font-size:12px;letter-spacing:.06em}nav a:hover,.text-link:hover{color:#788a70}nav span{padding-left:10px}.hero{max-width:1440px;margin:0 auto;padding:20px 10% 90px 14%;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;position:relative}.eyebrow{font-size:10px;letter-spacing:.19em;margin:0 0 34px;color:var(--muted)}h1,h2{font-family:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;font-weight:400}h1{font-size:clamp(44px,4.7vw,72px);line-height:1.6;letter-spacing:.13em;margin:0 0 30px}.intro{font-size:13px;line-height:2.3;letter-spacing:.08em}.text-link{display:flex;width:180px;justify-content:space-between;align-items:center;padding:22px 0 14px;border-bottom:1px solid var(--ink);font-size:12px}.hero-note{font:italic 12px Georgia,serif;color:var(--muted);margin-top:65px}.hero-photo{margin:0}.hero-photo button{display:block;padding:0;border:0;background:none;width:100%}.hero-photo img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain}.hero-photo figcaption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.07em;margin-top:18px;gap:10px;color:var(--muted)}.hero-photo figcaption span:last-child{font-size:8px}.vertical-note{position:absolute;right:4%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.25em}.works,.about,.contact{max-width:1280px;margin:0 auto;padding:100px 6%}.works{border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-head .eyebrow{margin-bottom:20px}h2{font-size:32px;letter-spacing:.08em;line-height:1.7;margin:0}.section-head>p{font-size:12px;line-height:2.2;color:var(--muted)}.filter-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}#filters{display:flex;gap:10px}#filters button{background:none;border:1px solid transparent;border-radius:30px;padding:10px 20px;font-size:11px}#filters button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}#filters button:hover{border-color:var(--line)}#count{font-size:10px;color:var(--muted);letter-spacing:.12em}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 30px;align-items:start}.photo-card{margin:0}.photo-card button{border:0;padding:0;background:none;display:block;width:100%;position:relative}.photo-card img{width:100%;height:auto;display:block;transition:filter .3s}.photo-card button:hover img{filter:brightness(.93)}.photo-card button:after{content:'↗';position:absolute;bottom:12px;right:12px;background:var(--paper);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;opacity:0;transition:opacity .2s}.photo-card button:hover:after,.photo-card button:focus-visible:after{opacity:1}.photo-card figcaption{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-top:16px}.photo-card figcaption span{font-size:9px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:12%;align-items:center;border-top:1px solid var(--line)}.portrait{aspect-ratio:4/5;background:#eeeee7;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:32px;color:#75806f}.portrait-mark{font:72px Georgia,serif}.portrait>span:last-child{font-size:9px;letter-spacing:.16em}.portrait img{width:100%;height:100%;object-fit:contain}.about h3{font:25px Georgia,serif;margin-top:35px}.about h3 span{font:10px Arial,sans-serif;display:block;letter-spacing:.06em;margin-top:12px;color:var(--muted)}#bio{font-size:12px;line-height:2.4;white-space:pre-line;color:var(--muted)}dl{font-size:11px;margin:30px 0 0}dl>div{display:flex;padding:13px 0;border-bottom:1px solid var(--line)}dt{font-size:9px;width:95px;letter-spacing:.1em;color:var(--muted)}dd{margin:0}.contact{border-top:1px solid var(--line);padding-bottom:110px}.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.contact p:not(.eyebrow){font-size:12px;line-height:2;color:var(--muted)}.contact-links>div,.contact-links>a{display:flex;justify-content:space-between;padding:25px 0;border-bottom:1px solid var(--line);font:19px Georgia,serif}.contact-links span{font:10px Arial,sans-serif;color:var(--muted)}footer{border-top:1px solid var(--line);padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer small,footer>a:last-child{font-size:9px;color:var(--muted)}footer .logo{font-size:25px}.credits{font-size:8px}dialog{border:0;padding:24px 32px;background:#f8f7f2;color:var(--ink);width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}dialog::backdrop{background:#f8f7f2}dialog[open]{display:flex;flex-direction:column}.viewer-bar{display:flex;justify-content:space-between;align-items:center;font-size:11px}.viewer-bar button{border:0;background:none;padding:12px}.viewer-stage{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:1;min-height:0;margin-top:15px}.viewer-stage img{max-width:calc(100% - 140px);height:100%;object-fit:contain;touch-action:pan-y;min-width:0}.arrow{width:48px;height:48px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:none;font-size:22px}.viewer-caption{text-align:center;padding-top:15px;flex-shrink:0}.viewer-caption h2{font-size:18px}.viewer-caption p{font-size:10px;color:var(--muted);margin:8px}.skip{position:fixed;top:-100px;left:12px;z-index:5;background:white;padding:12px}.skip:focus{top:12px}@media(min-width:1100px){.photo-card:nth-child(3n+2){margin-top:60px}}@media(max-width:700px){header{height:90px;padding:0 6%}.logo{font-size:29px}nav{gap:20px;font-size:11px}.hero{padding:30px 8% 65px;display:flex;flex-direction:column;gap:40px;align-items:stretch}.hero-copy{padding-left:4%}.hero .eyebrow{margin-bottom:18px}h1{font-size:46px;line-height:1.5;margin-bottom:20px}.hero-note{display:none}.intro{font-size:12px}.text-link{padding-top:12px}.hero-photo{width:100%}.hero-photo img{max-height:none}.vertical-note{display:none}.works,.about,.contact{padding:65px 6%}.section-head{display:block;margin-bottom:25px}h2{font-size:27px}.section-head>p{margin-top:20px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.photo-card figcaption{display:block;font-size:10px;line-height:1.8}.photo-card figcaption span{display:block}#filters{gap:2px}#filters button{padding:10px 13px;font-size:10px}#count{font-size:8px}.about{grid-template-columns:1fr;gap:35px}.portrait{width:62%}.contact-inner{grid-template-columns:1fr;gap:24px}.eyebrow{margin-bottom:24px}footer{flex-wrap:wrap}footer small{font-size:8px}.credits{display:block;margin-top:7px}dialog{padding:12px}.viewer-stage{gap:6px}.arrow{width:36px;height:44px;border:0}.viewer-stage img{max-width:calc(100% - 84px)}.viewer-caption{padding-bottom:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

#hero-title{font-family:'Hiragino Maru Gothic ProN',Meiryo,'Yu Gothic',sans-serif;font-weight:400;letter-spacing:.09em}
