@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700;900&family=Barlow+Condensed:wght@600;800;900&display=swap');
:root{color-scheme:light;--ink:#29312e;--muted:#626b65;--accent:#bf442c;--wash:#f1c4a6;--soft:#fff0df}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:Arial,'Microsoft YaHei',sans-serif;color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}#exhibition{height:100svh;min-height:650px;position:relative;overflow:hidden;isolation:isolate;background:#f6f2e9;--card-width:58vw;transition:background 1s}.atmosphere{position:absolute;inset:0;z-index:-2;overflow:hidden;background:linear-gradient(180deg,#fff9 0%,#fff1 40%,#ffffff5c 100%)}.color-field{position:absolute;border-radius:50%;filter:blur(70px);transition:background 1.2s,transform 1.5s;will-change:background}.field-one{width:125vw;height:110vh;background:radial-gradient(ellipse,var(--wash) 0%,var(--soft) 48%,transparent 72%);left:-12vw;top:-10vh}.field-two{width:85vw;height:80vh;left:26vw;top:30vh;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 34%,#fff) 0%,transparent 65%);opacity:.5;animation:drift 18s ease-in-out infinite alternate}.light-ray{position:absolute;width:70vw;height:140vh;left:-15vw;top:-40vh;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:rotate(28deg);filter:blur(40px)}.grain{position:absolute;inset:0;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.28' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply;pointer-events:none}header{height:102px;padding:28px 4.6vw;display:flex;justify-content:space-between;align-items:center;gap:25px;position:relative;z-index:30}.signature strong{font-size:22px;letter-spacing:.1em;font-weight:800;display:block}.signature strong span{font-size:15px;letter-spacing:.08em;margin-left:9px;font-weight:400}.signature small{font:8px/2.2 monospace;letter-spacing:.2em;color:var(--muted)}nav{display:flex;gap:30px}nav button{background:transparent;padding:8px 0;font-size:11px;position:relative;white-space:nowrap}nav button:after{content:'';position:absolute;bottom:1px;left:0;width:0;height:2px;background:var(--accent);transition:width .25s}nav button:hover:after,nav .nav-active:after{width:100%}nav sup{color:var(--accent);font-size:8px}.edition{text-align:right;font:8px/1.8 monospace;letter-spacing:.16em}.edition span{opacity:.45}.exhibit-label{position:absolute;left:4.6vw;top:130px;display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.12em;color:#46514b;z-index:1}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent);transition:background 1s}.label-line{width:35px;height:1px;background:#28352e40;margin:0 6px}.exhibit-label small{font:8px monospace;letter-spacing:.15em;opacity:.6}.carousel{position:absolute;inset:165px 0 185px;perspective:1600px;touch-action:pan-y;user-select:none;cursor:grab}.carousel:active{cursor:grabbing}.track{position:absolute;inset:0;transform-style:preserve-3d;z-index:4}.project-card{position:absolute;width:var(--card-width);max-width:1120px;aspect-ratio:16/9;top:43%;left:50%;z-index:var(--z);opacity:var(--opacity);transform:translate3d(calc(-50% + var(--offset) * 46vw),calc(-50% + var(--distance) * 22px),calc(var(--distance) * -180px)) rotateY(calc(var(--offset) * -24deg)) rotateZ(calc(var(--offset) * 1.3deg)) scale(calc(1 - var(--distance) * .07));transition:transform .95s cubic-bezier(.16,1,.3,1),opacity .65s;transform-style:preserve-3d;will-change:transform,opacity}.card{position:relative;width:100%;height:100%;display:block;padding:0;overflow:hidden;background:#ddd;text-align:left;box-shadow:0 24px 55px #443c3326,0 3px 9px #443c331a;border:1px solid #ffffff85;border-radius:3px;cursor:pointer;isolation:isolate}.card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#09202012,transparent 30%,transparent 45%,#0a1a226b);z-index:1;pointer-events:none}.card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .7s;pointer-events:none}.project-card:not(.is-active) img{filter:saturate(.8) brightness(.97)}.project-card.is-active .card:hover img{transform:scale(1.035)}.poster-header{position:absolute;top:7%;left:5%;right:5%;display:flex;justify-content:space-between;font:clamp(6px,.54vw,10px) monospace;letter-spacing:.16em;color:#fff;z-index:3;text-shadow:0 1px 8px #0004}.poster-copy{position:absolute;z-index:3;left:6%;right:6%;bottom:13%;color:#fff;text-shadow:0 2px 25px #0002}.poster-copy small{font:clamp(6px,.7vw,12px) monospace;letter-spacing:.3em;display:block;margin-bottom:12px}.poster-copy strong{display:block;font-family:'Noto Serif SC',serif;font-size:clamp(35px,6vw,110px);font-weight:900;letter-spacing:.08em;line-height:1.08}.poster-copy em{font-style:normal;display:block;letter-spacing:.4em;font:10px/1.8 monospace;margin-top:12px}.poster-footer{position:absolute;bottom:5%;left:5%;right:5%;display:flex;justify-content:space-between;color:#fff9;font:clamp(6px,.52vw,10px) monospace;letter-spacing:.18em;z-index:3}.poster-footer span:last-child{color:#fff}.million .poster-copy{left:7%;bottom:17%;color:#fff6e5}.million .poster-copy strong{font-family:'Noto Serif SC',serif;font-weight:900;font-size:clamp(45px,7.8vw,145px);letter-spacing:-.04em}.million .poster-copy em{letter-spacing:.5em}.thorn .poster-copy{text-align:center;bottom:14%}.thorn .poster-copy strong{font-family:Georgia,serif;font-size:clamp(32px,5.3vw,100px);font-weight:400;letter-spacing:.01em}.thorn .poster-copy em{letter-spacing:.7em;font-size:9px}.digital .poster-copy{left:7%;bottom:12%;transform:rotate(-6deg)}.digital .poster-copy strong{font-family:Arial,'Microsoft YaHei',sans-serif;font-style:italic;letter-spacing:-.06em;color:#fbffb3;text-shadow:3px 3px 0 #4e57b8aa}.digital .poster-copy em{color:#fff;font-style:italic;font-weight:700;letter-spacing:.4em}.dawn .poster-copy{text-align:center;bottom:13%}.dawn .poster-copy strong{font-size:clamp(30px,4.8vw,92px);letter-spacing:.18em;color:#fff8e2}.dawn .poster-copy em{font-family:'Noto Serif SC',serif;font-size:clamp(12px,1.5vw,26px);letter-spacing:.9em;margin-left:.9em}.g63 .poster-copy{left:7%;bottom:12%}.g63 .poster-copy strong{font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(70px,11vw,205px);font-weight:800;letter-spacing:-.025em;line-height:.8}.g63 .poster-copy em{margin-top:20px}.drama .poster-copy{text-align:right;left:45%;right:7%;bottom:18%}.drama .poster-copy strong{font-size:clamp(33px,5.4vw,100px);letter-spacing:.05em;color:#fff1d2}.drama .poster-copy small{letter-spacing:.3em}.ghost-title{position:absolute;top:-12%;left:0;right:0;text-align:center;overflow:hidden;z-index:0;pointer-events:none;color:color-mix(in srgb,var(--accent) 13%,transparent);font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(80px,15vw,270px);font-weight:800;letter-spacing:-.03em;line-height:1;white-space:nowrap;transition:color 1s}.ghost-title span{display:block;animation:ghost-in .8s both}.gallery-stage{position:absolute;left:50%;top:79%;width:56vw;max-width:1100px;height:15%;transform:translate(-50%,-50%);z-index:1}.stage-halo{position:absolute;inset:-170% -70% -80%;filter:blur(35px);background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 30%,transparent),transparent 65%);transition:background 1.2s}.stage-top{position:absolute;inset:0 0 15%;border-radius:50%;background:radial-gradient(ellipse at 50% 25%,#fff,var(--soft) 45%,color-mix(in srgb,var(--wash) 70%,#bbb) 80%);border-top:1px solid #fff;box-shadow:inset 0 7px 16px #fff9,0 0 70px #fff8;transition:background 1.2s}.stage-side{position:absolute;inset:20% 0 -14%;border-radius:0 0 50% 50%;background:linear-gradient(90deg,color-mix(in srgb,var(--wash) 70%,#b3aaa1),#faf5ed 45%,color-mix(in srgb,var(--wash) 60%,#c9bbb0));box-shadow:0 25px 35px #665b4420;transition:background 1.2s}.arrow{position:absolute;top:43%;width:46px;height:46px;border-radius:50%;z-index:20;background:#ffffffa8;backdrop-filter:blur(10px);border:1px solid #fff;box-shadow:0 6px 18px #544c3f0c;transition:background .25s,transform .25s;font-size:20px}.arrow:hover{background:#fff;transform:scale(1.08)}.arrow-prev{left:3.7vw}.arrow-next{right:3.7vw}.project-caption{position:absolute;left:20.5vw;right:20.5vw;bottom:110px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:40px}.caption-label{font:8px monospace;letter-spacing:.13em;color:var(--accent);transition:color 1s}.project-caption h1{font-size:clamp(21px,2.1vw,38px);font-weight:500;letter-spacing:-.03em;margin:9px 0 0}.project-caption>div:first-child{animation:caption-in .6s both}.enter-button{padding:13px 0;background:none;border-bottom:1px solid #28352e50;display:flex;align-items:center;gap:26px;font-size:11px;transition:color .3s}.enter-button:hover{color:var(--accent)}.enter-button span{font-size:22px}.caption-number{display:flex;align-items:baseline;gap:7px}.caption-number strong{font:500 35px/1 'Barlow Condensed',monospace;color:var(--accent);transition:color 1s}.caption-number span{font:9px monospace;color:#637269}footer{position:absolute;bottom:30px;left:4.6vw;right:4.6vw;display:flex;justify-content:space-between;align-items:center;gap:20px}.index-nav{display:flex;gap:12px}.index-button{background:none;padding:12px 0;width:55px;position:relative;text-align:left;color:#7a827b;font:9px monospace}.index-button:before,.index-button:after{content:'';height:2px;position:absolute;bottom:0;left:0;width:100%;background:#273a2c24}.index-button:after{background:var(--accent);width:0}.index-button.is-active{color:var(--accent)}.index-button.is-active:after{width:100%}.index-button.is-active.is-playing:after{animation:progress 6.5s linear both}.footer-tools{display:flex;align-items:center;gap:24px;font-size:8px;letter-spacing:.08em;color:#59665f}.footer-tools button{background:none;padding:8px 0;font-size:9px;display:flex;align-items:center;gap:7px}.gesture-hint{opacity:.7}.intro header{animation:header-in .9s .1s both}.intro .card{animation:card-in 1.1s calc(.2s + var(--i) * .08s) both cubic-bezier(.16,1,.3,1)}.intro .gallery-stage{animation:stage-in 1.3s .25s both}.intro .project-caption,.intro footer{animation:caption-in 1s .6s both}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}dialog{padding:0;border:1px solid #fff9;background:#fcf8ef;color:var(--ink);width:min(1250px,94vw);max-height:94svh;border-radius:5px;box-shadow:0 30px 120px #26362933}dialog::backdrop{background:#4a625244;backdrop-filter:blur(24px)}.dialog-toolbar{padding:20px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #28352e20;position:sticky;top:0;background:#fcf8eff2;z-index:20}.dialog-toolbar>span{font:9px monospace;letter-spacing:.12em}.dialog-toolbar button{background:none;font-size:11px;padding:5px}.dialog-toolbar button span{margin-left:15px}.project-dialog-body{padding:32px}.project-intro{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 20px;margin-bottom:25px}.project-intro small{font:9px monospace;color:var(--accent);grid-column:1/-1}.project-intro h2{font-family:'Noto Serif SC',serif;font-size:38px;font-weight:500;margin:6px 0 0}.project-intro p{font:10px monospace;letter-spacing:.12em;color:#637269;margin:0}.video-stage{background:#18211f;border-radius:3px;overflow:hidden}.video-stage video{display:block;width:100%;max-height:65svh;background:#0f1515}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;font:9px monospace;color:#637269}.project-meta button{background:none;color:var(--ink);font-size:11px}.info-dialog{width:min(1100px,94vw)}.info-body{padding:60px 6vw}.overline{font:10px monospace;letter-spacing:.14em;color:var(--accent)}.info-body h2{font-size:clamp(32px,5vw,70px);font-weight:500;line-height:1.5;letter-spacing:-.04em;margin:30px 0 45px}.info-body h2 em{font-style:normal;font-family:'Noto Serif SC',serif;color:var(--accent)}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.archive-grid>div{aspect-ratio:1.1;border:1px solid #25362b26;padding:20px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#fff5,transparent)}.archive-grid>div:nth-child(1){background:#dfe8d9}.archive-grid>div:nth-child(2){background:#f1d9c8}.archive-grid>div:nth-child(3){background:#dce5f0}.archive-grid span,.archive-grid small{font:8px monospace;letter-spacing:.1em;opacity:.6}.archive-grid strong{font-size:20px;font-weight:400}.about-body p{font-size:14px;line-height:2.2;color:#59665f}.about-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #28352e25;padding-top:25px;margin-top:50px;gap:25px}.about-bottom span{font:8px monospace;letter-spacing:.2em}.about-bottom button{background:none;font-size:12px}.swapping{animation:caption-in .65s both!important}@keyframes progress{from{width:0}to{width:100%}}@keyframes drift{to{transform:translate(-8vw,-6vh) scale(1.2)}}@keyframes card-in{from{opacity:0;transform:translateY(65px) scale(.92)}}@keyframes header-in{from{opacity:0;transform:translateY(-15px)}}@keyframes caption-in{from{opacity:0;transform:translateY(15px)}}@keyframes stage-in{from{opacity:0;transform:translate(-50%,0%) scale(.9)}}@keyframes ghost-in{from{opacity:0;transform:translateY(18px)}}@media(min-width:1600px){#exhibition{--card-width:59vw}.carousel{inset:170px 0 200px}.project-caption{bottom:120px}}@media(max-height:760px) and (min-width:761px){header{height:90px;padding-top:20px;padding-bottom:20px}.exhibit-label{top:105px}.carousel{inset:145px 0 160px}.project-card{width:min(54vw,700px)}.project-caption{bottom:95px}.ghost-title{top:-18%}.gallery-stage{top:84%;height:17%}.project-caption h1{font-size:25px}footer{bottom:22px}}@media(max-width:760px){#exhibition{min-height:620px;--card-width:84vw}header{height:90px;padding:22px 6vw;align-items:start}.signature strong{font-size:20px}.signature strong span{display:block;font-size:11px;margin:4px 0 0;letter-spacing:.15em}.signature small{font-size:6px;margin-top:5px;display:block}.edition{display:none}nav{gap:16px;padding-top:4px}nav button{font-size:10px}nav sup{display:none}.exhibit-label{left:6vw;top:124px;font-size:9px;gap:9px}.exhibit-label small{font-size:6px}.label-line{width:20px}.carousel{inset:195px 0 205px;perspective:1100px}.ghost-title{font-size:23vw;top:-14%;letter-spacing:-.03em}.project-card{top:43%;transform:translate3d(calc(-50% + var(--offset) * 85vw),calc(-50% + var(--distance) * 12px),calc(var(--distance) * -100px)) rotateY(calc(var(--offset) * -17deg)) rotateZ(calc(var(--offset) * 1deg)) scale(calc(1 - var(--distance) * .05))}.poster-header,.poster-footer{font-size:5px}.poster-copy small{font-size:5px;margin-bottom:8px}.poster-copy strong{font-size:10vw}.million .poster-copy strong{font-size:14vw}.thorn .poster-copy strong{font-size:9vw}.thorn .poster-copy em{font-size:5px}.digital .poster-copy strong{font-size:12vw}.digital .poster-copy em{font-size:6px}.dawn .poster-copy strong{font-size:8vw}.dawn .poster-copy em{font-size:12px;margin-top:8px}.g63 .poster-copy strong{font-size:21vw}.g63 .poster-copy em{font-size:6px;margin-top:13px}.drama .poster-copy strong{font-size:10vw}.drama .poster-copy small{font-size:5px}.gallery-stage{width:83vw;top:78%;height:14%}.arrow{top:auto;bottom:0;width:38px;height:38px;font-size:16px}.arrow-prev{left:6vw}.arrow-next{right:6vw}.project-caption{left:8vw;right:8vw;bottom:115px;grid-template-columns:1fr auto;gap:15px}.project-caption h1{font-size:24px}.caption-label{font-size:7px}.enter-button{grid-column:1;grid-row:2;font-size:10px;padding:6px 0;width:130px;gap:20px}.enter-button span{font-size:18px}.caption-number{grid-column:2;grid-row:1/span 2}.caption-number strong{font-size:40px}footer{left:6vw;right:6vw;bottom:25px;display:block}.index-nav{justify-content:space-between;gap:10px}.index-button{width:100%;font-size:8px}.footer-tools{justify-content:space-between;margin-top:15px;font-size:7px;gap:15px}.footer-tools button{font-size:8px}.dialog-toolbar{padding:18px}.dialog-toolbar>span{font-size:7px}.project-dialog-body{padding:20px 15px}.project-intro{grid-template-columns:1fr}.project-intro h2{font-size:27px}.project-intro p{font-size:8px;line-height:1.7}.project-meta{flex-wrap:wrap;font-size:7px;gap:15px}.video-stage video{max-height:58svh}.info-body{padding:35px 6vw}.info-body h2{font-size:34px}.archive-grid{grid-template-columns:1fr}.archive-grid>div{aspect-ratio:2}.about-body p{font-size:12px}.about-bottom{flex-direction:column;align-items:start}.field-one{width:180vw;left:-40vw}.field-two{width:150vw;left:-10vw}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.field-two{animation:none}.project-card{will-change:auto}}
@media(max-height:760px) and (min-width:761px){.project-card{width:min(52vw,calc((100svh - 310px)*1.7778))}.gallery-stage{top:96%;height:15%;width:50vw}}
@media(max-width:760px){.arrow{bottom:38px}}
/* Curated stone gallery — restrained light, material and line */
:root{--ink:#282b28;--muted:#5e625b;--accent:#854b36;--wash:#b8a99a;--soft:#d3cec4}#exhibition{background:#c9c6bd}.atmosphere{background:linear-gradient(125deg,#d9d7ce 0%,#cbc9c0 52%,#b5b6ad 100%)}.field-one{filter:blur(95px);opacity:.5;background:radial-gradient(ellipse,var(--soft) 0%,var(--wash) 40%,transparent 72%);width:125vw;height:110vh;top:-20vh}.field-two{opacity:.17;background:radial-gradient(ellipse,var(--accent),transparent 65%);filter:blur(95px);animation:drift 25s ease-in-out infinite alternate}.light-ray{opacity:.24;background:linear-gradient(90deg,transparent,#e8e6dc,transparent);filter:blur(70px)}.grain{opacity:.28}.art-orbit{position:absolute;border:1px solid #5b625320;border-radius:50%;pointer-events:none;left:50%;top:42%;width:88vw;height:68vh;transform:translate(-50%,-50%) rotate(-19deg);z-index:0}.orbit-b{width:96vw;height:50vh;transform:translate(-50%,-50%) rotate(14deg);border-color:#5b625312}.art-caption{position:absolute;right:4.6vw;top:135px;font:7px monospace;letter-spacing:.22em;color:#4e584c78;writing-mode:vertical-rl}.signature strong{font-family:'Noto Serif SC',serif;font-weight:700;letter-spacing:.04em}.signature strong span{font-family:Arial,'Microsoft YaHei',sans-serif;font-size:12px;letter-spacing:.13em}.signature small{letter-spacing:.22em;font-size:7px;line-height:2.5}header:after{content:'';position:absolute;height:1px;background:#434a3e25;bottom:0;left:4.6vw;right:4.6vw}.edition{color:#4c5349}.exhibit-label{font-size:9px;letter-spacing:.15em}.live-dot{box-shadow:none;width:4px;height:4px}.ghost-title{font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(70px,12vw,210px);font-weight:600;letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px #4b54481a;top:-9%;opacity:.8}.card{border:1px solid #deddd388;border-radius:1px;box-shadow:0 30px 60px #262c252b,0 5px 14px #262c251a}.card:after{display:none}.project-card:not(.is-active) img{filter:saturate(.65) brightness(.94)}.card-hover-cue{position:absolute;right:20px;bottom:18px;background:#252c27b8;color:#eee9dd;backdrop-filter:blur(12px);border:1px solid #ffffff30;padding:10px 14px;font-size:9px;letter-spacing:.1em;opacity:0;transform:translateY(8px);transition:.35s}.is-active .card:hover .card-hover-cue,.card:focus-visible .card-hover-cue{opacity:1;transform:none}.gallery-stage{height:8%;width:51vw;filter:none}.stage-halo{background:radial-gradient(ellipse,#333e2d29,transparent 65%);filter:blur(24px);inset:-90% -25% -100%;opacity:.75}.stage-top{border:1px solid #e5e4db55;box-shadow:inset 0 1px 5px #eeeee533;background:linear-gradient(180deg,#c3c4ba,#bbbdb2);inset:0 0 5%}.stage-side{background:linear-gradient(90deg,#a5a89b,#c1c3b8 45%,#a4a89a);inset:35% 0 -10%;box-shadow:0 16px 23px #303b2423}.arrow{width:42px;height:42px;background:#d8d9cf80;border:1px solid #4c594230;box-shadow:none;color:#3d453a}.arrow:hover{background:#e1e1d7}.project-caption h1{font-family:'Noto Serif SC',serif;font-size:clamp(20px,1.9vw,34px);letter-spacing:.02em;font-weight:500}.caption-label{font-size:7px;letter-spacing:.2em}.caption-number strong{font-size:33px;font-weight:600}.caption-number span{font-size:8px}.enter-button{font-size:10px;letter-spacing:.1em}.enter-button span{font-size:20px}.index-button:before{background:#40503d25}.index-button:after{height:1px}.index-button{font-size:8px}.footer-tools{color:#586151}.footer-tools button{font-size:8px}.info-dialog,.project-dialog{background:#d9d8ce;border:1px solid #f0f0e577;border-radius:2px}.dialog-toolbar{background:#d9d8cef2;border-bottom:1px solid #434a3e25}dialog::backdrop{background:#35403575;backdrop-filter:blur(20px)}.archive-grid>div:nth-child(1){background:#c4cabb}.archive-grid>div:nth-child(2){background:#cec3b6}.archive-grid>div:nth-child(3){background:#bdc5c7}.info-body h2{font-size:clamp(32px,4.7vw,66px)}@media(max-height:760px) and (min-width:761px){.gallery-stage{top:94%;height:8%;width:47vw}.ghost-title{top:-11%}}@media(max-width:760px){.signature strong{font-size:20px}.signature strong span{font-size:10px;letter-spacing:.16em}.signature small{font-size:5px}.art-caption{display:none}.art-orbit{width:150vw;height:52vh;top:44%;border-color:#5b62531b}.orbit-b{width:170vw;height:38vh}.ghost-title{font-size:20vw;top:-7%;-webkit-text-stroke:.6px #4b544825}.gallery-stage{width:79vw;height:7%;top:75%}.project-caption h1{font-size:22px;line-height:1.4}.caption-label{font-size:6px;letter-spacing:.1em}.arrow{width:36px;height:36px}.card-hover-cue{display:none}.caption-number strong{font-size:36px}.exhibit-label{font-size:8px}.info-body h2{font-size:31px}}
/* Personal signature / locally served three-glyph calligraphy subset */
.signature{display:block;flex-shrink:0}.signature strong{display:flex;align-items:baseline;gap:12px;line-height:1;margin:0 0 8px}.signature strong .signature-name{font-family:'LZL Signature','KaiTi',serif;font-size:48px;font-weight:400;line-height:.92;letter-spacing:.015em;margin:0;display:inline-block;transform:rotate(-3deg);color:#272e29}.signature strong .signature-collection{font:400 10px/1.5 Arial,'Microsoft YaHei',sans-serif;letter-spacing:.16em;margin:0;color:#52594f}.signature .signature-roles{display:block;font:400 9px/1.5 Arial,'Microsoft YaHei',sans-serif;letter-spacing:.075em;color:#414c42;margin:0}.signature small{display:block;font:6px/1.8 monospace;letter-spacing:.22em;color:#697064;margin-top:4px}header{height:120px;padding-top:22px;padding-bottom:20px}.exhibit-label{top:145px}.carousel{inset:180px 0 185px}.art-caption{top:150px}@media(max-height:760px) and (min-width:761px){header{height:116px;padding-top:18px;padding-bottom:16px}.exhibit-label{top:137px}.carousel{inset:172px 0 160px}.signature strong .signature-name{font-size:44px}.signature strong{margin-bottom:7px}.signature .signature-roles{font-size:8px}.signature small{font-size:5px;margin-top:3px}.art-caption{top:143px}}@media(min-width:1600px){.carousel{inset:185px 0 200px}}@media(max-width:760px){header{height:120px;padding:22px 6vw 15px;gap:14px;align-items:flex-start}.signature strong{gap:7px;margin-bottom:7px;align-items:baseline}.signature strong .signature-name{font-size:35px;line-height:.95}.signature strong .signature-collection{font-size:7px;letter-spacing:.03em;display:inline-block;margin:0}.signature .signature-roles{font-size:7px;letter-spacing:0;white-space:nowrap}.signature small{font-size:4.5px;line-height:1.8;letter-spacing:.13em;margin-top:3px}nav{gap:13px;padding-top:8px}nav button{font-size:9px}.exhibit-label{top:147px}.carousel{inset:207px 0 205px}}@media(max-width:360px){header{gap:10px}.signature strong .signature-name{font-size:31px}.signature strong .signature-collection{font-size:6px}.signature .signature-roles{font-size:6.5px}nav{gap:10px}nav button{font-size:8px}}
/* Refined contemporary wordmark */
.signature strong .signature-name{font-family:'Noto Serif SC','Songti SC','SimSun',serif;font-size:40px;font-weight:500;letter-spacing:.12em;line-height:1.12;transform:none;color:#29312c}.signature strong{align-items:center;gap:15px;margin-bottom:7px}.signature strong .signature-collection{font-size:9px;letter-spacing:.13em;color:#657064;border-left:1px solid #66715f40;padding-left:13px}.signature .signature-roles{font-size:8px;letter-spacing:.13em;color:#56604f}.signature small{font-size:5.5px;letter-spacing:.25em;margin-top:4px}@media(max-height:760px) and (min-width:761px){.signature strong .signature-name{font-size:38px}.signature .signature-roles{font-size:8px}}@media(max-width:760px){.signature strong .signature-name{font-size:30px;letter-spacing:.08em}.signature strong{gap:8px;margin-bottom:7px}.signature strong .signature-collection{font-size:7px;padding-left:7px;letter-spacing:0}.signature .signature-roles{font-size:7px;letter-spacing:0}.signature small{font-size:4.5px;letter-spacing:.1em}}@media(max-width:360px){.signature strong .signature-name{font-size:28px}.signature strong .signature-collection{font-size:6px}.signature .signature-roles{font-size:6.5px}}


#character-assets[hidden]{display:none}#character-assets{padding:36px 0 8px;border-top:1px solid #65706440;margin-top:30px}.asset-heading small{font-size:9px;letter-spacing:.16em;color:#657064}.asset-heading h3{font:normal 27px SimSun,serif;margin:14px 0 28px}#character-assets figure{margin:0 0 28px}#character-assets img{display:block;width:100%;height:auto}#character-assets figcaption{font-size:9px;letter-spacing:.12em;color:#657064;margin-top:12px}.index-nav{flex-wrap:wrap}
/* Homepage typography: larger supporting text */
.signature strong .signature-name{font-size:44px}
.signature strong .signature-collection{font-size:12px}
.signature .signature-roles{font-size:12px;line-height:1.65;letter-spacing:.08em}
.signature small{font-size:9px;line-height:1.65;letter-spacing:.18em;color:#525b50}
nav button{font-size:13px}.edition{font-size:10px}.exhibit-label{font-size:12px}.exhibit-label small{font-size:10px}.caption-label{font-size:11px}.enter-button{font-size:13px}
@media(max-height:760px) and (min-width:761px){.signature strong .signature-name{font-size:40px}.signature .signature-roles{font-size:11px}.signature small{font-size:8px}}
@media(max-width:760px){header{height:145px;flex-wrap:wrap;align-content:flex-start;row-gap:12px}.signature strong .signature-name{font-size:33px}.signature strong .signature-collection{font-size:10px}.signature .signature-roles{font-size:10px;letter-spacing:.02em}.signature small{font-size:7px;letter-spacing:.12em}nav{gap:15px}nav button{font-size:11px}.exhibit-label{top:163px;font-size:10px}.exhibit-label small{font-size:8px}.carousel{inset:215px 0 205px}.caption-label{font-size:9px}.enter-button{font-size:11px}}
@media(max-width:420px){header{display:block}nav{padding-top:12px;justify-content:flex-start}.signature strong .signature-name{font-size:31px}.edition{display:none}}
/* Director's viewfinder cursor — desktop fine pointers only */
.film-cursor{display:none}
@media(hover:hover) and (pointer:fine){
html.film-cursor-ready,html.film-cursor-ready body,html.film-cursor-ready a,html.film-cursor-ready button,html.film-cursor-ready .carousel,html.film-cursor-ready .card{cursor:none}
.film-cursor{display:block;position:fixed;left:0;top:0;width:34px;height:34px;border:1px solid #29312cb3;border-radius:50%;pointer-events:none;z-index:2147483647;transform:translate(-50%,-50%);opacity:0;transition:width .22s,height .22s,background .22s,border-color .22s,opacity .15s;box-shadow:0 0 0 1px #ffffff30}
.film-cursor::before{content:'';position:absolute;left:50%;top:50%;width:4px;height:4px;background:#29312c;border-radius:50%;transform:translate(-50%,-50%)}
.film-cursor span{position:absolute;inset:0;display:grid;place-items:center;font:10px 'Microsoft YaHei',sans-serif;letter-spacing:.1em;opacity:0;color:#eeeae0}
.film-cursor.is-work{width:66px;height:66px;background:#29312cda;border-color:#e2ddcc99;backdrop-filter:blur(5px)}
.film-cursor.is-work::before{opacity:0}.film-cursor.is-work span{opacity:1}.film-cursor.is-link{width:44px;height:44px;border-color:var(--accent);background:#ffffff20}.film-cursor.is-down{scale:.86}
html.film-cursor-ready video,html.film-cursor-ready input,html.film-cursor-ready textarea{cursor:auto}
}
@media(prefers-reduced-motion:reduce){.film-cursor{transition:none}}

/* Editorial biography / resume */
.resume-dialog{width:min(1080px,94vw);max-height:92svh;background:#e8e6dd;color:#29312c}.resume-dialog .dialog-toolbar{position:sticky;top:0;z-index:4;background:#e8e6ddf5;border-bottom:1px solid #65706435}.resume-content{padding:50px 6% 40px}.resume-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-bottom:50px}.resume-kicker{font:9px/1.8 monospace;letter-spacing:.18em;color:#6c7469}.resume-hero h2{font:normal 66px/1.2 SimSun,serif;letter-spacing:.1em;margin:25px 0 18px}.resume-hero h2 span{display:block;font:10px/2 Arial,sans-serif;letter-spacing:.38em;margin-top:14px}.resume-role{font-size:12px;line-height:1.9;color:#56604f}.resume-statement{padding-top:30px}.resume-statement h3{font:normal 29px/1.6 SimSun,serif;margin:0 0 20px}.resume-statement p,.resume-skills p,.resume-timeline p,.resume-education p{font-size:12px;line-height:2;color:#60695d}.resume-section{border-top:1px solid #65706445;padding:30px 0 40px}.resume-section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.resume-section-label>span{font:9px monospace;letter-spacing:.16em;color:#737b6b}.resume-section-label h3{font:normal 21px SimSun,serif;margin:0}.resume-skills{display:grid;grid-template-columns:1fr 1fr;gap:30px 45px}.resume-skills small{font:8px monospace;letter-spacing:.14em;color:#7c806e}.resume-content h4{font-size:15px;font-weight:500;line-height:1.7;margin:10px 0}.resume-skills p{margin:0}.resume-timeline article{display:grid;grid-template-columns:155px 1fr;gap:25px;padding:0 0 30px}.resume-timeline article+article{border-top:1px solid #65706425;padding-top:25px}.resume-content time{font:10px/2 monospace;color:#717a68}.resume-timeline h4{margin-top:0;font-size:18px}.resume-job{font-size:11px;color:#7c6f53}.resume-timeline p{margin:10px 0 0}.resume-education{display:grid;grid-template-columns:1fr 1fr;gap:45px}.resume-gpa{font:24px/1.8 SimSun,serif!important;color:#364432!important}.resume-gpa span{font:11px Arial,sans-serif}.resume-contact{border-top:1px solid #65706445;padding:30px 0;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.resume-contact h3{font:normal 25px/1.6 SimSun,serif}.resume-contact a{display:block;width:fit-content;font-size:14px;line-height:2.6;border-bottom:1px solid #65706440}.resume-back{background:transparent;font-size:12px;padding:12px 0;border-bottom:1px solid #65706460}@media(max-width:760px){.resume-content{padding:28px 7%}.resume-hero{grid-template-columns:1fr;gap:12px;padding-bottom:30px}.resume-hero h2{font-size:49px}.resume-statement{padding-top:0}.resume-statement h3{font-size:26px}.resume-skills{grid-template-columns:1fr;gap:24px}.resume-timeline article{grid-template-columns:1fr;gap:8px}.resume-education,.resume-contact{grid-template-columns:1fr;gap:20px}.resume-section-label>span{font-size:8px}.resume-dialog .dialog-toolbar{font-size:10px}.resume-contact h3{font-size:23px}}

/* Personal portrait editorial treatment; source photographs preserved. */
.resume-portrait-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:45px;align-items:center;margin-bottom:48px}.resume-street,.resume-studio{margin:0;position:relative}.resume-street img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 40%;filter:grayscale(1) sepia(.14) contrast(.94) brightness(.98)}.resume-street::after{content:'';position:absolute;inset:0 0 25px;pointer-events:none;background:linear-gradient(180deg,transparent 60%,#282e241c);mix-blend-mode:multiply}.resume-street figcaption,.resume-studio figcaption{font:8px/1.7 monospace;letter-spacing:.15em;color:#717769;margin-top:10px}.portrait-note>span{font:normal 28px/1.7 SimSun,serif;writing-mode:vertical-rl;letter-spacing:.15em;display:block;margin:0 0 35px}.portrait-note p{font:11px/2.2 Arial,sans-serif;letter-spacing:.2em;color:#65705d}.portrait-note small{display:block;font:8px monospace;color:#8a8f80;letter-spacing:.12em;margin-top:35px}.resume-hero{border-top:1px solid #65706445;padding-top:35px}.resume-background{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:start}.resume-studio img{width:100%;display:block;aspect-ratio:3/4;object-fit:cover;object-position:center 30%;filter:grayscale(1) sepia(.12) contrast(.91) brightness(.98);background:#d8d8cc}.resume-background .resume-education{gap:25px}.resume-studio{padding:9px;border:1px solid #65706435;background:#e1e1d6}.resume-studio figcaption{font-size:7px}@media(max-width:760px){.resume-portrait-intro{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;margin-bottom:30px}.portrait-note>span{font-size:20px;margin-bottom:20px}.portrait-note p{font-size:8px;letter-spacing:.09em}.portrait-note small{font-size:6px;line-height:1.8;margin-top:20px}.resume-background{grid-template-columns:1fr;gap:25px}.resume-studio{width:155px}.resume-background .resume-education{grid-template-columns:1fr}.resume-street figcaption{font-size:6px;letter-spacing:.07em}}
/* Restore the original color of the biography headshot. */
.resume-studio img{filter:none}

/* Interactive genre selector */
.genre-nav{position:absolute;top:171px;left:10%;right:10%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;z-index:35;padding:0}.genre-button{--mx:50%;--my:50%;position:relative;display:flex;align-items:center;gap:12px;min-height:76px;padding:14px 16px;background:#ffffff16;border:1px solid #52604c38;border-radius:13px;text-align:left;transition:transform .24s,background .24s,box-shadow .24s;isolation:isolate}.genre-button::before{content:'';position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:radial-gradient(110px circle at var(--mx) var(--my),#d5c9efb3,transparent 75%);opacity:0;transition:opacity .2s;pointer-events:none}.genre-button:hover{transform:translateY(-4px) scale(1.035);border-color:#b0a0c3;box-shadow:0 0 20px #b6a0d04d}.genre-button:hover::before{opacity:1}.genre-button.is-selected{background:#b8a6c9;border-color:#c9bad8;box-shadow:0 5px 18px #6a54791c}.genre-button small{font:italic 20px Georgia,serif;opacity:.6}.genre-button span{font:18px/1.3 SimSun,serif;white-space:nowrap}.genre-button em{display:block;font:7px/1.8 monospace;letter-spacing:.1em;font-style:normal;margin-top:5px;opacity:.65}.genre-button b{font:9px monospace;position:absolute;top:9px;right:10px;opacity:.5}.project-card[hidden],.index-button[hidden]{display:none!important}.carousel{inset:270px 0 185px}.exhibit-label{top:143px}.ghost-title{top:-4%}@media(max-height:760px) and (min-width:761px){.genre-nav{top:160px;left:8%;right:8%}.genre-button{min-height:66px;padding:11px 13px}.genre-button span{font-size:16px}.carousel{inset:243px 0 150px}}@media(min-width:1600px){.carousel{inset:285px 0 190px}}@media(max-width:1000px) and (min-width:761px){.genre-nav{left:5%;right:5%}.genre-button{gap:7px;padding:12px 10px}.genre-button span{font-size:15px}.genre-button small{font-size:17px}}@media(max-width:760px){.genre-nav{top:190px;left:6%;right:6%;display:flex;gap:8px;overflow-x:auto;padding:6px 3px 12px;scrollbar-width:thin}.genre-button{min-width:125px;min-height:66px;flex:0 0 auto;padding:10px 12px;gap:8px}.genre-button span{font-size:15px}.genre-button small{font-size:17px}.genre-button em{font-size:6px}.carousel{inset:285px 0 190px}.exhibit-label{top:163px}.genre-button:hover{transform:translateY(-2px) scale(1.015)}}@media(prefers-reduced-motion:reduce){.genre-button,.genre-button::before{transition:none}.genre-button:hover{transform:none}}
/* Luminous edges across the film gallery. */
.project-card .card{border:1px solid #e5dbf1b3;box-shadow:0 0 0 1px #d8c7eb40,0 0 16px #cab5e34d,0 0 36px #cab5e326,0 24px 55px #443c3326;transition:box-shadow .3s,border-color .3s}
.project-card.is-active .card{border-color:#f0e5f7e6;box-shadow:0 0 0 1px #e5d2f380,0 0 22px #c5a4e080,0 0 52px #c5a4e038,0 24px 55px #443c3326}
.project-card .card:hover,.project-card .card:focus-visible{border-color:#fff3ff;box-shadow:0 0 0 1px #ead5ffb3,0 0 28px #c59aeaa6,0 0 65px #be9ad54d,0 24px 55px #443c3326}
@media(prefers-reduced-motion:reduce){.project-card .card{transition:none}}
/* Pointer-responsive film cards */
.card .pointer-light{position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(240px circle at var(--px,50%) var(--py,50%),#f3e3ff38,transparent 72%);box-shadow:inset 0 0 0 1px #fff4;transition:opacity .3s}
.card.is-pointer-active .pointer-light{opacity:1}.project-card .card{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s ease-out,box-shadow .3s,border-color .3s;will-change:transform}.card.is-pointer-active img{transform:scale(1.035) translate(var(--image-x,0px),var(--image-y,0px))}.card.is-pointer-active{box-shadow:0 0 0 1px #f5dfffbb,0 0 30px #c09bdd99,0 25px 65px #443c3340!important}@media(prefers-reduced-motion:reduce){.project-card .card{transform:none!important}.card.is-pointer-active img{transform:none!important}}
/* Atmospheric cinema palette — scoped to the exhibition. */
#exhibition{--ink:#eeeae0;--muted:#a7afa5;--halo:#b4a2c5;background:#111914;color:#eeeae0}
#exhibition .atmosphere{background:radial-gradient(ellipse at 20% 20%,#7d725529,transparent 60%),radial-gradient(ellipse at 85% 75%,#647b8b21,transparent 60%),linear-gradient(125deg,#18241e,#101712 62%,#151c19)}
#exhibition .atmosphere::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 28%,#04090788 100%);pointer-events:none}
#exhibition .field-one{background:radial-gradient(ellipse,var(--halo),transparent 65%);opacity:.12;filter:blur(105px)}
#exhibition .field-two{opacity:.08;background:radial-gradient(ellipse,#b7a27a,transparent 65%)}
#exhibition .light-ray{opacity:.08}.grain{opacity:.17}
#exhibition .signature strong .signature-name{color:#f0ece1}#exhibition .signature strong .signature-collection{color:#c0c6b9;border-color:#b8c3ac44}#exhibition .signature .signature-roles{color:#c0c6b8}#exhibition .signature small{color:#929f90}
#exhibition .exhibit-label,#exhibition .caption-label,#exhibition .edition,#exhibition .footer-tools{color:#b5bead}#exhibition .exhibit-label small{opacity:.75}#exhibition .label-line{background:#b9c7ae55}
#exhibition .ghost-title{color:transparent;-webkit-text-stroke:1px #b7c2a91c}#exhibition .art-caption{color:#adbaa078}#exhibition .art-orbit{border-color:#b9c7ae12}#exhibition .gallery-stage{opacity:.2}
#exhibition .genre-button{color:#d6d9cf;background:#18211c99;border-color:#a9bba92e;backdrop-filter:blur(12px)}#exhibition .genre-button.is-selected{color:#211d27;background:var(--halo);border-color:#e4d7eb88}#exhibition .genre-button:hover{border-color:var(--halo);box-shadow:0 0 23px color-mix(in srgb,var(--halo) 25%,transparent)}
#exhibition .genre-button::before{background:radial-gradient(110px circle at var(--mx) var(--my),color-mix(in srgb,var(--halo) 40%,transparent),transparent 75%)}
#exhibition .arrow{background:#26332a99;color:#e5e8db;border:1px solid #adc0a333}#exhibition .index-button{color:#a9b7a1;background:transparent}#exhibition .index-button.is-active{color:#eee9df}#exhibition .enter-button{color:#e4e8db}#exhibition .caption-number{color:#a9b7a1}
#exhibition .card{box-shadow:0 0 0 1px #c5bcda30,0 0 18px #aa8bc62e,0 25px 65px #0008}#exhibition .is-active .card{border-color:color-mix(in srgb,var(--halo) 80%,white);box-shadow:0 0 20px color-mix(in srgb,var(--halo) 23%,transparent),0 28px 65px #0009}
.ambient-pointer{position:absolute;inset:0;pointer-events:none;background:radial-gradient(440px circle at var(--ambient-x,50%) var(--ambient-y,50%),color-mix(in srgb,var(--halo) 8%,transparent),transparent 75%);z-index:0}
.film-cursor{border-color:#e6dcc7b3;box-shadow:0 0 15px #c2b5d514;transition:width .25s,height .25s,background .25s,border-color .25s,opacity .15s}.film-cursor::before{display:none}.film-cursor.is-work{background:#d1bfd01c;border-color:#dac8ed;backdrop-filter:blur(4px)}.film-cursor.is-link{background:#cbb1df18;border-color:#dbc9e8}.film-cursor span{color:#f0e9f4}.film-cursor-dot{position:fixed;top:0;left:0;width:4px;height:4px;border-radius:50%;background:#eee5d4;pointer-events:none;z-index:2147483647;transform:translate(-50%,-50%);opacity:0}.film-cursor.on-light{border-color:#39473299}.film-cursor-dot.on-light{background:#394732}.film-cursor.on-light span{color:#29312c}
@media(hover:none){.film-cursor-dot,.ambient-pointer{display:none}}@media(prefers-reduced-motion:reduce){.ambient-pointer{display:none}}
/* Quicker gallery navigation */
.project-card{transition:transform .52s cubic-bezier(.16,1,.3,1),opacity .38s}
@media(prefers-reduced-motion:reduce){.project-card{transition:none}}
/* Soft settling and center-card emphasis */
.project-card{transition:transform .78s cubic-bezier(.2,.85,.25,1),opacity .55s ease}
.project-card .card{scale:.94;transition:scale .75s cubic-bezier(.2,.85,.25,1),transform .4s ease-out,box-shadow .45s,border-color .4s}
.project-card.is-active .card{scale:1.035}
.project-card.is-arriving .card{animation:gallery-arrive .85s cubic-bezier(.2,.8,.25,1) both}
@keyframes gallery-arrive{0%{scale:.95}65%{scale:1.055}100%{scale:1.035}}
@media(prefers-reduced-motion:reduce){.project-card,.project-card .card{transition:none}.project-card.is-arriving .card{animation:none}}
/* Dialogs occupy the browser top layer; retain a visible native pointer there. */
html.film-cursor-ready dialog,html.film-cursor-ready dialog *,html.film-cursor-ready dialog a,html.film-cursor-ready dialog button{cursor:auto}
html.film-cursor-ready dialog a,html.film-cursor-ready dialog button{cursor:pointer}
html.has-open-panel .film-cursor,html.has-open-panel .film-cursor-dot{display:none!important}
.film-cursor{border-width:1.5px;border-color:#ece2c7cc;background:#c8b3dd08;box-shadow:0 0 0 4px #c8b3dd05,0 0 16px #c8b3dd18}
.film-cursor-dot{width:5px;height:5px;box-shadow:0 0 5px #0009}
.film-cursor.is-work{width:76px;height:76px;background:#211c2a66;box-shadow:0 0 0 5px #d5bee610,0 0 25px #cab1e433}.film-cursor.is-link{width:46px;height:46px;box-shadow:0 0 13px #cab1e42e}
/* Quiet gallery backdrop: charcoal material, restrained exhibition light. */
#exhibition{background:#141715;--halo:#b7adbf}
#exhibition .atmosphere{background:radial-gradient(ellipse 65% 65% at 50% 52%,#343a32 0%,#222822 40%,#141916 76%,#101411 100%)}
#exhibition .atmosphere::before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#e6dfc305 0%,transparent 35%,#00000012 80%),linear-gradient(0deg,#060b0870,transparent 32%,transparent 75%,#090d0b40);pointer-events:none}
#exhibition .atmosphere::after{background:radial-gradient(ellipse at 50% 48%,transparent 32%,#060a084d 100%)}
#exhibition .field-one,#exhibition .field-two,#exhibition .light-ray,#exhibition .art-orbit,#exhibition .art-caption,#exhibition .ambient-pointer,#exhibition .gallery-stage{display:none}
#exhibition .grain{opacity:.055;mix-blend-mode:soft-light}
#exhibition .ghost-title{opacity:.32;-webkit-text-stroke:1px #b8c0b516}
#exhibition .genre-button{background:#ffffff03;border-color:#d3d5c51c;border-radius:8px;backdrop-filter:none}
#exhibition .genre-button.is-selected{background:#b5adbb;color:#211f24;border-color:#d2cbd580;box-shadow:0 3px 16px #00000014}
#exhibition .genre-button:hover{box-shadow:0 0 18px #b8a7ca20}
#exhibition .project-card .card{border-color:#d8d3df50;box-shadow:0 0 12px #c5b2d315,0 28px 65px #0008}
#exhibition .project-card.is-active .card{border-color:#d8d0e294;box-shadow:0 0 18px #b9a4ce28,0 30px 70px #0009}
#exhibition .arrow{background:#ffffff06;border-color:#d1d7c51f}
/* Immersive cloud sea and wind layers. */
#exhibition .atmosphere{background:#172630 url('assets/cloud-world.jpg') center 53%/cover no-repeat}
#exhibition .atmosphere::before{background:linear-gradient(180deg,#07131dc9 0%,#0b19264d 30%,#12202b26 55%,#081219d9 100%);z-index:3}
#exhibition .atmosphere::after{background:linear-gradient(90deg,#0b182447,transparent 45%,#c8a7760d),radial-gradient(ellipse at center,transparent 35%,#07101e55);z-index:4}
.cloud-layer{position:absolute;inset:-15% -35%;pointer-events:none;opacity:.28;filter:blur(13px);background:radial-gradient(ellipse 19% 8% at 13% 52%,#d9e3e6a6,transparent 75%),radial-gradient(ellipse 26% 11% at 43% 58%,#b9cdd299,transparent 75%),radial-gradient(ellipse 20% 9% at 75% 48%,#e2e4dbaa,transparent 75%);animation:cloud-travel 65s ease-in-out infinite alternate;will-change:transform}
.cloud-layer.cloud-near{inset:-10% -45%;opacity:.2;filter:blur(23px);background:radial-gradient(ellipse 35% 12% at 20% 79%,#d5dfe0b3,transparent 72%),radial-gradient(ellipse 32% 10% at 72% 72%,#d5dfe0a6,transparent 72%);animation-duration:43s;animation-direction:alternate-reverse}
@keyframes cloud-travel{from{transform:translate3d(-7%,1%,0)}to{transform:translate3d(10%,-2%,0)}}
.wind-leaves{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.85}
#exhibition .genre-button{background:#15232c80;backdrop-filter:blur(14px);border-color:#c7d4d32e}#exhibition .genre-button.is-selected{background:#c4b7cae6;color:#24202a}
@media(prefers-reduced-motion:reduce){.cloud-layer{animation:none}.wind-leaves{display:none}}

/* Scrollable visual archive / editorial second chapter */
html{scroll-behavior:smooth}body{height:auto;min-height:100%;background:#101714}.scroll-archive-cue{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.12em;color:#d5dfd1;z-index:31;padding:6px 12px}.archive-page{position:relative;background:linear-gradient(160deg,#e5e5db,#d6dbd0 70%,#e1e1d6);color:#29362c;padding:48px 7% 30px}.archive-page-top,.archive-page-footer{display:flex;justify-content:space-between;gap:20px;font:9px/1.8 monospace;letter-spacing:.12em;color:#65715f}.archive-page-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:40px;margin:70px 0 55px}.archive-page-heading h2{font:normal clamp(38px,5vw,72px)/1.25 SimSun,serif;margin:0;letter-spacing:.05em}.archive-page-heading h2 em{font-style:normal;color:#78816e}.archive-page-heading p{font-size:13px;line-height:2;color:#6c7566}.archive-editorial{display:grid;grid-template-columns:1.4fr 1fr;gap:5%;align-items:start}.archive-editorial figure{margin:0;background:#aeb7a7;overflow:hidden}.archive-editorial img{width:100%;display:block;transition:transform .6s}.archive-editorial a:hover img{transform:scale(1.025)}.archive-secondary{padding-top:95px}.archive-feature figure{aspect-ratio:16/10}.archive-feature img{height:100%;object-fit:cover}.archive-secondary figure{aspect-ratio:1/1}.archive-secondary img{height:100%;object-fit:cover;object-position:left center}.archive-editorial a>div{padding-top:20px}.archive-editorial a>div>span,.archive-link{font:8px/1.8 monospace;letter-spacing:.12em;color:#7a816d}.archive-editorial h3{font:normal 25px/1.5 SimSun,serif;margin:10px 0}.archive-editorial p{font-size:12px;line-height:1.9;color:#6b7563}.archive-link{display:inline-block;margin-top:8px;padding-bottom:8px;border-bottom:1px solid #77836b60}.archive-strip-heading{border-top:1px solid #74826c40;margin-top:70px;padding:27px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.archive-strip-heading span{font:9px monospace;letter-spacing:.12em}.archive-strip-heading p{font-size:12px;color:#6b7563}.archive-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.archive-strip button{padding:0;background:none;text-align:left}.archive-strip img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .3s,box-shadow .3s}.archive-strip button:hover img{transform:translateY(-5px);box-shadow:0 12px 25px #34442d26}.archive-strip button>span{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-top:15px;color:#29362c}.archive-strip small{font:7px/1.8 monospace;color:#75806b}.creative-note{margin:80px 0 65px;padding:40px 0;border-top:1px solid #74826c40;border-bottom:1px solid #74826c40;display:grid;grid-template-columns:.5fr 1fr 1fr;gap:35px}.creative-note>span{font:8px/2 monospace;letter-spacing:.1em;color:#75806b}.creative-note h3{font:normal 32px/1.6 SimSun,serif;margin:0}.creative-note p{font-size:12px;line-height:2;color:#6b7563;margin-top:0}.creative-note button{padding:10px 0;background:none;border-bottom:1px solid #74826c60;font-size:12px;color:#29362c}.archive-page-footer{padding-bottom:10px}#exhibition .gesture-hint{font-size:0}#exhibition .gesture-hint::after{content:'横向滚动切换 / 向下浏览档案';font-size:9px}@media(max-width:760px){.archive-page{padding:35px 6% 25px}.archive-page-heading{grid-template-columns:1fr;gap:20px;margin:40px 0 30px}.archive-editorial{grid-template-columns:1fr;gap:30px}.archive-secondary{padding-top:0}.archive-secondary figure{aspect-ratio:16/10}.archive-secondary img{object-fit:contain}.archive-strip{grid-template-columns:1fr;gap:28px}.archive-strip-heading{display:block;margin-top:40px}.creative-note{grid-template-columns:1fr;gap:20px;margin:45px 0 35px}.creative-note h3{font-size:28px}.archive-page-footer{font-size:7px}.scroll-archive-cue{font-size:8px}.archive-editorial h3{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.archive-editorial img,.archive-strip img{transition:none}}
/* Winter archive — a second season of the cloud world. */
.archive-page{isolation:isolate;background:#13222f;color:#e4e9eb;position:relative}
.archive-page::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#101e2b80,#101d2bd4 55%,#0b1623ed),url('assets/winter-cloud-world.jpg') center top/cover no-repeat;pointer-events:none}
.archive-page::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 12%,#bad1e514,transparent 60%),linear-gradient(180deg,#08131b40,transparent 30%,#060e184d)}
.archive-page-top,.archive-page-footer{color:#a7bbc7}.archive-page-heading h2{color:#f0f0e7}.archive-page-heading h2 em{color:#b6c6d0}.archive-page-heading p,.archive-editorial p,.archive-strip-heading p,.creative-note p{color:#b5c3cb}
.archive-editorial a>div>span,.archive-link,.creative-note>span{color:#9eb5c5}.archive-editorial h3,.creative-note h3{color:#e7ebec}.archive-editorial figure{background:#7789951a;border:1px solid #b9d2e52e;box-shadow:0 15px 45px #0003}.archive-editorial figure img{opacity:.95}
.archive-strip-heading,.creative-note{border-color:#bdcede30}.archive-strip button>span,.creative-note button{color:#e2e8eb}.archive-strip small{color:#adc3d2}.archive-link,.creative-note button{border-color:#bacfdd66}.archive-strip img{border:1px solid #cad9e53d}.archive-strip button:hover img{box-shadow:0 0 22px #a6c5de38,0 15px 35px #0005}
.archive-snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.8}.archive-page>div,.archive-page>.creative-note{position:relative;z-index:3}.archive-page .archive-snow{position:absolute;z-index:2}
@media(prefers-reduced-motion:reduce){.archive-snow{display:none}}
/* Continuous horizontal exhibition motion */
#track.is-continuous .project-card{transition:opacity .35s;will-change:transform}#track.is-continuous .project-card.is-arriving .card{animation:none}#track.is-continuous .project-card .card{scale:var(--center-scale,1);transition:scale .15s,transform .35s,box-shadow .4s}

/* Third chapter / autumn biography */
.about-page{position:relative;isolation:isolate;background:#30291f;color:#eee4d1;padding:45px 7% 30px;overflow:hidden}.about-page::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#241e16a1,#272117e0 45%,#191b16ed),url('assets/autumn-world.jpg') center/cover no-repeat}.about-page::after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 80% 10%,#df9f4321,transparent 70%);pointer-events:none}.about-page-top{display:flex;justify-content:space-between;font:9px/1.8 monospace;letter-spacing:.13em;color:#d2bd99}.about-page .resume-content{max-width:1150px;margin:auto;padding:50px 0 35px;position:relative;z-index:3}.about-page .resume-portrait-intro{grid-template-columns:1fr 1fr;gap:10%}.about-page .resume-street{max-width:430px}.about-page .resume-street img{filter:grayscale(1) sepia(.18) contrast(.95)}.about-page .portrait-note>span{color:#efdfc1}.about-page .portrait-note p,.about-page .portrait-note small,.about-page .resume-kicker{color:#bda986}.about-page .resume-section,.about-page .resume-hero,.about-page .resume-contact{border-color:#d9bf8933}.about-page .resume-section-label>span,.about-page .resume-content time,.about-page .resume-job,.about-page .resume-skills small{color:#c2a977}.about-page .resume-role,.about-page .resume-statement p,.about-page .resume-skills p,.about-page .resume-timeline p,.about-page .resume-education p{color:#c9c1ad}.about-page .resume-gpa{color:#eee0c4!important}.about-page .resume-content h2,.about-page .resume-content h3,.about-page .resume-content h4{color:#eee4d1}.about-page .resume-timeline article+article{border-color:#d9bf8926}.about-page .resume-studio{background:#ddd7c6;border-color:#e6cfa74d}.about-page .resume-studio figcaption{color:#68705e}.about-page .resume-street figcaption{color:#bcac8d}.about-page .resume-contact a,.about-page .resume-back{border-color:#d9bf8960;color:#e6d8b9}.about-page .resume-back{display:inline-block}.autumn-leaves{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.about-page .resume-studio img{filter:none}@media(max-width:760px){.about-page{padding:32px 6% 20px}.about-page .resume-content{padding-top:35px}.about-page .resume-portrait-intro{grid-template-columns:1.5fr 1fr;gap:20px}.about-page-top{font-size:8px}}@media(prefers-reduced-motion:reduce){.autumn-leaves{display:none}}
/* Only decorative layers are transparent to cover interaction. */
#track .project-card:not([hidden]) .card{pointer-events:auto}#track .card img,#track .card-hover-cue,#track .pointer-light{pointer-events:none}
/* The 3D track plane must not intercept hits on its recessed cards. */
#track{pointer-events:none}#track .project-card:not([hidden]){pointer-events:auto}#track .project-card:not([hidden]) .card{pointer-events:auto}

/* Director's method: clear steps from intention to delivery. */
.archive-page-heading{margin-bottom:55px}.archive-page-heading h2 em{color:#c3b4d5}.director-method{margin:0 0 75px;border-top:1px solid #c5d2df30}.method-row{display:grid;grid-template-columns:65px minmax(220px,.85fr) minmax(0,1.15fr);gap:30px;align-items:start;padding:35px 0;border-bottom:1px solid #c5d2df26}.method-number{font:italic 16px/1.6 Georgia,serif;color:#c1afd1}.method-title small{font:8px/1.8 monospace;letter-spacing:.14em;color:#899eaf}.method-title h3{font:normal 25px/1.5 SimSun,serif;letter-spacing:.02em;margin:9px 0 0;color:#ebeee9}.method-copy p{font-size:13px;line-height:2.1;color:#bdcbd4;margin:0}.method-copy>span{display:block;margin-top:15px;font-size:9px;letter-spacing:.08em;color:#849eaf}.method-row:hover .method-title h3{color:#ded0eb}.method-to-images{margin-bottom:35px}.method-to-images>span{font:8px monospace;letter-spacing:.18em;color:#97adbd}.method-to-images h3{font:normal 29px/1.5 SimSun,serif;color:#e6ecec;margin:15px 0}.method-to-images p{font-size:12px;line-height:1.9;color:#a5bbc9}.archive-page .director-method{z-index:3;position:relative}.archive-page .director-closing{margin-top:65px}@media(max-width:760px){.method-row{grid-template-columns:35px 1fr;gap:12px 15px;padding:26px 0}.method-number{font-size:14px}.method-title h3{font-size:22px}.method-copy{grid-column:2}.method-copy p{font-size:12px;line-height:2}.method-title small{font-size:7px}.director-method{margin-bottom:45px}.method-to-images h3{font-size:24px}.archive-page-heading{margin-bottom:30px}}
