@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Shippori Mincho;font-weight:600;font-display:swap;src:url(/fonts/shippori-mincho-600-latin.woff2)format("woff2")}@font-face{font-family:MS Mincho Web;font-weight:400;font-display:swap;src:url(/fonts/ms-mincho-latin.woff2?v=2)format("woff2")}@font-face{font-family:Site Arrows;src:local(Arial);unicode-range:U+2190-21FF}@font-face{font-family:Site Quotes;src:local(Times New Roman),local(TimesNewRomanPSMT),local(Times),local(Georgia);unicode-range:U+27,U+2018-201D}:root{--site-font:"MS Mincho Web", "MS Mincho", serif;--site-weight:400;--site-size:16px}:root[data-font=shippori]{--site-font:"Shippori Mincho", serif;--site-weight:600}:root[data-font=arial]{--site-font:Arial, Helvetica, sans-serif;--site-size:15px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#eeeeeb;--white:#fff;--ink:#111;--edge:28px;--top-edge:calc(var(--edge) - (1lh - 1cap) / 2);--split:58%;--gap:40px}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--paper);color:var(--ink);font:var(--site-weight) var(--site-size)/1.3 "Site Arrows", "Site Quotes", var(--site-font)}::selection{color:#fff;background:#4a4a46}button,a{color:inherit;font:inherit;cursor:default;-webkit-tap-highlight-color:transparent}button{border:0}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.site-shell{grid-template-columns:var(--split) 1fr;background:var(--paper);height:100vh;display:grid}.archive,.viewer{scrollbar-width:none;min-width:0;height:100vh;overflow:hidden auto}.archive::-webkit-scrollbar{display:none}.archive{padding:var(--top-edge) var(--gap) 72px var(--edge)}.identity{white-space:nowrap;font-size:var(--site-size);align-items:baseline;margin-bottom:24px;display:flex}.identity strong{font-weight:700}.identity>a:focus-visible strong{text-underline-offset:2px;text-decoration:underline}.identity p{white-space:pre;margin:0;font-weight:700}.identity-mobile,.project-return-bottom{display:none}.filters{flex-wrap:wrap;justify-content:flex-start;gap:8px 48px;width:100%;margin:0 0 16px;padding:0;display:flex}.filters button{white-space:nowrap;background:0 0;min-width:0;padding:0;font-weight:700}.filters span{text-decoration:none}.filters button.active span,.filters button:focus-visible span{text-underline-offset:3px;text-decoration:underline}.work-list{flex-direction:column;display:flex}.work-row{text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) 8em minmax(0,1fr) 5.5em;column-gap:24px;width:100%;padding:8px 0;display:grid}a.work-row{color:inherit}.work-row>span{min-width:0;overflow:hidden}.work-row>span>span{text-overflow:ellipsis;white-space:nowrap;vertical-align:top;max-width:100%;display:inline-block;overflow:hidden}.work-row:focus-visible .title>span{text-underline-offset:2px;text-decoration:underline}.index-date>span{width:2.4em;display:inline-block}.contact{margin-top:72px;line-height:1.4}.viewer{padding:var(--top-edge) var(--edge) var(--top-edge) var(--gap);flex-direction:column;display:flex}.portfolio-shell{--gap:24px;--index-row-padding:4px;--index-bottom-edge:4px;grid-template-rows:auto minmax(0,1fr);height:100dvh;line-height:21px}.portfolio-shell .work-row{padding:var(--index-row-padding) 0;grid-template-columns:minmax(0,1.2fr) 8em minmax(0,1fr) 5.5em}.portfolio-shell>.filters{width:auto;padding:var(--top-edge) var(--gap) 16px var(--edge);column-gap:var(--filter-gap,48px);grid-area:1/1;margin:0}.portfolio-shell>.identity-desktop{min-height:0;padding:var(--top-edge) var(--edge) 16px var(--gap);grid-area:1/2;align-self:start;margin:0}.portfolio-shell>.archive{height:auto;min-height:0;margin-bottom:var(--index-bottom-edge);padding-top:0;padding-bottom:calc(var(--edge) - var(--index-bottom-edge));scroll-padding-bottom:calc(var(--edge) - var(--index-bottom-edge));scroll-snap-type:y mandatory;flex-direction:column;grid-area:2/1;display:flex}.portfolio-shell .work-row{scroll-snap-align:start}.portfolio-shell .contact{padding-top:calc(72px + var(--end-fill,0px));line-height:inherit;scroll-snap-align:end;margin-top:auto}.portfolio-shell>.viewer{height:auto;min-height:0;padding-top:var(--index-row-padding);padding-bottom:var(--edge);grid-area:2/2;overflow:hidden}.portfolio-shell>.viewer>.about{padding-top:calc(.5lh - .5cap)}.about,.viewer>.project{flex-direction:column;flex:1;min-height:0;display:flex}.about-copy,.bio-copy{max-width:560px;font-size:inherit;line-height:inherit}.about-copy p,.bio-copy p{margin:0 0 16px}.about-copy p:last-child{margin-bottom:0}.about-media{flex-direction:column;flex:1;min-height:0;display:flex}.carousel{background:0 0;flex:1;width:100%;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.carousel-caption{text-overflow:ellipsis;white-space:nowrap;margin:8px 0 0;overflow:hidden}.carousel img{object-fit:contain;object-position:left top;opacity:0;transition:opacity .65s}.carousel img.carousel-current{opacity:1}.carousel img.carousel-current.leaving{opacity:0}.carousel img.carousel-next.entering{opacity:1}.project header{margin-bottom:24px}.portfolio-shell>.viewer>.project header{margin-bottom:calc(2 * var(--index-row-padding) + (1lh - 1cap) / 2)}.portfolio-shell>.viewer>.project h1{margin-bottom:calc(2 * var(--index-row-padding))}.portfolio-shell>.viewer>.project header :is(h1,p){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project h1{max-width:820px;font:inherit;margin:0 0 4px}.project header p,.project-copy p{margin:0}.project-copy{max-width:630px;font:inherit;margin:0 0 24px}.project-copy p{margin:0 0 16px}.project-copy-heading{font:inherit;margin:0 0 8px;font-weight:700}.project-copy-break{border-top:1px solid;margin-top:32px;padding-top:12px}.project-copy-name{font:inherit;margin:24px 0 4px;font-weight:700}.project-copy-heading+.project-copy-name{margin-top:0}.project-links{flex-direction:column;gap:4px;margin:0 0 24px;display:flex}.project-read{text-align:left;background:0 0;padding:0}.gallery-item-read{cursor:zoom-in;background:0 0;padding:0}.image-reader{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#eeeeeb8c;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden}.image-reader::backdrop{background:0 0}.image-reader-pages{height:100%;padding:56px var(--edge);scrollbar-width:none;flex-direction:column;align-items:center;gap:24px;display:flex;overflow-y:auto}.image-reader-pages::-webkit-scrollbar{display:none}.image-reader-pages img{width:min(900px,100%);height:auto;display:block}.image-reader-close{top:var(--top-edge);right:var(--edge);z-index:1;cursor:pointer;background:0 0;padding:0 4px;font-size:28px;line-height:1;position:fixed}.project-media-tabs{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.project-media-tabs button{background:0 0;padding:0}.project-media-tabs button[aria-pressed=true]{text-underline-offset:3px;text-decoration:underline}.pdf-reader{flex-direction:column;flex:1;width:100%;min-height:180px;display:flex}.pdf-toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px 14px;padding-bottom:12px;display:flex}.pdf-pages{overscroll-behavior:contain;background:var(--paper);scrollbar-width:none;flex:1;min-height:0;padding:16px;overflow:auto}.pdf-pages::-webkit-scrollbar{display:none}.viewer::-webkit-scrollbar{display:none}.pdf-pages .react-pdf__Document{flex-direction:column;align-items:flex-start;gap:16px;width:max-content;min-width:100%;display:flex}.pdf-page{background:#fff;flex-shrink:0;box-shadow:0 1px 3px #00000012}.pdf-status{margin:0;padding:16px}.pdf-status a{text-decoration:underline}.project-media{flex:1;min-height:0;position:relative;overflow:hidden}.project-media img{object-fit:contain;object-position:left top}.project-gallery{flex-direction:column;gap:18px;padding-bottom:40px;display:flex}.gallery-group{flex-direction:column;gap:18px;display:flex}.gallery-group h2{font:inherit;margin:10px 0 0}.gallery-group:first-child h2{margin-top:0}.project-video{width:100%;margin:0 0 18px}.project-video video{width:100%;height:auto;display:block}.gallery-row>.project-video{width:auto;margin:0}.project-video figcaption{margin-top:5px}.bio-shell .identity{margin-bottom:4px}.bio-return{margin-top:0}.bio-portrait{margin:0 0 24px}.bio-portrait img{width:100%;height:auto;display:block}.bio-portrait figcaption{margin-top:8px}.gallery-row{align-items:flex-start;gap:18px;display:flex}.gallery-item{flex:var(--ratio) 1 0%;min-width:0;display:block}.gallery-item img{width:100%;height:auto;display:block}.gallery-item:has(.gallery-label){position:relative}.gallery-label{color:#000;overflow-wrap:anywhere;background:#fff;max-width:100%;padding:4px 6px;font:12px/1.3 Arial,sans-serif;position:absolute;top:0;left:0}.gallery-label small{font-size:inherit;-webkit-user-select:all;user-select:all}.gallery-row-narrow .gallery-item{flex:none;width:calc(50% - 9px)}.gallery-row.gallery-row-left{justify-content:flex-start}.gallery-row.gallery-row-right{justify-content:flex-end}.project-page{grid-template-columns:minmax(320px,34%) 1fr;height:100dvh;display:grid}.project-navigation{scrollbar-width:none;height:100dvh;padding:var(--top-edge) 20px 40px var(--edge);overflow-y:auto}.project-navigation::-webkit-scrollbar{display:none}.project-navigation .identity{margin-bottom:4px}.index-return{display:inline-block}.project-info{margin-top:48px}.project-info .project-copy{max-width:520px}.project-copy a{text-underline-offset:2px;text-decoration:underline}.project-page-text{grid-template-columns:1fr 1fr}.project-page-text .project-navigation{padding-right:var(--gap)}.project-page-text .project-info .project-copy{max-width:640px}.project-content{scrollbar-width:none;min-width:0;height:100dvh;padding:var(--top-edge) var(--edge) 26px 10px;overflow:auto}.project-content::-webkit-scrollbar{display:none}.project-page-reading .project-content{flex-direction:column;display:flex;overflow:hidden}.project-content .pdf-pages{padding:0}.project-text-below{margin:22px 0}.project-text-below .pdf-reader{min-height:0;display:block}.project-text-below .pdf-pages{overflow:visible}.project-text-below .pdf-toolbar{justify-content:flex-start}.project-related{height:calc(100dvh - 2 * var(--top-edge));flex-direction:column;margin-bottom:40px;display:flex}.project-related h2{font:inherit;margin:0 0 12px}.project-related .article-frame{flex:1;height:auto;min-height:0}.project-page-article .project-content{padding-bottom:var(--top-edge);overflow:hidden}.project-page-article .project-gallery{display:none}.article-frame{background:var(--white);border:0;width:100%;height:100%;display:block}@media (hover:hover){.identity>a:hover strong,.work-row:hover .title>span,.contact a:hover,.carousel-caption a:hover,.project-links a:hover,.project-read:hover,.pdf-toolbar a:hover,.project-related h2 a:hover{text-underline-offset:2px;text-decoration:underline}.filters button:hover span,.project-media-tabs button:hover,.index-return:hover{text-underline-offset:3px;text-decoration:underline}}@media (max-width:800px){:root{--edge:14px;--gap:16px}html,body{height:auto;overflow:auto}.site-shell{height:auto;display:block}.archive,.viewer{height:auto;overflow:visible}.archive{padding:var(--top-edge) var(--edge) 56px}.identity{font-size:clamp(12px, 3.7vw, var(--site-size));margin-bottom:0}.identity-mobile{margin-bottom:12px;display:block}.identity-desktop{display:none}.portfolio-shell{--index-row-padding:8px;height:auto;line-height:1.3}.portfolio-shell .work-row{grid-template-columns:minmax(0,1fr) auto}.portfolio-shell>.archive{scroll-snap-type:none;margin-bottom:0;padding-bottom:0;display:block}.portfolio-shell .contact{margin-top:28px;padding-top:0;line-height:1.4}.portfolio-shell>.identity-mobile{padding:var(--top-edge) var(--edge) 0}.portfolio-shell>.filters{padding:0 var(--edge);font-size:clamp(12px, 3.7vw, var(--site-size));margin-bottom:12px}.portfolio-shell>.viewer{min-height:0;padding:var(--edge) var(--edge) var(--index-bottom-edge);overflow:visible}.portfolio-shell>.viewer>.about{padding-top:0}.filters{gap:4px 22px;margin-bottom:12px}.filters button{padding:5px 0}.work-row{grid-template-columns:minmax(0,1fr) auto;padding:8px 0}.work-row>span{overflow:hidden}.work-row>span:nth-child(2),.work-row>span:nth-child(3){display:none}.bio-shell{padding:var(--top-edge) var(--edge) 56px;flex-direction:column;display:flex}.bio-shell .archive{display:contents}.bio-shell .viewer{order:1;min-height:0;padding:26px 0 0}.bio-shell .contact{order:2;margin-top:12px}.project-return-bottom{margin-top:30px;display:block}.contact{margin-top:54px}.viewer{min-height:100vh;padding:22px var(--edge) 70px;display:block}.about,.viewer>.project,.about-media{display:block}.carousel,.project-media{aspect-ratio:4/3}.gallery-row{flex-direction:column;max-width:none!important}.gallery-item,.gallery-row-narrow .gallery-item,.gallery-row>.project-video{flex:none;width:100%}.project-page-reading .project-content{display:block;overflow:visible}.project-page-reading .pdf-reader{flex:none;height:75svh;min-height:360px}.project-text-below{margin:18px 0}.project-page-article .project-content{overflow:visible}.project-page-article .project-gallery{display:flex}.article-frame{display:none}.project-related{height:auto;margin:18px 0 0}.project-page{height:auto;display:block}.project-navigation{height:auto;padding:var(--top-edge) var(--edge) 0;overflow:visible}.project-navigation .identity{margin-bottom:4px}.project-info{margin-top:26px}.project-content{height:auto;padding:0 var(--edge) 70px;overflow:visible}.project-info h1{overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){.carousel img{transition:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
