:root{--font-en:var(--font-areal);--font-en-ui:var(--font-areal), "Helvetica Neue", sans-serif;--font-ja:var(--font-noto-sans-jp);--font-prose:var(--font-en), var(--font-ja);--font-stack:var(--font-prose);--ink:#1a1a1a;--ink-weak:#6b6b6b;--paper:#fff;--line:#e3e0db;--accent:#2b4bd8;--white:#fff;--header-h:92px;--header-pad-y:20px;--text-body:clamp(18px, 2vw, 28px);--text-ticker:clamp(13px, 1.7vw, 22px);--text-title:var(--text-ticker);--dur:.5s;--ease:cubic-bezier(.32, .72, 0, 1);--col-gap:6px;--row-gap:8px;--margin-x:28px;--flow-gap:8vh;--panel-border:1px solid var(--line)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-stack);color:var(--ink);background:var(--paper);font-feature-settings:"palt";-webkit-font-smoothing:antialiased}body.home-body{color:var(--white);background:#111;overflow:hidden}a{color:inherit}.site-header{height:var(--header-h);z-index:100;padding:var(--header-pad-y) var(--margin-x) 0;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;inset:0 0 auto}.site-header>*{pointer-events:auto}.site-id{font-family:var(--font-ja);font-size:var(--text-title);letter-spacing:.06em;color:var(--white);mix-blend-mode:difference;font-weight:500;line-height:1.55;text-decoration:none}.site-id .line{display:block}.site-id .line-kana{align-items:center;gap:.15em;min-height:2em;display:flex}.site-id .kana-mini{width:8.3em;height:2em;display:block;position:relative}.site-id .kana-mini b{font-size:1em;font-weight:400;line-height:1;position:absolute}.layer-toggle-wrap{top:var(--header-pad-y);mix-blend-mode:difference;flex-direction:column;align-items:center;gap:14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.layer-toggle{gap:10px;display:flex}.layer-toggle button,.menu-toggle,.menu-btn{appearance:none;border:1.5px solid var(--white);font-family:var(--font-en-ui);font-size:var(--text-body);letter-spacing:.04em;cursor:pointer;color:var(--white);transition:color var(--dur) var(--ease), background var(--dur) var(--ease), transform .35s var(--ease);background:0 0;border-radius:999px;padding:.35em .9em;line-height:1;text-decoration:none}.layer-toggle button[aria-pressed=true]{background:var(--white);color:var(--ink)}.layer-toggle button[aria-pressed=false]:hover{transform:translateY(4px)}.menu-toggle:hover,.menu-btn:hover{background:var(--white);color:var(--ink);transform:translateY(4px)}.switch-label{font-family:var(--font-en-ui);letter-spacing:.18em;color:var(--white);font-size:12px;animation:1.8s ease-in-out infinite switch-bob}.menu-toggle{top:var(--header-pad-y);right:var(--margin-x);z-index:220;position:fixed}.site-menu{z-index:210;padding:calc(var(--header-pad-y) + 1.7 * var(--text-body) + 3px) var(--margin-x) 12vh;background:#111;justify-content:flex-end;align-items:flex-start;display:flex;position:fixed;inset:0}.site-menu-nav{text-align:right;flex-direction:column;align-items:flex-end;gap:12px;display:flex}.menu-btn--static{cursor:default;pointer-events:none}.menu-footer-btns{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.menu-gap{height:1em;display:block}.menu-architect{font-family:var(--font-prose);font-size:var(--text-body);color:var(--white);transition:transform .35s var(--ease);justify-content:flex-end;align-items:center;gap:8px;line-height:1.2;text-decoration:none;display:flex}.menu-architect:hover{transform:translateY(4px)}.menu-architect .name{transition:border-color .35s var(--ease);border-bottom:1px solid #0000}.menu-architect:hover .name{border-bottom-color:var(--white)}.menu-architect .no{border:1.5px solid var(--white);font-family:var(--font-en-ui);letter-spacing:.04em;transition:background .35s var(--ease), color .35s var(--ease);border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:14px;line-height:1;display:inline-flex}.menu-architect:hover .no{background:var(--white);color:var(--ink)}@keyframes switch-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.layer{scrollbar-width:none;position:fixed;inset:0;overflow-y:auto}.layer::-webkit-scrollbar{display:none}.layer--photo{z-index:10}body[data-active=photo] .layer--photo{z-index:20}body[data-active=text] .layer--photo{pointer-events:none}.layer--text{z-index:20}body[data-active=photo] .layer--text{z-index:10;pointer-events:none}.stage{width:100%;position:relative}.photo-grid{column-gap:var(--col-gap);row-gap:var(--row-gap);padding:calc(var(--header-h) + 12px) var(--margin-x) 80px;grid-template-columns:repeat(7,1fr);width:100%;display:grid}.ig-post{text-decoration:none;display:block}.ig-post .ph-img,.ig-post .ph{aspect-ratio:1;object-fit:cover;background:linear-gradient(135deg, var(--ph-a,#2a2a2a) 0%, var(--ph-b,#1a1a1a) 100%);filter:brightness(.62);width:100%;transition:filter var(--dur) var(--ease);display:block}.ig-post .ph{align-items:flex-end;padding:12px;display:flex}.ig-post .ph:after{content:"IG " attr(data-n);letter-spacing:.15em;color:#ffffffd9;font-size:10px}body[data-active=photo] .ig-post:hover .ph-img,body[data-active=photo] .ig-post:focus-visible .ph-img,body[data-active=photo] .ig-post:hover .ph,body[data-active=photo] .ig-post:focus-visible .ph{filter:brightness()}.ig-post.is-tall .ph-img,.ig-post.is-tall .ph{aspect-ratio:4/5}.ig-post .meta{font-family:var(--font-en-ui);letter-spacing:.05em;color:#ffffff8c;justify-content:flex-start;align-items:center;gap:8px;margin-top:4px;font-size:11px;display:flex}.ig-post .meta .tag{letter-spacing:.04em;border:1px solid;border-radius:999px;align-items:center;padding:0 7px;font-size:10px;line-height:1.5;display:inline-flex}.ig-post .meta .ig-link{text-underline-offset:2px;text-decoration:underline}.ig-post:hover .meta{color:var(--white)}.ig-post:hover .meta .ig-link{text-decoration:none}.ig-post:nth-child(8n+1){grid-column:1/span 3}.ig-post:nth-child(8n+2){grid-column:4/span 4;margin-top:8px}.ig-post:nth-child(8n+3){grid-column:1/span 2}.ig-post:nth-child(8n+4){grid-column:3/span 2;margin-top:-6px}.ig-post:nth-child(8n+5){grid-column:5/span 3}.ig-post:nth-child(8n+6){grid-column:1/span 4;margin-top:10px}.ig-post:nth-child(8n+7){grid-column:5/span 3}.ig-post:nth-child(8n+8){grid-column:1/span 7;margin-top:6px}.info-ticker{padding:var(--flow-gap) 0 6vh;overflow:hidden}.ticker-track{width:max-content;font-size:var(--text-ticker);flex-wrap:nowrap;gap:4em;animation:none;display:flex}.ticker-track.is-ready{animation:linear infinite ticker-scroll}.ticker{width:max-content;color:var(--white);font-family:var(--font-en-ui);letter-spacing:.08em;flex-wrap:nowrap;flex-shrink:0;justify-content:flex-start;align-items:center;gap:0 4em;font-size:1em;font-weight:500;display:flex}.ticker span{white-space:nowrap}.dot{background:currentColor;border-radius:50%;flex-shrink:0;align-self:center;width:.38em;height:.38em}.diamond{align-self:center;font-size:.7em;line-height:1}@keyframes ticker-scroll{0%{transform:translate(0,0)}to{transform:translate3d(calc(-1 * var(--ticker-w)), 0, 0)}}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}.info-chars{min-height:70vh;color:var(--white);font-family:var(--font-ja);position:relative}.info-chars b{font-size:clamp(56px,11vw,140px);font-weight:400;line-height:1;position:absolute}.info-paper{padding:0 var(--margin-x) 10vh;color:var(--white);position:relative;overflow:hidden}.info-paper--page{padding-top:calc(var(--header-h) + 8vh);padding-bottom:12vh}.text-grid{column-gap:var(--col-gap);grid-template-columns:repeat(7,1fr);row-gap:1.2em;width:100%;display:grid}.text-grid--detail{padding-top:calc(6vh + 1.2 * var(--text-body));row-gap:1.4em}.text-grid-span-4{grid-column:1/span 4}.text-grid-row{column-gap:var(--col-gap);grid-column:1/span 4;grid-template-columns:1fr 3fr;align-items:start;display:grid}.text-grid-row--projects{margin-top:6vh}.text-grid--detail>.text-grid-row--lead{margin-bottom:6vh}.text-grid-body{flex-direction:column;grid-column:1/span 4;gap:1.4em;display:flex}.text-grid-body .text-grid-row{grid-column:auto;width:100%}.portrait-stack{flex-direction:column;grid-area:2/6/auto/span 2;align-self:start;gap:10px;display:flex}.portrait-stack-label{display:none}.portrait-stack-list{flex-direction:column;gap:10px;display:flex}.portrait-thumb{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.portrait-thumb img{aspect-ratio:1;object-fit:cover;filter:brightness(.92);width:100%;height:auto;transition:filter var(--dur) var(--ease);display:block}.portrait-thumb:hover img,.portrait-thumb:focus-visible img{filter:brightness()}.portrait-lightbox{z-index:300;cursor:zoom-out;background:#000000e0;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.portrait-lightbox img{object-fit:contain;cursor:default;width:auto;max-width:min(92vw,1100px);height:auto;max-height:88vh}.portrait-lightbox-close{color:var(--white);font-family:var(--font-en-ui);cursor:pointer;background:0 0;border:0;font-size:28px;line-height:1;position:absolute;top:16px;right:20px}.text-grid-label{border:1.5px solid var(--white);font-family:var(--font-en-ui);letter-spacing:.04em;white-space:nowrap;text-transform:uppercase;border-radius:999px;justify-content:center;justify-self:start;align-items:center;margin-top:.42em;padding:4px 10px;font-size:14px;line-height:1;display:inline-flex}.text-grid-value{font-family:var(--font-prose);font-size:var(--text-body);letter-spacing:.04em;line-height:1.7}.text-grid-value a{color:inherit;text-underline-offset:2px;text-decoration:underline}.text-grid-value a:hover{text-decoration:none}.text-grid-value .body-content{font-size:inherit}.text-grid-list{margin:0;padding-left:1.15em;list-style:outside}.text-grid-list li{margin-top:.35em;display:list-item}.text-grid-list li:first-child{margin-top:0}.text-grid-list a{text-underline-offset:2px;text-decoration:underline}.text-grid-list a:hover{text-decoration:none}.architects{z-index:1;width:100%;font-family:var(--font-prose);flex-direction:column;gap:22px;display:flex;position:relative}.architects-row{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.architects a{white-space:nowrap;min-width:0;transition:transform .35s var(--ease);align-items:center;gap:8px;text-decoration:none;display:flex}.architects a:hover{transform:translateY(4px)}.architects .no,.projects-map-list .no{border:1.5px solid var(--white);letter-spacing:.04em;transition:background .35s var(--ease), color .35s var(--ease);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:4px 10px;font-size:14px;line-height:1;display:inline-flex}.architects a:hover .no,.projects-map-list a:hover .no,.projects-map-list a.is-active .no{background:var(--white);color:var(--ink)}.architects .name{font-family:var(--font-prose);font-size:var(--text-body);transition:border-color .35s var(--ease);border-bottom:1px solid #0000;font-weight:400;line-height:1.2}.architects a:hover .name{border-bottom-color:var(--white)}.projects-map-block{column-gap:var(--col-gap);z-index:1;grid-template-columns:repeat(7,1fr);align-items:start;display:grid;position:relative}.projects-map{width:calc(100% - var(--text-body));grid-column:1/span 5;justify-self:start;height:auto;position:relative}.projects-map-canvas{background:#1a1a1a;width:100%;height:min(140vh,1280px);min-height:560px}.projects-map-list{min-width:0;font-family:var(--font-prose);font-size:var(--text-body);letter-spacing:.04em;grid-column:6/span 2;line-height:1.7}.projects-map-list ul{margin:0;padding:0;list-style:none}.projects-map-list li+li{margin-top:.55em}.projects-map-list a{min-width:0;color:var(--white);align-items:center;gap:8px;text-decoration:none;display:flex}.projects-map-list .name{transition:border-color .35s var(--ease);border-bottom:1px solid #0000}.projects-map-list a:hover .name,.projects-map-list a.is-active .name{border-bottom-color:var(--white)}.projects-map .maplibregl-map{width:100%;height:100%;font-family:var(--font-en-ui)}.projects-map--invert .maplibregl-canvas{filter:invert()grayscale()brightness(.92)}.projects-map .maplibregl-ctrl-group{box-shadow:none;background:#1a1a1ab3;border:1.5px solid #ffffff73;border-radius:2px}.projects-map .maplibregl-ctrl-group button{background:0 0;width:28px;height:28px}.projects-map .maplibregl-ctrl-group button+button{border-top-color:#ffffff40}.projects-map .maplibregl-ctrl-icon{filter:invert()}.projects-map .maplibregl-ctrl-attrib{display:none}.projects-map-credit{z-index:2;font-family:var(--font-prose);letter-spacing:.02em;color:#ffffff6b;font-size:10px;line-height:1.3;text-decoration:none;position:absolute;bottom:6px;right:8px}.projects-map-credit:hover{color:#ffffffb3}.projects-map-pin{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex}.projects-map-pin-dot{border:1.5px solid var(--white);width:14px;height:14px;transition:width .35s var(--ease), height .35s var(--ease), background .35s var(--ease);background:0 0;border-radius:50%;display:block;box-shadow:0 0 0 1px #0006}.projects-map-pin.is-active .projects-map-pin-dot{background:var(--white);width:20px;height:20px}.lead{z-index:1;font-family:var(--font-prose);font-size:var(--text-body);letter-spacing:.04em;line-height:1.7;position:relative}.lead p+p{margin-top:1.2em}.home-block{margin-top:12vh}.home-block-title{font-family:var(--font-prose);font-size:var(--text-body);letter-spacing:.04em;margin:0 0 6vh;font-weight:400;line-height:1.7}.site-footer{z-index:1;font-family:var(--font-en-ui);letter-spacing:.04em;color:var(--white);background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:16px;margin-top:12vh;padding:0;font-size:12px;display:flex;position:relative}.footer-sep{display:none}.footer-links{gap:8px;display:flex}.footer-links a{text-decoration:none}.layer-inner{min-height:100%;position:relative}.scroll-hint{top:50vh;right:var(--margin-x);z-index:2;color:var(--white);font-family:var(--font-en-ui);mix-blend-mode:difference;pointer-events:none;align-items:flex-start;gap:8px;line-height:1;animation:1.8s ease-in-out infinite scroll-hint-bob;display:flex;position:absolute}.scroll-hint-label{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.04em;font-size:12px}@keyframes scroll-hint-bob{0%,to{transform:translateY(-50%)}50%{transform:translateY(calc(4px - 50%))}}.scroll-hint svg{flex-shrink:0;display:block}body[data-active=text] .layer--photo .scroll-hint,body[data-active=photo] .layer--text .scroll-hint{visibility:hidden}.loader{z-index:230;transition:opacity .7s var(--ease);background:#111;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.loader-circle{background:var(--white);width:.62em;height:.62em;font-size:var(--text-ticker);border-radius:50%;animation:1.6s ease-in-out infinite loader-pulse}.loader.is-done{opacity:0;pointer-events:none}@keyframes loader-pulse{0%,to{opacity:1}50%{opacity:.35}}:is(html:has(.interior),body:has(.interior)){color:var(--white);background:#111}.interior{min-height:100%;padding:calc(var(--header-h) + 8vh) var(--margin-x) 12vh;color:var(--white);background:#111}.interior-main{max-width:34em;font-size:var(--text-body)}.interior-hero{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:6vh;display:flex}.interior-hero .no{border:1.5px solid var(--white);font-family:var(--font-en-ui);letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:14px;line-height:1;display:inline-flex}.interior-hero h1{font-family:var(--font-prose);font-size:var(--text-body);letter-spacing:.04em;font-weight:400;line-height:1.2}.interior-kicker{font-family:var(--font-prose);letter-spacing:.04em;margin-bottom:12px;font-size:12px}.interior-kicker a{color:inherit;text-underline-offset:2px;text-decoration:underline}.interior-kicker a:hover{text-decoration:none}.interior .lead{margin-top:0}.interior .lead+.lead,.interior .lead+.body-content,.interior .body-content,.info-paper .lead+.body-content{margin-top:1.2em}.info-paper .interior-main{max-width:34em;font-size:var(--text-body)}.interior-section{margin-top:8vh}.interior-section-label{font-family:var(--font-en-ui);letter-spacing:.04em;margin-bottom:16px;font-size:12px}.interior-list{flex-direction:column;gap:16px;list-style:none;display:flex}.interior-list a{align-items:center;text-decoration:none;display:inline-flex}.interior-list .name{font-family:var(--font-prose);font-size:var(--text-body);letter-spacing:.04em;transition:border-color .35s var(--ease);border-bottom:1px solid #0000;font-weight:400;line-height:1.2}.interior-list a:hover .name{border-bottom-color:var(--white)}.interior-list p{font-family:var(--font-prose);letter-spacing:.04em;color:#ffffff8c;margin-top:4px;font-size:12px}.body-content{font-family:var(--font-prose);font-size:var(--text-body);letter-spacing:.04em;line-height:1.7}.body-content a{color:inherit;text-underline-offset:2px;text-decoration:underline}.body-content a:hover{text-decoration:none}.body-content p+p,.body-content blockquote,.body-content hr,.body-content img{margin-top:1.2em}.body-content h2,.body-content h3,.body-content h4{letter-spacing:.04em;margin-top:2em;font-weight:400}.body-content blockquote{border-left:1.5px solid var(--white);padding-left:1em}.body-content hr{border:none;border-top:1px solid #ffffff40}.body-content ul,.body-content ol{margin-top:1.2em;padding-left:1.2em}.body-image{width:100%;height:auto;display:block}body.menu-open{overflow:hidden}@media (max-width:900px){:root{--col-gap:4px;--row-gap:6px;--margin-x:16px;--flow-gap:6vh;--text-title:12px}.layer-toggle-wrap{top:16px;left:auto;right:var(--margin-x);align-items:center;transform:none}.switch-label,.scroll-hint-label{font-size:10px}.menu-toggle{top:auto;right:var(--margin-x);bottom:24px}.site-menu{padding:16px var(--margin-x) 88px;align-items:flex-start}.menu-footer-btns{flex-direction:row;align-items:center;gap:8px}.scroll-hint{right:var(--margin-x)}.architects{gap:16px}.architects-row{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:16px}.architects a{white-space:normal}.projects-map-block{flex-direction:column;gap:24px;display:flex}.projects-map,.projects-map-list{grid-column:auto;width:100%}.interior{padding:calc(var(--header-h) + 6vh) var(--margin-x) 120px}.site-footer{flex-direction:column;align-items:flex-start;gap:8px}.footer-sep{display:block}.footer-links{flex-direction:column;gap:8px}.text-grid--detail .text-grid-row{column-gap:var(--col-gap);grid-column:1/-1;grid-template-columns:repeat(7,1fr)}.text-grid--detail .text-grid-label{letter-spacing:.04em;white-space:normal;grid-column:1/span 2;max-width:100%;padding:3px 8px;font-size:12px}.text-grid--detail .text-grid-value{overflow-wrap:anywhere;word-break:break-word;grid-column:3/span 5;min-width:0}.text-grid--detail>.text-grid-row--lead{order:1}.text-grid--detail>.portrait-stack{column-gap:var(--col-gap);order:2;grid-area:auto/1/auto/-1;grid-template-columns:repeat(7,1fr);align-items:start;display:grid}.text-grid--detail>.text-grid-body{order:3;grid-column:1/-1}.portrait-stack-label{border:1.5px solid var(--white);font-family:var(--font-en-ui);letter-spacing:.04em;white-space:nowrap;text-transform:uppercase;border-radius:999px;grid-column:1/span 2;justify-content:center;justify-self:start;align-items:center;padding:3px 8px;font-size:12px;line-height:1;display:inline-flex}.portrait-stack-list{grid-column:3/span 5}.info-paper .text-grid .lead.text-grid-span-4{grid-column:1/-1}}
