:root,.scheme-dark{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:var(--lightningcss-light,#ecebe5)var(--lightningcss-dark,#101110);--color-surface:var(--lightningcss-light,#e2e0d8)var(--lightningcss-dark,#171917);--color-text:var(--lightningcss-light,#151713)var(--lightningcss-dark,#ecece5);--color-text-muted:var(--lightningcss-light,#60645c)var(--lightningcss-dark,#979b93);--color-accent:var(--lightningcss-light,#4f5e00)var(--lightningcss-dark,#dfff42);--color-accent-contrast:var(--lightningcss-light,#ecebe5)var(--lightningcss-dark,#11130e);--color-border:var(--lightningcss-light,#c4c5bd)var(--lightningcss-dark,#343731);--color-focus:var(--color-accent);--color-danger:var(--lightningcss-light,#b91c1c)var(--lightningcss-dark,#fca5a5);--project-anime-bg:#c9ed42;--project-anime-fg:#17200c;--project-quality-bg:#d8d4c6;--project-quality-fg:#2c2c26;--project-promo-bg:#a93f2f;--project-promo-fg:#f4e8db;--project-games-bg:#254d68;--project-games-fg:#e8eee9;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:7rem;--space-10:9rem;--font-body:"Manrope", "Noto Sans JP", system-ui, sans-serif;--font-heading:var(--font-body);--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--text-2xs:.625rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-2xl:clamp(1.5rem, 3.2vw, 3rem);--text-3xl:clamp(2.75rem, 6vw, 5.625rem);--text-display:clamp(3.125rem, 8.7vw, 8.625rem);--leading-display:.92;--leading-tight:1.1;--leading-normal:1.7;--tracking-display:-.07em;--tracking-snug:-.04em;--tracking-label:.08em;--weight-regular:400;--weight-medium:500;--weight-bold:600;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:1rem;--radius-full:999px;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 4px 12px #0000001f;--container-max:90rem;--gutter:var(--space-7);--focus-width:3px;--transition-fast:.18s ease}@media (prefers-color-scheme:dark){:root,.scheme-dark{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark],.scheme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}img,picture,svg,video{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}ul[role=list],ol[role=list]{padding:0;list-style:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-synthesis:none;background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);overflow-x:clip}:lang(ja) body{word-break:keep-all;overflow-wrap:break-word}h1,h2,h3,h4{font-family:var(--font-heading);line-height:var(--leading-tight);text-wrap:balance}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{text-wrap:pretty}a{color:var(--color-accent);text-underline-offset:.2em}code,kbd,pre{font-family:var(--font-mono)}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-width)}.skip-link{top:var(--space-2);left:var(--space-2);z-index:1;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-contrast);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--container-max);padding-inline:var(--gutter);margin-inline:auto}.section{z-index:1;padding:var(--space-9) var(--gutter);border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 94%, transparent);position:relative}.grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media (width<=50rem){:root{--gutter:var(--space-5)}.section{padding-block:var(--space-8)}}@media (width>=48rem){.grid{grid-template-columns:repeat(2,1fr)}}@media (width>=64rem){.grid{grid-template-columns:repeat(3,1fr)}}main:focus{outline:none}.kicker,.section-heading>p{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.5}.section-heading{gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.section-heading>p{font-size:var(--text-2xs)}.project-meta dd,.about-copy,.contact-row>p{overflow-wrap:anywhere}.grain{z-index:20;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:fixed;inset:0}.parallax-orb{z-index:0;aspect-ratio:1;border:1px solid color-mix(in srgb, var(--color-accent) 30%, transparent);border-radius:var(--radius-full);pointer-events:none;width:42vw;position:fixed;top:85vh;right:-14vw}.orb-two{width:54vw;top:150vh;left:-20vw;right:auto}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.parallax-orb{animation:linear both orb-drift;animation-timeline:scroll(root)}.orb-two{animation-name:orb-drift-fast}}}@keyframes orb-drift{to{transform:translateY(-110vh)}}@keyframes orb-drift-fast{to{transform:translateY(-140vh)}}.scramble{overflow-clip-margin:.15em;display:block;position:relative;overflow:clip}.scramble-ghost{color:#0000}.scramble-frame{position:absolute;inset:0}.arrow{width:var(--text-lg);height:var(--text-lg);flex:none}.arrow path{stroke:currentColor;stroke-width:1.3px}.arrow-down{transform:rotate(90deg)}.rolling-number{white-space:nowrap;font-variant-numeric:tabular-nums;position:relative}.rolling-text{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.rolling-digit{vertical-align:bottom;height:1lh;display:inline-block;overflow:hidden}.rolling-digit>span{transform:translateY(calc(var(--n) * -5%));transition:transform 1.6s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i) * 60ms);display:block}.rolling-digit>span>span{height:1lh;display:block}@media (prefers-reduced-motion:reduce){.rolling-digit>span{transition:none}}.hero-art,.hero-slide,.hero-slide>img{position:absolute;inset:0}.hero-art{z-index:-2;--art-opacity-dark:.25;--art-opacity-light:.5;opacity:var(--art-opacity-dark);overflow:hidden}:root[data-theme=light] .hero-art{opacity:var(--art-opacity-light)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .hero-art{opacity:var(--art-opacity-light)}}.hero-slide{opacity:0;transition:opacity 1.9s ease-in-out}.hero-slide.is-active{opacity:1}.hero-slide>img{width:100%;height:100%}.hero-slide-fill{object-fit:cover;filter:blur(2.5rem)brightness(.45);transform:scale(1.15)}.hero-slide-image{padding-top:var(--space-9);object-fit:contain;object-position:right center;transition:transform 1.9s ease-in-out}.hero-slide.is-active .hero-slide-image{transition-duration:8s;transform:scale(1.025)}.hero-wall{gap:var(--space-4);padding:var(--space-9) var(--gutter) var(--space-7);grid-template-columns:repeat(4,minmax(0,1fr));transition:transform 1.9s ease-in-out;display:grid;position:absolute;inset:0;transform:translate(-.75rem)}.hero-slide.is-active .hero-wall{animation:1.9s ease-out wall-in;transform:none}@keyframes wall-in{0%{transform:translate(1.125rem)}}.hero-wall-poster{object-fit:contain;width:100%;height:100%;animation:1.2s ease-in-out poster-in}@keyframes poster-in{0%{opacity:0}}@media (orientation:portrait){.hero-slide-image{object-fit:cover;object-position:var(--focus,50% 50%)}.hero-wall{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.hero-wall-poster:first-child{object-position:right bottom}.hero-wall-poster:nth-child(2){object-position:left bottom}.hero-wall-poster:nth-child(3){object-position:right top}.hero-wall-poster:nth-child(4){object-position:left top}}.hero{z-index:1;min-height:100svh;padding:var(--space-10) var(--gutter) var(--space-7);color:var(--color-text);background:var(--color-bg);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.hero:before{z-index:-1;content:"";background:linear-gradient(to top, var(--color-bg), transparent 35%), linear-gradient(to bottom, color-mix(in srgb, var(--color-bg) 70%, transparent), transparent 25%), linear-gradient(to right, color-mix(in srgb, var(--color-bg) 85%, transparent) 20%, color-mix(in srgb, var(--color-bg) 45%, transparent) 70%);position:absolute;inset:0}.availability{top:8rem;right:var(--gutter);align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;display:flex;position:absolute}.availability span{background:var(--color-accent);width:.4375rem;height:.4375rem;box-shadow:0 0 12px var(--color-accent);border-radius:50%}.hero-name{margin-top:var(--space-6);font-size:var(--text-display);font-weight:var(--weight-medium);line-height:var(--leading-display);letter-spacing:-.075em}.hero-name span,.hero-name em{display:block}.hero-name em{color:var(--color-accent);text-align:right;font-style:normal}.hero-bottom{margin-top:var(--space-7);grid-template-columns:repeat(12,1fr);align-items:end;display:grid}.hero-message{grid-column:2/span 6}.hero-intro{max-width:41rem;font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:-.045em}.hero-stats{gap:var(--space-8);margin-top:var(--space-6);display:flex}.hero-client-roster{margin-top:var(--space-6)}.hero-stats>div{justify-content:flex-end;gap:var(--space-2);flex-direction:column-reverse;display:flex}.hero-stats dd{color:var(--color-accent);font-size:var(--text-lg);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);margin:0}.hero-stats dt{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase}.hero-stat-note{margin-top:var(--space-1);letter-spacing:0;text-transform:none;display:block}.circle-link{width:8.25rem;height:8.25rem;padding:var(--space-5);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;transition:color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border-radius:50%;grid-column:10/span 3;justify-content:space-between;justify-self:end;align-items:center;line-height:1.4;text-decoration:none;display:flex}.circle-link:hover{border-color:var(--color-accent);color:var(--color-accent);transform:rotate(-4deg)}.scroll-note{bottom:var(--space-7);left:var(--gutter);gap:var(--space-3);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;writing-mode:vertical-rl;display:flex;position:absolute}@media (width<=50rem){.hero:before{background:linear-gradient(to top, var(--color-bg), transparent 35%), linear-gradient(color-mix(in srgb, var(--color-bg) 70%, transparent), color-mix(in srgb, var(--color-bg) 70%, transparent))}.hero{min-height:max(100svh,47.5rem);padding-top:var(--space-10)}.availability{top:7.5rem;left:var(--gutter)}.hero>.kicker{margin-top:var(--space-8)}.hero-name{font-size:clamp(3.125rem,16vw,5.125rem)}.hero-name em{text-align:left}.hero-bottom{justify-content:space-between;gap:var(--space-4);display:flex}.hero-intro{font-size:var(--text-xl)}.hero-stats{gap:var(--space-5)}.circle-link{width:5.625rem;height:5.625rem;padding:var(--space-3);flex:none}.scroll-note{display:none}}@media (width>=50.0625rem) and (orientation:portrait){.hero-name{font-size:clamp(5rem,12vw,8.625rem)}.hero-message{grid-column:1/span 8}.hero-intro{font-size:clamp(1.75rem,3.6vw,2.75rem)}.hero-stats dd{font-size:var(--text-xl)}}.hero-art{transform:translateY(calc(var(--hero-progress,0) * 35%))}.hero-name{transform:translateY(calc(var(--hero-progress,0) * -20vh));opacity:calc(1 - var(--hero-progress,0))}.hero-bottom{transform:translateY(calc(var(--hero-progress,0) * -10vh));opacity:calc(1 - var(--hero-progress,0))}.project-grid{gap:5rem var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-card.wide{grid-column:1/-1}.project-visual{min-height:32.5rem;color:var(--project-fg);background:var(--project-bg);position:relative;overflow:hidden}.project-card:not(.wide) .project-visual{min-height:38rem}.project-bg-track{perspective:75rem;opacity:.5;filter:grayscale()contrast(.55)brightness(1.35);mix-blend-mode:multiply;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 70%);mask-image:linear-gradient(90deg,#0000,#000 70%)}.project-anime .project-bg-track{opacity:.35;filter:grayscale()contrast(.45)brightness(1.45)}.project-bg{aspect-ratio:2/3;object-fit:cover;height:80%;opacity:clamp(0, 3 - var(--a), 1);transform:translate(-50%, -50%)  translateX(calc(var(--d) * 62%))  rotateY(calc(clamp(-1, var(--d), 1) * -45deg))  scale(calc(1 - min(var(--a), 1) * .18));transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .7s;animation:.5s both project-bg-in;position:absolute;top:50%;left:60%}@keyframes project-bg-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.project-bg{transition:none;animation:none}}.project-visual:before{content:"";aspect-ratio:1;opacity:.25;border:1px solid;border-radius:50%;width:55%;position:absolute;top:-45%;right:-8%}.project-anime{--project-bg:var(--project-anime-bg);--project-fg:var(--project-anime-fg)}.project-quality{--project-bg:var(--project-quality-bg);--project-fg:var(--project-quality-fg)}.project-promo{--project-bg:var(--project-promo-bg);--project-fg:var(--project-promo-fg)}.project-games{--project-bg:var(--project-games-bg);--project-fg:var(--project-games-fg)}.project-number{z-index:2;top:var(--space-5);left:var(--space-5);font-family:var(--font-mono);font-size:var(--text-2xs);position:absolute}.project-mark{z-index:1;top:16%;position:absolute;inset-inline:8%}.project-mark p,.project-mark small{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase}.project-mark-title{max-width:56rem;margin:var(--space-4) 0 var(--space-5);font-size:clamp(3rem,7vw,6.75rem);font-weight:var(--weight-medium);line-height:var(--leading-display);letter-spacing:var(--tracking-display);display:block}.project-card:not(.wide) .project-mark-title{font-size:clamp(2.8rem,5vw,4.625rem)}.project-list{z-index:1;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:currentColor transparent;border-top:1px solid;width:min(48%,38rem);max-height:17rem;padding:0;list-style:none;position:absolute;bottom:8%;right:6%;overflow-y:auto}.project-list li{gap:var(--space-3);padding-block:var(--space-3);font-size:var(--text-xs);opacity:.7;border-bottom:1px solid;grid-template-columns:2.25rem 1fr;transition:opacity .18s,padding .18s,background-color .18s;display:grid;position:relative}.project-list li:before{content:"";opacity:0;background:#fff;width:2px;transition:opacity .18s,transform .18s;position:absolute;inset:0 auto 0 0;transform:scaleY(.25)}.project-list li[aria-current=true]{opacity:1}.project-list li:hover{padding-inline:var(--space-3) var(--space-2);opacity:1;background:color-mix(in srgb, #fff var(--highlight,14%), transparent)}.project-list li:has(:focus-visible){padding-inline:var(--space-3) var(--space-2);opacity:1;background:color-mix(in srgb, #fff var(--highlight,14%), transparent)}.project-anime,.project-quality{--highlight:45%}.project-list li:hover:before{opacity:1;transform:scaleY(1)}.project-list li:has(:focus-visible):before{opacity:1;transform:scaleY(1)}.project-list li button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.project-list li button:after{content:"";position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.project-list li,.project-list li:before{transition:none}}.project-modal{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:100%;max-width:none;height:100%;max-height:none;color:var(--color-text);background:#090a08db;border:0;place-items:safe center;margin:0;padding:40px;animation:.22s both modal-backdrop-in;position:fixed;inset:0;overflow-y:auto}.project-modal[open]{display:grid}.project-modal::backdrop{background:0 0}html:has(.project-modal[open]){overflow:hidden}.project-modal-card{width:min(100%,1040px);min-height:min(610px,100dvh - 80px);max-height:calc(100dvh - 80px);color:var(--color-text);background:var(--color-surface);transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));grid-template-columns:minmax(320px,.85fr) minmax(380px,1fr);transition:transform .5s cubic-bezier(.22,1,.36,1);animation:.26s backwards modal-card-in;display:grid;position:relative;box-shadow:0 30px 100px #00000059}.project-modal-card:after{z-index:3;content:"";pointer-events:none;opacity:0;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%), #ffffff0f, transparent 60%);transition:opacity .3s;position:absolute;inset:0}@media (hover:hover) and (prefers-reduced-motion:no-preference){.project-modal-card:hover:after{opacity:1}}.project-modal-close{z-index:2;border:1px solid var(--color-border);cursor:pointer;width:36px;height:36px;color:var(--color-text);background:color-mix(in srgb, var(--color-surface) 75%, transparent);border-radius:50%;place-items:center;font-size:19px;display:grid;position:absolute;top:18px;right:18px}.project-modal-image{border-right:1px solid var(--color-border);color:var(--color-text-muted);background:linear-gradient(135deg, transparent 49.8%, var(--color-border) 50%, transparent 50.2%), linear-gradient(45deg, transparent 49.8%, var(--color-border) 50%, transparent 50.2%), var(--color-bg);place-items:center;display:grid;position:relative;overflow:hidden}.project-modal-image>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.project-modal-image>iframe{background:#000;border:0;width:100%;height:100%;position:absolute;inset:0}.project-modal-image>.project-modal-dots{z-index:1;background:color-mix(in srgb, var(--color-surface) 75%, transparent);border-radius:999px;gap:8px;padding:6px 8px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.project-modal-dots button{border:1px solid var(--color-text);cursor:pointer;background:0 0;border-radius:50%;width:8px;height:8px;padding:0}.project-modal-dots button[aria-pressed=true]{background:var(--color-text)}.project-modal-image>div{text-align:center;gap:20px;display:grid}.project-modal-image span{font-family:var(--font-mono);letter-spacing:.12em;font-size:8px}.project-modal-image strong{font-size:30px;font-weight:400;line-height:1}.project-modal-content{overscroll-behavior:contain;flex-direction:column;padding:68px 58px 52px;display:flex;overflow-y:auto}.project-modal-content h2{letter-spacing:-.065em;overflow-wrap:anywhere;margin-top:20px;font-size:clamp(42px,5vw,72px);font-weight:500;line-height:.95}.project-modal-content dl{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(2,1fr);gap:20px;margin:45px 0 0;padding:20px 0;display:grid}.project-modal-content dt{color:var(--color-text-muted);font-family:var(--font-mono);text-transform:uppercase;font-size:8px}.project-modal-content dd{margin:7px 0 0;font-size:11px}.project-modal-note{color:var(--color-text-muted);margin-top:16px;font-size:14px;line-height:1.6}.project-modal-summary{color:var(--color-text-muted);margin-top:34px;font-size:13px;line-height:1.8}.project-modal-content>a{border-bottom:1px solid var(--color-text);color:inherit;justify-content:space-between;align-items:center;margin-top:auto;padding:16px 0;font-size:11px;text-decoration:none;transition:color .18s,border-color .18s;display:flex}.project-modal-content>a:hover{border-color:var(--color-accent);color:var(--color-accent)}@keyframes modal-backdrop-in{0%{opacity:0}}@keyframes modal-card-in{0%{opacity:0;transform:translateY(18px)scale(.985)}}@media (width<=800px){.project-modal{padding:16px}.project-modal-card{flex-direction:column;min-height:0;max-height:calc(100dvh - 32px);display:flex}.project-modal-image{border-right:0;border-bottom:1px solid var(--color-border);flex:none;height:min(360px,40dvh)}.project-modal-content{min-height:0;padding:42px 24px 28px}.project-modal-content h2{font-size:46px}.project-modal-content>a{margin-top:38px}}@media (prefers-reduced-motion:reduce){.project-modal,.project-modal-card{animation:none}.project-modal-card{transition:none;transform:none}}.project-list li span{font-family:var(--font-mono);font-size:var(--text-2xs);opacity:.8}.project-meta{gap:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-meta>div>p:first-child,.project-meta dt{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase}.project-meta h3{margin-top:var(--space-2);font-size:var(--text-xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug)}.project-subtitle{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.project-meta dl{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-meta dt{margin-bottom:var(--space-2)}.project-meta dd{font-size:var(--text-xs);margin:0}.project-all{margin-top:var(--space-4);interpolate-size:allow-keywords}.project-all::details-content{height:0;transition:height .5s cubic-bezier(.22, 1, .36, 1), content-visibility .5s allow-discrete;overflow:clip}.project-all[open]::details-content{height:auto}.project-all summary{align-items:center;gap:var(--space-2);width:fit-content;color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;cursor:pointer;transition:color var(--transition-fast);list-style:none;display:flex}.project-all summary::-webkit-details-marker{display:none}.project-all summary:hover{color:var(--color-accent)}.project-all-icon{font-size:var(--text-sm);line-height:1;transition:transform .3s cubic-bezier(.22,1,.36,1);display:inline-block}.project-all[open] .project-all-icon{transform:rotate(45deg)}.project-all[open] li{animation:.4s cubic-bezier(.22,1,.36,1) both project-title-in;animation-delay:min(calc(var(--i,0) * 25ms), .3s)}@keyframes project-title-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.project-all-icon{transition:none}.project-all::details-content{transition:none}.project-all[open] li{animation:none}}.project-all ul{columns:2 18rem;column-gap:var(--space-5);margin-top:var(--space-3);font-size:var(--text-xs);padding:0;list-style:none}.project-all li{break-inside:avoid;padding-block:var(--space-2);border-bottom:1px solid var(--color-border)}@media (width<=64rem){.project-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=50rem){.project-grid{gap:var(--space-8)}.project-visual,.project-card:not(.wide) .project-visual{min-height:35rem}.project-mark{top:11%;inset-inline:7%}.project-mark-title,.project-card:not(.wide) .project-mark-title{font-size:2.875rem}.project-list{width:86%;max-height:10.5rem;bottom:7%;right:7%}.project-meta{grid-template-columns:minmax(0,1fr)}}.about-grid{gap:var(--space-5);grid-template-columns:repeat(12,1fr);display:grid}.about-statement{font-size:var(--text-3xl);font-weight:var(--weight-medium);letter-spacing:-.065em;white-space:pre-line;grid-column:1/span 7;line-height:1.02}.about-number{white-space:nowrap}.about-copy{grid-column:9/span 4}.about-copy>p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.8}.about-copy ul{margin-top:var(--space-8);padding:0;list-style:none}.about-copy li{align-items:center;gap:var(--space-6);padding-block:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm);display:flex}.about-copy li:last-child{border-bottom:1px solid var(--color-border)}.about-copy li span{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}@media (width<=50rem){.about-grid{gap:var(--space-7);grid-template-columns:minmax(0,1fr)}.about-statement,.about-copy{grid-column:auto}}.contact-title{max-width:1050px;color:var(--color-accent);font-size:clamp(62px,10vw,148px);font-weight:var(--weight-medium);letter-spacing:-.075em;white-space:pre-line;margin-top:52px;line-height:.9}.contact-title:lang(ja){line-height:1.15}.contact-row{grid-template-columns:repeat(12,1fr);align-items:end;margin:80px 0 160px;display:grid}.contact-row>p{color:var(--color-text-muted);grid-column:2/span 4;font-size:14px;line-height:1.8}.contact-row>a{border-bottom:1px solid var(--color-text);color:var(--color-text);transition:color var(--transition-fast), border-color var(--transition-fast);grid-column:9/span 4;justify-content:space-between;align-items:center;padding:18px 0;font-size:15px;text-decoration:none;display:flex}.contact-row>a:hover{border-color:var(--color-accent);color:var(--color-accent)}@media (width<=50rem){.contact-row{grid-template-columns:minmax(0,1fr);gap:42px;margin:56px 0 100px}.contact-row>p,.contact-row>a{grid-column:auto}}.loader{z-index:100;gap:var(--space-4);background:var(--color-bg);color:var(--color-text);transition:opacity var(--transition-fast);place-content:center;justify-items:center;display:grid;position:fixed;inset:0}.loader.is-done{opacity:0}.loader-word{font-size:var(--text-display);font-weight:var(--weight-medium);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}.site-header{z-index:10;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--gutter);background:var(--color-bg);border-bottom:1px solid var(--color-border);grid-template-columns:1fr auto 1fr;transition:transform .3s ease-in-out,opacity .3s ease-in-out;display:grid;position:fixed;inset:0 0 auto}.site-header.is-hidden:not(:focus-within){opacity:0;transform:translateY(-100%)}@media (prefers-reduced-motion:reduce){.site-header{transition:none}}html{scroll-padding-top:var(--space-9)}.brand{width:fit-content;color:var(--color-text);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.08em;text-decoration:none}.brand span{margin-left:var(--space-1);vertical-align:top;color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:0}.site-nav{gap:var(--space-6);display:flex}.site-nav a,.language-switch,.theme-toggle{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.site-nav a{color:var(--color-text);transition:color var(--transition-fast);text-decoration:none}.header-actions{justify-content:flex-end;align-items:center;gap:var(--space-5);display:flex}.language-switch{gap:var(--space-1);color:var(--color-text-muted);display:flex}.language-switch button,.theme-toggle{padding:var(--space-1);color:var(--color-text-muted);transition:color var(--transition-fast);background:0 0;border:0}.language-switch button[aria-pressed=true],.site-nav a:hover,.language-switch button:hover,.theme-toggle:hover{color:var(--color-accent)}.theme-toggle{align-items:center;gap:var(--space-2);display:flex}.theme-toggle i{border:1px solid var(--color-text-muted);border-radius:var(--radius-full);width:1.75rem;height:.875rem;display:block;position:relative}.theme-toggle i:after{content:"";background:var(--color-accent);width:.5rem;height:.5rem;transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:2px;left:2px}.theme-toggle.is-light i:after{transform:translate(.875rem)}@media (width<=50rem){.site-header{grid-template-columns:1fr auto}.site-nav{gap:var(--space-5);grid-area:2/1/auto/-1}}.site-footer{z-index:1;gap:var(--space-3);padding:var(--space-6) var(--gutter) var(--space-7);border-top:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);grid-template-columns:1fr auto 1fr;display:grid;position:relative}.site-footer a{color:var(--color-text)}.site-footer p:last-child{text-align:right}@media (width<=50rem){.site-footer{grid-template-columns:1fr auto}.site-footer p:last-child{display:none}}
