@font-face{font-family:DiarySerif;src:url('assets/diary-serif.woff2') format('woff2');font-weight:300;font-display:swap}
:root{color-scheme:dark;--bg:#14191a;--wall:#1d2324;--paper:#ece6d9;--gold:#d5b78c;--muted:#a5aaa8;--line:rgba(213,183,140,.19);--serif:DiarySerif,'Songti SC',SimSun,serif;--sans:'Microsoft YaHei','PingFang SC',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:142px}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.8}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:#d5b78c;color:var(--bg)}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--gold);color:var(--bg);padding:10px 16px}.skip-link:focus{top:12px}
.site-header{height:104px;padding:0 5.3%;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line);max-width:1760px;margin:auto}.brand{display:flex;gap:12px;align-items:center;font-family:var(--serif);font-size:20px;letter-spacing:2px;line-height:1.5}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:3.3px;color:var(--gold);margin-top:3px}.brand-mark{display:grid;place-items:center;font-size:26px;color:var(--gold);width:40px;height:46px;border:1px solid var(--gold);border-radius:20px 20px 2px 2px}.site-header nav{display:flex;gap:36px;margin-left:auto;color:var(--muted);font-size:13px}.site-header nav a:hover{color:var(--paper)}.header-share{font-size:12px;background:none;border:1px solid var(--line);padding:10px 18px;transition:border-color .2s}.header-share span{padding-left:18px;color:var(--gold)}.header-share:hover{border-color:var(--gold)}
.hero{max-width:1440px;margin:auto;padding:64px 7.5% 70px;display:grid;grid-template-columns:1fr 1fr;gap:70px;min-height:805px;align-items:center;position:relative}.eyebrow{font-size:11px;letter-spacing:2.4px;color:var(--gold);margin:0 0 22px;display:flex;align-items:center;gap:9px}.tiny-orbit{display:inline-block;width:7px;height:7px;border:1px solid var(--gold);border-radius:50%}.hero-date{display:flex;align-items:center;font-family:var(--serif);font-size:clamp(96px,10vw,145px);line-height:1.2;letter-spacing:-5px;color:var(--gold);font-variant-numeric:lining-nums;font-weight:300;white-space:nowrap;margin-left:-6px}.hero-date i{font-family:var(--serif);font-style:normal;font-size:.58em;margin:0 .16em;color:#69716d}.hero h1{font:300 clamp(30px,3.2vw,46px)/1.58 var(--serif);letter-spacing:2px;margin:12px 0 23px}.hero h1 span{color:#bfc4bd}.hero-intro{color:var(--muted);font-size:14px;line-height:2.1;margin:0 0 34px}.enter-link{display:inline-flex;align-items:center;gap:38px;color:var(--paper);font-size:13px}.arrow-circle{display:grid;place-items:center;border:1px solid #626a66;width:39px;height:39px;border-radius:50%;color:var(--gold);transition:transform .3s,border-color .3s}.enter-link:hover .arrow-circle{transform:translateY(3px);border-color:var(--gold)}.hero-footnote{font-size:10px;letter-spacing:1.5px;color:#76807b;margin:29px 0 0}.hero-footnote span{margin:0 8px}.hero-art{position:relative;max-width:455px;width:100%;justify-self:end}.art-halo{position:absolute;inset:0 -15% 0;background:radial-gradient(ellipse,rgba(160,119,72,.15),transparent 68%);pointer-events:none}.hero-frame{position:relative;padding:0;border:0;background:none;box-shadow:12px 22px 52px rgba(0,0,0,.45);transform:rotate(1.5deg);width:100%;display:block;transition:transform .5s}.hero-frame img{width:100%;height:auto;aspect-ratio:3/4}.hero-frame:hover{transform:rotate(0)}.frame-action{position:absolute;right:15px;bottom:17px;background:rgba(20,25,26,.86);backdrop-filter:blur(8px);border:1px solid rgba(213,183,140,.3);padding:7px 13px;font-size:10px;letter-spacing:1px}.frame-action span{margin-left:10px;color:var(--gold)}.art-side-label{position:absolute;right:-36px;top:0;writing-mode:vertical-rl;font-size:9px;letter-spacing:4px;color:#929b94}.art-caption{display:flex;gap:20px;align-items:center;margin-top:24px}.art-caption>span{font:300 36px/1 var(--serif);color:var(--gold)}.art-caption p{font-size:10px;line-height:1.7;color:var(--muted);margin:0;border-left:1px solid var(--line);padding-left:20px}
.exhibition{max-width:1440px;margin:auto;padding:75px 7.5% 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading h2,.about h2{font:300 34px/1.6 var(--serif);letter-spacing:1px;margin:0}.section-heading .eyebrow{margin-bottom:12px}.heading-note{margin:0 0 4px;font-size:11px;color:var(--muted);line-height:2}.year-nav{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);margin:40px 0 55px;position:sticky;top:0;background:rgba(20,25,26,.96);backdrop-filter:blur(12px);z-index:10;gap:8px}.year-link{position:relative;display:block;padding:16px 0 17px;color:var(--muted);font:300 24px/1.3 var(--serif);flex:1;text-align:center;transition:color .3s}.year-link small{font:9px/1.4 var(--sans);display:block;letter-spacing:1px;margin-top:5px}.year-link:after{content:'';position:absolute;bottom:-1px;left:20%;right:20%;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .3s}.year-link:hover,.year-link.active{color:var(--gold)}.year-link.active:after{transform:scaleX(1)}
.story{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;padding:30px 0 90px;position:relative;scroll-margin-top:120px}.story+.story{border-top:1px solid var(--line);padding-top:90px}.story:nth-child(even) .story-image{order:2}.story:nth-child(even) .story-copy{order:1}.story-image{position:relative;max-width:475px}.story:nth-child(even) .story-image{justify-self:end}.poster-button{display:block;border:0;background:var(--wall);padding:0;width:100%;box-shadow:0 18px 50px rgba(0,0,0,.28);transition:transform .4s}.poster-button:hover{transform:translateY(-5px)}.poster-button img{width:100%;height:auto;aspect-ratio:3/4}.image-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;color:#9ba39d;padding-top:14px}.image-caption button{border:0;padding:0;background:none;color:var(--gold);font-size:10px}.image-caption button:hover{text-decoration:underline}.story-year{font:300 clamp(54px,6vw,82px)/1 var(--serif);color:var(--gold);margin:0 0 24px}.story h3{font:300 26px/1.7 var(--serif);letter-spacing:1px;margin:0 0 24px}.story-description{font-size:15px;line-height:2.1;color:#bfc4bd;margin:0 0 28px;max-width:400px}.story-insight{border-left:1px solid var(--gold);padding-left:17px;line-height:1.9;color:var(--gold);font-size:12px;margin:28px 0}.story-tools{display:flex;gap:24px;align-items:center;margin-top:37px}.text-button{background:none;border:0;padding:5px 0;font-size:11px;color:var(--muted)}.text-button:hover{color:var(--gold)}.text-button span{color:var(--gold);margin-left:7px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
.closing{position:relative;text-align:center;padding:88px 7.5% 100px;background:var(--wall);border-top:1px solid var(--line);overflow:hidden}.closing .eyebrow{justify-content:center}.closing h2{font:300 40px/1.7 var(--serif);letter-spacing:2px;margin:25px 0}.closing>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:30px}.solid-button{border:1px solid var(--gold);background:var(--gold);color:#1d2324;padding:13px 25px;font-size:12px;transition:background .2s}.solid-button:hover{background:#e2caa9}.solid-button span{margin-left:20px}.mini-gallery{display:flex;justify-content:center;gap:18px;max-width:610px;margin:52px auto 0}.mini-item{display:block;background:none;border:none;padding:0;flex:1;min-width:0;text-align:center}.mini-item img{aspect-ratio:3/4;width:100%;object-fit:contain;filter:brightness(.7);transition:filter .3s,transform .3s}.mini-item:hover img{filter:brightness(1);transform:translateY(-5px)}.mini-item span{display:block;font:300 15px/1.8 var(--serif);color:var(--gold);margin-top:10px}
.about{max-width:1440px;margin:auto;padding:90px 7.5%;display:grid;grid-template-columns:1fr 1fr;gap:11%}.about-copy{color:var(--muted);font-size:13px;line-height:2.1}.about-copy>p{margin:0 0 20px}details{font-size:11px;line-height:2;margin-top:26px;border-top:1px solid var(--line);padding-top:18px}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;color:var(--paper);gap:10px}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}details p{padding-top:10px}details ul{padding-left:17px}details a{text-decoration:underline;text-underline-offset:4px;color:var(--gold);overflow-wrap:anywhere}.site-footer{padding:25px 5.3%;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:20px}.site-footer>span:first-child{color:var(--gold)}
dialog{border:1px solid var(--line);padding:0;color:var(--paper);background:var(--bg)}dialog::backdrop{background:rgba(5,9,10,.92);backdrop-filter:blur(12px)}.lightbox{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;overflow:hidden}.lightbox[open]{display:flex;flex-direction:column}.lightbox-toolbar{display:flex;gap:20px;align-items:center;padding:15px 30px;border-bottom:1px solid var(--line);min-height:68px}.lightbox-toolbar h2{font:300 17px/1.4 var(--serif);margin:0}.lightbox-toolbar>span{font-size:10px;color:var(--gold);margin-left:auto}.icon-button{display:grid;place-items:center;background:none;border:1px solid var(--line);width:38px;height:38px;padding:0;font:300 28px/1 var(--sans);flex-shrink:0}.icon-button:hover{border-color:var(--gold)}.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:20px 70px}.lightbox-stage>img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.image-arrow{position:absolute;top:50%;background:rgba(29,35,36,.8);border:1px solid var(--line);width:42px;height:42px;border-radius:50%;font-size:20px}.image-arrow:hover{border-color:var(--gold)}.image-arrow.prev{left:24px}.image-arrow.next{right:24px}.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 30px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.lightbox-bottom p{margin:0}.lightbox-bottom a{color:var(--gold);white-space:nowrap}.share-dialog{width:min(470px,calc(100vw - 32px));padding:30px;max-height:calc(100dvh - 32px);overflow:auto}.share-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.share-head .eyebrow{margin:0;letter-spacing:1px}.share-dialog h2{font:300 32px/1.6 var(--serif);margin:20px 0}.share-dialog>p{font-size:12px;color:var(--muted)}.share-label{display:block;margin:24px 0 8px;font-size:11px;color:var(--gold)}#share-url{display:block;width:100%;background:var(--wall);border:1px solid var(--line);padding:12px;color:var(--muted);font-size:11px}.share-actions{display:flex;gap:12px;margin:20px 0}.outline-button{padding:12px 18px;border:1px solid var(--line);background:none;font-size:12px}.share-note{font-size:10px!important;line-height:1.9!important}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,12px);background:var(--paper);color:var(--bg);padding:10px 20px;box-shadow:0 6px 30px #0005;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px)}.toast.show{opacity:1;transform:translate(-50%,0)}body.dialog-open{overflow:hidden}.noscript-message{padding:20px;text-align:center;background:var(--wall)}
@media(min-width:1600px){.hero{gap:100px}.hero-art{max-width:480px}}
@media(max-width:1000px){.hero{gap:40px;min-height:unset;padding:54px 6% 60px}.hero h1{font-size:32px}.hero-date{font-size:100px}.hero-intro{font-size:12px}.art-side-label{right:-22px;letter-spacing:2px}.exhibition{padding:60px 6% 0}.story{gap:7%}.story h3{font-size:22px}.story-description{font-size:13px}.about{padding:65px 6%;gap:7%}}
@media(max-width:650px){html{scroll-padding-top:90px}.site-header{height:80px;padding:0 6%;gap:16px}.brand{font-size:16px;gap:9px;letter-spacing:1px}.brand small{font-size:7px;letter-spacing:2.5px}.brand-mark{width:32px;height:39px;font-size:22px}.site-header nav{gap:18px;font-size:11px}.header-share{display:none}.hero{display:flex;flex-direction:column;align-items:stretch;gap:40px;padding:38px 7% 40px}.hero .eyebrow{font-size:10px;margin-bottom:14px}.hero-date{font-size:110px;line-height:1.15;letter-spacing:-3px;margin-left:-4px}.hero h1{font-size:32px;line-height:1.55;margin:14px 0 17px;letter-spacing:1px}.hero-intro{font-size:12px;line-height:2;margin-bottom:22px}.enter-link{gap:28px;font-size:12px}.arrow-circle{width:34px;height:34px}.hero-footnote{font-size:9px;margin-top:20px}.hero-art{max-width:100%;padding:0 4px}.hero-frame{transform:rotate(0)}.hero-frame:hover{transform:none}.art-side-label{display:none}.art-caption{margin-top:17px;gap:16px}.art-caption>span{font-size:30px}.art-caption p{font-size:9px;padding-left:16px}.frame-action{font-size:9px}.exhibition{padding:42px 7% 0}.section-heading{gap:10px;align-items:start}.section-heading h2{font-size:26px;letter-spacing:0}.section-heading .eyebrow{font-size:9px;letter-spacing:1px}.heading-note{font-size:9px;white-space:nowrap;margin-top:26px}.year-nav{gap:3px;margin:25px -3px 30px}.year-link{font-size:21px;padding:14px 0}.year-link small{font-size:8px;letter-spacing:0}.story{display:flex;flex-direction:column;gap:28px;padding:0 0 48px;scroll-margin-top:90px}.story+.story{padding-top:42px}.story:nth-child(even) .story-image{order:0}.story:nth-child(even) .story-copy{order:0}.story-image,.story-copy{width:100%;max-width:none}.story-year{font-size:47px;margin:0 0 15px}.story h3{font-size:24px;margin-bottom:17px;letter-spacing:.5px}.story-description{font-size:14px;line-height:2;margin-bottom:20px;max-width:none}.story-insight{font-size:12px;margin:21px 0}.story-tools{margin-top:21px;gap:25px}.image-caption{font-size:9px}.closing{padding:48px 7% 50px}.closing h2{font-size:29px;letter-spacing:1px;margin:20px 0}.closing>p:not(.eyebrow){font-size:11px}.closing .eyebrow{font-size:10px;letter-spacing:1px}.mini-gallery{gap:8px;margin-top:35px}.mini-item span{font-size:12px}.about{display:block;padding:48px 7%}.about h2{font-size:29px;margin-bottom:27px}.about .eyebrow{margin-bottom:12px}.about-copy{font-size:12px}.site-footer{font-size:9px;padding:22px 6%;gap:12px}.lightbox-toolbar{padding:12px 16px;gap:10px;min-height:64px}.lightbox-toolbar h2{font-size:14px}.lightbox-stage{padding:12px 4px 52px}.image-arrow{top:auto;bottom:4px;width:36px;height:36px}.image-arrow.prev{left:calc(50% - 54px)}.image-arrow.next{right:calc(50% - 54px)}.lightbox-bottom{padding:12px 16px;font-size:9px;gap:12px}.share-dialog{padding:24px}.share-dialog h2{font-size:29px}.share-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-frame{transform:none}}
/* Event anchors use their own offset below the sticky year navigation. */
html{scroll-padding-top:0}
@media(max-width:650px){.art-halo{inset:0}}
.mini-item img{height:auto}
.poster{touch-action:pan-y}
.gallery-mode .poster{touch-action:pan-x pan-y}
#stories:focus-visible{outline:1px solid var(--gold);outline-offset:4px}

