:root{--ink:#111;--paper:#fff;--muted:#6b6b68;--line:#d8d8d4;--field:#e9e9e5;--gutter:clamp(1.25rem, 4vw, 4rem);--header-height:5rem;font-synthesis:none;color:var(--ink);background:var(--paper);font-family:Inter,Helvetica Neue,Noto Sans JP,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:20rem;color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.5}a{color:inherit;text-decoration:none}a:focus-visible{outline:1px solid var(--ink);outline-offset:.35rem}h1,h2,p,figure{margin:0}h1,h2{letter-spacing:-.045em;font-weight:400;line-height:.95}.container{width:100%;max-width:112rem;padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:.65rem .85rem;font-size:.75rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;background:color-mix(in srgb, var(--paper) 94%, transparent);backdrop-filter:blur(.75rem);border-bottom:1px solid #0000;position:sticky;top:0}.site-header__inner{min-height:var(--header-height);justify-content:space-between;align-items:center;gap:2rem;display:flex}.wordmark{letter-spacing:.015em;font-size:.76rem;font-weight:500}.site-header ul{align-items:center;gap:clamp(1.15rem,2.7vw,2.5rem);margin:0;padding:0;list-style:none;display:flex}.site-header nav a{color:var(--muted);padding-block:.5rem;font-size:.72rem;display:block;position:relative}.site-header nav a:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:1px;transition:transform .18s;position:absolute;bottom:.25rem;left:0;transform:scaleX(0)}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--ink)}.site-header nav a:hover:after,.site-header nav a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.eyebrow,.index{letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:500;line-height:1.2}.eyebrow{color:var(--muted);margin-bottom:1.25rem}.featured-gallery{gap:0;display:grid}.featured-gallery .work-figure,.featured-gallery .work-figure:nth-child(n){width:100%;margin:0}.featured-gallery .work-figure__image,.featured-gallery .work-figure__placeholder{height:calc(100svh - var(--header-height));aspect-ratio:auto;object-fit:cover}.section{border-top:1px solid var(--line);padding-block:clamp(3.75rem,7vw,7rem)}#works,#about,#contact{scroll-margin-top:var(--header-height)}.section-heading{grid-template-columns:minmax(6rem,1fr) 3fr;align-items:baseline;margin-bottom:clamp(2rem,4vw,3.5rem);display:grid}.section-heading h2{font-size:clamp(1.9rem,3.4vw,3.75rem)}.index{color:var(--muted)}.category-list{border-top:1px solid var(--ink)}.category-link{border-bottom:1px solid var(--line);letter-spacing:-.04em;justify-content:space-between;align-items:baseline;gap:2rem;padding-block:clamp(.9rem,1.4vw,1.35rem);font-size:clamp(1.05rem,1.4vw,1.55rem);font-weight:300;line-height:1;transition:padding-inline .18s;display:flex}.category-link:hover{padding-inline:.45rem}.category-link__meta{letter-spacing:.1em;font-size:.63rem;font-weight:500}.home-about,.home-contact{grid-template-columns:1fr 3fr;gap:2rem;display:grid}.home-about .section-heading,.home-contact .section-heading{margin:0;display:block}.home-about .section-heading .index,.home-contact .section-heading .index{margin-bottom:1rem}.home-about .section-heading h2,.home-contact .section-heading h2{font-size:clamp(1.5rem,2.25vw,2.5rem)}.home-about__body,.home-contact__body{align-self:end;max-width:60rem}.home-about__body p{letter-spacing:-.035em;max-width:25ch;font-size:clamp(1.2rem,2.2vw,2.35rem);font-weight:300;line-height:1.15}.profile-trigger{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin-top:1.5rem;padding:0 0 .2rem;font-size:.72rem;line-height:1.2}.profile-trigger:focus-visible,.profile-dialog__close:focus-visible{outline:1px solid var(--ink);outline-offset:.35rem}.profile-dialog{background:var(--paper);width:min(100% - 2rem,46rem);max-height:calc(100svh - 2rem);color:var(--ink);border:0;margin:auto;padding:0;box-shadow:0 1.5rem 5rem #0003}.profile-dialog::backdrop{backdrop-filter:blur(.2rem);background:#1111118c}.profile-dialog__panel{max-height:calc(100svh - 2rem);padding:clamp(1.5rem,4vw,3rem);position:relative;overflow-y:auto}.profile-dialog__close{color:var(--muted);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0;font-size:.66rem;position:absolute;top:1.25rem;right:1.25rem}.profile-dialog__content{grid-template-columns:5rem 1fr;align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}.profile-dialog__image{aspect-ratio:1;object-fit:cover;width:5rem;height:auto;display:block}.profile-dialog__label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:2rem;font-size:.66rem;font-weight:500;line-height:1.2}.profile-dialog__copy>p:not(.profile-dialog__label){letter-spacing:0;font-size:.82rem;line-height:1.9}.profile-dialog__copy>p+p{margin-top:1.5rem}.profile-dialog__awards{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}.profile-dialog__awards h3{letter-spacing:.08em;margin:0 0 1rem;font-size:.7rem;font-weight:500}.profile-dialog__awards p{font-size:.8rem;line-height:1.8}.text-link{border-bottom:1px solid;padding-bottom:.2rem;display:inline-block}.inline-link{border-bottom:1px solid;padding-bottom:.05em}.contact-email{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(1.15rem,2.35vw,2.6rem);font-weight:300;line-height:1.1}.page{padding-top:clamp(5rem,10vw,10rem);padding-bottom:clamp(8rem,15vw,16rem)}.work-page{padding-top:clamp(2rem,4vw,4rem)}.page-header{min-height:min(34rem,60svh)}.page-header--compact{min-height:min(26rem,50svh)}.page-header h1{font-size:clamp(4rem,13vw,14rem)}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,7vw,8rem) clamp(1.5rem,3vw,3rem);display:grid}.work-card{display:block}.work-card__field{aspect-ratio:4/3;background:var(--field);position:relative;overflow:hidden}.work-card__field:after{content:"";background:linear-gradient(135deg,#0000 20%,#11111114 100%);transition:transform .25s;position:absolute;inset:0}.work-card__field--2:after{background:linear-gradient(35deg,#1111111f,#0000 62%)}.work-card__field--3:after{background:linear-gradient(165deg,#0000 30%,#1111111a)}.work-card__field--4:after{background:radial-gradient(circle at 72% 25%,#1111111a,#0000 45%)}.work-card:hover .work-card__field:after{transform:scale(1.025)}.work-card__field span{z-index:1;letter-spacing:.1em;font-size:.62rem;position:absolute;bottom:.85rem;right:1rem}.work-card__copy{grid-template-columns:1fr 1fr;gap:1.5rem;padding-top:1.25rem;display:grid}.work-card__copy h2{font-size:clamp(1.5rem,2.6vw,3.25rem)}.work-card__copy p{max-width:27rem;color:var(--muted);font-size:.78rem}.work-breadcrumb{margin-bottom:clamp(2rem,4vw,4rem)}.work-breadcrumb ol{letter-spacing:.08em;align-items:baseline;gap:.45rem;margin:0;padding:0;font-size:.68rem;font-weight:500;line-height:1.2;list-style:none;display:flex}.work-breadcrumb a{border-bottom:1px solid;padding-bottom:.12rem}.work-breadcrumb h1{font:inherit;letter-spacing:inherit;line-height:inherit}.work-gallery{gap:clamp(6rem,13vw,14rem);display:grid}.work-figure{width:100%}.work-figure--portrait{width:min(72%,58rem);margin-inline:auto}.work-figure__image,.work-figure__placeholder{background:var(--field);width:100%;display:block}.work-figure__image{object-fit:cover;height:auto}.work-gallery .work-figure--managed .work-figure__image{aspect-ratio:auto;object-fit:contain;height:auto}.work-figure--landscape .work-figure__image,.work-figure--landscape .work-figure__placeholder{aspect-ratio:3/2}.work-figure--portrait .work-figure__image,.work-figure--portrait .work-figure__placeholder{aspect-ratio:4/5}.work-figure--square .work-figure__image,.work-figure--square .work-figure__placeholder{aspect-ratio:1}.work-figure__placeholder{background:linear-gradient(142deg, transparent 12%, #1111 100%), var(--field);color:#585854;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem;font-size:.62rem;display:flex;position:relative}.work-figure__placeholder-index{color:var(--ink)}.work-figure figcaption{letter-spacing:.04em;padding-top:.75rem;font-size:.66rem}.featured-gallery .work-figure figcaption{display:none}.profile{border-top:1px solid var(--ink);grid-template-columns:1fr 3fr;gap:2rem;padding-top:2rem;display:grid}.profile__index{letter-spacing:.12em;font-size:.66rem}.profile h2{margin-bottom:1.5rem;font-size:clamp(2rem,5.5vw,6rem)}.profile p:not(.profile__index){color:var(--muted);font-size:.85rem}.contact-page{min-height:calc(100svh - var(--header-height))}.contact-list{border-top:1px solid var(--ink)}.contact-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 3fr;gap:2rem;padding-block:clamp(1.5rem,3vw,2.5rem);display:grid}.contact-row p{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem}.contact-row a{letter-spacing:-.04em;overflow-wrap:anywhere;width:fit-content;font-size:clamp(1.2rem,3vw,3.5rem);font-weight:300}.contact-row a:hover{text-underline-offset:.2em;text-decoration:underline 1px}.not-found{min-height:calc(100svh - var(--header-height));flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.not-found h1{margin-bottom:3rem;font-size:clamp(3.5rem,10vw,10rem)}@media (prefers-reduced-motion:no-preference){.reveal{animation:.2s ease-out both reveal}@keyframes reveal{0%{opacity:0}to{opacity:1}}}@media (width<=48rem){:root{--header-height:4.5rem}.site-header__inner{gap:1rem}.wordmark{font-size:.68rem}.site-header nav a{font-size:.66rem}.section-heading,.home-about,.home-contact,.profile,.contact-row{grid-template-columns:1fr}.section-heading{gap:1.25rem}.home-about,.home-contact{gap:2.5rem}.home-about__body p{font-size:clamp(1.2rem,6vw,1.8rem)}.profile-dialog__content{grid-template-columns:1fr;gap:1.5rem}.profile-dialog__image{width:4.5rem}.works-grid{grid-template-columns:1fr}.work-card__copy{grid-template-columns:1fr;gap:.75rem}.work-figure--portrait{width:88%}.contact-row{gap:.65rem}}@media (width<=28rem){.site-header nav ul{gap:.85rem}.wordmark{max-width:5.5rem;line-height:1.15}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
