/* Light, atmosphere and an exhibition rhythm. */
:root{--ink:#17283c;--muted:#52657a;--accent:#1d5ca4;--line:#b4c7d54d;--paper:#eff7ff}
body{background:radial-gradient(ellipse at 85% 24%,#b9e6ed80,transparent 48%),radial-gradient(ellipse at 8% 72%,#becce570,transparent 45%),linear-gradient(165deg,#eff7ff,#f9fbff 48%,#e1edf6);background-attachment:fixed}
header{position:absolute;top:0;left:0;right:0;z-index:2;color:#f1f7ff;border-bottom:1px solid #ffffff24;max-width:none;padding:26px 5%}.brand span{color:#b8c9db}header nav a:after{background:#d9efff}
.exhibition{position:relative;isolation:isolate;max-width:none;margin:0 calc((100% - 100vw)/2);min-height:760px;padding:160px max(5vw,calc((100vw - 1440px)/2)) 80px;grid-template-columns:43% 57%;color:#edf6ff;background:radial-gradient(ellipse at 86% 23%,#1b5965b3,transparent 55%),radial-gradient(ellipse at 4% 90%,#26387e99,transparent 65%),linear-gradient(120deg,#0b1728,#102b3b 70%,#0a212d);overflow:hidden}
.exhibition:before{content:'';position:absolute;z-index:-1;inset:-25%;background:radial-gradient(ellipse at var(--glow-x,70%) var(--glow-y,35%),#87d9db25,transparent 35%);pointer-events:none}
.intro{padding-right:30px}.intro .eyebrow{color:#aac6db}h1{font-size:clamp(68px,7.3vw,110px);line-height:1.03;letter-spacing:-4px;margin:34px 0}h1 em{color:#a5dedc}.period{color:#a5dedc}.intro-bottom p{color:#b4c9d8}.intro .text-link{color:#fff;border-color:#88a7bf}.intro .text-link:hover{color:#a5dedc}.edition{color:#91adc4;line-height:1.7}
.hero-photo{position:relative;padding:5px 0 0 26px;align-self:center}.hero-photo .photo{padding:0;background:#05111c;border-radius:3px;box-shadow:0 40px 90px #0007;border:1px solid #ffffff26}.hero-photo img{height:400px;object-fit:contain;transition:opacity .25s}.hero-photo .caption{color:#d7e9f4;margin-top:8px}.hero-photo .caption span:last-child{color:#aac8d8}.hero-controls{display:flex;gap:9px;margin-top:22px;align-items:center}.hero-controls button{background:none;color:#a4bdcf;border:1px solid #6b8ca480;min-width:44px;height:44px;border-radius:50%;font-size:12px;transition:background .2s,color .2s}.hero-controls button[aria-pressed=true]{background:#d3eeec;color:#112737;border-color:#d3eeec}.hero-controls button:hover{border-color:#d3eeec}
.works{padding-top:80px;border:0}.section-heading{margin-bottom:30px}.section-heading h2{font-size:46px}.works-toolbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:46px;background:#f0f7ffed;backdrop-filter:blur(16px)}.filters{border:0;padding:0;margin:0;gap:6px 22px}.filters button{color:#496078;padding:12px 0;min-height:44px}.filters button[aria-pressed=true]{color:#174e86}.view-switch{display:flex;border:1px solid #a8bed4;border-radius:28px;flex-shrink:0;padding:3px;background:#ffffff7d}.view-switch button{border:0;background:transparent;color:#456179;font-size:14px;padding:10px 17px;border-radius:24px;min-height:40px}.view-switch button[aria-pressed=true]{background:#203f59;color:#fff}
.collection{grid-template-columns:repeat(12,minmax(0,1fr));gap:54px 32px;align-items:center;min-height:160px}.collection article{grid-column:span 4;padding-top:0!important;position:relative;transition:opacity .4s,transform .4s}.collection article.featured{grid-column:span 6}.collection article.soft-offset{transform:translateY(22px)}.collection .photo{position:relative;padding:0;background:transparent;border-radius:2px;overflow:visible}.collection .photo img{max-height:520px;object-fit:contain;filter:drop-shadow(0 16px 24px #1d3a4e24);transition:filter .35s,transform .35s,opacity .35s}.collection .photo:after{content:'查看作品';position:absolute;bottom:16px;right:16px;padding:10px 16px;border-radius:24px;color:#fff;font-size:14px;background:#14283ee6;opacity:0;transform:translateY(7px);transition:opacity .25s,transform .25s;pointer-events:none}.collection .photo:hover img{opacity:1;transform:translateY(-6px);filter:drop-shadow(0 22px 30px #1d3a4e38)}.collection .photo:hover:after,.collection .photo:focus-visible:after{opacity:1;transform:translateY(0)}.collection .caption{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.collection .caption h3{font-size:14px;color:#3c566a}.collection .caption span{color:#5b6e7f}.collection[data-view=grid]{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px;align-items:start}.collection[data-view=grid] article{grid-column:auto;transform:none}.collection[data-view=grid] .photo{background:#ffffff80;aspect-ratio:4/3;padding:12px}.collection[data-view=grid] .photo img{height:100%;width:100%;object-fit:contain;filter:none}.collection[data-view=grid] .caption{margin-top:12px}.collection .entering{animation:appear .45s both}.about{border-top-color:#91abc350}.about .statement{font-size:34px}.about p{color:#4e6478}footer{border-color:#91abc350}
dialog{padding:22px 3%;background:radial-gradient(ellipse at 70% 25%,#163649,#090f19 65%);color:#eef5fa}.viewer-tools{display:flex;gap:10px;align-items:center}.viewer-bar{border-color:#abc6e32e}.viewer-bottom{border-color:#abc6e32e}.image-stage{overflow:hidden;touch-action:pan-y;user-select:none}.image-stage img{transition:transform .18s ease;cursor:zoom-in;max-width:100%;max-height:100%;transform-origin:center;will-change:transform}.image-stage.zoomed{touch-action:none;cursor:grab}.image-stage.zoomed img{cursor:grab;transition:none}.image-stage.dragging img{cursor:grabbing}dialog .zoom-button[aria-pressed=true]{background:#d3eeec;color:#172d40;border-color:#d3eeec}.viewer-hint{font-size:12px;color:#94aec3;margin:0;text-align:center;padding-top:10px;line-height:1.7}.viewer-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px 2px 6px;flex-shrink:0;max-height:82px;scrollbar-width:thin;scrollbar-color:#416078 transparent}.viewer-thumbs button{padding:3px;flex:0 0 64px;height:52px;border-radius:3px;border:1px solid transparent;opacity:.6;background:#ffffff09}.viewer-thumbs button[aria-current=true]{border-color:#b9e3df;opacity:1}.viewer-thumbs img{width:100%;height:100%;object-fit:contain}.loading-note{border-radius:18px}.skip-link{position:absolute;z-index:20;left:20px;top:-80px;padding:12px;background:white;color:#17344e}.skip-link:focus{top:15px}
@keyframes appear{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-photo img{height:450px}}
@media(max-width:1000px){.exhibition{min-height:670px;padding-top:145px;grid-template-columns:44% 56%}h1{font-size:clamp(58px,8.5vw,88px)}.hero-photo{padding-left:12px}.hero-photo img{height:340px}.works-toolbar{align-items:flex-start}.filters{gap:2px 16px}.view-switch{margin-top:3px}.view-switch button{padding:10px 12px}.collection{gap:40px 24px}.collection[data-view=grid]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){header{padding:23px 6%}.exhibition{padding:130px 6% 52px;display:block;min-height:0;margin:0;overflow:hidden}h1{font-size:clamp(66px,15vw,100px);line-height:1.02}.hero-photo{padding:12px 0 0}.hero-photo img{height:auto;max-height:480px}.hero-controls{margin-top:16px}.edition{padding-top:26px}.works{padding-top:54px}.section-heading h2{font-size:34px}.works-toolbar{display:block;padding:12px 0;top:0;margin-bottom:32px}.filters{flex-wrap:nowrap;overflow-x:auto;gap:24px;padding:0 4px 8px;scrollbar-width:none}.filters button{flex-shrink:0}.view-switch{width:max-content;margin-top:8px}.collection{grid-template-columns:repeat(6,minmax(0,1fr));gap:32px 18px}.collection article{grid-column:span 3}.collection article.featured{grid-column:span 6}.collection article.soft-offset{transform:none}.collection[data-view=grid]{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.collection .photo:after{display:none}.collection .caption h3{font-size:14px}.collection .caption{margin-top:12px}.about .statement{font-size:28px}dialog{padding:16px 4%}.viewer-tools{gap:6px}.viewer-tools button{padding:10px 13px;font-size:14px}.viewer-bar,.viewer-bottom{gap:8px}.viewer-thumbs{max-height:70px}.viewer-hint{font-size:12px}.viewer-bottom #title{font-size:14px}.image-stage{margin:14px 0}.viewer-bottom{padding-top:12px}}
@media(max-width:400px){.collection article{grid-column:span 6}.collection[data-view=grid] article{grid-column:auto}.section-heading h2{font-size:28px}.view-switch button{min-height:44px}.viewer-bar #count{font-size:12px}.viewer-tools button{padding:10px 11px}}
@media(prefers-reduced-motion:reduce){.entering{animation:none!important}.photo img{transition:none!important}.exhibition:before{display:none}}
