@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap";@font-face{font-family:"Gallery Serif";src:url(./DMSerifDisplay-Regular-CVKzmwbz.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.clt-transition{--clt-site-bg:#fff;--clt-stage-bg:#f7f6f2;height:160px;pointer-events:none;background:linear-gradient(180deg,var(--clt-site-bg) 0%,var(--clt-stage-bg) 100%)}.clt-transition--out{background:linear-gradient(180deg,var(--clt-stage-bg) 0%,var(--clt-site-bg) 100%)}.profile-screen:has(+.clt-transition--in){padding-bottom:48px}.clt-gallery{--clt-bg:#f7f6f2;--clt-ink:#292e2b;--clt-gap:2vh;--clt-spacer:150px;--clt-slide-height:min(56vh, calc(100vw - 40px) );position:relative;background:var(--clt-bg);color:var(--clt-ink);font:15px/1.4 Arial,Noto Sans SC,sans-serif;min-height:100vh;height:calc(var(--clt-spacer)*2 + 40vh + var(--clt-gap)*6);isolation:isolate}.clt-gallery *{box-sizing:border-box}.clt-gallery a{color:var(--clt-ink);text-decoration:none;outline:none}.clt-gallery a:hover{color:#4664b0}.clt-gallery a:focus-visible,.clt-gallery button:focus-visible{outline:2px solid #c87e4f;outline-offset:5px}.clt-lock{scroll-behavior:auto!important}.clt-sticky{position:sticky;top:0;height:100vh;overflow:hidden;pointer-events:none;z-index:5}.clt-frame{position:absolute;width:100%;padding:22.5px 5vw 0;text-align:center;z-index:100;pointer-events:none}.clt-frame a{pointer-events:auto}.clt-frame__logo{display:flex;flex-direction:column;align-items:center;gap:14px}.clt-frame__logo-title{font:400 44px/1.1 "Gallery Serif",Georgia,serif;display:block}.clt-title{position:absolute;bottom:15vh;left:53vw;pointer-events:none}.clt-oh{position:relative;overflow:hidden}.clt-inner{display:inline-block;will-change:transform}.clt-title__main{display:block;font:400 11vw/1.15 "Gallery Serif",Georgia,serif;margin:0;letter-spacing:normal}.clt-title__sub{display:block;margin:0 0 0 .25vw;line-height:1;font-size:clamp(15px,2.5vw,37.5px);font-weight:200;white-space:nowrap}.clt-stack-wrap{width:100%;position:absolute;top:0;z-index:2}.clt-stack{margin:0 auto;width:38vw;min-width:300px;gap:var(--clt-gap);display:grid;place-items:center}.clt-unbutton{background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;border-radius:0;box-shadow:none}.clt-stack__item{opacity:.7;width:100%;height:8vh;background-size:cover;background-position:center;cursor:pointer;will-change:width,height,transform,opacity;transition:opacity .3s}.clt-stack__item:hover,.clt-stack__item:focus-visible{opacity:1}.clt-stack__empty{height:var(--clt-spacer);width:100%;pointer-events:none}.clt-slides{position:fixed;top:0;left:0;width:100%;background:var(--clt-bg);z-index:3;visibility:hidden;pointer-events:none}.clt-slides .clt-stack{width:var(--clt-slide-height);min-width:0;margin-inline:auto}.clt-slides .clt-stack__item{pointer-events:none;opacity:.5;height:var(--clt-slide-height);background-size:contain;background-repeat:no-repeat}.clt-slides .clt-stack__item--current{opacity:.6}.clt-content{position:fixed;pointer-events:none;top:0;left:0;z-index:10;display:grid;height:100vh;width:100%;padding:30px;grid-template-areas:"..." "back" "slides" "...";grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;gap:var(--clt-gap);visibility:hidden}.clt-content__item{grid-area:slides;overflow:hidden;position:absolute;height:0;opacity:0;pointer-events:none}.clt-content__item--current{overflow:visible;position:relative;pointer-events:auto;height:auto;opacity:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.clt-content__title{font:400 clamp(30px,9vw,150px)/1 "Gallery Serif","Noto Serif SC","SimSun",serif;margin:0 0 30px;color:#4664b0;letter-spacing:normal}.clt-content__title>span{display:block;white-space:nowrap;line-height:1}.clt-content__title>span:not(:first-child){margin-top:-1vw}.clt-content__description p{margin:15px 0;line-height:1.4;font-size:15px}.clt-content__description strong,.clt-detail-link{font-weight:700}.clt-back{grid-area:back;display:flex;align-items:center;cursor:pointer;opacity:0;pointer-events:none;align-self:start;justify-self:start}.clt-back svg{fill:var(--clt-ink);margin-right:7.5px}.clt-open .clt-content,.clt-open .clt-slides{visibility:visible}.clt-open .clt-frame{position:fixed;top:0;left:0}.clt-open .clt-back{pointer-events:auto}.clt-open:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--clt-bg);z-index:1}.clt-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}html[data-theme=dark] .clt-gallery{--clt-bg:#000;--clt-ink:#fff}html[data-theme=dark] .clt-transition{--clt-site-bg:#101715;--clt-stage-bg:#000}html[data-theme=dark] .clt-gallery a:hover{color:#ccc}html[data-theme=dark] .clt-content__title{color:#c87e4f}html[data-theme=dark] .clt-stack-wrap .clt-stack__item{opacity:.5}html[data-theme=dark] .clt-stack-wrap .clt-stack__item:hover,html[data-theme=dark] .clt-stack-wrap .clt-stack__item:focus-visible{opacity:.9}@media(max-width:847px){.clt-content__description{background:#f7f6f2f0;padding:4px 12px;margin-inline:-12px}}@media(max-width:847px){html[data-theme=dark] .clt-content__description{background:#000000b8}}@media(max-width:847px){.clt-transition{height:96px}.clt-gallery{--clt-spacer:96px}}@media(min-width:848px){.clt-gallery{--clt-spacer:50vh;--clt-slide-height:min(62vh, calc(50vw - 48px) )}.clt-frame{text-align:left;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;height:100vh;padding:30px}.clt-frame__logo{align-items:flex-start}.clt-content{grid-template-areas:"back slides" "title slides" "... slides";grid-template-columns:1fr 50vw;grid-template-rows:auto 1fr 10vh;column-gap:30px;padding:30px var(--clt-gap) 30px 30px}.clt-content__item{grid-area:title;align-self:end;text-align:left}.clt-content__title{display:inline-flex;flex-direction:column}.clt-content__title>span:first-child{padding-right:30px}.clt-content__title>span:last-child{margin-left:auto}.clt-content__description{max-width:300px}.clt-back{justify-self:end}.clt-slides{background:transparent;width:50vw;left:auto;right:var(--clt-gap)}.clt-slides .clt-stack__item--current{opacity:1}}.clt-content__title--zh{line-height:1.12}.clt-content__title.clt-content__title--zh>span{padding:.025em 0;line-height:1.12}.clt-content__title--zh .clt-inner{line-height:1.12}.clt-content__title.clt-content__title--zh>span:not(:first-child){margin-top:.04em}@media(min-width:848px){.clt-content__title.clt-content__title--zh>span:first-child{padding-right:.15em}.clt-content__title.clt-content__title--zh>span:last-child{margin-left:.15em}}@media(prefers-reduced-motion:reduce){.clt-stack__item{transition:none}}.clt-content{padding-top:118px}@media(max-width:720px){.clt-content{padding-top:96px}}:root{--folder-color: #70a1ff;--folder-back-color: #4785ff;--paper-1: #e6e6e6;--paper-2: #f2f2f2;--paper-3: #ffffff}.folder{transition:all .2s ease-in;cursor:pointer}.folder:not(.folder--click):hover{transform:translateY(-8px)}.folder:not(.folder--click):hover .paper{transform:translate(-50%)}.folder:not(.folder--click):hover .folder__front{transform:skew(15deg) scaleY(.6)}.folder:not(.folder--click):hover .right{transform:skew(-15deg) scaleY(.6)}.folder.open{transform:translateY(-8px)}.folder.open .paper:nth-child(1){transform:translate(-120%,-70%) rotate(-15deg)}.folder.open .paper:nth-child(1):hover{transform:translate(-120%,-70%) rotate(-15deg) scale(1.1)}.folder.open .paper:nth-child(2){transform:translate(10%,-70%) rotate(15deg);height:80%}.folder.open .paper:nth-child(2):hover{transform:translate(10%,-70%) rotate(15deg) scale(1.1)}.folder.open .paper:nth-child(3){transform:translate(-50%,-100%) rotate(5deg);height:80%}.folder.open .paper:nth-child(3):hover{transform:translate(-50%,-100%) rotate(5deg) scale(1.1)}.folder.open .folder__front{transform:skew(15deg) scaleY(.6)}.folder.open .right{transform:skew(-15deg) scaleY(.6)}.folder__back{position:relative;width:100px;height:80px;background:var(--folder-back-color);border-radius:0 10px 10px}.folder__back:after{position:absolute;z-index:0;bottom:98%;left:0;content:"";width:30px;height:10px;background:var(--folder-back-color);border-radius:5px 5px 0 0}.paper{position:absolute;z-index:2;bottom:10%;left:50%;transform:translate(-50%,10%);width:70%;height:80%;background:var(--paper-1);border-radius:10px;transition:all .3s ease-in-out}.paper:nth-child(2){background:var(--paper-2);width:80%;height:70%}.paper:nth-child(3){background:var(--paper-3);width:90%;height:60%}.folder__front{position:absolute;z-index:3;width:100%;height:100%;background:var(--folder-color);border-radius:5px 10px 10px;transform-origin:bottom;transition:all .3s ease-in-out}.folder:focus-visible{outline:2px solid #ffffff;outline-offset:4px;border-radius:10px}.works.project-showcase{--project-muted: #747d88;padding-block:64px 80px}.project-showcase .project-showcase__heading{margin-bottom:0;align-items:flex-start}.project-showcase .project-showcase__heading h2{margin:0;font-size:clamp(42px,4.7vw,68px);font-weight:800;letter-spacing:-.055em;line-height:1.15}.project-archive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project-archive__collection{position:relative;min-width:0}.project-archive__collection:has(.folder.open){z-index:2}.project-folder__stage{position:relative;height:460px}.project-archive__count{margin:0 0 42px;text-align:center;font-size:12px;color:var(--project-muted)}.custom-folder{position:absolute;top:320px;left:50%;width:100px;height:80px;margin-left:-50px}.custom-folder .folder{position:relative}.custom-folder .folder.open:before{content:"";position:absolute;z-index:0;left:-62px;top:-130px;width:224px;height:220px}.custom-folder .folder__front{pointer-events:none}.custom-folder .folder__toggle{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;width:100%;padding:35px 0 0;border:0;border-radius:5px 10px 10px;background:transparent;color:#fff;cursor:pointer;font-size:8px;font-weight:600;letter-spacing:.035em}.custom-folder .folder__toggle:focus-visible{outline:2px solid #9c87ff;outline-offset:5px}.custom-folder .paper{width:86px;height:60px;padding:3px;border-radius:5px;background:#fff;box-shadow:0 2px 8px #1419281f;transform:translate(-50%,10%)}.custom-folder .folder:not(.open) .folder-project{opacity:0}.custom-folder .folder.open .paper{height:102px;transform:translate(calc(var(--paper-x) + var(--magnet-x, 0px)),calc(var(--paper-y) + var(--magnet-y, 0px))) rotate(var(--paper-angle))}.custom-folder .folder.open .paper:hover,.custom-folder .folder.open .paper:focus-within{z-index:5;transform:translate(calc(var(--paper-x) + var(--magnet-x, 0px)),calc(var(--paper-y) + var(--magnet-y, 0px))) rotate(var(--paper-angle)) scale(1.06)}.folder-project{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:3px;color:#222a26;background:#fff;text-decoration:none}.folder-project img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.folder-project__name{display:flex;flex:1;align-items:center;justify-content:space-between;gap:3px;padding:2px;font-size:7px;font-weight:600;line-height:1.2}.folder-project__name svg{flex:none;width:8px;height:8px;color:#5227ff}.folder-project:focus-visible{outline:2px solid #5227ff;outline-offset:-2px}.project-folder__hint{margin:0;text-align:center;color:var(--project-muted);font-size:13px}.project-folder__hint--touch{display:none}html[data-theme=dark] .project-showcase{--project-muted: #aab6b2}html[data-theme=dark] .custom-folder .paper{background:#242a27;box-shadow:0 2px 8px #0000004d}html[data-theme=dark] .folder-project{background:#242a27;color:#eef2ee}html[data-theme=dark] .folder-project__name svg{color:#a9bfff}html[data-theme=dark] .folder-project:focus-visible{outline-color:#a9bfff}@media(max-width:1050px){.project-archive{grid-template-columns:1fr;gap:0}}@media(max-width:767px){.works.project-showcase{padding-block:48px 72px}.project-showcase .project-showcase__heading{display:block}.project-folder__stage{height:400px}.custom-folder{top:270px;transform:scale(1.4)!important}.folder-project__name{font-size:10px}.folder-project__name svg{width:10px;height:10px}}@media(hover:none){.project-folder__hint--pointer{display:none}.project-folder__hint--touch{display:inline}}@media(prefers-reduced-motion:reduce){.custom-folder .folder,.custom-folder .paper,.custom-folder .folder__front{transition:none}.custom-folder .folder.open .paper{--magnet-x: 0px !important;--magnet-y: 0px !important}}.text-rotate{display:flex;flex-wrap:wrap;white-space:pre-wrap;position:relative}.text-rotate-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-rotate-word{display:inline-flex}.text-rotate-lines{display:flex;flex-direction:column;width:100%}.text-rotate-element{display:inline-block}.text-rotate-space{white-space:pre}.site-header-position.site-header-position--fullwidth{position:sticky;top:0;z-index:20;padding-block:0;background:transparent}.site-header.site-header--fullwidth{position:relative;isolation:isolate;height:88px;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.site-header.site-header--fullwidth:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,#e7e7e7,#e7e7e7f5 38%,#e7e7e794 70%,#e7e7e700);opacity:.7;transition:opacity .38s ease}.site-header.site-header--fullwidth.is-scrolled:before{opacity:1}.site-header__inner{display:flex;align-items:center;height:100%;gap:inherit}.site-header__inner>.wordmark{flex-shrink:0}.site-header--fullwidth .site-nav__link:not(.is-active){background:#fafafa}html[data-theme=dark] .site-header-position.site-header-position--fullwidth,html[data-theme=dark] .site-header.site-header--fullwidth{background:transparent}html[data-theme=dark] .site-header.site-header--fullwidth:before{background:linear-gradient(to bottom,#343435,#343435f5 38%,#34343594 70%,#34343500)}html[data-theme=dark] .site-header--fullwidth .site-nav__link:not(.is-active){background:#303030}@media(max-width:720px){.site-header.site-header--fullwidth{height:72px}.site-header__inner>.wordmark{margin-left:auto}}@media(prefers-reduced-motion:reduce){.site-header.site-header--fullwidth:before{transition:none}}[data-page-enter][data-enter-state=pending]{opacity:0;translate:0 10px}[data-page-enter][data-enter-state=entering]{opacity:1;translate:0 0;transition:opacity .36s cubic-bezier(.2,.7,.25,1),translate .36s cubic-bezier(.2,.7,.25,1);transition-delay:var(--page-enter-delay, 0ms)}[data-page-enter][data-enter-state=pending]:focus-within{opacity:1;translate:none}@media(prefers-reduced-motion:reduce){[data-page-enter][data-enter-state]{opacity:1;translate:none;transition:none}}html[data-project-detail]{overflow-x:clip}.case-study--story{--case-accent: #3d58a0;--case-muted: #69716c;--case-line: #dedfda;--case-surface: #f3f4f0;--case-background: #ffffff;--case-emphasis-mark: #ad8125;--case-emphasis-fill: rgb(221 185 95 / .26);--case-header-height: 86px;--case-travel: 0px;height:calc(100dvh + var(--case-travel));margin-top:calc(-1 * var(--case-header-height));padding-top:var(--case-header-height);overflow-wrap:anywhere}.case-study__stage{position:sticky;top:var(--case-header-height);height:calc(100dvh - var(--case-header-height));display:grid;grid-template-rows:58px minmax(0,1fr) 70px;background:var(--case-background)}.case-study__viewport{overflow:hidden;min-height:0}.case-study__viewport:focus-visible{outline-offset:-5px}.case-study__rail{display:flex;width:100%;height:100%;will-change:transform}.case-study__panel{flex:0 0 100%;min-width:0;height:100%;padding:24px 48px}.case-study__panel-content{display:flex;flex-direction:column;justify-content:center;width:100%;max-width:1280px;height:100%;min-height:0;margin-inline:auto}.case-study__panel-content>h2{flex-shrink:0}.case-study__overview{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:clamp(32px,4vw,80px);height:100%;min-height:0}.case-study__overview .case-study__visual{height:100%;max-height:520px}.case-study--dongyuan{--case-accent: #315a4b}.case-study__toolbar{display:flex;align-items:center;gap:30px;margin-inline:48px;border-bottom:1px solid var(--case-line)}.case-study__back{font-size:13px;padding-block:8px;color:var(--case-muted);white-space:nowrap}.case-study__back:hover,.case-study__video-link:hover,.case-study__navigation a:hover{color:var(--case-accent)}.case-study__toolbar-title{font-size:13px;font-weight:500}.case-study__copy-scroll{min-height:0;max-height:100%;overflow-y:auto;overscroll-behavior-y:auto;padding:4px 14px 8px 0;scrollbar-width:thin}.case-study__overview-copy{max-width:none}.case-study__header{margin-bottom:28px}.case-study__index{margin:0 0 20px;font-size:11px;letter-spacing:.16em;color:var(--case-muted)}.case-study h1{margin:0;font-family:"Noto Serif SC",Songti SC,STSong,SimSun,Georgia,serif;font-size:clamp(34px,4.5vw,60px);font-weight:600;line-height:1.35;letter-spacing:-.035em;text-wrap:balance}.case-study__headline{margin:16px 0 24px;font-size:clamp(18px,2vw,23px);line-height:1.7;color:var(--case-muted)}.case-study__identity{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.case-study__category{border:1px solid var(--case-accent);border-radius:999px;color:var(--case-accent);padding:5px 15px;font-size:12px;line-height:1.6}.case-study__project-stage{font-size:12px;line-height:1.7;color:var(--case-muted)}.case-study__meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin:22px 0 0;font-size:12px;line-height:1.8;color:var(--case-muted)}.case-study__meta div{display:flex;gap:10px}.case-study__meta div+div{border-left:1px solid var(--case-line);padding-left:28px}.case-study__meta dt{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.case-study__meta dd{margin:0}.case-study__website-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:12px;color:var(--case-accent);font-size:14px;text-decoration:underline;text-underline-offset:5px}.case-study__website-link:hover{text-decoration-thickness:2px}.case-study__website-link:focus-visible{outline:2px solid var(--case-accent);outline-offset:4px}.case-study__intro p,.case-study__section p,.case-study__recording-copy>p,.case-study__list{font-size:16px;line-height:1.85;letter-spacing:.015em;text-wrap:pretty}.case-study__intro p{margin:0}.case-study p strong,.case-study__list strong{font-weight:700}.case-study h2{margin:0 0 22px;color:var(--case-accent);font-family:"Noto Serif SC",Songti SC,STSong,SimSun,Georgia,serif;font-size:25px;font-weight:600;line-height:1.5}.case-study__section p{margin:0}.case-study__section h3{margin:0 0 8px;font-size:17px;line-height:1.6;font-weight:600;color:inherit}.case-study__section p+p{margin-top:16px}.case-study__section+.case-study__section{margin-top:34px}.case-study__note{margin-top:16px;font-size:13px!important;line-height:1.8!important;color:var(--case-muted)}.case-study__tags{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.case-study__tags li{padding:6px 13px;border:1px solid var(--case-line);border-radius:5px;font-family:DM Sans,Consolas,monospace;font-size:14px;line-height:1.7}.case-study__flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 30px;margin:0;padding:0;list-style:none}.case-study__flow li{display:flex;align-items:baseline;gap:12px;font-size:15px;line-height:1.8}.case-study__flow li span{color:var(--case-accent);font-size:11px;font-variant-numeric:tabular-nums}.case-study__list{margin:0;padding-left:1.15em}.case-study__list li{padding-left:5px}.case-study__list li+li{margin-top:8px}.case-study__list li::marker{color:var(--case-accent)}.case-study__status{padding-left:22px;border-left:2px solid var(--case-accent)}.case-study__status p{color:var(--case-muted)}.case-study__context,.case-study__recording{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:48px;height:100%;min-height:0}.case-study__context .case-study__visual{width:100%}.case-study__recording{grid-template-columns:minmax(0,1fr) minmax(0,330px);grid-template-rows:minmax(0,1fr);padding:22px 40px;background:var(--case-surface)}.case-study__recording-copy{max-width:470px}.case-study__video{display:block;min-height:0;max-width:100%;height:100%;max-height:620px;width:auto;aspect-ratio:434 / 938;object-fit:contain;justify-self:center;background:#191919}.case-study__video-link{display:inline-block;margin-top:24px;font-size:13px;text-decoration:underline;text-underline-offset:5px}.case-study__panel--visual .case-study__visual{flex:1}.case-study__visual{display:flex;flex-direction:column;margin:0;min-width:0;min-height:0;max-height:100%}.case-study__visual-images{display:flex;align-items:stretch;gap:26px;flex:1;min-height:0}.case-study__visual-image{display:flex;flex-direction:column;flex:1 1 0;min-width:0;min-height:0}.case-study__visual--design .case-study__visual-images,.case-study__visual--screens .case-study__visual-images{justify-content:center}.case-study__visual--design .case-study__visual-image,.case-study__visual--screens .case-study__visual-image{flex:0 1 260px}.case-study__visual-image>a{display:block;flex:1;width:100%;min-height:0}.case-study__visual img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}.case-study__visual-image>img{flex:1}.case-study__context .case-study__visual{height:100%;max-height:560px}.case-study__screen-label{margin:12px 0 0;font-size:13px;text-align:center;line-height:1.6;color:var(--case-muted);flex-shrink:0}.case-study__visual figcaption{display:flex;align-items:baseline;gap:18px;margin-top:12px;font-size:12px;line-height:1.8;color:var(--case-muted);flex-shrink:0}.case-study__visual figcaption a{flex-shrink:0;text-decoration:underline;text-underline-offset:4px}.case-study__gallery-note{max-width:960px;margin:0 0 18px;font-size:13px;line-height:1.8;color:var(--case-muted);flex-shrink:0}.case-study__screen-story{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);align-items:center;gap:clamp(28px,4vw,64px);height:100%;min-height:0}.case-study__screen-story--webpage{grid-template-columns:minmax(240px,.75fr) minmax(0,1.8fr)}.case-study__screen-story>.case-study__visual{width:100%;height:100%}.case-study__screen-story--webpage>.case-study__visual{justify-content:center}.case-study__screen-story--webpage .case-study__visual-images{flex:0 1 auto;aspect-ratio:1.86}.case-study--dongyuan .case-study__screen-story--webpage .case-study__visual-images{aspect-ratio:1.5}.case-study--dongyuan .case-study__screen-story .case-study__screen-label{display:none}.case-study__screen-story .case-study__screen-kicker{margin:0 0 16px;color:var(--case-muted);font-size:11px;letter-spacing:.12em}.case-study__screen-copy h2{text-wrap:balance;margin-bottom:18px}.case-study__screen-intro{color:var(--case-muted)}.case-study__screen-explanation h3{margin:22px 0 6px;font-size:14px;line-height:1.7;font-weight:600}.case-study__screen-explanation p,.case-study__screen-intro{margin:0;font-size:15px;line-height:1.9;text-wrap:pretty}.case-study__screen-story .case-study__visual-image>a{transition:opacity .2s ease}.case-study__screen-story .case-study__visual-image>a:hover{opacity:.88}.case-study__screen-story .case-study__visual-image>a:focus-visible{outline:2px solid var(--case-accent);outline-offset:4px}.case-study__navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:42px;padding-top:24px;border-top:1px solid var(--case-line)}.case-study__navigation>a:first-child{font-size:13px;color:var(--case-muted)}.case-study__navigation>a:last-child{display:grid;gap:8px;text-align:right}.case-study__navigation small{font-size:11px;color:var(--case-muted)}.case-study__navigation strong{font-size:18px;font-weight:500}.case-study__reader-controls{display:flex;align-items:center;gap:32px;margin-inline:48px;border-top:1px solid var(--case-line)}.case-study__chapter-status{display:flex;gap:18px;align-items:baseline;min-width:min(28vw,330px)}.case-study__chapter-status span{font-size:11px;color:var(--case-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.case-study__chapter-status strong{font-size:13px;font-weight:500}.case-study__progress{height:2px;flex:1;background:var(--case-line)}.case-study__progress span{display:block;height:100%;background:var(--case-accent);transform-origin:left}.case-study__reader-buttons{display:flex;gap:12px}.case-study__reader-buttons button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--case-line);background:transparent;color:inherit;border-radius:50%}.case-study__reader-buttons svg{width:18px;height:18px}.case-study__reader-buttons button:hover:not(:disabled){background:var(--case-surface);color:var(--case-accent)}.case-study__reader-buttons button:disabled{opacity:.3;cursor:default}html[data-theme=dark] .case-study{--case-accent: #edc958;--case-muted: #adb7b0;--case-line: #35413a;--case-surface: #1b2521;--case-background: #101715}.case-study__emphasis{color:inherit;font-weight:700;background-image:linear-gradient(var(--case-emphasis-fill),var(--case-emphasis-fill));background-position:left 90%;background-size:0% 55%;background-repeat:no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .48s ease .12s;text-decoration-line:underline;text-decoration-color:var(--case-emphasis-mark);text-decoration-thickness:2px;text-underline-offset:.2em;text-decoration-skip-ink:auto}.case-study__panel[data-active=true] .case-study__emphasis{background-size:100% 55%}html[data-theme=dark] .case-study{--case-emphasis-mark: #d4b062;--case-emphasis-fill: rgb(212 176 98 / .23)}@media(prefers-reduced-motion:reduce){.case-study__emphasis{transition:none}}html[data-theme=dark] .case-study--dongyuan{--case-accent: #a9c8aa}.case-study__panel .case-study__header,.case-study__panel .case-study__intro,.case-study__panel .case-study__section,.case-study__panel .case-study__visual-image,.case-study__panel .case-study__recording-copy,.case-study__panel .case-study__screen-copy,.case-study__panel-content>h2{opacity:.55;transform:translateY(14px);transition:opacity .42s ease,transform .42s cubic-bezier(.2,.7,.25,1)}.case-study__panel[data-active=true] .case-study__header,.case-study__panel[data-active=true] .case-study__intro,.case-study__panel[data-active=true] .case-study__section,.case-study__panel[data-active=true] .case-study__visual-image,.case-study__panel[data-active=true] .case-study__recording-copy,.case-study__panel[data-active=true] .case-study__screen-copy,.case-study__panel[data-active=true] .case-study__panel-content>h2{opacity:1;transform:translateY(0)}.case-study__panel[data-active=true] .case-study__intro,.case-study__panel[data-active=true] .case-study__section+.case-study__section,.case-study__panel[data-active=true] .case-study__visual-image:nth-child(2){transition-delay:80ms}.case-study__panel[data-active=true] .case-study__visual-image:nth-child(3){transition-delay:.16s}@media(max-width:900px){.case-study__panel{padding-inline:28px}.case-study__toolbar,.case-study__reader-controls{margin-inline:28px}.case-study__overview,.case-study__context{gap:24px}.case-study__recording{gap:26px;padding:20px;grid-template-columns:minmax(0,1fr) minmax(0,240px)}}@media(max-width:720px){.case-study__stage{grid-template-rows:52px minmax(0,1fr) 64px}.case-study__toolbar,.case-study__reader-controls{margin-inline:18px;gap:12px}.case-study__toolbar-title{display:none}.case-study__panel{padding:20px 18px}.case-study__overview{display:block}.case-study__context{display:flex;flex-direction:column;gap:20px}.case-study__context .case-study__copy-scroll{max-height:58%;flex-shrink:0}.case-study__context .case-study__visual{flex:1;width:100%}.case-study__recording{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:18px;padding:16px}.case-study__recording-copy>p{font-size:13px!important;line-height:1.7!important;margin-top:10px;margin-bottom:0}.case-study__recording-copy h2{margin-bottom:8px}.case-study__recording-copy .case-study__video-link{margin-top:10px}.case-study__video{max-width:100%}.case-study h1{font-size:34px}.case-study h2{font-size:22px;margin-bottom:18px}.case-study__header{margin-bottom:24px}.case-study__headline{font-size:18px}.case-study__intro p,.case-study__section p,.case-study__list{font-size:15px;line-height:1.85}.case-study__tags{gap:8px}.case-study__tags li{font-size:12px;padding:5px 10px}.case-study__flow{grid-template-columns:minmax(0,1fr);gap:12px}.case-study__flow li{font-size:14px}.case-study__visual-images{gap:20px}.case-study__screen-story{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:18px}.case-study__screen-copy{max-height:220px}.case-study__screen-story .case-study__screen-kicker{margin-bottom:8px}.case-study__screen-copy h2{font-size:20px;margin-bottom:10px}.case-study__screen-explanation p{font-size:13px;line-height:1.8}.case-study__screen-copy .case-study__note{margin:10px 0 0;font-size:11px!important}.case-study__screen-story--webpage .case-study__visual-images{width:100%}.case-study__visual figcaption{flex-direction:column;gap:6px}.case-study__chapter-status{min-width:0;flex:1;gap:12px}.case-study__chapter-status strong{max-width:36vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-study__progress{display:none}.case-study__reader-buttons{gap:8px}.case-study__reader-buttons button{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){.case-study__panel *{transition:none!important;transform:none!important;opacity:1!important}.case-study__rail{will-change:auto}}.about.contact-section{--contact-muted: #747d78;--contact-rule: #dce1dc;--contact-accent: #4261b3;--contact-gap: clamp(65px, 9vw, 150px);--mail-ink: #514740;--mail-paper: #fff;--cat-orange: #f4bd81;--envelope-paper: #fffaf1;--envelope-flap: #fffcf6;padding-top:clamp(40px,6svh,70px);padding-bottom:55px;min-height:calc(100svh - 100px)}.contact-section__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--contact-gap);align-items:start}.contact-section__art{display:flex;flex-direction:column}.contact-section h2{font-size:clamp(45px,4.8vw,76px);font-weight:600;line-height:1.2;letter-spacing:-.045em}.contact-section h2 span,.contact-letter h3 span{color:var(--contact-accent)}.contact-section__details{padding-top:8px}.contact-section__intro{max-width:500px;color:var(--contact-muted);font-size:17px;line-height:1.9}.contact-scene__left{position:relative;min-width:0;margin-top:15px}.contact-scene__right{position:relative;margin-top:clamp(48px,6svh,72px);min-width:0}.contact-methods{display:flex;flex-wrap:wrap;align-items:start;gap:clamp(9px,1.3vw,20px);margin-top:24px;margin-bottom:24px}.contact-method{display:flex;flex-direction:column;align-items:center;gap:9px}.contact-method>span{color:var(--contact-muted);font-size:11px}.contact-method__icon{display:grid;place-items:center;width:clamp(44px,4vw,56px);height:clamp(44px,4vw,56px);padding:0;border:1px solid transparent;border-radius:50%;background:#f5f2ed;color:#363d38;cursor:pointer;transition:background .2s,color .2s,transform .2s,border-color .2s}.contact-method__symbol{display:grid;place-items:center}.contact-method__icon svg{width:28px;height:28px}.contact-method__icon:hover{background:#ebe9e1;transform:translateY(-3px)}.contact-method__icon[aria-expanded=true]{color:var(--contact-accent);background:#edf0f8;border-color:#d8dfef}.contact-method__icon:disabled{color:#919790;cursor:default;transform:none}.contact-section__notice{min-height:20px;margin-top:12px;font-size:12px;color:var(--contact-accent)}.letter-cat{--storybook-ink: #514539;--storybook-cream: #fff9ef;--storybook-orange: #e8a25e;--storybook-eye: #b5915f;width:100%;margin:0}.letter-cat svg{display:block;width:100%;height:auto}.letter-cat__paint{fill-opacity:1}.letter-cat__detail-ink{opacity:1}.letter-cat__controls{display:flex;align-items:center;justify-content:space-between;gap:8px;width:64%;margin-top:0;padding-left:13%;font-size:10px;color:var(--contact-muted)}.letter-cat__controls>div{display:flex;gap:3px}.letter-cat__controls button{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:32px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.letter-cat__controls button svg{width:15px;height:15px}.letter-cat__controls button:hover{color:var(--contact-accent)}.contact-envelope{position:absolute;z-index:3;left:72%;top:59%;width:26%;aspect-ratio:520 / 460;isolation:isolate;transform:rotate(8deg)}.contact-envelope__back,.contact-envelope__front{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.contact-envelope__back{z-index:0}.contact-envelope__front{z-index:2}.contact-envelope__rear,.contact-envelope__pocket{fill:var(--envelope-paper);stroke:var(--mail-ink);stroke-width:5}.contact-envelope__rear{stroke:none}.contact-envelope__flap{fill:var(--envelope-flap);stroke:var(--mail-ink);stroke-width:5}.contact-envelope__fold{stroke:#d8cbb8;stroke-width:3}.contact-envelope__open{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;border-radius:4px;background:transparent;color:var(--mail-ink);cursor:pointer}.contact-envelope__prompt{position:absolute;top:96%;left:0;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;font-size:12px;white-space:nowrap;color:var(--contact-accent)}.contact-envelope__prompt svg{width:15px;height:15px}.contact-envelope__open:hover .contact-envelope__prompt{text-decoration:underline;text-underline-offset:5px}.contact-letter{position:relative;z-index:5;width:100%;min-height:350px;padding:30px 32px 28px;border:1px solid var(--contact-rule);border-radius:2px;background:var(--mail-paper);box-shadow:0 5px 20px #1e2d2308;visibility:hidden;opacity:0;transform:translate(calc(-67% - var(--contact-gap)),55px) scale(.2,.3) rotate(-5deg);clip-path:inset(25% 0 25% 0);pointer-events:none;transition:transform .7s cubic-bezier(.22,.7,.2,1),clip-path .7s cubic-bezier(.22,.7,.2,1),opacity .2s,visibility 0s .7s}.is-letter-open .contact-letter{visibility:visible;opacity:1;transform:translate(0) scale(1) rotate(0);clip-path:inset(0);pointer-events:auto;transition-delay:.18s,.18s,.18s,0s}.contact-letter:before{content:"";position:absolute;left:0;top:23px;bottom:23px;width:3px;background:var(--cat-orange)}.contact-letter__close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;color:var(--contact-muted);cursor:pointer}.contact-letter__close svg{width:19px;height:19px}.contact-letter__close:hover{color:var(--contact-accent)}.contact-letter__hello{margin:0 0 10px;font-size:12px;color:var(--contact-muted)}.contact-letter h3{font-size:29px;font-weight:600;line-height:1.2}.contact-letter__detail{min-height:120px;overflow:hidden;padding-top:20px;border-top:1px solid var(--contact-rule)}.contact-letter__detail h4{font-size:14px;font-weight:500;color:var(--contact-muted)}.contact-letter__choose{padding-top:22px;font-size:14px;color:var(--contact-muted)}.contact-letter__role{margin:8px 0 24px;font-size:12px;line-height:1.6;color:var(--contact-muted)}.contact-letter__row{margin-top:16px}.contact-letter__row>p{margin-bottom:5px;font-size:11px;color:var(--contact-muted)}.contact-letter__value-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.contact-letter__value-row>a,.contact-letter__account{min-width:0;font-size:clamp(17px,1.55vw,22px);font-weight:500;overflow-wrap:anywhere}.contact-letter__value-row>a:hover{color:var(--contact-accent)}.contact-letter__value-row>button{display:flex;align-items:center;gap:4px;min-height:32px;padding:5px 2px;border:0;background:transparent;color:var(--contact-muted);font-size:11px;white-space:nowrap;cursor:pointer}.contact-letter__value-row>button:hover{color:var(--contact-accent)}.contact-letter__value-row>button svg{width:14px;height:14px}.contact-letter__write{display:flex;align-items:center;gap:5px;width:max-content;margin:25px 0 0;font-size:12px;color:var(--contact-accent)}.contact-letter__write svg{width:15px;height:15px}.contact-letter__pending{margin-top:24px;color:var(--contact-muted);font-size:14px}.contact-letter__qr{display:block;width:min(190px,100%);height:auto;margin-top:20px;border-radius:4px}[data-theme=dark] .contact-section{--contact-muted: #a1b0a5;--contact-rule: #425449;--mail-ink: #aab5ac;--mail-paper: #18241e;--envelope-paper: #26372e;--envelope-flap: #304238}[data-theme=dark] .contact-method__icon{background:#28382d;color:#e1e7df}[data-theme=dark] .contact-method__icon:hover{background:#34473a}[data-theme=dark] .contact-method__icon[aria-expanded=true]{background:#293950;color:#b4c4f2;border-color:#4b6383}[data-theme=dark] .contact-method__icon:disabled{color:#7e9083}@media(max-width:1023px){.about.contact-section{--contact-gap: 45px}.contact-section__intro{font-size:15px}.contact-letter{padding:24px 20px}.contact-letter__value-row>a,.contact-letter__account{font-size:16px}.contact-letter__role{font-size:11px}}@media(max-width:767px){.about.contact-section{padding-top:44px;padding-bottom:55px;min-height:calc(100svh - 82px)}.contact-section__grid{grid-template-columns:minmax(0,1fr);gap:20px}.contact-section__art,.contact-section__details{display:contents}.contact-section h2{grid-row:1}.contact-section__intro{grid-row:2}.contact-scene__left{grid-row:3}.contact-scene__right{grid-row:4}.contact-section h2{font-size:clamp(40px,9vw,60px)}.contact-section__details{padding-top:0}.contact-section__intro{max-width:440px}.contact-scene__left{width:100%;max-width:500px;margin:8px auto 0}.contact-scene__right{height:0;margin-top:0}.is-letter-open .contact-scene__right{height:auto}.contact-methods{justify-content:space-between;gap:clamp(5px,1.6vw,14px);margin-bottom:24px}.contact-method__icon{width:44px;height:44px}.contact-method__icon svg{width:25px;height:25px}.contact-letter{padding:26px 24px;transform:translate(18%,-180px) scale(.35,.4) rotate(-5deg)}.is-letter-open .contact-letter{transform:translate(0) scale(1) rotate(0)}.contact-letter__value-row>a,.contact-letter__account{font-size:clamp(16px,4.3vw,19px)}.contact-envelope__prompt{font-size:10px}.letter-cat__controls{font-size:9px;padding-left:5%;width:67%}}@media(max-width:359px){.contact-letter{padding:22px 18px}.contact-letter__value-row>a,.contact-letter__account{font-size:15px}.contact-letter__value-row>button span{display:none}}@media(prefers-reduced-motion:reduce){.contact-letter,.contact-scene__right,.contact-method__icon{transition:none}.letter-cat__pause{display:none!important}}.skill-detail{--skill-line: var(--case-line);--skill-muted: var(--case-muted);--skill-paper: var(--case-surface)}.skill-detail__back{display:inline-block;font-size:13px;color:var(--skill-muted);padding-block:10px}.skill-detail__back:hover{color:#4261b3}.skill-detail__header{max-width:900px;padding-block:12px}.skill-detail h1{font:400 clamp(42px,5.4vw,78px)/1.12 "Gallery Serif",Georgia,serif;margin:18px 0 26px;letter-spacing:-.03em}.skill-detail__lead{max-width:680px;font-size:clamp(18px,2vw,24px);line-height:1.75}.skill-detail__tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.skill-detail__tags span{border:1px solid var(--skill-line);padding:7px 12px;font-size:12px}.skill-detail__tags span:first-child{border-color:#287c70;color:#287c70}.skill-detail__identifier{font:12px/1.8 Consolas,monospace;color:var(--skill-muted);margin-top:16px}.skill-detail__section{padding-block:12px}.skill-detail h2{font-size:clamp(22px,2.3vw,32px);font-weight:600;line-height:1.55;margin:0 0 16px}.skill-detail h3{font-size:21px;line-height:1.5;margin:12px 0}.skill-detail__section>p{max-width:800px}.skill-detail__section p{color:var(--skill-muted);font-size:16px;line-height:1.85}.skill-detail__workflow{padding:0;margin:36px 0 0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.skill-detail__workflow li>span{color:#287c70;font-size:12px}.skill-detail__workflow h3{font-size:18px}.skill-detail__workflow p{font-size:14px}.skill-detail__example{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.3fr);gap:48px;align-items:center;height:100%;min-height:0}.skill-detail__example-copy details{margin-top:24px}.skill-detail__example-copy summary{cursor:pointer;font-size:13px;color:#287c70}.skill-detail__example-copy details p{font-size:14px;padding-left:16px;border-left:2px solid #287c70}.skill-detail__demo{--contact-muted: #747d78;--mail-ink: #514740;--mail-paper: #f5f6f2;--cat-orange: #f4bd81;--envelope-paper: #fffaf1;--envelope-flap: #fffcf6;--contact-accent: #4261b3;min-width:0;min-height:0;max-height:100%;padding:20px;background:var(--skill-paper)}.skill-detail__demo .letter-cat{display:flex;flex-direction:column;max-height:100%}.skill-detail__demo .letter-cat>svg{min-height:0;max-height:min(320px,44dvh)}.skill-detail__demo .letter-cat__controls{flex-shrink:0}.skill-detail__demo--workspace{padding:20px 0}.skill-detail__demo--workspace .workspace-cat{height:min(360px,48dvh);min-height:0;background:transparent}.skill-detail__demo--workspace .workspace-cat__controls{left:16px;right:16px;justify-content:flex-end}.skill-detail__demo--workspace .workspace-cat__controls>span{margin-right:auto}.skill-detail__delivery{max-width:900px}html[data-theme=dark] .skill-detail{--skill-line: #35443c;--skill-muted: #aab6b2;--skill-paper: #18241e}html[data-theme=dark] .skill-detail__tags span:first-child,html[data-theme=dark] .skill-detail__workflow li>span,html[data-theme=dark] .skill-detail__example-copy summary{color:#9bcabb}@media(max-width:900px){.skill-detail__workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-detail__example{gap:28px}}@media(max-width:720px){.skill-detail__header{padding-block:0}.skill-detail__example{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1.2fr);gap:18px}.skill-detail__example-copy{height:100%}.skill-detail__example-copy details{margin-top:12px}.skill-detail__example-copy p{font-size:14px;line-height:1.8}.skill-detail__demo{height:100%;padding:10px}.skill-detail__demo .letter-cat{height:100%}.skill-detail__demo .letter-cat>svg{flex:1;max-height:none;height:calc(100% - 32px)}.skill-detail__demo--workspace .workspace-cat{height:100%}.skill-detail__demo--workspace .workspace-cat__controls{left:0;right:0;gap:8px}.skill-detail__workflow{gap:20px}.skill-detail__section{padding-block:4px}}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.hidden{display:none}.h-3{height:calc(var(--spacing) * 3)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.overflow-hidden{overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(min-width:40rem){.sm\:pb-1{padding-bottom:var(--spacing)}}@media(min-width:48rem){.md\:pb-1{padding-bottom:var(--spacing)}}}:root{color:#202524;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;background:#fff;font-family:DM Sans,Noto Sans SC,sans-serif}html,body{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}*{box-sizing:border-box}html,body,#root{background:#fff}body{margin:0}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}::selection{color:#172d75;background:#cbd5ff}.shell{width:min(100% - 96px,1440px);margin-inline:auto}.eyebrow{letter-spacing:.15em;text-transform:uppercase;color:#4664b0;font-size:11px;font-weight:700}.skip-link{z-index:99;background:#fff;padding:12px;position:absolute;top:-80px;left:18px}.skip-link:focus{top:18px}:focus-visible{outline-offset:5px;outline:2px solid #3d60b7}.site-header{align-items:center;gap:54px;height:86px;display:flex}.wordmark{letter-spacing:-.08em;font-size:22px;font-weight:900}.wordmark span,.section-heading h2 span,.about h2 span,.detail__heading h1 span{color:#4261b3}.site-header__descriptor{color:#59605e;letter-spacing:.08em;font-size:12px}.site-header__contact{border-bottom:1px solid #202524;margin-left:auto;padding-bottom:4px;font-size:12px;font-weight:700}.hero{grid-template-columns:minmax(232px,280px) minmax(0,1fr);gap:clamp(60px,9vw,160px);min-height:min(740px,100svh - 86px);padding-block:50px 78px;display:grid}.profile-card{background:0 0;border:0;align-self:center;min-width:0;padding:0}.profile-card__portrait{background:0 0;border:0;height:222px;overflow:hidden}.profile-card__portrait img{object-fit:contain;object-position:center;width:100%;height:100%}.profile-card__identity{border:0;padding:25px 0 12px}.profile-card__identity h2{letter-spacing:-.06em;margin:8px 0 0;font-size:30px}.profile-card__identity h2 span{color:#4462b5;vertical-align:top;margin-left:7px;font-size:16px}.profile-card__facts{margin:8px 0 25px}.profile-card__facts div{grid-template-columns:44px 1fr;gap:9px;padding:7px 0;display:grid}.profile-card__facts dt{color:#858b87;font-size:12px}.profile-card__facts dd{overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:600}.profile-card__facts a:hover{text-decoration:underline}.profile-card__foot{letter-spacing:.12em;color:#8c9490;font-size:9px}.hero__intro{flex-direction:column;justify-content:center;padding-block:24px;display:flex}.hero__intro-top{justify-content:space-between;align-items:center;display:flex}.hero__asterisk{color:#4664b0;font-size:58px;line-height:1}.hero__hello{color:#4664b0;margin:36px 0 22px;font-size:18px;font-weight:700}.hero h1{letter-spacing:-.085em;white-space:nowrap;margin:0;font-size:clamp(54px,6.7vw,104px);font-weight:900;line-height:1.16}.hero h1 em{color:#4664b0;font-style:normal}.hero__summary{color:#525b57;max-width:650px;margin:33px 0 38px;font-size:18px;line-height:1.95}.hero__actions{align-items:center;gap:36px;display:flex}.button{justify-content:space-between;align-items:center;gap:50px;min-width:150px;padding:16px 21px;font-size:13px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button--dark{color:#fff;background:#222726}.button--dark:hover{background:#4361b5}.text-link{border-bottom:1px solid #989f9a;padding-bottom:7px;font-size:13px;font-weight:700}.text-link:hover{color:#4664b0;border-color:#4664b0}.hero__bottom{letter-spacing:.13em;color:#8c9490;border-top:1px solid #dfe1dc;justify-content:space-between;gap:20px;margin-top:auto;padding-top:18px;font-size:10px;display:flex}.tile-reveal{color:#202524;background:#fff;height:270vh;position:relative}.tile-reveal__sticky{background:#fff;place-items:center;height:100svh;min-height:600px;display:grid;position:sticky;top:0;overflow:hidden}.tile-reveal__eyebrow{z-index:3;letter-spacing:.16em;color:#59615c;justify-content:space-between;font-size:10px;display:flex;position:absolute;top:26px;left:0;right:0}.tile-reveal__grid{grid-template-columns:repeat(3,1fr);gap:14px;width:min(68vw,750px);display:grid;position:relative;transform:rotate(-7deg)}.tile-reveal__tile{aspect-ratio:1/1.14;will-change:transform,opacity;background:#f2f3f1;overflow:hidden}.tile-reveal__tile img{object-fit:cover;width:100%;height:100%}.tile-reveal__copy{z-index:2;text-align:center;pointer-events:none;text-shadow:none;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.tile-reveal__copy .eyebrow{color:#4664b0}.tile-reveal__copy h2{letter-spacing:-.07em;max-width:900px;margin:13px auto;font-size:clamp(34px,5vw,78px);line-height:1.18}.tile-reveal__copy p:last-child{color:#626b65;font-size:14px}.works{background:#fff;padding-block:125px 130px}.section-heading{justify-content:space-between;align-items:end;gap:50px;display:flex}.section-heading h2{letter-spacing:-.08em;margin:17px 0 0;font-size:clamp(44px,5.2vw,76px);line-height:1.12}.section-heading>p{color:#6f7771;max-width:385px;margin:0 0 8px;font-size:14px;line-height:1.9}.skewed-carousel{flex-direction:column;justify-content:end;align-items:center;height:700px;display:flex;position:relative;overflow:hidden}.skewed-carousel__stage{width:100%;height:535px;transform-style:preserve-3d;position:absolute;top:42px;left:50%}.skewed-carousel__card{text-align:left;transform-origin:50%;height:500px;transform-style:preserve-3d;background:#cbd4e6;border:0;padding:0;transition:transform .8s cubic-bezier(.2,.75,.22,1),opacity .65s,box-shadow .3s;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 28px 58px #26332b24}.skewed-carousel__card:hover{box-shadow:0 36px 68px #26332b38}.skewed-carousel__card img{object-fit:cover;width:100%;height:100%}.skewed-carousel__card:after{content:"";background:linear-gradient(#0000,#080b0ba8);position:absolute;top:50%;right:0;bottom:0;left:0}.skewed-carousel__number{z-index:1;color:#fff;letter-spacing:.16em;font-size:11px;position:absolute;top:20px;left:20px}.skewed-carousel__card-title{z-index:1;color:#fff;letter-spacing:-.04em;font-size:32px;font-weight:800;line-height:1.18;position:absolute;bottom:24px;left:22px;right:22px}.skewed-carousel__card-title small{letter-spacing:.08em;margin-top:10px;font-size:11px;font-weight:500;display:block}.skewed-carousel__concept{color:#e5efe7;background:#1d3240;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:34px;display:flex}.skewed-carousel__concept span,.skewed-carousel__concept i{letter-spacing:.08em;font-size:12px;font-style:normal}.skewed-carousel__concept strong{letter-spacing:-.08em;font-size:66px;line-height:1.1}.skewed-carousel__controls{z-index:6;align-items:center;gap:34px;margin-bottom:13px;display:flex}.skewed-carousel__controls button{background:#fff;border:1px solid #d7dbd3;border-radius:50%;width:47px;height:47px;font-size:20px}.skewed-carousel__controls button:hover{color:#fff;background:#202524}.skewed-carousel__controls span{color:#8b928c;font-size:13px}.skewed-carousel__controls strong{color:#202524}.skewed-carousel__dots{z-index:6;gap:7px;margin-bottom:12px;display:flex}.skewed-carousel__dots button{background:#d0d4cc;border:0;width:22px;height:3px;padding:0}.skewed-carousel__dots button[aria-current]{background:#4664b0}.works__index{border-top:1px solid #d7dbd3}.works__index button{text-align:left;background:0 0;border:0;border-bottom:1px solid #d7dbd3;grid-template-columns:55px 1fr 200px 20px;align-items:center;gap:20px;width:100%;padding:20px 4px;transition:padding .2s,color .2s;display:grid}.works__index button:hover{color:#4664b0;padding-left:15px}.works__index span{color:#8b928c;font-size:11px}.works__index strong{letter-spacing:-.04em;font-size:18px}.works__index small{color:#858e87;font-size:12px}.works__index b{font-weight:400}.about{padding-block:110px 125px}.about__grid{grid-template-columns:1fr 1fr;align-items:start;gap:10vw;display:grid}.about h2{letter-spacing:-.07em;margin:20px 0;font-size:clamp(38px,4vw,65px);line-height:1.35}.about__grid>div{padding-top:28px}.about__grid p{color:#56605a;margin:0 0 24px;font-size:17px;line-height:1.95}.about__grid .text-link{margin-top:12px;display:inline-block}.site-footer{letter-spacing:.1em;color:#8a928a;border-top:1px solid #dce0d9;justify-content:space-between;gap:20px;padding-block:26px 40px;font-size:10px;display:flex}.site-footer a{color:#202524}.detail{padding-block:48px 110px}.detail__back{border-bottom:1px solid #202524;padding-bottom:7px;font-size:12px;font-weight:700;display:inline-block}.detail__heading{margin:85px 0 55px}.detail__heading h1{letter-spacing:-.09em;margin:12px 0;font-size:clamp(66px,9vw,150px);line-height:1.08}.detail__heading>p:last-child{color:#59645b;margin:0;font-size:clamp(20px,2.3vw,32px)}.detail__hero{background:#e8e9e5;min-height:500px;max-height:720px;position:relative;overflow:hidden}.detail__hero>img{object-fit:cover;width:100%;height:min(64vw,720px);min-height:500px}.detail__image-note{color:#4f5852;background:#fff;padding:8px 12px;font-size:10px;position:absolute;bottom:20px;right:20px}.detail__concept{color:#e8eee6;background:#1b3340;flex-direction:column;justify-content:space-between;min-height:500px;padding:55px;display:flex}.detail__concept>span,.detail__concept small{letter-spacing:.12em;font-size:13px}.detail__concept strong{letter-spacing:-.09em;font-size:clamp(80px,11vw,170px)}.detail__body{grid-template-columns:minmax(220px,360px) 1fr;gap:clamp(70px,10vw,180px);padding-block:75px;display:grid}.detail__meta{border-top:1px solid #d5dbd3}.detail__meta div{border-bottom:1px solid #d5dbd3;gap:8px;padding:16px 0;display:grid}.detail__meta span,.detail__copy span{color:#7c877e;letter-spacing:.08em;font-size:11px}.detail__meta strong{font-size:14px;font-weight:600;line-height:1.55}.detail__copy div{max-width:660px;margin-bottom:50px}.detail__copy p{margin:13px 0;font-size:21px;line-height:1.9}.detail__status{background:#e9ece5;padding:25px}.detail__status p{font-size:16px}.detail__gallery{background:#e7eae7;justify-content:center;align-items:center;gap:30px;padding:50px;display:flex;overflow:hidden}.detail__gallery img{object-fit:contain;filter:drop-shadow(0 14px 22px #2632262e);width:min(29%,310px);max-height:580px}.detail__end{text-align:center;margin-top:65px}.not-found{min-height:70vh;padding-block:120px}@media(max-width:1000px){.shell{width:min(100% - 60px,1440px)}.hero{grid-template-columns:235px 1fr;gap:50px}.hero h1{font-size:clamp(49px,6vw,78px)}.hero__summary{font-size:16px}.tile-reveal__grid{width:min(80vw,730px)}.detail__body{gap:60px}}@media(max-width:720px){.shell{width:min(100% - 36px,1440px)}.site-header{gap:17px;height:68px}.site-header__descriptor{font-size:10px}.site-header__contact{font-size:11px}.hero{flex-direction:column;gap:32px;padding-block:30px 80px;display:flex}.profile-card{grid-template-columns:112px 1fr;align-self:stretch;column-gap:20px;padding:14px;display:grid}.profile-card__portrait{grid-row:1/3;height:125px}.profile-card__identity{padding:5px 0 10px}.profile-card__identity h2{font-size:25px}.profile-card__facts{margin:0}.profile-card__facts div{grid-template-columns:33px 1fr;gap:3px;padding:3px 0}.profile-card__facts dt,.profile-card__facts dd{font-size:10px}.profile-card__foot{grid-column:1/-1;margin-top:12px}.hero__intro{padding:0}.hero__hello{margin:30px 0 16px;font-size:14px}.hero__asterisk{font-size:40px}.hero h1{white-space:normal;font-size:clamp(40px,10vw,72px)}.hero__summary{margin:24px 0;font-size:15px;line-height:1.85}.hero__bottom{margin-top:44px;font-size:8px}.tile-reveal{height:210vh}.tile-reveal__sticky{min-height:500px}.tile-reveal__grid{gap:7px;width:90vw}.tile-reveal__copy{padding:0 20px}.tile-reveal__copy h2{font-size:34px}.tile-reveal__copy p:last-child{font-size:12px}.works{padding-block:85px}.section-heading{display:block}.section-heading>p{margin-top:20px}.skewed-carousel{height:500px}.skewed-carousel__stage{top:55px}.skewed-carousel__card{height:330px}.works__index button{grid-template-columns:30px 1fr 16px;gap:9px;padding:17px 2px}.works__index small{display:none}.about{padding-block:75px}.about__grid{display:block}.about__grid>div{padding-top:5px}.about__grid p{font-size:15px}.site-footer{font-size:9px}.site-footer span:nth-child(2){display:none}.detail{padding-top:30px}.detail__heading{margin:60px 0 30px}.detail__heading h1{font-size:clamp(52px,13vw,85px)}.detail__hero,.detail__hero>img,.detail__concept{min-height:330px}.detail__hero>img{height:390px}.detail__concept{padding:25px}.detail__concept strong{font-size:58px}.detail__body{padding-block:45px;display:block}.detail__copy{margin-top:45px}.detail__copy p{font-size:17px}.detail__gallery{gap:8px;padding:20px}.detail__gallery img{width:31%}}@media(max-width:400px){.site-header__descriptor{display:none}.hero h1{font-size:39px}.profile-card{grid-template-columns:100px 1fr;gap:12px}.profile-card__portrait{height:112px}.profile-card__facts dd{font-size:9px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.skewed-carousel__card,.button,.works__index button{transition:none!important}.tile-reveal{height:auto}.tile-reveal__sticky{padding-block:90px 150px;position:relative}.tile-reveal__grid{opacity:.32}.tile-reveal__copy{opacity:1!important;transform:translateY(-50%)!important}}.tile-reveal__copy{background:linear-gradient(#0000,#fffe 27%,#fffe 73%,#0000);padding:48px 20px}.hero{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:stretch;gap:clamp(64px,7.5vw,132px);min-height:calc(100svh - 86px);padding-block:38px 54px}.profile-card{align-self:center}.hero-dashboard{grid-template-rows:126px minmax(292px,1fr) 166px;gap:18px;min-width:0;min-height:635px;display:grid}.running-cat{border-bottom:1px solid #e1e4df;min-width:0;position:relative;overflow:hidden}.running-cat__meta{justify-content:space-between;align-items:center;gap:20px;display:flex}.running-cat__meta h2{margin:0}.running-cat__meta>span{letter-spacing:.11em;color:#8a928d;font-size:9px}.running-cat__track{position:absolute;top:23px;right:0;bottom:0;left:0;overflow:hidden}.running-cat__track:after{content:"";background:#cfd4ce;height:1px;position:absolute;bottom:15px;left:0;right:0}.running-cat__track:before{content:"";z-index:1;background:#fff;border:1px solid #4664b0;border-radius:50%;width:7px;height:7px;position:absolute;bottom:12px;right:0}.running-cat__traveller{z-index:2;will-change:left;width:112px;height:82px;animation:8.5s linear infinite catTravel;position:absolute;bottom:3px;left:0}.running-cat__button{pointer-events:auto;cursor:pointer;background:0 0;border:0;width:112px;height:82px;padding:0;transition:transform .16s;display:block}.running-cat__button:hover{transform:translateY(-4px)}.running-cat__button.is-jumping{animation:.56s cubic-bezier(.22,.8,.3,1) catJump}.running-cat__sprite{filter:drop-shadow(0 5px 3px #1b211f13);background:url(./cat-run-strip-BYRC82eR.png) 0 0/800% 100% no-repeat;width:112px;height:82px;animation:.72s linear infinite catFrames;display:block}@keyframes catTravel{0%{left:0}to{left:calc(100% - 112px)}}@keyframes catJump{0%,to{transform:translateY(0)rotate(0)}45%{transform:translateY(-25px)rotate(-4deg)}70%{transform:translateY(-6px)rotate(2deg)}}@keyframes catFrames{0%,12.49%{background-position:0 0}12.5%,24.99%{background-position:14.2857% 0}25%,37.49%{background-position:28.5714% 0}37.5%,49.99%{background-position:42.8571% 0}50%,62.49%{background-position:57.1428% 0}62.5%,74.99%{background-position:71.4285% 0}75%,87.49%{background-position:85.7142% 0}87.5%,to{background-position:100% 0}}.hero-skills{grid-template-columns:minmax(128px,175px) minmax(0,1fr);align-content:center;gap:clamp(28px,4vw,68px);min-width:0;display:grid}.hero-skills__heading{align-self:start;padding-top:7px}.hero-skills__heading p{margin:0 0 16px}.hero-skills__heading h1{letter-spacing:-.07em;white-space:nowrap;margin:0;font-size:clamp(30px,2.8vw,45px);line-height:1}.hero-skills__heading h1 span{color:#4664b0}.hero-skills ul{margin:0;padding:0;list-style:none}.hero-skills li{border-bottom:1px solid #e8eae6;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:8px 0;display:grid}.hero-skills li:first-child{padding-top:0}.hero-skills li>span{letter-spacing:.12em;color:#4664b0;padding-top:3px;font-size:9px}.hero-skills li p{color:#5e6762;margin:0;font-size:12.5px;line-height:1.62}.hero-skills strong{color:#232927;font-weight:700}.hero-projects{border-top:1px solid #e1e4df;grid-template-columns:175px minmax(0,1fr);gap:34px;min-width:0;padding-top:18px;display:grid;position:relative;overflow:hidden}.hero-projects__heading{z-index:7;position:relative}.hero-projects__heading p{margin:0}.hero-projects__heading h2{letter-spacing:-.06em;margin:10px 0 9px;font-size:25px;line-height:1.1}.hero-projects__heading h2 span{color:#4664b0}.hero-projects__heading>p:last-child{letter-spacing:.08em;color:#7d8580;font-size:10px}.hero-projects__stack{min-width:0;height:132px;position:relative}.hero-projects__card{--stack-index:0;pointer-events:none;width:min(72%,560px);height:126px;transform:translate(calc(var(--stack-index) * 76px)) translateY(calc(var(--stack-index) * 6px)) scale(calc(1 - var(--stack-index) * .035));transform-origin:0;isolation:isolate;background:#dfe5ea;transition:transform .75s cubic-bezier(.2,.75,.22,1),opacity .5s;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 12px 26px #1c28211c}.hero-projects__card:after{content:"";z-index:1;background:linear-gradient(90deg,#111918c7,#11191855 48%,#0000 78%);position:absolute;top:0;right:0;bottom:0;left:0}.hero-projects__concept{color:#e8eee7;letter-spacing:.13em;background:#1d3340;place-items:center;width:100%;height:100%;font-size:10px;display:grid}.hero-projects__card-copy{z-index:2;color:#fff;flex-direction:column;align-items:flex-start;padding:15px 18px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.hero-projects__card-copy span{letter-spacing:.15em;font-size:8px}.hero-projects__card-copy strong{letter-spacing:-.05em;margin-top:auto;font-size:22px;line-height:1}.hero-projects__card-copy small{letter-spacing:.06em;margin-top:5px;font-size:8px}.hero-projects__progress{z-index:8;gap:5px;width:175px;display:flex;position:absolute;bottom:3px;left:0}.hero-projects__progress span{background:#d6d9d4;flex:1;height:2px;display:block}.hero-projects__progress .is-active{background:#4664b0}@media(max-width:1000px){.hero{grid-template-columns:220px minmax(0,1fr);gap:38px}.hero-dashboard{grid-template-rows:122px minmax(320px,1fr) 164px}.hero-skills{grid-template-columns:116px minmax(0,1fr);gap:24px}.hero-skills li{padding-block:6px}.hero-skills li p{font-size:11.5px}.hero-projects{grid-template-columns:145px minmax(0,1fr);gap:22px}.hero-projects__progress{width:145px}.hero-projects__card{width:min(74%,480px);transform:translate(calc(var(--stack-index) * 54px)) translateY(calc(var(--stack-index) * 6px)) scale(calc(1 - var(--stack-index) * .035))}}@media(max-width:720px){.hero{gap:46px;min-height:auto;padding-block:30px 70px}.profile-card{padding:0}.hero-dashboard{grid-template-rows:128px auto 240px;gap:32px;min-height:0;display:grid}.running-cat__meta>span{font-size:8px}.hero-skills{display:block}.hero-skills__heading{justify-content:space-between;align-items:end;margin-bottom:24px;padding:0;display:flex}.hero-skills__heading p{margin:0}.hero-skills__heading h1{font-size:33px}.hero-skills li{grid-template-columns:25px minmax(0,1fr);gap:8px;padding-block:10px}.hero-skills li p{font-size:12px;line-height:1.65}.hero-projects{grid-template-rows:auto 150px;grid-template-columns:1fr;gap:14px;padding-top:20px}.hero-projects__heading{grid-template-columns:1fr auto;align-items:end;display:grid}.hero-projects__heading .eyebrow{grid-column:1/-1}.hero-projects__heading h2{margin-bottom:0}.hero-projects__heading>p:last-child{padding-bottom:2px}.hero-projects__stack{height:150px}.hero-projects__card{width:calc(100% - 72px);height:138px;transform:translate(calc(var(--stack-index) * 34px)) translateY(calc(var(--stack-index) * 5px)) scale(calc(1 - var(--stack-index) * .025))}.hero-projects__progress{width:100px;bottom:2px;left:auto;right:0}}@media(max-width:400px){.hero-dashboard{grid-template-rows:125px auto 226px}.running-cat__traveller{width:96px}.running-cat__button,.running-cat__sprite{width:96px;height:74px}@keyframes catTravel{0%{left:0}to{left:calc(100% - 96px)}}.hero-projects__card{width:calc(100% - 54px);transform:translate(calc(var(--stack-index) * 25px)) translateY(calc(var(--stack-index) * 5px)) scale(calc(1 - var(--stack-index) * .02))}}@media(prefers-reduced-motion:reduce){.running-cat__traveller{animation:none;left:calc(50% - 56px)}.running-cat__sprite{animation:none}.running-cat__button,.hero-projects__card{transition:none}.running-cat__button.is-jumping{animation:none}}.hero-projects{grid-template-columns:160px minmax(0,1fr);gap:30px;min-height:0;padding-top:18px}.hero-projects__heading>p:last-child{letter-spacing:.06em;color:#858d88;max-width:110px;font-size:9px;line-height:1.5}.hero-projects__marquee{align-self:start;min-width:0;height:190px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 4% 94%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 4%,#000 94%,#0000)}.hero-projects__track{will-change:transform;width:max-content;animation:26s linear infinite heroProjectMarquee;display:flex}.hero-projects__group{flex:none;gap:14px;padding-right:14px;display:flex}.hero-projects__card{transform-origin:50%;background:#dde2e4;flex:0 0 126px;width:126px;height:178px;transition:none;position:relative;top:auto;left:auto;box-shadow:0 10px 22px #2231281a;opacity:1!important;visibility:visible!important;transform:none!important}.hero-projects__card:after{background:linear-gradient(#0000 43%,#111817d9)}.hero-projects__card img{object-fit:cover;width:100%;height:100%}.hero-projects__concept{text-align:center;background:#1d3340;line-height:1.7}.hero-projects__card-copy{justify-content:flex-end;padding:13px 12px}.hero-projects__card-copy strong{max-width:100%;margin-top:0;font-size:16px;line-height:1.08}.hero-projects__card-copy small{letter-spacing:.03em;max-width:100%;margin-top:6px;font-size:7px;line-height:1.35}.hero-projects__progress{display:none}@keyframes heroProjectMarquee{to{transform:translate(-50%)}}@media(max-width:1000px){.hero-dashboard{grid-template-rows:122px minmax(320px,1fr) 216px}.hero-projects{grid-template-columns:132px minmax(0,1fr);gap:18px}.hero-projects__card{flex-basis:116px;width:116px;height:166px}.hero-projects__marquee{height:178px}}@media(max-width:720px){.hero-dashboard{grid-template-rows:128px auto 250px}.hero-projects{grid-template-rows:auto 184px;grid-template-columns:1fr;gap:14px}.hero-projects__heading{grid-template-columns:1fr auto;align-items:end;display:grid}.hero-projects__heading>p:last-child{text-align:right;max-width:none}.hero-projects__marquee{height:184px;margin-inline:-18px;padding-left:18px}.hero-projects__card{flex-basis:122px;width:122px;height:174px}}@media(max-width:400px){.hero-dashboard{grid-template-rows:125px auto 244px}.hero-projects__card{flex-basis:116px;width:116px;height:166px}.hero-projects__marquee{height:176px}}@media(prefers-reduced-motion:reduce){.hero-projects__track{animation:none}.hero-projects__group:nth-child(2){display:none}}.hero-dashboard{grid-template-rows:190px minmax(292px,1fr) 220px}.running-cat__track{background:#fff;top:24px;right:0;bottom:0;left:0}.running-cat__track:before,.running-cat__track:after{display:none}.running-cat__video{object-fit:cover;object-position:center 52%;background:#fff;width:100%;height:100%;display:block}.running-cat__traveller,.running-cat__button,.running-cat__sprite{display:none}@media(max-width:1000px){.hero-dashboard{grid-template-rows:176px minmax(320px,1fr) 216px}}@media(max-width:720px){.hero-dashboard{grid-template-rows:176px auto 250px}.running-cat__video{object-position:center}}@media(max-width:400px){.hero-dashboard{grid-template-rows:164px auto 244px}}@media(prefers-reduced-motion:reduce){.running-cat__video{display:none}.running-cat__track{background:#f2f3f1 url(./cat-run-strip-BYRC82eR.png) 50%/auto 84px no-repeat}}.running-cat__video{object-fit:cover;object-position:center 52%;width:min(100%,720px);margin-inline:auto}@media(max-width:720px){.running-cat__video{width:100%}}.hero-dashboard{grid-template-rows:minmax(330px,1fr) 220px;align-content:center}@media(max-width:1000px){.hero-dashboard{grid-template-rows:minmax(350px,1fr) 216px}}@media(max-width:720px){.hero-dashboard{grid-template-rows:auto 250px;align-content:start}}@media(max-width:400px){.hero-dashboard{grid-template-rows:auto 244px}}.profile-card__video{object-fit:contain;object-position:center;background:#fff;width:100%;height:100%;display:block}@media(prefers-reduced-motion:reduce){.profile-card__video{animation:none}}.workspace-cat{background:#fff;min-width:0;min-height:330px;position:relative;overflow:hidden}.workspace-cat__sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.workspace-cat__stage{place-items:center;display:grid;position:absolute;top:0;right:0;bottom:34px;left:0;overflow:hidden}.workspace-cat__svg{cursor:pointer;outline:none;width:100%;height:100%;max-height:400px;display:block}.workspace-cat__svg:focus-visible{outline-offset:-4px;outline:2px solid #4664b0}.workspace-cat__controls{color:#777f7a;letter-spacing:.03em;align-items:center;gap:20px;font-size:10px;display:flex;position:absolute;bottom:0;right:0}.workspace-cat__controls button{color:#202524;cursor:pointer;background:0 0;border:0;padding:5px 2px;font-size:11px}.workspace-cat__controls button:last-child{min-width:24px;font-family:Georgia,serif;font-size:20px;line-height:1}.workspace-cat__controls button:hover{color:#4664b0}@media(max-width:720px){.workspace-cat{height:250px;min-height:250px}.workspace-cat__stage{bottom:42px}.workspace-cat__controls{justify-content:flex-end;gap:12px;font-size:9px;left:0;right:0}.workspace-cat__controls span{max-width:120px;margin-right:auto;line-height:1.3}}@media(prefers-reduced-motion:reduce){.workspace-cat__pen{display:none}}.hero{min-height:calc(100svh - 86px);padding-block:20px 38px;display:block}.hero-dashboard{grid-template-rows:minmax(280px,1fr);height:calc(100svh - 144px);min-height:0}.workspace-cat{min-height:0}.profile-screen .hero-projects{border:0;margin-top:50px;padding:0;display:block}.profile-screen .hero-projects__marquee{margin-inline:0;padding-left:0;-webkit-mask-image:linear-gradient(90deg,#000 0 94%,#0000 100%);mask-image:linear-gradient(90deg,#000 0,#000 94%,#0000)}.hero-projects__marquee{height:205px}.hero-projects__card{flex-basis:148px;width:148px;height:200px}.hero-projects__group{gap:18px;padding-right:18px}.profile-screen{grid-template-columns:minmax(260px,390px) minmax(0,1fr);align-items:center;gap:clamp(70px,10vw,180px);min-height:calc(100svh - 86px);padding-block:28px 80px;display:grid}.profile-screen .profile-card{width:100%;max-width:390px}.profile-screen .profile-card__portrait{height:310px}.profile-screen .profile-card__identity{padding-top:29px;padding-bottom:14px}.profile-screen .profile-card__identity h2{font-size:35px}.profile-screen .profile-card__identity h2 span{font-size:18px}.profile-screen .profile-card__identity .eyebrow{font-size:13px}.profile-screen .profile-card__facts{margin-top:10px;margin-bottom:29px}.profile-screen .profile-card__facts div{grid-template-columns:50px minmax(0,1fr);gap:10px;padding-block:8px}.profile-screen .profile-card__facts dt,.profile-screen .profile-card__facts dd{font-size:14px}.profile-screen .profile-card__foot{font-size:10px}.profile-screen .profile-card__identity,.profile-screen .profile-card__facts{margin-left:22%}.profile-screen .profile-card__foot{margin-left:22%;display:block}.profile-screen__skills{align-self:start;width:100%;min-width:0}.profile-screen__heading{margin-bottom:24px}.profile-screen__heading .eyebrow{margin:0 0 12px}.profile-screen__heading h2{letter-spacing:-.07em;margin:0;font-size:clamp(38px,4vw,58px);line-height:1.15}.profile-screen__heading h2 span{color:#4664b0}.profile-screen__list{margin:0;padding:0;list-style:none}.profile-screen__list li{border-bottom:1px solid #e1e4df;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:23px;padding:19px 0;display:grid}.profile-screen__list li:first-child{border-top:1px solid #e1e4df}.profile-screen__list li>span{letter-spacing:.1em;color:#4664b0;font-size:13px;line-height:1.9}.profile-screen__list p{color:#5e6762;margin:0;font-size:17px;line-height:1.8}.profile-screen__list strong{color:#202524;font-weight:700}.tech-explorer{outline:none;min-width:0;position:relative}.tech-explorer__toggle{color:#343a37;font:inherit;letter-spacing:.06em;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #989f9a;margin:0 0 12px auto;padding:0 0 5px;font-size:10px;display:none}.tech-explorer__stage{min-width:0;min-height:560px;display:grid;overflow:hidden}.tech-orbit,.tech-explorer__details{grid-area:1/1;min-width:0;transition:opacity .38s,transform .48s cubic-bezier(.16,1,.3,1),visibility 0s linear .38s}.tech-orbit{opacity:1;visibility:visible;min-height:560px;position:relative;overflow:hidden;transform:scale(1)}.tech-explorer__details{opacity:0;visibility:hidden;pointer-events:none;align-self:center;margin-top:60px;transform:translateY(18px)}.tech-explorer__title{letter-spacing:-.06em;color:#202524;margin:0 0 24px;font-size:35px;line-height:1.1}.tech-explorer.is-open .tech-orbit{opacity:0;visibility:hidden;transform:scale(.96)}.tech-explorer.is-open .tech-explorer__details{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.tech-orbit__core{z-index:4;text-align:center;color:#202524;background:#fff;border:1px solid #cfd4cf;border-radius:50%;place-content:center;width:72px;height:72px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #22312810}.tech-orbit__core strong{letter-spacing:.04em;white-space:nowrap;font-size:15px;line-height:1}.tech-orbit__core span{letter-spacing:.18em;color:#4664b0;margin-top:4px;font-size:8px}.tech-orbit__ring{--duration:24s;--radius:90px;z-index:2;width:calc(var(--radius)*2);height:calc(var(--radius)*2);animation:techOrbitSpin var(--duration) linear infinite;border:1px solid #dfe3df;border-radius:50%;position:absolute;top:50%;left:50%}.tech-orbit__ring--1{--radius:92px;--duration:18s}.tech-orbit__ring--2{--radius:158px;--duration:27s}.tech-orbit__ring--3{--radius:245px;--duration:36s}.tech-orbit__ring.is-reverse{animation-name:techOrbitCounterSpin}.tech-orbit__item{width:0;height:0;transform:rotate(var(--angle)) translate(var(--radius)) rotate(calc(-1 * var(--angle)));position:absolute;top:50%;left:50%}.tech-orbit__face{color:#202524;width:44px;height:44px;animation:techFaceCounterSpin var(--duration) linear infinite;background:#fff;border:1px solid #d5dad5;border-radius:50%;place-items:center;display:grid;position:absolute;top:-22px;left:-22px;box-shadow:0 6px 18px #26352c14}.tech-orbit__ring.is-reverse .tech-orbit__face{animation-name:techFaceSpin}.tech-orbit__face svg,.tech-orbit__face img{object-fit:contain;width:21px;height:21px;display:block}.tech-orbit__face img.is-monochrome{filter:none}.tech-orbit__label{white-space:nowrap;color:#fff;letter-spacing:.04em;opacity:0;visibility:hidden;background:#202524;padding:3px 5px;font-size:8px;line-height:1;transition:opacity .2s,transform .2s,visibility 0s linear .2s;position:absolute;top:47px;left:50%;transform:translate(-50%)translateY(-3px)}.tech-orbit__face:hover{z-index:8;border-color:#4664b0}.tech-orbit__face:hover .tech-orbit__label{opacity:1;visibility:visible;transition-delay:0s;transform:translate(-50%)translateY(0)}@keyframes techOrbitSpin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes techOrbitCounterSpin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(-360deg)}}@keyframes techFaceCounterSpin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes techFaceSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(hover:hover)and (pointer:fine){.tech-explorer:hover .tech-orbit,.tech-explorer:focus .tech-orbit{opacity:0;visibility:hidden;transform:scale(.96)}.tech-explorer:hover .tech-explorer__details,.tech-explorer:focus .tech-explorer__details{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}}@media(max-width:1000px){.hero-projects__card{flex-basis:138px;width:138px;height:190px}.profile-screen{grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:50px}.profile-screen__list p{font-size:14px}.tech-explorer__stage,.tech-orbit{min-height:500px}.tech-orbit__ring--1{--radius:82px}.tech-orbit__ring--2{--radius:140px}.tech-orbit__ring--3{--radius:215px}}@media(max-width:720px){.hero{align-items:center;min-height:calc(100svh - 68px);padding-block:18px 46px;display:grid}.hero-dashboard{grid-template-rows:250px;height:auto;min-height:0}.profile-screen .hero-projects{margin-top:48px}.hero-projects__marquee{height:184px}.hero-projects__card{flex-basis:122px;width:122px;height:174px}.profile-screen{min-height:calc(100svh - 68px);padding-block:55px 80px;display:block}.profile-screen .profile-card{grid-template-columns:120px minmax(0,1fr);column-gap:20px;max-width:none;padding:0}.profile-screen .profile-card__portrait{height:150px}.profile-screen .profile-card__identity,.profile-screen .profile-card__facts,.profile-screen .profile-card__foot{margin-left:0}.profile-screen__skills{margin-top:70px}.profile-screen__heading{margin-bottom:24px}.profile-screen__heading h2{font-size:38px}.tech-explorer__toggle{display:block}.tech-explorer__stage,.tech-orbit{min-height:470px}.tech-orbit__ring--1{--radius:78px}.tech-orbit__ring--2{--radius:132px}.tech-orbit__ring--3{--radius:195px}.profile-screen__list li{gap:12px;padding:14px 0}.profile-screen__list p{font-size:13px;line-height:1.75}}@media(prefers-reduced-motion:reduce){.tech-orbit__ring,.tech-orbit__face{animation:none}.tech-orbit,.tech-explorer__details{transition:none}}@media(max-width:400px){.profile-screen .profile-card{grid-template-columns:100px minmax(0,1fr);gap:12px}.profile-screen .profile-card__portrait{height:130px}.tech-explorer__stage,.tech-orbit{min-height:380px}.tech-orbit__ring--1{--radius:62px}.tech-orbit__ring--2{--radius:105px}.tech-orbit__ring--3{--radius:150px}}.tech-logo-explorer .tech-explorer__stage{min-height:330px}.tech-logo-showcase{opacity:1;visibility:visible;grid-area:1/1;align-content:center;gap:40px;min-width:0;min-height:330px;transition:opacity .38s,transform .48s cubic-bezier(.16,1,.3,1),visibility 0s linear .38s;display:grid;overflow:hidden;transform:translateY(0)}.tech-logo-loop{--logoloop-fadeColorAuto:#fff;width:100%}.tech-logo-loop__icon{width:calc(var(--logoloop-logoHeight)*1.28);height:calc(var(--logoloop-logoHeight)*1.28);background:#fff;border:1px solid #d9ddd8;border-radius:50%;place-items:center;display:grid;box-shadow:0 7px 22px #26352c12}.tech-logo-loop__icon svg{width:56%;height:56%}.tech-logo-loop__icon img{object-fit:contain;width:52%;height:52%}.tech-logo-loop__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}.tech-logo-explorer.is-open .tech-logo-showcase{opacity:0;visibility:hidden;transform:translateY(-12px)}.tech-logo-explorer.is-open .tech-explorer__details{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}@media(hover:hover)and (pointer:fine){.tech-logo-explorer:hover .tech-logo-showcase,.tech-logo-explorer:focus .tech-logo-showcase{opacity:0;visibility:hidden;transform:translateY(-12px)}.tech-logo-explorer:hover .tech-explorer__details,.tech-logo-explorer:focus .tech-explorer__details{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}}@media(max-width:720px){.tech-logo-explorer .tech-explorer__stage,.tech-logo-showcase{min-height:300px}.tech-logo-showcase{gap:34px}.tech-logo-loop__icon{width:calc(var(--logoloop-logoHeight)*1.12);height:calc(var(--logoloop-logoHeight)*1.12)}}@media(prefers-reduced-motion:reduce){.tech-logo-showcase{transition:none}}.hero{position:relative}.hero-welcome{z-index:1;text-align:center;pointer-events:none;position:absolute;inset:clamp(32px,7svh,76px) 0 auto}.hero .hero-welcome h1{letter-spacing:-.045em;white-space:normal;text-wrap:balance;color:inherit;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,5.3vw,88px);font-weight:400;line-height:1.12}.hero-welcome p{letter-spacing:.04em;color:#66645f;text-wrap:balance;margin:16px 0 0;font-family:STSong,华文宋体,SimSun,serif;font-size:clamp(17px,1.5vw,25px);font-weight:400;line-height:1.7}html[data-theme=dark] .hero-welcome p{color:#c7c4ba}.hero-welcome__ending{white-space:nowrap;align-items:baseline;display:inline-flex}.hero-welcome__rotating{vertical-align:middle;color:#171717;letter-spacing:.04em;background:#67e8f9;border-radius:6px;justify-content:center;margin-left:5px;padding:1px 8px;line-height:1.5;display:inline-flex}.hero-welcome__word{padding-bottom:2px;overflow:hidden}.hero .workspace-cat__svg{transform:translateY(clamp(60px,13svh,134px))}@media(max-width:720px){.hero .workspace-cat__svg{transform:translateY(35px)}.hero-welcome{padding:20px 0 30px;position:relative;inset:auto}.hero .hero-welcome h1{max-width:480px;margin-inline:auto;font-size:clamp(42px,9vw,64px)}.hero-welcome p{letter-spacing:.04em;max-width:310px;margin:14px auto 0;font-size:18px}}@media(max-height:650px)and (min-width:721px){.hero-welcome{inset:12px 0 auto}.hero .hero-welcome h1{font-size:48px}.hero-welcome p{margin-top:8px;font-size:18px}.hero .workspace-cat__stage{top:120px}}@media(max-width:720px){.hero{display:block}.hero-dashboard{grid-template-columns:minmax(0,1fr)}}@media(min-width:1001px){.tech-orbit__core,.tech-orbit__ring{left:calc(50% - 120px)}}@media(max-width:720px){.tech-explorer__details{margin-top:0}}.site-header__descriptor{margin-left:auto}.site-header>.wordmark{flex-shrink:0}@media(max-width:400px){.site-header>.wordmark{margin-left:auto}}.site-nav{flex-shrink:0;align-items:center;gap:14px;display:flex}.site-nav__link{color:#555c55;background:0 0;border:1px solid #e0e4dd;border-radius:8px;place-items:center;width:44px;height:44px;transition:background .2s,color .2s,border-color .2s;display:grid;position:relative}.site-nav__link svg{width:22px;height:22px}.site-nav__link:hover{color:#202524;border-color:#202524}.site-nav__link.is-active{color:#fff;background:#202524;border-color:#202524}.site-nav__tooltip{z-index:20;white-space:nowrap;color:#fff;opacity:0;visibility:hidden;pointer-events:none;background:#202524;border-radius:4px;padding:5px 8px;font-size:11px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.site-nav__link:hover .site-nav__tooltip,.site-nav__link:focus-visible .site-nav__tooltip{opacity:1;visibility:visible}html[data-theme=dark] .site-nav__link{color:#d5dbd5;border-color:#48504c}html[data-theme=dark] .site-nav__link:hover{border-color:#e6ebe6}html[data-theme=dark] .site-nav__link.is-active{color:#202524;background:#e6ebe6;border-color:#e6ebe6}@media(max-width:900px){.site-header{gap:24px}.site-header__descriptor{font-size:10px}}@media(max-width:720px){.site-nav{gap:8px}.site-nav__link{width:36px;height:36px}.site-nav__link svg{width:19px;height:19px}.site-header__descriptor{display:none}.site-header>.wordmark{margin-left:auto}}@media(prefers-reduced-motion:reduce){.site-nav__link{transition:none}}.about{min-height:calc(100svh - 100px)}@media(max-width:720px){.about{min-height:calc(100svh - 82px)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--sketch-ink: #171717;--sketch-paper: #ffffff}.workspace-cat__draw,.workspace-cat__pose,.workspace-cat__whiskers,.workspace-cat__pen{stroke:var(--sketch-ink)}.workspace-cat__face-ink{stroke:#171717}.workspace-cat__tail>path:first-child{stroke:var(--sketch-ink)}.workspace-cat__pen{fill:var(--sketch-paper)}.workspace-cat__lamp-line{stroke:#d69b16}.workspace-cat__lamp-beam{opacity:0;pointer-events:none;transition:opacity .32s ease}.workspace-cat__svg:not([data-lamp-ready=true]) .workspace-cat__lamp-beam{transition:none}.workspace-cat__lamp-control{cursor:pointer;outline:none}.workspace-cat__lamp-hit{pointer-events:all}.workspace-cat__svg:has(.workspace-cat__lamp-control:focus-visible) .workspace-cat__lamp-line{stroke:#e8ad25;filter:drop-shadow(0 0 5px #e9ad6266)}.workspace-cat__svg:has(.workspace-cat__lamp-control:hover) .workspace-cat__lamp-line{stroke:#c98f0c}body,#root,.workspace-cat,.tile-reveal,.tile-reveal__sticky,.works{transition:background-color .32s ease,color .32s ease}html[data-theme=dark]{color-scheme:dark;color:#eef2ee;background:#101715;--sketch-ink: #dce5dd;--sketch-paper: #101715}html[data-theme=dark] body,html[data-theme=dark] #root,html[data-theme=dark] .workspace-cat,html[data-theme=dark] .tile-reveal,html[data-theme=dark] .tile-reveal__sticky,html[data-theme=dark] .works{color:#eef2ee;background:#101715}html[data-theme=dark] ::selection{color:#101715;background:#a9bfff}html[data-theme=dark] .eyebrow,html[data-theme=dark] .profile-card__identity h2 span,html[data-theme=dark] .hero-projects__heading h2 span,html[data-theme=dark] .wordmark span,html[data-theme=dark] .section-heading h2 span,html[data-theme=dark] .about h2 span,html[data-theme=dark] .detail__heading h1 span{color:#a9bfff}html[data-theme=dark] .site-header,html[data-theme=dark] .hero-projects,html[data-theme=dark] .about,html[data-theme=dark] .site-footer,html[data-theme=dark] .works__index,html[data-theme=dark] .works__index button,html[data-theme=dark] .detail__meta,html[data-theme=dark] .detail__meta div{border-color:#344039}html[data-theme=dark] .site-header__contact,html[data-theme=dark] .detail__back,html[data-theme=dark] .text-link{border-color:#8f9b92}html[data-theme=dark] .site-header__descriptor,html[data-theme=dark] .profile-card__facts dt,html[data-theme=dark] .profile-card__foot,html[data-theme=dark] .hero-projects__heading>p:last-child,html[data-theme=dark] .section-heading>p,html[data-theme=dark] .tile-reveal__eyebrow,html[data-theme=dark] .tile-reveal__copy p:last-child,html[data-theme=dark] .works__index span,html[data-theme=dark] .works__index small,html[data-theme=dark] .about__grid p,html[data-theme=dark] .site-footer,html[data-theme=dark] .detail__heading>p:last-child,html[data-theme=dark] .detail__meta span,html[data-theme=dark] .detail__copy span,html[data-theme=dark] .workspace-cat__controls{color:#aab6ae}html[data-theme=dark] .site-footer a,html[data-theme=dark] .workspace-cat__controls button,html[data-theme=dark] .skewed-carousel__controls strong,html[data-theme=dark] .works__index button{color:#eef2ee}html[data-theme=dark] .workspace-cat__svg[data-lamp-ready=true] .workspace-cat__lamp-beam{opacity:.14}html[data-theme=dark] .workspace-cat__lamp-line{stroke:#f3c74e;filter:drop-shadow(0 0 5px #e9ad6266)}html[data-theme=dark] .workspace-cat__svg:has(.workspace-cat__lamp-control:hover) .workspace-cat__lamp-line{stroke:#ffe079}html[data-theme=dark] .tile-reveal__tile,html[data-theme=dark] .detail__hero,html[data-theme=dark] .detail__status,html[data-theme=dark] .detail__gallery{background:#1b2521}html[data-theme=dark] .tile-reveal__copy{background:linear-gradient(transparent,#101715ef 27%,#101715ef 73%,transparent)}html[data-theme=dark] .skewed-carousel__controls button{color:#eef2ee;background:#1a2520;border-color:#4a5a50}html[data-theme=dark] .skewed-carousel__controls button:hover{color:#101715;background:#d9e6dd}html[data-theme=dark] .skewed-carousel__controls span,html[data-theme=dark] .detail__image-note{color:#b8c4ba}html[data-theme=dark] .skewed-carousel__dots button,html[data-theme=dark] .hero-projects__progress span{background:#4b5a50}html[data-theme=dark] .skewed-carousel__dots button[aria-current],html[data-theme=dark] .hero-projects__progress .is-active{background:#a9bfff}html[data-theme=dark] .detail__image-note,html[data-theme=dark] .skip-link{background:#233029}html[data-theme=dark] .button--dark{color:#102019;background:#dce8df}html[data-theme=dark] .button--dark:hover{color:#102019;background:#a9bfff}html[data-theme=dark] .profile-card__video{background:transparent}html[data-theme=dark] .profile-screen,html[data-theme=dark] .profile-screen__list li{border-color:#344039}html[data-theme=dark] .profile-screen__heading h2 span,html[data-theme=dark] .profile-screen__list li>span{color:#a9bfff}html[data-theme=dark] .profile-screen__list p{color:#aab6ae}html[data-theme=dark] .tech-explorer__stage,html[data-theme=dark] .tech-orbit__ring,html[data-theme=dark] .tech-orbit__face,html[data-theme=dark] .tech-orbit__core{border-color:#344039}html[data-theme=dark] .tech-orbit__face,html[data-theme=dark] .tech-orbit__core{color:#eef2ee;background:#101715;box-shadow:0 8px 24px #00000024}html[data-theme=dark] .tech-orbit__face img.is-monochrome{filter:invert(1)}html[data-theme=dark] .tech-explorer__toggle{color:#aab6ae}html[data-theme=dark] .tech-explorer__toggle{border-color:#8f9b92}html[data-theme=dark] .profile-screen__list strong,html[data-theme=dark] .tech-explorer__title{color:#eef2ee}html[data-theme=dark] .tech-logo-loop{--logoloop-fadeColorAuto: #101715}html[data-theme=dark] .tech-logo-loop__icon{border-color:#344039;background:#101715;box-shadow:0 8px 24px #00000024}html[data-theme=dark] .tech-logo-loop__icon--monochrome img{filter:invert(1)}@media(prefers-reduced-motion:reduce){body,#root,.workspace-cat,.tile-reveal,.tile-reveal__sticky,.works,.workspace-cat__lamp-beam{transition:none}}
