:root{color-scheme:dark;--night:#03131c;--ivory:#f4ebd9;--gold:#e3c187;--muted:#9ab0ad}
*{box-sizing:border-box}
html{background:var(--night)}
body{margin:0;color:var(--ivory);font-family:"Songti SC","STSong","Noto Serif SC",Georgia,serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid #f3cf92;outline-offset:4px}
.page-shell{min-height:100svh;max-width:1800px;margin:auto;background:#03131c}
.site-header{height:92px;padding:0 clamp(24px,3vw,58px);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid rgba(226,191,132,.2);background:linear-gradient(90deg,#082730,#051723 55%,#071322)}
.brand{display:flex;align-items:center;gap:12px;min-width:190px}.brand-seal{width:43px;height:43px;border:1px solid #d8bb87;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 4px #08242b,inset 0 0 0 5px rgba(224,195,143,.35);color:#ecd2a1;font-size:19px}.brand-name{display:flex;flex-direction:column;gap:3px}.brand-name strong{font-size:18px;font-weight:500;letter-spacing:.17em}.brand-name small{font:9px/1.2 system-ui,sans-serif;letter-spacing:.42em;color:#a6b9b1}
.header-intro{display:flex;align-items:center;gap:17px;margin-left:auto;color:#b0bcb3;font-size:13px;letter-spacing:.2em;white-space:nowrap}.header-rule{width:38px;height:1px;background:#a98d62}.header-marker{display:flex;flex-direction:column;align-items:end;gap:3px;min-width:177px;color:#78969b;font:9px system-ui,sans-serif;letter-spacing:.25em;white-space:nowrap}.header-marker b{font-size:12px;font-weight:400;color:#dfbb7d}
.museum-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 12px 0}
.museum-panel{display:block;position:relative;min-width:0;height:clamp(590px,calc(100svh - 166px),850px);overflow:hidden;isolation:isolate;background:#071a21;border:1px solid rgba(219,189,136,.15);transition:border-color .35s}
.museum-panel:hover{border-color:rgba(242,207,147,.68)}.museum-panel::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid rgba(242,207,147,.07);transition:border .35s}.museum-panel:hover::after{border:1px solid rgba(242,207,147,.26)}
.panel-image{position:absolute;inset:0;background:#092e32 url("assets/music-hall-poster.png") right center/auto 130% no-repeat;transform:scale(1.01);transition:transform .8s ease}.panel-music:hover .panel-image{transform:scale(1.065)}
.panel-music::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(1,20,25,.33) 0%,rgba(2,24,27,.1) 36%,rgba(1,20,24,.39) 58%,rgba(1,16,20,.94) 100%),linear-gradient(90deg,rgba(2,24,29,.32),transparent 60%)}
.panel-sheen{position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 45% at 67% 40%,rgba(242,190,105,.14),transparent 75%)}
.panel-top{position:absolute;z-index:6;top:34px;left:35px;right:35px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#f0d7a4;font:10px/1.4 system-ui,sans-serif;letter-spacing:.21em;text-shadow:0 2px 10px #000a}.panel-top>span:first-child{display:flex;align-items:center;gap:13px}.panel-top i{width:25px;height:1px;background:rgba(227,193,135,.58)}.open-state,.preview-state{color:#d1d8c8;font-size:10px;letter-spacing:.14em;white-space:nowrap}
.music-lines{position:absolute;left:40%;top:16%;height:37%;width:50%;z-index:1;transform:rotate(24deg);pointer-events:none;opacity:.48}.music-lines span{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,226,165,.8),transparent);box-shadow:0 0 10px rgba(249,212,139,.35)}.music-lines span:nth-child(1){top:23%}.music-lines span:nth-child(2){top:35%}.music-lines span:nth-child(3){top:47%}.music-lines span:nth-child(4){top:59%}.music-lines span:nth-child(5){top:71%}
.panel-copy{position:absolute;z-index:6;left:clamp(32px,5vw,80px);right:clamp(32px,5vw,80px);bottom:clamp(41px,6.3vh,75px);display:flex;flex-direction:column;align-items:flex-start;text-shadow:0 2px 20px rgba(0,0,0,.64)}.panel-kicker{margin-bottom:16px;color:#dcbd86;font:10px/1.3 system-ui,sans-serif;letter-spacing:.31em}.panel-copy h1,.panel-copy h2{margin:0;color:#fff0d6;font-size:clamp(49px,4.3vw,80px);font-weight:400;line-height:1.2;letter-spacing:.1em}.panel-subtitle{margin:14px 0 0;color:#f0dab6;font-size:clamp(18px,1.5vw,24px);letter-spacing:.16em}.panel-desc{max-width:450px;margin:20px 0 0;color:#c5d3cc;font-size:13px;line-height:1.9;letter-spacing:.09em}.panel-action{display:flex;align-items:center;justify-content:space-between;gap:30px;min-width:225px;min-height:49px;margin-top:27px;padding:0 2px 0 0;border-bottom:1px solid #e4be7c;color:#ffdfaa;font-size:16px;letter-spacing:.16em;transition:color .2s,gap .2s}.panel-action span{font:24px/1 system-ui,sans-serif}.museum-panel:hover .panel-action{color:#fff0cf;gap:44px}
.panel-edge{position:absolute;z-index:6;right:25px;top:50%;writing-mode:vertical-rl;color:rgba(215,221,207,.44);font:9px system-ui,sans-serif;letter-spacing:.25em}
.panel-lushun{background:radial-gradient(ellipse 70% 65% at 58% 39%,#12314b 0%,#071c31 40%,#020a18 100%)}.panel-lushun::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(0,6,20,.12) 0%,transparent 32%,rgba(1,8,19,.2) 52%,rgba(0,5,15,.95) 100%)}
.cosmic-glow{position:absolute;left:50%;top:39%;width:80%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(219,166,92,.18),rgba(75,135,155,.1) 35%,transparent 70%);filter:blur(12px)}
.star-map{position:absolute;inset:0;z-index:1;pointer-events:none}.star{position:absolute;border-radius:50%;background:#d8edf5;opacity:var(--twinkle-opacity);box-shadow:0 0 7px rgba(191,229,241,.77);animation:twinkle var(--twinkle-time) ease-in-out var(--twinkle-delay) infinite alternate}.star-gold{background:#ffe0a5;box-shadow:0 0 10px 2px rgba(246,198,113,.66),0 0 28px 8px rgba(239,185,93,.16)}@keyframes twinkle{from{opacity:.08;transform:scale(.65)}to{opacity:var(--twinkle-opacity);transform:scale(1.25)}}
.celestial-ring{position:absolute;z-index:2;left:50%;top:39%;border:1px solid rgba(203,220,214,.14);border-radius:50%;pointer-events:none}.ring-one{width:78%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(-27deg)}.ring-two{width:59%;aspect-ratio:1;transform:translate(-50%,-50%);border-color:rgba(225,196,150,.18)}.ring-three{width:26%;height:62%;transform:translate(-50%,-50%) rotate(25deg);border-color:rgba(167,199,207,.11)}
.artifact-glow{position:absolute;z-index:2;left:50%;top:39%;width:47%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 90px rgba(214,171,95,.16)}.artifact-photo{position:absolute;z-index:3;left:50%;top:39%;width:150%;height:auto;max-width:none;transform:translate(-50%,-50%);filter:drop-shadow(0 30px 34px rgba(0,0,0,.6));transition:transform .8s ease}.panel-lushun:hover .artifact-photo{transform:translate(-50%,-50%) scale(1.045)}
.sky-coordinate{position:absolute;z-index:5;right:38px;top:80px;color:#8ba8b0;font:10px system-ui,sans-serif;letter-spacing:.2em}.panel-lushun .panel-copy h2{font-size:clamp(46px,4vw,73px)}
.site-footer{min-height:60px;padding:0 clamp(24px,3vw,58px);display:flex;align-items:center;justify-content:space-between;gap:18px;color:#8ca5a1;font:10px system-ui,sans-serif;letter-spacing:.18em}.site-footer span:last-child{color:#547982}
@media(max-width:1100px){.header-intro{font-size:11px}.museum-panel{height:clamp(580px,calc(100svh - 166px),750px)}.panel-image{background-size:auto 120%}.panel-copy{left:37px;right:37px}.panel-copy h1,.panel-copy h2{font-size:clamp(41px,4.9vw,64px)}.panel-lushun .panel-copy h2{font-size:clamp(39px,4.6vw,60px)}.panel-desc{font-size:12px}.panel-edge{display:none}}
@media(max-width:760px){.site-header{height:77px;padding:0 20px}.header-intro,.header-marker{display:none}.museum-grid{grid-template-columns:1fr;gap:10px;padding:10px 10px 0}.museum-panel{height:clamp(495px,76svh,680px)}.panel-image{background-size:auto 123%;background-position:right center}.panel-top{left:25px;right:25px;top:25px}.panel-copy{left:30px;right:30px;bottom:34px}.panel-copy h1,.panel-copy h2,.panel-lushun .panel-copy h2{font-size:clamp(47px,9vw,66px)}.panel-subtitle{font-size:19px}.panel-desc{font-size:12px}.panel-action{margin-top:19px}.artifact-photo{width:134%;top:38%}.celestial-ring,.artifact-glow,.cosmic-glow{top:38%}.sky-coordinate{right:25px;top:65px}.site-footer{padding:18px 22px 24px;min-height:0;flex-wrap:wrap;font-size:9px}.site-footer span:last-child{display:none}}
@media(max-width:460px){.site-header{height:70px}.brand-seal{width:36px;height:36px;font-size:16px}.brand-name strong{font-size:15px}.brand-name small{font-size:8px}.museum-panel{height:520px}.panel-image{background-size:auto 118%}.panel-top{font-size:8px;letter-spacing:.13em}.panel-top i{width:12px}.open-state,.preview-state{font-size:8px}.panel-copy{left:24px;right:24px;bottom:29px}.panel-kicker{font-size:8px;letter-spacing:.19em}.panel-copy h1,.panel-copy h2,.panel-lushun .panel-copy h2{font-size:47px}.panel-subtitle{font-size:16px}.panel-desc{font-size:11px;line-height:1.7;margin-top:13px}.panel-action{font-size:14px;min-width:190px;min-height:42px;margin-top:14px}.panel-lushun .artifact-photo{width:145%;top:35%}.panel-lushun .celestial-ring,.panel-lushun .artifact-glow,.panel-lushun .cosmic-glow{top:35%}.sky-coordinate{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Two museum entrances and one portrait studio share this index. */
.site-header{height:78px}
.portal-intro{min-height:120px;padding:19px clamp(24px,3vw,58px) 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:40px;border-bottom:1px solid rgba(226,191,132,.13)}
.portal-intro>span{grid-column:1/-1;align-self:start;color:#beaa81;font:9px system-ui,sans-serif;letter-spacing:.25em}
.portal-intro p{margin:4px 0 0;color:#f2e4ca;font-size:clamp(28px,3vw,45px);line-height:1.18;letter-spacing:.13em;white-space:nowrap}
.portal-intro em{color:#d8b980;font-style:normal}
.portal-intro small{max-width:365px;margin-bottom:3px;color:#9fb3ae;font-size:11px;line-height:1.7;letter-spacing:.08em}
.museum-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:minmax(310px,1.09fr) minmax(265px,.91fr);height:clamp(600px,calc(100svh - 260px),820px)}
.museum-panel{height:auto}
.panel-music{grid-row:1/span 2}
.panel-music .panel-image{background-size:cover;background-position:72% center}
.panel-lushun{background:radial-gradient(ellipse 65% 110% at 68% 48%,#173c51,#07192a 58%,#020916)}
.panel-lushun::before{background:linear-gradient(90deg,rgba(1,8,19,.94),rgba(1,9,22,.38) 67%,transparent),linear-gradient(0deg,rgba(1,7,18,.88),transparent 75%)}
.panel-lushun .cosmic-glow,.panel-lushun .celestial-ring{left:70%;top:48%}
.panel-lushun .ring-one{width:57%}.panel-lushun .ring-two{width:42%}.panel-lushun .ring-three{width:20%;height:62%}
.hero-star{position:absolute;z-index:3;left:72%;top:43%;width:10px;height:10px;border-radius:50%;background:#fff5ca;box-shadow:0 0 7px 3px #fff4c8,0 0 33px 17px rgba(240,194,105,.78),0 0 95px 38px rgba(239,190,92,.18);animation:hero-pulse 4s ease-in-out infinite alternate}
@keyframes hero-pulse{to{transform:scale(1.3);box-shadow:0 0 9px 5px #fff4c8,0 0 45px 23px rgba(240,194,105,.82),0 0 115px 50px rgba(239,190,92,.2)}}
.panel-lushun .panel-copy{left:clamp(32px,4vw,55px);right:28%;bottom:26px}
.panel-lushun .panel-kicker{font-size:8px;margin-bottom:8px}
.panel-lushun .panel-copy h2{font-size:clamp(34px,3.4vw,49px);white-space:nowrap}
.panel-lushun .panel-subtitle{font-size:15px;margin-top:7px}
.panel-lushun .panel-desc{margin-top:8px;max-width:350px;font-size:11px;line-height:1.55}
.panel-lushun .panel-action{min-height:33px;min-width:175px;margin-top:12px;font-size:12px}
.panel-lushun .panel-edge{display:none}
.panel-lushun .sky-coordinate{top:66px;right:31px;font-size:8px}
.panel-portrait{background:#e5dbc8;color:#26373b}
.panel-portrait:before{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(ellipse 70% 110% at 81% 46%,#fff6e5,#e1d2b9 70%,#c9b799)}
.paper-grain{position:absolute;z-index:1;inset:0;opacity:.45;background-image:radial-gradient(#614d381a .7px,transparent .8px);background-size:9px 9px}
.panel-portrait .panel-top{color:#7b5b38;text-shadow:none}.panel-portrait .panel-top i{background:#9d7547}.panel-portrait .preview-state{color:#746a5b}
.portrait-copy{position:absolute;z-index:5;left:clamp(32px,4vw,55px);right:39%;bottom:24px;text-shadow:none}
.portrait-copy .panel-kicker{display:block;margin-bottom:6px;color:#917251;font-size:8px}
.portrait-copy h2{margin:0;color:#25414a;font-size:clamp(38px,3.7vw,54px);font-weight:400;line-height:1.15;letter-spacing:.13em;white-space:nowrap}
.portrait-copy p{margin:8px 0 0;color:#62706b;font-size:12px;line-height:1.5;letter-spacing:.1em}
.portrait-copy .panel-action{margin-top:14px;min-width:185px;min-height:36px;border-color:#9c7950;color:#25414a;font-size:12px}.panel-portrait:hover .panel-action{color:#0e3139}
.souvenir-card{position:absolute;z-index:4;right:clamp(31px,6.5vw,98px);top:39px;width:146px;height:230px;padding:10px;background:#f9f3e7;border:7px solid #e8ddc9;border-radius:9px;box-shadow:11px 18px 20px rgba(73,58,42,.29),0 0 0 1px #ad9b7d;transform:rotate(9deg);transition:transform .45s ease}
.panel-portrait:hover .souvenir-card{transform:rotate(3deg) translateY(-7px)}
.card-topline{display:block;color:#8d775c;font:4px system-ui,sans-serif;letter-spacing:.06em}
.souvenir-card strong{display:block;margin:5px 0;color:#403a32;font-size:16px;font-weight:400;letter-spacing:.07em}
.card-photo{position:relative;height:146px;overflow:hidden;background:#182733}.card-photo .visitor{display:block;width:100%;height:100%;object-fit:cover;object-position:left 29%}.card-photo .gold-object{position:absolute;right:-53px;bottom:1px;width:190px;filter:drop-shadow(0 4px 8px #0005)}
.card-caption{display:block;margin-top:6px;color:#483a2c;font-size:7px;white-space:nowrap}.card-foot{display:block;margin-top:5px;color:#978975;font:4px system-ui,sans-serif;letter-spacing:.1em}
.card-orbit{position:absolute;z-index:2;right:3%;top:50%;width:40%;aspect-ratio:1;border:1px solid rgba(137,108,67,.24);border-radius:50%;transform:translateY(-50%)}
@media(max-width:1100px){.museum-grid{height:685px}.panel-portrait .souvenir-card{right:27px;top:50px;width:132px;height:215px;padding:8px}.panel-portrait .card-photo{height:136px}.panel-portrait .souvenir-card strong{font-size:14px}.portrait-copy{right:38%}.portrait-copy h2{font-size:38px}.portrait-copy p{font-size:10px}.panel-lushun .panel-copy h2{font-size:36px}}
@media(max-width:760px){.portal-intro{min-height:0;padding:21px 22px 22px;display:block}.portal-intro p{font-size:clamp(30px,6vw,42px);margin-top:10px;white-space:normal}.portal-intro small{display:block;margin-top:10px;font-size:10px}.museum-grid{height:auto;grid-template-columns:1fr;grid-template-rows:none}.panel-music{grid-row:auto;height:550px}.panel-music .panel-image{background-size:auto 122%;background-position:right center}.panel-lushun{height:360px}.panel-portrait{height:315px}.panel-lushun .panel-copy h2{font-size:43px}.panel-portrait .souvenir-card{right:12%;top:25px;width:146px;height:230px;padding:10px}.panel-portrait .card-photo{height:146px}.panel-portrait .souvenir-card strong{font-size:16px}.portrait-copy h2{font-size:48px}}
@media(max-width:460px){.site-header{height:70px}.portal-intro{padding:18px 20px 20px}.portal-intro p{font-size:31px}.portal-intro p em{display:block}.portal-intro small{font-size:9px}.museum-grid{padding:8px 8px 0;gap:8px}.panel-music{height:520px}.panel-lushun{height:330px}.panel-portrait{height:285px}.panel-lushun .panel-copy{left:24px;right:20%;bottom:24px}.panel-lushun .panel-copy h2{font-size:35px}.panel-lushun .panel-subtitle{font-size:12px}.panel-lushun .panel-desc{font-size:10px}.panel-lushun .sky-coordinate{font-size:7px;right:20px;top:57px}.panel-portrait .panel-top{left:22px;right:22px}.portrait-copy{left:23px;right:42%;bottom:22px}.portrait-copy .panel-kicker{font-size:6px}.portrait-copy h2{font-size:34px}.portrait-copy p{font-size:9px}.portrait-copy .panel-action{min-width:145px;font-size:10px;margin-top:11px}.panel-portrait .souvenir-card{right:20px;top:70px;width:113px;height:181px;border-width:5px;padding:6px}.panel-portrait .card-photo{height:115px}.panel-portrait .souvenir-card strong{font-size:12px}.panel-portrait .card-topline{font-size:3px}.panel-portrait .card-caption{font-size:5px;margin-top:4px}.panel-portrait .card-foot{font-size:3px}}

/* Landscape triptych: three equal-height entrances, one continuous panorama. */
.swipe-hint{display:none}
.site-header{height:70px}
.portal-intro{min-height:96px;padding-top:16px;padding-bottom:13px;grid-template-columns:minmax(0,1fr) minmax(260px,390px)}
.portal-intro p{font-size:clamp(27px,2.55vw,42px)}
.portal-intro small{font-size:11px}
.intro-aside{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.intro-aside small{display:block;max-width:390px;color:#9fb3ae;font-size:10px;line-height:1.5;letter-spacing:.07em}
.intro-aside a{color:#d9ba85;font:9px/1.3 system-ui,sans-serif;letter-spacing:.17em}
.intro-aside a:hover{color:#fff0cc}
.museum-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:8px;height:clamp(550px,calc(100svh - 216px),900px);padding:8px 10px 0}
.museum-panel{height:100%;min-height:0}
.panel-music{grid-row:auto}
.panel-top{top:29px;left:27px;right:27px;font-size:9px;letter-spacing:.17em}
.panel-top i{width:18px}
.open-state,.preview-state{font-size:9px}
.panel-music .panel-image{background-size:auto 117%;background-position:72% center}
.panel-music::before{background:linear-gradient(180deg,rgba(1,20,25,.16),transparent 37%,rgba(1,18,23,.32) 58%,rgba(1,15,20,.97)),linear-gradient(90deg,rgba(1,24,27,.2),transparent 80%)}
.panel-music .panel-copy{left:clamp(28px,3vw,55px);right:25px;bottom:clamp(33px,4vh,53px)}
.panel-copy h1{font-size:clamp(45px,3.25vw,64px)}
.panel-music .panel-subtitle{font-size:clamp(14px,1.2vw,19px)}
.panel-music .panel-desc{font-size:11px;line-height:1.7;max-width:310px;margin-top:15px}
.panel-kicker{font-size:9px;margin-bottom:11px}
.panel-action{margin-top:19px;min-height:42px;min-width:200px;font-size:14px}
.panel-lushun{background:radial-gradient(ellipse 78% 65% at 50% 35%,#153550 0%,#071c31 52%,#020a17 100%)}
.panel-lushun::before{background:linear-gradient(180deg,rgba(1,7,20,.05) 0%,transparent 46%,rgba(0,5,16,.55) 67%,rgba(0,5,15,.98) 100%)}
.panel-lushun .cosmic-glow,.panel-lushun .celestial-ring{left:50%;top:39%}
.panel-lushun .ring-one{width:92%}.panel-lushun .ring-two{width:68%}.panel-lushun .ring-three{width:32%;height:62%}
.hero-star{left:52%;top:35%}
.panel-lushun .sky-coordinate{top:65px;right:27px}
.panel-lushun .panel-copy{left:clamp(28px,2.9vw,49px);right:24px;bottom:clamp(33px,4vh,53px)}
.panel-lushun .panel-kicker{font-size:9px;margin-bottom:10px}
.panel-lushun .panel-copy h2{font-size:clamp(38px,3vw,54px);white-space:normal}
.panel-lushun .panel-subtitle{font-size:clamp(15px,1.2vw,18px);margin-top:10px}
.panel-lushun .panel-desc{max-width:310px;font-size:11px;line-height:1.7;margin-top:15px}
.panel-lushun .panel-action{min-width:195px;min-height:42px;margin-top:19px;font-size:14px}
.panel-portrait{background:#e7decf}
.panel-portrait:before{background:radial-gradient(ellipse 82% 68% at 48% 35%,#f7f0e2 0%,#e9ddcb 57%,#cbb89c 100%)}
.panel-portrait .panel-top{color:#745633}
.panel-portrait .preview-state{color:#6f695e}
.souvenir-card,.panel-portrait .souvenir-card{top:91px;right:50%;width:204px;height:322px;padding:13px;border-width:8px;transform:translateX(50%) rotate(5deg);box-shadow:20px 29px 30px rgba(65,51,38,.23),0 0 0 1px #ae9b7b}
.panel-portrait:hover .souvenir-card{transform:translateX(50%) rotate(1deg) translateY(-8px)}
.souvenir-card::before{content:"";position:absolute;z-index:-1;inset:10px -10px -10px 12px;background:#d7c2a6;border:1px solid rgba(96,67,37,.25);border-radius:7px;transform:rotate(-9deg);box-shadow:7px 10px 12px #55473525}
.panel-portrait .card-topline{font-size:5px}
.panel-portrait .souvenir-card strong{font-size:20px;margin:7px 0}
.panel-portrait .card-photo{height:211px}
.panel-portrait .card-photo .gold-object{width:263px;right:-73px;bottom:-2px}
.panel-portrait .card-caption{font-size:9px;margin-top:7px}
.panel-portrait .card-foot{font-size:5px;margin-top:6px}
.panel-portrait .card-orbit{width:73%;right:13%;top:36%;border-color:rgba(123,93,58,.2)}
.portrait-copy{left:clamp(28px,2.9vw,49px);right:24px;bottom:clamp(33px,4vh,53px)}
.portrait-copy .panel-kicker{font-size:9px;margin-bottom:10px}
.portrait-copy h2{font-size:clamp(38px,3vw,54px)}
.portrait-copy p{font-size:11px;line-height:1.6;margin-top:10px}
.portrait-copy .panel-action{min-width:207px;min-height:42px;margin-top:16px;font-size:14px}
.site-footer{height:50px;min-height:50px;padding:0 30px;font-size:9px}

@media(max-width:1190px) and (min-width:900px){
  .header-intro{font-size:10px}
  .museum-grid{height:clamp(530px,calc(100svh - 216px),760px)}
  .panel-top{left:20px;right:20px;font-size:8px}
  .open-state,.preview-state{font-size:7px}
  .panel-music .panel-copy,.panel-lushun .panel-copy,.portrait-copy{left:25px;right:20px}
  .panel-copy h1{font-size:42px}
  .panel-lushun .panel-copy h2,.portrait-copy h2{font-size:37px}
  .panel-music .panel-desc,.panel-lushun .panel-desc{font-size:10px}
  .souvenir-card,.panel-portrait .souvenir-card{top:100px;width:158px;height:255px;padding:10px;border-width:6px}
  .panel-portrait .souvenir-card strong{font-size:16px}
  .panel-portrait .card-photo{height:162px}
  .panel-portrait .card-photo .gold-object{width:203px;right:-55px}
  .panel-portrait .card-caption{font-size:7px}
  .panel-portrait .card-foot{font-size:4px}
}

@media(max-width:899px){
  .site-header{height:67px;padding:0 20px}
  .header-intro,.header-marker{display:none}
  .portal-intro{min-height:0;display:block;padding:18px 21px 17px}
  .portal-intro p{font-size:clamp(27px,5vw,37px);margin-top:8px;white-space:normal}
  .portal-intro p em{display:inline}
  .portal-intro small{display:block;max-width:520px;font-size:10px;margin-top:9px}
  .intro-aside a{display:none}
  .swipe-hint{display:block;margin-top:10px;color:#d5b57d;font:10px system-ui,sans-serif;letter-spacing:.12em}
  .museum-grid{display:flex;grid-template-columns:none;grid-template-rows:none;gap:8px;height:clamp(510px,calc(100svh - 255px),690px);min-height:0;max-height:none;padding:8px 18px 0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:18px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#a48960 #071822}
  .museum-panel,.panel-music,.panel-lushun,.panel-portrait{height:100%;flex:0 0 min(78vw,420px);scroll-snap-align:center}
  .panel-music .panel-image{background-size:auto 115%}
  .panel-music .panel-copy,.panel-lushun .panel-copy,.portrait-copy{left:28px;right:25px;bottom:35px}
  .panel-copy h1,.panel-lushun .panel-copy h2,.portrait-copy h2{font-size:clamp(36px,7vw,48px)}
  .panel-lushun .panel-subtitle{font-size:15px}
  .panel-lushun .panel-desc{font-size:11px}
  .souvenir-card,.panel-portrait .souvenir-card{top:87px;right:50%;width:178px;height:280px;padding:11px;border-width:7px;transform:translateX(50%) rotate(5deg)}
  .panel-portrait .souvenir-card strong{font-size:17px}
  .panel-portrait .card-photo{height:183px}
  .panel-portrait .card-photo .gold-object{width:226px;right:-60px}
  .panel-portrait .card-caption{font-size:8px}
  .site-footer{height:auto;min-height:46px;padding:14px 21px;gap:10px;font-size:8px}
  .site-footer span:nth-child(2){display:none}
}

@media(max-width:480px){
  .portal-intro p{font-size:29px}
  .portal-intro p em{display:block}
  .museum-grid{height:min(560px,68svh);min-height:480px}
  .museum-panel,.panel-music,.panel-lushun,.panel-portrait{flex-basis:86vw}
  .panel-top{top:23px;left:23px;right:20px;font-size:8px}
  .open-state,.preview-state{font-size:7px}
  .panel-music .panel-copy,.panel-lushun .panel-copy,.portrait-copy{left:24px;right:20px;bottom:27px}
  .panel-copy h1,.panel-lushun .panel-copy h2,.portrait-copy h2{font-size:38px}
  .souvenir-card,.panel-portrait .souvenir-card{top:75px;right:50%;width:163px;height:260px;padding:9px;border-width:6px}
  .panel-portrait .card-photo{height:170px}
  .panel-portrait .card-photo .gold-object{width:211px;right:-56px}
}

@media(max-height:760px) and (min-width:900px){
  .portal-intro{min-height:82px;padding-top:10px;padding-bottom:10px}
  .museum-grid{height:clamp(480px,calc(100svh - 198px),700px)}
  .souvenir-card,.panel-portrait .souvenir-card{top:58px}
  .panel-music .panel-copy,.panel-lushun .panel-copy,.portrait-copy{bottom:29px}
  .panel-music .panel-desc,.panel-lushun .panel-desc{margin-top:10px}
  .panel-action,.panel-lushun .panel-action,.portrait-copy .panel-action{margin-top:10px}
  .site-footer{height:42px;min-height:42px}
}

/* The fourth chapter is a wide cinema, so the original triptych keeps its scale. */
.screening-section{margin-top:72px;padding:0 clamp(24px,3.5vw,58px) 88px;background:radial-gradient(ellipse 70% 45% at 36% 88%,rgba(37,63,69,.22),transparent 80%)}
.screening-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;min-height:138px;padding:28px 0 27px;border-top:1px solid rgba(224,192,137,.26)}
.screening-overline{display:flex;align-items:center;gap:16px;color:#d2b47e;font:10px/1.4 system-ui,sans-serif;letter-spacing:.23em}
.screening-overline i{display:block;width:38px;height:1px;background:#bc9b68}
.screening-heading h2{margin:12px 0 0;color:#f2e5ce;font-size:clamp(38px,3.7vw,64px);font-weight:400;line-height:1.1;letter-spacing:.15em}
.screening-heading p{margin:0 0 6px;color:#9eafa9;font-size:13px;line-height:1.9;letter-spacing:.18em;text-align:right}
.screening-layout{display:grid;grid-template-columns:minmax(0,1.77fr) minmax(310px,.83fr);align-items:stretch;gap:clamp(28px,3.5vw,60px)}
.screening-frame{position:relative;align-self:start;aspect-ratio:16/9;min-width:0;overflow:hidden;background:#020a10;border:1px solid rgba(229,198,144,.37);box-shadow:0 30px 70px rgba(0,0,0,.23)}
.screening-frame.drag-active{border-color:#ffe0a0;box-shadow:0 0 0 4px rgba(255,224,160,.18),0 30px 70px rgba(0,0,0,.23)}
.screening-frame:focus-within{outline:1px solid #e8c68a;outline-offset:4px}
.screening-cover{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse 48% 55% at 76% 50%,rgba(186,141,79,.13),transparent 75%),radial-gradient(ellipse 72% 88% at 83% 45%,#12364a 0%,#071f30 50%,#031321 81%)}
.screening-cover[hidden]{display:none}
.screening-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(2,9,17,.2),transparent 47%,rgba(2,8,15,.35)),repeating-linear-gradient(0deg,transparent 0 3px,rgba(214,233,224,.012) 4px 5px);pointer-events:none}
.screening-cover::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 75% 88% at 51% 49%,transparent 36%,rgba(1,7,13,.65) 100%);pointer-events:none}
.screening-gridlines{position:absolute;inset:0;background:linear-gradient(90deg,transparent 10%,rgba(218,188,127,.12) 10.1%,transparent 10.2%,transparent 89.8%,rgba(218,188,127,.12) 89.9%,transparent 90%),linear-gradient(0deg,transparent 12%,rgba(218,188,127,.12) 12.1%,transparent 12.2%,transparent 87.8%,rgba(218,188,127,.12) 87.9%,transparent 88%);opacity:.6}
.screening-halo{position:absolute;left:68%;top:49%;width:49%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#f9e0ab 0 1.5%,#bf995d 2%,#423f35 4%,#061725 12%,#081d2b 38%,rgba(13,50,65,.36) 39%,transparent 61%);box-shadow:0 0 120px rgba(230,181,97,.13)}
.screening-halo::before,.screening-halo::after{content:"";position:absolute;inset:11%;border:1px solid rgba(232,192,123,.28);border-radius:50%;transform:rotate(-23deg) scaleX(1.57)}
.screening-halo::after{inset:20%;border-color:rgba(181,211,211,.24);transform:rotate(31deg) scaleX(1.4)}
.screening-halo span{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#ffdf98;transform:translate(-50%,-50%);box-shadow:0 0 26px 14px rgba(243,203,135,.57),0 0 95px 40px rgba(228,174,81,.17)}
.screening-frame-label{position:absolute;z-index:2;top:31px;left:38px;color:#d4bd95;font:9px system-ui,sans-serif;letter-spacing:.28em}
.screening-cover-copy{position:absolute;z-index:2;left:8%;top:27%;color:#f7e7c8;text-shadow:0 4px 20px #0008}
.screening-cover-copy span{display:block;margin-bottom:18px;color:#d1ba8f;font:9px system-ui,sans-serif;letter-spacing:.3em}
.screening-cover-copy strong{display:block;font-size:clamp(34px,3.5vw,62px);font-weight:400;line-height:1.34;letter-spacing:.11em}
.screening-cover-action{position:absolute;z-index:3;left:8%;bottom:12%;display:flex;align-items:center;gap:17px;padding:0;border:0;background:transparent;color:#f3d8a6;font:14px/1.2 "Songti SC","STSong",serif;letter-spacing:.18em;cursor:pointer}
.screening-cover-action span{display:grid;place-items:center;width:53px;height:53px;border:1px solid rgba(240,205,143,.65);border-radius:50%;color:#f8dfad;font:29px/1 system-ui,sans-serif;font-weight:200;transition:background .25s,transform .25s}
.screening-cover-action:hover span{background:rgba(229,191,126,.13);transform:scale(1.09)}
.screening-cover-action:focus-visible{outline:2px solid #f3cf92;outline-offset:6px}
.screening-frame-foot{position:absolute;z-index:2;right:34px;bottom:30px;display:flex;align-items:center;gap:12px;color:#a4b4ad;font:9px system-ui,sans-serif;letter-spacing:.15em}
.screening-frame-foot i{width:25px;height:1px;background:#bd9c68}
.screening-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.screening-frame video[hidden]{display:none}
.screening-corner{position:absolute;z-index:4;width:20px;height:20px;pointer-events:none}
.screening-corner-tl{top:7px;left:7px;border-top:1px solid #e3bc7a;border-left:1px solid #e3bc7a}
.screening-corner-br{bottom:7px;right:7px;border-bottom:1px solid #e3bc7a;border-right:1px solid #e3bc7a}
.screening-sidebar{display:flex;flex-direction:column;min-width:0;padding:8px 0 2px}
.screening-sidebar-eyebrow{color:#c9aa75;font:9px/1.4 system-ui,sans-serif;letter-spacing:.27em}
.screening-sidebar h3{margin:28px 0 17px;color:#f2e6cf;font-size:clamp(28px,2.5vw,42px);font-weight:400;line-height:1.37;letter-spacing:.1em}
.screening-sidebar>p:not(.screening-status){max-width:390px;margin:0;color:#aebfba;font-size:12px;line-height:1.9;letter-spacing:.07em}
.screening-chapters{margin-top:auto;padding-top:26px}
.screening-chapters-title{display:block;margin-bottom:9px;color:#d3bb8e;font:10px/1.5 system-ui,sans-serif;letter-spacing:.18em}
.screening-chapters div{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid rgba(190,180,149,.22);color:#d7d8c9;font-size:13px;letter-spacing:.08em}
.screening-chapters b{color:#b8996a;font:10px system-ui,sans-serif}
.screening-chapters i{color:#7d9b9e;font:8px system-ui,sans-serif;font-style:normal;letter-spacing:.15em}
.screening-file-row{display:flex;align-items:center;gap:14px;margin-top:20px}
.screening-file-row button{border:0;background:transparent;cursor:pointer}
#screening-pick{display:flex;align-items:center;justify-content:space-between;gap:22px;min-width:255px;min-height:45px;padding:0 1px;border-bottom:1px solid #d9b981;color:#f0d59e;font:15px "Songti SC","STSong",serif;letter-spacing:.13em}
#screening-pick span{font:23px system-ui,sans-serif}
#screening-clear{padding:8px 0;color:#a9c3c3;font:11px system-ui,sans-serif}
#screening-clear[hidden]{display:none}
.screening-file-row button:hover{color:#fff2d2!important}
.screening-file-row button:focus-visible{outline:2px solid #f3cf92;outline-offset:4px}
.screening-status{min-height:19px;margin:11px 0 0;color:#78999c;font:10px/1.5 system-ui,sans-serif;letter-spacing:.1em}
.site-footer{border-top:1px solid rgba(224,192,137,.19)}

/* The twenty-five films form a real, selectable archive. */
.screening-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.88) brightness(.7)}
.screening-cover:has(.screening-poster[src])::after{background:linear-gradient(90deg,rgba(0,7,13,.82),rgba(0,7,13,.33) 57%,rgba(0,7,13,.18)),linear-gradient(0deg,rgba(0,7,13,.56),transparent 40%)}
.screening-gridlines{z-index:1;pointer-events:none}
.screening-cover-copy{top:27%;max-width:79%}
.screening-cover-copy strong{font-size:clamp(28px,3vw,49px);line-height:1.27;letter-spacing:.08em}
.screening-cover-action span{font-size:21px}
.screening-sidebar h3{min-height:2.4em;margin-top:22px;font-size:clamp(26px,2.35vw,39px);line-height:1.25}
.screening-sidebar>p:not(.screening-status){min-height:4em}
.screening-chapters{margin-top:auto}
.screening-chapters div{grid-template-columns:40px 1fr auto}
.screening-navigation{display:flex;gap:11px;margin-top:24px}
.screening-navigation button{flex:1;min-height:42px;border:1px solid rgba(218,188,134,.46);background:rgba(218,188,134,.04);color:#ebd4ae;font:12px "Songti SC","STSong",serif;letter-spacing:.1em;cursor:pointer}
.screening-navigation button:hover{border-color:#e7c78f;background:rgba(218,188,134,.12)}
.screening-navigation button:focus-visible,.screening-film-card:focus-visible{outline:2px solid #f3cf92;outline-offset:3px}
#screening-pick{min-width:0;width:100%;font-size:13px}
.screening-library{margin-top:60px}
.screening-library-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px;padding:0 0 17px;border-bottom:1px solid rgba(224,192,137,.28)}
.screening-library-heading span{color:#bd9d69;font:9px system-ui,sans-serif;letter-spacing:.24em}
.screening-library-heading h3{margin:9px 0 0;color:#f1e5d0;font-size:clamp(25px,2.3vw,37px);font-weight:400;letter-spacing:.15em}
.screening-library-heading a{padding-bottom:4px;border-bottom:1px solid rgba(218,188,134,.6);color:#d9be90;font-size:12px;white-space:nowrap}
.screening-film-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 16px}
.screening-film-card{display:block;min-width:0;padding:0 0 14px;border:1px solid rgba(204,178,130,.24);background:#091b24;color:#f0e2c8;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}
.screening-film-card:hover{transform:translateY(-4px);border-color:rgba(231,198,137,.77);background:#102631}
.screening-film-card.is-active{border-color:#e5bf7f;box-shadow:inset 0 0 0 1px rgba(229,191,127,.35)}
.screening-film-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#122934}
.screening-film-card>span{display:grid;grid-template-columns:30px 1fr;column-gap:6px;align-items:start;padding:13px 12px 0}
.screening-film-card small{grid-row:1/3;color:#d4b27d;font:11px system-ui,sans-serif;letter-spacing:.04em}
.screening-film-card strong{min-height:2.7em;color:#f2e3c9;font:16px/1.35 "Songti SC","STSong",serif;letter-spacing:.04em}
.screening-film-card em{margin-top:8px;color:#8da8a7;font:9px system-ui,sans-serif;font-style:normal;letter-spacing:.11em}

@media(max-width:1100px){
  .screening-section{margin-top:55px;padding-bottom:65px}
  .screening-layout{grid-template-columns:minmax(0,1.4fr) minmax(290px,.75fr);gap:27px}
  .screening-sidebar h3{margin-top:14px;font-size:30px}
  .screening-sidebar>p:not(.screening-status){font-size:11px;line-height:1.6}
  .screening-chapters{padding-top:12px}
  .screening-chapters div{min-height:35px;font-size:11px}
  .screening-file-row{margin-top:10px}
  #screening-pick{font-size:12px;min-height:38px;min-width:210px}
  .screening-film-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:850px){
  .screening-section{margin-top:44px;padding:0 20px 56px}
  .screening-heading{min-height:0;padding:23px 0 25px}
  .screening-heading h2{font-size:40px}
  .screening-heading p{font-size:10px}
  .screening-layout{display:block}
  .screening-sidebar{padding-top:26px}
  .screening-sidebar h3{margin:17px 0 11px;font-size:32px}
  .screening-sidebar h3 br{display:none}
  .screening-sidebar>p:not(.screening-status){max-width:620px;font-size:12px;line-height:1.7}
  .screening-chapters{margin-top:15px;padding-top:0}
  .screening-chapters div{min-height:40px;font-size:12px}
  .screening-film-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:480px){
  .screening-section{padding:0 18px 46px}
  .screening-heading{align-items:start;display:block}
  .screening-heading h2{font-size:35px}
  .screening-heading p{margin-top:10px;text-align:left;line-height:1.5}
  .screening-heading p br{display:none}
  .screening-frame-label{top:20px;left:20px;font-size:7px}
  .screening-cover-copy{left:7%;top:28%}
  .screening-cover-copy span{font-size:6px;margin-bottom:7px}
  .screening-cover-copy strong{font-size:21px;line-height:1.4}
  .screening-halo{left:78%;width:69%}
  .screening-cover-action{left:7%;bottom:12%;gap:10px;font-size:10px}
  .screening-cover-action span{width:32px;height:32px;font-size:20px}
  .screening-frame-foot{right:18px;bottom:15px;font-size:6px;gap:6px}
  .screening-frame-foot i{width:10px}
  .screening-sidebar h3{font-size:27px}
  .screening-sidebar>p:not(.screening-status){font-size:11px}
  .screening-file-row{flex-wrap:wrap}
  .screening-library{margin-top:42px}
  .screening-library-heading{align-items:start}
  .screening-library-heading h3{font-size:25px}
  .screening-library-heading a{font-size:10px}
  .screening-film-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 9px}
  .screening-film-card>span{grid-template-columns:25px 1fr;padding:9px 7px 0}
  .screening-film-card strong{font-size:12px}
  .screening-film-card small{font-size:9px}
  .screening-film-card em{font-size:8px}
}

/* The migrated civilization museum joins the horizontal index as its own room. */
.museum-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.panel-civilization{background:radial-gradient(ellipse 75% 65% at 50% 40%,#562b25 0%,#281311 55%,#140a0b 100%)}
.panel-civilization::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(20,8,9,.08),transparent 40%,rgba(15,7,8,.93) 85%),repeating-linear-gradient(90deg,transparent 0 23%,rgba(229,174,107,.16) 23.2%,transparent 23.5% 25%)}
.civilization-vault{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse 75% 50% at 50% 41%,rgba(244,191,123,.17),transparent 70%)}
.civilization-vault::before{content:"";position:absolute;left:-16%;right:-16%;bottom:23%;height:25%;background:repeating-linear-gradient(90deg,rgba(213,165,105,.24) 0 1px,transparent 1px 9%),linear-gradient(0deg,rgba(231,170,94,.32),transparent);transform:perspective(400px) rotateX(64deg);transform-origin:bottom}
.civilization-vault i{position:absolute;top:13%;bottom:20%;width:1px;background:linear-gradient(transparent,#c59a5a 30%,#f7d89e 50%,#a87844 78%,transparent);box-shadow:0 0 14px #f7c27c}.civilization-vault i:nth-child(1){left:16%}.civilization-vault i:nth-child(2){left:50%;opacity:.45}.civilization-vault i:nth-child(3){right:16%}
.civilization-case{position:absolute;z-index:2;left:50%;top:38%;width:50%;height:49%;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid rgba(236,201,147,.5);background:linear-gradient(130deg,rgba(255,228,179,.04),rgba(6,5,4,.2));box-shadow:0 0 0 8px rgba(20,11,9,.19),0 28px 65px #0008,inset 0 0 35px rgba(232,184,118,.1)}
.civilization-case::before{content:"";position:absolute;inset:7px;border:1px solid rgba(238,205,152,.22)}
.civilization-case img{position:relative;width:72%;max-height:80%;object-fit:contain;filter:sepia(.18) saturate(.8) drop-shadow(0 22px 17px #0008)}
.civilization-case span{position:absolute;bottom:12px;color:#dbbc82;font:8px "Songti SC","STSong",serif;letter-spacing:.4em}
.panel-civilization .panel-copy{left:clamp(24px,2.4vw,42px);right:18px;bottom:clamp(32px,4vh,52px)}
.panel-civilization .panel-copy h2{font-size:clamp(34px,2.7vw,49px);white-space:nowrap}
.panel-civilization .panel-subtitle{font-size:clamp(14px,1vw,17px)}
.panel-civilization .panel-desc{font-size:11px;line-height:1.7}
.panel-civilization .panel-action{min-width:175px;min-height:42px;font-size:13px}
.panel-civilization .panel-edge{display:none}
@media(max-width:1399px){.museum-grid{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:10px;scrollbar-width:thin}.museum-panel{flex:0 0 min(31vw,420px);scroll-snap-align:center}.panel-civilization .panel-copy h2{font-size:39px}}
@media(max-width:899px){.museum-panel,.panel-music,.panel-lushun,.panel-portrait,.panel-civilization{flex:0 0 min(78vw,420px)}.panel-civilization .panel-copy h2{font-size:43px}}
@media(max-width:480px){.museum-panel,.panel-music,.panel-lushun,.panel-portrait,.panel-civilization{flex-basis:86vw}.panel-civilization .panel-copy h2{font-size:39px}.civilization-case{top:36%;width:61%;height:50%}}

/* The original 造境工坊 becomes a fifth destination in the same horizontal index. */
.museum-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.panel-atelier{background:#2b100b}
.atelier-panel-scene{position:absolute;inset:0;background:url('assets/atelier-architecture.webp') left center/auto 100% no-repeat;opacity:.9;transform:scale(1.01);transition:transform .7s ease}
.panel-atelier:hover .atelier-panel-scene{transform:scale(1.055)}
.panel-atelier::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(26,6,4,.16),transparent 25%,rgba(20,6,4,.18) 42%,rgba(15,5,4,.98) 85%),linear-gradient(90deg,rgba(27,7,5,.1),rgba(21,5,5,.22))}
.atelier-panel-object{position:absolute;z-index:2;left:50%;top:34%;width:69%;height:42%;object-fit:contain;transform:translate(-50%,-50%);filter:drop-shadow(0 18px 22px #0a0202a9);transition:transform .6s ease}
.panel-atelier:hover .atelier-panel-object{transform:translate(-50%,-52%) scale(1.035)}
.panel-atelier .panel-copy{left:clamp(24px,2.4vw,42px);right:18px;bottom:clamp(32px,4vh,52px)}
.panel-atelier .panel-copy h2{font-size:clamp(32px,2.55vw,46px);white-space:nowrap}
.panel-atelier .panel-subtitle{font-size:clamp(14px,1vw,17px)}
.panel-atelier .panel-desc{font-size:11px;line-height:1.7}
.panel-atelier .panel-action{min-width:175px;min-height:42px;font-size:13px}
.panel-atelier .panel-edge{display:none}
@media(max-width:1399px){.museum-grid{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory}.panel-atelier{flex:0 0 min(31vw,420px);scroll-snap-align:center}.panel-atelier .panel-copy h2{font-size:39px}}
@media(max-width:899px){.panel-atelier{flex-basis:min(78vw,420px)}.panel-atelier .panel-copy h2{font-size:43px}}
@media(max-width:480px){.panel-atelier{flex-basis:86vw}.panel-atelier .panel-copy h2{font-size:39px}.atelier-panel-object{width:75%;height:43%}}