/* Mobile-first reading with a single set of posters. */
.hero{display:block;min-height:0;padding-top:48px;padding-bottom:48px}
.hero-copy{max-width:780px}
.poster{background:var(--wall);box-shadow:0 18px 50px rgba(0,0,0,.28)}
.poster img{width:100%;height:auto;aspect-ratio:3/4}
.gallery-toolbar[hidden]{display:none}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;margin:0 0 18px;scroll-margin-top:110px}
.gallery-toolbar>span>span{color:var(--gold);margin-left:16px}
.gallery-toolbar button{background:none;border:1px solid var(--line);color:var(--gold);padding:7px 12px;font-size:11px}
.gallery-mode #stories{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y;align-items:flex-start;margin-bottom:50px}
.gallery-mode #stories::-webkit-scrollbar{display:none}
.gallery-mode .story{display:block;flex:0 0 100%;min-width:0;width:100%;scroll-snap-align:start;scroll-snap-stop:always;padding:0;border:0;opacity:1;transform:none;transition:none}
.gallery-mode .story-image{max-width:510px;width:100%;margin:auto}
.gallery-mode .story-copy,.gallery-mode #gallery-enter{display:none}
@media(max-width:650px){.hero{padding-top:38px;padding-bottom:38px}.gallery-toolbar{scroll-margin-top:88px}.gallery-mode .story-image{max-width:none}.gallery-mode #stories{margin-bottom:36px}.exhibition{padding-top:34px}.year-link{min-height:68px}}
@media(max-width:650px){.section-heading{display:block}.heading-note{margin-top:10px;font-size:10px}.heading-note br{display:none}}

/* Compact opening; chronological year, full poster, then the story. */
.site-header{height:72px}
.hero{padding:22px 7.5% 20px;position:relative}
.hero-copy{position:relative;max-width:none}
.hero .eyebrow{margin:0 100px 8px 0;font-size:10px;min-height:20px}
.hero h1{font:300 22px/1.6 var(--serif);letter-spacing:1px;margin:0}
.hero-date{position:absolute;right:0;top:0;font-size:36px;line-height:1.1;letter-spacing:-1px;margin:0}
.exhibition{padding-top:0;border-top:0}
.year-nav{margin:0 0 24px}
.story,.story:nth-child(even){display:block;max-width:680px;margin:0 auto;padding:0 0 60px}
.story+.story{padding-top:42px}
.story-year{font-size:50px;margin:0 0 16px}
.story-image,.story:nth-child(even) .story-image{width:100%;max-width:none}
.story-copy{margin-top:24px}
.story-description{max-width:none}
.image-caption{padding-top:0;justify-content:flex-end}
.image-caption:empty{display:none}
.image-caption button{font-size:11px;min-height:40px}
.story h3{margin-bottom:18px}
.gallery-mode .story{max-width:none;margin:0}
.gallery-mode .story-year{max-width:510px;margin:0 auto 16px}
@media(max-width:650px){.site-header{height:64px}.hero{padding:18px 7% 16px}.hero h1{font-size:18px;letter-spacing:0}.hero-date{font-size:32px}.hero .eyebrow{margin-bottom:6px;letter-spacing:1px}.year-nav{margin:0 0 20px}.year-link{padding:10px 0;min-height:60px;font-size:21px}.story-year{font-size:42px;margin-bottom:12px}.story-copy{margin-top:20px}.story+.story{padding-top:34px}.gallery-mode .story-year{max-width:none}}

:root{--nav-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}
.site-header nav{font-family:var(--nav-mono)}
.story-year{display:flex;align-items:baseline;gap:16px;line-height:1.25}
.story-year-value{font-variant-numeric:lining-nums}
.year-separator{font-size:24px;color:var(--gold);opacity:.65}
.story-keyword{font:300 23px/1.5 var(--serif);letter-spacing:2px;color:var(--gold)}
.story h3{color:var(--gold)}
.story{scroll-margin-top:24px}
.gallery-toolbar{scroll-margin-top:24px}
@media(max-width:650px){.story-year{gap:12px}.story-keyword{font-size:20px;letter-spacing:1px}.year-separator{font-size:21px}}

/* Event name accompanies its year; the existing paragraph becomes a quote. */
.story-year-value,.year-separator{flex:0 0 auto}
.story-keyword{flex:1;min-width:0;letter-spacing:1px}
.story-copy{margin-top:18px}
.story-description{margin:0;padding:0 0 0 16px;border-left:1px solid var(--gold);color:var(--gold);line-height:1.95;font-size:14px}
.story,.story:nth-child(even){padding-bottom:24px}
.story+.story{padding-top:24px}
.gallery-mode .story,.gallery-mode .story+.story{padding:0}
@media(max-width:650px){.story-keyword{font-size:18px;letter-spacing:.5px}.story-copy{margin-top:14px}.story-description{padding-left:13px;font-size:13px;line-height:1.95}.story+.story{padding-top:22px}.gallery-mode .story+.story{padding:0}}
/* Readable golden quote text, including narrow phone screens. */
.story-description{font-size:16px;line-height:1.85}
.image-caption button,.gallery-toolbar button{min-height:44px}
@media(max-width:650px){.story-description{font-size:16px;line-height:1.85}}
@media(max-width:359px){.story-description{font-size:15px}}

/* Separate the date row from the slogan, including very narrow screens. */
.hero-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;row-gap:12px;align-items:center}
.hero .eyebrow{grid-column:1;grid-row:1;margin:0;min-width:0;letter-spacing:1px}
.hero-date{grid-column:2;grid-row:1;position:static;margin:0}
.hero h1{grid-column:1 / -1;grid-row:2;margin:0;line-height:1.6}
.daily-state[hidden]{display:none}
.daily-state{padding:24px 0 42px;color:var(--gold);min-height:160px}
.daily-state h2{font:300 23px/1.7 var(--serif);margin:0 0 14px}
.daily-state p{font-size:14px;color:var(--muted);margin:0}
.daily-state button{margin-top:20px;background:none;border:1px solid var(--line);color:var(--gold);padding:10px 18px;min-height:44px}
@media(max-width:650px){.hero-copy{row-gap:14px;column-gap:14px}.hero .eyebrow{margin:0}.hero h1{margin:0}}
