:root{--color-night:#090909;--color-ink:#101010;--color-paper:#f4f4f1;--color-surface:#eaeae5;--color-white:#fff;--color-gray-700:#595a56;--color-gray-500:#777873;--color-gray-300:#c9c9c2;--color-line:#d9d9d2;--color-line-dark:#343431;--color-signal:#ff4d1f;--color-pulsehelm:#5865f2;--color-ringo:#f2b93b;--color-nexcore:#c5f044;--font-sans:Arial, "Helvetica Neue", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono:"Courier New", "Microsoft YaHei", monospace;--font-display:"Doto", var(--font-sans);--dot-grid-size:4px;--dot-radius:1.22px;--line-display-light:#10101029;--line-display-dark:#f4f4f133;--line-display-strong-light:#10101047;--line-display-strong-dark:#f4f4f14d;--interactive-hover-light:var(--color-signal);--interactive-hover-dark:var(--color-signal);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--space-36:144px;--page-gutter:64px;--header-height:72px;--max-width:1920px;--content-width:1440px;--motion-fast:.16s;--motion-ui:.24s;--motion-section:.48s;--motion-hero:.72s;--ease-out:cubic-bezier(.2, .75, .25, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--z-content:10;--z-header:40;--z-overlay:100}@media (max-width:1180px){:root{--page-gutter:40px}}@media (max-width:760px){:root{--page-gutter:20px;--header-height:64px}}
*{box-sizing:border-box;letter-spacing:0}html{background:var(--color-night);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-night);min-width:0;color:var(--color-paper);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5;overflow-x:hidden}::selection{background:var(--color-signal);color:var(--color-night)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6,p{margin:0}:where(h1:not(.sr-only),h2,h3,h4,h5,h6){min-width:0;font-family:var(--font-display);font-synthesis:none;text-wrap:balance}:where(.next-project strong){min-width:0;font-family:var(--font-display);font-synthesis:none;text-wrap:balance;color:var(--heading-dot-color,currentColor);background-image:radial-gradient(circle at center, var(--heading-dot-color,currentColor) 0 var(--dot-radius), transparent calc(var(--dot-radius) + .12px));background-position:0 0;background-size:var(--dot-grid-size) var(--dot-grid-size);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}:where(h1:not(.sr-only),h2,h3,h4,h5,h6){color:var(--heading-dot-color,currentColor);background-image:radial-gradient(circle at center, var(--heading-dot-color,currentColor) 0 var(--dot-radius), transparent calc(var(--dot-radius) + .12px));background-position:0 0;background-size:var(--dot-grid-size) var(--dot-grid-size);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@supports not ((-webkit-background-clip:text) or (background-clip:text)){:where(h1:not(.sr-only),h2,h3,h4,h5,h6){-webkit-text-fill-color:var(--heading-dot-color,currentColor);background-image:none}}:focus-visible{outline:3px solid var(--color-signal);outline-offset:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-mono);text-transform:uppercase;transition:transform var(--motion-fast) var(--ease-out);padding:12px 16px;font-size:12px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:var(--z-header);width:100%;min-height:var(--header-height);padding:0 var(--page-gutter);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#090909eb;border-bottom:1px solid #f4f4f133;grid-template-columns:minmax(180px,1fr) auto minmax(240px,1fr);align-items:center;display:grid;position:fixed;top:0;left:0}.brand-link,.primary-nav a,.locale-switch a,.footer-kicker,.section-label,.project-index-row,.project-type,.case-topline,.case-stage{font-family:var(--font-mono);text-transform:uppercase;font-size:11px;line-height:1.2}.brand-link{align-items:center;gap:10px;width:fit-content;min-height:44px;font-weight:700;display:inline-flex}.brand-link>span:last-child,.footer-kicker{font-family:var(--font-display);font-synthesis:none}.brand-mark{background:var(--color-signal);width:8px;height:8px}.primary-nav{align-items:center;gap:8px;display:flex}.primary-nav a{min-height:44px;color:var(--color-gray-300);transition:color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out);align-items:center;padding:0 14px;display:inline-flex;position:relative}.primary-nav a:after{background:var(--color-signal);content:"";transform-origin:0;height:2px;transition:transform var(--motion-ui) var(--ease-out);position:absolute;bottom:7px;left:14px;right:14px;transform:scaleX(0)}.primary-nav a:hover,.primary-nav a.is-active{color:var(--color-white)}.primary-nav a:hover,.primary-nav a:focus-visible{background:#f4f4f112}.primary-nav a.is-active:after{transform:scaleX(1)}.header-tools{justify-content:flex-end;align-items:center;gap:12px;display:flex}.locale-switch{border:1px solid var(--color-line-dark);grid-template-columns:repeat(2,48px);min-height:44px;display:grid}.locale-switch a{min-height:44px;color:var(--color-gray-300);place-items:center;display:grid}.locale-switch a.is-active{background:var(--color-paper);color:var(--color-ink)}.icon-button{border:1px solid var(--color-line-dark);cursor:pointer;width:44px;height:44px;transition:border-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:0 0;border-radius:0;place-items:center;padding:0;display:grid;position:relative}.icon-button:hover,.icon-button.is-active{border-color:var(--color-signal);background:var(--color-signal);color:var(--color-night)}.icon-button svg{stroke-width:1.5px;width:18px;height:18px}.sound-bars{align-items:end;gap:1px;height:9px;display:flex;position:absolute;bottom:4px;right:4px}.sound-bars i{background:currentColor;width:2px;height:3px}.sound-control.is-active .sound-bars i:first-child{animation:.64s ease-in-out infinite alternate sound-level}.sound-control.is-active .sound-bars i:nth-child(2){animation:.44s ease-in-out .1s infinite alternate sound-level}.sound-control.is-active .sound-bars i:nth-child(3){animation:.76s ease-in-out 50ms infinite alternate sound-level}@keyframes sound-level{0%{height:3px}to{height:9px}}.home-intro{--heading-dot-color:var(--color-ink);background:var(--color-white);min-height:100svh;color:var(--color-ink);place-items:center;display:grid;position:relative;overflow:hidden}.home-intro:before{content:"";pointer-events:none;background-image:radial-gradient(circle,#10101029 0 1px,#0000 1.2px);background-position:50%;background-size:28px 28px;position:absolute;inset:0}.home-intro-copy{z-index:1;max-width:calc(100% - (2 * var(--page-gutter)));text-align:center;justify-items:center;gap:18px;display:grid;position:relative}.home-intro-title{overflow-wrap:anywhere;max-width:100%;font-size:80px;font-weight:560;line-height:.92}.home-intro-subtitle{color:#101010a8;font-size:14px;font-weight:400;line-height:1.4}.home-project-carousel{isolation:isolate;background-color:var(--color-night);background-blend-mode:screen;height:calc(100svh - 48px);min-height:620px;max-height:920px;color:var(--color-paper);background-image:url(/media/ui/dot-grid-203.png);background-repeat:repeat;background-size:203px 203px;position:relative;overflow:hidden}.home-carousel-viewport,.home-carousel-slide,.home-carousel-slide-link,.home-carousel-media{position:absolute;inset:0}.home-carousel-viewport{overflow:hidden}.home-carousel-slide{visibility:hidden;background:var(--carousel-surface);opacity:0;transition:visibility 0s linear .68s, opacity .52s var(--ease-out), transform .68s var(--ease-out);pointer-events:none;overflow:hidden;transform:scale(1.018)}.home-carousel-slide[data-active=true]{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:scale(1)}.home-carousel-slide-link{display:block;overflow:hidden}.home-carousel-media{background:var(--carousel-surface);overflow:hidden}.home-carousel-image{will-change:transform;width:100%;height:100%}.home-carousel-image.is-contain{object-fit:contain;--carousel-image-scale:1.012}.home-carousel-image.is-cover{object-fit:cover;--carousel-image-scale:1.035}.home-carousel-slide[data-active=true] .home-carousel-image{animation:6.8s linear both paused carousel-image-push}.home-project-carousel[data-autoplay=running] .home-carousel-slide[data-active=true] .home-carousel-image{animation-play-state:running}.home-carousel-scrim{z-index:1;pointer-events:none;background:#090909e8;border-top:1px solid #f4f4f13d;height:142px;position:absolute;bottom:64px;left:0;right:0}.home-carousel-copy{z-index:2;right:var(--page-gutter);bottom:82px;left:var(--page-gutter);color:var(--color-paper);pointer-events:none;grid-template-columns:minmax(0,1fr) minmax(300px,430px) 150px;grid-template-areas:"kicker description cta""title description cta";align-items:end;gap:8px 32px;display:grid;position:absolute}.home-carousel-kicker{color:var(--carousel-accent);font-family:"Doto", var(--font-mono);font-variation-settings:"ROND" 100, "wght" 620;text-transform:uppercase;grid-area:kicker;align-items:center;gap:12px;font-size:12px;font-weight:620;line-height:1;display:flex}.home-carousel-kicker span:first-child{border:1px solid;place-items:center;width:30px;height:30px;display:grid}.home-carousel-title{min-width:0;color:var(--carousel-accent);text-transform:uppercase;overflow-wrap:normal;grid-area:title;font-size:88px;font-weight:800;line-height:.78}.home-carousel-slide--jikang-not-loaded .home-carousel-title{font-size:58px;line-height:.84}.home-carousel-description{max-width:430px;color:var(--color-paper);grid-area:description;padding-bottom:2px;font-size:15px;line-height:1.45}.home-carousel-cta{min-height:44px;color:var(--color-gray-300);font-family:var(--font-mono);text-align:right;text-transform:uppercase;grid-area:cta;justify-self:end;align-items:center;gap:10px;font-size:11px;line-height:1.2;display:inline-flex}.home-carousel-cta svg{stroke-width:1.5px;flex:none;width:17px;height:17px}.home-carousel-controls{z-index:4;border-top:1px solid var(--color-line-dark);background:var(--color-night);grid-template-columns:64px 64px minmax(0,1fr) 64px;height:64px;display:grid;position:absolute;bottom:0;left:0;right:0}.home-carousel-arrow,.home-carousel-toggle,.home-carousel-dot{min-width:44px;min-height:44px;color:var(--color-paper);cursor:pointer;background:0 0;border:0;padding:0}.home-carousel-arrow,.home-carousel-toggle{border-right:1px solid var(--color-line-dark);transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);place-items:center;display:grid}.home-carousel-arrow--next{border-right:0;border-left:1px solid var(--color-line-dark)}.home-carousel-arrow:hover,.home-carousel-arrow:focus-visible,.home-carousel-toggle:hover,.home-carousel-toggle:focus-visible{background:var(--carousel-accent,var(--color-signal));color:var(--color-night)}.home-carousel-arrow svg,.home-carousel-toggle svg{stroke-width:1.5px;width:20px;height:20px}.home-carousel-toggle:disabled{color:var(--color-gray-500);cursor:not-allowed}.home-carousel-pagination{grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;display:grid}.home-carousel-dot{border-right:1px solid var(--color-line-dark);text-align:left;min-width:0;transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);padding:0 14px;position:relative}.home-carousel-dot:last-child{border-right:0}.home-carousel-dot:hover,.home-carousel-dot:focus-visible,.home-carousel-dot[data-active=true]{color:var(--color-white);background:#f4f4f114}.home-carousel-dot-label{align-items:baseline;gap:9px;min-width:0;display:flex}.home-carousel-dot-index{color:var(--color-gray-300);font-family:"Doto", var(--font-mono);font-variation-settings:"ROND" 100, "wght" 620;flex:none;font-size:11px;font-weight:620}.home-carousel-dot[data-active=true] .home-carousel-dot-index{color:var(--carousel-accent,var(--color-signal))}.home-carousel-dot-name{min-width:0;font-family:var(--font-sans);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:700;line-height:1;overflow:hidden}.home-carousel-progress{background:#f4f4f11f;height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.home-carousel-progress-fill{background:var(--carousel-accent,var(--color-signal));transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}@keyframes carousel-image-push{0%{transform:scale(1)}to{transform:scale(var(--carousel-image-scale))}}.work-section{background:var(--color-paper);color:var(--color-ink);padding:var(--space-36) var(--page-gutter) 0}.work-heading{gap:var(--space-8);max-width:var(--content-width);margin:0 auto var(--space-24);grid-template-columns:3fr 9fr;display:grid}.section-label{color:var(--color-gray-700);align-items:flex-start;gap:16px;display:flex}.work-heading h2,.about-capabilities h2{text-transform:uppercase;max-width:900px;font-size:64px;font-weight:500;line-height:1.02}.project-sequence{max-width:var(--content-width);margin:0 auto}.project-entry{border-top:1px solid var(--color-gray-300);position:relative}.project-entry:before{z-index:2;background:var(--project-accent);content:"";width:0;height:3px;transition:width var(--motion-section) var(--ease-out);position:absolute;top:-1px;left:0}.project-entry:has(.project-entry-link:hover):before{width:100%}.project-entry:has(.project-entry-link:focus-visible):before{width:100%}.project-entry-link{gap:var(--space-16);min-height:620px;padding:var(--space-16) 0 var(--space-24);grid-template-columns:4fr 8fr;display:grid}.project-entry-copy{flex-direction:column;justify-content:space-between;min-width:0;display:flex}.project-index-row{color:var(--color-gray-700);justify-content:space-between;gap:16px;display:flex}.project-type{color:var(--color-gray-700);margin-bottom:14px}.project-entry h2{margin-bottom:var(--space-6);text-transform:uppercase;transition:color var(--motion-ui) var(--ease-out);font-size:68px;font-weight:600;line-height:.95}.project-summary{max-width:44ch;color:var(--color-gray-700);font-size:17px;line-height:1.65}.project-action{width:fit-content;min-height:44px;font-family:var(--font-mono);text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:10px;font-size:11px;display:inline-flex}.project-action svg{stroke-width:1.5px;width:16px;transition:transform var(--motion-ui) var(--ease-out)}.project-entry-link:hover .project-action svg{transform:translate(3px,-3px)}.project-media{background:var(--color-surface);align-self:center;width:100%;position:relative;overflow:hidden}.project-media img{object-fit:contain;width:100%;height:100%;transition:transform var(--motion-section) var(--ease-out)}.project-entry-link:hover .project-media img{transform:scale(1.015)}.project-media--nexcore{background:var(--color-night);justify-self:end;width:min(100%,660px)}.project-entry--nexcore .project-entry-link{grid-template-columns:5fr 7fr}.project-entry--jikang-not-loaded .project-media{background:var(--color-night)}.project-entry--jikang-not-loaded h2{text-transform:none;font-size:58px}.about-preview{gap:var(--space-8);padding:var(--space-36) var(--page-gutter);background:var(--color-night);color:var(--color-paper);grid-template-columns:3fr 5fr 4fr;display:grid}.about-preview .section-label{color:var(--color-gray-300)}.about-preview-body{gap:var(--space-12);flex-direction:column;display:flex}.about-preview-body p{max-width:36ch;font-size:30px;line-height:1.25}.about-preview-body a{border-bottom:1px solid var(--color-paper);width:fit-content;min-height:44px;font-family:var(--font-mono);align-items:center;gap:10px;font-size:11px;display:inline-flex}.about-preview-body svg{stroke-width:1.5px;width:16px}.capability-list{border-top:1px solid var(--color-line-dark)}.capability-list>div{border-bottom:1px solid var(--color-line-dark);grid-template-columns:44px 1fr;align-items:center;min-height:56px;display:grid}.capability-list>div span:first-child{color:var(--color-signal);font-family:var(--font-mono);font-size:11px}.site-footer{gap:var(--space-8);padding:var(--space-16) var(--page-gutter);border-top:1px solid var(--color-line-dark);background:var(--color-night);color:var(--color-gray-300);grid-template-columns:5fr 5fr 2fr;display:grid}.site-footer>div:first-child{gap:12px;display:grid}.footer-kicker{color:var(--color-paper)}.footer-links{align-items:flex-start;gap:24px;display:flex}.footer-links a{align-items:center;gap:5px;min-width:44px;min-height:44px;font-size:13px;display:inline-flex}.footer-links svg{stroke-width:1.5px;width:14px}.footer-year{font-family:var(--font-mono);place-self:end;font-size:11px}.index-page{min-height:100vh;padding-top:var(--header-height);background:var(--color-paper);color:var(--color-ink)}.index-hero{align-items:end;gap:var(--space-8);min-height:520px;padding:var(--space-24) var(--page-gutter) var(--space-16);border-bottom:1px solid var(--color-gray-300);grid-template-columns:3fr 6fr 3fr;display:grid}.index-hero>span{font-family:var(--font-mono);font-size:11px}.index-hero h1{font-size:112px;font-weight:600;line-height:.8}.index-hero p{max-width:32ch;color:var(--color-gray-700)}.project-sequence--index{padding:0 var(--page-gutter)}.project-entry.is-compact .project-entry-link{min-height:520px}.about-page{background:var(--color-paper);color:var(--color-ink)}.about-hero{min-height:100svh;padding-top:var(--header-height);grid-template-columns:5fr 7fr;display:grid}.about-portrait{background:var(--color-night);justify-content:center;align-items:flex-end;min-height:720px;display:flex;overflow:hidden}.about-portrait img{filter:grayscale()contrast(1.05);width:min(76%,540px);height:auto}.about-intro{justify-content:flex-end;gap:var(--space-8);padding:var(--space-24) var(--page-gutter) var(--space-16);flex-direction:column;display:flex}.about-intro>span,.about-contact>span{font-family:var(--font-mono);font-size:11px}.about-intro h1{font-size:112px;font-weight:600;line-height:.86}.about-intro>p{max-width:42ch;font-size:23px;line-height:1.45}.about-education{padding-top:var(--space-8);border-top:1px solid var(--color-gray-300);font-family:var(--font-mono);text-transform:uppercase;grid-template-columns:repeat(3,1fr);gap:16px;font-size:11px;display:grid}.about-capabilities{gap:var(--space-8);padding:var(--space-36) var(--page-gutter);border-top:1px solid var(--color-gray-300);grid-template-columns:3fr 5fr 4fr;display:grid}.about-capabilities .capability-list,.about-capabilities .capability-list>div{border-color:var(--color-gray-300)}.about-contact{gap:var(--space-8);padding:var(--space-36) var(--page-gutter);background:var(--color-signal);color:var(--color-night);grid-template-columns:3fr 5fr 4fr;align-items:start;display:grid}.about-contact h2{font-size:56px;font-weight:600;line-height:1}.contact-actions{border-top:1px solid var(--color-night);display:grid}.contact-actions a{border-bottom:1px solid var(--color-night);justify-content:space-between;align-items:center;min-height:56px;display:flex}.contact-actions svg{stroke-width:1.5px;width:18px}.case-page{--case-bg:var(--color-paper);--case-text:var(--color-ink);--case-muted:var(--color-gray-700);--case-accent-text:#3946d8;background:var(--case-bg);min-height:100vh;color:var(--case-text)}.case-theme--dark{--case-bg:var(--color-night);--case-text:var(--color-paper);--case-muted:var(--color-gray-300);--case-accent-text:var(--project-accent)}.case-theme--warm{--case-bg:#f4dfaa;--case-text:var(--color-ink);--case-muted:#625a48;--case-accent-text:#5a4300}.case-hero{min-height:650px;padding:calc(var(--header-height) + var(--space-16)) var(--page-gutter) var(--space-16)}.case-topline{border-bottom:1px solid;justify-content:space-between;padding-bottom:14px;display:flex}.case-topline a{align-items:center;gap:8px;min-height:44px;display:inline-flex}.case-topline svg{stroke-width:1.5px;width:16px}.case-title-row{align-items:end;gap:var(--space-16);grid-template-columns:8fr 4fr;min-height:480px;display:grid}.case-stage{margin-bottom:var(--space-6);color:var(--case-accent-text);display:block}.case-title-row h1{text-transform:uppercase;font-size:112px;font-weight:600;line-height:.85}.case-title-row>div>p{margin-top:var(--space-6);max-width:52ch;color:var(--case-muted)}.case-summary{max-width:38ch;color:var(--case-muted);font-size:18px;line-height:1.65}.case-media-band{padding:var(--space-24) var(--page-gutter);background:var(--color-surface);justify-content:center;display:flex}.case-theme--dark .case-media-band{background:#181816}.case-page--jikang-not-loaded .case-media-band{background:#11110f}.case-project-media{width:min(100%,1440px)}.case-project-media.project-media--nexcore{width:min(65vw,760px)}.case-project-media.project-media--jikang-not-loaded{background:var(--color-night);width:min(100%,1440px)}.case-page--jikang-not-loaded .case-title-row h1{text-transform:none;max-width:10ch;font-size:92px}.case-chapters{padding:var(--space-24) var(--page-gutter) var(--space-36)}.case-chapters article{gap:var(--space-8);padding:var(--space-8) 0;border-top:1px solid color-mix(in srgb, currentColor 22%, transparent);grid-template-columns:1fr 4fr 5fr 2fr;display:grid}.case-chapters article>span{color:var(--case-accent-text);font-family:var(--font-mono);font-size:11px}.case-chapters h2{font-size:30px;font-weight:500;line-height:1.1}.case-chapters p{max-width:46ch;color:var(--case-muted);grid-column:3;line-height:1.65}.case-disclaimer{gap:var(--space-8);margin:0 var(--page-gutter) var(--space-24);padding:var(--space-12);border:1px solid var(--project-accent);grid-template-columns:3fr 9fr;display:grid}.case-disclaimer span{color:var(--case-accent-text);font-family:var(--font-mono);font-size:11px}.case-disclaimer p{max-width:70ch}.project-book{padding:var(--space-24) var(--page-gutter) var(--space-36);border-top:1px solid var(--color-line-dark);color:var(--color-paper);background:#0e0e0d}.project-book-header{gap:var(--space-8);max-width:var(--content-width);margin:0 auto var(--space-24);grid-template-columns:3fr 6fr 3fr;align-items:start;display:grid}.project-book-header .section-label{color:var(--color-gray-300)}.project-book-header h2{text-transform:uppercase;font-size:56px;font-weight:500;line-height:1}.project-book-header p{max-width:42ch;margin-top:var(--space-6);color:var(--color-gray-300)}.project-book-action{min-height:44px;font-family:var(--font-mono);text-transform:uppercase;border-bottom:1px solid;justify-self:end;align-items:center;gap:10px;font-size:11px;display:inline-flex}.project-book-action svg,.project-source-links svg{stroke-width:1.5px;width:16px}.project-book-pages{gap:var(--space-16);max-width:var(--content-width);margin:0 auto;display:grid}.project-book-page{width:100%;margin:0}.project-book-page[data-orientation=portrait]{width:min(68%,900px);margin-left:auto;margin-right:auto}.project-book-page figcaption{color:var(--color-gray-300);font-family:var(--font-mono);justify-content:space-between;padding:0 0 12px;font-size:11px;display:flex}.project-book-page img{background:var(--color-paper);width:100%;height:auto}.project-book-page-link{cursor:zoom-in;display:block;position:relative}.project-book-page-expand{width:44px;height:44px;color:var(--color-paper);opacity:0;pointer-events:none;transition:opacity var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);background:#0e0e0dc7;border:1px solid #f4f4f18c;place-items:center;display:grid;position:absolute;top:12px;right:12px;transform:translateY(-4px)}.project-book-page-expand svg{stroke-width:1.5px;width:18px;height:18px}.project-book-page-link:hover .project-book-page-expand,.project-book-page-link:focus-visible .project-book-page-expand{opacity:1;transform:translateY(0)}.project-sources{gap:var(--space-8);padding:var(--space-24) var(--page-gutter);border-top:1px solid var(--color-line-dark);background:var(--color-night);color:var(--color-paper);grid-template-columns:3fr 5fr 4fr;display:grid}.project-sources .section-label{color:var(--color-gray-300)}.project-sources h2{font-size:42px;font-weight:500;line-height:1}.project-source-links{border-top:1px solid var(--color-line-dark);display:grid}.project-source-links a{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--color-line-dark);min-height:56px;transition:color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out);display:flex}.project-source-links a:hover{border-color:var(--project-accent);color:var(--project-accent)}.next-project{align-items:end;gap:var(--space-8);min-height:360px;padding:var(--space-16) var(--page-gutter);transition:background var(--motion-ui) var(--ease-out);border-top:1px solid;grid-template-columns:3fr 8fr 1fr;display:grid}.next-project:hover{background:var(--project-accent);color:var(--color-ink)}.next-project>span{font-family:var(--font-mono);font-size:11px}.next-project strong{text-transform:uppercase;font-size:76px;font-weight:600;line-height:.9}.next-project svg{stroke-width:1px;justify-self:end;width:40px;height:40px}.not-found{min-height:100svh;padding:var(--page-gutter);text-align:center;place-content:center;gap:24px;display:grid}.root-entry{min-height:100svh;padding:var(--page-gutter);background:var(--color-night);color:var(--color-paper);text-align:center;place-content:center;gap:24px;display:grid}.root-entry>span{color:var(--color-signal);font-family:var(--font-mono);font-size:11px}.root-entry h1{font-size:48px;font-weight:500}.root-entry p{justify-content:center;gap:24px;display:flex}.root-entry a{min-height:44px;font-family:var(--font-mono);border-bottom:1px solid;font-size:11px;line-height:44px}.not-found>span{color:var(--color-signal);font-family:var(--font-mono)}.not-found h1{font-size:72px}.not-found a{border-bottom:1px solid;min-height:44px}@font-face{font-family:Doto;src:url(/fonts/doto-latin.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:100 900}body{--heading-dot-color:var(--color-paper)}.work-section,.index-page,.about-page,.about-capabilities{--heading-dot-color:var(--color-ink)}.about-preview,.experience-preview,.project-book,.project-sources,.root-entry,.not-found{--heading-dot-color:var(--color-paper)}.about-contact{--heading-dot-color:var(--color-night)}.case-page{--heading-dot-color:var(--case-text)}.home-menu-panel{--heading-dot-color:var(--color-white)}.home-menu-item a,.home-menu-item>span{font-family:var(--font-display);font-synthesis:none;text-wrap:balance;background-image:radial-gradient(circle at center, var(--heading-dot-color) 0 var(--dot-radius), transparent calc(var(--dot-radius) + .12px));background-position:0 0;background-size:var(--dot-grid-size) var(--dot-grid-size);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.home-carousel-dot-name{font-family:var(--font-display);font-synthesis:none}.home-carousel-title{--heading-dot-color:var(--carousel-accent)}.site-header,.home-carousel-scrim,.home-carousel-controls,.home-carousel-arrow,.home-carousel-toggle,.home-carousel-dot,.about-preview .capability-list,.about-preview .capability-list>div,.experience-preview,.experience-list,.experience-item,.site-footer,.project-book,.project-sources,.project-source-links,.project-source-links a{border-color:var(--line-display-dark)}.work-section .project-entry,.index-hero,.about-education,.about-capabilities,.about-capabilities .capability-list,.about-capabilities .capability-list>div{border-color:var(--line-display-light)}.case-chapters article{border-color:color-mix(in srgb, currentColor 20%, transparent)}.home-site-header{z-index:calc(var(--z-overlay) + 1);-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;border:0;width:100%;min-height:0;padding:0;display:block;position:fixed;inset:0}.home-header-bar{z-index:2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:clamp(520px,29vw,720px);height:74px;transition:top .56s var(--ease-out), background .32s var(--ease-out), box-shadow .32s var(--ease-out);pointer-events:auto;background:#353636e8;border:1px solid #f4f4f114;border-radius:12px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;padding:0 12px 0 8px;display:grid;position:fixed;top:8px;left:50%;transform:translate(-50%);box-shadow:0 18px 52px #00000038}.home-site-header[data-menu-open=true] .home-header-bar{background:#353636d1;top:15px;box-shadow:0 16px 42px #00000029}.home-menu-trigger,.home-brand-trigger{min-width:44px;min-height:44px;color:var(--color-paper);cursor:pointer;transition:color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.home-menu-trigger:hover,.home-menu-trigger:focus-visible,.home-brand-trigger:hover,.home-brand-trigger:focus-visible{color:var(--color-white);background:#f4f4f11a}.home-menu-trigger svg{stroke-width:1.5px;width:20px;height:20px}.home-brand-trigger{width:100%}.home-brand-wordmark{color:var(--color-white);font-family:"Doto", var(--font-mono);font-variation-settings:"ROND" 100, "wght" 520;white-space:nowrap;font-size:clamp(16px,1.35vw,21px);font-weight:520;line-height:1;display:inline-block}.home-header-tools{gap:8px}.home-header-tools .locale-switch{border-color:#f4f4f138;grid-template-columns:repeat(2,44px);min-height:44px}.home-header-tools .locale-switch a{color:#f4f4f1bd;min-height:44px}.home-header-tools .locale-switch a.is-active{color:var(--color-ink);background:#f4f4f1eb}.home-header-tools .icon-button{border-color:#f4f4f138}.home-menu-layer{z-index:1;visibility:hidden;opacity:0;transition:visibility 0s linear .62s, opacity .42s var(--ease-out);pointer-events:none;position:fixed;inset:0}.home-menu-layer[data-menu-open=true]{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}.home-menu-backdrop{cursor:pointer;opacity:0;width:100%;height:100%;transition:opacity .42s var(--ease-out);background:#0000008a;border:0;padding:0;position:fixed;inset:0}.home-menu-layer[data-menu-open=true] .home-menu-backdrop{opacity:1}.home-menu-panel{transform-origin:50% 0;opacity:0;width:clamp(520px,29vw,720px);max-height:calc(100dvh - 30px);transition:transform .62s var(--ease-out), opacity .28s var(--ease-out);pointer-events:none;background:#3e3f3ff0;border:1px solid #f4f4f114;border-radius:12px;display:flex;position:fixed;top:15px;bottom:15px;left:50%;overflow:hidden;transform:translate(-50%)scaleY(.08);box-shadow:0 24px 70px #0000005c}.home-menu-layer[data-menu-open=true] .home-menu-panel{opacity:1;pointer-events:auto;transition-delay:0s,80ms;transform:translate(-50%)scaleY(1)}.home-menu-layer:not([data-menu-open=true]) .home-menu-panel{transition-duration:.32s,.18s}.home-menu-list{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;width:100%;margin:0;padding:92px 24px 52px;list-style:none;display:flex}.home-menu-item{text-align:center;opacity:0;width:100%;transition:opacity .24s var(--ease-out), transform .32s var(--ease-out);margin:0;padding:0;transform:translateY(10px)}.home-menu-layer[data-menu-open=true] .home-menu-item{opacity:1;transform:translateY(0)}.home-menu-layer[data-menu-open=true] .home-menu-item:first-child{transition-delay:.11s}.home-menu-layer[data-menu-open=true] .home-menu-item:nth-child(2){transition-delay:.16s}.home-menu-layer[data-menu-open=true] .home-menu-item:nth-child(3){transition-delay:.21s}.home-menu-layer[data-menu-open=true] .home-menu-item:nth-child(4){transition-delay:.26s}.home-menu-layer:not([data-menu-open=true]) .home-menu-item{transition-duration:.18s,.22s}.home-menu-item a,.home-menu-item>span{max-width:100%;min-height:64px;color:var(--color-white);text-align:center;transition:color var(--motion-ui) var(--ease-out), opacity var(--motion-ui) var(--ease-out), transform var(--motion-ui) var(--ease-out);justify-content:center;align-items:center;padding:8px 16px;font-size:clamp(34px,3.2vw,56px);font-weight:500;line-height:1.08;display:inline-flex}.home-menu-item a:hover,.home-menu-item a:focus-visible{color:var(--color-signal);transform:translateY(-2px)}.home-menu-item-disabled>span{color:var(--color-gray-300);opacity:.62;cursor:default}.home-menu-item-index{display:none}.work-section,.about-preview,.experience-preview{scroll-margin-top:108px}.experience-preview{gap:var(--space-8);padding:var(--space-36) var(--page-gutter);border-top:1px solid var(--color-line-dark);background:var(--color-night);color:var(--color-paper);grid-template-columns:3fr 9fr;display:grid}.experience-preview-heading{align-content:start;gap:var(--space-8);display:grid}.experience-preview-heading .section-label{color:var(--color-gray-300)}.experience-preview-heading h2{max-width:720px;font-size:48px;font-weight:500;line-height:1.05}.experience-list{border-top:1px solid var(--color-line-dark);grid-column:2;margin:0;padding:0;list-style:none}.experience-item{gap:var(--space-4);border-bottom:1px solid var(--color-line-dark);grid-template-columns:44px minmax(0,1fr) auto;align-items:baseline;min-width:0;padding:22px 0;display:grid}.experience-item-index,.experience-item-period{font-family:var(--font-mono);font-size:11px;line-height:1.3}.experience-item-index{color:var(--color-signal)}.experience-item-main{min-width:0}.experience-item-main h3{margin:0 0 4px;font-size:clamp(20px,1.8vw,30px);font-weight:500;line-height:1.15}.experience-item-main p{color:var(--color-gray-300);font-size:15px;line-height:1.45}.experience-item-period{color:var(--color-gray-300);white-space:nowrap}@media (max-width:1080px){.experience-preview{grid-template-columns:3fr 9fr}.experience-preview-heading h2{font-size:40px}}@media (max-width:760px){.home-header-bar,.home-menu-panel{width:calc(100vw - 24px)}.home-header-bar{grid-template-columns:48px minmax(0,1fr) auto;height:64px;padding-right:8px}.home-site-header[data-menu-open=true] .home-header-bar{top:12px}.home-menu-panel{max-height:calc(100dvh - 24px);top:12px;bottom:12px}.home-brand-wordmark{font-size:15px}.home-header-tools{gap:4px}.home-header-tools .locale-switch{grid-template-columns:repeat(2,38px)}.home-header-tools .locale-switch a,.home-header-tools .icon-button{min-width:38px}.home-menu-list{gap:12px;padding:76px 12px 32px}.home-menu-item a,.home-menu-item>span{min-height:56px;padding:6px 8px;font-size:clamp(28px,8.5vw,44px)}.experience-preview{gap:var(--space-12);padding-top:var(--space-24);padding-bottom:var(--space-24);grid-template-columns:1fr}.experience-preview-heading h2{font-size:34px}.experience-list{grid-column:1}.experience-item{gap:var(--space-3);grid-template-columns:36px minmax(0,1fr);padding:18px 0}.experience-item-period{grid-column:2}.experience-item-main h3{font-size:22px}.experience-item-main p{font-size:14px}}@media (prefers-reduced-motion:reduce){.home-menu-layer,.home-menu-panel,.home-menu-backdrop,.home-header-bar,.home-menu-item,.home-menu-item a,.home-menu-trigger,.home-brand-trigger{transition-duration:1ms!important}.home-carousel-slide[data-active=true] .home-carousel-image{animation:none;transform:none}}@media (max-width:1440px){.home-carousel-title{font-size:76px}.home-carousel-slide--jikang-not-loaded .home-carousel-title,.work-heading h2,.about-capabilities h2{font-size:52px}.project-entry h2{font-size:56px}.project-entry--jikang-not-loaded h2{font-size:48px}.case-title-row h1,.about-intro h1,.index-hero h1{font-size:88px}.case-page--jikang-not-loaded .case-title-row h1{font-size:76px}}@media (max-width:1080px){.site-header{grid-template-columns:1fr auto}.primary-nav{display:none}.home-carousel-copy{grid-template-columns:minmax(0,1fr) minmax(260px,340px) 124px;column-gap:24px}.home-carousel-title{font-size:64px}.home-carousel-slide--jikang-not-loaded .home-carousel-title{font-size:44px}.home-carousel-description{font-size:14px}.project-entry-link{gap:var(--space-8);grid-template-columns:5fr 7fr}.about-preview,.about-capabilities,.about-contact{grid-template-columns:3fr 9fr}.about-preview .capability-list,.about-capabilities .capability-list,.about-contact .contact-actions{grid-column:2}.case-title-row{grid-template-columns:7fr 5fr}.project-book-header{gap:var(--space-6);grid-template-columns:3fr 6fr 3fr}.project-book-header h2{font-size:46px}}@media (max-width:900px){.home-carousel-scrim{height:230px}.home-carousel-copy{grid-template-columns:minmax(0,1fr);grid-template-areas:"kicker""title""description";align-content:end;gap:9px}.home-carousel-title{font-size:56px;line-height:.84}.home-carousel-slide--jikang-not-loaded .home-carousel-title{max-width:560px;font-size:42px;line-height:.88}.home-carousel-description{max-width:620px;padding-top:2px}.home-carousel-cta{display:none}.home-carousel-slide--jikang-not-loaded .home-carousel-image{object-fit:contain;--carousel-image-scale:1.012}}@media (max-width:760px){.home-intro-title{font-size:56px}.site-header{padding-right:12px}.brand-link{font-size:10px}.locale-switch{grid-template-columns:repeat(2,44px);min-height:44px;display:grid}.locale-switch a{min-height:44px}.home-project-carousel{height:calc(100svh - 32px);min-height:620px}.home-carousel-scrim{background:#090909ed;height:264px;bottom:56px}.home-carousel-copy{right:var(--page-gutter);bottom:76px;left:var(--page-gutter);grid-template-columns:minmax(0,1fr);grid-template-areas:"kicker""title""description";align-content:end;gap:10px}.home-carousel-title{font-size:52px;line-height:.84}.home-carousel-slide--jikang-not-loaded .home-carousel-title{max-width:330px;font-size:38px;line-height:.88}.home-carousel-description{max-width:520px;padding-top:4px;font-size:14px;line-height:1.42}.home-carousel-cta{display:none}.home-carousel-controls{grid-template-columns:52px 52px minmax(0,1fr) 52px;height:56px}.home-carousel-dot{text-align:center;padding:0}.home-carousel-dot-label{justify-content:center}.home-carousel-dot-name{display:none}.work-section{padding-top:var(--space-24)}.work-heading,.project-entry-link,.project-entry--nexcore .project-entry-link,.about-preview,.site-footer,.index-hero,.about-hero,.about-capabilities,.about-contact,.case-title-row,.case-chapters article,.next-project,.project-book-header,.project-sources{grid-template-columns:1fr}.work-heading h2,.about-capabilities h2{font-size:38px}.project-entry-link{gap:var(--space-12);min-height:0;padding:var(--space-8) 0 var(--space-16)}.project-entry-copy{gap:var(--space-12)}.project-entry h2{font-size:46px}.project-entry--jikang-not-loaded h2{font-size:40px}.project-media--nexcore{justify-self:start;width:82%}.about-preview,.about-capabilities,.about-contact{padding-top:var(--space-24);padding-bottom:var(--space-24)}.about-preview .capability-list,.about-capabilities .capability-list,.about-contact .contact-actions{grid-column:1}.about-preview-body p{font-size:24px}.site-footer{padding-top:var(--space-12);padding-bottom:var(--space-12)}.footer-links{flex-direction:column;gap:0}.footer-year{justify-self:start}.index-hero{align-content:end;min-height:460px}.index-hero h1,.about-intro h1,.case-title-row h1{font-size:60px}.case-page--jikang-not-loaded .case-title-row h1{max-width:none;font-size:54px}.case-title-row>div,.case-title-row h1,.case-title-row>div>p,.case-summary{min-width:0;max-width:100%}.case-title-row h1{overflow-wrap:anywhere;font-size:clamp(48px,13.5vw,60px)}.case-page--jikang-not-loaded .case-title-row h1{font-size:clamp(48px,14vw,54px)}.about-portrait{min-height:620px}.about-intro{padding-top:var(--space-16)}.about-education{grid-template-columns:1fr}.about-contact h2{font-size:42px}.case-hero{min-height:580px}.case-title-row{align-content:end;min-height:440px}.case-media-band{padding:var(--space-12) var(--page-gutter)}.case-project-media.project-media--nexcore{width:100%}.case-chapters{padding-top:var(--space-16);padding-bottom:var(--space-24)}.case-chapters article{gap:var(--space-4)}.case-chapters p{grid-column:1}.case-disclaimer{grid-template-columns:1fr}.project-book{padding-top:var(--space-16);padding-bottom:var(--space-24)}.project-book-header{margin-bottom:var(--space-16)}.project-book-header h2{font-size:38px}.project-book-action{justify-self:start}.project-book-pages{gap:var(--space-12)}.project-book-page[data-orientation=portrait]{width:100%}.project-book-page-expand{opacity:1;transform:translateY(0)}.project-sources{padding-top:var(--space-16);padding-bottom:var(--space-16)}.next-project{align-content:end}.next-project strong{font-size:52px}.next-project svg{justify-self:start}.next-project>*{min-width:0;max-width:100%}.next-project strong{overflow-wrap:anywhere}}@media (min-width:761px) and (max-width:900px){.site-footer{grid-template-columns:1fr 1fr}.site-footer>div:first-child,.site-footer .footer-links,.site-footer .footer-year{grid-column:1/-1}.site-footer .footer-year{justify-self:start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.brand-link{transition:color var(--motion-fast) var(--ease-out)}.brand-mark{transition:transform var(--motion-fast) var(--ease-out), opacity var(--motion-fast) var(--ease-out)}.brand-link:hover,.brand-link:focus-visible{color:var(--interactive-hover-dark)}.brand-link:hover .brand-mark,.brand-link:focus-visible .brand-mark{opacity:.78;transform:scale(1.25)}.locale-switch a{transition:color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}.locale-switch a:hover:not(.is-active),.locale-switch a:focus-visible:not(.is-active){color:var(--interactive-hover-dark);background:#ff4d1f29}.locale-switch a.is-active:hover,.locale-switch a.is-active:focus-visible{box-shadow:inset 0 -3px var(--color-signal)}.icon-button.is-active:hover,.icon-button.is-active:focus-visible{box-shadow:inset 0 0 0 2px #09090947}.home-carousel-dot[data-active=true]:hover,.home-carousel-dot[data-active=true]:focus-visible{box-shadow:inset 0 0 0 1px var(--carousel-accent,var(--color-signal))}.home-carousel-dot{transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}.home-menu-item a:hover,.home-menu-item a:focus-visible{--heading-dot-color:var(--color-signal)}.home-menu-item-disabled>span{--heading-dot-color:var(--color-gray-300)}.home-carousel-slide-link .home-carousel-scrim,.home-carousel-slide-link .home-carousel-cta,.home-carousel-slide-link .home-carousel-title{transition:opacity var(--motion-ui) var(--ease-out), color var(--motion-ui) var(--ease-out)}.about-preview-body svg,.footer-links svg,.contact-actions svg,.case-topline svg,.project-book-action svg,.project-source-links svg,.next-project svg{transition:transform var(--motion-ui) var(--ease-out), color var(--motion-fast) var(--ease-out)}.home-carousel-slide-link:hover .home-carousel-scrim,.home-carousel-slide-link:focus-visible .home-carousel-scrim{opacity:.82}.home-carousel-slide-link:hover .home-carousel-cta,.home-carousel-slide-link:focus-visible .home-carousel-cta{color:var(--carousel-accent)}.home-carousel-slide-link:hover .home-carousel-cta svg,.home-carousel-slide-link:focus-visible .home-carousel-cta svg,.about-preview-body a:hover svg,.about-preview-body a:focus-visible svg,.footer-links a:hover svg,.footer-links a:focus-visible svg,.contact-actions a:hover svg,.contact-actions a:focus-visible svg,.case-topline a:hover svg,.case-topline a:focus-visible svg,.project-book-action:hover svg,.project-book-action:focus-visible svg{transform:translate(3px,-3px)}.about-preview-body a,.footer-links a,.contact-actions a,.case-topline a,.project-book-action,.root-entry a,.not-found a{transition:color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out)}.about-preview-body a:hover,.about-preview-body a:focus-visible,.footer-links a:hover,.footer-links a:focus-visible,.case-topline a:hover,.case-topline a:focus-visible,.project-book-action:hover,.project-book-action:focus-visible,.root-entry a:hover,.root-entry a:focus-visible,.not-found a:hover,.not-found a:focus-visible{color:var(--interactive-hover-dark);border-color:currentColor}.footer-links a:hover,.footer-links a:focus-visible{color:var(--color-signal)}.contact-actions a:hover,.contact-actions a:focus-visible{color:var(--color-night);background:#0909091f}.project-entry-link:hover h2,.project-entry-link:focus-visible h2{--heading-dot-color:var(--project-accent);color:var(--project-accent)}.project-entry-link:hover .project-action,.project-entry-link:focus-visible .project-action{color:var(--project-accent)}.project-entry-link:hover .project-action svg,.project-entry-link:focus-visible .project-action svg,.project-source-links a:hover svg,.project-source-links a:focus-visible svg,.next-project:hover svg,.next-project:focus-visible svg{transform:translate(3px,-3px)}.project-entry-link:hover .project-media img,.project-entry-link:focus-visible .project-media img{transform:scale(1.015)}.project-source-links a:focus-visible,.next-project:focus-visible{color:var(--project-accent)}.next-project{transition:background var(--motion-ui) var(--ease-out), color var(--motion-ui) var(--ease-out)}.next-project:hover,.next-project:focus-visible{--heading-dot-color:var(--color-ink)}.home-menu-backdrop{transition:background var(--motion-ui) var(--ease-out)}.home-menu-backdrop:hover,.home-menu-backdrop:focus-visible{background:#0009}.skip-link:hover{background:var(--color-signal)}.case-title-row>div,.case-title-row h1,.project-book-header h2,.project-sources h2,.root-entry h1,.not-found h1{overflow-wrap:anywhere;min-width:0;max-width:100%}@media (max-width:760px){.experience-item-main h3{--dot-grid-size:3.5px;--dot-radius:.92px}.case-title-row h1,.project-book-header h2,.project-sources h2,.root-entry h1,.not-found h1{text-wrap:pretty}}
