@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{color:#191919;background:#fff;flex-direction:column;min-height:100dvh;margin:0;font-family:Avenir Next,Avenir,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Helvetica Neue,sans-serif;font-size:14px;line-height:1.8;display:flex}a{color:inherit;text-underline-offset:5px}a:hover{opacity:.7}a:focus-visible{outline-offset:5px;outline:2px solid #191919}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0 0 16px}h1{letter-spacing:.08em;font-size:clamp(28px,5vw,48px);font-weight:500;line-height:1.3}h2{letter-spacing:.08em;font-size:clamp(18px,3vw,24px);font-weight:500}h3{font-size:16px;font-weight:500}.header,main,.footer{width:min(1200px,100% - 24px);margin-inline:auto}main{flex:1}::view-transition-group(page-content){animation:none}::view-transition-new(page-content){animation-delay:.3s;animation-fill-mode:both}.header{justify-content:space-between;align-items:center;gap:24px;padding-block:12px 0;display:flex}.brand{min-width:0;text-decoration:none;display:block}.brand img{object-fit:contain;object-position:left center;width:auto;height:20px}.header nav{letter-spacing:.1em;flex-shrink:0;gap:12px;font-size:12px;display:flex}.header nav a{text-decoration:none}.header nav a[aria-current]{text-decoration:underline}.skip-link{z-index:2;background:#fff;padding:8px 16px;position:absolute;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.eyebrow{color:#666;letter-spacing:.1em;font-size:11px}.philosophy{text-align:center;padding-block:56px 40px}.philosophy .philosophy-name{letter-spacing:.14em;margin-bottom:8px;font-size:clamp(16px,2vw,22px)}.philosophy .philosophy-role{letter-spacing:.06em;text-wrap:balance;margin-bottom:32px;font-size:clamp(12px,1.6vw,18px)}.philosophy strong{font-weight:600}.philosophy h1{letter-spacing:.12em;margin:0;font-weight:500;line-height:1.8}.philosophy h1 span{display:block}.philosophy .home-tagline{letter-spacing:.1em;text-wrap:balance;font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;font-weight:400;line-height:1.7}.copy-phrase{white-space:nowrap;display:inline-block}.philosophy .home-tagline .copy-phrase{display:inline-block}.philosophy-page h1{letter-spacing:.16em}.philosophy-copy{letter-spacing:.08em;word-spacing:.2em;text-wrap:balance;max-width:720px;margin:40px auto 0;font-size:clamp(14px,1.6vw,17px);line-height:2.4}.philosophy-copy p{margin-bottom:28px}.philosophy-copy p:last-child{margin-bottom:0}.hero{margin-top:48px;width:min(840px,100%);margin-inline:auto}.hero-slides{display:grid}.hero-slide{opacity:0;visibility:hidden;pointer-events:none;grid-area:1/1;min-width:0;text-decoration:none;transition:opacity .6s ease-in-out,visibility 0s .6s}.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .6s ease-in-out .6s,visibility}.hero-slide:hover{opacity:1}.hero-slide figure{margin:0}.hero-image{aspect-ratio:16/10}.hero-image img{object-fit:contain;width:100%;height:100%}.hero-slide figcaption{text-align:center;padding-top:20px;display:grid}.hero-controls{justify-content:center;align-items:center;gap:20px;display:flex}.hero-controls[hidden]{display:none}.hero-pagination{gap:8px;display:flex}.hero-pagination button{cursor:pointer;background:0 0;border:0;width:64px;height:32px;padding:0;position:relative}.hero-pagination button:before,.hero-pagination button:after{content:"";background:#ddd;height:2px;position:absolute;inset:15px 0 auto}.hero-pagination button:after{transform:scaleX(var(--progress,0));transform-origin:0;background:#191919}.hero-controls button:focus-visible{outline-offset:3px;outline:2px solid #191919}.photography-link{text-align:center;letter-spacing:.06em;margin:24px 0 48px;font-size:13px}.role-nav{letter-spacing:.08em;flex-wrap:wrap;gap:16px 28px;padding-block:28px;font-size:11px;display:flex}.works-filters{justify-content:flex-end;gap:12px;padding-block:12px}.works-filters button{appearance:none;color:#666;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;padding:0}.works-filters button:hover{color:#191919}.works-filters button[aria-pressed=true]{color:#191919;border-bottom-color:currentColor}.works-filters button:focus-visible{outline-offset:5px;outline:2px solid #191919}#works-results{margin-top:24px}#works-results .work[hidden]{display:none}.works-grid{--works-columns:3;--works-gap:24px;grid-template-columns:repeat(var(--works-columns), minmax(0, 1fr));align-items:start;gap:var(--works-gap);display:grid}.works-grid.is-masonry{display:block;position:relative}.works-grid.is-masonry>.work{position:absolute;top:0;left:0}.work>a{display:block}.work-image{background:#f3f3f3;width:100%;height:auto}.works-grid.is-revealing .work-image{opacity:0}.works-grid.is-revealing .work-image.is-visible{opacity:1;animation:.3s ease-out work-image-reveal}@keyframes work-image-reveal{0%{opacity:0}to{opacity:1}}.client{color:#666;font-size:12px}dl{margin:0 0 20px}dl>div{margin-bottom:12px}dt{font-weight:600}dd{margin:0}.gallery{gap:12px;display:grid}.gallery img{width:100%}.about-profile{align-items:start;gap:24px;margin-top:68px;display:grid}.about-portrait{margin:0}.about-portrait img{width:100%}.about-link{width:fit-content;text-decoration:none;display:block}.about-link-label{text-decoration:underline}.profile{min-width:0}.profile-contact{margin-block:24px}.profile-contact h2{letter-spacing:.06em;margin-bottom:8px;font-size:14px;font-weight:400}.profile-contact a{overflow-wrap:anywhere}.profile h3{margin-top:24px}.profile h3:first-child{margin-top:0}.footer{color:#666;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:24px 8px;font-size:11px;display:flex}@media (width>=769px){.about-profile{grid-template-columns:repeat(2,minmax(0,1fr))}.about-portrait{order:1}}@media (width<=768px){.hero-image{aspect-ratio:var(--hero-image-ratio)}.works-grid{--works-columns:2;--works-gap:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide{transition:none}.works-grid.is-revealing .work-image.is-visible{animation:none}}.back-link{margin-top:32px;font-size:12px}.back-link a{text-decoration:none}.project{max-width:900px;margin-inline:auto}.project h1{letter-spacing:.03em;overflow-wrap:anywhere;font-size:clamp(24px,4vw,40px)}.project-detail{overflow-wrap:anywhere}.project-detail .description{max-width:720px;margin-top:40px}.project .gallery{gap:24px}.project-heading{margin-block:40px 32px}.project-heading h1{max-width:800px;font-size:clamp(20px,3.5vw,32px);line-height:1.5}.source-link{margin-top:32px;font-size:12px}.source-link a{text-decoration:none}.source-link-label{text-decoration:underline}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.gallery figure{margin:0}.gallery figcaption{color:#666;margin-top:8px;font-size:12px}.work-body p{white-space:pre-line}.work-body>:last-child{margin-bottom:0}.work-body h2,.work-body h3{margin-top:32px}.work-body h2{font-size:20px}.work-body h3{font-size:16px}.work-body img{max-width:100%}.project-summary{font-size:16px}.project-facts{font-size:13px}.project-facts>div{display:flex}.project-facts dt{flex-shrink:0;font-weight:400}.profile h1{font-size:clamp(18px,3vw,24px);line-height:1.8}@media (width<=600px){.header{flex-wrap:wrap;gap:12px}.header nav{flex-wrap:wrap;font-size:11px}.philosophy{padding-block:36px 28px}.philosophy .home-tagline .copy-phrase{display:block}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
