@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_b8c3c420-module__vGkobG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_b8c3c420-module__vGkobG__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--black:#0a0c0d;--paper:#fff;--off:#f3f5f5;--ink:#101314;--muted:#5c6669;--line:#dce1e2;--line-hard:#b9c1c3;--cyan:#0e7c93;--cyan-dk:#2cb7ce;--onblack:#e8eced;--onblack-mut:#8b9598;--font-jp:var(--font-noto-sans-jp), "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--font-arc:var(--font-archivo), var(--font-noto-sans-jp), sans-serif;--font-mono:var(--font-plex-mono), ui-monospace, SFMono-Regular, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-jp);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.9}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.wrap{max-width:1120px;margin:0 auto;padding:0 32px}@media (max-width:640px){.wrap{padding:0 20px}}.mono{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:11px}.arc{font-family:var(--font-arc);text-transform:uppercase;font-style:italic;font-weight:900}.site-header{z-index:50;border-bottom:1px solid #0000;transition:background .3s,border-color .3s;position:fixed;top:0;left:0;right:0}.site-header.solid{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom-color:var(--line);background:#fffffff0}.hdr{justify-content:space-between;align-items:center;gap:24px;max-width:1120px;margin:0 auto;padding:16px 32px;display:flex}@media (max-width:640px){.hdr{padding:14px 20px}}.brand{letter-spacing:-.03em;color:var(--onblack);font-size:22px;text-decoration:none;transition:color .3s}.site-header.solid .brand{color:var(--ink)}.site-nav{gap:24px;display:flex}@media (max-width:760px){.site-nav{display:none}}.site-nav a{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#e8ecedc7;font-size:11px;text-decoration:none;transition:color .2s}.site-header.solid .site-nav a{color:var(--muted)}.site-nav a:hover{color:var(--cyan-dk)}.site-header.solid .site-nav a:hover{color:var(--cyan)}.menu-btn{cursor:pointer;width:34px;height:34px;color:var(--onblack);background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;padding:0;transition:color .3s;display:none}.site-header.solid .menu-btn{color:var(--ink)}@media (max-width:760px){.menu-btn{display:flex}}.menu-btn i{background:currentColor;width:22px;height:1.5px;transition:transform .25s;display:block}.menu-btn[aria-expanded=true]{color:var(--onblack)}.menu-btn[aria-expanded=true] i:first-child{transform:translateY(3.25px)rotate(45deg)}.menu-btn[aria-expanded=true] i:nth-child(2){transform:translateY(-3.25px)rotate(-45deg)}.mobnav{z-index:55;background:var(--black);color:var(--onblack);opacity:0;visibility:hidden;align-content:center;gap:4px;padding:0 28px;transition:opacity .28s,visibility .28s;display:grid;position:fixed;inset:0}.mobnav.open{opacity:1;visibility:visible}.mobnav a{font-family:var(--font-arc);text-transform:uppercase;letter-spacing:-.03em;color:var(--onblack);font-size:clamp(30px,9vw,52px);font-style:italic;font-weight:900;line-height:1.28;text-decoration:none;transition:color .2s}.mobnav a:hover,.mobnav a:focus-visible{color:var(--cyan-dk)}.mobnav .mail-s{font-family:var(--font-mono);letter-spacing:.14em;color:var(--onblack-mut);margin-top:26px;font-size:11px;text-decoration:none}.hero{background:var(--black);color:var(--onblack);position:relative;overflow:hidden}.stage{height:min(86vh,720px);min-height:440px;position:relative}.stage canvas{width:100%;height:100%;display:block}.lockup{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.lk-tag,.lk-logo{text-align:center;opacity:0;color:var(--onblack);grid-area:1/1;line-height:1}.lk-logo{font-family:var(--font-arc);text-transform:uppercase;letter-spacing:-.035em;justify-items:center;gap:16px;font-size:clamp(46px,7.4vw,92px);font-style:italic;font-weight:900;display:grid}.lk-rule{background:var(--cyan-dk);width:min(190px,32vw);height:2px;display:block;transform:scaleX(0)}.lk-tag{font-family:var(--font-arc);text-transform:uppercase;letter-spacing:.02em;font-size:clamp(19px,3.5vw,42px);font-style:italic;font-weight:900}.scrollcue{color:var(--onblack-mut);white-space:nowrap;opacity:0;flex-direction:column;align-items:center;gap:12px;font-size:10px;transition:opacity .9s;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.scrollcue.in{opacity:1}.scrollcue i{background:var(--onblack-mut);width:1px;height:30px;animation:2.4s ease-in-out infinite cue;display:block}@keyframes cue{0%,to{transform-origin:top;transform:scaleY(.25)}50%{transform-origin:top;transform:scaleY(1)}}.section{padding:110px 0}@media (max-width:640px){.section{padding:74px 0}}.section-off{background:var(--off)}.section-black{background:var(--black);color:var(--onblack)}.sec-top{gap:14px;max-width:64ch;margin-bottom:52px;display:grid}.sec-top .mono{color:var(--cyan)}.sec-top h2{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(26px,3.4vw,38px);font-weight:700;line-height:1.4}.sec-top h2 span{font-family:var(--font-arc);text-transform:uppercase;letter-spacing:.02em;color:var(--muted);margin-bottom:10px;font-size:.42em;font-style:italic;font-weight:900;display:block}.sec-top p{color:var(--muted);margin:0;font-size:15px}.sec-top.bare{margin-bottom:44px}.bare-h{font-family:var(--font-arc);text-transform:uppercase;letter-spacing:-.025em;margin:0;font-size:clamp(30px,4.6vw,54px);font-style:italic;font-weight:900;line-height:1}.section-black .sec-top .mono{color:var(--cyan-dk)}.subhead{align-items:baseline;gap:14px;margin:64px 0 26px;display:flex}.subhead .mono{color:var(--cyan)}.subhead h3{margin:0;font-size:20px;font-weight:700}.prods{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}@media (max-width:820px){.prods{grid-template-columns:1fr}}.prod{background:var(--paper);align-content:start;gap:16px;padding:36px 34px;display:grid}.prod-top{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.prod h3{letter-spacing:-.01em;margin:0;font-size:26px;font-weight:700}.prod .logo-h{margin:0;line-height:0}.prod .logo-h img{width:auto;display:block}.badge{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line-hard);color:var(--muted);padding:4px 9px;font-size:9.5px}.badge.live{border-color:var(--cyan);color:var(--cyan)}.prod .en{font-family:var(--font-arc);text-transform:uppercase;color:var(--muted);letter-spacing:.02em;font-size:12px;font-style:italic;font-weight:900}.prod .tag{margin:0;font-size:17px;font-weight:500;line-height:1.7}.prod p{color:var(--muted);margin:0;font-size:14.5px}.prod ul{color:var(--muted);margin:0;padding-left:1.15em;font-size:14px;line-height:1.9}.prod ul strong{color:var(--ink);font-weight:600}.cta{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line-hard);justify-self:start;align-items:center;gap:9px;margin-top:6px;padding-bottom:5px;font-size:11px;text-decoration:none;transition:color .2s,border-color .2s;display:inline-flex}.cta:hover{color:var(--cyan);border-color:var(--cyan)}.cta.off{color:var(--muted);pointer-events:none;border-bottom-style:dashed}.areas{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.area{background:var(--paper);grid-template-columns:.92fr 1.08fr;display:grid}@media (max-width:880px){.area{grid-template-columns:1fr}}.area-l{border-right:1px solid var(--line);padding:34px}@media (max-width:880px){.area-l{border-right:0;border-bottom:1px solid var(--line)}}.area-l .n{font-family:var(--font-arc);color:var(--cyan);margin-bottom:10px;font-size:15px;font-style:italic;font-weight:900;display:block}.area-l h3{margin:0 0 4px;font-size:23px;font-weight:700}.area-l .en{font-family:var(--font-arc);text-transform:uppercase;color:var(--muted);letter-spacing:.02em;margin-bottom:16px;font-size:11.5px;font-style:italic;font-weight:900;display:block}.area-l p{color:var(--muted);margin:0 0 18px;font-size:14.5px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips span{border:1px solid var(--line);color:var(--muted);padding:5px 10px;font-size:12px}.area-r{align-content:start;gap:0;padding:34px;display:grid}.area-r>.mono{color:var(--muted);margin-bottom:16px}.case{border-top:1px solid var(--line);gap:6px;padding:16px 0;display:grid}.case:first-of-type{border-top:0;padding-top:0}.case h4{margin:0;font-size:15.5px;font-weight:700;line-height:1.6}.case .meta{font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted);flex-wrap:wrap;gap:10px 16px;font-size:10.5px;display:flex}.case p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.8}.case p strong{color:var(--ink);font-weight:600}.case .res{color:var(--ink);font-weight:500}.themes{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}@media (max-width:880px){.themes{grid-template-columns:1fr}}.theme{background:var(--paper);align-content:start;gap:12px;padding:32px;display:grid}.theme h3{margin:0;font-size:19px;font-weight:700;line-height:1.5}.theme .en{font-family:var(--font-arc);text-transform:uppercase;color:var(--muted);letter-spacing:.02em;font-size:11px;font-style:italic;font-weight:900}.theme p{color:var(--muted);margin:0;font-size:14px;line-height:1.85}.more{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--line-hard);justify-self:start;margin-top:4px;padding-bottom:4px;font-size:11px;text-decoration:none;transition:color .2s,border-color .2s}.more:hover,.more:focus-visible{color:var(--cyan);border-color:var(--cyan)}.theme .soon{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-self:start;margin-top:4px;font-size:10.5px}.noteacct{border:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding:22px 26px;display:flex}.noteacct p{color:var(--muted);margin:0;font-size:14px}.corp{border-top:1px solid var(--line-hard)}.corp .r{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:24px;padding:14px 0;display:grid}@media (max-width:520px){.corp .r{grid-template-columns:1fr;gap:2px}}.corp .k{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:5px;font-size:10.5px}.corp .v{font-size:14.5px;line-height:1.8}.founder{grid-template-columns:.85fr 1.15fr;align-items:start;gap:48px;display:grid}@media (max-width:880px){.founder{grid-template-columns:1fr;gap:32px}}.photo{background:var(--line);line-height:0;position:relative}.photo img{filter:grayscale()contrast(1.06)brightness(1.02);width:100%;height:auto;display:block}.founder .fname{margin:0 0 2px;font-size:24px;font-weight:700}.founder .role{color:var(--muted);font-size:13px;font-family:var(--font-mono);letter-spacing:.1em;margin:0 0 12px}.social{gap:16px;margin:0 0 24px;display:flex}.social a{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-hard);padding-bottom:4px;font-size:11px;text-decoration:none;transition:color .2s,border-color .2s}.social a:hover,.social a:focus-visible{color:var(--cyan);border-color:var(--cyan)}.founder .msg{margin:0 0 28px;font-size:16px;line-height:1.95}.career{gap:0;display:grid}.cr{border-top:1px solid var(--line-hard);grid-template-columns:96px 1fr;gap:18px;padding:13px 0;display:grid}@media (max-width:520px){.cr{grid-template-columns:1fr;gap:2px}}.cr .yr{font-family:var(--font-mono);letter-spacing:.08em;color:var(--cyan);font-variant-numeric:tabular-nums;padding-top:4px;font-size:11.5px}.cr p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.8}.cr p strong{color:var(--ink);font-weight:500}.book{border-top:1px solid var(--line-hard);grid-template-columns:104px 1fr;align-items:start;gap:24px;margin-top:34px;padding-top:30px;display:grid}@media (max-width:520px){.book{grid-template-columns:86px 1fr;gap:18px}}.bookcover{line-height:0;display:block}.bookcover img{filter:grayscale()contrast(1.05);width:100%;height:auto;display:block}.bookmeta{align-content:start;gap:7px;display:grid}.bookmeta .mono{color:var(--muted)}.bookmeta h4{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.bookmeta p{color:var(--muted);margin:0;font-size:14px;line-height:1.8}.bookmeta p strong{color:var(--ink);font-weight:500}.mail{font-family:var(--font-arc);letter-spacing:-.02em;color:var(--onblack);border-bottom:2px solid var(--cyan-dk);margin-top:8px;padding-bottom:8px;font-size:clamp(24px,4.6vw,52px);font-style:italic;font-weight:900;text-decoration:none;transition:color .2s;display:inline-block}.mail:hover{color:var(--cyan-dk)}.site-footer{background:var(--black);color:var(--onblack-mut);border-top:1px solid #e8eced1f}.ft{flex-wrap:wrap;justify-content:space-between;gap:20px;max-width:1120px;margin:0 auto;padding:26px 32px;display:flex}@media (max-width:640px){.ft{padding:22px 20px}}[data-reveal]{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(16px)}[data-reveal].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}.scrollcue{opacity:1}.scrollcue i{animation:none}html{scroll-behavior:auto}}.legal{padding:132px 0 96px}@media (max-width:640px){.legal{padding:96px 0 64px}}.legal .wrap{max-width:760px}.legal h1{letter-spacing:-.01em;margin:0 0 6px;font-size:clamp(24px,3.2vw,32px);font-weight:700}.legal .legal-sub{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);margin:0 0 44px;font-size:11px}.legal section{margin-bottom:34px}.legal h2{border-bottom:1px solid var(--line);margin:0 0 10px;padding-bottom:8px;font-size:16px;font-weight:700}.legal p{color:var(--muted);margin:0 0 12px;font-size:14.5px;line-height:1.95}.legal ul{margin:0 0 12px;padding-left:1.2em}.legal li{color:var(--muted);font-size:14.5px;line-height:1.95}.legal .legal-tail{border-top:1px solid var(--line-hard);margin-top:48px;padding-top:22px}.legal .legal-tail p{color:var(--ink);margin:0;font-size:14px}.ft-links{flex-wrap:wrap;align-items:baseline;gap:20px;display:flex}.ft-links a{text-decoration:none;transition:color .2s}.ft-links a:hover{color:var(--cyan-dk)}
