.tp{--pad:40px;--sec:var(--s-pad-y);--cols:repeat(12, minmax(0, 1fr));--gut:24px;--ease:cubic-bezier(.16, 1, .3, 1);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:clip}.tp ::selection{background:#e8621a2e}.tp :where(a:not(.cta)){color:inherit}.tp :focus-visible{outline:1.5px solid var(--green);outline-offset:4px;border-radius:2px}.tp :where(h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd){margin:0}.tp :where(ul,ol){padding:0;list-style:none}.tp img{max-width:100%;display:block}.tp section[id]{scroll-margin-top:0}.tp-main{position:relative}.tp-in{max-width:1440px;padding:0 var(--pad);margin:0 auto}.tp-sec{padding:var(--sec) 0 0;position:relative}.tp-contact{padding-bottom:var(--sec)}.tp-ink{z-index:3;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.tp-ink-tail{fill:var(--ink)}.tp-ink-path{fill:none;stroke:var(--ink);stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.tp-ink-measure{fill:none;stroke:none}.tp-ink-reveal{stroke:#fff;stroke-width:10px}.tp-ink-dash{stroke-dasharray:5 7;stroke-linecap:butt}.tp-pen{opacity:0;transition:opacity .4s}.tp-pen .tip{fill:var(--terra)}.tp-pen .halo{fill:none;stroke:var(--terra);stroke-opacity:.35;stroke-width:.75px}.tp-label{font:400 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:12px;margin-bottom:clamp(36px,4.4vw,64px);display:flex}.tp-label .bar{background:currentColor;width:32px;height:.5px;display:block}.tp-h2{font-family:var(--serif);letter-spacing:.04em;font-feature-settings:"palt";word-break:auto-phrase;text-wrap:balance;font-size:clamp(1.75rem,3.1vw,2.875rem);font-weight:700;line-height:1.62}.tp-h2>span{display:block}.tp .rv{opacity:0;transition:opacity 1.1s var(--ease), transform 1.1s var(--ease);transform:translateY(18px)}.tp .rv.in{opacity:1;transform:none}.tp-hero{height:100svh;min-height:660px;position:relative}.tp-hero-label{top:116px;left:var(--pad);margin:0;position:absolute}.tp-title{font-family:var(--serif);flex-direction:row-reverse;gap:clamp(16px,3.5vw,56px);margin:0;font-size:clamp(1.75rem,4vw,3.5rem);font-weight:700;line-height:1;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.tp-col{flex-direction:column;align-items:center;gap:20px;display:flex}.tp-verb{font:500 11px/1 var(--mono);letter-spacing:.16em;color:var(--ink-soft);opacity:0;transition:opacity 1.2s 2.1s var(--ease)}.tp.go .tp-verb{opacity:1}.tp-tate{writing-mode:vertical-rl;letter-spacing:.08em;font-feature-settings:"vpal"}.tp-tate .ch{opacity:0;filter:blur(6px);transition:opacity 1s var(--ease), transform 1.1s var(--ease), filter 1s var(--ease);display:inline-block;transform:translateY(-.3em)}.tp.go .tp-tate .ch{opacity:1;filter:none;transform:none}.tp-hero-foot{left:var(--pad);opacity:0;transition:opacity 1.2s 2s var(--ease), transform 1.2s 2s var(--ease);flex-direction:column;align-items:flex-start;gap:28px;display:flex;position:absolute;bottom:9vh;transform:translateY(12px)}.tp.go .tp-hero-foot{opacity:1;transform:none}.tp-notes,.tp-closing,.tp-profile-text .bio,.tp-contact-text>p.rv:not(.tp-label){word-break:auto-phrase;text-wrap:pretty}.tp-origin{width:0;height:0;position:absolute;top:74%;left:50%}.tp-about-top{grid-template-columns:var(--cols);column-gap:var(--gut);align-items:end;display:grid}.tp-about-top .tp-h2{grid-column:1/7}.tp-pairs{row-gap:clamp(22px,2.6vw,40px);margin:clamp(104px,11vw,176px) 0;display:grid}.tp-pairs li{font-family:var(--serif);letter-spacing:.06em;grid-template-columns:minmax(0,1fr) clamp(96px,11vw,168px) minmax(0,1fr);align-items:center;font-size:clamp(1.25rem,2.5vw,2.25rem);font-weight:500;line-height:1.5;display:grid}.tp-pairs .l{text-align:right}.tp-pairs .r{text-align:left}.tp-pairs .gap{height:1.5em;display:block;position:relative}.tp-pairs .gap i{background:var(--terra);width:7px;height:7px;transition:transform .6s var(--ease);border-radius:50%;margin:-3.5px 0 0 -3.5px;position:absolute;top:50%;left:50%;transform:scale(0)}.tp-pairs .gap i.inked{transform:scale(1)}.tp-about-body{grid-template-columns:var(--cols);column-gap:var(--gut);row-gap:40px;display:grid}.tp-about-body p{grid-column:8/12;font-size:16px;line-height:2.1}.tp-about-body .cta{grid-column:8/12;justify-self:start}.tp-concept-grid{grid-template-columns:var(--cols);column-gap:var(--gut);align-items:start;display:grid}.tp-concept-text{grid-column:1/7}.tp-notes{color:var(--ink-soft);gap:6px;margin-top:44px;font-size:16px;line-height:2;display:grid}.tp-closing{margin:28px 0 44px;font-size:16px;line-height:2.1}.tp-closing span{display:block}.tp-venn{grid-column:7/13;margin:8px 0 0}.tp-venn-box{aspect-ratio:1;width:100%;max-width:640px;margin-left:auto;position:relative}.tp-venn-box svg{width:100%;height:100%;display:block;overflow:visible}.tp-venn .ghost{fill:none;stroke:var(--guide);stroke-width:1px}.tp-venn .center circle{fill:none;stroke:var(--terra);stroke-width:1.8px;opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .8s var(--ease), transform 1.1s var(--ease);transform:scale(.4)}.tp-venn .center.inked circle{opacity:1;transform:none}.tp-venn-t{font-family:var(--serif);letter-spacing:.1em;color:var(--ink-soft);transition:color .8s var(--ease);font-size:clamp(15px,1.35vw,20px);font-weight:700;position:absolute;transform:translate(-50%,-50%)}.tp-venn-t.inked{color:var(--ink)}.tp-venn-c{z-index:5;font:500 12px/1 var(--mono);letter-spacing:.16em;color:var(--terra);opacity:0;transition:opacity .8s .2s var(--ease);background:#fff;padding:3px 3px 3px 5px;position:absolute;transform:translate(-50%,-50%)}.tp-venn-c.inked{opacity:1}.tp-venn-cap{text-align:center;max-width:640px;font:11px/1 var(--mono);letter-spacing:.16em;color:var(--terra);opacity:0;transition:opacity .8s .4s var(--ease);margin:-84px 0 0 auto;position:relative}.tp-venn-cap.inked{opacity:1}.tp-fields-head{grid-template-columns:var(--cols);column-gap:var(--gut);align-items:end;margin-bottom:clamp(56px,6vw,88px);display:grid}.tp-fields-head .tp-h2{grid-column:1/6}.tp-field{border-top:.5px solid var(--guide);grid-template-columns:64px minmax(0,4fr) minmax(0,5fr) 96px;column-gap:32px;padding:44px 36px 48px;display:grid}.tp-field:last-child{border-bottom:.5px solid var(--guide)}.tp-field .n{font:12px/1 var(--mono);letter-spacing:.12em;color:var(--ink-soft);padding-top:.7em}.tp-field .jp{font-family:var(--serif);letter-spacing:.08em;color:var(--ink-soft);margin-bottom:10px;font-size:15px;font-weight:500;display:block}.tp-field h3{letter-spacing:.04em;word-break:auto-phrase;font-size:clamp(1.25rem,1.8vw,1.625rem);font-weight:700;line-height:1.5}.tp-field .d{color:var(--ink-soft);padding-top:.2em;font-size:15px;line-height:2}.tp-field .go{color:var(--ink);text-underline-offset:5px;margin-top:14px;text-decoration:underline;text-decoration-thickness:.5px;transition:color .3s;display:inline-block}.tp-field .go:hover{color:var(--green)}.tp-field .s{text-align:right;padding-top:.2em}.tp .tag{border:.5px solid var(--rule);font:500 11px/1 var(--sans);letter-spacing:.08em;color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:6px 10px 5px;display:inline-block}.tp-research-grid{grid-template-columns:var(--cols);column-gap:var(--gut);display:grid}.tp-research-h{writing-mode:vertical-rl;font-family:var(--serif);letter-spacing:.16em;font-feature-settings:"vpal";grid-column:1/3;justify-self:start;font-size:clamp(2rem,3.6vw,3.25rem);font-weight:700;line-height:1.3}.tp-research-grid>div{grid-column:3/13}.tp-rlist{margin-bottom:48px}.tp-rlist li:last-child .row{border-bottom:.5px solid var(--guide)}.tp-rlist .row{border-top:.5px solid var(--guide);color:inherit;grid-template-columns:52px 60px 128px minmax(0,1fr) 72px;align-items:baseline;column-gap:20px;padding:30px 0 32px;text-decoration:none;display:grid}.tp-rlist .row>*{transition:transform .6s var(--ease), color .3s}.tp-rlist .row .y,.tp-rlist .row .no{font:12px/1.8 var(--mono);letter-spacing:.08em;color:var(--ink-soft)}.tp-rlist .row .cat{color:var(--ink-soft);letter-spacing:.04em;font-size:13px}.tp-rlist .row .title{letter-spacing:.02em;font-size:17px;font-weight:500;line-height:1.7;display:block}.tp-rlist .row .desc{color:var(--ink-soft);margin-top:8px;font-size:14px;line-height:1.9;display:block}.tp-rlist .row .go{text-align:right;font:12px/1.8 var(--sans);color:var(--ink-soft)}a.row .go{font-family:var(--mono);color:var(--ink);font-size:15px}a.row:hover>:not(.go){transform:translate(10px)}a.row:hover .title{color:var(--green)}a.row:hover .go{color:var(--green);transform:translate(4px)}.tp-profile-grid{grid-template-columns:var(--cols);column-gap:var(--gut);align-items:end;display:grid}.tp-portrait{grid-column:2/6;margin:32px 0 0}.tp-portrait .ph{aspect-ratio:1;background:var(--tint);border-radius:50%;overflow:hidden}.tp-portrait img{object-fit:cover;width:100%;height:100%}.tp-profile-text{grid-column:7/12;padding-bottom:60px}.tp-profile-text h2{flex-direction:column;gap:14px;display:flex}.tp-profile-text .ja{font-family:var(--serif);letter-spacing:.14em;font-size:clamp(2rem,3.2vw,2.75rem);font-weight:700;line-height:1.2}.tp-profile-text .en{font:12px/1 var(--mono);letter-spacing:.16em;color:var(--ink-soft)}.tp-profile-text .role{color:var(--ink-soft);letter-spacing:.04em;margin-top:24px;font-size:13px}.tp-profile-text .bio{max-width:30em;margin:28px 0 40px;font-size:16px;line-height:2.1}.tp-works-head{grid-template-columns:var(--cols);column-gap:var(--gut);align-items:end;margin-bottom:clamp(56px,6vw,88px);display:grid}.tp-works-head .tp-h2{grid-column:1/6}.tp-wlist{margin-bottom:48px}.tp-wlist li{border-top:.5px solid var(--guide);grid-template-columns:72px 96px minmax(0,1fr);align-items:baseline;column-gap:24px;padding:32px 36px 34px;display:grid}.tp-wlist li:last-child{border-bottom:.5px solid var(--guide)}.tp-wlist li .y{font:12px/1 var(--mono);letter-spacing:.1em;color:var(--ink-soft)}.tp-wlist li .pl{color:var(--ink-soft);font-size:13px}.tp-wlist li .tt{font-size:17px;font-weight:500;line-height:1.7}.tp-contact-grid{grid-template-columns:var(--cols);column-gap:var(--gut);align-items:start;display:grid}.tp-contact-text{grid-column:1/6;position:sticky;top:120px}.tp-contact-text>p.rv:not(.tp-label){color:var(--ink-soft);margin-top:28px;font-size:16px;line-height:2.1}.tp-reach{gap:14px;margin-top:56px;display:grid}.tp-reach div{grid-template-columns:64px 1fr;align-items:baseline;display:grid}.tp-reach dt{font:11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.tp-reach dd{margin:0;font-size:15px}.tp-reach a{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:.5px;transition:color .3s}.tp-reach a:hover{color:var(--green)}.tp-form{grid-column:7/13;padding-top:8px}.tp-field-i{margin-top:36px;display:block}.tp-field-i:first-child{margin-top:0}.tp-field-i>span{color:var(--ink-soft);letter-spacing:.04em;font-size:13px;display:block}.tp-field-i :is(input,textarea){border:0;border-bottom:.5px solid var(--guide);width:100%;color:var(--ink);font:400 17px/1.7 var(--sans);background:0 0;border-radius:0;margin-top:6px;padding:12px 0;display:block}.tp-field-i :is(input,textarea):focus-visible{border-bottom-color:var(--green);box-shadow:0 1px 0 var(--green);outline:none}.tp-field-i textarea{resize:vertical;min-height:128px}.tp-submit{justify-content:space-between;align-items:center;gap:28px;margin-top:112px;display:flex}.tp-submit p{color:var(--ink-soft);letter-spacing:.04em;font-size:12px}.tp-submit p span{word-break:auto-phrase;display:inline-block}.tp-submit p.is-done{color:var(--ink);font-size:14px}.tp-submit button:disabled{opacity:.5;cursor:default}.tp-hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}@media (max-width:767px){.tp{--pad:20px;--gut:0px;--pair-l:6.3rem;--pair-gap:44px}.tp-hero{min-height:700px}.tp-hero-label{top:88px}.tp-title{gap:16px;font-size:2rem;top:42%}.tp-col{gap:14px}.tp-hero-foot{left:var(--pad);z-index:4;gap:22px;max-width:250px;bottom:7svh}.tp-origin{top:62%;left:calc(var(--pad) + var(--pair-l) + var(--pair-gap) / 2)}.tp-about-top .tp-h2,.tp-about-body p,.tp-about-body .cta,.tp-concept-text,.tp-venn,.tp-fields-head .tp-h2,.tp-works-head .tp-h2,.tp-contact-text,.tp-form,.tp-portrait,.tp-profile-text{grid-column:1/-1}.tp-pairs{row-gap:26px;margin:120px 0 112px}.tp-pairs li{grid-template-columns:var(--pair-l) var(--pair-gap) minmax(0, 1fr);letter-spacing:.04em;font-size:1.1875rem}.tp-about-body p{font-size:15px}.tp-venn{margin-top:112px}.tp-contact-text{position:static}.tp-venn-t{font-size:14px}.tp-venn-c{letter-spacing:.16em;padding:2px 2px 2px 4px;font-size:10.5px}.tp-venn .center.inked circle{transform:scale(1.3)}.tp-field{grid-template-columns:1fr auto;grid-template-areas:"n s""t t""d d";row-gap:14px;padding:32px 0 36px}.tp-field .n{grid-area:n;padding-top:.2em}.tp-field .s{grid-area:s;padding-top:0}.tp-field .t{grid-area:t}.tp-field .d{grid-area:d;font-size:14px}.tp-research-grid{grid-template-columns:52px minmax(0,1fr)}.tp-research-h{grid-column:1;font-size:1.75rem}.tp-research-grid>div{grid-column:2}.tp-rlist .row{grid-template-columns:auto auto 1fr auto;grid-template-areas:"y no cat go""tt tt tt tt";gap:10px 12px;padding:24px 0 26px}.tp-rlist .row .y{grid-area:y}.tp-rlist .row .no{grid-area:no}.tp-rlist .row .cat{grid-area:cat;font-size:12px}.tp-rlist .row .tt{grid-area:tt}.tp-rlist .row .go{grid-area:go}.tp-rlist .row .title{font-size:16px}.tp-rlist .row .desc{font-size:13px}.tp-portrait{width:68vw;margin:40px auto 0}.tp-venn-cap{margin-top:-24px}.tp-profile-text{padding:48px 0 0}.tp-wlist li{grid-template-columns:56px 1fr;grid-template-areas:"y pl""tt tt";row-gap:10px;padding:26px 0 28px}.tp-wlist .y{grid-area:y}.tp-wlist .pl{grid-area:pl}.tp-wlist .tt{grid-area:tt;font-size:16px}.tp-form{margin-top:64px}.tp-submit{flex-direction:column-reverse;align-items:flex-end;gap:18px;margin-top:104px}}@media (prefers-reduced-motion:reduce){.tp .rv,.tp-tate .ch,.tp-hero-foot,.tp-verb{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}}
