:root{--bg:#fafaf7;--bg-raised:#fff;--ink:#1a1917;--ink-2:#55534e;--ink-3:#6f6c65;--hairline:#e6e4de;--accent:#0056cc;--accent-tint:#0056cc14;--font-sans:var(--font-en), var(--font-ja), -apple-system, sans-serif;--fig-hero:clamp(320px, 56vh, 560px);--fig-photo:clamp(300px, 52vh, 520px);--fig-pair:clamp(200px, 34vh, 340px);--fig-artifact:clamp(380px, 64vh, 660px)}*{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}html{scroll-padding-top:var(--header-h)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}html{overflow-x:clip}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:18px;line-height:1.7;overflow-x:clip}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:1px}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.read-progress{z-index:40;pointer-events:none;height:2px;position:fixed;inset:0 0 auto}.read-progress span{background:var(--accent);transform-origin:0;will-change:transform;height:100%;display:block}@media (prefers-reduced-motion:reduce){.read-progress span{transition:none}}.skip-link{z-index:10;background:var(--ink);color:var(--bg);border-radius:2px;padding:8px 16px;font-size:14px;text-decoration:none;transition:top .15s;position:absolute;top:-48px;left:24px}.skip-link:focus{color:var(--bg);top:12px}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}p,li{max-width:640px}p+p{margin-top:1.2em}::selection{background:var(--accent-tint)}.site-nav{justify-content:space-between;align-items:baseline;padding:32px 0;display:flex}.site-nav .brand{font-size:16px;font-weight:700;text-decoration:none}.site-nav ul{align-items:baseline;gap:28px;list-style:none;display:flex}.site-nav ul li:last-child{align-self:center;margin-left:8px}.site-nav ul>li>a{margin:-12px -6px;padding:12px 6px;font-size:14px;text-decoration:none;display:inline-block}.kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:13px;font-weight:500}.case-hero-cover{aspect-ratio:21/9;border:1px solid var(--hairline);background:var(--bg-raised);border-radius:2px;margin-top:30px;overflow:hidden}@media (max-width:640px){.case-hero-cover{aspect-ratio:16/9}}.subtitle{color:var(--ink-2);text-wrap:balance;max-width:720px;font-size:20px}.subtitle>span{display:block}.subtitle,.one-liner,.home-sub,.case-hero h1,.about h1,.home-hero h1,.proj-grid h3{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal}.one-liner,.home-sub{text-wrap:balance}.metrics{flex-wrap:wrap;gap:24px 72px;margin:72px 0 0;display:flex}.metric b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:84px;font-weight:700;line-height:1;display:block}.metric span{color:var(--ink-2);max-width:220px;margin-top:10px;font-size:15px;display:block}.tagrow{flex-wrap:wrap;gap:8px;margin-top:48px;display:flex}.tag{color:var(--ink-2);border:1px solid var(--hairline);white-space:nowrap;border-radius:2px;padding:3px 10px;font-size:13px}.nda-note{color:var(--ink-2);margin-top:32px;font-size:14px;font-style:italic}.case-meta{columns:2;border-top:1px solid var(--hairline);column-gap:64px;padding-top:4px}.case-meta>div{break-inside:avoid;border-bottom:1px solid var(--hairline);padding:14px 0}.case-meta dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:12px;font-weight:500}.case-meta dd{color:var(--ink-2);max-width:none;margin-top:6px;font-size:14px;line-height:1.6}.case-main{margin-top:96px}.case-main .figure{max-width:760px}.case-main .figure-diagram{max-width:1120px}.case-main .figure-photo .figure-canvas img{width:min(100%, calc(var(--fig-photo) * var(--ar,10)));height:auto;margin-inline:auto;display:block}.case-main .figure-photo-wide{max-width:1120px}.case-main .figure-photo-wide .figure-canvas{max-height:var(--fig-hero);overflow:hidden}.case-main .figure-photo-wide .figure-canvas img{width:100%;height:var(--fig-hero);max-height:var(--fig-hero);object-fit:cover;margin-inline:0}.case-main .figure-photo-wide .photo-pair img{height:var(--fig-pair);max-height:var(--fig-pair)}@media (max-width:760px){:root{--fig-hero:46vh;--fig-photo:52vh;--fig-pair:22vh}.case-main .figure-photo-wide .figure-canvas,.case-main .figure-photo-wide .figure-canvas img{max-height:var(--fig-hero);height:auto}}.case-section{scroll-margin-top:72px}@media (min-width:1100px){.case-section{position:relative}.case-section>.sec-label{text-align:right;width:64px;position:absolute;top:6px;left:-84px}.case-section>h2{margin-top:0}}table.outcomes{max-width:860px}.case-section{margin-top:120px}.case-section:first-child{margin-top:0}.sec-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:13px;font-weight:500}.case-section h2{margin:10px 0 28px;font-size:28px;font-weight:700;line-height:1.3}.case-section h3{max-width:640px;margin:44px 0 16px;font-size:20px;font-weight:700;line-height:1.4}.case-section ul,.case-section ol{margin-top:1em;padding-left:22px}.case-section li+li{margin-top:.6em}.lede{color:var(--ink-2);font-style:italic}.pullquote{border:0;max-width:820px;margin:96px 0;font-size:28px;font-weight:700;line-height:1.5}.pullquote:before{content:"";border-top:1px solid var(--ink);width:48px;margin-bottom:28px;display:block}.figure{border:1px solid var(--hairline);background:var(--bg-raised);border-radius:2px;margin:64px 0}.figure-diagram{background:0 0;border:0;border-radius:0}.figure .figure-canvas{padding:8px}.figure-diagram .figure-canvas{padding:0}.figure svg{width:100%;height:auto;aspect-ratio:var(--ar,auto);font-family:var(--font-sans);display:block}@media (max-width:900px){.figure-diagram .figure-canvas{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}.figure-canvas:focus-visible{outline-offset:-2px}.figure-diagram .figure-canvas svg,.figure-artifact .figure-canvas img{width:860px;max-width:none}.figure-diagram figcaption:before{content:"↔ ";color:var(--ink-2)}:root[lang=ja] .figure-diagram figcaption:before{content:"↔ "}}.figure .photo-pair{align-items:stretch;gap:8px;display:flex}.figure .photo-pair img{flex:var(--ar,1) 1 0;object-fit:cover;width:auto;min-width:0;height:auto;max-height:none;margin-inline:0}.case-main .figure-photo-wide .photo-pair img{flex:1 1 0}.figure figcaption{color:var(--ink-2);border-top:1px solid var(--hairline);padding:12px 16px;font-size:13px}.figure-diagram figcaption{max-width:900px;padding:12px 0 0}table.outcomes{border-collapse:collapse;width:100%;max-width:820px;font-size:16px;line-height:1.6}table.outcomes th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--ink);padding:0 16px 12px 0;font-size:13px;font-weight:500}table.outcomes td{vertical-align:top;border-bottom:1px solid var(--hairline);padding:12px 16px 12px 0}table.outcomes td:first-child{color:var(--ink-2);width:30%;font-size:14px}@media (max-width:640px){table.outcomes{table-layout:fixed}}.margin-note{float:right;clear:right;width:min(300px,26vw);color:var(--ink-2);border-top:2px solid var(--ink);letter-spacing:.01em;margin:6px 0 28px 40px;padding-top:12px;font-size:13.5px;line-height:1.7}.margin-note b{color:var(--ink);font-variant-numeric:tabular-nums}@media (max-width:1000px){.margin-note{float:none;clear:none;border-top:none;border-left:2px solid var(--ink);width:auto;margin:32px 0;padding:2px 0 2px 16px}}.jd-tags{border-top:1px solid var(--hairline);margin-top:44px;padding-top:24px}.jd-tags .sec-label{margin-bottom:12px;display:block}.next-case{border-top:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;margin-top:96px;padding:40px 0 0;display:flex}.next-case a{font-size:24px;font-weight:700;line-height:1.3;text-decoration:none}.hero-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:34px;display:grid}.hero-strip a{aspect-ratio:16/10;border:1px solid var(--hairline);background:var(--bg-raised);border-radius:2px;display:block;overflow:hidden}@media (max-width:640px){.hero-strip{gap:6px;margin-top:26px}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.home-hero>*{animation:.2s ease-out backwards rise-in}.home-hero>:nth-child(2){animation-delay:60ms}.home-hero>:nth-child(3){animation-delay:.12s}.home-hero>:nth-child(4){animation-delay:.18s}}.home-hero .home-sub{color:var(--ink-2);max-width:720px;margin-top:28px;font-size:18px}.home-hero .capabilities{color:var(--ink-2);letter-spacing:.02em;margin-top:44px;font-size:14px}.case-index{margin-top:72px;scroll-margin-top:32px}.hero-thread{width:100%;max-width:880px;height:auto;margin:36px 0 0;display:block}.proj-card{border-top:1px solid var(--hairline);padding:48px 0 56px;text-decoration:none;display:block}.proj-card:last-of-type{border-bottom:1px solid var(--hairline)}.proj-thumb{border:1px solid var(--hairline);background:var(--bg-raised);border-radius:2px;margin-bottom:30px;padding:8px;transition:border-color .15s}.proj-thumb svg{width:100%;height:auto;font-family:var(--font-sans);display:block}.proj-card:hover .proj-thumb{border-color:var(--ink-2)}.proj-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:12px 44px;display:grid}.proj-cover{aspect-ratio:16/9;border:1px solid var(--hairline);background:var(--bg-raised);border-radius:2px;display:block;overflow:hidden}@media (max-width:760px){.proj-grid{grid-template-columns:1fr;gap:18px}}.proj-cover img{transition:transform .4s cubic-bezier(.4,0,.2,1)}.proj-card:hover .proj-cover img{transform:scale(1.015)}@media (prefers-reduced-motion:reduce){.proj-cover img{transition:none}.proj-card:hover .proj-cover img{transform:none}}.proj-grid .proj-meta{grid-column:1/-1}.proj-card h3{max-width:800px;margin:10px 0;font-size:28px;font-weight:700;line-height:1.3;transition:color .15s}.proj-card:hover h3{color:var(--accent)}.proj-card .one-liner{color:var(--ink-2);max-width:680px;font-size:16px}.proj-meta{border-top:1px solid var(--hairline);grid-template-columns:repeat(4,1fr);gap:18px 28px;margin-top:26px;padding-top:20px;display:grid}.proj-meta dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:12px;font-weight:500}.proj-meta dd{color:var(--ink);margin-top:5px;font-size:14.5px;line-height:1.55}.skills-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;display:grid}.skill-card{border:1px solid var(--hairline);background:var(--bg-raised);border-radius:2px;padding:20px 22px;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.skill-card:hover{border-color:var(--ink-2);color:inherit;transform:translateY(-2px)}.skill-card b{font-size:16px}.skill-card .skill-desc{color:var(--ink-2);max-width:none;margin-top:6px;font-size:13.5px;display:block}.skill-card .skill-link{color:var(--accent);margin-top:10px;font-size:13.5px;display:block}.about h1{max-width:880px;margin-bottom:28px;font-size:40px;font-weight:700;line-height:1.3}.about .case-section h2{font-size:24px}.about-quote{max-width:760px;margin:40px 0;font-size:22px;font-weight:700;line-height:1.6}.about .case-section{margin-top:88px}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px;max-width:1072px;display:grid}.practice-grid article{border-top:1px solid var(--hairline);padding-top:18px}.practice-grid h3{max-width:none;margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.4}.practice-grid p{color:var(--ink-2);max-width:none;font-size:15px;line-height:1.65}@media (max-width:860px){.practice-grid{grid-template-columns:1fr;gap:32px}}.site-footer{border-top:1px solid var(--hairline);color:var(--ink-2);margin-top:104px;padding:40px 0 64px;font-size:14px}.contact-cta{color:var(--ink);margin:0 0 28px;font-size:17px}.contact-cta a{color:var(--accent);text-underline-offset:3px;font-weight:500;text-decoration-thickness:1px}.footer-meta{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.split{grid-template-columns:minmax(0,1fr) minmax(0,.78fr);align-items:start;gap:0 72px;display:grid}.split>p{max-width:none;margin-top:0}.split-note{color:var(--ink-2);border-top:1px solid var(--hairline);padding-top:14px;font-size:15.5px}.figure-diagram[data-draw=pending] .ladder-line{stroke-dasharray:1700;stroke-dashoffset:1700px}.figure-diagram[data-draw=pending] .ladder-stage,.figure-diagram[data-draw=pending] .ladder-cases{opacity:0}.figure-diagram[data-draw=in] .ladder-line{stroke-dasharray:1700;stroke-dashoffset:0;transition:stroke-dashoffset 2s cubic-bezier(.35,.1,.35,1)}.figure-diagram[data-draw=in] .ladder-stage,.figure-diagram[data-draw=in] .ladder-cases{opacity:1;transition:opacity .52s ease-out;transition-delay:calc(.42s + var(--step,4) * .44s)}.figure-artifact .figure-canvas img{width:min(100%, calc(var(--fig-artifact) * var(--ar,10)));height:auto;max-height:none;margin-inline:0;display:block}.figure-artifact .figure-canvas>a{display:block}@media (max-width:900px){.figure-artifact .figure-canvas img{width:860px;max-width:none}}.notfound{padding:140px 0 200px}.notfound h1{letter-spacing:-.01em;margin-top:16px;font-size:38px;font-weight:700}.notfound-ja{color:var(--ink-2);margin-top:10px;font-size:19px;line-height:1.9}.notfound-links{margin-top:40px;font-size:15px}@media (max-width:900px){.case-meta{column-gap:40px}.case-main{margin-top:72px}}@media (max-width:640px){body{font-size:17px}.case-hero{padding-top:56px}.case-hero h1{font-size:34px}.home-hero{padding-top:64px}.home-hero h1{font-size:32px}.subtitle{font-size:18px}.metrics{gap:24px 40px;margin-top:48px}.metric b{font-size:56px}.case-section{margin-top:72px}.case-section h2{font-size:24px}.pullquote{margin:64px 0;font-size:22px}.proj-card h3{font-size:22px}.proj-meta{grid-template-columns:1fr 1fr}.case-meta{columns:1}.skills-grid{grid-template-columns:1fr}.figure .figure-canvas{overflow-x:auto}.figure svg{min-width:880px}}.tldr{background:var(--bg-raised);border:1px solid var(--hairline);border-left:2px solid var(--accent);border-radius:2px;grid-template-columns:72px minmax(0,1fr);gap:0 24px;max-width:780px;margin-bottom:8px;padding:26px 30px 28px;display:grid}.tldr-key{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding-top:4px;font-size:12px;font-weight:700}.tldr p{max-width:none;margin:0;font-size:17px;line-height:1.68}.tldr p+p{margin-top:14px}@media (max-width:760px){.tldr{grid-template-columns:1fr;gap:10px;padding:22px 20px 24px}.tldr p{font-size:16px}}:root[lang=ja] body{font-feature-settings:"palt" 1;font-size:17px;line-height:1.95}:root[lang=ja] p,:root[lang=ja] li,:root[lang=ja] dd,:root[lang=ja] td,:root[lang=ja] th{line-break:strict;overflow-wrap:anywhere;word-break:normal}:root[lang=ja] h1,:root[lang=ja] h2,:root[lang=ja] h3,:root[lang=ja] .one-liner,:root[lang=ja] .subtitle,:root[lang=ja] .metric span,:root[lang=ja] .case-meta dd,:root[lang=ja] .proj-meta dd{letter-spacing:.01em;word-break:auto-phrase;line-height:1.5}:root[lang=ja] .one-liner,:root[lang=ja] .subtitle,:root[lang=ja] .metric span,:root[lang=ja] .case-meta dd,:root[lang=ja] .proj-meta dd{line-height:1.75}:root[lang=ja] .case-hero h1{font-size:38px;line-height:1.4}:root[lang=ja] .about h1,:root[lang=ja] .home-hero h1{font-size:32px;line-height:1.55}:root[lang=ja] em{font-style:normal;font-weight:700}:root[lang=ja] p,:root[lang=ja] li{max-width:40em}:root[lang=ja] body,:root[lang=ja] p,:root[lang=ja] li,:root[lang=ja] figcaption,:root[lang=ja] dd,:root[lang=ja] .career-strip span{line-break:strict;word-break:auto-phrase}:root[lang=ja] p,:root[lang=ja] .career-strip span{text-wrap:pretty}:root[lang=ja] h1,:root[lang=ja] h2,:root[lang=ja] h3{text-wrap:balance;word-break:auto-phrase}:root[lang=ja] .kicker,:root[lang=ja] .sec-label{letter-spacing:.04em}:root[lang=ja] .metric span{max-width:260px}.cred-strip{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);flex-wrap:wrap;gap:22px 88px;margin:56px 0 0;padding:26px 0 28px;display:flex}.career-strip{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 40px;margin-top:64px;padding:34px 0 36px;display:grid}@media (max-width:640px){.career-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}.career-strip b{font-size:26px}.career-strip>div{padding-right:12px}}.career-strip b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1.05;display:block}.career-strip span{color:var(--ink-2);margin-top:8px;font-size:13.5px;line-height:1.5;display:block}.quote-band{border-top:2px solid var(--ink);margin:104px 0 0;padding-top:34px}.quote-band p em{color:var(--accent);font-style:normal}.quote-band span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-top:18px;font-size:13px;display:block}.cred-strip dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:12px;font-weight:500}.cred-strip dd{margin-top:6px;font-size:14.5px;line-height:1.55}.lang-toggle{border:1px solid var(--hairline);background:var(--bg-raised);border-radius:2px;align-items:stretch;display:inline-flex;overflow:hidden}.lang-toggle>*{letter-spacing:.04em;color:var(--ink-2);background:0 0;align-items:center;margin:0;padding:9px 12px;font-size:12px;font-weight:500;line-height:1;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.lang-toggle a:after{content:"";position:absolute;inset:-8px 0}.lang-toggle>*+*{border-left:1px solid var(--hairline)}.lang-toggle-label{display:block}.lang-toggle a:hover{background:var(--accent-tint);color:var(--accent)}.lang-toggle .lang-toggle-on{background:var(--ink);color:var(--bg);cursor:default}.lang-toggle [lang=ja]{letter-spacing:0}.resume-cta{border:1px solid var(--ink);color:var(--ink);border-radius:2px;align-items:center;gap:8px;width:fit-content;margin-bottom:28px;padding:11px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.resume-cta:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:9px;height:9px;transform:rotate(45deg)translate(-1px,-1px)}.resume-cta:hover{background:var(--ink);color:var(--bg)}.about-intro{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:0 72px;display:grid}.about-intro>div p{max-width:none}.about-intro h1{max-width:none;margin:14px 0 26px}.portrait{margin:4px 0 0}.portrait img{aspect-ratio:1;object-fit:cover;filter:saturate(.88);border-radius:50%;width:100%;height:auto;display:block}.portrait figcaption{text-align:center;color:var(--ink-2);margin-top:10px;font-size:13px;line-height:1.5}@media (max-width:900px){.about-intro{grid-template-columns:1fr;gap:32px}.about-intro .portrait{order:-1;max-width:200px;margin:0 0 8px}.about-intro .portrait figcaption{text-align:left}.split{grid-template-columns:1fr;gap:24px}}.spread{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);align-items:start;gap:0 72px;display:grid}.spread>.case-section{margin-top:0}.spread p,.spread li{max-width:none}.spread .case-section:first-child p:first-of-type{font-size:19px;line-height:1.6}:root[lang=ja] .spread .case-section:first-child p:first-of-type{font-size:17px;line-height:1.9}@media (min-width:1100px){.spread>.case-section>.sec-label{text-align:left;width:auto;display:block;position:static}.spread>.case-section>h2{margin-top:10px}}@media (max-width:1000px){.spread{grid-template-columns:1fr;gap:56px}}.verification{border-top:1px solid var(--hairline);max-width:860px;margin:72px 0 0;padding-top:20px}.verification ul{margin:14px 0 0;padding:0;list-style:none}.verification li{border-bottom:1px solid var(--hairline);flex-wrap:wrap;align-items:baseline;gap:6px 14px;max-width:none;padding:10px 0;display:flex}.verification li a{-webkit-text-decoration-color:var(--hairline);text-decoration-color:var(--hairline);font-size:15px}.verification li a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.verification-source{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;margin-left:auto;font-size:12px}:root[lang=ja] .verification-source{text-transform:none;letter-spacing:.02em}@media (max-width:640px){.verification-source{margin-left:0}}.partner-wall{border-top:1px solid var(--hairline);max-width:1072px;margin:72px 0 0;padding-top:20px}.partner-wall ul{columns:4;column-gap:40px;margin:16px 0 0;padding:0;list-style:none}.partner-wall li{color:var(--ink-2);break-inside:avoid;max-width:none;font-size:13px;line-height:1.9}.partner-note{color:var(--ink-2);max-width:68ch;margin-top:18px;font-size:13px}@media (max-width:900px){.partner-wall ul{columns:2}}.earlier-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px;margin-top:28px;display:grid}.earlier-grid article h3{max-width:none;margin:0 0 4px;font-size:17px;font-weight:700}.earlier-grid .earlier-meta{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:0 0 12px;font-size:12px}.earlier-grid p+p{margin-top:.8em}.earlier-cite{border-top:1px solid var(--hairline);padding-top:12px;font-size:13px}.earlier-grid .earlier-cite{margin-top:16px}@media (max-width:860px){.earlier-grid{grid-template-columns:1fr;gap:32px}}.beforeafter{border-top:2px solid var(--ink);max-width:860px;margin:56px 0;padding-top:20px}.beforeafter-note{color:var(--ink-2);max-width:60ch;margin-top:6px;font-size:13px}.beforeafter dl>div{border-bottom:1px solid var(--hairline);grid-template-columns:132px minmax(0,1fr) 28px minmax(0,1fr);align-items:baseline;gap:0 12px;padding:16px 0;display:grid}.beforeafter dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:12px;font-weight:500}.beforeafter dd{margin:0;font-size:15px;line-height:1.55}.ba-before{color:var(--ink-2)}.ba-arrow{color:var(--accent);text-align:center}.ba-after{color:var(--ink);font-weight:500}@media (max-width:760px){.beforeafter dl>div{grid-template-columns:1fr;gap:4px}.ba-arrow{text-align:left}}.timeline>div{border-top:1px solid var(--hairline);grid-template-columns:168px minmax(0,1fr);gap:8px 32px;padding:22px 0 24px;display:grid}.timeline dt{color:var(--ink-2);font-variant-numeric:tabular-nums;padding-top:2px;font-size:13.5px}.timeline dd{max-width:620px;font-size:16px;line-height:1.65}@media (max-width:760px){.cred-strip{gap:20px 40px}.timeline>div{grid-template-columns:1fr;gap:4px}}@media (max-width:640px){.site-nav{flex-wrap:wrap;align-items:center;gap:14px;padding:24px 0 20px}.site-nav .brand{flex-basis:100%}.site-nav ul{gap:20px;margin-left:-6px}.lang-toggle-label{white-space:nowrap}.about h1{font-size:29px;line-height:1.25}:root[lang=ja] .about h1,:root[lang=ja] .home-hero h1{font-size:24px;line-height:1.6}}.section-strip{z-index:35;background:var(--bg);border-bottom:1px solid var(--hairline);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;position:fixed;top:2px;left:0;right:0;transform:translateY(-100%)}.section-strip[data-shown]{opacity:1;pointer-events:auto;transform:none}.section-strip ol{overscroll-behavior-x:contain;scrollbar-width:none;align-items:stretch;gap:0 4px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.section-strip ol::-webkit-scrollbar{display:none}.section-strip li{flex:none;max-width:none;margin:0}.section-strip a{color:var(--ink-2);white-space:nowrap;border-bottom:2px solid #0000;align-items:baseline;gap:7px;margin-bottom:-1px;padding:11px 12px 10px;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.section-strip li:first-child a{padding-left:0}.strip-n{letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.strip-t{font-size:13px;line-height:1}.section-strip a:hover{color:var(--ink)}.section-strip .is-current a{color:var(--ink);border-bottom-color:var(--ink)}:root[lang=ja] .strip-t{font-size:12.5px}@media (max-width:720px){.strip-t{display:none}.section-strip a{padding:10px 14px}}@media (prefers-reduced-motion:reduce){.section-strip{transition:none;transform:none}}.proj-grid-textonly{grid-template-columns:minmax(0,1fr)}@media print{@page{size:A4 landscape;margin:14mm 16mm}html,body{background:#fff}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.site-nav,.site-footer,.section-strip,.reading-progress,.skip-link,.lang-toggle{display:none!important}.wrap{max-width:none;padding:0}.print-cover{break-after:page;flex-direction:column;min-height:165mm;display:flex}.print-cover h1{letter-spacing:-.02em;margin:6mm 0 0;font-size:46pt;line-height:1.05}.print-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:9pt;font-weight:700}.print-role{color:var(--ink-2);margin-top:3mm;font-size:16pt}.print-facts{border-top:1.5pt solid var(--ink);grid-template-columns:repeat(4,1fr);gap:6mm;margin-top:10mm;padding-top:4mm;display:grid}.print-facts dt{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);font-size:7.5pt;font-weight:700}.print-facts dd{margin:1.5mm 0 0;font-size:10pt;line-height:1.45}.print-contents{border-top:1px solid var(--hairline);margin:auto 0 0;padding:0;list-style:none}.print-contents li{border-bottom:1px solid var(--hairline);grid-template-columns:12mm 1fr;padding:2.6mm 0;font-size:10.5pt;display:grid}.print-contents span{color:var(--ink-2);font-variant-numeric:tabular-nums}.print-case{break-before:page}.case-hero{min-height:0;padding-top:0}.case-hero-cover{display:none}.case-hero h1{font-size:24pt;line-height:1.15}.case-hero .subtitle{font-size:12pt}.case-body,.case-main,.about{max-width:none}body{font-size:9.5pt;line-height:1.55}.case-section{grid-template-columns:1fr 1fr;align-content:start;column-gap:12mm;margin-top:6mm;display:grid}.about .case-section{margin-top:6mm}.print-about .about-quote{max-width:none;margin:3mm 0;font-size:12pt}.case-main{margin-top:6mm}.case-body{margin-top:5mm}.case-section h2{margin:0 0 3mm}figure{margin:2mm 0}.case-section>:not(p){grid-column:1/-1}.case-main p,.case-main li,.about p,.about li{max-width:none}.spread{columns:2;column-gap:12mm;display:block}.case-main h2{font-size:15pt}.case-main h3{font-size:11pt}.case-main p,.case-main li{font-size:9.5pt}figure,.pullquote,table,.metrics{break-inside:avoid}h2,h3{break-after:avoid}.figure-canvas{max-width:250mm;margin-inline:auto;max-height:none!important;overflow:visible!important}.figure-canvas svg,figure img{object-fit:contain;max-height:150mm;width:100%!important;height:auto!important}figcaption{margin-top:1.5mm;font-size:7pt;line-height:1.35}.sec-label{margin-bottom:1mm;display:block;position:static}.print-case .case-section{display:none}.print-case [id=sec-02],.print-case [id=sec-04]{display:block}.print-case[data-case=waterworks] [id=sec-02]{display:none}.print-case[data-case=waterworks] [id=sec-03]{display:block}.print-case [id=sec-04]{break-before:page}.print-case figure{display:none}.print-case figure[data-figure=asus-v4-4d-pipeline],.print-case figure[data-figure=yodex-v3-platform-mechanisms],.print-case figure[data-figure=waterworks-v3-ownership-incentives],.print-case figure[data-figure=bts-v3-principles-to-operations],.print-case figure[data-figure=kajikobo-v1-staged-reveal]{break-inside:avoid;display:block}.next-case,.verification,.print-case .case-section>p:nth-of-type(n+3),.print-case .case-section>ul,.print-case .case-section>ol,.print-case .case-section h3{display:none}.print-case .case-meta{columns:3;column-gap:8mm}.print-case .case-meta>div{padding:2mm 0}.print-case .case-meta dd{font-size:8pt;line-height:1.4}.print-case .jd-tags,.print-case .pullquote{display:none}.print-case .beforeafter{max-width:none;margin:4mm 0;padding-top:3mm}.print-case .beforeafter dl>div{padding:2mm 0}.print-case .beforeafter dd{font-size:8.5pt;line-height:1.4}.print-case table.outcomes{max-width:none;font-size:8.5pt;line-height:1.45}.print-case table.outcomes th{padding:0 5mm 2mm 0}.print-case table.outcomes td{padding:2mm 5mm 2mm 0}.print-case .case-main table{max-width:none;font-size:8.5pt;line-height:1.45}.print-case .case-main table td,.print-case .case-main table th{padding:2mm 5mm 2mm 0}.print-case .partner-wall{display:none}.pullquote{break-before:avoid;margin:4mm 0}.print-case .margin-note{display:none}.print-about .case-section{display:block}.print-about figure[data-figure=about-capability-structure]{break-inside:avoid;display:block}.print-about .practice-grid-wrap,.print-about [id=sec-06]{display:none}:root[lang=ja] body{font-size:9.5pt;line-height:1.75}:root[lang=ja] p,:root[lang=ja] li{max-width:none}:root[lang=ja] .case-hero h1{font-size:22pt;line-height:1.3}:root[lang=ja] .about h1{font-size:20pt;line-height:1.35}:root[lang=ja] .case-main h2{font-size:14pt}}.section-rail-side{z-index:35;opacity:0;pointer-events:none;transition:opacity .18s;display:none;position:fixed;top:50%;right:18px;transform:translateY(-50%)}.section-rail-side[data-shown]{opacity:1;pointer-events:auto}@media (min-width:1140px){.section-rail-side{display:block}.section-strip{display:none}}.section-rail-side ol{flex-direction:column;align-items:flex-end;gap:14px;margin:0;padding:0;list-style:none;display:flex}.section-rail-side li{margin:0}.section-rail-side a{justify-content:flex-end;align-items:center;gap:10px;padding:2px 0;text-decoration:none;display:flex}.section-rail-side .rail-bar{background:#cfccc4;width:18px;height:2px;transition:width .16s,background .16s}.section-rail-side li.is-current .rail-bar{background:var(--ink);width:28px}.section-rail-side .rail-label{color:var(--ink-2);white-space:nowrap;opacity:0;pointer-events:none;padding:4px 8px;font-size:12.5px;transition:opacity .16s,transform .16s;transform:translate(6px)}.section-rail-side .rail-n{color:#b3afa6;letter-spacing:.06em;font-variant-numeric:tabular-nums;margin-right:7px;font-size:10.5px;font-weight:600}.section-rail-side:hover .rail-label,.section-rail-side:focus-within .rail-label{opacity:1;pointer-events:auto;transform:none}.section-rail-side li.is-current .rail-label{color:var(--ink);font-weight:600}.rx{max-width:1120px;margin:0 auto;padding:0 28px 120px}.rx-hero{max-width:720px;padding:72px 0 8px}.rx-hero h1{letter-spacing:-.02em;text-wrap:balance;margin:10px 0 0;font-size:clamp(32px,5vw,46px);line-height:1.12}.rx-lede{color:var(--ink-2);text-wrap:pretty;margin:22px 0 0;font-size:clamp(17px,2.1vw,20px);line-height:1.6}.rx-index{margin-top:56px}.rx-index-n{color:var(--accent);font-variant-numeric:tabular-nums;margin-right:10px}.rx-card{touch-action:manipulation;border-radius:2px}.rx-card:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.rx-card-foot{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 32px;margin-top:8px;display:grid}.rx-chain{letter-spacing:.02em;color:var(--ink-2);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:0;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.rx-chain li{border:1px solid var(--hairline);background:var(--bg-raised);border-radius:999px;padding:5px 12px;transition:border-color .15s,color .15s}.rx-chain li+li{margin-left:18px;position:relative}.rx-chain li+li:before{content:"";background:var(--hairline);width:18px;height:1px;position:absolute;top:50%;left:-18px}.rx-card:hover .rx-chain li,.rx-card:focus-visible .rx-chain li{border-color:var(--ink-2);color:var(--ink)}.rx-card-facts{flex-wrap:wrap;gap:8px 36px;margin:0;display:flex}.rx-card-facts div{min-width:0}.rx-card-facts dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:12px}.rx-card-facts dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:14px}.rx-card-cta{color:var(--accent);white-space:nowrap;font-size:13.5px;transition:transform .15s cubic-bezier(0,0,.2,1)}.rx-card:hover .rx-card-cta,.rx-card:focus-visible .rx-card-cta{transform:translate(4px)}@media (prefers-reduced-motion:no-preference){.rx-card{animation:.48s cubic-bezier(0,0,.2,1) both rx-arrive;animation-delay:calc(var(--i,0) * 90ms)}@keyframes rx-arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}.rx-plan,.rx-voices{margin:40px 0 44px}.rx-voices ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.rx-voices blockquote{border-left:2px solid var(--accent);background:var(--bg-raised);border-radius:2px;margin:0;padding:16px 20px}.rx-voices blockquote p{color:var(--ink);text-wrap:pretty;margin:0;font-size:17px;font-style:italic;line-height:1.55}.rx-voices footer{color:var(--ink-3);margin-top:8px;font-size:13px}.rx-voices figcaption{color:var(--ink-3);margin-top:10px;font-size:13px;line-height:1.5}.rx-practice dl{grid-template-columns:max-content minmax(0,1fr);gap:12px 24px;max-width:760px;margin:20px 0 0;display:grid}.rx-practice dt{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding-top:3px;font-size:13px}.rx-practice dd{color:var(--ink-2);margin:0;font-size:15.5px;line-height:1.55}@media (max-width:600px){.rx-practice dl{grid-template-columns:1fr;gap:4px}.rx-practice dd{margin-bottom:8px}}.rx-toolkit{border-top:1px solid var(--hairline);margin-top:96px;padding-top:40px}.rx-plan-lede{max-width:680px;color:var(--ink-2);text-wrap:pretty;margin:18px 0 32px;font-size:16px;line-height:1.65}.rx-plan .figure-diagram{max-width:1120px}.rx-toolkit ul{flex-wrap:wrap;gap:8px 10px;margin:20px 0 0;padding:0;list-style:none;display:flex}.rx-toolkit li{color:var(--ink-2);border:1px solid var(--hairline);border-radius:999px;padding:6px 13px;font-size:13px}.home-hero .kicker .role-2:before{content:"·";margin:0 .55em}[data-lang=ja] .home-hero .kicker .role-2:before{content:"・";margin:0}@media (max-width:560px){.home-hero .kicker .role-2{display:block}.home-hero .kicker .role-2:before,[data-lang=ja] .home-hero .kicker .role-2:before{content:none}}.rx-read{max-width:660px;color:var(--ink-2);border-left:2px solid var(--hairline);margin:22px 0 0;padding-left:20px;font-size:16px;line-height:1.65}.rx-note{max-width:620px;color:var(--ink-3);margin:14px 0 0;font-size:13px;line-height:1.6}.rx-tldr{max-width:680px;color:var(--ink);margin:0 0 8px;font-size:17px;line-height:1.6}.rx-tldr strong{font-weight:600}.rx-constraint{border-left:2px solid var(--accent);background:var(--accent-tint);max-width:660px;color:var(--ink);margin:24px 0 0;padding:16px 20px;font-size:15.5px;line-height:1.6}.rx-constraint .kicker{color:var(--ink-2);margin:0 0 6px;display:block}.rx-findings.rx-wide tbody th{white-space:normal;width:26%}.rx-toolkit-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:28px 0 0;font-size:12px;font-weight:500}.rx-toolkit ul.rx-toolkit-next{margin-top:12px}.rx-toolkit ul.rx-toolkit-next li{color:var(--ink-3);border-style:dashed}.rx-honest{max-width:620px;color:var(--ink-2);margin:28px 0 0;font-size:15px;line-height:1.65}.rx-footer{border-top:1px solid var(--hairline);color:var(--ink-2);margin-top:96px;padding-top:28px;font-size:14px}.rx-a11y{max-width:620px;color:var(--ink-3);margin:12px 0 0;font-size:13.5px;line-height:1.6}.rx-topbar{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:18px 28px 0;font-size:13.5px;display:flex}.rx-back{min-height:44px;color:var(--ink-2);touch-action:manipulation;align-items:center;text-decoration:none;display:inline-flex}.rx-back:hover,.rx-back:focus-visible{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.rx-counter{color:var(--ink-3);font-variant-numeric:tabular-nums;letter-spacing:.06em}.rx-guide{color:var(--ink-2);max-width:640px;margin:20px 0 0;padding-left:22px;font-size:15.5px;line-height:1.5}.rx-guide li{margin-bottom:8px;padding-left:6px}.rx-caption-note{color:var(--ink-3);max-width:640px;margin:14px 0 0;font-size:13.5px}@media (max-width:760px){.rx{padding:0 20px 80px}.rx-card-foot{grid-template-columns:minmax(0,1fr)}.rx-card-cta{justify-self:start}.rx-topbar{padding:14px 20px 0}}.rx-findings{border-collapse:collapse;width:100%;max-width:760px;margin:24px 0 0;font-size:14.5px;line-height:1.5}.rx-findings th,.rx-findings td{text-align:left;vertical-align:top;border-bottom:1px solid var(--hairline);color:var(--ink-2);padding:12px 20px 12px 0;font-weight:400}.rx-findings thead th{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom-color:var(--ink);padding-bottom:8px;font-size:12px}.rx-findings tbody th{color:var(--ink);white-space:nowrap;font-weight:600}:root{--tint:#f1efe8;--header-h:72px;--ease:cubic-bezier(.2, .6, .2, 1)}body{padding-top:var(--header-h);line-height:1.6}:root[lang=ja] body{line-height:1.95}.bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%)}.kicker,.sec-label{letter-spacing:.18em;font-size:12px}.home-hero h1{letter-spacing:-.015em;max-width:none;font-size:clamp(38px,2.1rem + 2.4vw,64px);font-weight:500;line-height:1.06}.case-hero h1{letter-spacing:-.015em;max-width:20ch;margin:18px 0 22px;font-size:clamp(36px,2rem + 2vw,58px);font-weight:600;line-height:1.02}.subtitle{max-width:46ch;font-size:clamp(19px,1rem + .7vw,23px);line-height:1.35}:root[lang=ja] .home-hero h1{letter-spacing:.01em;max-width:none;font-size:clamp(28px,1.5rem + 1.6vw,44px);line-height:1.4}:root[lang=ja] .case-hero h1{letter-spacing:.01em;max-width:none;font-size:clamp(28px,1.5rem + 1.4vw,42px);line-height:1.4}.site-header{inset-inline:0;z-index:30;height:var(--header-h);background:var(--bg);transition:transform .5s var(--ease), box-shadow .3s ease, background-color .3s ease;position:fixed;top:0}.site-header.is-stuck{background:var(--bg-raised);box-shadow:0 12px 12px -10px #1a19172e}.site-header.is-hidden{box-shadow:none;transform:translateY(-100%)}.site-header .wrap{justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.site-header .brand{letter-spacing:.06em;text-transform:uppercase;font-size:18px;font-weight:600;text-decoration:none}.site-nav{justify-content:flex-start;align-items:center;gap:clamp(20px,3vw,40px);padding:0;list-style:none;display:flex}.site-nav li{max-width:none}.site-nav a{letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid #0000;padding:6px 0;font-size:12px;font-weight:500;text-decoration:none;transition:border-color .2s;display:inline-block}.site-nav a:hover{border-bottom-color:var(--ink)}:root[lang=ja] .site-nav a{letter-spacing:.08em;font-size:13px}.section-strip{top:var(--header-h);transition:opacity .18s ease, transform .18s ease, top .5s var(--ease)}.site-header.is-hidden~.section-strip{top:2px}.btn{isolation:isolate;border:1px solid var(--ink);white-space:nowrap;color:var(--ink);border-radius:0;align-items:center;gap:14px;padding:15px 22px 15px 26px;font-size:16px;font-weight:500;line-height:1;text-decoration:none;transition:color .3s;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--ink);transform-origin:bottom;transition:transform .3s var(--ease);position:absolute;inset:0;transform:scaleY(0)}.btn:hover{color:var(--bg-raised)}.btn:hover:before{transform:scaleY(1)}.btn.solid{background:var(--ink);color:var(--bg-raised)}.btn.solid:before{background:var(--bg-raised)}.btn.solid:hover{color:var(--ink)}.chev{flex:none;width:14px;height:14px}.round{background:var(--tint);border-radius:50%;flex:none;place-items:center;width:48px;height:48px;transition:background-color .25s,color .25s;display:inline-grid}.round svg{width:18px;height:18px}.textlink{align-items:center;gap:12px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.textlink .chev{transition:transform .3s var(--ease)}.textlink:hover .chev{transform:translate(6px)}.home-hero{padding:clamp(40px,6vw,88px) 0 0}.home-hero>*{animation:none}.hero-top{grid-template-columns:minmax(0,1fr);display:grid}.home-hero .kicker{margin-bottom:22px;display:block}.hero-intro{margin-top:26px}.hero-strip{margin-top:34px}.hero-strip a{aspect-ratio:3/2;background:var(--tint);border:0;border-radius:0}.hero-strip img{transition:transform .9s var(--ease)}.hero-strip a:hover img{transform:scale(1.04)}.hero-thread{max-width:none;margin:44px 0 0}.hero-thread path{stroke-dasharray:1200;stroke-dashoffset:1200px}[data-reveal=in] .hero-thread path{animation:1.8s cubic-bezier(.35,.1,.35,1) 1.1s forwards draw-thread}[data-reveal=in] .hero-thread path:last-child{animation-duration:1.2s;animation-delay:1.9s}@keyframes draw-thread{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.hero-thread path{stroke-dashoffset:0}}.home-hero .home-sub{color:var(--ink);max-width:62ch;margin-top:0;font-size:19px;line-height:1.55}.home-hero .capabilities{margin-top:18px}.hero-intro .go{max-width:none;margin-top:28px}.career-strip,.metrics{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);gap:32px;display:grid}.career-strip{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(48px,6vw,80px);padding:clamp(36px,5vw,56px) 0}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:40px 0 0;padding:clamp(32px,4vw,48px) 0}.career-strip>div,.metric{padding-left:22px;position:relative}.career-strip>div:before,.metric:before{content:"";background:var(--ink);transform-origin:top;width:2px;position:absolute;top:4px;bottom:4px;left:0}.career-strip b{font-size:clamp(26px,1.28rem + 1.4vw,36px);font-weight:500;line-height:1.05}.metric b{font-size:clamp(40px,2.2rem + 1.8vw,64px);font-weight:500}.career-strip span,.metric span{max-width:26ch;font-size:14px;line-height:1.45}:root[lang=ja] .metric b{font-size:clamp(36px,2rem + 1.4vw,56px)}:root[lang=ja] .career-strip span,:root[lang=ja] .metric span{line-break:strict;max-width:none}.case-index{scroll-margin-top:calc(var(--header-h) + 24px);margin-top:clamp(64px,8vw,112px)}.work-head{margin-bottom:32px}.work-head .kicker{margin-bottom:16px;display:block}.work-head .ai-line{color:var(--ink-2);max-width:58ch;margin-top:2px;font-size:16px;line-height:1.55}.work-head h2,.section-title{letter-spacing:-.01em;max-width:24ch;font-size:clamp(30px,1.6rem + 1.5vw,46px);font-weight:500;line-height:1.02}:root[lang=ja] .work-head h2,:root[lang=ja] .section-title{letter-spacing:.01em;font-size:clamp(24px,1.3rem + 1.2vw,36px);line-height:1.35}.cases{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.card{background:var(--tint);color:inherit;transition:transform .4s var(--ease);flex-direction:column;text-decoration:none;display:flex}.card:hover{transform:translateY(-4px)}.card.feature{flex-direction:row;grid-column:1/-1}.card.feature .card-cover{aspect-ratio:auto;flex:0 0 46%;min-height:360px}.card.feature .card-body{padding:36px 40px}.card.feature h3{max-width:20ch;font-size:clamp(26px,1.4rem + 1vw,34px)}.card-cover{aspect-ratio:16/10;background:var(--hairline);display:block;overflow:hidden}.card-cover img{object-fit:cover;filter:saturate(.88);width:100%;height:100%;transition:transform .9s var(--ease)}.card:hover .card-cover img{transform:scale(1.03)}.card-body{flex-direction:column;flex:1;gap:14px;padding:26px 28px 28px;display:flex}.card .kicker{letter-spacing:.12em}.card h3{letter-spacing:-.005em;max-width:none;margin:0;font-size:22px;font-weight:500;line-height:1.15}.card .lead{color:var(--ink-2);max-width:48ch;font-size:17px;line-height:1.5}.card-meta{color:var(--ink-2);flex-wrap:wrap;gap:6px 10px;max-width:none;font-size:14px;display:flex}.card-meta i{font-style:normal}.card-foot{justify-content:space-between;align-items:flex-end;gap:16px;margin-top:auto;padding-top:18px;display:flex}.card-foot>span:first-child{max-width:28ch;font-size:14px;line-height:1.4}.card .round{background:var(--bg-raised)}.card:hover .round{background:var(--ink);color:var(--bg-raised)}.card .round svg{width:14px;height:14px}.cases{gap:44px 24px}.card.wk{background:0 0;gap:0}.card.wk .card-cover{aspect-ratio:16/10;border-radius:16px;position:relative}.cover-chips{inset-inline:14px;flex-wrap:wrap;gap:8px;display:flex;position:absolute;bottom:14px}.cover-chip{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fffffff0;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;background:#1a1917c7;border-radius:999px;max-width:100%;padding:6px 13px;font-size:12.5px;font-weight:500;line-height:1.3;overflow:hidden}@media (hover:hover){.card.wk .cover-chips{opacity:0;transition:opacity .26s var(--ease), transform .26s var(--ease);transform:translateY(6px)}.card.wk:hover .cover-chips,.card.wk:focus-visible .cover-chips{opacity:1;transform:translateY(0)}}@media (hover:none){.cover-chip{padding:5px 11px;font-size:11.5px}}.card.wk .card-body{gap:10px;padding:18px 2px 4px}.card.wk h3{text-wrap:balance;max-width:none;font-size:clamp(20px,1.05rem + .55vw,24px);line-height:1.22}.card.wk .card-impact{color:var(--ink-2);text-wrap:pretty;font-size:15px;line-height:1.5}.card.wk .card-foot{justify-content:flex-start;padding-top:14px}.cover-go{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:36px;height:36px;color:var(--ink);transition:background .2s var(--ease), color .2s var(--ease);background:#ffffffe0;border-radius:999px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.cover-go svg{width:14px;height:14px}.card.wk:hover .cover-go{background:var(--ink);color:var(--bg-raised)}@media (hover:none){.cover-go{width:32px;height:32px}}:root[lang=ja] .card.wk h3{line-height:1.4}.card.textonly .card-body{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:20px 56px;padding:36px 40px;display:grid}.card.textonly h3{max-width:22ch;margin-top:14px;font-size:clamp(24px,1.3rem + .9vw,32px)}.card.textonly .lead{max-width:46ch;margin-top:14px;display:block}.card.textonly .card-meta{text-align:right;place-self:start end;padding-top:4px}.card.textonly .card-foot{grid-column:1/-1}:root[lang=ja] .card h3{letter-spacing:.01em;line-height:1.4}.skills-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:28px}.skill-card{border:0;border-bottom:1px solid var(--hairline);background:0 0;border-radius:0;flex-direction:column;gap:10px;padding:26px 28px 30px 0;display:flex}.skill-card:nth-child(4n+2),.skill-card:nth-child(4n+3){border-left:1px solid var(--hairline);padding-inline:24px}.skill-card:nth-child(4n){border-left:1px solid var(--hairline);padding-left:24px}.skill-card:hover{border-color:var(--hairline);transform:none}.skill-card b{font-size:19px;font-weight:600;line-height:1.2}.skill-card .skill-desc{margin:0;font-size:16px;line-height:1.5}.skill-card .skill-link{color:var(--ink);margin-top:auto;padding-top:6px;font-size:14px;font-weight:500}.skill-card:hover .skill-link{color:var(--accent)}.earlier-work{border-top:0;margin-top:clamp(64px,8vw,112px);padding-top:0}.earlier-work .kicker{margin-bottom:22px;display:block}.earlier-grid{border-top:1px solid var(--ink);gap:0;margin-top:0}.earlier-grid article{padding:28px 0 8px}.earlier-grid article:first-child{border-right:1px solid var(--hairline);padding-right:40px}.earlier-grid article:last-child{padding-left:40px}.earlier-grid article h3{margin-bottom:10px;font-size:21px;font-weight:600}.earlier-grid .earlier-meta{letter-spacing:.08em;margin-bottom:16px;font-size:13px}.earlier-grid p{color:var(--ink);max-width:52ch;font-size:16px;line-height:1.55}.quote-band{background:var(--tint);border-top:0;grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end;gap:24px 48px;margin:clamp(64px,8vw,112px) 0 0;padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px);display:grid}.quote-band p{letter-spacing:-.01em;max-width:30ch;font-size:clamp(22px,1.1rem + 1vw,30px);font-weight:500;line-height:1.25}:root[lang=ja] .quote-band p{letter-spacing:.01em;line-height:1.6}.quote-band span{letter-spacing:.14em;justify-self:end;margin-top:0}.partners{border-top:1px solid var(--hairline);flex-direction:column;gap:22px;margin-top:clamp(64px,8vw,112px);padding-top:40px;padding-bottom:44px;display:flex}.partners .kicker{display:block}.marquee{min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.marquee ul{width:max-content;margin:0;padding:0;list-style:none;animation:70s linear infinite marquee;display:flex}.marquee:hover ul{animation-play-state:paused}.marquee li{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;min-height:48px;color:var(--ink-2);align-items:center;max-width:none;padding-inline:32px;font-size:clamp(16px,.9rem + .6vw,21px);font-weight:500;transition:color .25s;display:inline-flex}.marquee li:hover{color:var(--ink)}.marquee li:after{content:"";background:var(--hairline);border-radius:50%;width:5px;height:5px;margin-left:56px;display:inline-block}.marquee .logo{height:var(--logo-h,26px);color:var(--ink);align-items:center;display:inline-flex}.marquee .logo svg{width:auto;max-width:190px;height:100%;display:block}.marquee .logo-raster img{filter:brightness(0);width:auto;max-width:190px;height:100%;display:block}@media (max-width:640px){.marquee li{padding-inline:22px}.marquee .logo{height:calc(var(--logo-h,26px) * .8)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee{-webkit-mask-image:none;mask-image:none}.marquee ul{flex-wrap:wrap;gap:8px 0;width:auto;animation:none}.marquee li{padding-inline:0 24px}.marquee li:after{margin-left:24px}.marquee li[aria-hidden=true]{display:none}}.site-footer{margin-top:clamp(64px,8vw,112px);padding:clamp(56px,7vw,96px) 0 40px}.footer-cta{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:32px;display:grid}.footer-cta h2{letter-spacing:-.01em;max-width:18ch;color:var(--ink);font-size:clamp(30px,1.6rem + 1.8vw,50px);font-weight:500;line-height:1.05}:root[lang=ja] .footer-cta h2{letter-spacing:.01em;font-size:clamp(24px,1.3rem + 1.2vw,36px);line-height:1.4}.footer-cta .actions{flex-wrap:wrap;justify-content:flex-end;gap:16px;display:flex}.footer-meta{border-top:1px solid var(--hairline);margin-top:40px;padding-top:24px;font-size:14px}.footer-meta a{color:var(--ink-2);border-bottom:1px solid var(--hairline);text-decoration:none}.footer-meta a:hover{color:var(--ink);border-bottom-color:var(--ink)}.case-hero{padding:clamp(40px,6vw,88px) 0 0}.case-hero-cover{background:var(--tint);border:0;border-radius:0;margin-top:28px}.tagrow{margin-top:28px}.case-body{margin-top:clamp(48px,6vw,80px)}.case-meta{background:var(--tint);border-top:0;column-gap:56px;padding:24px 32px 10px}.case-meta dt{letter-spacing:.14em}.case-meta dd{color:var(--ink-2)}.case-section h2{letter-spacing:-.01em;margin:12px 0 28px;font-size:clamp(26px,1.3rem + 1vw,32px);font-weight:600;line-height:1.1}:root[lang=ja] .case-section h2{letter-spacing:.01em;line-height:1.4}.case-section h3{font-weight:600}.pullquote{letter-spacing:-.01em;border-left:2px solid var(--ink);max-width:26ch;margin:72px 0;padding-left:26px;font-size:clamp(24px,1.2rem + 1vw,30px);font-weight:500;line-height:1.25}.pullquote:before{display:none}:root[lang=ja] .pullquote{letter-spacing:.01em;line-height:1.6}table.outcomes th{letter-spacing:.16em;font-size:12px}.next-case{background:var(--tint);border-top:0;margin-top:clamp(64px,8vw,104px);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:0 calc(50vw - 50%);display:block}.next-case a{font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:clamp(48px,6vw,80px) 0;display:grid}.next-case a:hover{color:inherit}.next-case .sec-label{margin-bottom:18px;display:block}.next-title{letter-spacing:-.01em;text-wrap:balance;max-width:22ch;font-size:clamp(28px,1.5rem + 1.4vw,44px);font-weight:500;line-height:1.05;display:block}:root[lang=ja] .next-title{letter-spacing:.01em;line-height:1.4}.next-case .round{background:var(--bg-raised);width:72px;height:72px}.next-case .round svg{width:26px;height:26px}.next-case a:hover .round{background:var(--ink);color:var(--bg-raised)}[data-reveal=pending]{opacity:0}[data-reveal=in]{animation:fade-in .9s var(--ease) both;animation-delay:var(--d,0s)}[data-reveal=in][data-fx=left]{animation-name:fade-in-left;animation-duration:.7s}[data-reveal=in][data-fx=up]{animation-name:fade-in-up;animation-duration:.7s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-left{0%{opacity:0;filter:blur(.2ex);transform:translate(-2.5rem)}to{opacity:1;filter:blur();transform:none}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(2.5rem)}to{opacity:1;transform:none}}.career-strip[data-reveal=pending],.metrics[data-reveal=pending]{opacity:1}.career-strip[data-reveal=pending]>div,.metrics[data-reveal=pending]>.metric{opacity:0}.career-strip[data-reveal=in],.metrics[data-reveal=in]{animation:none}.career-strip[data-reveal=in]>div,.metrics[data-reveal=in]>.metric{animation:stat-in .6s var(--ease) both;animation-delay:calc(var(--i,0) * .15s)}.career-strip[data-reveal=in]>div:before,.metrics[data-reveal=in]>.metric:before{animation:rule-grow .7s var(--ease) both;animation-delay:calc(var(--i,0) * .15s + .1s)}@keyframes stat-in{0%{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:none}}@keyframes rule-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (max-width:860px){.hero-top,.cases,.footer-cta,.quote-band{grid-template-columns:1fr}.hero-strip{grid-template-columns:repeat(3,1fr)}.hero-strip a:nth-child(n+4){display:none}.card.feature{flex-direction:column}.card.feature .card-cover{aspect-ratio:16/10;flex:none;min-height:0}.card.feature .card-body,.card.textonly .card-body{padding:26px 28px 28px}.card.textonly .card-body{grid-template-columns:1fr}.card.textonly .card-meta{text-align:left;justify-self:start}.skills-grid{grid-template-columns:1fr}.skill-card,.skill-card:nth-child(4n+2),.skill-card:nth-child(4n+3),.skill-card:nth-child(4n){border-inline:0;padding-inline:0}.earlier-grid article:first-child{border-right:0;border-bottom:1px solid var(--hairline);padding-bottom:28px;padding-right:0}.earlier-grid article:last-child{padding-left:0}.quote-band span{justify-self:start}.footer-cta .actions{justify-content:flex-start}.case-meta{padding:22px 24px 8px}}@media (max-width:640px){:root{--header-h:92px}.site-header .wrap{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center;gap:4px 14px;display:grid}.site-header .brand{white-space:nowrap;flex-basis:auto;grid-area:1/1;font-size:15px}.site-header .lang-toggle{grid-area:1/2;justify-self:end}.site-header nav{grid-area:2/1/3/3}.site-nav{flex-wrap:nowrap;gap:22px;margin-left:0;padding:0}.site-nav a,:root[lang=ja] .site-nav a{letter-spacing:.12em;white-space:nowrap;font-size:11px}:root[lang=ja] .site-nav a{letter-spacing:.06em;font-size:12px}.home-hero{padding-top:40px}.home-hero h1{font-size:clamp(34px,9vw,40px)}:root[lang=ja] .home-hero h1{font-size:26px;line-height:1.45}.case-hero h1{font-size:clamp(30px,8.5vw,36px)}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.metric b{font-size:44px}.card.feature h3{font-size:24px}.next-case .round{width:56px;height:56px}}@media (max-width:480px){.career-strip,.metrics{grid-template-columns:1fr}.btn{padding:13px 18px 13px 20px;font-size:15px}}@media print{.site-header{display:none!important}body{padding-top:0}[data-reveal=pending]{opacity:1}}.about{padding-top:clamp(40px,6vw,80px)}.ab-section{margin-top:clamp(64px,8vw,112px)}.ab-section>.section-title{margin-bottom:32px}.ab-hero-top{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:0 72px;display:grid}.ab-hero .kicker{margin-bottom:20px;display:block}.ab-hero h1{letter-spacing:-.015em;max-width:22ch;margin:0 0 26px;font-size:clamp(34px,1.9rem + 2vw,54px);font-weight:600;line-height:1.04}:root[lang=ja] .ab-hero h1{letter-spacing:.01em;max-width:none;font-size:clamp(25px,1.4rem + 1.3vw,38px);line-height:1.45}.ab-lede{max-width:58ch;font-size:18px;line-height:1.6}.ab-now{color:var(--ink-2);max-width:58ch;margin-top:18px;font-size:16px}.ab-portrait .portrait{margin:6px 0 0}.ab-portrait .portrait img{filter:saturate(.9);border-radius:0}.ab-portrait figcaption{color:var(--ink-2);margin-top:10px;font-size:13px}.ab-rooms{margin:28px 0 0}.ab-rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ab-rooms-grid img{aspect-ratio:4/3;object-fit:cover;background:var(--tint);filter:saturate(.88);width:100%;height:100%;transition:filter .4s}.ab-rooms-grid img:hover{filter:saturate()}.ab-rooms figcaption{color:var(--ink-2);max-width:72ch;margin-top:14px;font-size:13px;line-height:1.55}.about .career-strip{margin-top:clamp(48px,6vw,72px)}.ab-arc{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:48px 72px;display:grid}.ab-arc-body p{max-width:54ch;font-size:17px;line-height:1.65}.ab-arc-body p+p{margin-top:18px}.ab-arc-close{border-top:1px solid var(--hairline);letter-spacing:-.005em;color:var(--ink);padding-top:20px;font-weight:500;max-width:34ch!important;margin-top:26px!important;font-size:20px!important;line-height:1.35!important}:root[lang=ja] .ab-arc-close{letter-spacing:.01em;line-height:1.6!important}.ab-arc-photo{margin:0;padding-top:62px}.ab-arc-photo img{background:var(--tint);filter:saturate(.88);width:100%;height:auto}.ab-arc-photo figcaption{color:var(--ink-2);margin-top:12px;font-size:13px;line-height:1.55}.ab-principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.ab-principles article{background:var(--tint);flex-direction:column;gap:14px;padding:30px 32px 32px;display:flex}.ab-principles h3{max-width:none;margin:0;font-size:21px;font-weight:600;line-height:1.2}.ab-principles p{color:var(--ink-2);max-width:none;margin:0;font-size:16px;line-height:1.55}.ab-principles .textlink{margin-top:auto;padding-top:8px;font-size:14px}.ab-principles .textlink:hover{color:var(--accent)}.ab-ladder{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:32px 72px;display:grid}.ab-ladder p{max-width:none;margin:0;font-size:17px;line-height:1.6}.ab-ladder-note{color:var(--ink-2);border-top:1px solid var(--hairline);padding-top:16px;font-size:15px!important}.about .figure{margin-top:40px}.about .timeline>div{border-bottom:1px solid var(--hairline);grid-template-columns:200px minmax(0,1fr);align-items:baseline;gap:8px 40px;padding:20px 0}.about .timeline>div:first-child{border-top:1px solid var(--ink)}.about .timeline dt{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.tl-when{font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:14px}.tl-sector{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--hairline);padding:3px 8px;font-size:11px;font-weight:500}:root[lang=ja] .tl-sector{letter-spacing:.06em}.about .timeline dd{color:var(--ink-2);max-width:62ch;font-size:16px;line-height:1.6}.about .timeline dd b{color:var(--ink);font-weight:600}.ab-practice{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px;display:grid}.ab-practice article{flex-direction:column;gap:12px;display:flex}.ab-practice-photo{aspect-ratio:16/10;background:var(--tint);display:block;overflow:hidden}.ab-practice-photo img{object-fit:cover;filter:saturate(.88);width:100%;height:100%;transition:transform .9s var(--ease)}.ab-practice article:hover .ab-practice-photo img{transform:scale(1.03)}.ab-practice h3{max-width:none;margin:4px 0 0;font-size:18px;font-weight:600;line-height:1.25}.ab-practice p{color:var(--ink-2);max-width:none;margin:0;font-size:15px;line-height:1.55}.about .quote-band{margin-top:clamp(64px,8vw,112px)}.about .quote-band p{max-width:34ch}.about .quote-band p em{color:inherit;font-style:italic}:root[lang=ja] .about .quote-band p em{font-style:normal;font-weight:700}.ab-closing{margin-top:clamp(48px,6vw,80px)}@media (max-width:900px){.ab-arc,.ab-ladder{grid-template-columns:1fr}.ab-arc-photo{padding-top:0}.ab-principles,.ab-practice{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.ab-hero-top{grid-template-columns:1fr;gap:32px}.ab-portrait{max-width:200px}}@media (max-width:640px){.ab-principles,.ab-practice{grid-template-columns:1fr}.ab-rooms-grid{gap:8px}.about .timeline>div{grid-template-columns:1fr;gap:10px}.about .timeline dt{flex-direction:row;align-items:center;gap:12px}.ab-lede{font-size:17px}}
