:root{color-scheme:dark;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:#f7f3ed;background:#030303;font-synthesis:none;--ink: #030303;--orange: #ff3d00;--safe-inline: max(env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--gutter: max(clamp(28px, 4.5vw, 72px), calc(var(--safe-inline) + 18px))}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}button,a{color:inherit;font:inherit}a{text-decoration:none}button{border:0}::selection{color:#050505;background:var(--orange)}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:10px 14px;color:#fff4e8;background:#111;border:1px solid rgba(255,98,28,.85);opacity:0;transform:translateY(-140%);transition:opacity .16s ease,transform .16s ease}.skip-link:focus-visible{opacity:1;outline:none;transform:translateY(0)}.language-switcher{position:absolute;z-index:30;top:max(18px,calc(env(safe-area-inset-top,0px) + 12px));right:max(22px,calc(env(safe-area-inset-right,0px) + 14px));display:flex;align-items:center;gap:6px;padding:0 7px;border:1px solid rgba(255,244,232,.13);color:#fff4e87a;background:#04040494;box-shadow:0 8px 28px #0000002e;font:500 10px/1 Roboto Mono,Noto Sans SC,monospace;letter-spacing:.08em;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.language-switcher button{position:relative;min-width:44px;min-height:44px;padding:0 5px;color:inherit;background:transparent;cursor:pointer;transition:color .18s ease}.language-switcher button:after{position:absolute;right:5px;bottom:7px;left:5px;height:1px;background:currentColor;content:"";opacity:0;transform:scaleX(.35);transition:opacity .18s ease,transform .18s ease}.language-switcher button[aria-pressed=true]{color:#ff7a37}.language-switcher button[aria-pressed=true]:after{opacity:.86;transform:scaleX(1)}.language-switcher button:hover{color:#fff4e8}.language-switcher button:focus-visible{outline:1px solid #ff7a37;outline-offset:-5px}main{position:relative;isolation:isolate;background:radial-gradient(circle at 67% 28%,rgba(255,55,0,.035),transparent 24%),#030303}.particle-stage{position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;width:100vw;height:100svh;pointer-events:none;background:radial-gradient(circle at 72% 37%,rgba(255,74,0,.055),transparent 23%),radial-gradient(circle at 56% 49%,rgba(255,255,255,.025),transparent 24%)}.particle-stage canvas{display:block;width:100%;height:100%}.hero{position:relative;min-height:100svh;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}.hero:after{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,3,3,.92) 0%,rgba(3,3,3,.56) 28%,transparent 52%)}.hero__content{position:relative;z-index:3;width:min(39vw,590px);padding-top:clamp(108px,14vh,154px);margin-left:var(--gutter)}.hero__role{display:flex;align-items:center;gap:14px;margin:0 0 clamp(32px,5vh,60px);font-size:clamp(14px,1.15vw,18px);font-weight:500;letter-spacing:.05em}.hero__role:before{width:2px;height:26px;background:var(--orange);content:"";box-shadow:0 0 16px #ff3d00c2}.hero h1{margin:0;font-size:clamp(64px,6.6vw,106px);font-weight:900;line-height:1.14;letter-spacing:-.095em;text-wrap:nowrap;text-shadow:0 0 36px rgba(255,255,255,.04)}.hero h1>span,.hero__intro>span{display:block}.hero__rule{display:block;width:31px;height:3px;margin:28px 0 24px;background:var(--orange);box-shadow:0 0 18px #ff3d00c7}.hero__intro{margin:0;color:#c3bdb8;font-size:clamp(15px,1.25vw,19px);line-height:1.85;letter-spacing:.035em}.hero__cta{position:relative;display:flex;align-items:center;justify-content:space-between;width:clamp(210px,18vw,276px);min-height:62px;margin-top:clamp(34px,4.8vh,54px);padding:0 26px 0 30px;overflow:hidden;border:1px solid rgba(255,89,24,.92);background:linear-gradient(90deg,#eb2c00f0,#ff5a0af5);font-size:18px;font-weight:700;letter-spacing:.13em;box-shadow:0 0 32px #ff32002e,inset 0 0 24px #ffbc5e14;transition:width .32s ease,box-shadow .32s ease,transform .32s ease}.hero__cta:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.22) 46%,transparent 68%);content:"";transform:translate(-120%);transition:transform .64s ease}.hero__cta:hover,.hero__cta:focus-visible{width:clamp(232px,20vw,306px);outline:none;box-shadow:0 0 54px #ff370066,inset 0 0 28px #ffcb751f;transform:translateY(-2px)}.hero__cta:hover:after,.hero__cta:focus-visible:after{transform:translate(120%)}.hero__cta svg{width:26px;height:26px}.rail{position:absolute;z-index:4;top:23%;right:max(clamp(24px,3vw,56px),calc(env(safe-area-inset-right,0px) + 18px));display:grid;gap:clamp(54px,8vh,86px);width:75px}.rail:before{position:absolute;top:-18px;bottom:-16px;left:-18px;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.25) 12%,rgba(255,255,255,.25) 88%,transparent);content:""}.rail__item{display:grid;gap:4px;opacity:.83;transition:opacity .22s ease,color .22s ease,transform .22s ease}.rail__item span{font-family:Roboto Mono,monospace;font-size:13px;font-weight:400}.rail__item strong{font-size:18px;font-weight:500;letter-spacing:.08em}.rail__item:hover,.rail__item:focus-visible{color:#ff6a19;opacity:1;outline:none;transform:translate(-7px)}.hero__project{position:absolute;z-index:3;left:20%;bottom:clamp(18px,2.4vh,32px);display:flex;align-items:baseline;gap:.18em;color:#fff4e8e0;font-size:clamp(62px,8.2vw,134px);font-weight:500;letter-spacing:.025em;line-height:.94;text-shadow:0 0 7px rgba(255,255,255,.48),0 0 18px rgba(255,92,18,.38),18px -7px 30px rgba(255,54,0,.26);transition:filter .3s ease}.hero__project:hover,.hero__project:focus-visible{filter:brightness(1.07)}.hero__project:focus-visible{outline:1px solid rgba(255,112,38,.72);outline-offset:6px}.hero__project>span{white-space:nowrap}.hero__project em{color:#ff782fe6;font-family:Roboto Mono,monospace;font-size:.58em;font-style:normal;font-weight:400;white-space:nowrap}.hero__scroll{position:absolute;z-index:3;right:13.3%;bottom:7.2%;display:grid;justify-items:center;gap:8px;font-family:Roboto Mono,monospace;font-size:10px;letter-spacing:.18em;opacity:.55}.hero__scroll i{width:1px;height:40px;background:linear-gradient(#fff,transparent);animation:scroll-pulse 1.8s ease-in-out infinite}.cursor-hint{position:fixed;z-index:20;top:0;left:0;padding:7px 10px;border-left:1px solid rgba(255,105,26,.75);color:#fff0e2c2;background:#05050585;font-family:Roboto Mono,Noto Sans SC,monospace;font-size:10px;letter-spacing:.12em;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translate3d(-200px,-200px,0);transition:opacity .18s ease;will-change:transform,opacity}.cursor-hint[data-visible=true]{opacity:1}main[data-locale=en] .hero__content{width:min(45vw,680px)}main[data-locale=en] .hero__role{font-size:clamp(11px,.92vw,14px);letter-spacing:.08em}main[data-locale=en] .hero h1{font-size:clamp(52px,4.6vw,76px);line-height:1;letter-spacing:-.065em}main[data-locale=en] .hero__intro{letter-spacing:.01em}main[data-locale=en] .hero__cta{letter-spacing:.11em}main[data-locale=en] .rail__item strong{letter-spacing:.035em}main[data-locale=en] .hero__project{left:18%;font-size:clamp(48px,5.4vw,88px);letter-spacing:.015em}main[data-locale=en] .hero__project em{font-size:.48em}@keyframes scroll-pulse{0%,to{opacity:.28;transform:scaleY(.55);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}@media(max-width:1020px){.hero__content{width:min(48vw,520px)}.hero:after{background:linear-gradient(90deg,rgba(3,3,3,.93) 0%,rgba(3,3,3,.48) 48%,transparent 74%)}.hero h1{font-size:clamp(62px,8vw,84px)}.hero__project{left:var(--gutter)}}@media(max-width:680px){:root{--gutter: max(24px, calc(var(--safe-inline) + 18px))}.particle-stage{opacity:.82}.hero:after{background:linear-gradient(180deg,#0303032e,#03030338 42%,#030303e6 76%,#030303),linear-gradient(90deg,rgba(3,3,3,.72),transparent 95%)}.hero__content{width:calc(100% - 48px);padding-top:max(72px,calc(env(safe-area-inset-top,0px) + 32px));margin-left:var(--gutter)}.language-switcher{top:max(12px,calc(env(safe-area-inset-top,0px) + 8px));right:max(14px,calc(env(safe-area-inset-right,0px) + 8px))}.hero__role{margin-bottom:28px;font-size:12px}.hero__role:before{height:20px}.hero h1{font-size:clamp(52px,16vw,68px);line-height:1.12}.hero__rule{margin:20px 0 16px}.hero__intro{font-size:14px;line-height:1.7}.hero__cta{min-height:54px;margin-top:24px;font-size:15px}.rail{top:auto;right:max(18px,calc(env(safe-area-inset-right,0px) + 12px));bottom:26%;gap:20px;width:52px}.rail:before{left:-10px}.rail__item strong{font-size:13px}.rail__item span{font-size:9px}.hero__project{right:max(18px,calc(env(safe-area-inset-right,0px) + 12px));bottom:max(14px,calc(env(safe-area-inset-bottom,0px) + 10px));left:max(18px,calc(env(safe-area-inset-left,0px) + 12px));gap:.12em;justify-content:center;font-size:12.8vw;line-height:.96}.hero__project em{font-size:.46em}main[data-locale=en] .hero__content{width:calc(100% - 48px);padding-top:max(78px,calc(env(safe-area-inset-top,0px) + 38px))}main[data-locale=en] .hero__role{max-width:calc(100% - 70px);font-size:10px}main[data-locale=en] .hero h1{font-size:clamp(29px,9.2vw,52px);line-height:1.04;letter-spacing:-.055em}main[data-locale=en] .hero__intro{max-width:290px;font-size:12px}main[data-locale=en] .hero__project{right:max(18px,calc(env(safe-area-inset-right,0px) + 12px));left:max(18px,calc(env(safe-area-inset-left,0px) + 12px));font-size:7.3vw}.hero__scroll,.cursor-hint{display:none}}@media(max-height:700px)and (min-width:681px){.hero{height:100svh;min-height:360px}.hero__content{width:min(39vw,420px);padding-top:32px}.hero__role{margin-bottom:14px;font-size:12px}.hero__role:before{height:20px}.hero h1{font-size:clamp(42px,6vw,58px);line-height:1.03}.hero__rule{margin:14px 0 12px}.hero__intro{font-size:12px;line-height:1.55}.hero__cta{width:190px;min-height:46px;margin-top:12px;padding-inline:20px;font-size:14px}.rail{top:16%;gap:30px}.hero__project{bottom:8px;font-size:clamp(42px,7vw,62px)}.hero__scroll{display:none}main[data-locale=en] .hero h1{font-size:clamp(38px,4vw,52px)}main[data-locale=en] .hero__project{font-size:clamp(38px,4.6vw,54px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cursor-hint{display:none}}.silent-gravity-field{--gravity-ivory: #e9e2d8;--gravity-muted: rgba(233, 226, 216, .58);--gravity-copper: #b9683c;position:relative;width:100%;min-height:clamp(720px,100svh,900px);overflow:hidden;color:var(--gravity-ivory);background:#030303;isolation:isolate}.silent-gravity-field__header,.silent-gravity-field__footer{position:absolute;z-index:3;right:clamp(24px,3.2vw,48px);left:clamp(24px,3.2vw,48px);display:flex;align-items:center;justify-content:space-between;gap:28px;pointer-events:none}.silent-gravity-field__header{top:clamp(26px,4.5vh,50px)}.silent-gravity-field__footer{bottom:clamp(24px,4.2vh,46px)}.silent-gravity-field__header p,.silent-gravity-field__footer p,.silent-gravity-field__footer button{margin:0;color:var(--gravity-muted);font:500 10px/1.45 Roboto Mono,Noto Sans SC,monospace;letter-spacing:.14em;text-transform:uppercase}.silent-gravity-field__header p:first-child{display:flex;align-items:baseline;gap:11px;color:#e9e2d8b3}#gravity-field-title{scroll-margin-top:clamp(40px,4.5vh,50px)}.silent-gravity-field__header strong,.silent-gravity-field__footer strong{color:var(--gravity-copper);font-weight:500}.silent-gravity-field__header i{color:#e9e2d842;font-style:normal}.silent-gravity-field__header p:last-child{text-align:right}.silent-gravity-field__stage{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:pan-y}.silent-gravity-field__stage canvas{display:block;width:100%;height:100%}.silent-gravity-field__stage:focus-visible{outline:1px solid color-mix(in srgb,var(--gravity-copper) 60%,transparent);outline-offset:-10px}.silent-gravity-field__footer button{display:inline-flex;align-items:center;gap:10px;min-width:44px;min-height:44px;padding:0;border:0;color:#e9e2d89e;background:transparent;cursor:pointer;pointer-events:auto;transition:color .22s ease}.silent-gravity-field__footer button svg{width:15px;height:15px;color:var(--gravity-copper);transition:transform .5s cubic-bezier(.16,1,.3,1)}.silent-gravity-field__footer button:hover,.silent-gravity-field__footer button:focus-visible{color:var(--gravity-ivory)}.silent-gravity-field__footer button:hover svg,.silent-gravity-field__footer button:focus-visible svg{transform:rotate(-150deg)}.portfolio-shell .silent-gravity-field__footer button:focus-visible{outline:1px solid var(--gravity-copper);outline-offset:6px}@media(max-width:680px){.silent-gravity-field{min-height:min(74svh,660px)}.silent-gravity-field__header,.silent-gravity-field__footer{right:18px;left:18px;gap:18px}.silent-gravity-field__header{top:22px;align-items:flex-start}.silent-gravity-field__footer{bottom:16px}.silent-gravity-field__header p,.silent-gravity-field__footer p,.silent-gravity-field__footer button{font-size:9px;letter-spacing:.1em}.silent-gravity-field__header p:first-child{gap:7px}.silent-gravity-field__header p:last-child{max-width:116px;line-height:1.7}}@media(prefers-reduced-motion:reduce){.silent-gravity-field__footer button,.silent-gravity-field__footer button svg{transition:none}}@media(forced-colors:active){.silent-gravity-field__stage:focus-visible,.portfolio-shell .silent-gravity-field__footer button:focus-visible{outline-color:Highlight}}.interactive-experiment{--ix-bg: var(--experiment-bg, #050504);--ix-fg: var(--experiment-fg, #f2ede5);--ix-accent: var(--experiment-accent, #d85d29);position:relative;display:grid;width:100%;height:100%;min-height:inherit;grid-template-rows:auto minmax(300px,1fr) auto;gap:clamp(18px,2.4vw,34px);overflow:hidden;padding:clamp(24px,3.8vw,58px);color:var(--ix-fg);background:var(--ix-bg);isolation:isolate}.interactive-experiment:before{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;border:1px solid color-mix(in srgb,var(--ix-fg) 12%,transparent);content:"";pointer-events:none}.interactive-experiment__header,.interactive-experiment__footer{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.interactive-experiment .interactive-experiment__header h3{margin:7px 0 0;color:inherit;font:500 clamp(28px,3.4vw,52px) / 1.02 sans-serif;letter-spacing:-.04em}.interactive-experiment__index,.interactive-experiment__note,.interactive-experiment__footer{margin:0;font:500 11px/1.45 Roboto Mono,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase}.interactive-experiment__index{color:var(--ix-accent)}.interactive-experiment__note{max-width:190px;color:color-mix(in srgb,var(--ix-fg) 58%,transparent);text-align:right}.interactive-experiment__footer{align-items:center;color:color-mix(in srgb,var(--ix-fg) 56%,transparent)}.interactive-experiment button{min-width:44px;min-height:44px;border:0;border-radius:0;color:inherit;background:transparent;font:inherit;cursor:pointer}.interactive-experiment__footer button{display:inline-flex;align-items:center;gap:18px;padding:0 2px;border-bottom:1px solid color-mix(in srgb,var(--ix-accent) 78%,transparent);color:var(--ix-fg);letter-spacing:.08em;transition:color .22s ease,border-color .22s ease}.interactive-experiment__footer button:hover{color:var(--ix-accent);border-color:currentColor}.interactive-experiment__footer button:disabled{color:color-mix(in srgb,var(--ix-fg) 36%,transparent);border-color:color-mix(in srgb,var(--ix-fg) 18%,transparent);cursor:wait}.portfolio-shell .interactive-experiment button:focus-visible{outline:1px solid var(--ix-accent);outline-offset:6px}.trace-canvas__stage{position:relative;min-height:0;overflow:hidden;border-top:1px solid color-mix(in srgb,var(--ix-fg) 18%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ix-fg) 18%,transparent);background:linear-gradient(90deg,transparent 49.9%,color-mix(in srgb,var(--ix-fg) 4%,transparent) 50%,transparent 50.1%),repeating-linear-gradient(0deg,transparent 0 38px,color-mix(in srgb,var(--ix-fg) 3.5%,transparent) 39px),radial-gradient(circle at 18% 30%,rgba(166,80,43,.055),transparent 34%)}.trace-canvas__stage canvas{position:absolute;z-index:1;display:block;width:100%;height:100%;top:0;right:0;bottom:0;left:0;touch-action:none;cursor:crosshair}.interactive-experiment--trace{--ix-bg: var(--experiment-bg, #eee8dd);--ix-fg: var(--experiment-fg, #181511);--ix-accent: var(--experiment-accent, #a84c27);background:linear-gradient(90deg,color-mix(in srgb,var(--ix-fg) 7%,transparent) 1px,transparent 1px) 0 0 / 25% 100%,var(--ix-bg)}.trace-canvas__stage:after{position:absolute;z-index:2;top:0;bottom:0;left:0;width:24%;background:linear-gradient(90deg,transparent,rgba(160,71,33,.13),transparent);content:"";opacity:0;pointer-events:none;transform:translate(-150%)}.portfolio-work--trace .portfolio-work__experiment[data-inview=true] .trace-canvas__stage:after{animation:trace-paper-pass 1.2s .32s cubic-bezier(.16,1,.3,1) both}.trace-canvas__stage canvas:focus-visible,.refracted-type__display:focus-visible{outline:1px solid var(--ix-accent);outline-offset:-4px}.trace-canvas__axis{position:absolute;z-index:0;background:color-mix(in srgb,var(--ix-fg) 10%,transparent);pointer-events:none}.trace-canvas__axis--x{top:50%;right:0;left:0;height:1px}.trace-canvas__axis--y{top:0;bottom:0;left:50%;width:1px}.interactive-experiment--type{--rt-black: var(--experiment-bg, #070606);--rt-carbon: var(--portfolio-black-soft, #0b0a09);--rt-ivory: var(--experiment-fg, #f3eee7);--rt-warm: var(--portfolio-warm, #ded7cd);--rt-orange: var(--portfolio-copper-bright, #ff6a22);--rt-orange-deep: var(--experiment-accent, #e45c20);--ix-accent: var(--experiment-accent, #e45c20);background:radial-gradient(ellipse 58% 82% at 48% 48%,rgba(255,61,0,.018),transparent 66%),linear-gradient(128deg,var(--rt-black) 0%,var(--rt-carbon) 52%,#050505 100%),var(--ix-bg)}.refracted-type__display{--type-focus-x: 50%;--type-focus-y: 50%;--type-field-focus-x: 50%;--type-field-focus-y: 50%;--type-lens-rx: 180px;--type-lens-ry: 100px;--type-field-rx: 300px;--type-field-ry: 168px;--type-blade-angle: -8deg;--type-blade-scale: .74;--type-blade-opacity: .06;--type-glass-opacity: .36;--type-wave-opacity: .55;position:relative;isolation:isolate;display:grid;width:100%;min-height:0;place-items:center;overflow:hidden;padding:0;text-align:center;touch-action:pan-y;cursor:crosshair;background:radial-gradient(ellipse 46% 88% at var(--type-field-focus-x) var(--type-field-focus-y),rgba(243,238,231,.024),rgba(255,61,0,.018) 44%,transparent 82%),linear-gradient(122deg,transparent 23%,rgba(255,106,34,.018) 42%,rgba(243,238,231,.055) 49%,rgba(228,92,32,.018) 58%,transparent 73%),linear-gradient(128deg,var(--rt-black) 0%,#080706 52%,var(--rt-black) 100%)}.refracted-type__display:before,.refracted-type__display:after{position:absolute;content:"";pointer-events:none}.refracted-type__display:before{z-index:0;top:-16%;right:-8%;bottom:-16%;left:-8%;background:linear-gradient(114deg,transparent 16%,rgba(255,106,34,.018) 38%,rgba(255,244,232,.055) 49%,transparent 64%),radial-gradient(ellipse 46% 30% at 68% 36%,rgba(228,92,32,.024),transparent 72%),radial-gradient(ellipse 42% 26% at 31% 70%,rgba(243,238,231,.022),transparent 74%);opacity:.9;transform:rotate(-2deg);-webkit-mask-image:linear-gradient(90deg,transparent 2%,#000 13% 87%,transparent 98%);mask-image:linear-gradient(90deg,transparent 2%,#000 13% 87%,transparent 98%)}.refracted-type__display:after{z-index:6;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(5,4,4,.84),transparent 11% 89%,rgba(5,4,4,.84)),linear-gradient(0deg,rgba(5,4,4,.62),transparent 15% 85%,rgba(5,4,4,.52)),radial-gradient(ellipse 74% 88% at 50% 50%,transparent 52%,rgba(0,0,0,.28) 100%)}.refracted-type__wavefronts{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;opacity:var(--type-wave-opacity);filter:drop-shadow(0 0 7px rgba(255,61,0,.18));pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 1%,#000 12% 88%,transparent 99%);mask-image:linear-gradient(90deg,transparent 1%,#000 12% 88%,transparent 99%)}.refracted-type__wavefront{fill:none;stroke:url(#refracted-wave-secondary);stroke-linecap:round;stroke-width:1}.refracted-type__wavefront--2{stroke:url(#refracted-wave-primary);stroke-width:1.5}.refracted-type__wavefront--3{stroke:url(#refracted-wave-primary);opacity:.62;stroke-width:1.05}.refracted-type__glass{position:absolute;z-index:2;top:4%;right:2%;bottom:4%;left:2%;background:radial-gradient(ellipse var(--type-field-rx) var(--type-field-ry) at var(--type-field-focus-x) var(--type-field-focus-y),rgba(255,61,0,.044) 0,rgba(228,92,32,.03) 38%,rgba(255,106,34,.014) 68%,transparent 96%),radial-gradient(ellipse var(--type-lens-rx) var(--type-lens-ry) at var(--type-focus-x) var(--type-focus-y),rgba(255,244,232,.15) 0,rgba(255,106,34,.062) 38%,rgba(228,92,32,.02) 68%,transparent 90%),linear-gradient(118deg,transparent 14%,rgba(255,244,232,.018) 36%,rgba(228,92,32,.075) 49%,transparent 67%);opacity:var(--type-glass-opacity);pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 86% 94% at var(--type-field-focus-x) var(--type-field-focus-y),#000 0 54%,rgba(0,0,0,.76) 72%,transparent 98%);mask-image:radial-gradient(ellipse 86% 94% at var(--type-field-focus-x) var(--type-field-focus-y),#000 0 54%,rgba(0,0,0,.76) 72%,transparent 98%)}.refracted-type__caustic{position:absolute;z-index:3;top:var(--type-focus-y);left:var(--type-focus-x);width:clamp(240px,42vw,560px);height:18px;background:radial-gradient(ellipse 50% 18% at 50% 50%,rgba(255,106,34,.55),rgba(255,244,232,.12) 42%,transparent 76%);opacity:var(--type-blade-opacity);pointer-events:none;transform:translate3d(-50%,-50%,0) rotate(var(--type-blade-angle)) scaleX(var(--type-blade-scale));transform-origin:50% 50%}.refracted-type__caustic:after{position:absolute;top:50%;right:8%;left:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(228,92,32,.32) 31%,rgba(255,244,232,.84) 50%,rgba(255,106,34,.48) 69%,transparent);content:"";transform:translateY(-50%)}.refracted-type__optic{position:relative;z-index:4;display:grid;width:100%;min-height:clamp(190px,26vw,350px);place-items:center;opacity:1;clip-path:inset(0 0 0 0);transform:translateZ(0) scaleX(1);transition:opacity .22s ease,clip-path .44s cubic-bezier(.22,1,.36,1),transform .44s cubic-bezier(.22,1,.36,1)}.refracted-type__display[data-phase=leaving] .refracted-type__optic{opacity:0;clip-path:inset(48% 0 48% 0);transform:translateZ(0) scaleX(1.012)}.refracted-type__display[data-phase=entering] .refracted-type__optic{animation:refracted-aperture-open .9s cubic-bezier(.16,1,.3,1) both}.refracted-type__base,.refracted-type__glyph{display:grid;place-items:center;font:760 clamp(48px,8.8vw,138px) / .92 "Noto Sans SC","Microsoft YaHei",sans-serif;letter-spacing:-.08em;white-space:nowrap}.refracted-type__base{position:absolute;top:0;right:0;bottom:0;left:0;color:transparent;background:linear-gradient(106deg,var(--rt-ivory) 0 30%,var(--rt-warm) 45%,#fff4e8 53%,#e7ded3 70%,var(--rt-ivory) 100%);background-clip:text;text-shadow:0 0 26px rgba(255,244,232,.06),0 0 38px rgba(255,61,0,.035);-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:.94}.refracted-type__lenses,.refracted-type__lens,.refracted-type__glyph{position:absolute;top:0;right:0;bottom:0;left:0}.refracted-type__lenses{pointer-events:none}.refracted-type__lens{--lens-opacity: 0;--lens-primary-x: 0px;--lens-primary-y: 0px;--lens-secondary-x: 0px;--lens-secondary-y: 0px;--lens-edge-alpha: 0;opacity:var(--lens-opacity);transform-origin:var(--type-focus-x) var(--type-focus-y);will-change:auto}.refracted-type__lens--core{-webkit-mask-image:radial-gradient(ellipse var(--type-lens-rx) var(--type-lens-ry) at var(--type-focus-x) var(--type-focus-y),#000 0 40%,rgba(0,0,0,.86) 60%,transparent 86%);mask-image:radial-gradient(ellipse var(--type-lens-rx) var(--type-lens-ry) at var(--type-focus-x) var(--type-focus-y),#000 0 40%,rgba(0,0,0,.86) 60%,transparent 86%)}.refracted-type__lens--halo{-webkit-mask-image:radial-gradient(ellipse var(--type-lens-rx) var(--type-lens-ry) at var(--type-focus-x) var(--type-focus-y),transparent 0 30%,rgba(0,0,0,.2) 40%,#000 55%,rgba(0,0,0,.48) 72%,transparent 90%);mask-image:radial-gradient(ellipse var(--type-lens-rx) var(--type-lens-ry) at var(--type-focus-x) var(--type-focus-y),transparent 0 30%,rgba(0,0,0,.2) 40%,#000 55%,rgba(0,0,0,.48) 72%,transparent 90%)}.refracted-type__lens--rim{-webkit-mask-image:radial-gradient(ellipse var(--type-lens-rx) var(--type-lens-ry) at var(--type-focus-x) var(--type-focus-y),transparent 0 58%,rgba(0,0,0,.24) 64%,#000 72%,transparent 84%);mask-image:radial-gradient(ellipse var(--type-lens-rx) var(--type-lens-ry) at var(--type-focus-x) var(--type-focus-y),transparent 0 58%,rgba(0,0,0,.24) 64%,#000 72%,transparent 84%)}.interactive-experiment--type[data-active=true] .refracted-type__display[data-engaged=true] .refracted-type__lens{will-change:transform}.refracted-type__glyph{color:#fff4e8f0}.refracted-type__lens--halo .refracted-type__glyph{color:#ded7cdd1}.refracted-type__lens--rim .refracted-type__glyph{color:#ff6a22e6}.refracted-type__glyph:before,.refracted-type__glyph:after{position:absolute;display:grid;top:0;right:0;bottom:0;left:0;place-items:center;content:attr(data-text);pointer-events:none}.refracted-type__glyph:before{color:var(--rt-orange);opacity:var(--lens-edge-alpha);transform:translate3d(var(--lens-primary-x),var(--lens-primary-y),0)}.refracted-type__glyph:after{color:var(--rt-warm);opacity:calc(var(--lens-edge-alpha) * .62);transform:translate3d(var(--lens-secondary-x),var(--lens-secondary-y),0)}.refracted-type__screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.portfolio-shell[data-locale=en] .interactive-experiment .interactive-experiment__header h3{font-size:clamp(25px,2.7vw,44px);letter-spacing:-.035em}.portfolio-shell[data-locale=en] .refracted-type__base,.portfolio-shell[data-locale=en] .refracted-type__glyph{font-size:clamp(26px,5vw,74px);letter-spacing:-.055em}@keyframes trace-paper-pass{0%{opacity:0;transform:translate(-150%)}28%{opacity:1}to{opacity:0;transform:translate(520%)}}@keyframes refracted-aperture-open{0%{opacity:.12;clip-path:inset(48% 0 48% 0);transform:translateZ(0) scaleX(1.012)}42%{opacity:.82}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateZ(0) scaleX(1)}}@media(max-width:680px){.interactive-experiment{min-height:540px;grid-template-rows:auto minmax(270px,1fr) auto;gap:16px;padding:22px 18px}.interactive-experiment__header{align-items:flex-end}.interactive-experiment .interactive-experiment__header h3{margin-top:5px;font-size:30px}.interactive-experiment__note{max-width:130px;font-size:9px}.interactive-experiment__footer{gap:12px;font-size:9px}.interactive-experiment__footer>span:first-child{max-width:58%}.refracted-type__display{min-height:250px;--type-lens-rx: 92px;--type-lens-ry: 82px}.refracted-type__optic{min-height:190px}.refracted-type__base,.refracted-type__glyph{font-size:clamp(42px,13.6vw,64px)}.portfolio-shell[data-locale=en] .interactive-experiment .interactive-experiment__header h3{font-size:25px}.portfolio-shell[data-locale=en] .refracted-type__base,.portfolio-shell[data-locale=en] .refracted-type__glyph{font-size:clamp(25px,7.2vw,34px);letter-spacing:-.045em}}@media(prefers-reduced-motion:reduce){.refracted-type__lens{opacity:0!important;transform:none!important;will-change:auto}.refracted-type__optic{animation:none;transition:none}.portfolio-work--trace .portfolio-work__experiment[data-inview=true] .trace-canvas__stage:after{animation:none}}@media(forced-colors:active){.interactive-experiment:before,.trace-canvas__stage{border-color:CanvasText}.interactive-experiment__footer button,.refracted-type__display{forced-color-adjust:auto}.refracted-type__base{color:CanvasText;background:none;-webkit-text-fill-color:CanvasText;opacity:1}.refracted-type__wavefronts,.refracted-type__glass,.refracted-type__caustic,.refracted-type__lenses{display:none!important}}.portfolio-shell{--portfolio-black: #050505;--portfolio-black-soft: #0b0a09;--portfolio-ivory: #f2eee7;--portfolio-warm: #ded7cd;--portfolio-muted: #8f8982;--portfolio-copper-bright: #ff6a22;--portfolio-line-dark: rgba(10, 9, 8, .2);--portfolio-line-light: rgba(255, 248, 239, .17);--portfolio-ease: cubic-bezier(.16, 1, .3, 1);--portfolio-safe-inline: max(env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--portfolio-gutter: max(clamp(24px, 4.5vw, 72px), calc(var(--portfolio-safe-inline) + 18px));position:relative;z-index:3;overflow:clip;color:var(--portfolio-ivory);background:var(--portfolio-black)}.portfolio-shell h2,.portfolio-shell h3,.portfolio-shell p,.portfolio-shell ol,.portfolio-shell ul,.portfolio-shell dl,.portfolio-shell dd{margin:0}.portfolio-shell ol,.portfolio-shell ul{padding:0;list-style:none}.portfolio-shell a,.portfolio-shell button{-webkit-tap-highlight-color:transparent}.portfolio-shell a:focus-visible,.portfolio-shell button:focus-visible{outline:2px solid var(--portfolio-copper-bright);outline-offset:6px}.portfolio-mark{display:flex;align-items:center;gap:18px;color:var(--portfolio-copper-bright);font-family:Roboto Mono,Noto Sans SC,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.portfolio-mark:after{width:clamp(50px,7vw,112px);height:1px;background:linear-gradient(90deg,currentColor,transparent);content:""}.portfolio-mark>span{color:color-mix(in srgb,currentColor 68%,transparent)}.portfolio-mark>span,.portfolio-mark>p{flex:0 0 auto;white-space:nowrap}.portfolio-heading-line{display:block;white-space:nowrap}.portfolio-mark--light{color:#a93c13}.portfolio-index{min-height:100svh;padding:clamp(86px,12vh,144px) var(--portfolio-gutter) clamp(84px,11vh,132px);border-bottom:1px solid var(--portfolio-line-light);background:linear-gradient(115deg,transparent 0 58%,rgba(217,91,34,.06) 74%,transparent 92%),var(--portfolio-black)}.portfolio-index__topline{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--portfolio-line-light);color:var(--portfolio-muted);font-family:Roboto Mono,Noto Sans SC,monospace;font-size:10px;letter-spacing:.13em}.portfolio-index__topline p{display:flex;gap:18px;align-items:baseline}.portfolio-index__topline strong{color:var(--portfolio-ivory);font-size:13px;font-weight:500;letter-spacing:.2em}.portfolio-index__intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.62fr);gap:clamp(52px,9vw,150px);align-items:end;margin:clamp(62px,9vh,108px) 0 clamp(72px,11vh,134px)}.portfolio-index__intro h2{max-width:980px;font-size:clamp(58px,8.4vw,136px);font-weight:800;line-height:.97;letter-spacing:-.085em}.portfolio-index__overview{display:grid;gap:30px;align-self:end;padding-bottom:10px}.portfolio-index__overview>p{max-width:430px;color:#aaa39b;font-size:clamp(15px,1.25vw,19px);line-height:1.9}.portfolio-index__nav{border-top:1px solid var(--portfolio-line-light)}.portfolio-index__nav li{position:relative;overflow:clip;border-bottom:1px solid var(--portfolio-line-light)}.portfolio-index__nav li:after{position:absolute;top:50%;right:clamp(64px,8vw,144px);color:transparent;content:attr(data-index);font:700 clamp(76px,9vw,138px) / .7 "Roboto Mono",monospace;-webkit-text-stroke:1px rgba(255,106,34,.2);opacity:0;pointer-events:none;transform:translate3d(26px,-46%,0);transition:opacity .5s var(--portfolio-ease),transform .7s var(--portfolio-ease)}.portfolio-index__nav a{--index-pointer-x: 70%;--index-pointer-y: 50%;position:relative;z-index:1;display:grid;grid-template-columns:76px minmax(220px,.72fr) minmax(260px,1fr) 40px;gap:clamp(18px,3vw,54px);align-items:center;min-height:132px;padding:18px 8px 18px 0;isolation:isolate}.portfolio-index__nav a:before,.portfolio-index__nav a:after{position:absolute;z-index:-1;content:"";pointer-events:none}.portfolio-index__nav a:before{top:0;right:0;bottom:0;left:0;background:radial-gradient(340px circle at var(--index-pointer-x) var(--index-pointer-y),rgba(224,85,28,.19),rgba(224,85,28,.055) 42%,transparent 72%);opacity:0;transform:scale3d(.96,.88,1);transition:opacity .32s ease,transform .62s var(--portfolio-ease)}.portfolio-index__nav a:after{right:0;bottom:-1px;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,106,34,.9),transparent);transform:scaleX(0);transform-origin:50% 50%;transition:transform .62s var(--portfolio-ease)}.portfolio-index__nav a:hover:before,.portfolio-index__nav a:focus-visible:before{opacity:1;transform:scaleZ(1)}.portfolio-index__nav a:hover:after,.portfolio-index__nav a:focus-visible:after{transform:scaleX(1)}.portfolio-index__nav li:hover:after,.portfolio-index__nav li:focus-within:after{opacity:.85;transform:translate3d(0,-46%,0)}.portfolio-index__number,.portfolio-index__summary,.portfolio-index__name small{color:var(--portfolio-muted);font-family:Roboto Mono,Noto Sans SC,monospace;font-size:11px}.portfolio-index__name{display:flex;align-items:baseline;gap:14px;transition:transform .62s var(--portfolio-ease)}.portfolio-index__name strong{font-size:clamp(30px,3vw,48px);font-weight:600;letter-spacing:-.055em}.portfolio-index__name small{color:#c66b42;white-space:nowrap}.portfolio-index__summary{max-width:520px;color:#aaa39b;line-height:1.8;transition:color .42s ease,transform .62s var(--portfolio-ease)}.portfolio-index__nav a:hover .portfolio-index__name,.portfolio-index__nav a:focus-visible .portfolio-index__name{transform:translate3d(8px,0,0)}.portfolio-index__nav a:hover .portfolio-index__summary,.portfolio-index__nav a:focus-visible .portfolio-index__summary{color:#d3cbc2;transform:translate3d(-3px,0,0)}.portfolio-index__nav svg{width:27px;height:27px;color:var(--portfolio-copper-bright);transition:transform .3s ease}.portfolio-index__nav a:hover svg,.portfolio-index__nav a:focus-visible svg{transform:translate(5px,-5px)}.portfolio-work{--experiment-bg: #070606;--experiment-fg: #f3eee7;--experiment-muted: #8f8982;--experiment-accent: #e45c20;--work-enter-x: -42px;--work-stage-enter-x: -18px;--work-stage-origin: 22% 50%;--work-index-size: clamp(180px, min(20vw, 34svh), 360px);--work-index-gap: clamp(24px, 2.4vw, 44px);--work-line-fade: clamp(56px, 5vw, 96px);--work-accent-line: clamp(80px, 14vw, 220px);--work-line-color: color-mix(in srgb, var(--experiment-fg) 16%, transparent);--work-index-clearance: calc(var(--work-index-size) + var(--work-index-gap));position:relative;min-height:100svh;overflow:clip;padding:clamp(92px,13vh,152px) var(--portfolio-gutter) clamp(108px,15vh,176px);border-bottom:1px solid var(--portfolio-line-light);background:var(--portfolio-black);isolation:isolate}.portfolio-work:before,.portfolio-work:after{position:absolute;z-index:0;content:"";pointer-events:none}.portfolio-work:before{top:0;right:0;left:0;height:clamp(90px,15vh,160px);background:linear-gradient(180deg,rgba(226,86,28,.07),rgba(226,86,28,.015) 42%,transparent);opacity:.72}.portfolio-work:after{top:clamp(52px,6vh,82px);right:calc(var(--portfolio-gutter) * .82);color:transparent;content:attr(data-work-index);font:700 var(--work-index-size) / .82 "Roboto Mono",monospace;letter-spacing:-.12em;-webkit-text-stroke:1.6px rgba(255,98,31,.84);opacity:.98;text-shadow:0 0 14px rgba(255,98,31,.1);transform:translate(5%)}.portfolio-work--light{--experiment-bg: #e8e3db;--experiment-fg: #11100f;--experiment-muted: #6f6861;--experiment-accent: #ad3e16;color:#11100f;border-color:var(--portfolio-line-dark);background:#e8e3db}.portfolio-work--light:before{background:linear-gradient(180deg,rgba(169,60,19,.09),transparent 76%)}.portfolio-work--light:after{-webkit-text-stroke-color:rgba(159,52,17,.46);text-shadow:0 0 12px rgba(159,52,17,.055)}@supports not (-webkit-text-stroke: 1px currentColor){.portfolio-work:after,.portfolio-work__header:after{color:#ff621f57}.portfolio-work--light:after,.portfolio-work--light .portfolio-work__header:after{color:#9f34114d}}.portfolio-work--gravity{--work-enter-x: 0px;--work-stage-enter-x: 0px;--work-stage-origin: 50% 50%}.portfolio-work--trace{--work-enter-x: 0px;--work-stage-enter-x: 0px;--work-stage-origin: 78% 50%}.portfolio-work--type{--work-enter-x: 42px;--work-stage-enter-x: 18px;--work-stage-origin: 78% 50%}.portfolio-work>*{position:relative;z-index:1}.portfolio-work__header{position:relative;display:grid;grid-template-columns:minmax(150px,.38fr) minmax(400px,1fr) minmax(250px,.48fr);gap:clamp(32px,5vw,80px);align-items:end;min-height:clamp(390px,52svh,620px);padding-block:clamp(30px,5vh,58px);margin-bottom:clamp(60px,8vh,94px)}.portfolio-work__header:before{position:absolute;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,var(--experiment-accent) 0 var(--work-accent-line),var(--work-line-color) var(--work-accent-line),var(--work-line-color) calc(100% - var(--work-index-clearance) - var(--work-line-fade)),transparent calc(100% - var(--work-index-clearance)));content:""}.portfolio-work__title-wrap h2{font-size:clamp(70px,9.3vw,148px);font-weight:800;line-height:.92;letter-spacing:-.09em}.portfolio-work__title-wrap p{margin-top:18px;color:var(--portfolio-copper-bright);font-family:Roboto Mono,Noto Sans SC,monospace;font-size:13px;letter-spacing:.17em}.portfolio-work--light .portfolio-work__title-wrap p{color:#a93c13}.portfolio-work__summary{max-width:420px;padding-bottom:8px;color:var(--experiment-muted);font-size:clamp(15px,1.25vw,18px);line-height:1.9;text-wrap:pretty;word-break:auto-phrase}.portfolio-work__experiment{position:relative;width:calc(100% + (var(--portfolio-gutter) * 2));min-height:clamp(520px,72svh,820px);margin-left:calc(var(--portfolio-gutter) * -1);overflow:hidden;color:var(--experiment-fg);border-block:1px solid color-mix(in srgb,var(--experiment-fg) 18%,transparent);background:var(--experiment-bg);isolation:isolate;transform-origin:var(--work-stage-origin)}.portfolio-work__experiment:after{position:absolute;z-index:9;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,var(--experiment-accent),transparent);content:"";opacity:0;pointer-events:none;transform:translate3d(0,-1px,0) scaleX(.08)}.portfolio-work--gravity .portfolio-work__experiment{border-color:#f2eee717}.portfolio-work--gravity .portfolio-work__experiment:after{display:none}.portfolio-work__experiment>*{width:100%}.portfolio-work__experiment canvas,.portfolio-work__experiment svg{display:block;max-width:100%}.portfolio-work__notes{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(330px,.75fr) minmax(220px,.45fr);gap:clamp(42px,7vw,108px);align-items:start;margin-top:clamp(48px,7vh,80px)}.portfolio-work__description{max-width:700px;color:color-mix(in srgb,var(--experiment-fg) 70%,transparent);font-size:clamp(15px,1.3vw,19px);line-height:2;text-wrap:pretty;word-break:auto-phrase}.portfolio-work__notes dl{border-top:1px solid color-mix(in srgb,var(--experiment-fg) 18%,transparent)}.portfolio-work__notes dl>div{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid color-mix(in srgb,var(--experiment-fg) 18%,transparent);font-size:12px;line-height:1.7}.portfolio-work__notes dt{color:var(--experiment-accent);font-family:Roboto Mono,Noto Sans SC,monospace}.portfolio-work__notes dd{color:color-mix(in srgb,var(--experiment-fg) 68%,transparent)}.portfolio-work__aside{display:grid;gap:28px}.portfolio-work__prompt{display:flex;gap:12px;color:color-mix(in srgb,var(--experiment-fg) 55%,transparent);font-family:Roboto Mono,Noto Sans SC,monospace;font-size:10px;line-height:1.8}.portfolio-work__prompt span{color:var(--experiment-accent)}.portfolio-work__detail-link,.portfolio-service__detail-link,.portfolio-index__detail-link,.portfolio-about__detail-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:14px 0;border-block:1px solid color-mix(in srgb,currentColor 18%,transparent);font-family:Roboto Mono,Noto Sans SC,monospace;font-size:9px;letter-spacing:.08em;transition:color .18s ease,border-color .18s ease}.portfolio-work__detail-link{color:color-mix(in srgb,var(--experiment-fg) 72%,transparent)}.portfolio-work__detail-link:hover,.portfolio-work__detail-link:focus-visible,.portfolio-service__detail-link:hover,.portfolio-service__detail-link:focus-visible,.portfolio-index__detail-link:hover,.portfolio-index__detail-link:focus-visible,.portfolio-about__detail-link:hover,.portfolio-about__detail-link:focus-visible{color:var(--portfolio-copper-bright);border-color:color-mix(in srgb,var(--portfolio-copper-bright) 58%,transparent)}.portfolio-work__detail-link svg,.portfolio-service__detail-link svg,.portfolio-index__detail-link svg,.portfolio-about__detail-link svg{width:17px;height:17px;flex:0 0 auto}.portfolio-service,.portfolio-about,.portfolio-contact{padding:clamp(98px,14vh,168px) var(--portfolio-gutter);border-bottom:1px solid var(--portfolio-line-light);background:var(--portfolio-black)}.portfolio-service__heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.48fr);gap:clamp(48px,10vw,160px);align-items:end;margin:clamp(58px,9vh,108px) 0 clamp(80px,12vh,136px)}.portfolio-service__heading h2,.portfolio-about__statement h2,.portfolio-cooperation__heading h2,.portfolio-contact__main h2{font-size:clamp(54px,7vw,112px);font-weight:750;line-height:1.03;letter-spacing:-.078em;text-wrap:balance;word-break:auto-phrase}.portfolio-service__heading>p,.portfolio-cooperation__heading>p{color:var(--portfolio-muted);font-size:15px;line-height:1.9;text-wrap:pretty;word-break:auto-phrase}.portfolio-service__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--portfolio-line-light)}.portfolio-service__steps li{min-height:320px;padding:30px clamp(24px,3vw,48px) 36px 0}.portfolio-service__steps li+li{padding-left:clamp(24px,3vw,48px);border-left:1px solid var(--portfolio-line-light)}.portfolio-service__steps span{color:var(--portfolio-copper-bright);font-family:Roboto Mono,monospace;font-size:11px}.portfolio-service__steps h3{margin:clamp(76px,10vh,112px) 0 20px;font-size:clamp(26px,2.5vw,40px);font-weight:600;letter-spacing:-.045em}.portfolio-service__steps p{max-width:350px;color:var(--portfolio-muted);font-size:13px;line-height:1.85}.portfolio-service__capabilities{display:grid;grid-template-columns:minmax(180px,.55fr) 1fr;gap:clamp(40px,7vw,100px);margin-top:clamp(70px,10vh,110px);color:var(--portfolio-muted);font-family:Roboto Mono,Noto Sans SC,monospace;font-size:10px;letter-spacing:.1em}.portfolio-service__capabilities ul{border-top:1px solid var(--portfolio-line-light)}.portfolio-service__capabilities li{padding:18px 0;color:var(--portfolio-warm);border-bottom:1px solid var(--portfolio-line-light);font-family:Noto Sans SC,sans-serif;font-size:clamp(17px,1.8vw,24px);letter-spacing:0}.portfolio-service__capabilities li a{display:flex;align-items:center;justify-content:space-between;gap:20px;transition:color .18s ease}.portfolio-service__capabilities li a:hover,.portfolio-service__capabilities li a:focus-visible{color:var(--portfolio-copper-bright)}.portfolio-service__capabilities li a svg{width:18px;height:18px;flex:0 0 auto}.portfolio-service__detail-link{width:min(100%,520px);margin-top:clamp(46px,7vh,76px);color:var(--portfolio-warm)}.portfolio-index__detail-link,.portfolio-about__detail-link{width:100%;color:var(--portfolio-warm)}.portfolio-about{display:grid;grid-template-columns:minmax(150px,.34fr) minmax(400px,1.18fr) minmax(300px,.48fr);gap:clamp(40px,7vw,112px);align-items:start;min-height:90svh}.portfolio-shell .portfolio-about__brand{display:flex;gap:20px;align-items:baseline;margin-bottom:clamp(44px,7vh,78px);font-family:Roboto Mono,Noto Sans SC,monospace}.portfolio-about__brand strong{font-size:14px;font-weight:500;letter-spacing:.2em}.portfolio-about__brand span{color:var(--portfolio-muted);font-size:10px;letter-spacing:.12em}.portfolio-about__statement h2{max-width:990px;font-size:clamp(48px,5vw,80px)}.portfolio-about__copy{display:grid;gap:32px;padding-top:64px;color:var(--portfolio-muted);font-size:14px;line-height:2;text-wrap:pretty;word-break:auto-phrase}.portfolio-cooperation{min-height:100svh;padding:clamp(98px,14vh,168px) var(--portfolio-gutter);color:#11100f;border-bottom:1px solid var(--portfolio-line-dark);background:#e8e3db}.portfolio-cooperation__heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.42fr);gap:clamp(50px,10vw,160px);align-items:end;margin:clamp(62px,10vh,120px) 0 clamp(74px,11vh,126px)}.portfolio-cooperation__heading>p{color:#68615a}.portfolio-cooperation__list{border-top:1px solid var(--portfolio-line-dark)}.portfolio-cooperation__list li{display:grid;grid-template-columns:80px minmax(220px,.72fr) minmax(260px,.8fr);gap:clamp(22px,4vw,72px);align-items:baseline;min-height:150px;padding:34px 0;border-bottom:1px solid var(--portfolio-line-dark)}.portfolio-cooperation__list span{color:#9d3c17;font-family:Roboto Mono,monospace;font-size:11px}.portfolio-cooperation__list h3{font-size:clamp(34px,4vw,60px);font-weight:600;letter-spacing:-.06em}.portfolio-cooperation__list p{max-width:500px;color:#68615a;font-size:14px;line-height:1.85}.portfolio-contact{display:grid;grid-template-columns:minmax(150px,.34fr) minmax(0,1.35fr) minmax(190px,.32fr);gap:clamp(38px,7vw,110px);align-items:end;min-height:90svh}.portfolio-contact__main h2{max-width:960px;margin-bottom:clamp(46px,7vh,80px)}.portfolio-contact__email{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:980px;padding:24px 0;color:var(--portfolio-copper-bright);border-block:1px solid rgba(255,106,34,.4);font-family:Roboto Mono,monospace;font-size:clamp(22px,3.1vw,48px);letter-spacing:-.04em;overflow-wrap:anywhere;transition:color .25s ease,transform .3s ease}.portfolio-contact__email:hover,.portfolio-contact__email:focus-visible{color:#ff8c53;transform:translate(8px)}.portfolio-contact__email svg{flex:0 0 auto;width:clamp(28px,3vw,46px);height:auto}.portfolio-contact__main>p{max-width:540px;margin-top:30px;color:var(--portfolio-muted);font-size:13px;line-height:1.9}.portfolio-shell[data-locale=en] .portfolio-index__intro h2{font-size:clamp(48px,6vw,96px);letter-spacing:-.065em}.portfolio-shell[data-locale=en] .portfolio-work__title-wrap h2{font-size:clamp(62px,7.1vw,114px);letter-spacing:-.065em}.portfolio-shell[data-locale=en] .portfolio-service__heading h2,.portfolio-shell[data-locale=en] .portfolio-cooperation__heading h2,.portfolio-shell[data-locale=en] .portfolio-contact__main h2{font-size:clamp(48px,5.8vw,92px);letter-spacing:-.06em}.portfolio-shell[data-locale=en] .portfolio-about__statement h2{font-size:clamp(42px,4.3vw,70px);letter-spacing:-.055em}.portfolio-shell[data-locale=en] .portfolio-cooperation__list h3{font-size:clamp(30px,3.2vw,50px)}.portfolio-shell[data-locale=en] .portfolio-work__notes dl>div{grid-template-columns:92px 1fr}.portfolio-contact__copy-wrap{padding-bottom:4px}.portfolio-contact__copy{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 18px;color:var(--portfolio-ivory);border:1px solid rgba(255,106,34,.58);background:transparent;cursor:pointer;font-size:12px;letter-spacing:.1em;transition:color .22s ease,background .22s ease,transform .22s ease}.portfolio-contact__copy:hover,.portfolio-contact__copy:focus-visible{color:#fff;background:#d95b2229;transform:translateY(-2px)}.portfolio-contact__copy svg{width:19px;height:19px}.portfolio-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:clamp(40px,8vw,120px);padding:clamp(34px,5vh,58px) var(--portfolio-gutter) max(28px,calc(env(safe-area-inset-bottom,0px) + 22px));border-top:1px solid var(--portfolio-line-light);color:var(--portfolio-muted);background:var(--portfolio-black-soft);font-family:Roboto Mono,Noto Sans SC,monospace;font-size:9px;letter-spacing:.13em}.portfolio-footer__brand{display:flex;gap:18px;align-items:baseline}.portfolio-footer__brand strong{color:var(--portfolio-ivory);font-size:12px;font-weight:500;letter-spacing:.2em}.portfolio-footer__meta{display:flex;gap:clamp(28px,4vw,58px);align-items:flex-start;justify-content:flex-end}.portfolio-footer__meta>a{color:var(--portfolio-warm);transition:color .22s ease}.portfolio-footer__meta>a:hover{color:var(--portfolio-copper-bright)}.portfolio-sr-only{position:absolute!important;width:1px!important;height:1px!important;font-family:Arial,sans-serif!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(min-width:1041px){.portfolio-contact>.portfolio-mark{grid-column:1;grid-row:1}.portfolio-contact__main{grid-column:2 / -1;grid-row:1}.portfolio-contact__copy-wrap{grid-column:3;grid-row:1;align-self:end;justify-self:end}.portfolio-contact__main h2{width:max-content;max-width:none;font-size:clamp(62px,6.2vw,92px);white-space:nowrap}.portfolio-contact__main h2 .portfolio-heading-line{display:inline}.portfolio-work--trace .portfolio-work__header{grid-template-columns:minmax(150px,.34fr) minmax(250px,.48fr) minmax(430px,1fr)}.portfolio-work--trace .portfolio-mark{grid-column:1;grid-row:1}.portfolio-work--trace .portfolio-work__title-wrap{grid-column:3;grid-row:1;text-align:right}.portfolio-work--trace .portfolio-work__summary{grid-column:2;grid-row:1;padding-bottom:14px}.portfolio-work--type .portfolio-work__header{grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);grid-template-rows:auto auto;align-content:end}.portfolio-work--type .portfolio-mark{grid-column:1;grid-row:1 / span 2;align-self:start}.portfolio-work--type .portfolio-work__title-wrap{grid-column:2;grid-row:1}.portfolio-work--type .portfolio-work__summary{grid-column:2;grid-row:2;justify-self:end;margin-top:clamp(30px,5vh,58px)}}.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__topline,.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__intro>*,.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__nav li,.portfolio-shell[data-motion=ready] [data-reveal=work-header]>*,.portfolio-shell[data-motion=ready] [data-reveal=work-notes]>*,.portfolio-shell[data-motion=ready] [data-reveal=section]>*{opacity:0;transform:translate3d(0,28px,0);transition:opacity .76s ease,transform .94s var(--portfolio-ease),clip-path .98s var(--portfolio-ease)}.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__intro h2,.portfolio-shell[data-motion=ready] [data-reveal=work-header] .portfolio-work__title-wrap{clip-path:inset(100% 0 0 0)}.portfolio-shell[data-motion=ready] [data-reveal=work-header] .portfolio-work__title-wrap{transform:translate3d(var(--work-enter-x),34px,0)}.portfolio-shell[data-motion=ready] [data-reveal=experiment]{clip-path:inset(7% 3.5% 7% 3.5%);filter:saturate(.66) brightness(.78);opacity:.24;transform:translate3d(var(--work-stage-enter-x),34px,0) scale(.955);transition:clip-path 1.25s var(--portfolio-ease),filter 1.15s var(--portfolio-ease),opacity .88s ease,transform 1.25s var(--portfolio-ease)}.portfolio-shell[data-motion=ready] [data-reveal=index][data-inview=true] .portfolio-index__topline,.portfolio-shell[data-motion=ready] [data-reveal=index][data-inview=true] .portfolio-index__intro>*,.portfolio-shell[data-motion=ready] [data-reveal=index][data-inview=true] .portfolio-index__nav li,.portfolio-shell[data-motion=ready] [data-reveal=work-header][data-inview=true]>*,.portfolio-shell[data-motion=ready] [data-reveal=work-notes][data-inview=true]>*,.portfolio-shell[data-motion=ready] [data-reveal=section][data-inview=true]>*{clip-path:inset(0 0 0 0);opacity:1;transform:translateZ(0)}.portfolio-shell[data-motion=ready] [data-reveal=experiment][data-inview=true]{clip-path:inset(0 0 0 0);filter:none;opacity:1;transform:translateZ(0) scale(1)}.portfolio-shell[data-motion=ready] [data-reveal=experiment][data-inview=true]:after{animation:portfolio-stage-line 1.08s .16s var(--portfolio-ease) both}.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__intro h2,.portfolio-shell[data-motion=ready] [data-reveal=work-header] .portfolio-work__title-wrap,.portfolio-shell[data-motion=ready] [data-reveal=section]>:nth-child(2){transition-delay:90ms}.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__overview,.portfolio-shell[data-motion=ready] [data-reveal=work-header] .portfolio-work__summary,.portfolio-shell[data-motion=ready] [data-reveal=section]>:nth-child(3){transition-delay:.18s}.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__nav li:nth-child(1),.portfolio-shell[data-motion=ready] [data-reveal=work-notes]>:nth-child(1){transition-delay:.24s}.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__nav li:nth-child(2),.portfolio-shell[data-motion=ready] [data-reveal=work-notes]>:nth-child(2){transition-delay:.32s}.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__nav li:nth-child(3),.portfolio-shell[data-motion=ready] [data-reveal=work-notes]>:nth-child(3){transition-delay:.4s}@keyframes portfolio-stage-line{0%{opacity:0;transform:translate3d(0,-1px,0) scaleX(.06)}38%{opacity:.82}to{opacity:0;transform:translate3d(0,-1px,0) scaleX(1)}}@media(max-width:1120px){.portfolio-work__notes{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.portfolio-work__aside{grid-column:2}.portfolio-about{grid-template-columns:minmax(120px,.28fr) minmax(0,1fr)}.portfolio-about__copy{grid-column:2;padding-top:0}}@media(max-width:1040px){.portfolio-work__header,.portfolio-contact{grid-template-columns:minmax(120px,.28fr) minmax(0,1fr)}.portfolio-work__summary,.portfolio-contact__copy-wrap{grid-column:2}.portfolio-work__summary{max-width:620px}.portfolio-contact__copy-wrap{margin-top:-26px}}@media(max-width:760px){.portfolio-shell{--portfolio-gutter: max(24px, calc(var(--portfolio-safe-inline) + 18px))}.portfolio-index{min-height:auto;padding-block:84px 96px}.portfolio-index__topline>span{display:none}.portfolio-index__topline p{flex-wrap:wrap;gap:8px 14px}.portfolio-index__intro,.portfolio-service__heading,.portfolio-cooperation__heading{grid-template-columns:1fr;gap:32px}.portfolio-index__intro{margin:58px 0 70px}.portfolio-index__intro h2{font-size:clamp(48px,13.3vw,54px)}.portfolio-index__nav a{grid-template-columns:34px minmax(0,1fr) 24px;gap:14px;min-height:118px;padding-right:0}.portfolio-index__nav li:after{display:none}.portfolio-index__summary{display:none}.portfolio-index__name{display:grid;gap:7px}.portfolio-index__name strong{font-size:30px}.portfolio-work{padding-block:86px 106px}.portfolio-work__header,.portfolio-work__notes,.portfolio-about,.portfolio-contact{grid-template-columns:1fr}.portfolio-work__header{grid-template-rows:auto auto auto auto;gap:0;min-height:0;padding-block:28px 0;margin-bottom:60px}.portfolio-work__header:before{background:linear-gradient(90deg,var(--experiment-accent) 0 var(--work-accent-line),var(--work-line-color) var(--work-accent-line) 100%)}.portfolio-work:after{display:none}.portfolio-work__header .portfolio-mark{grid-row:1}.portfolio-work__header:after{display:block;grid-row:2;justify-self:end;margin:clamp(20px,5vw,30px) 0 clamp(58px,11vw,82px);color:transparent;content:attr(data-work-index);font:700 clamp(112px,38vw,168px) / 1 "Roboto Mono",monospace;letter-spacing:-.12em;-webkit-text-stroke:1.5px rgba(255,98,31,.88);text-shadow:0 0 13px rgba(255,98,31,.12);pointer-events:none}.portfolio-work--light .portfolio-work__header:after{-webkit-text-stroke-color:rgba(159,52,17,.54);text-shadow:0 0 10px rgba(159,52,17,.065)}.portfolio-work__title-wrap{grid-row:3}.portfolio-work__header>.portfolio-work__summary{grid-row:4;margin-top:clamp(56px,11vw,76px)}.portfolio-work__title-wrap h2{font-size:clamp(68px,21vw,94px)}.portfolio-work__summary,.portfolio-work__aside,.portfolio-about__copy,.portfolio-contact__copy-wrap{grid-column:auto}.portfolio-work__experiment{min-height:min(68svh,620px)}.portfolio-work__notes{gap:44px}.portfolio-work__description{line-height:1.85}.portfolio-service,.portfolio-about,.portfolio-contact,.portfolio-cooperation{padding-block:92px}.portfolio-service__heading,.portfolio-cooperation__heading{margin-block:58px 72px}.portfolio-service__heading h2,.portfolio-about__statement h2,.portfolio-cooperation__heading h2,.portfolio-contact__main h2{font-size:clamp(48px,14vw,68px)}.portfolio-service__heading h2{font-size:clamp(42px,12.2vw,54px)}.portfolio-service__steps{grid-template-columns:1fr}.portfolio-service__steps li{min-height:250px;padding:26px 0 32px}.portfolio-service__steps li+li{padding-left:0;border-top:1px solid var(--portfolio-line-light);border-left:0}.portfolio-service__steps h3{margin-top:70px}.portfolio-service__capabilities{grid-template-columns:1fr;gap:24px}.portfolio-about{min-height:auto;gap:54px}.portfolio-about__statement h2{font-size:clamp(38px,12vw,52px)}.portfolio-about__copy{gap:22px}.portfolio-cooperation{min-height:auto}.portfolio-cooperation__list li{grid-template-columns:36px minmax(0,1fr);gap:14px;min-height:0;padding:30px 0 34px}.portfolio-cooperation__list p{grid-column:2}.portfolio-contact{min-height:82svh;align-content:center;gap:56px}.portfolio-contact__main h2{margin-bottom:52px}.portfolio-contact__email{gap:16px;font-size:clamp(19px,6vw,28px)}.portfolio-contact__copy-wrap{margin-top:-20px}.portfolio-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;justify-content:stretch}.portfolio-footer__brand{display:grid;gap:7px}.portfolio-footer__meta{width:100%;justify-content:space-between}.portfolio-footer__meta>a{white-space:nowrap}.portfolio-shell[data-locale=en] .portfolio-heading-line{white-space:normal}.portfolio-shell[data-locale=en] .portfolio-index__intro h2{font-size:clamp(32px,9vw,40px)}.portfolio-shell[data-locale=en] .portfolio-work__title-wrap h2{font-size:clamp(48px,14vw,62px)}.portfolio-shell[data-locale=en] .portfolio-service__heading h2,.portfolio-shell[data-locale=en] .portfolio-cooperation__heading h2,.portfolio-shell[data-locale=en] .portfolio-contact__main h2{font-size:clamp(38px,10.5vw,52px)}.portfolio-shell[data-locale=en] .portfolio-about__statement h2{font-size:clamp(34px,9.5vw,46px)}.portfolio-shell[data-motion=ready] [data-reveal=experiment]{clip-path:inset(4% 2% 4% 2%);transform:translate3d(0,22px,0) scale(.975)}}@media(max-width:380px){.portfolio-shell{--portfolio-gutter: max(20px, calc(var(--portfolio-safe-inline) + 14px))}.portfolio-index__intro h2,.portfolio-service__heading h2,.portfolio-cooperation__heading h2,.portfolio-contact__main h2{font-size:46px}.portfolio-about__statement h2{font-size:clamp(38px,12vw,44px)}.portfolio-work__title-wrap h2{font-size:64px}.portfolio-contact__email{font-size:18px}}@media(forced-colors:active){.portfolio-shell a:focus-visible,.portfolio-shell button:focus-visible{outline-color:Highlight}}@media(prefers-reduced-motion:reduce){.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__topline,.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__intro>*,.portfolio-shell[data-motion=ready] [data-reveal=index] .portfolio-index__nav li,.portfolio-shell[data-motion=ready] [data-reveal=work-header]>*,.portfolio-shell[data-motion=ready] [data-reveal=work-notes]>*,.portfolio-shell[data-motion=ready] [data-reveal=section]>*,.portfolio-shell[data-motion=ready] [data-reveal=experiment]{clip-path:none;filter:none;opacity:1;transform:none;transition:none}.portfolio-work__experiment:after{display:none}}
