:root{--paper:#eeeae1;--paper-2:#e4dfd4;--ink:#242420;--muted:#7c786f;--wood:#9a6845;--line:rgba(36,36,32,.22);--serif:"Times New Roman","YuMincho","Yu Mincho",serif;--sans:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,a{cursor:pointer}::selection{background:var(--ink);color:var(--paper)}.loader{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;justify-content:center;padding:4vw;background:#252520;color:var(--paper);transition:transform 1s cubic-bezier(.76,0,.24,1);transform-origin:top}.loader.is-hidden{transform:translateY(-105%);pointer-events:none}.loader__top{display:flex;justify-content:space-between;align-items:flex-end;font-size:clamp(1rem,2vw,2rem);letter-spacing:.08em}.loader__value{font-family:var(--serif);font-size:clamp(3rem,9vw,8rem);font-style:italic;line-height:.8}.loader__line{height:1px;margin-top:2.5rem;background:#fff3}.loader__line i{display:block;width:0;height:100%;background:var(--paper)}.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:1.4rem 2rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;mix-blend-mode:multiply}.wordmark{font-weight:700}.site-header nav{display:flex;gap:2rem}.site-header nav a{position:relative}.site-header nav a:after{position:absolute;bottom:-.35rem;left:0;width:0;height:1px;background:currentColor;content:"";transition:width .35s}.site-header nav a:hover:after{width:100%}.header-index{justify-self:end;text-align:right;line-height:1.45}.scene{position:fixed;z-index:1;inset:0;pointer-events:none;transition:opacity .65s ease}.scene canvas{width:100%;height:100%}.scene:after{position:absolute;z-index:-1;top:17%;right:7%;width:50vw;height:64vh;border-radius:50%;background:radial-gradient(ellipse,#ffffffe6,#fff0 68%);content:""}.scene__caption{position:absolute;right:2rem;bottom:1.5rem;left:2rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;font-size:.62rem;letter-spacing:.16em}.scene__caption i{height:1px;background:#2424204d}main,footer{position:relative}.chapter{position:relative;z-index:2}.light-section,footer{position:relative;z-index:4;background:var(--paper)}.hero{min-height:100svh;padding:6rem 4vw 4rem;display:flex;align-items:flex-start}.hero__copy{width:min(51vw,800px)}.eyebrow{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}.hero h1{margin:1rem 0 .8rem;font-family:var(--serif);font-size:clamp(2.2rem,5.6vw,5.5rem);font-weight:400;line-height:.72;letter-spacing:-.075em}.hero h1 span{display:block}.hero h1 span:last-child{font-style:italic;margin-left:.25em}.hero__jp{margin:2.2rem 0;font-family:var(--serif);font-size:clamp(1rem,1.5vw,1.4rem);letter-spacing:.12em}.hero__actions{display:flex;gap:2.5rem}.hero__actions a,.closing__copy>a{padding-bottom:.55rem;border-bottom:1px solid var(--ink);font-size:.72rem;letter-spacing:.13em}.hero__actions a span,.closing__copy>a span{margin-left:2rem}.hero__number{position:absolute;right:2.2rem;top:47%;font-family:var(--serif);font-size:10rem;font-style:italic;opacity:.07}.approach{min-height:115vh;padding:18vh 4vw}.approach__heading{margin-left:58vw}.approach h2{margin:1rem 0 0;font-size:clamp(3.5rem,8vw,8rem);font-weight:400;letter-spacing:-.07em}.approach__en{margin:.4rem 0 1.6rem;font-family:var(--serif);font-size:clamp(2.2rem,5vw,5rem);font-style:italic;line-height:.82;letter-spacing:-.04em}.approach__jp{font-family:var(--serif);letter-spacing:.1em}.vertical-note{position:absolute;left:2rem;top:35%;font-size:.6rem;letter-spacing:.15em;writing-mode:vertical-rl}.assembly{height:390vh}.assembly__intro{position:absolute;top:8vh;left:4vw;font-size:.65rem;letter-spacing:.16em}.assembly__intro p{margin-top:1rem;font-family:var(--serif);font-size:1rem;line-height:1.8;letter-spacing:.08em}.principle{position:absolute;width:31rem;max-width:42vw;display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding-top:1rem;border-top:1px solid var(--line);opacity:.08}.principle--one{top:82vh;left:5vw}.principle--two{top:186vh;right:5vw}.principle--three{top:292vh;left:6vw}.principle__number{font-family:var(--serif);font-style:italic}.principle p{margin:0;font-size:.7rem;letter-spacing:.18em}.principle h3{margin:.65rem 0 1rem;font-family:var(--serif);font-size:clamp(1.9rem,3vw,3rem);font-weight:400}.principle div>span{display:block;font-size:.82rem;line-height:1.9;color:var(--muted)}.interior{min-height:150vh;padding:38vh 4vw 0}.interior__copy{margin-left:57vw}.interior h2{margin:1rem 0 2rem;font-family:var(--serif);font-size:clamp(3.5rem,6.5vw,6.5rem);font-weight:400;line-height:.85;letter-spacing:-.04em}.interior__copy>p:last-child{font-family:var(--serif);line-height:2;letter-spacing:.08em}.interior__index{position:absolute;bottom:18vh;left:4vw;font-size:.65rem;letter-spacing:.15em}.section-label{display:grid;grid-template-columns:5rem 1fr auto;padding-bottom:1rem;border-bottom:1px solid var(--line);font-size:.65rem;letter-spacing:.18em}.section-label span:last-child{text-align:right}.about{min-height:115vh;padding:8rem 4vw}.about h2,.projects>h2{margin:10vh 0 8vh;font-family:var(--serif);font-size:clamp(4.2rem,10.2vw,10rem);font-weight:400;line-height:.73;letter-spacing:-.065em}.about h2 em,.projects>h2 em{font-weight:400}.about__body{width:min(34rem,45vw);margin-left:51vw;font-family:var(--serif);font-size:1rem;line-height:2;letter-spacing:.06em}.about__lead{font-size:1.35rem}.about__since{position:absolute;bottom:8rem;left:4vw;font-size:.65rem;line-height:1.7;letter-spacing:.15em}.projects{padding:8rem 4vw 13rem;background:#242420;color:var(--paper)}.projects .section-label{border-color:#eeeae138}.project-list{display:grid;grid-template-columns:repeat(12,1fr);gap:12rem 2vw}.project a{display:block}.project--wide{grid-column:2/12}.project--left{grid-column:1/7}.project--right{grid-column:7/13;margin-top:25vh}.project figure{height:min(64vw,820px);margin:0;overflow:hidden;background:linear-gradient(135deg,#85796a,#32332f)}.project--left figure,.project--right figure{height:min(57vw,720px)}.project img{transform:scale(1.08);filter:saturate(.72) contrast(.96);transition:filter .6s}.project:hover img{filter:saturate(.95) contrast(1)}.project__meta{display:grid;grid-template-columns:3rem 1fr auto auto;gap:1rem;align-items:baseline;padding-top:1.2rem;border-top:1px solid rgba(238,234,225,.28);margin-top:1.2rem}.project__meta span,.project__meta p,.project__meta time{font-size:.65rem;letter-spacing:.13em}.project__meta h3{margin:0;font-size:1.2rem;font-weight:400}.project__meta p{margin:0}.project img.is-fallback{display:none}.services{min-height:110vh;padding:8rem 4vw;overflow:hidden}.services__image{position:absolute;z-index:-1;inset:0;background-size:cover;background-position:center;opacity:0;filter:grayscale(1) contrast(.8);transition:opacity .6s}.services:has(.service-list a:hover) .services__image{opacity:.11}.services h2{margin:11vh 0 7vh;font-family:var(--serif);font-size:clamp(4rem,9vw,9rem);font-weight:400;line-height:.78;letter-spacing:-.06em}.service-list{border-top:1px solid var(--ink)}.service-list a{display:grid;grid-template-columns:5rem 1fr 1fr auto;align-items:center;min-height:8.5rem;border-bottom:1px solid var(--line);transition:padding .4s}.service-list a:hover{padding:0 1.5rem}.service-list span{font-family:var(--serif);font-style:italic}.service-list strong{font-size:clamp(1.4rem,2.8vw,2.8rem);font-weight:400;letter-spacing:-.03em}.service-list em{font-family:var(--serif);font-style:normal}.service-list i{font-size:1.3rem;font-style:normal}.profile{min-height:120vh;padding:8rem 4vw;display:grid;grid-template-columns:1fr 1fr;gap:5vw}.profile>.section-label{grid-column:1/-1;align-self:start}.profile__mark{align-self:center;font-family:var(--serif);font-size:clamp(12rem,31vw,31rem);font-style:italic;line-height:.7;color:var(--paper-2);letter-spacing:-.2em}.profile__mark span{position:relative;top:.1em;left:-.06em;color:#d6cfc1}.profile__content{align-self:center;max-width:35rem}.profile__content h2{margin:1rem 0 2rem;font-family:var(--serif);font-size:clamp(3.5rem,6vw,6rem);font-weight:400;line-height:.86}.profile__content h2 span{font-size:.26em;letter-spacing:.15em}.profile__content>p:nth-of-type(2){font-family:var(--serif);line-height:2;letter-spacing:.05em}.profile dl{margin-top:3rem;border-top:1px solid var(--line)}.profile dl div{display:grid;grid-template-columns:5rem 1fr;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.75rem}.profile dt{font-family:var(--serif);font-style:italic}.profile dd{margin:0}.profile__photo{width:88px;height:88px;border-radius:50%;border:1px solid var(--line);background:var(--paper-2);margin-bottom:2rem;overflow:hidden}.profile__photo img{width:100%;height:100%;object-fit:cover;display:block}.profile__quote{font-family:var(--serif);font-style:italic;font-size:1.2em;letter-spacing:.05em;color:var(--wood)}.closing{min-height:150vh;padding:38vh 4vw 15vh;display:flex;align-items:center}.closing__copy{position:relative;z-index:2}.closing h2{margin:1rem 0 2rem;font-family:var(--serif);font-size:clamp(4.2rem,10vw,10rem);font-weight:400;line-height:.76;letter-spacing:-.06em}.closing h2 em{font-weight:400}.closing__copy>p:nth-of-type(2){margin-bottom:2.5rem;font-family:var(--serif);line-height:1.8;letter-spacing:.08em}.closing__note{position:absolute;right:4vw;bottom:14vh;font-size:.6rem;line-height:1.7;letter-spacing:.15em;text-align:right}footer{padding:8rem 4vw 2rem;background:#242420;color:var(--paper);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;overflow:hidden}footer>*{min-width:0}.footer__brand{font-family:var(--serif);font-size:clamp(3rem,7vw,7rem);line-height:.76;letter-spacing:-.05em}footer nav,.footer__social{display:flex;flex-direction:column;gap:.8rem;font-size:.7rem;line-height:1.45;letter-spacing:.12em}.footer__place{font-size:.65rem;line-height:1.8;letter-spacing:.12em;overflow-wrap:anywhere}.footer__bottom{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:8rem;padding-top:1.2rem;border-top:1px solid rgba(238,234,225,.22);font-size:.62rem;letter-spacing:.1em}.no-script{position:fixed;z-index:2000;bottom:0;margin:0;width:100%;padding:1rem;background:#fff}.cursor{position:fixed;z-index:100;top:0;left:0;width:10px;height:10px;border-radius:50%;background:var(--ink);pointer-events:none;transform:translate(-50%,-50%);transition:width .35s,height .35s,background .35s,color .35s;display:grid;place-items:center;color:transparent;font-size:.55rem;line-height:1.25;letter-spacing:.08em;text-align:center}.cursor.is-project{width:7rem;height:7rem;background:var(--paper);color:var(--ink)}@media(max-width:800px){.site-header{padding:1.2rem;grid-template-columns:1fr auto}.site-header nav{display:none}.header-index{font-size:.55rem}.scene__caption{right:1.2rem;left:1.2rem}.hero{align-items:flex-start;padding:16vh 1.2rem 2rem}.hero__copy{width:100%}.hero h1{font-size:11vw;line-height:.78}.hero h1 span:last-child{margin-left:0;font-size:.72em;line-height:1.05}.hero__jp{display:inline-block;margin:1.5rem 0;padding:.2rem .45rem .25rem 0;background:linear-gradient(90deg,rgba(238,234,225,.88),rgba(238,234,225,.48),transparent)}.hero__actions{margin-top:2rem}.approach{padding:24vh 1.2rem}.approach__heading{margin-left:0;margin-top:45vh}.vertical-note{left:auto;right:1.2rem;top:14vh}.assembly__intro{left:1.2rem}.principle{max-width:none;width:calc(100% - 2.4rem);left:1.2rem!important;right:auto!important;padding:1rem;background:#eeeae1c2;backdrop-filter:blur(8px)}.interior{padding:72vh 1.2rem 0}.interior__copy{margin-left:0}.interior h2{font-size:12vw}.section-label{grid-template-columns:2.5rem 1fr auto}.about,.services{padding:6rem 1.2rem}.about h2,.projects>h2{margin:10vh 0;font-size:17vw}.about__body{width:100%;margin-left:0}.about__since{position:static;margin-top:4rem}.projects{padding:6rem 1.2rem 8rem}.project-list{display:block}.project{margin:0 0 8rem}.project--right{margin-top:0}.project figure,.project--left figure,.project--right figure{height:118vw}.project__meta{grid-template-columns:2rem 1fr auto}.project__meta p{grid-column:2/3}.project__meta time{grid-column:3/4;grid-row:1}.services h2{font-size:17vw}.service-list a{grid-template-columns:2rem 1fr auto;min-height:7rem}.service-list em{grid-column:2/3;font-size:.72rem;margin-top:.4rem}.service-list i{grid-column:3;grid-row:1/3}.profile{padding:6rem 1.2rem;display:block}.profile__mark{margin:22vh 0 12vh}.profile__content h2{font-size:15vw}.closing{padding:45vh 1.2rem 10vh;align-items:flex-end}.closing h2{font-size:17vw}.closing__note{display:none}footer{padding:6rem 1.2rem 2rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem 1rem}.footer__brand{grid-column:1/-1;margin-bottom:3rem}.footer__bottom{display:grid;gap:1rem;margin-top:4rem}.cursor{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.scene__caption{display:none}}
