:root{color-scheme:light;--bone: #F2F1EC;--ink: #141412;--grey: #8C8B84;--red: #1D33D6;--hair: rgba(20,20,18,.9);--hair-soft: rgba(20,20,18,.12);--sans: "Segoe UI", "Helvetica Neue", Arial, sans-serif;--jp: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--mono: ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace;--t-fast: .25s;--ease: cubic-bezier(.25,.6,.2,1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bone);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}::selection{background:var(--ink);color:var(--bone)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--red);outline-offset:3px}.page{position:relative;z-index:1}nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:stretch;justify-content:space-between;border-bottom:1px solid var(--hair);background:var(--bone)}nav .cell{padding:14px clamp(16px,3.5vw,48px);font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:10px}nav .cell+.cell{border-left:1px solid var(--hair)}nav .mark{width:12px;height:12px;background:var(--red)}nav .links{display:flex}nav .links a{padding:14px clamp(12px,2vw,28px);display:flex;align-items:center;border-left:1px solid var(--hair);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}nav .links a:hover{background:var(--ink);color:var(--bone)}nav .status{border-left:1px solid var(--hair);gap:8px}nav .status i{width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulse 2.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}nav .scrollline{position:absolute;left:0;bottom:-2px;height:4px;width:0;background:var(--red)}nav .path{color:var(--red);min-width:108px;text-transform:none}@media(max-width:900px){nav .cell.tag,nav .status,nav .path{display:none}}nav .links a.menu-btn{display:none;border-left:1px solid var(--hair);color:var(--red);cursor:pointer;gap:8px}nav a.lang{gap:7px;cursor:pointer}nav .menu-btn .ic{width:16px;height:16px}.case-top .close .ic{width:16px;height:16px}@media(max-width:760px){nav .links a:not(.menu-btn):not(.lang){display:none}nav .links a.menu-btn{display:flex}}.mob-menu{position:fixed;inset:0;z-index:9;background:var(--bone);display:none;flex-direction:column;justify-content:center;padding:0 24px}.mob-menu.open{display:flex}.mob-menu a.mm{font-size:clamp(2.2rem,10.5vw,4rem);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.15;padding:12px 0;border-bottom:1px solid var(--hair-soft);display:flex;align-items:baseline;gap:18px}.mob-menu.open a.mm{animation:fadein .45s var(--ease) both}.mob-menu.open a.mm:nth-child(2){animation-delay:.06s}.mob-menu.open a.mm:nth-child(3){animation-delay:.12s}.mob-menu.open a.mm:nth-child(4){animation-delay:.18s}.mob-menu.open a.mm:nth-child(5){animation-delay:.24s}.mob-menu a.mm .n{font-family:var(--mono);font-size:12px;color:var(--red)}.mob-menu .mm-foot{margin-top:40px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}nav{animation:fadein .5s var(--ease) .15s both}.kicker{animation:fadein .6s var(--ease) .7s both}.band{animation:fadein .7s var(--ease) .9s both}@keyframes fadein{0%{opacity:0}}.liquid-zone:not(.gl){animation:land 1.05s cubic-bezier(.16,1,.3,1) .1s both}@keyframes land{0%{opacity:0;transform:scale(1.6)}35%{opacity:1}}.wrap{padding-inline:clamp(16px,3.5vw,48px)}.hero{position:relative;padding-top:110px;min-height:calc(100svh - 225px);display:flex;flex-direction:column;justify-content:center}html,body{overflow-x:clip}.chart{position:absolute;top:0;left:0;right:0;z-index:-1;width:100%;height:calc(100% + 200px);pointer-events:none;user-select:none}.hero .kicker{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:14px;margin-top:4.5vh}.hero .kicker:before{content:"";width:40px;height:1px;background:var(--red)}.hero .kicker b{color:var(--red);font-weight:400}.mega{font-weight:800;font-size:clamp(3rem,10.5vw,12.5rem);line-height:.92;letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap;will-change:transform}.mega .thin{-webkit-text-stroke:2px var(--ink);color:var(--bone)}.hero .row2{align-self:flex-end;font-size:clamp(2.1rem,7.4vw,8.8rem)}.liquid-zone{position:relative;display:flex;flex-direction:column}#liquid{display:none;position:absolute;inset:0;width:100%;height:100%}.liquid-zone.gl .mega{visibility:hidden}.liquid-zone.gl #liquid{display:block}.hero-jp{font-family:var(--jp);color:var(--grey);font-size:12px;letter-spacing:.3em;margin-top:3vh}@media(max-width:640px){.mega{white-space:normal;font-size:18vw;line-height:.92}.hero .row2{font-size:7.2vw;white-space:nowrap;margin-top:7vw;align-self:flex-start}.liquid-zone{min-height:82vw;justify-content:center;margin-inline:calc(clamp(16px,3.5vw,48px)*-1)}.hero .kicker{display:none}}.band{position:relative;z-index:2;margin-bottom:-2px}.band canvas{display:block;width:100%;height:225px}section{padding-block:clamp(90px,12vh,150px)}#work{background:var(--ink);color:var(--bone);padding-top:clamp(80px,10vh,120px);padding-bottom:clamp(120px,15vh,170px)}#work .index-row{border-color:#f2f1ec40}#work .index-row:hover{background:var(--bone);color:var(--ink)}#work .index-row:hover .desc{color:#55554f}#work .index-row:hover .stack{color:#77766e}#work .index-row .num,#work .index-row .desc,#work .index-row .stack{color:#a3a29a}.index-row{cursor:pointer}.index-row .arrow{transition:transform .25s var(--ease),color .25s var(--ease)}.index-row:hover .arrow{color:var(--red);animation:nudge .9s var(--ease) infinite}@keyframes nudge{50%{transform:translate(9px)}}.ph{background:repeating-linear-gradient(-45deg,rgba(20,20,18,.06) 0 1px,transparent 1px 9px);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);text-align:center;padding:8px}.ph .play{width:0;height:0;border-left:13px solid var(--red);border-block:8px solid transparent}.peek{position:fixed;left:0;top:0;z-index:11;width:min(380px,30vw);aspect-ratio:16/10;pointer-events:none;opacity:0;transition:opacity .28s var(--ease);background:var(--bone)}.peek.on{opacity:1}@media(hover:none),(max-width:760px){.peek{display:none}}.case{position:fixed;inset:0;z-index:12;background:var(--bone);overflow-y:auto;display:none}.case.open{display:block}.case-top{position:sticky;top:0;z-index:2;background:var(--bone);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--hair);padding:14px clamp(16px,3.5vw,48px);font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.case-top .cpath{color:var(--red);text-transform:none}.case-top .close{cursor:pointer}.case-top .close:hover{color:var(--red)}.case-body{max-width:1100px;margin:0 auto;padding:clamp(44px,8vh,100px) clamp(16px,3.5vw,48px) 130px}.case-body h1{font-size:clamp(2.4rem,7vw,5.5rem);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:.95}.case-meta{display:flex;gap:10px 30px;flex-wrap:wrap;margin:22px 0 46px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}.case-meta b{color:var(--red);font-weight:400}.case-lede{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:700;line-height:1.4;max-width:34em;letter-spacing:-.01em}.case-media{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:48px 0}.case-media .ph{aspect-ratio:16/10}.case-media .ph.wide{grid-column:1 / -1;aspect-ratio:21/9}.case-cols{columns:2;column-gap:clamp(28px,4vw,64px)}.case-cols p{line-height:1.75;color:#55554f;margin-bottom:1em;break-inside:avoid}.case-stack{margin-top:40px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--grey);border-top:1px solid var(--hair-soft);padding-top:18px}.case-next{margin-top:80px;padding-top:24px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;align-items:baseline;gap:16px;cursor:pointer;font-weight:800;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(1.4rem,3.4vw,2.4rem)}.case-next:hover{color:var(--red)}.case-next .lbl{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.16em;color:var(--grey)}@media(max-width:760px){.case-media{grid-template-columns:1fr}.case-cols{columns:1}}.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:0 0 18px;margin-bottom:0}.sec-h h2{font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:800;text-transform:uppercase;letter-spacing:-.02em}.sec-h .jp{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey)}.index-row{display:grid;grid-template-columns:70px minmax(0,5fr) minmax(0,4fr) minmax(0,3fr) 40px;gap:clamp(12px,2vw,32px);align-items:center;padding:26px 0;border-bottom:1px solid var(--hair);position:relative;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease);cursor:pointer}.index-row:hover{background:var(--ink);color:var(--bone)}.index-row:hover .num,.index-row:hover .arrow{color:var(--red)}.index-row .num{font-family:var(--mono);font-size:13px;color:var(--grey);font-variant-numeric:tabular-nums}.index-row .name{font-size:clamp(1.3rem,2.8vw,2.1rem);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05}.index-row .name .jp-echo{display:block;font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.16em;color:var(--grey);margin-top:6px;text-transform:uppercase}.index-row:hover .name .jp-echo{color:var(--red)}.index-row .desc{font-size:.9rem;color:var(--grey);max-width:42ch}.index-row:hover .desc{color:#f2f1ecbf}.index-row .stack{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--grey)}.index-row:hover .stack{color:#f2f1ec99}.index-row .arrow{font-size:1.3rem;transition:transform var(--t-fast) var(--ease)}@media(max-width:820px){.index-row{grid-template-columns:44px minmax(0,1fr) 28px}.index-row .desc,.index-row .stack{display:none}}.xp{display:grid;gap:38px;max-width:780px}.xp-row{display:grid;grid-template-columns:118px minmax(0,1fr);gap:24px;align-items:baseline}.xp-when{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--red);white-space:nowrap}.xp-what{font-weight:700;font-size:1.08rem;letter-spacing:-.01em}.xp-note{color:#55554f;font-size:.92rem;margin-top:6px;max-width:54ch}@media(max-width:600px){.xp-row{grid-template-columns:1fr;gap:6px}}.sec2{display:grid;grid-template-columns:190px minmax(0,1fr);column-gap:clamp(28px,4vw,72px)}.sec2 .side{padding-top:6px}.sec2 .side h2{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.2em;text-transform:uppercase}.sec2 .side h2:before{content:"■ ";color:var(--red);font-size:9px}.sec2 .side .jp{display:block;margin-top:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}.sec2 .content{border-left:1px solid var(--hair);padding-left:clamp(28px,4vw,64px)}@media(max-width:820px){.sec2{grid-template-columns:1fr}.sec2 .side{margin-bottom:26px}.sec2 .content{border-left:none;padding-left:0}}.cap-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:40px 32px;max-width:860px}.cap-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);margin-bottom:14px}.cap-col ul{list-style:none;padding:0;display:grid;gap:11px}.cap-col li{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;transition:color var(--t-fast) var(--ease);cursor:default}.cap-col li:hover{color:var(--red)}.about-cols{display:block}.about-cols .lede{font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:700;line-height:1.35;letter-spacing:-.015em;text-wrap:balance;max-width:26em;margin-bottom:clamp(22px,3.5vh,40px)}.about-cols .lede em{font-style:normal;color:var(--red)}.about-cols .body p{color:#444440;margin-bottom:1em;max-width:56ch}.contact a.shout{display:block;font-size:clamp(3rem,12vw,10rem);font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:.95;padding:clamp(30px,6vh,70px) 0;transition:color var(--t-fast) var(--ease),letter-spacing .35s var(--ease)}.contact a.shout:hover{color:var(--red);letter-spacing:-.02em}.contact{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between}.contact .sub{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--hair);padding:18px 0 44px;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}.contact .sub a:hover{color:var(--red)}.ic{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:-2px}.cap-h .ic{width:12px;height:12px;color:var(--red);margin-right:7px}.sub .ic{width:12px;height:12px;margin-right:6px}.sub .ic.ext{width:11px;height:11px;margin:0 0 0 5px}.sec-h .jp:before,.side .jp:before{content:"";display:inline-block;width:5px;height:5px;background:var(--red);margin-right:9px;vertical-align:1px}.rv{opacity:0;transform:translateY(52px);transition:opacity .8s var(--ease),transform .8s cubic-bezier(.16,1,.3,1)}.rv.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none}*{animation:none!important;transition:none!important}.mega{transform:none!important}}
