@font-face{font-family:Endorphins Projects Serif;src:url(/assets/font-lab/f02-noto-serif-sc.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}.projects-page{--projects-black:#060708;--projects-carbon:#0b0d0f;--projects-white:#f0f0eb;--projects-silver:#979b9e;--projects-line:#f0f0eb26;--projects-ice:#91bfcd;--projects-card-width:min(72vw, 1180px);--projects-intro-width:min(60vw, 860px);--backdrop-x:0px;--travel-tilt:0deg;--travel-x:0px;width:100%;height:100svh;color:var(--projects-white);background:var(--projects-black);isolation:isolate;font-family:Endorphins Instrument,Avenir Next,Segoe UI,sans-serif;position:relative;overflow:clip}.projects-backdrop{z-index:0;transform:translate3d(var(--backdrop-x), 0, 0);pointer-events:none;will-change:transform;transition:transform .18s linear;display:block;position:absolute;inset:-56px;overflow:hidden}.projects-backdrop img{object-fit:cover;object-position:46% 52%;filter:brightness(.68)contrast(.98);width:100%;height:100%;display:block}@media (max-aspect-ratio:6/5){.projects-backdrop img{object-position:50% 48%}}@media (max-aspect-ratio:2/3){.projects-backdrop img{object-position:44% 50%}}.projects-backdrop-shade{z-index:1;pointer-events:none;background:linear-gradient(#0607087a 0%,#06070814 18%,#0607080d 74%,#06070885 100%),radial-gradient(at 50% 48%,#06070833 0%,#0000 68%);position:absolute;inset:0}.projects-topbar{z-index:30;border-bottom:1px solid var(--projects-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#060708b8;justify-content:space-between;align-items:center;width:100%;height:68px;padding:0 clamp(20px,3.4vw,58px);display:flex;position:absolute;top:0;left:0}.projects-brand{color:var(--projects-white);letter-spacing:-.04em;font-family:Endorphins Home IBM Plex Mono,monospace;font-size:clamp(12px,.96vw,15px);font-weight:500;text-decoration:none}.projects-language-switch{align-items:center;gap:13px;display:flex}.projects-language-option{color:#f0f0eb6b;cursor:pointer;background:0 0;border:0;min-width:28px;min-height:44px;padding:0;font:500 10px/1 Endorphins Home IBM Plex Mono,monospace;transition:color .18s;position:relative}.projects-language-option[aria-pressed=true]{color:var(--projects-white);text-decoration:underline;-webkit-text-decoration-color:var(--projects-ice);text-decoration-color:var(--projects-ice);text-underline-offset:6px;text-decoration-thickness:1px}.projects-stage{z-index:2;padding-inline:max(10vw, calc((100vw - var(--projects-card-width)) / 2));perspective:clamp(1050px,88vw,1660px);perspective-origin:50% 46%;scroll-behavior:auto;scroll-padding-inline:max(10vw, calc((100vw - var(--projects-card-width)) / 2));scroll-snap-type:none;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom;transform-style:preserve-3d;align-items:center;gap:clamp(54px,5.4vw,110px);display:flex;position:absolute;inset:68px 0 76px;overflow:auto hidden}.projects-stage::-webkit-scrollbar{display:none}.projects-stage[data-wheel-active=true],.projects-stage[data-dragging=true]{scroll-snap-type:none}.projects-stage[data-dragging=true]{cursor:grabbing;-webkit-user-select:none;user-select:none}.projects-stage:focus-visible{outline-offset:-6px;outline:1px solid #91bfcdb8}.projects-page[data-project-count="0"] .projects-stage{bottom:0}.project-slide{--scene-rotate-y:0deg;--scene-rotate-z:0deg;--scene-z:0px;--scene-y:0px;--scene-scale:1;--scene-opacity:1;--scene-media-x:0px;--pointer-x:0px;--pointer-y:0px;--world-y:0px;--world-z:0px;--world-rotate-y:0deg;--world-rotate-z:0deg;flex:0 0 var(--projects-card-width);width:var(--projects-card-width);height:min(62svh,700px);min-height:420px;opacity:var(--scene-opacity);-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translate3d(var(--travel-x), calc(var(--scene-y) + var(--world-y)), calc(var(--scene-z) + var(--world-z))) rotateY(calc(var(--scene-rotate-y) + var(--world-rotate-y) + var(--travel-tilt))) rotateZ(calc(var(--scene-rotate-z) + var(--world-rotate-z))) scale(var(--scene-scale));transform-origin:50%;transform-style:preserve-3d;scroll-snap-align:center;scroll-snap-stop:normal;will-change:transform, opacity;border:1px solid #f0f0eb38;border-radius:4px;transition:border-color .26s,opacity .1s linear;position:relative;overflow:hidden}.project-slide[data-active=true]{border-color:#f0f0eb7a}.project-slide[data-world-variant="1"]{--world-y:12px;--world-z:-58px;--world-rotate-y:-2.4deg;--world-rotate-z:-.35deg;margin-left:2vw}.project-slide[data-world-variant="2"]{--world-y:-24px;--world-z:36px;--world-rotate-y:3.1deg;--world-rotate-z:.52deg;margin-left:5vw}.project-slide[data-world-variant="3"]{--world-y:28px;--world-z:-92px;--world-rotate-y:-4deg;--world-rotate-z:-.72deg;margin-left:1vw}.project-slide.projects-intro-card{flex-basis:var(--projects-intro-width);width:var(--projects-intro-width);height:clamp(148px,18svh,176px);min-height:0;max-height:none;margin-left:calc((var(--projects-card-width) - var(--projects-intro-width)) / 2);color:var(--projects-white);background:#0a0c0e;border:1px solid #f0f0eb1c;border-left:0;border-right:0;border-radius:0}.projects-intro-title{flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;display:flex;position:absolute;inset:0 clamp(32px,3.6vw,48px)}.projects-intro-title span{color:#f0f0eb7a;letter-spacing:.22em;white-space:nowrap;margin:0;font:500 9px/1 Endorphins Home IBM Plex Mono,monospace}.projects-intro-title h1{letter-spacing:-.035em;white-space:nowrap;margin:0;font-family:Endorphins Projects Serif,Endorphins Noto Serif SC,Songti SC,serif;font-size:clamp(64px,7vw,78px);font-weight:600;line-height:.96}.projects-page[lang=ja-JP] .projects-intro-title h1{letter-spacing:-.04em;max-width:100%;font-size:clamp(42px,4.2vw,50px)}.projects-page[lang=en] .projects-intro-title h1{letter-spacing:-.045em;max-width:100%;font-size:clamp(50px,5vw,60px)}.project-slide.projects-intro-card[data-active=true]{border-color:#f0f0eb2e}.project-card{color:#101214;background:#ecece7;grid-template-columns:minmax(0,1.68fr) minmax(320px,.82fr);display:grid}.project-card[data-art=moon]{background:#f0efe9}.project-card[data-art=fan]{color:var(--projects-white);background:#0d0f11}.project-card-visual{background:#0b0d0f;min-width:0;position:relative;overflow:hidden}.project-card-image{object-fit:cover;width:calc(100% + 44px);max-width:none;height:calc(100% + 36px);transform:translate3d(calc(var(--scene-media-x) + var(--pointer-x)), var(--pointer-y), 0) scale(1.045);filter:grayscale()contrast(1.11)brightness(.88);-webkit-user-select:none;user-select:none;margin:-18px -22px;transition:transform .42s cubic-bezier(.16,1,.3,1),filter .26s;display:block}.project-card[data-art=website] .project-card-image{filter:grayscale(.86)contrast(1.13)brightness(.72)}.project-card[data-art=moon] .project-card-image{object-position:center 48%;filter:grayscale()contrast(1.08)brightness(.78)}.project-card[data-art=fan] .project-card-image{object-position:64% center;filter:grayscale()contrast(1.15)brightness(.68)}.project-card-site-signature{color:#f0f0ebf0;align-items:center;gap:clamp(13px,1.5vw,22px);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-card-site-signature img{aspect-ratio:1;object-fit:cover;filter:grayscale()contrast(1.06);border:1px solid #f0f0eb59;border-radius:8px;width:clamp(52px,5vw,76px);display:block}.project-card-site-signature span{letter-spacing:-.06em;white-space:nowrap;font-family:Endorphins Home IBM Plex Mono,monospace;font-size:clamp(18px,2.2vw,36px)}.project-card-copy{border-left:1px solid #10121429;flex-direction:column;min-width:0;padding:clamp(24px,2.6vw,44px);display:flex}.project-card[data-art=fan] .project-card-copy{border-left-color:var(--projects-line)}.project-card-meta{color:#10121485;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid #1012142b;justify-content:space-between;align-items:center;gap:18px;padding-bottom:16px;font:500 9px/1.4 Endorphins Home IBM Plex Mono,monospace;display:flex}.project-card[data-art=fan] .project-card-meta{border-bottom-color:var(--projects-line);color:#f0f0eb7a}.project-card-body{flex-direction:column;max-width:34em;margin-top:auto;display:flex}.project-card-title-group{opacity:.68;align-items:flex-start;min-width:0;transition:opacity .36s,transform .48s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(7px)}.project-slide[data-active=true] .project-card-title-group{opacity:1;transform:translateY(0)}.project-card-title-group h2{letter-spacing:-.07em;overflow-wrap:anywhere;text-wrap:balance;max-width:100%;margin:0;font-family:Endorphins Projects Serif,Endorphins Noto Serif SC,Songti SC,serif;font-size:clamp(32px,3vw,48px);font-weight:600;line-height:1.02}.project-card-body>p{color:#10121494;text-wrap:pretty;margin:clamp(18px,2.2vh,28px) 0 0;font-size:clamp(11px,.96vw,14px);line-height:1.62}.project-card[data-art=fan] .project-card-body>p{color:#f0f0eb8f}.projects-dock{z-index:32;border-top:1px solid var(--projects-line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#060708e0;min-height:76px;display:block;position:absolute;bottom:0;left:0;right:0}.projects-direct-nav{width:100%;min-height:76px;margin-inline:auto;display:flex}.projects-direct-nav[data-project-count="1"]{width:33.3333%}.projects-direct-nav[data-project-count="2"]{width:66.6667%}.projects-direct-nav[data-overflow=true]{scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;width:100%;overflow-x:auto}.projects-direct-nav[data-overflow=true]::-webkit-scrollbar{display:none}.projects-direct-link{border-right:1px solid var(--projects-line);color:#f0f0eb6b;flex:1 1 0;justify-content:center;align-items:center;min-width:0;min-height:76px;padding:12px clamp(18px,2.3vw,36px);text-decoration:none;transition:color .18s,background-color .18s;display:flex}.projects-direct-nav[data-overflow=true] .projects-direct-link{scroll-snap-align:center;flex:1 0 clamp(210px,25vw,420px)}.projects-direct-link:last-child{border-right:0}.projects-direct-link strong{letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;font-family:Endorphins Projects Serif,Endorphins Noto Serif SC,Songti SC,serif;font-size:clamp(14px,1.2vw,19px);font-weight:600;overflow:hidden}.projects-direct-link[aria-current=true]{color:var(--projects-white);background:#ffffff06;box-shadow:inset 0 1px #91bfcdb8}.projects-direct-link[aria-current=true] strong{color:var(--projects-white)}:is(.projects-brand:focus-visible,.projects-language-option:focus-visible,.projects-direct-link:focus-visible){outline:1px solid var(--projects-ice);outline-offset:4px}.projects-live-region{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:fixed;overflow:hidden}@media (hover:hover) and (pointer:fine){.projects-language-option:hover,.projects-direct-link:hover{color:var(--projects-white)}.projects-direct-link:hover{background:#ffffff06}}@media (max-width:1020px){.projects-page{--projects-card-width:min(80vw, 860px)}.project-slide{height:clamp(420px,50vw,560px)}.project-card{grid-template-columns:minmax(0,1.42fr) minmax(270px,.78fr)}}@media (max-width:760px){.projects-page{--projects-card-width:88vw;--projects-intro-width:min(88vw, 520px)}.projects-topbar{height:62px;padding-inline:16px}.projects-brand{font-size:11px}.projects-language-switch{gap:8px}.projects-language-option{min-width:26px;min-height:44px;font-size:9px}.projects-stage{inset:62px 0 calc(72px + env(safe-area-inset-bottom));perspective:920px;scroll-snap-type:x proximity;gap:34px;padding-inline:6vw;scroll-padding-inline:6vw}.project-slide{border-radius:3px;height:66svh;min-height:440px;max-height:620px}.project-slide[data-world-variant="1"],.project-slide[data-world-variant="2"],.project-slide[data-world-variant="3"]{--world-y:0px;--world-z:0px;--world-rotate-y:0deg;--world-rotate-z:0deg;margin-left:0}.project-slide.projects-intro-card{height:clamp(116px,15svh,132px);min-height:0;max-height:none;margin-left:calc((var(--projects-card-width) - var(--projects-intro-width)) / 2)}.projects-intro-title{gap:8px;inset:0 22px}.projects-intro-title span{letter-spacing:.2em;font-size:8px}.projects-intro-title h1{font-size:clamp(38px,10.5vw,42px)}.projects-page[lang=ja-JP] .projects-intro-title h1{font-size:clamp(28px,7.5vw,31px)}.projects-page[lang=en] .projects-intro-title h1{font-size:clamp(32px,9vw,36px)}.project-card{grid-template-rows:minmax(0,1.3fr) minmax(190px,.72fr);grid-template-columns:1fr}.project-card-copy{border-top:1px solid #10121429;border-left:0;padding:18px 20px 20px}.project-card[data-art=fan] .project-card-copy{border-top-color:var(--projects-line);border-left:0}.project-card-meta{padding-bottom:9px;font-size:8px}.project-card-body{margin-top:auto;padding-top:13px}.project-card-title-group{opacity:1;transform:none}.project-card-title-group h2{font-size:clamp(27px,8vw,39px)}.project-card-body>p{margin-top:9px;font-size:10px;line-height:1.5}.project-card-site-signature{gap:10px}.project-card-site-signature img{width:43px}.project-card-site-signature span{font-size:clamp(15px,4.7vw,23px)}.projects-dock{min-height:72px;padding-bottom:env(safe-area-inset-bottom);display:block}.projects-direct-nav{min-height:72px;overflow:visible}.projects-direct-nav[data-project-count="1"]{width:64%}.projects-direct-nav[data-project-count="2"]{width:100%}.projects-direct-nav[data-overflow=true]{width:100%;overflow-x:auto}.projects-direct-nav[data-overflow=true] .projects-direct-link{flex-basis:clamp(116px,36vw,160px)}.projects-direct-link{color:#f0f0eb85;text-align:center;justify-content:center;min-width:0;min-height:72px;padding:10px 8px}.projects-direct-link strong{letter-spacing:-.045em;text-overflow:clip;text-wrap:balance;white-space:normal;font-size:clamp(10px,3.1vw,13px);line-height:1.14;overflow:visible}}@media (min-width:761px) and (max-height:680px){.projects-topbar{height:58px}.projects-stage{inset-block:58px 68px}.project-slide{height:70svh;min-height:350px}.projects-dock{min-height:68px}.project-card-copy{padding-block:22px}.project-card-body>p{margin-top:13px;line-height:1.5}}@media (max-width:760px) and (max-height:680px){.projects-topbar{height:58px}.projects-stage{inset:58px 0 calc(66px + env(safe-area-inset-bottom))}.project-slide{height:calc(100svh - 174px);min-height:0}.project-card{grid-template-rows:minmax(0,1.15fr) minmax(150px,.85fr)}.project-card-copy{padding:13px 16px 14px}.project-card-meta{padding-bottom:6px}.project-card-body{margin-top:auto;padding-top:7px}.project-card-title-group{margin-top:0}.project-card-title-group h2{font-size:clamp(23px,7vw,31px)}.project-card-body>p{margin-top:5px;font-size:9px;line-height:1.4}.projects-dock,.projects-direct-nav,.projects-direct-link{min-height:66px}}@media (prefers-reduced-motion:reduce){.projects-backdrop,.project-slide,.project-card-image,.project-card-title-group,.projects-language-option,.projects-direct-link{transition:none}.project-slide{--scene-rotate-y:0deg!important;--scene-rotate-z:0deg!important;--scene-z:0px!important;--scene-y:0px!important;--scene-scale:1!important}.project-card-image{transform:scale(1.045)}}
