/* The entire photograph sequence is one stationary, vertically browsable page. */
#gallery{inset:0;width:100%;max-width:none;height:100svh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#202824;color:#fbf6e9;overflow:hidden}
#gallery[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
#gallery::backdrop{background:#202824;backdrop-filter:none}
/* The header occupies its own row; gallery scrolling never covers its controls. */
#gallery .gallery-head{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:24px;row-gap:4px;margin:0;padding:max(14px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 14px max(24px,env(safe-area-inset-left));border-bottom:1px solid #f6e8c430;background:#202824;box-shadow:0 4px 24px #0002}
#gallery .gallery-head h2{font:32px/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.03em;margin:0;text-align:right}
#gallery .gallery-head p{font:12px/1.5 Arial,Helvetica,sans-serif;color:#d9d5c7;margin:0;text-align:right}
#gallery .gallery-back{grid-row:1 / 3;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 16px;border:1px solid #f6e8c45c;border-radius:12px;font:600 15px/1.3 Arial,Helvetica,sans-serif;white-space:nowrap;color:#f2dfaf;background:#ffffff0b;text-shadow:none}
#gallery .gallery-back svg{flex:none}
#gallery .gallery-back:hover{background:#ffffff1c;border-color:#f2dfaf}
#gallery .gallery-back:focus-visible{outline:2px solid #f2dfaf;outline-offset:3px}
#gallery-scroll{min-height:0;scrollbar-gutter:stable;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#d8cba1aa #202824;outline-offset:-4px}
#gallery-scroll:focus-visible{outline:2px solid #f2dfaf}
#gallery-canvas{position:relative;width:100%;overflow:hidden;background:#202824;isolation:isolate}
#gallery .gallery-photo,#gallery .photo-plane{will-change:auto}
#gallery .gallery-photo{left:0;top:0;pointer-events:none}
#gallery .gallery-entry{position:relative;display:block;margin:0;padding:0;min-width:0;background:#202824}
#gallery .gallery-photo-link{position:relative;display:block;overflow:hidden;color:#fff8e7;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
#gallery .gallery-photo-link:focus-visible{outline:3px solid #f7d99b;outline-offset:-6px}
#gallery .gallery-photo-caption{position:static;display:block;width:100%;min-width:0;padding:20px clamp(20px,3vw,42px) 24px;margin:0;border-top:1px solid #f5dfad38;border-bottom:1px solid #0c130f;background:#202824;color:#f7f0df;font:16px/1.65 Arial,Helvetica,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;text-wrap:pretty}
@media(max-width:600px){#gallery .gallery-head{column-gap:12px;row-gap:7px;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}#gallery .gallery-back{grid-row:1;gap:8px;padding:10px;font-size:13px}#gallery .gallery-back svg{width:20px;height:20px}#gallery .gallery-head h2{font-size:27px}#gallery .gallery-head p{grid-column:1 / -1;font-size:11px;text-align:left}}
@media(max-width:600px){#gallery .gallery-photo-caption{padding:15px 18px 19px;font-size:14px;line-height:1.6}}
@media(forced-colors:active){#gallery .gallery-photo-caption{background:Canvas;color:CanvasText;border-color:CanvasText}}
