/* A light-field exhibition: artwork first, open registration marks, no matte cards. */
.gallery-page{--gallery-glow:#b0e6df;--gallery-pearl:#ead3bd;background:#102332}
.gallery-page>.page-shell{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse 70% 32% at 93% 8%,#3b7c8173,transparent 75%),radial-gradient(ellipse 85% 38% at -12% 44%,#6f668a59,transparent 74%),radial-gradient(ellipse 58% 30% at 104% 84%,#af82752b,transparent 75%),linear-gradient(145deg,#112635,#182a40 48%,#132c37)}
.gallery-page .page-header{background:#1027339c;border-bottom-color:#c2dee22b}
.gallery-atmosphere{position:absolute;z-index:-1;inset:90px 0 0;overflow:hidden;pointer-events:none;user-select:none}
.gallery-atmosphere:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(5.2% - 1px),#b4d9dd12 5.2%,transparent calc(5.2% + 1px),transparent calc(94.8% - 1px),#b4d9dd12 94.8%,transparent calc(94.8% + 1px));pointer-events:none}
.gallery-atmosphere svg{position:absolute;top:60px;left:-5%;width:110%;height:1500px;fill:none;stroke:#a2d2d1;stroke-width:.65;opacity:.31}
.gallery-atmosphere .field-warm{stroke:#e8bfb2;opacity:.6}.gallery-atmosphere .field-marks{stroke:#b9e0de;stroke-width:1.2;opacity:.8}
.gallery-room{position:relative;z-index:1;max-width:1680px;padding-top:12px;animation:none}
.gallery-heading{position:relative;isolation:isolate;min-height:294px;padding:10px 0 30px;margin-bottom:4px}
.gallery-heading:after{content:'';position:absolute;left:0;bottom:8px;width:91px;height:6px;background:repeating-linear-gradient(90deg,#b5d4d078 0 1px,transparent 1px 9px);pointer-events:none}
.gallery-heading-top{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px}
.gallery-heading .room-kicker{font-size:13px;color:#bbd5da;letter-spacing:2px}
.gallery-back{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 3px;font-size:13px;color:#d5e5e4}
.gallery-back .ui-arrow{width:18px;height:18px;transition:transform .2s}.gallery-back:hover{color:#f2dac2}.gallery-back:hover .ui-arrow{transform:translateX(-3px)}
.gallery-heading-copy{position:relative;z-index:2;width:63%;padding-top:28px}
.gallery-heading h1{margin:0;font-size:clamp(56px,6.7vw,102px);line-height:1.16;letter-spacing:5px;color:#edf1e7;text-shadow:0 3px 24px #09233152}
.gallery-intro{font-size:14px;line-height:1.8;letter-spacing:2px;color:#bdd3da;margin-top:20px}
.gallery-hero-art{position:absolute;z-index:1;right:-4%;top:3px;width:64%;height:300px;pointer-events:none}
.gallery-wire-sculpture{position:absolute;right:-2%;top:-18px;width:100%;height:100%;max-width:none;object-fit:contain;opacity:.95;animation:wire-drift 18s ease-in-out infinite}
.gallery-hero-art:before{content:'';position:absolute;inset:14% 5% 8% 27%;background:radial-gradient(ellipse,#a3dfd91a,transparent 65%)}
.gallery-art-marker{position:absolute;right:5%;bottom:36px;display:flex;align-items:center;gap:12px;color:#b7cdd185;font:11px/1 monospace;letter-spacing:2px}
.gallery-art-marker:before{content:'';width:50px;height:1px;background:linear-gradient(90deg,transparent,#abc9d36b)}
.gallery-heading-register{position:absolute;right:47%;bottom:44px;width:14px;height:14px;color:#e7ceb7;opacity:.75;font:24px/14px monospace;pointer-events:none}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0 17px;margin:0 0 44px;border-bottom:1px solid #c2d6db40;position:relative}
.gallery-toolbar:after{content:'';position:absolute;right:0;bottom:-3px;width:5px;height:5px;background:#d9c2ab;transform:rotate(45deg);pointer-events:none}
.gallery-categories{display:flex;flex-wrap:wrap;gap:9px}
.gallery-filter{display:flex;align-items:center;gap:13px;min-height:48px;padding:10px 19px;border:1px solid #c2dae32b;border-radius:3px;color:#c4d9df;font-size:16px;white-space:nowrap;background:#d5e8e506;transition:background .2s,border-color .2s,color .2s}
.gallery-filter .filter-count{font-size:12px;letter-spacing:1px;color:#92b3bc}
.gallery-filter[aria-pressed="true"]{color:#132c39;background:#c6e1db;border-color:#dbf0e7;box-shadow:inset 0 1px #effff199}
.gallery-filter[aria-pressed="true"] .filter-count{color:#456b72}.gallery-filter:hover:not([aria-pressed="true"]){background:#c5ddd514;border-color:#c2dae365;color:#f0f3e9}
.gallery-summary{font-size:12px;letter-spacing:1px;color:#acc7cf;white-space:nowrap}
.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row;align-items:start;gap:74px 5%;position:relative;padding:0 0 78px;min-height:160px}
.gallery-grid:before{content:'';position:absolute;left:50%;top:3px;bottom:84px;width:1px;background:linear-gradient(transparent,#aeced014 20%,#d6bca825 52%,transparent);pointer-events:none}
.gallery-grid[hidden]{display:none}
.gallery-card{position:relative;display:block;width:100%;min-width:0;grid-column:span 6;padding:0;margin:0;text-align:left;color:#e7efed;border:0;background:none;border-radius:0;box-shadow:none;isolation:isolate;transition:transform .3s ease}
.gallery-card:nth-child(6n+1){grid-column:span 7}.gallery-card:nth-child(6n+2){grid-column:span 5;margin-top:78px}
.gallery-card:nth-child(6n+3){grid-column:span 5}.gallery-card:nth-child(6n+4){grid-column:span 7;margin-top:42px}
.gallery-card:nth-child(6n+5){grid-column:span 7}.gallery-card:nth-child(6n+6){grid-column:span 5;margin-top:70px}
.gallery-card.is-portrait{max-width:400px;justify-self:center}
.gallery-card:before,.gallery-card:after{content:'';position:absolute;z-index:2;width:19px;height:19px;pointer-events:none;transition:border-color .25s}
.gallery-card:before{left:-7px;top:-7px;border-top:1px solid #bbdbde91;border-left:1px solid #bbdbde91}
.gallery-card:after{right:-7px;bottom:77px;border-right:1px solid #dbbfa966;border-bottom:1px solid #dbbfa966}
.gallery-card:hover{transform:translateY(-4px)}.gallery-card:focus-visible{outline:2px solid #d5eee7;outline-offset:12px}
.gallery-card-art{display:block;position:relative;overflow:hidden;background:#0b2026;border:1px solid #bdd4dc47;box-shadow:0 12px 40px #03151c3b}
.gallery-card-art>img{display:block;width:100%;height:auto;object-fit:contain;transition:filter .35s}
.gallery-card:hover .gallery-card-art>img{filter:brightness(1.06)}
.gallery-card-zoom{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:38px;height:38px;color:#edeee7;border:1px solid #d9ebe77d;background:#132833b8;border-radius:50%;font-size:23px;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.gallery-card:hover .gallery-card-zoom,.gallery-card:focus-visible .gallery-card-zoom{opacity:1;transform:none}
.gallery-card-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:83px;padding:18px 0 10px;border-bottom:1px solid #c1d7db31}
.gallery-card-caption>span:first-child{display:block}
.gallery-card-title{display:block;font-size:clamp(21px,2vw,30px);line-height:1.35;letter-spacing:1px;color:#edf1e7}
.gallery-card-meta{display:block;font-size:11px;line-height:1.7;letter-spacing:1px;color:#9cb8c4;margin-top:5px}
.gallery-card-index{font-size:40px;line-height:1;color:#a4c7d184;letter-spacing:1px;font-weight:400}
.gallery-grid[data-visible-count="1"]{grid-template-columns:1fr;max-width:1000px}.gallery-grid[data-visible-count="1"] .gallery-card{grid-column:auto}
@keyframes wire-drift{0%,100%{transform:translate3d(0,0,0) rotate(-2deg)}50%{transform:translate3d(0,-8px,0) rotate(2deg)}}

.gallery-empty{position:relative;min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;margin-bottom:30px;border:1px solid #aabfc74a;background:linear-gradient(125deg,#526a7d5c,#2c455960);box-shadow:inset 13px 13px 0 #a9c0c605,inset -13px -13px 0 #a9c0c605}
.gallery-empty:before,.gallery-empty:after{content:'';position:absolute;width:24px;height:24px;pointer-events:none}.gallery-empty:before{top:14px;left:14px;border-top:1px solid #cabda88a;border-left:1px solid #cabda88a}.gallery-empty:after{bottom:14px;right:14px;border-bottom:1px solid #cabda88a;border-right:1px solid #cabda88a}
.gallery-empty[hidden]{display:none}.gallery-empty svg{width:68px;height:68px;fill:none;stroke:#b9d0d4;stroke-width:1;opacity:.8;margin-bottom:15px}.gallery-empty h2{font-size:25px;letter-spacing:2px;color:#d0e0df}.gallery-empty>p{font-size:13px;color:#a8c0c9;margin-top:12px}.gallery-reset{display:flex;align-items:center;gap:25px;min-height:44px;margin-top:20px;border-bottom:1px solid #d6b792a8;font-size:13px;color:#eed2b2}.gallery-reset[hidden]{display:none}
.gallery-more{display:flex;justify-content:center}.gallery-more>button{display:flex;align-items:center;gap:38px;min-height:48px;border:1px solid #b7c9d15c;border-radius:2px;padding:10px 26px;margin:12px 0 30px;color:#d2e0e3;font-size:14px;background:#bbcdd208}.gallery-more>button[hidden]{display:none}.gallery-more>button:hover{border-color:#dfc7a887;color:#f2d8bd}
.gallery-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #afc5cb3a;padding-top:16px;margin-top:auto;font-size:11px;letter-spacing:1px;color:#a7bec6}.gallery-foot-mark{display:flex;align-items:center;gap:16px}.gallery-foot-mark>span{font:20px/1 sans-serif;color:#cebca4}.gallery-foot>a{min-height:44px;display:flex;align-items:center;gap:18px;color:#d2dfe1}.gallery-foot>a:hover{color:#f0d6bf}.gallery-no-script{font-size:14px;color:#c6d7df;padding:20px 0}
.gallery-dialog{width:min(1380px,96vw);max-height:94svh;padding:0;border:1px solid #b5ced46b;border-radius:3px 20px 3px 3px;background:#263d4d;box-shadow:0 30px 120px #000b;overflow-y:auto;color:#dce9ed}.gallery-dialog::backdrop{background:#07131eea;backdrop-filter:blur(6px)}
.gallery-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:18px 25px;border-bottom:1px solid #c6d6dc40;background:linear-gradient(110deg,#546b7b,#334d60)}.gallery-dialog-head p{font-size:11px;color:#c1d4dc;letter-spacing:1px}.gallery-dialog-head h2{font-size:24px;font-weight:400;letter-spacing:1.5px;margin:5px 0 0;color:#f2e6d7}.gallery-dialog-head button{display:flex;align-items:center;gap:15px;min-height:44px;padding:0 4px 0 15px;font-size:13px;color:#dce7e7}.gallery-dialog-head button>span{font:27px/1 sans-serif}
.gallery-viewer{min-height:200px;display:grid;place-items:center;background:#142b3a;position:relative;padding:22px 25px}.gallery-viewer img{display:block;width:100%;height:auto;max-height:65svh;object-fit:contain}.gallery-viewer img[hidden]{display:none}.gallery-viewer[data-loading="true"]{opacity:.65}.gallery-viewer[data-loading="true"]:after{content:'图片加载中';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#d0e1e4;font-size:12px;background:#173344ed;padding:8px 15px;border:1px solid #b4cbd149}.gallery-viewer>p{font-size:13px;color:#b9ced6;padding:40px 20px}.gallery-viewer>p[hidden]{display:none}
.gallery-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 25px 20px;border-top:1px solid #b9cfd12e}.gallery-art-note{max-width:65%}.gallery-art-note p{font-size:13px;line-height:1.8;color:#c4d5de}.gallery-art-note>span{display:block;margin-top:5px;font-size:10px;color:#9db9c7;letter-spacing:.6px}.gallery-viewer-actions{display:flex;align-items:center;gap:25px;flex-shrink:0}.gallery-viewer-actions>a{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:#e4c8a7}.gallery-viewer-actions>a[hidden]{display:none}.gallery-stepper{display:flex;align-items:center;gap:12px;font-size:11px;color:#b8ccd6;white-space:nowrap}.gallery-stepper button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #b7ced15c;border-radius:50%;font-size:22px;color:#d9e6e6}.gallery-stepper button:hover:not(:disabled){border-color:#ecd4b5b3;color:#f0d7bf}.gallery-stepper button:disabled{opacity:.3;cursor:default}

.gallery-foot{position:relative;color:#aec9ce;padding-top:18px;border-top-color:#bad5d036}.gallery-foot>a{font-size:13px;color:#d9e5e4}.gallery-foot-mark{font-size:12px;letter-spacing:2px}
@media(max-width:1100px){
 .gallery-heading{min-height:265px}.gallery-heading h1{font-size:72px}.gallery-heading-copy{padding-top:24px}.gallery-hero-art{right:-8%;width:65%;height:270px}.gallery-intro{font-size:13px;letter-spacing:1px}
 .gallery-toolbar{align-items:start;gap:12px;margin-bottom:35px}.gallery-filter{font-size:14px;padding:9px 13px;gap:9px}.gallery-summary{padding-top:14px;font-size:11px}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 30px}.gallery-card:nth-child(n){grid-column:auto;margin-top:0}.gallery-card:nth-child(even){margin-top:38px}.gallery-card.is-portrait{max-width:340px}.gallery-card-title{font-size:24px}.gallery-card-index{font-size:34px}.gallery-card:after{bottom:76px}
 .gallery-viewer-actions{gap:15px}.gallery-art-note{max-width:55%}
}
@media(max-width:760px){
 .gallery-room{padding-top:10px}.gallery-atmosphere{top:80px}.gallery-atmosphere svg{top:120px;width:170%;left:-30%;opacity:.21}
 .gallery-heading{min-height:245px;padding:5px 0 24px;margin-bottom:5px}.gallery-heading-top{gap:12px}.gallery-heading .room-kicker{font-size:11px;letter-spacing:1px}.gallery-back{font-size:11px;gap:6px}.gallery-back .ui-arrow{width:16px;height:16px}
 .gallery-heading-copy{width:80%;padding-top:32px}.gallery-heading h1{font-size:56px;letter-spacing:2px}.gallery-intro{font-size:12px;max-width:260px;letter-spacing:.5px;margin-top:16px}
 .gallery-hero-art{width:77%;height:260px;right:-17%;top:11px;opacity:.42}.gallery-art-marker{display:none}.gallery-heading-register{right:6px;bottom:18px;font-size:20px}.gallery-heading:after{width:64px;bottom:7px;height:5px}
 .gallery-toolbar{display:block;margin-bottom:29px;padding:8px 0 14px}.gallery-categories{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.gallery-filter{min-height:46px;font-size:15px;padding:9px 13px;justify-content:space-between;gap:7px}.gallery-filter .filter-count{font-size:11px}.gallery-summary{font-size:11px;padding:0;margin-top:14px;letter-spacing:1px}
 .gallery-grid{gap:36px 24px;padding-bottom:44px}.gallery-card:nth-child(even){margin-top:30px}.gallery-card-caption{min-height:79px;padding:14px 0 10px;gap:9px}.gallery-card-title{font-size:21px;letter-spacing:.5px}.gallery-card-meta{font-size:10px;letter-spacing:.5px}.gallery-card-index{font-size:29px}.gallery-card:before,.gallery-card:after{width:13px;height:13px}.gallery-card:before{left:-4px;top:-4px}.gallery-card:after{right:-4px;bottom:73px}.gallery-card-zoom{opacity:1;transform:none;width:30px;height:30px;right:9px;bottom:9px;font-size:19px}
 .gallery-foot{font-size:10px;letter-spacing:0;gap:12px}.gallery-foot-mark{gap:8px;font-size:10px;letter-spacing:.5px}.gallery-foot>a{font-size:11px;gap:8px}
 .gallery-empty{min-height:300px}.gallery-empty h2{font-size:21px;letter-spacing:1px}.gallery-empty>p{font-size:12px}
 .gallery-dialog{width:96vw;max-height:96svh;border-radius:3px 15px 3px 3px}.gallery-dialog-head{padding:15px}.gallery-dialog-head h2{font-size:20px}.gallery-dialog-head p{font-size:10px}.gallery-dialog-head button{font-size:12px;gap:8px}.gallery-viewer{padding:12px 0;min-height:160px}.gallery-viewer img{max-height:62svh}.gallery-dialog-foot{display:block;padding:15px}.gallery-art-note{max-width:none}.gallery-art-note p{font-size:12px}.gallery-viewer-actions{justify-content:space-between;gap:16px;margin-top:14px}.gallery-stepper{gap:9px}.gallery-stepper button{min-width:44px;min-height:44px;font-size:21px}
}
@media(max-width:520px){
 .gallery-heading{min-height:228px}.gallery-heading-copy{padding-top:29px;width:100%}.gallery-heading h1{font-size:clamp(42px,11.2vw,57px);letter-spacing:1px}.gallery-intro{font-size:11px;letter-spacing:.5px;max-width:215px}.gallery-hero-art{right:-22%;top:16px;width:98%;height:222px;opacity:.32}.gallery-wire-sculpture{animation:none}
 .gallery-filter{font-size:14px;padding:9px 12px}.gallery-grid{grid-template-columns:minmax(0,1fr);gap:35px}.gallery-grid:before{display:none}.gallery-card:nth-child(n){grid-column:auto;margin-top:0;max-width:100%}.gallery-card.is-portrait{width:88%;justify-self:center}.gallery-card-title{font-size:24px}.gallery-card-index{font-size:33px}.gallery-card-meta{font-size:11px}.gallery-card-caption{min-height:82px}.gallery-card:after{bottom:76px}.gallery-card:hover{transform:none}.gallery-grid[data-visible-count="1"]{max-width:none}
}
@media(max-width:360px){.gallery-heading .room-kicker{font-size:10px;letter-spacing:0}.gallery-back{font-size:10px;gap:4px}.gallery-heading h1{font-size:39px}.gallery-intro{font-size:10px;letter-spacing:0}.gallery-filter{padding:9px 10px;gap:5px}.gallery-card-title{font-size:22px}.gallery-card-index{font-size:30px}}
@media(prefers-reduced-motion:reduce){.gallery-wire-sculpture{animation:none}.gallery-card,.gallery-card-art>img,.gallery-card-zoom,.gallery-filter,.gallery-back .ui-arrow{transition:none}}
