:root{--black:#0a0a09;--white:#f0efe9;--muted:rgba(240,239,233,.58);--line:rgba(240,239,233,.22);--accent:#d7ff42;--font:"Avenir Next","Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;--nav-h:72px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;background:var(--black);color:var(--white);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased}button,a{font:inherit;color:inherit}a{text-decoration:none}button{border:0;background:none;padding:0;cursor:pointer}img{display:block;width:100%}.site-nav{position:fixed;inset:0 0 auto;z-index:100;height:var(--nav-h);padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:border-color .35s,background .35s}.site-nav.scrolled{background:rgba(10,10,9,.86);border-color:var(--line)}.wordmark{font-size:13px;font-weight:600;letter-spacing:.08em}.nav-right{display:flex;align-items:center;gap:30px}.nav-link,.lang button{font-size:11px;letter-spacing:.08em}.lang{display:flex;gap:7px;align-items:center;color:var(--muted)}.lang button.active{color:var(--white)}.lang i{font-style:normal;color:rgba(255,255,255,.28)}.stage-track{height:520vh;position:relative}.stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#111}.backdrop{position:absolute;inset:0}.backdrop-item{position:absolute;inset:-3%;opacity:0;transition:opacity .7s ease}.backdrop-item.active{opacity:1}.backdrop-item img{height:100%;object-fit:cover;filter:saturate(.78) contrast(1.04);transform:scale(1.025)}.backdrop-item::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,6,5,.73),rgba(6,6,5,.12) 55%,rgba(6,6,5,.56)),linear-gradient(0deg,rgba(6,6,5,.65),transparent 45%)}.stage-grain{position:absolute;inset:0;opacity:.06;pointer-events:none;background:repeating-radial-gradient(circle at 30% 20%,rgba(255,255,255,.14) 0 1px,transparent 1px 4px)}.hero-copy{position:absolute;left:5vw;bottom:8vh;max-width:920px;transition:opacity .45s,transform .55s}.hero-copy.hidden{opacity:0;transform:translateY(-24px);pointer-events:none}.kicker{margin:0 0 28px;font-size:11px;font-weight:500;letter-spacing:.17em}.hero-copy h1{font-size:clamp(64px,10.5vw,162px);font-weight:500;line-height:.82;letter-spacing:-.065em;margin:0}.hero-copy h1 span{display:block;font-size:.22em;line-height:1.4;letter-spacing:.015em;margin-top:28px;font-weight:500}.hero-copy>p:last-child{max-width:470px;font-size:15px;line-height:1.7;margin:18px 0 0;color:rgba(255,255,255,.72)}.scroll-cue{position:absolute;right:34px;bottom:32px;font-size:10px;letter-spacing:.14em;color:var(--muted);writing-mode:vertical-rl}.project-float{position:absolute;inset:0;display:flex;align-items:center;padding:0 7vw;opacity:0;pointer-events:none;transform:translateY(26px);transition:opacity .55s,transform .65s}.project-float.active{opacity:1;pointer-events:auto;transform:none}.project-float:nth-of-type(even){justify-content:flex-end;text-align:right}.project-count{font-size:10px;letter-spacing:.18em;color:var(--muted);margin-bottom:18px}.project-float h2{font-size:clamp(52px,8vw,126px);line-height:.87;letter-spacing:-.06em;font-weight:500;margin:0;max-width:850px}.project-float p{margin:23px 0 0;font-size:12px;letter-spacing:.08em;color:var(--muted)}.project-float .view{display:inline-block;margin-top:36px;font-size:11px;letter-spacing:.12em;padding-bottom:6px;border-bottom:1px solid var(--white);opacity:0;transform:translateY(6px);transition:.25s}.project-float a:hover .view,.project-float a:focus-visible .view{opacity:1;transform:none}.stage-progress{position:absolute;left:34px;right:34px;bottom:28px;height:1px;background:rgba(255,255,255,.22)}.stage-progress span{display:block;height:100%;background:var(--white);transform-origin:left;transform:scaleX(0)}.about{min-height:100vh;background:var(--white);color:var(--black);padding:15vh 5vw 7vh;display:grid;grid-template-columns:1.15fr .85fr;gap:12vw}.section-label{font-size:10px;letter-spacing:.16em;margin:0 0 8vh}.about h2{font-size:clamp(48px,7vw,102px);line-height:.91;letter-spacing:-.06em;font-weight:500;margin:0}.about-copy{align-self:end}.about-copy>p{font-size:18px;line-height:1.7;max-width:580px}.timeline{margin-top:10vh}.timeline div{display:grid;grid-template-columns:150px 1fr;gap:20px;border-top:1px solid rgba(0,0,0,.28);padding:18px 0 28px}.timeline time,.timeline p{font-size:11px;line-height:1.6;margin:0}.timeline h3{font-size:16px;font-weight:500;margin:0}.footer{padding:14vh 5vw 30px}.footer h2{font-size:clamp(52px,8vw,120px);font-weight:500;line-height:.92;letter-spacing:-.06em;margin:0 0 12vh}.footer-line{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;font-size:10px;letter-spacing:.1em}.category{min-height:100vh;padding:calc(var(--nav-h) + 8vh) 4vw 8vh}.category-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:9vh}.back{font-size:11px;letter-spacing:.1em}.category-number{font-size:10px;color:var(--muted);letter-spacing:.18em}.category h1{font-size:clamp(58px,9vw,140px);line-height:.85;letter-spacing:-.065em;font-weight:500;margin:0}.entry-list{display:grid;gap:14vh}.entry{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1.2fr);gap:5vw;align-items:center;border-top:1px solid var(--line);padding-top:20px}.entry:nth-child(even){grid-template-columns:minmax(280px,1.2fr) minmax(260px,1fr)}.entry:nth-child(even) .entry-media{order:2}.entry-meta{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:8px 0}.entry-index{font-size:10px;color:var(--muted);letter-spacing:.16em}.entry h2{font-size:clamp(38px,5vw,75px);font-weight:500;line-height:.95;letter-spacing:-.045em;margin:12vh 0 18px}.entry-open{font-size:11px;letter-spacing:.1em;color:var(--muted)}.entry-media{overflow:hidden;background:#1b1b19;aspect-ratio:16/10}.entry-media img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}.entry:hover img{transform:scale(1.025);filter:brightness(1.05)}.ai-equation{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;gap:12px 16px;align-items:center;aspect-ratio:16/10;padding:22px;background:#e7e4dc}.ai-input{height:100%;min-height:0;border-radius:22px;overflow:hidden;background:#bbb}.ai-input img{height:100%;object-fit:cover}.symbol{font-size:30px;color:#111;font-weight:300}.ai-result{grid-column:1/4;height:48%;border-radius:22px;overflow:hidden}.ai-result img{height:100%;object-fit:cover}.project-page{min-height:100vh;padding-top:var(--nav-h)}.project-cover{min-height:calc(100vh - var(--nav-h));position:relative;display:flex;align-items:end;padding:5vw;overflow:hidden}.project-cover>img{position:absolute;inset:0;height:100%;object-fit:cover}.project-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 58%)}.project-cover-copy{position:relative;z-index:2}.project-cover h1{font-size:clamp(55px,8vw,125px);line-height:.88;letter-spacing:-.06em;font-weight:500;margin:20px 0 0}.project-gallery{padding:8vh 4vw 15vh}.project-gallery .ai-equation{max-width:1150px;margin:auto;aspect-ratio:16/12}.placeholder-note{text-align:center;color:var(--muted);font-size:11px;letter-spacing:.12em;margin:7vh 0}.work-index{position:fixed;inset:0;z-index:200;background:var(--white);color:var(--black);padding:28px 34px;opacity:0;visibility:hidden;transition:.35s}.work-index.open{opacity:1;visibility:visible}.index-top{display:flex;justify-content:space-between}.index-top button{font-size:11px;letter-spacing:.1em}.index-links{margin-top:13vh}.index-links a{display:flex;justify-content:space-between;align-items:end;border-top:1px solid rgba(0,0,0,.25);padding:18px 0 30px}.index-links span{font-size:10px;letter-spacing:.16em}.index-links strong{font-size:clamp(45px,7vw,105px);font-weight:500;letter-spacing:-.055em}.index-links i{font-style:normal;font-size:11px}.not-found{min-height:100vh;display:grid;place-items:center}.not-found a{border-bottom:1px solid}.fade-enter{animation:fadeIn .5s ease both}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@media(max-width:760px){:root{--nav-h:62px}.site-nav{padding:0 18px}.nav-right{gap:18px}.nav-link.about-link{display:none}.stage-track{height:430vh}.hero-copy{left:20px;right:20px;bottom:12vh}.hero-copy h1{font-size:20vw}.hero-copy h1 span{font-size:.25em}.hero-copy>p:last-child{font-size:13px}.project-float,.project-float:nth-of-type(even){padding:0 20px;align-items:flex-end;justify-content:flex-start;text-align:left;padding-bottom:18vh}.project-float h2{font-size:16vw}.project-float .view{opacity:1}.scroll-cue{right:18px}.stage-progress{left:18px;right:18px}.about{grid-template-columns:1fr;padding:12vh 20px}.about-copy{margin-top:12vh}.timeline div{grid-template-columns:110px 1fr}.footer{padding:12vh 20px 25px}.footer-line{gap:20px;align-items:flex-start;flex-direction:column}.category{padding:calc(var(--nav-h) + 7vh) 18px 10vh}.category-head{display:block}.category-head .category-number{margin-bottom:25px}.entry,.entry:nth-child(even){grid-template-columns:1fr;gap:22px}.entry:nth-child(even) .entry-media{order:0}.entry h2{margin:5vh 0 16px}.entry-media{aspect-ratio:4/3}.ai-equation{padding:12px;gap:8px;border-radius:0}.ai-input,.ai-result{border-radius:12px}.project-cover{padding:20px 20px 8vh}.work-index{padding:23px 18px}.index-links strong{font-size:10.5vw}}
html[data-motion="reduced"]{scroll-behavior:auto}html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after{animation:none!important;transition:none!important}
.site-nav.inner-page{background:rgba(10,10,9,.88);border-color:var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.nav-back{color:rgba(240,239,233,.68);transition:color .25s}
.nav-back:hover,.nav-back:focus-visible{color:var(--white)}
@media(max-width:760px){.site-nav .nav-right{gap:12px}}
.project-float{visibility:hidden;transform:none;transition:none;will-change:opacity,transform}.project-float.active{visibility:visible;transform:none}
.footer-contact{display:flex;align-items:flex-start;gap:clamp(1.4rem,3vw,3.5rem)}.footer-contact>span{color:var(--muted)}.footer-contact a{display:grid;gap:.35rem}.footer-contact a i{font-style:normal;color:var(--muted)}.footer-contact a b{font-weight:500;letter-spacing:.06em}.footer-contact a:hover b,.footer-contact a:focus-visible b{border-bottom:1px solid currentColor}@media(max-width:760px){.footer-contact{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.footer-contact>span{grid-column:1/-1}.footer-contact a{min-width:0}.footer-contact a b{overflow-wrap:anywhere}}
