.gallery-carousel{--gallery-height:clamp(330px,48vw,620px);--thumb-height:118px;position:relative;min-width:0}
.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.gallery-heading h3{margin:8px 0 0}.gallery-total{font-size:max(1.181103rem,.72rem);letter-spacing:.12em;white-space:nowrap;color:var(--muted)}
.gallery-viewer{height:var(--gallery-height);position:relative;isolation:isolate;overflow:hidden;background:#14251f;border:1px solid #b6c2b650;touch-action:pan-y;outline-offset:4px}
.gallery-ambient{position:absolute;inset:-35px;background-size:cover;background-position:center;filter:blur(28px) brightness(.32);transform:scale(1.1);opacity:.75;transition:background-image .6s}
.gallery-layers{position:absolute;inset:0;overflow:hidden}.gallery-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateX(5%) scale(1.07);pointer-events:none;transition:opacity .7s ease,transform 1.15s cubic-bezier(.2,.75,.2,1)}.gallery-image.is-current{opacity:1;transform:translateX(0) scale(1);z-index:1}.gallery-image.is-leaving{opacity:0;transform:translateX(-5%) scale(.97)}.gallery-viewer[data-direction="back"] .gallery-image{transform:translateX(-5%) scale(1.07)}.gallery-viewer[data-direction="back"] .gallery-image.is-current{transform:translateX(0) scale(1)}.gallery-viewer[data-direction="back"] .gallery-image.is-leaving{transform:translateX(5%) scale(.97)}
.gallery-arrow,.gallery-expand,.gallery-close{position:absolute;z-index:4;border:1px solid #f0dfc480;color:#fff5df;background:#172c2480;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:max(1.181103rem,1.3rem);transition:background .2s,transform .2s}.gallery-arrow:hover,.gallery-expand:hover,.gallery-close:hover{background:#36554bd9;transform:scale(1.06)}.gallery-prev{left:18px;top:calc(50% - 24px)}.gallery-next{right:18px;top:calc(50% - 24px)}.gallery-expand{right:18px;bottom:18px;font-size:max(1.181103rem,1.7rem)}
.gallery-caption{display:flex;justify-content:space-between;gap:24px;padding:22px 0;min-height:145px}.gallery-date{font-size:max(1.181103rem,.66rem);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.gallery-title{font:1.5rem/1.3 Georgia,serif;margin:7px 0}.gallery-note{font-size:max(1.181103rem,.78rem);margin:0}.gallery-credit{font-size:max(1.181103rem,.7rem);color:var(--muted)}.gallery-tools{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex-shrink:0}.gallery-count{font-size:max(1.181103rem,.78rem);letter-spacing:.15em;font-variant-numeric:tabular-nums}.gallery-play{background:transparent;border:1px solid var(--line);color:var(--ink);padding:8px 14px;border-radius:24px;font:inherit;font-size:max(1.181103rem,.72rem);cursor:pointer}
.gallery-filmstrip{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:12px;align-items:center}.gallery-rail-prev,.gallery-rail-next{width:40px;height:44px;border:1px solid var(--line);background:var(--glass);color:var(--ink);font-size:max(1.181103rem,1.2rem);cursor:pointer;border-radius:50%}.gallery-rail-prev:disabled,.gallery-rail-next:disabled{opacity:.3;cursor:default}
.gallery-thumbs{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding:5px 4px 14px;overscroll-behavior-x:contain;min-width:0;touch-action:pan-x pan-y}
.gallery-thumb{position:relative;flex:0 0 154px;height:var(--thumb-height);padding:0;border:1px solid transparent;background:#233d34;cursor:pointer;overflow:hidden;scroll-snap-align:start;opacity:.65;transition:opacity .3s,border-color .3s;outline-offset:2px}.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.gallery-thumb:hover img{transform:scale(1.09)}.gallery-thumb:hover,.gallery-thumb[aria-pressed="true"]{opacity:1}.gallery-thumb[aria-pressed="true"]{border:2px solid var(--gold);box-shadow:0 0 0 2px var(--paper)}.gallery-thumb span{position:absolute;left:0;right:0;bottom:0;padding:13px 7px 4px;background:linear-gradient(transparent,#0c1b15d9);color:#fff5df;font-size:max(1.181103rem,.62rem);line-height:1.3;text-align:left}.gallery-thumb:focus-visible{outline:2px solid var(--gold)}
.gallery-lightbox{padding:0;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#102019f5;color:#fff5df;overflow:hidden}.gallery-lightbox::backdrop{background:#08120df0;backdrop-filter:blur(12px)}.gallery-lightbox[open]{display:grid;place-items:center}.gallery-lightbox>img{width:100%;height:calc(100dvh - 100px);object-fit:contain;padding:24px 70px 0;animation:gallery-reveal .6s ease both}.gallery-close{top:18px;right:18px;font-size:max(1.181103rem,1.8rem)}.gallery-modal-prev{left:14px;top:calc(50% - 24px)}.gallery-modal-next{right:14px;top:calc(50% - 24px)}.gallery-modal-caption{position:absolute;bottom:16px;left:65px;right:65px;text-align:center;font-size:max(1.181103rem,.78rem);line-height:1.5;margin:0}.gallery-lightbox:focus{outline:none}@keyframes gallery-reveal{from{opacity:0;transform:scale(1.035) translateX(12px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.gallery-carousel{--gallery-height:650px;--thumb-height:140px}.gallery-thumb{flex-basis:184px}}
@media(max-width:700px){.gallery-carousel{--gallery-height:440px;--thumb-height:104px}.gallery-heading{align-items:start}.gallery-total{font-size:max(1.181103rem,.62rem);margin-top:5px}.gallery-heading h3{font-size:max(1.181103rem,1.65rem)}.gallery-caption{gap:12px;min-height:155px}.gallery-title{font-size:max(1.181103rem,1.2rem)}.gallery-thumb{flex-basis:128px}.gallery-filmstrip{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px}.gallery-rail-prev,.gallery-rail-next{width:32px;height:36px}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-arrow{width:42px;height:42px}.gallery-lightbox>img{padding:20px 12px 25px}.gallery-modal-prev,.gallery-modal-next{top:auto;bottom:20px}.gallery-modal-caption{bottom:23px;font-size:max(1.181103rem,.66rem)}.gallery-play{padding:7px 10px}.gallery-credit{font-size:max(1.181103rem,.63rem)}}
@media(max-width:400px){.gallery-carousel{--gallery-height:370px}.gallery-total{white-space:normal;text-align:right}.gallery-caption{gap:8px}.gallery-tools{gap:10px}.gallery-count{font-size:max(1.181103rem,.7rem)}}
@media(orientation:landscape) and (max-height:500px){.gallery-carousel{--gallery-height:310px}.gallery-lightbox>img{height:100dvh;padding:15px 65px 45px}}
@media(prefers-reduced-motion:reduce){.gallery-image,.gallery-thumb img,.gallery-ambient{transition:none}.gallery-lightbox>img{animation:none}.gallery-thumbs{scroll-behavior:auto}}

/* Keep faces in view in the equal-height filmstrip. */
.gallery-thumb img[src*="portraet-frack"],.gallery-thumb img[src*="gesang-partitur"],.gallery-thumb img[src*="liederabend-blauer-anzug"]{object-position:50% 0%}
.gallery-thumb img[src*="theresa-pewal"],.gallery-thumb img[src*="portraet-farbe"]{object-position:50% 8%}

/* Original gallery surfaces and responsive rules, scoped to the chapter wrapper. */
.onepage .gallery-caption{min-height:0;gap:20px;flex-wrap:wrap}
.onepage .gallery-total{white-space:normal}
.onepage .gallery-thumb span{font-size:1.181103rem;line-height:1.25;padding-top:16px}
.onepage .gallery-section>.wrap{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;box-shadow:none;border-radius:0}
.onepage .gallery-section :is(.gallery-heading,.gallery-caption){background:var(--reading-glass);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:14px;padding:18px;border:1px solid #73826c47;box-shadow:0 6px 24px #08140d24}
:root[data-palette=dark] .onepage .gallery-section :is(.gallery-heading,.gallery-caption){border-color:#efe0c338;box-shadow:0 7px 26px #0000003d}
.onepage .content-section :is(.gallery-thumb span,.gallery-modal-caption){color:#fff5e5}
@media(max-width:1024px){
 .onepage .gallery-heading,.onepage .gallery-caption{flex-wrap:wrap}
 .onepage .gallery-caption>*,.onepage .gallery-heading>*{min-width:0;max-width:100%}
 .onepage .gallery-tools{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;width:100%;flex-shrink:1}
 .onepage .gallery-filmstrip,.onepage .gallery-carousel,.onepage .gallery-thumbs{max-width:100%;min-width:0}
}
@media(max-width:600px){
 .onepage .gallery-carousel{--gallery-height:clamp(300px,110vw,440px);--thumb-height:104px}
 .onepage .gallery-heading{gap:12px}
 .onepage .gallery-caption{gap:16px}
}
