:root{--bg:#0c0d0c;--bg-2:#131513;--ink:#efece4;--sub:#a8a49a;--mute:#6f6c64;--line:#efece421;--coral:#db644f;--yellow:#e9bd4a;--sans:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Noto Sans JP", "Meiryo", sans-serif;--serif:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;--mono:"SF Mono", "Menlo", "Consolas", monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--sans);letter-spacing:0;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;letter-spacing:0}ol,ul{list-style:none}.wrap{width:min(1180px,100% - 48px);margin:0 auto}h1,h2,h3,h4,blockquote,.big,.after{word-break:auto-phrase;text-wrap:balance}.site-nav{z-index:20;border-bottom:1px solid #ffffff2e;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding:0 clamp(20px,4vw,64px);display:grid;position:absolute;inset:0 0 auto}.brand{align-items:center;gap:11px;font-size:.82rem;font-weight:700;display:inline-flex}.brand-mark{background:var(--yellow);color:#20231f;place-items:center;width:34px;height:34px;font:800 .75rem/1 Arial,sans-serif;display:inline-grid}.nav-links{gap:clamp(16px,2.3vw,34px);font-size:.78rem;display:flex}.nav-links a{opacity:.75;transition:opacity .2s}.nav-links a:hover{opacity:1}.nav-contact{justify-self:end;font-size:.78rem}.hero{isolation:isolate;background:#101210;align-items:center;min-height:min(850px,88svh);display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:-2;background-image:linear-gradient(90deg,#0c0d0cfa 0%,#0c0d0ce6 36%,#0c0d0c3b 69%,#0c0d0c2e 100%),url(/images/profile.webp);background-position:50%,right 9% center;background-repeat:no-repeat;background-size:cover,min(57vw,760px);position:absolute;inset:0}.hero:after{content:"";z-index:-1;background:linear-gradient(to bottom, transparent, var(--bg));height:180px;position:absolute;inset:auto 0 0}.hero-inner{width:min(1180px,100% - 48px);margin:76px auto 0}.kicker{letter-spacing:.16em;color:var(--yellow);margin-bottom:18px;font:700 .72rem/1.4 Arial,sans-serif}.hero h1{max-width:720px;font-size:clamp(3.2rem,7vw,7.4rem);font-weight:800;line-height:.94}.hero h1>span{color:var(--coral);font-weight:400}.hero h1 small{margin-top:24px;font-size:clamp(.95rem,1.5vw,1.3rem);font-weight:500;display:block}.hero-copy{margin-top:30px;font-size:clamp(1rem,1.5vw,1.28rem)}.hero-sub{max-width:620px;color:var(--sub);margin-top:14px;font-size:.95rem;display:block}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.page-hero{padding:clamp(150px,18vw,220px) 0 0}.page-hero h1{font:600 clamp(2.6rem, 6vw, 5rem)/1.2 var(--serif);letter-spacing:.04em}.page-hero .lead{margin-bottom:30px}.button{cursor:pointer;border:1px solid #0000;border-radius:4px;align-items:center;gap:10px;min-height:48px;padding:0 22px;font-size:.88rem;font-weight:700;transition:transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--coral);color:#fff}.button-ghost{border-color:#ffffff73}main>section{padding:clamp(84px,11vw,150px) 0 0}.label{font:500 .7rem/1.6 var(--mono);letter-spacing:.14em;color:var(--mute);text-transform:uppercase}.label b{color:var(--coral);margin-right:12px;font-weight:500}h2{font:600 clamp(1.9rem, 3.6vw, 3.1rem)/1.35 var(--serif);letter-spacing:.02em;max-width:20em;margin-top:22px}.lead{color:var(--sub);max-width:40em;margin-top:22px;font-size:.98rem}.inline-link,.text-link{border-bottom:1px solid var(--coral);padding-bottom:2px}.text-link{margin-top:18px;font-size:.88rem;display:inline-block}.split{grid-template-columns:250px 1fr;align-items:start;gap:clamp(32px,6vw,88px);display:grid}.split>aside{position:sticky;top:40px}.sub-head{margin-top:clamp(56px,8vw,104px)}.sub-head h3{font:600 clamp(1.4rem, 2.4vw, 2rem)/1.5 var(--serif);letter-spacing:.02em;margin-top:12px}.sub-head p.lead{margin-top:12px}.stack{font:400 .72rem/1.9 var(--mono);color:var(--mute);margin-top:14px}.status{font:500 .7rem/1.6 var(--mono);letter-spacing:.1em;color:var(--yellow)}.status:before{content:"";background:var(--yellow);border-radius:50%;width:6px;height:6px;margin-right:9px;display:inline-block;transform:translateY(-1px)}main>section.statement{padding-top:clamp(60px,8vw,110px)}.big{font:500 clamp(1.7rem, 3.9vw, 3.3rem)/1.55 var(--serif);letter-spacing:.02em;max-width:21em}.big em,.after em,blockquote em{color:var(--coral);font-style:normal}.facts{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:clamp(48px,7vw,84px);display:grid}.facts div{padding:22px 24px 0 0}.facts dt{font:300 clamp(2.4rem, 4.6vw, 4rem)/1 var(--sans);letter-spacing:-.02em}.facts dt small{font:500 .8rem/1 var(--sans);color:var(--sub);letter-spacing:.05em;margin-left:6px}.facts dd{color:var(--sub);max-width:17em;margin-top:12px;font-size:.8rem;line-height:1.7}.rows{border-top:1px solid var(--line);margin-top:clamp(40px,6vw,72px)}.row{border-bottom:1px solid var(--line);grid-template-columns:56px minmax(0,5fr) minmax(0,6fr);align-items:start;gap:0 clamp(20px,4vw,56px);padding:34px 0;display:grid}.row .no{font:500 .75rem/2.4 var(--mono);color:var(--coral)}.row h3{font:600 clamp(1.15rem, 1.9vw, 1.55rem)/1.55 var(--serif);letter-spacing:.02em}.row p{color:var(--sub);font-size:.92rem}.row p.proof{color:var(--ink);border-left:1px solid var(--coral);margin-top:12px;padding-left:14px;font-size:.88rem}.feature{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:clamp(84px,11vw,150px);padding:clamp(72px,9vw,130px) 0}.feature h2{max-width:15em;font-size:clamp(2.1rem,4.4vw,3.8rem)}.feature .split{margin-top:clamp(44px,6vw,80px)}.feature aside>p{color:var(--sub);font-size:.9rem}.meta{margin-top:30px;font-size:.82rem}.meta dt{font:500 .66rem/1 var(--mono);letter-spacing:.14em;color:var(--mute);margin-top:22px}.meta dd{color:var(--sub);margin-top:7px;line-height:1.75}.ladder li{grid-template-columns:92px 1fr;gap:0 28px;padding:0 0 38px;display:grid;position:relative}.ladder li:before{content:"";background:var(--line);width:1px;position:absolute;top:12px;bottom:-12px;left:92px;transform:translate(13px)}.ladder li:last-child:before{display:none}.ladder .date{font:500 .78rem/2.2 var(--mono);color:var(--yellow)}.ladder .body{padding-left:28px;position:relative}.ladder .body:before{content:"";background:var(--bg-2);border:1px solid var(--yellow);border-radius:50%;width:9px;height:9px;position:absolute;top:11px;left:-19px}.ladder li:last-child .body:before{background:var(--coral);border-color:var(--coral)}.ladder h3{font-size:1.12rem;font-weight:700;line-height:1.6}.ladder p{color:var(--sub);max-width:34em;margin-top:6px;font-size:.9rem}.voices{border-top:1px solid var(--line);margin-top:26px}.mini-h{font:500 .68rem/1 var(--mono);letter-spacing:.14em;color:var(--mute);padding:22px 0 6px}.voices div{border-bottom:1px solid var(--line);grid-template-columns:1fr 28px 1fr;align-items:baseline;padding:14px 0;font-size:.92rem;display:grid}.voices div span:first-child{font-family:var(--serif);font-size:1.02rem}.voices div i{color:var(--coral);font-style:normal}.voices div span:last-child{color:var(--sub)}.pull{border-top:1px solid var(--line);grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start;gap:clamp(28px,5vw,72px);margin-top:clamp(56px,7vw,96px);padding-top:clamp(40px,5vw,64px);display:grid}.pull blockquote{font:500 clamp(1.5rem, 3vw, 2.5rem)/1.6 var(--serif);letter-spacing:.02em}.pull p{color:var(--sub);font-size:.92rem}.pull p+p{margin-top:14px}.pull strong{color:var(--ink);font-weight:600}.case2,.work-feature{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start;gap:clamp(32px,6vw,80px);margin-top:clamp(40px,6vw,72px);display:grid}.work-feature+.work-feature{border-top:1px solid var(--line);padding-top:clamp(40px,6vw,72px)}.shot{border:1px solid var(--line);background:#000}.shot img{opacity:.94;width:100%}.shot figcaption{font:500 .68rem/1.6 var(--mono);letter-spacing:.08em;color:var(--mute);border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 16px;display:flex}.shot a{color:var(--sub);border-bottom:1px solid var(--line)}.work-copy h3{font:600 clamp(1.3rem, 2.2vw, 1.8rem)/1.5 var(--serif);letter-spacing:.02em;margin-top:10px}.work-copy p{color:var(--sub);margin-top:12px;font-size:.93rem}.work-copy .flow{font:500 .8rem/1.8 var(--mono);color:var(--ink);margin-top:18px}.work-copy .flow i{color:var(--coral);margin:0 10px;font-style:normal}.checks{border-top:1px solid var(--line);margin-top:14px}.checks li{border-bottom:1px solid var(--line);color:var(--sub);padding:10px 0;font-size:.88rem}.verbs{border-top:1px solid var(--line)}.verbs li{border-bottom:1px solid var(--line);grid-template-columns:7em 1fr;align-items:baseline;gap:0 20px;padding:20px 0;display:grid}.verbs strong{font:600 1.25rem/1.5 var(--serif);letter-spacing:.06em}.verbs span{color:var(--sub);font-size:.9rem}.principle{color:var(--sub);margin-top:26px;font-size:.92rem}.principle b{font:600 1.15rem/1.6 var(--serif);color:var(--ink);margin-bottom:4px;display:block}.prose2{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);margin-top:clamp(36px,5vw,60px);padding-top:30px;display:grid}.prose2 h3{font:600 1.3rem/1.6 var(--serif);letter-spacing:.02em;margin:8px 0 12px}.prose2 p{color:var(--sub);font-size:.93rem}.index{border-top:1px solid var(--line);margin-top:clamp(36px,5vw,60px)}.index .item{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,4fr) minmax(0,6fr);align-items:baseline;gap:0 clamp(16px,3vw,44px);padding:24px 0;transition:background .2s,padding .2s;display:grid}.index .item:hover{background:#ffffff06;padding-left:12px}.index .k{font:500 .68rem/1.8 var(--mono);letter-spacing:.1em;color:var(--mute)}.index h3,.index h4{font-size:1.02rem;font-weight:700;line-height:1.6}.index p{color:var(--sub);font-size:.88rem}.more-link{color:var(--sub);flex-wrap:wrap;justify-content:space-between;gap:24px;margin-top:30px;font-size:.9rem;display:flex}.more-link a{color:var(--ink);border-bottom:1px solid var(--coral);padding-bottom:3px}.steps{border-top:1px solid var(--ink);grid-template-columns:repeat(5,1fr);margin-top:clamp(40px,6vw,72px);display:grid}.steps li{padding:20px 22px 0 0}.steps li+li{border-left:1px solid var(--line);padding-left:22px}.steps span{font:500 .7rem/1 var(--mono);color:var(--coral)}.steps h3{font:600 1.2rem/1.6 var(--serif);margin-top:14px}.steps p{color:var(--sub);margin-top:8px;font-size:.84rem;line-height:1.8}.after{font:500 clamp(1.1rem, 1.9vw, 1.45rem)/1.8 var(--serif);max-width:32em;margin-top:clamp(36px,5vw,56px)}.map{border-collapse:collapse;width:100%;margin-top:clamp(40px,6vw,72px)}.map th,.map td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:22px 24px 22px 0}.map thead th{font:500 .66rem/1 var(--mono);letter-spacing:.14em;color:var(--mute);border-bottom:1px solid var(--ink);padding-bottom:14px}.map tbody th{width:27%;font:600 1.05rem/1.6 var(--serif);letter-spacing:.02em}.map td{color:var(--sub);font-size:.9rem}.map td.tool{width:24%;font:400 .74rem/1.9 var(--mono);color:var(--mute);padding-right:0}.eng{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0 clamp(32px,6vw,80px);margin-top:clamp(40px,6vw,72px);display:grid}.eng article{border-bottom:1px solid var(--line);padding:30px 0 34px}.eng h3{font:600 1.2rem/1.6 var(--serif);letter-spacing:.02em;margin-top:12px}.eng p{color:var(--sub);margin-top:10px;font-size:.9rem}.eng .scope{font:400 .72rem/1.8 var(--mono);color:var(--mute);margin-top:14px}.about{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:start;gap:clamp(32px,6vw,88px);display:grid}.about figure{position:sticky;top:40px}.about img{filter:grayscale(.15)contrast(1.02);width:100%}.about figcaption{font:500 .66rem/1.7 var(--mono);letter-spacing:.1em;color:var(--mute);margin-top:12px}.about-copy>p{color:var(--sub);max-width:36em;margin-top:18px;font-size:.96rem}.about-copy>p.label{margin-top:0;font-size:.7rem}.path{border-top:1px solid var(--line);margin-top:34px}.path div{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;padding:13px 0;font-size:.88rem;display:grid}.path span{font:500 .72rem/2.1 var(--mono);color:var(--mute)}.about-copy>p.remote{margin-top:26px;font-size:.88rem}.remote b{color:var(--ink);font-weight:600}main>section.contact{padding-bottom:clamp(72px,9vw,120px)}.contact h2{max-width:12em;font-size:clamp(2.2rem,5.4vw,4.6rem);line-height:1.3}.contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:clamp(32px,6vw,88px);display:grid}.contact-form{gap:22px;margin-top:12px;display:grid}.contact-form label{font:500 .7rem/1.6 var(--mono);letter-spacing:.12em;color:var(--mute);gap:8px;display:grid}.contact-form input,.contact-form select,.contact-form textarea{width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--line);font-family:var(--sans);letter-spacing:0;background:0 0;border-radius:0;outline:none;padding:10px 0;font-size:1rem;transition:border-color .2s}.contact-form select option{background:var(--bg-2);color:var(--ink)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-color:var(--coral)}.contact-form .button{justify-self:start;margin-top:6px}.direct-contact{font:400 .82rem/1.8 var(--mono);color:var(--sub);flex-wrap:wrap;gap:20px;display:flex}.direct-contact a{border-bottom:1px solid var(--line)}.more{border-top:1px solid var(--line);color:var(--sub);flex-wrap:wrap;justify-content:space-between;gap:24px;margin-top:clamp(56px,7vw,96px);padding-top:26px;font-size:.9rem;display:flex}.more a{color:var(--ink);border-bottom:1px solid var(--coral);padding-bottom:3px}footer{border-top:1px solid var(--line);font:500 .66rem/1.6 var(--mono);letter-spacing:.12em;color:var(--mute);padding:26px 0 40px}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.phone-pair{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);margin-top:clamp(48px,7vw,88px);padding-top:clamp(40px,6vw,72px);display:grid}.phone-item{grid-template-columns:150px 1fr;align-items:start;gap:28px;display:grid}.phone-item figure{border:1px solid var(--line);background:#000;border-radius:18px;overflow:hidden}.ideas{grid-template-columns:repeat(3,1fr);gap:clamp(32px,4vw,56px) clamp(20px,3vw,40px);margin-top:clamp(40px,6vw,72px);display:grid}.idea figure{aspect-ratio:1200/760;border:1px solid var(--line);background:var(--bg-2);place-items:center;display:grid;position:relative;overflow:hidden}.idea figure img{object-fit:cover;opacity:.9;width:100%;height:100%}.idea figure span{font:500 .66rem/1 var(--mono);letter-spacing:.2em;color:var(--mute)}.idea .no{font:500 .7rem/1 var(--mono);color:var(--coral);margin-top:16px;display:block}.idea h3{font:600 1.15rem/1.6 var(--serif);letter-spacing:.02em;margin-top:8px}.idea p{color:var(--sub);margin-top:6px;font-size:.88rem}.group-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;margin-top:clamp(56px,8vw,104px);display:flex}.group-head h3{font:600 clamp(1.4rem, 2.4vw, 2rem)/1.5 var(--serif);letter-spacing:.02em;margin-top:10px}.group-head>span{font:500 .7rem/1 var(--mono);letter-spacing:.14em;color:var(--mute)}.group-head+.index{margin-top:24px}.index .k.on{color:var(--yellow)}.archive-summary{border-top:1px solid var(--ink);grid-template-columns:auto 1fr;align-items:baseline;gap:12px clamp(24px,5vw,64px);margin-top:clamp(48px,7vw,88px);padding-top:30px;display:grid}.archive-summary strong{font:300 clamp(2.4rem, 5vw, 4.2rem)/1 var(--sans);letter-spacing:-.02em}.archive-summary p{color:var(--sub);max-width:34em;font-size:.93rem}main>section.works-back{padding-bottom:clamp(72px,9vw,120px)}.works-back .after{margin-top:0}.works-back .button{margin-top:30px}main p.label{font:500 .7rem/1.6 var(--mono);letter-spacing:.14em;color:var(--mute);margin-top:0}main p.status{font:500 .7rem/1.6 var(--mono);letter-spacing:.1em;color:var(--yellow);margin-top:0}main p.stack{font:400 .72rem/1.9 var(--mono);color:var(--mute);margin-top:14px}main p.flow{font:500 .8rem/1.8 var(--mono);color:var(--ink);margin-top:18px}.row h3+p.label{margin-top:8px}.work-copy h3{font-size:clamp(1.25rem,2vw,1.6rem)}@media (width<=860px){.nav-links{display:none}.hero:before{background-position:50%,right -30vw top;background-size:cover,120vw}.split,.pull,.case2,.work-feature,.prose2,.eng,.about,.contact-grid,.phone-pair{grid-template-columns:1fr}.split>aside,.about figure{position:static}.facts{grid-template-columns:1fr 1fr}.facts div{padding-bottom:20px}.row{grid-template-columns:40px 1fr}.row>div:last-child,.row>p:last-child{grid-column:2;margin-top:10px}.index .item{grid-template-columns:1fr;gap:4px}.steps{border-top:0;grid-template-columns:1fr}.steps li,.steps li+li{border-left:0;border-top:1px solid var(--line);padding:18px 0}.map thead{display:none}.map,.map tbody,.map tr,.map th,.map td{display:block;width:100%!important}.map tbody th{border-bottom:0;padding-bottom:4px}.map td{padding-top:6px}.map td.tool{padding-top:0}.ladder li{grid-template-columns:64px 1fr}.ladder li:before{left:64px}.voices div{grid-template-columns:1fr;gap:2px}.voices div i{display:none}.ideas{grid-template-columns:1fr}.phone-item{grid-template-columns:110px 1fr;gap:18px}.archive-summary{grid-template-columns:1fr}}
