:root{--bg:#000;--paper:#e6e2d8;--muted:#b5b4a9;--kai:"Kaiti TC","Kaiti SC","STKaiti","KaiTi","BiauKai",serif;--serif:"Songti TC","Songti SC",serif;color:var(--paper);background:var(--bg);font-family:-apple-system,"PingFang TC",sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,p{margin:0}a:focus-visible,button:focus-visible{outline:1px solid #c1cbbb;outline-offset:7px}header{position:absolute;inset:0 0 auto;z-index:4;padding:22px 4.5vw;display:flex;justify-content:space-between;align-items:center}.domain{font:14px "Museum Serif",serif;letter-spacing:.12em}.menu-button{border:0;background:transparent;min-width:44px;min-height:44px;font-size:12px;letter-spacing:.18em}.cover{height:255svh;background:#000}.cover-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#000}.cover-art{position:absolute;inset:0;transform-origin:50% 69%;will-change:clip-path,transform;display:flex;align-items:center;justify-content:center}.cover-art img{width:100%;height:100%;object-fit:contain;display:block}.explore{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;font-size:11px;letter-spacing:.14em;color:#c9c8ba;text-align:center;z-index:2}.explore span{display:block;font-size:18px;margin-top:12px}.exhibit{height:100svh;min-height:760px;padding:7svh 6.5vw 9svh;position:relative;isolation:isolate}.exhibit-inner{height:100%;max-width:1720px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);column-gap:5vw;align-items:center}.artwork{height:100%;min-height:0;min-width:0;grid-column:2;grid-row:1;mix-blend-mode:lighten}.art{width:100%;height:100%;display:block;overflow:hidden}.object-info{grid-column:1;grid-row:1;align-self:center;min-width:0;container-type:inline-size;padding-bottom:20px}.object-info h2{font-family:var(--serif);--title-size:clamp(30px,3vw,48px);font-size:min(var(--title-size),calc(100cqw / var(--title-units)));line-height:1.55;letter-spacing:.07em;font-weight:400;white-space:nowrap;max-width:none}.period{font:clamp(20px,1.6vw,26px)/1.8 var(--serif);margin-top:30px;letter-spacing:.06em;color:#d2d0c5}.dimensions{font:clamp(18px,1.35vw,22px)/1.9 var(--serif);margin-top:8px;letter-spacing:.015em;color:var(--muted);max-width:25em}.reverse .exhibit-inner{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.reverse .artwork{grid-column:1}.reverse .object-info{grid-column:2}.landscape .artwork{height:74%;align-self:center}.portrait .artwork{height:94%}.exhibit:after{content:"";position:absolute;bottom:4svh;left:46%;right:46%;height:1px;background:#ffffff19}footer{padding:80px 8vw 35px}footer h2{font:30px var(--serif);letter-spacing:.12em;margin-bottom:55px}footer .foot{border-top:1px solid #ffffff24;padding-top:24px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font:12px "Museum Serif",serif;letter-spacing:.06em}footer a{padding:12px 0}dialog{background:var(--bg);color:var(--paper);border:1px solid #55584e;padding:32px;width:min(450px,88vw)}dialog::backdrop{background:#000c}dialog nav{display:grid;gap:16px;padding:36px 8px}dialog nav a{font:28px var(--serif);padding:12px 0}dialog button{border:0;background:none;float:right;width:44px;height:44px}.skip{position:absolute;top:-100px;z-index:20;padding:15px;background:var(--paper);color:var(--bg)}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:700px){header{padding:15px 24px}.cover{height:235svh}.cover-art img{object-fit:contain}.explore{bottom:4svh}.exhibit{height:100svh;min-height:700px;padding:5svh 26px 7svh}.exhibit-inner,.reverse .exhibit-inner{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;row-gap:20px}.artwork,.reverse .artwork,.portrait .artwork{grid-column:1;grid-row:1;height:100%;width:100%}.landscape .artwork{height:100%}.object-info,.reverse .object-info{grid-column:1;grid-row:2;padding:0;align-self:start;text-align:left}.object-info h2{--title-size:28px;line-height:1.55;letter-spacing:.05em;max-width:none}.period{font-size:21px;margin-top:18px;line-height:1.6}.dimensions{font-size:18px;line-height:1.8;margin-top:5px;max-width:none}.exhibit:after{bottom:3svh}footer{padding:60px 26px 30px}footer h2{font-size:25px}.foot{gap:20px}}
@media(min-width:701px) and (max-width:1000px){.exhibit{height:105svh;min-height:780px;padding-left:5vw;padding-right:5vw}.exhibit-inner,.reverse .exhibit-inner{column-gap:4vw;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.object-info h2{--title-size:30px}.dimensions{font-size:18px}}
@media(prefers-reduced-motion:reduce),(max-height:500px){.cover{height:100svh;min-height:500px}.cover-stage{position:relative;height:100%;min-height:500px}.cover-art{transform:none!important;clip-path:none!important;will-change:auto}.exhibit{height:auto;min-height:850px}.exhibit-inner{min-height:650px}.artwork{min-height:450px}}

/* V4: a title above each complete object, with independent scale and placement. */
.prelude{height:90svh;min-height:520px;position:relative;display:grid;place-items:center;background:#0d0d0b;padding:24px}
.prelude h1{font:normal clamp(30px,4.4vw,68px)/1.5 var(--serif);letter-spacing:.12em;white-space:nowrap}
.prelude .explore{bottom:7svh}
.opening-words{min-height:66svh;padding:80px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;background:#000;text-align:center}
.opening-words p{font:18px var(--serif);color:var(--muted);letter-spacing:.3em}
.opening-words h2{font:normal clamp(24px,3.7vw,54px)/1.6 var(--serif);letter-spacing:.08em;white-space:nowrap}
.exhibit{height:110svh;min-height:800px;padding:6svh 7vw 10svh}
.exhibit-inner,.reverse .exhibit-inner{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:30px;width:86%;max-width:1320px;min-height:0;margin:0 auto}
.object-info,.reverse .object-info{grid-column:1;grid-row:1;align-self:start;padding:0;container-type:inline-size;text-align:left}
.object-info h2{--title-size:clamp(30px,3vw,46px);font-size:min(var(--title-size),calc(100cqw / var(--title-units)));line-height:1.4;white-space:nowrap;letter-spacing:.04em;max-width:none}
.period{font-size:21px;line-height:1.6;margin-top:13px}
.dimensions{font-size:18px;line-height:1.8;margin-top:5px;max-width:none}
.artwork,.reverse .artwork,.portrait .artwork,.landscape .artwork{grid-column:1;grid-row:2;width:100%;height:100%;min-height:0;align-self:stretch}
.offset-right .exhibit-inner{width:69%;margin-left:auto;margin-right:0}
.offset-left .exhibit-inner{width:78%;margin-left:0;margin-right:auto}
.quiet .exhibit-inner{width:64%;margin-left:8%;margin-right:auto}
.quiet .artwork{width:72%;height:80%;justify-self:center;align-self:center}
.textile{height:135svh;min-height:1050px}.textile .exhibit-inner{width:76%;gap:35px}
.tall .exhibit-inner{width:65%}.round .exhibit-inner{width:72%}
.exhibit:after{display:none}
@media(max-width:700px){
 .prelude{height:90svh;min-height:500px}.prelude h1{font-size:clamp(25px,6.8vw,34px);letter-spacing:.06em}
 .opening-words{min-height:60svh;gap:24px;padding:70px 20px}.opening-words h2{font-size:clamp(22px,6vw,32px);letter-spacing:.025em}.opening-words p{font-size:16px}
 .exhibit{height:105svh;min-height:740px;padding:5svh 24px 8svh}
 .exhibit .exhibit-inner{width:100%;margin:0;gap:24px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:0}
 .object-info h2{--title-size:28px}.period{font-size:18px;margin-top:12px}.dimensions{font-size:16px;line-height:1.8}
 .quiet .artwork{width:80%;height:70%}.textile{height:120svh;min-height:850px}.textile .exhibit-inner{gap:28px}
}
@media(min-width:701px) and (max-width:1000px){.exhibit .exhibit-inner{grid-template-columns:minmax(0,1fr);width:90%;gap:25px}.object-info h2{--title-size:32px}.quiet .artwork{width:68%}}
@media(max-height:500px){.exhibit{height:auto;min-height:850px}.exhibit-inner{grid-template-rows:auto minmax(450px,1fr)}.opening-words{min-height:350px}.prelude{min-height:500px}}
/* V5: landscape art direction uses the supplied TIFF at its native proportions. */
.prelude{height:78svh}
.cover{height:285svh}
.cover-art{transform-origin:65% 65%;will-change:mask-image,transform}
.cover-desktop{display:block;position:absolute;inset:0;overflow:hidden}
.cover-desktop svg{display:block;position:absolute;overflow:hidden}
.cover-shadow{left:0;bottom:-5%;width:49%;height:103%;mask-image:linear-gradient(to right,#000 72%,transparent 100%)}
.cover-lettering{right:5%;top:4%;width:55%;height:30%}
.cover-bowl{right:3%;bottom:4%;width:61%;height:63%}
.cover-mobile{display:none;width:100%;height:100%}
.cover-verse{position:absolute;left:6%;bottom:15%;z-index:2;max-width:40%;pointer-events:none}
.cover-verse p{font:18px var(--serif);color:#c5c8bb;letter-spacing:.2em;margin-bottom:24px}
.cover-verse h2{font:normal clamp(22px,2.45vw,46px)/1.8 var(--serif);letter-spacing:.06em;white-space:nowrap;color:#eeeade;text-shadow:0 2px 20px #000}
.cover-stage>.explore{left:6%;transform:none;bottom:4%;font-size:11px;text-align:left;padding-left:0}
.cover-stage>.explore span{display:inline-block;margin:0 0 0 15px}
@media(max-width:700px),(orientation:portrait){
 .cover{height:270svh}.cover-desktop{display:none}.cover-mobile{display:block}
 .cover-art{transform-origin:50% 66%}.cover-mobile img{object-fit:contain}
 .cover-verse{left:20px;right:20px;bottom:7%;max-width:none;text-align:center}
 .cover-verse p{font-size:14px;margin-bottom:10px}.cover-verse h2{font-size:clamp(20px,5.6vw,30px);letter-spacing:.025em}
 .cover-stage>.explore{left:50%;transform:translateX(-50%);bottom:0;padding:12px;font-size:10px;white-space:nowrap}
}
@media(min-width:701px) and (min-aspect-ratio:2/1){.cover-shadow{left:0;width:42%;height:108%}.cover-bowl{right:8%;width:52%;height:64%}.cover-lettering{right:8%;width:52%;height:29%}.cover-verse{left:8%;max-width:36%}.cover-verse h2{font-size:clamp(24px,2.1vw,44px)}}
@media(prefers-reduced-motion:reduce),(max-height:500px){.cover{height:100svh;min-height:500px}.cover-art{mask-image:none!important;transform:none!important;will-change:auto}.cover-verse,.cover-verse>*{opacity:1!important}}
.cover-lettering,.cover-bowl{mix-blend-mode:lighten}
.cover-bowl{mask-image:linear-gradient(to right,transparent 0%,#000 5%,#000 100%)}
.cover-stage::before{content:"";position:absolute;inset:-15%;z-index:1;pointer-events:none;opacity:var(--ghost-opacity,0);background:radial-gradient(ellipse at 42% 65%,#d7d0be1f 0%,transparent 35%),radial-gradient(ellipse at 72% 52%,#b9c5c11a 0%,transparent 42%);filter:blur(18px);transform:translateX(calc((1 - var(--cover-progress,0))*-2%)) scale(calc(1.04 + var(--cover-progress,0)*.08));transition:opacity .2s linear}
.cover-stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:var(--ghost-opacity-secondary,0);background:linear-gradient(105deg,transparent 25%,#e1d7bd10 43%,transparent 59%);transform:translateX(calc((1 - var(--cover-progress,0))*-10%));transition:transform .25s linear,opacity .2s linear}
@media(max-width:700px){.cover-mobile img{object-fit:cover;object-position:50% 58%;transform:scale(calc(1.12 - var(--cover-progress,0)*.06));transition:transform .2s linear}}
/* V10: a quieter title card with a visible passage into the collection. */
.prelude{overflow:hidden;isolation:isolate;--prelude-progress:0;background:#070706}
.prelude::before{content:"";position:absolute;inset:-16%;z-index:-2;background:linear-gradient(115deg,transparent 22%,#c8bfa33b 50%,transparent 78%);opacity:.65;mask-image:radial-gradient(ellipse at 50% 48%,#000 0%,#000 38%,transparent 78%);transform:scale(calc(1.18 - var(--prelude-progress)*.16)) translateY(calc(var(--prelude-progress)*-5%));transform-origin:center;transition:transform .2s linear}
.prelude::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 48%,#b7aa8052 0,transparent 33%),linear-gradient(180deg,#00000008,#000000a8);pointer-events:none}
.prelude>*{position:relative;z-index:1}
.prelude-object{position:absolute!important;z-index:-1!important;inset:8% 5% 6% 34%;opacity:calc(.34 + var(--prelude-progress)*.22);filter:grayscale(.18) saturate(.72) contrast(1.04);mask-image:radial-gradient(ellipse at 58% 58%,#000 0%,#000 42%,transparent 79%);transform:translate3d(calc(var(--prelude-progress)*-4%),calc(var(--prelude-progress)*-3%),0) scale(calc(1.16 - var(--prelude-progress)*.08));transform-origin:65% 60%;transition:transform .2s linear,opacity .2s linear}
.prelude-bowl{display:block;width:100%;height:100%;overflow:hidden;mix-blend-mode:screen}
.prelude-mist{position:absolute!important;z-index:0!important;pointer-events:none;border-radius:50%;filter:blur(42px);mix-blend-mode:screen;will-change:transform,opacity}
.mist-a{left:-12%;top:20%;width:72%;height:58%;opacity:.58;background:radial-gradient(ellipse at 28% 58%,#e2e3da4f 0%,transparent 34%),radial-gradient(ellipse at 67% 42%,#adbab13d 0%,transparent 42%),linear-gradient(104deg,transparent 8%,#c9d0c72e 46%,transparent 78%);animation:mistDriftA 9s ease-in-out infinite alternate}
.mist-b{right:-18%;bottom:3%;width:78%;height:62%;opacity:.50;background:radial-gradient(ellipse at 36% 54%,#ded4c64a 0%,transparent 36%),radial-gradient(ellipse at 74% 35%,#aab7b039 0%,transparent 44%),linear-gradient(78deg,transparent 16%,#d3ccbd29 52%,transparent 86%);animation:mistDriftB 11s ease-in-out infinite alternate}
@keyframes mistDriftA{from{transform:translate3d(-5%,4%,0) scale(.92);opacity:.30}to{transform:translate3d(16%,-8%,0) scale(1.18);opacity:.58}}
@keyframes mistDriftB{from{transform:translate3d(8%,2%,0) scale(1.08);opacity:.28}to{transform:translate3d(-18%,-10%,0) scale(.94);opacity:.52}}
.prelude h1{position:relative;text-shadow:none}
.prelude-caption{position:absolute!important;left:6%;bottom:13%;display:grid;gap:6px;font:10px/1.4 "Museum Serif",var(--serif);letter-spacing:.18em;color:#aaa69a;opacity:calc(.72 - var(--prelude-progress)*.5)}
.prelude-caption span:first-child{font-family:var(--serif);font-size:13px;letter-spacing:.16em;color:#d0cabe}
.cover-verse{transition:transform .35s cubic-bezier(.22,1,.36,1)}
@media(max-width:700px){.prelude::before{inset:-20%;opacity:.42}.prelude-object{inset:11% -24% 12% -10%;opacity:calc(.42 + var(--prelude-progress)*.20);mask-image:radial-gradient(ellipse at 54% 48%,#000 0%,#000 48%,transparent 84%);transform:translate3d(calc(var(--prelude-progress)*-3%),calc(var(--prelude-progress)*-2%),0) scale(calc(1.24 - var(--prelude-progress)*.10))}.prelude h1{align-self:end;margin-bottom:42svh;font-size:clamp(28px,8vw,38px);letter-spacing:.08em}.prelude-caption{left:24px;bottom:15%;font-size:9px}.prelude-mist{filter:blur(28px)}.mist-a{left:-35%;top:12%;width:110%;height:62%;opacity:.55}.mist-b{right:-45%;bottom:3%;width:120%;height:68%;opacity:.50}}
@media(prefers-reduced-motion:reduce),(max-height:500px){.prelude::before,.prelude-object{transition:none}.prelude-mist{animation:none}.prelude-caption{opacity:1}}
/* V6: bilingual catalogue labels and an optional, object-specific base view. */
.english-label{margin-top:16px;max-width:46em;color:#aaa99f;font:14px/1.65 "Museum Serif","Times New Roman",serif;letter-spacing:.015em}
.english-label .title-en{font-size:17px;color:#d0cec4;margin-bottom:5px;text-wrap:balance}
.exhibit{height:120svh;min-height:900px}
.textile{height:145svh;min-height:1150px}
.with-notes{height:auto;min-height:0}
.with-notes .exhibit-inner{height:95svh;min-height:800px}
@media(min-width:701px){
 .artwork,.reverse .artwork,.portrait .artwork,.landscape .artwork,.quiet .artwork,.textile .artwork,.tall .artwork{width:86%;height:86%;justify-self:center;align-self:center;--art-scale:1}
 .offset-right .artwork{--art-scale:1.24}
 .offset-left .artwork{--art-scale:1.10}
 .quiet .artwork{--art-scale:1.06}
 #tea .artwork{--art-scale:1.00}
 .textile .artwork{--art-scale:1.28}
 .tall .artwork{--art-scale:1.30}
 .round .artwork{--art-scale:1.18}
 #jade .artwork{--art-scale:.90}
}
.object-notes{width:64%;max-width:880px;margin:0 auto 0 8%;display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.object-story{max-width:36em}.object-story h3{font:22px/1.5 var(--serif);font-weight:400;margin:0 0 16px}.object-story h3 span{display:block;font:13px/1.7 "Museum Serif",serif;color:var(--muted);margin-top:5px}
.object-story p{font:17px/1.9 var(--serif);color:#cbc8bf}.object-story p[lang=en]{font:14px/1.8 "Museum Serif",serif;color:#aaa99f;margin-top:12px}
.base-view{border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;max-width:540px}
.base-view summary{display:flex;gap:20px;align-items:center;cursor:pointer;padding:18px 0;font:18px var(--serif);list-style:none}.base-view summary::-webkit-details-marker{display:none}.base-view summary:focus-visible{outline:1px solid #c1cbbb;outline-offset:4px}
.base-thumb{width:90px;flex-shrink:0}.base-thumb svg{display:block;width:100%;height:70px;overflow:hidden}.base-view small{display:block;font:12px/1.6 "Museum Serif",serif;color:var(--muted);margin-top:6px}.base-toggle{margin-left:auto}.base-view[open] .base-toggle{transform:rotate(45deg)}
.base-view figure{margin:12px 0 28px}.base-view figure svg{width:100%;max-height:360px;display:block;overflow:hidden}.base-view figcaption{font:16px/1.8 var(--serif);text-align:center;margin-top:18px}.base-view figcaption span{display:block;font:12px/1.8 "Museum Serif",serif;color:var(--muted)}
@media(max-width:700px){.english-label{font-size:12px;margin-top:13px}.english-label .title-en{font-size:14px;line-height:1.5}.exhibit{height:115svh;min-height:840px}.textile{height:135svh;min-height:1000px}.with-notes{height:auto;min-height:0}.with-notes .exhibit-inner{height:95svh;min-height:750px}.object-notes{width:100%;margin:0;gap:25px}.object-story p{font-size:16px}.object-story p[lang=en]{font-size:13px}.base-thumb{width:76px}}
/* V7: open photographs without leaving the object or scrolling the page. */
.art-open{display:block;border:0;background:none;padding:0;color:inherit;cursor:zoom-in;text-align:inherit;font:inherit}
.view-trigger{display:inline-flex;gap:12px;align-items:center;background:none;border:0;border-bottom:1px solid #88877a;padding:10px 0;margin-top:12px;min-height:44px;cursor:pointer;font:14px var(--serif)}
.view-trigger span{font:12px "Museum Serif",serif;color:#c2c0b5}
.english-label{color:#bebbb0}.english-label .title-en{color:#e0dbce}
#image-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px 4vw;border:0;background:#080808;color:var(--paper);overflow:hidden}
#image-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px}
.viewer-head{display:flex;align-items:start;gap:20px;justify-content:space-between;min-width:0}.viewer-head h2{font:26px/1.4 var(--serif);margin:0}.viewer-head p{font:14px/1.5 "Museum Serif",serif;color:#bcb8ac;margin-top:6px}
#image-viewer button{float:none;cursor:pointer;border:1px solid #55554b;background:transparent;min-width:44px;min-height:44px;width:auto;color:inherit}
#viewer-close{flex-shrink:0}.viewer-canvas{overflow:auto;min-height:0;min-width:0;overscroll-behavior:contain;touch-action:pan-x pan-y}
#viewer-art{height:100%;width:100%}#viewer-art>svg{width:100%;height:100%;display:block;overflow:hidden}.viewer-canvas.zoomed #viewer-art{width:200%;height:200%}
.viewer-controls{display:flex;gap:16px;align-items:center;justify-content:center}#viewer-caption{font:13px/1.5 "Museum Serif",var(--serif);text-align:center}#viewer-zoom{padding:8px 16px!important;font-size:13px}#image-viewer button:disabled{opacity:.25;cursor:default}
#viewer-thumbs{display:flex;justify-content:center;gap:12px;overflow-x:auto;padding:4px 0}
#viewer-thumbs button{flex:0 0 112px;padding:7px;border-color:transparent}#viewer-thumbs button[aria-pressed=true]{border-color:#c2b99f;background:#ffffff08}#viewer-thumbs svg{display:block;width:100%;height:58px;overflow:hidden}#viewer-thumbs span{display:block;font:11px/1.4 "Museum Serif",var(--serif);margin-top:6px}
@media(max-width:700px){#image-viewer{padding:18px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.viewer-head h2{font-size:20px}.viewer-head p{font-size:12px}.viewer-controls{gap:8px}#viewer-caption{font-size:11px}#viewer-thumbs button{flex-basis:90px}#viewer-thumbs svg{height:45px}.view-trigger{margin-top:7px}.exhibit{min-height:900px}}
/* V8: a dedicated lower-right control strip keeps the image unobstructed. */
.artwork{position:relative;padding-bottom:54px;mix-blend-mode:normal}
.artwork>.art-open{width:100%;height:100%;min-height:0;mix-blend-mode:lighten}
.artwork>.view-trigger{position:absolute;right:0;bottom:0;margin:0;padding:10px 0;gap:10px;border-bottom:0;color:#d5d1c5;background:transparent}
@media(max-width:700px){.artwork{padding-bottom:50px}.artwork>.view-trigger{font-size:13px}.artwork>.view-trigger span{font-size:11px}}

/* V9: scroll-led exhibition movement inspired by immersive editorial staging. */
main{overflow:clip}
.prelude h1{opacity:0;animation:titleWake 1.5s cubic-bezier(.22,1,.36,1) .2s forwards}
@keyframes titleWake{from{opacity:0;transform:translateY(18px) scale(.96);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
.cover:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 67% 58%,transparent 24%,#00000052 72%,#000000a6 100%);opacity:calc(1 - var(--cover-light, 0))}
.cover-stage{--cover-light:.2}
.cover-art{filter:contrast(1.02) saturate(.92);transition:filter .25s linear}
.cover-stage>.explore,.prelude .explore{animation:scrollPulse 2.6s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.58;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(7px)}}
@media(min-width:701px){.cover-stage>.explore{animation-name:scrollPulseLeft}@keyframes scrollPulseLeft{0%,100%{opacity:.58;transform:translateY(0)}50%{opacity:1;transform:translateY(7px)}}}
.exhibit{--exhibit-progress:0;--exhibit-presence:0;--exhibit-exit:0;overflow:clip}
.exhibit-inner{position:sticky;top:6svh;height:88svh;transform:translateY(calc((1 - var(--exhibit-presence))*5.5svh)) scale(calc(.94 + var(--exhibit-presence)*.06));opacity:calc(.18 + var(--exhibit-presence)*.82);filter:blur(calc((1 - var(--exhibit-presence))*10px));transition:opacity .18s linear}
.object-info{transform:translateY(calc((1 - var(--exhibit-presence))*34px));opacity:calc(.25 + var(--exhibit-presence)*.75)}
.object-info h2{transform:translateY(calc((1 - var(--exhibit-presence))*18px)) scale(calc(.96 + var(--exhibit-presence)*.04));transform-origin:left center}
.period,.dimensions,.english-label,.view-trigger{opacity:calc(var(--exhibit-presence)*.92);transform:translateY(calc((1 - var(--exhibit-presence))*16px))}
.artwork{transform:translateY(calc((1 - var(--exhibit-presence))*42px)) scale(calc((.9 + var(--exhibit-presence)*.1)*var(--art-scale,1)));filter:drop-shadow(0 42px 46px #00000073)}
.artwork>.art-open{clip-path:inset(calc((1 - var(--exhibit-presence))*18%) calc((1 - var(--exhibit-presence))*10%) round 1px)}
.artwork .art{transform:scale(calc(1.035 - var(--exhibit-progress)*.035));transform-origin:center;will-change:transform}
.object-notes{opacity:calc(.35 + var(--exhibit-presence)*.65);transform:translateY(calc((1 - var(--exhibit-presence))*26px))}
.collection-progress{position:fixed;right:3.1vw;top:50%;z-index:5;display:grid;grid-template-columns:auto auto;gap:13px;align-items:center;transform:translateY(-50%);color:#d8d4c8;opacity:.88;pointer-events:auto}
.progress-line{grid-row:1/span 2;width:1px;height:150px;background:#ffffff21;position:relative;overflow:hidden}.progress-line span{display:block;width:100%;height:100%;background:#d8d4c8;transform-origin:top;transform:scaleY(var(--collection-progress,0))}
.progress-dots{display:grid;gap:10px}.progress-dots a{width:9px;height:9px;border:1px solid #d8d4c880;border-radius:50%;background:#000;transition:transform .25s ease,background .25s ease,border-color .25s ease}.progress-dots a[aria-current=true]{transform:scale(1.55);background:#d8d4c8;border-color:#d8d4c8}
.progress-label{writing-mode:vertical-rl;font:14px/1.4 var(--serif);letter-spacing:.12em;color:#c9c3b6;min-height:8em;text-align:center}
@media(max-width:700px){
 main{overflow:visible}.exhibit{overflow:visible}.exhibit-inner{top:4svh;height:88svh;transform:translateY(calc((1 - var(--exhibit-presence))*3svh)) scale(calc(.965 + var(--exhibit-presence)*.035));filter:none}
 .object-info{transform:translateY(calc((1 - var(--exhibit-presence))*18px))}.artwork{transform:translateY(calc((1 - var(--exhibit-presence))*25px)) scale(calc(.94 + var(--exhibit-presence)*.06));filter:drop-shadow(0 24px 28px #00000073)}
 .artwork>.art-open{clip-path:inset(calc((1 - var(--exhibit-presence))*10%) calc((1 - var(--exhibit-presence))*7%) round 1px)}
 .collection-progress{right:14px;gap:8px}.progress-line{height:92px}.progress-dots{gap:7px}.progress-dots a{width:7px;height:7px}.progress-label{display:none}
}
@media(prefers-reduced-motion:reduce),(max-height:500px){
 .prelude h1,.cover-stage>.explore,.prelude .explore{animation:none;opacity:1}.cover:after{display:none}
 .exhibit-inner,.object-info,.object-info h2,.period,.dimensions,.english-label,.view-trigger,.artwork,.object-notes{transform:none!important;opacity:1!important;filter:none!important}
 .artwork>.art-open{clip-path:none!important}.artwork .art{transform:none!important}.collection-progress{display:none}
}

/* V11: a pinned, scroll-driven opening scene with real-time layered mist. */
.prelude{height:210svh;min-height:1250px;display:block;padding:0;background:#020302;overflow:visible}
.prelude-stage{position:sticky;top:0;left:0;width:100%;height:100svh;min-height:620px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 62% 55%,#29302c 0%,#0a0d0b 40%,#010101 78%)}
.prelude-stage::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#000 0%,#000000c9 27%,transparent 58%,#00000094 100%),linear-gradient(0deg,#000000d9 0%,transparent 38%,#0000008f 100%);pointer-events:none}
.mist-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.mist-back{z-index:1;mix-blend-mode:screen;opacity:.88}.mist-front{z-index:3;mix-blend-mode:screen;opacity:.92}
.prelude-stage .prelude-object{position:absolute!important;z-index:2!important;inset:4% 1% -2% 31%;width:auto;height:auto;opacity:.42;filter:brightness(.92) saturate(.76) contrast(1.08);mask-image:none;transform-origin:64% 60%;will-change:transform,opacity,filter;transition:opacity .12s linear,filter .12s linear}
.prelude-stage .prelude-bowl{width:100%;height:100%;display:block;overflow:hidden;mix-blend-mode:screen}
.prelude-copy{position:absolute;z-index:4;left:7vw;top:50%;max-width:44vw;transform:translateY(-50%);pointer-events:none}
.prelude-copy h1{margin:0;font:normal clamp(38px,5vw,82px)/1.32 var(--serif);letter-spacing:.1em;white-space:nowrap;opacity:0;filter:blur(10px);will-change:transform,opacity,filter;animation:none!important;text-shadow:0 6px 36px #000}
.prelude-stage .prelude-caption{position:absolute!important;z-index:4;left:7vw;bottom:11svh;margin:0;opacity:.72;transition:opacity .18s linear}
.prelude-stage>.explore{z-index:5;left:auto;right:6vw;bottom:8svh;transform:none;text-align:right;opacity:.8}
@media(max-width:700px){
 .prelude{height:185svh;min-height:1180px}.prelude-stage{min-height:0;background:radial-gradient(ellipse at 52% 45%,#343c38 0%,#0b0f0d 47%,#010101 82%)}
 .prelude-stage::before{background:linear-gradient(180deg,#000000a0 0%,transparent 29%,#000000a8 86%,#000 100%),linear-gradient(90deg,#0000008a,#0000 50%,#00000055)}
 .mist-back{opacity:.96}.mist-front{opacity:1}
 .prelude-stage .prelude-object{inset:5% -34% 14% -24%;opacity:.46;mask-image:none;transform-origin:50% 55%}
 .prelude-copy{left:24px;right:20px;top:26%;max-width:none;transform:none}.prelude-copy h1{font-size:clamp(30px,9vw,42px);line-height:1.45;letter-spacing:.075em;white-space:normal}
 .prelude-stage .prelude-caption{left:24px;bottom:11svh}.prelude-stage>.explore{right:24px;bottom:8svh;font-size:10px}
}
@media(prefers-reduced-motion:reduce),(max-height:500px){.prelude{height:100svh;min-height:620px}.prelude-stage{position:relative}.mist-canvas{display:none}.prelude-copy h1{opacity:1;filter:none}.prelude-stage .prelude-object{opacity:.68!important;transform:none!important;filter:brightness(.86) saturate(.82)!important}}

/* V12: AI-generated transparent mist gives the opening a visible, organic smoke layer. */
.mist-texture{position:absolute;z-index:1;display:block;max-width:none;width:128vw;height:auto;pointer-events:none;mix-blend-mode:screen;filter:blur(2px) saturate(.78);opacity:.54;will-change:transform,opacity}
.mist-texture-back{left:-31vw;bottom:-17vh;transform:rotate(-7deg);animation:mistTextureBack 15s ease-in-out infinite alternate}
.mist-texture-front{z-index:5;right:-43vw;top:26vh;width:118vw;opacity:.42;transform:rotate(171deg);animation:mistTextureFront 18s ease-in-out infinite alternate}
.mist-back{z-index:2;opacity:.42}.prelude-stage .prelude-object{z-index:3!important}.mist-front{z-index:4;opacity:.48}.prelude-copy,.prelude-stage .prelude-caption{z-index:6}.prelude-stage>.explore{z-index:7}
@keyframes mistTextureBack{from{transform:translate3d(-4%,3%,0) rotate(-7deg) scale(1.02);opacity:.42}to{transform:translate3d(10%,-6%,0) rotate(-3deg) scale(1.14);opacity:.64}}
@keyframes mistTextureFront{from{transform:translate3d(6%,-2%,0) rotate(171deg) scale(1.03);opacity:.30}to{transform:translate3d(-9%,5%,0) rotate(175deg) scale(.94);opacity:.52}}
@media(max-width:700px){.mist-texture{width:182vw;filter:blur(1px) saturate(.8)}.mist-texture-back{left:-88vw;bottom:-7vh;opacity:.68}.mist-texture-front{right:-96vw;top:34vh;width:170vw;opacity:.55}.mist-back{opacity:.34}.mist-front{opacity:.40}}
@media(prefers-reduced-motion:reduce),(max-height:500px){.mist-texture{animation:none;opacity:.42}}
