.gallery-section{padding:65px 0 55px;background:#f5eadd;color:var(--burgundy);text-align:center;position:relative}
.gallery-header{padding:0 25px}
.gallery-header .eyebrow{font-size:9px;letter-spacing:2px}
.gallery-header .script-heading{font-size:clamp(40px,10vw,54px);margin:17px auto 20px}
.gallery-header>p:last-child{font:italic 21px/1.5 var(--serif);color:var(--muted)}
.gallery-track{list-style:none;margin:32px 0 0;padding:8px 9% 14px}
.gallery-slide{min-width:0}
.gallery-slide figure{margin:0;padding:9px 9px 0;background:var(--letter-paper);box-shadow:0 4px 16px #55282f12}
.gallery-photo{display:block;width:100%;padding:0;background:#e5d4c4;overflow:hidden;cursor:zoom-in;aspect-ratio:4/5}
.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.gallery-slide figcaption{display:flex;align-items:center;gap:14px;min-height:72px;padding:16px 10px;text-align:left}
.gallery-slide figcaption p{font:italic 23px/1.2 var(--serif);color:var(--burgundy);text-wrap:balance}
.gallery-hint{font:italic 16px/1.5 var(--serif);color:var(--muted);margin:20px 20px 0}
.gallery-lightbox{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#211417;color:#fff2de;overflow:auto}
.gallery-lightbox::backdrop{background:#211417f5}
.gallery-lightbox[open]{display:flex;flex-direction:column}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding: max(16px,env(safe-area-inset-top)) 20px 10px;flex-shrink:0}
.lightbox-toolbar p{font:14px var(--serif);letter-spacing:1px}
#lightbox-close{background:none;color:inherit;font-size:23px;width:48px;height:48px}
.lightbox-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 65px}
#lightbox-image{width:100%;height:100%;min-height:0;object-fit:contain;touch-action:pan-y pinch-zoom;user-select:none}
#lightbox-caption{font:italic 24px/1.4 var(--serif);text-align:center;padding:18px 24px max(26px,env(safe-area-inset-bottom));flex-shrink:0}
body.gallery-viewing{overflow:hidden}
body.gallery-viewing .music-toggle{visibility:hidden}
@media(max-width:480px){.gallery-track{padding-inline:8%}.gallery-slide figure{padding:7px 7px 0}.gallery-slide figcaption{min-height:68px;padding:14px 6px;gap:10px}.gallery-slide figcaption p{font-size:21px}.gallery-header>p:last-child{font-size:20px}.lightbox-stage{padding:0 8px}#lightbox-caption{font-size:22px;padding-bottom:max(28px,env(safe-area-inset-bottom))}}
