:root{--paper:#f7f5f0;--ink:#302b27;--muted:#7b7167;--line:#d8d0c4;--accent:#a9523a;--sans:"PingFang SC","Microsoft YaHei",sans-serif;--serif:"Songti SC","Noto Serif SC","STSong",serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;height:100svh}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:none;border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:hover,a:hover{color:var(--accent)}[hidden]{display:none!important}::selection{background:#e8bd9f}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;padding:15px;background:var(--ink);color:var(--paper);z-index:20}.skip-link:focus{top:12px}
.gallery-header{height:67px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-shrink:0;position:relative;background:var(--paper)}.wordmark{font:italic 34px Georgia,serif;letter-spacing:-2px;display:flex;align-items:center;gap:12px}.wordmark span{font:22px Georgia;color:var(--accent)}.header-note{font:10px Georgia,serif;letter-spacing:3px;color:var(--muted)}.contact-link{font-size:12px;display:flex;gap:23px}.gallery-topline{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;flex-shrink:0;position:relative}.gallery-topline a{font-size:11px;display:flex;gap:12px;align-items:center;min-height:38px}.gallery-topline a>span:first-child{font-size:21px}.gallery-topline>span{font-size:10px;color:var(--muted);letter-spacing:1px}
.experience{position:relative;flex:1;min-height:0;overflow:hidden}#corridor-view,#year-room{height:100%;display:flex;flex-direction:column;overflow:hidden}.gallery-intro,.room-heading{position:relative;text-align:center;flex-shrink:0;padding:10px 24px 0;z-index:2;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2px;line-height:1.7;color:var(--accent)}.gallery-intro h1,.room-heading h1{font:400 clamp(29px,3vw,40px)/1.5 var(--serif);letter-spacing:2px;margin-top:7px}.gallery-intro h1 span{color:var(--accent)}.intro-copy,.room-heading>p:not(.eyebrow){font-size:11px;line-height:1.8;color:var(--muted);margin-top:6px}.room-heading h1{font-size:clamp(25px,2.5vw,34px);letter-spacing:1px}.room-heading>span{position:absolute;right:5vw;top:12px;font:italic 66px/1 Georgia;color:#d8cfc299;letter-spacing:-4px;z-index:-1}
.gallery-stage{position:relative;flex:1;min-height:0;width:100%;isolation:isolate;--painting-gallery-height:100%;transition:opacity .24s ease,transform .38s cubic-bezier(.22,.65,.22,1)}.gallery-crossing .gallery-stage{opacity:0;transform:scale(1.08)}.gallery-crossing .year-preview,.gallery-crossing .project-preview{opacity:0}.year-preview,.project-preview{width:min(650px,calc(100% - 48px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-shrink:0;padding:9px 0 13px;min-height:103px;transition:opacity .2s}.preview-copy{min-width:0}.preview-meta{display:flex;align-items:center;gap:16px}.preview-meta>span:first-child{font:italic 30px Georgia;color:var(--accent)}.preview-meta>span:last-child,.project-count{font-size:9px;color:var(--muted);letter-spacing:1px}.preview-copy h2{font:400 21px/1.55 var(--serif);margin-top:4px}.preview-copy>p:not(.project-count){font-size:11px;line-height:1.85;color:var(--muted);margin-top:5px;max-width:440px}.enter-button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);min-width:155px;padding:13px 17px;display:flex;justify-content:space-between;gap:30px;font-size:11px;align-items:center;flex-shrink:0;border-radius:2px;transition:background .2s}.enter-button:hover{background:var(--accent);border-color:var(--accent);color:white}.enter-button>span:last-child{font-size:19px}.gallery-instruction{display:flex;justify-content:center;align-items:center;gap:10px;font-size:9px;letter-spacing:.5px;color:#93887b;flex-shrink:0;height:31px;padding-bottom:6px}.gallery-instruction>span{font:22px Georgia}.project-count{color:var(--accent)}.project-note{font-size:9px;color:#93887b;line-height:1.8;flex-shrink:0;max-width:700px;margin:0 auto;padding:0 22px 11px;text-align:center}
.gallery-footer{background:var(--paper);z-index:3;flex-shrink:0}.year-bar{height:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 4.5vw;display:flex;align-items:center;gap:36px}.year-bar-label{font-size:10px;letter-spacing:1px;color:var(--muted)}#year-navigation{display:flex;align-self:stretch;gap:clamp(15px,3vw,48px)}#year-navigation button{position:relative;padding:0 5px;min-width:47px;font:19px Georgia;color:var(--muted)}#year-navigation button small{font:8px var(--sans);margin-left:5px;vertical-align:super;color:#948371}#year-navigation button:after{content:"";height:2px;background:var(--accent);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0);transition:transform .25s}#year-navigation button[aria-current="date"]{color:var(--accent)}#year-navigation button[aria-current="date"]:after{transform:scaleX(1)}#more-records{font-size:10px;margin-left:auto;min-height:42px}#more-records span{margin-left:12px}.footer-bottom{height:36px;padding:0 4.5vw;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:9px}.preferences{display:flex;gap:22px}.preferences button{font-size:9px;padding:7px 0}.preferences button[aria-pressed="true"]{color:var(--accent)}.footer-sign{font-size:8px;letter-spacing:1.3px}.footer-caption{font-family:var(--serif);font-size:11px;letter-spacing:2px}
dialog{padding:0;border:1px solid #d5c8b4;background:var(--paper);color:var(--ink);width:min(1120px,calc(100vw - 60px));max-width:none;max-height:calc(100svh - 44px);box-shadow:0 30px 100px #251c1840;overflow:auto;scrollbar-width:thin;scrollbar-color:#baa98f transparent}dialog::backdrop{background:#29241fd1;backdrop-filter:blur(8px)}dialog[open]{animation:reader-arrive .32s ease both}.reader-top{position:sticky;top:0;z-index:2;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 25px;display:flex;align-items:center;justify-content:space-between}.reader-top>span{font-size:10px;color:var(--muted);letter-spacing:1px}.reader-top button{font-size:11px;display:flex;align-items:center;gap:17px;min-height:36px}.reader-top button>span{font:26px Georgia}.reader-layout{padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:37px}.reader-visual img{width:100%;display:block;height:auto;border:8px solid #fcf8f0;box-shadow:0 2px 0 #c7b296,0 15px 30px #5541281a}.art-caption{font-size:9px;color:var(--muted);margin-top:13px}.reader-metrics{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:32px;padding-top:22px}.reader-metrics span{display:flex;flex-direction:column;gap:8px}.reader-metrics b{font:400 22px/1.4 var(--serif);color:var(--accent)}.reader-metrics small{font-size:9px;color:var(--muted)}.reader-copy h2{font:400 clamp(23px,2.4vw,33px)/1.6 var(--serif);margin-top:9px}.reader-credit{display:flex;flex-direction:column;gap:9px;margin-top:14px}.reader-credit>span{font-size:12px;color:#69523f}.reader-credit small{font-size:10px;color:var(--muted)}.reader-tabs{display:flex;gap:25px;margin-top:26px;border-bottom:1px solid var(--line)}.reader-tabs button{position:relative;padding:10px 0 12px;font-size:11px;color:var(--muted)}.reader-tabs button[aria-selected="true"]{color:var(--accent)}.reader-tabs button[aria-selected="true"]:after{position:absolute;content:"";bottom:-1px;height:2px;background:var(--accent);left:0;right:0}.reader-panel{padding:20px 0 12px;min-height:148px;font-size:12px;line-height:2;color:#685d52}.reader-panel ul{margin:0;padding-left:18px}.reader-panel li+li{margin-top:8px}.takeaway{border-top:1px solid var(--line);padding-top:16px}.takeaway>span{font-size:9px;color:var(--accent);letter-spacing:1px}.takeaway p{font:16px/1.9 var(--serif);margin-top:10px}.reader-notes{font-size:10px;color:var(--muted);line-height:1.9;margin-top:18px}#reader-followup{font-size:11px;background:#e9dfd1;padding:12px 15px;margin-top:15px}#reader-followup:empty{display:none}#reader-followup strong{font-weight:500;color:var(--accent)}#reader-followup p{margin-top:5px}.further-body{padding:32px 40px}.further-body h2{font:30px/1.6 var(--serif);margin-top:9px}.further-intro{font-size:12px;color:var(--muted);margin:10px 0 28px}#further-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}#further-list article{border-top:1px solid var(--line);padding:20px 0}#further-list h3{font:19px/1.6 var(--serif)}#further-list small{display:block;font-size:10px;color:var(--accent);margin-top:7px}#further-list p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:9px}#credit-note{font-size:10px;line-height:1.9;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.noscript-note{position:fixed;inset:30% 10%;background:var(--paper);padding:30px;z-index:10}.noscript-note a{text-decoration:underline}
@keyframes reader-arrive{from{opacity:0;transform:translateY(15px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:900px){.gallery-header{height:61px}.header-note{font-size:8px;letter-spacing:2px}.year-bar{gap:19px}.year-bar-label{display:none}#year-navigation{gap:20px}.year-preview,.project-preview{width:calc(100% - 90px)}.reader-layout{padding:24px;gap:25px}.reader-tabs{gap:17px}.reader-copy h2{font-size:24px}.room-heading>span{font-size:52px;top:24px}}
@media(max-width:600px){.gallery-header{height:55px;padding:0 6vw}.wordmark{font-size:29px}.wordmark span{font-size:17px}.header-note{font-size:7px;letter-spacing:1.5px}.contact-link{font-size:10px;gap:12px}.gallery-topline{padding:0 6vw;height:38px}.gallery-topline a{font-size:10px}.gallery-topline>span{font-size:8px;letter-spacing:0}.gallery-intro,.room-heading{padding:11px 22px 0}.eyebrow{font-size:7px;letter-spacing:1.5px}.gallery-intro h1{font-size:29px;margin-top:7px}.intro-copy{font-size:10px;margin-top:4px}.room-heading h1{font-size:24px;margin-top:7px}.room-heading>p:not(.eyebrow){font-size:10px;line-height:1.8;max-width:310px;margin:5px auto 0}.room-heading>span{display:none}.year-preview,.project-preview{width:calc(100% - 42px);gap:16px;min-height:121px;padding:9px 0 10px}.preview-meta{gap:12px}.preview-meta>span:first-child{font-size:27px}.preview-meta>span:last-child{font-size:8px}.preview-copy h2{font-size:18px}.preview-copy>p:not(.project-count){font-size:10px;margin-top:5px;line-height:1.8}.enter-button{min-width:115px;padding:11px 12px;gap:15px;font-size:10px}.enter-button>span:last-child{font-size:17px}.project-preview .enter-button{min-width:116px}.project-preview .preview-copy h2{font-size:18px}.project-count{font-size:8px}.project-note{font-size:8px;padding:0 22px 11px;line-height:1.7}.gallery-instruction{font-size:8px;height:27px;letter-spacing:0}.year-bar{height:51px;padding:0 5vw;gap:8px}#year-navigation{flex:1;justify-content:space-between;gap:0}#year-navigation button{font-size:16px;min-width:39px;padding:0 3px}#year-navigation button small{display:none}#more-records{font-size:9px;margin-left:14px;padding:0}#more-records span{display:none}.footer-bottom{height:33px;padding:0 6vw}.footer-caption{display:none}.footer-sign{font-size:6px;letter-spacing:.6px}.preferences{gap:15px}.preferences button{font-size:8px}dialog{width:calc(100vw - 20px);max-height:calc(100svh - 24px)}.reader-top{padding:7px 17px}.reader-top>span{font-size:8px}.reader-layout{display:block;padding:20px}.reader-metrics{margin-top:20px;padding:15px 0 22px;gap:25px}.reader-metrics b{font-size:20px}.reader-copy h2{font-size:25px}.reader-tabs{margin-top:18px;gap:28px}.reader-panel{min-height:130px}.reader-credit{font-size:11px}.further-body{padding:22px}.further-body h2{font-size:27px}#further-list{grid-template-columns:1fr}}
@media(max-height:720px){.gallery-intro,.room-heading{padding-top:2px}.gallery-intro h1{font-size:27px;margin-top:3px}.room-heading h1{font-size:24px;margin-top:3px}.year-preview,.project-preview{min-height:91px;padding:5px 0}.preview-copy h2{font-size:18px}.preview-meta>span:first-child{font-size:26px}.gallery-instruction{height:25px}.project-note{padding-bottom:5px}.intro-copy,.room-heading>p:not(.eyebrow){margin-top:2px}.preview-copy>p:not(.project-count){font-size:10px;line-height:1.7}}
@media(max-height:570px){.gallery-header{height:49px}.gallery-topline{height:35px}.gallery-intro>.intro-copy,.room-heading>p:not(.eyebrow),.preview-copy>p:not(.project-count),.project-note,.gallery-instruction{display:none}.year-preview,.project-preview{min-height:68px}.gallery-intro h1{font-size:23px}.gallery-intro,.room-heading{padding-top:0}.year-bar{height:45px}.footer-bottom{height:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body[data-reduced-motion="true"] *,body[data-reduced-motion="true"] *:before,body[data-reduced-motion="true"] *:after{animation:none!important;transition:none!important}

/* The year entrances are curated museum paintings, with their own authorship. */
.painting-provenance{flex-shrink:0;text-align:center;padding:0 22px 3px;font-size:9px;line-height:1.8;color:var(--muted)}
.painting-provenance a{display:inline-block;max-width:100%;vertical-align:bottom;text-decoration:underline;text-decoration-color:#bcb2a455;text-underline-offset:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.painting-provenance{font-size:8px;padding:0 16px 3px}}

/* Use plain text controls instead of platform-dependent arrow glyphs. */
.gallery-header .wordmark > span,
.gallery-header .contact-link > span[aria-hidden="true"],
.gallery-topline a > span[aria-hidden="true"],
.enter-button > span[aria-hidden="true"],
#more-records > span,
.painting-gallery__control > span,
.reader-top button > span[aria-hidden="true"] { display: none !important; }
.gallery-topline a { gap: 0; }
.enter-button { justify-content: center; }
.painting-gallery__controls { gap: 12px; }
.gallery-instruction > span[aria-hidden="true"] { display: none !important; }
.gallery-instruction { gap: 0; }
