/* Progressive galleries: native swipe/scroll without JavaScript; controls enhance it. */
.media-gallery { min-width:0; width:100%; }
.media-gallery-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:var(--line) transparent; border-radius:12px; }
.media-gallery-track:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.media-gallery-slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always; }
.media-gallery-slide .photo-button { border-radius:12px; }
.media-gallery-slide img { display:block; width:100%; aspect-ratio:1.4; object-fit:cover; }
.media-gallery-slide figcaption { padding:13px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.media-gallery-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 0 0; }
.gallery-label { color:var(--ink); font-size:11px; }
.media-gallery-controls { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.media-gallery-controls[hidden] { display:none; }
.media-gallery-controls > span { min-width:47px; color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; }
.media-gallery-controls .arrow-button { width:40px; height:40px; border-radius:50%; font-size:17px; }
.gallery-auto-toggle { border:0; background:transparent; color:var(--ink); font:inherit; font-size:10px; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.media-gallery-controls button:disabled { opacity:.3; cursor:default; transform:none; }
.gallery-wide .media-gallery-track,.gallery-wide .photo-button { border-radius:0; }
.gallery-wide .media-gallery-slide img { height:clamp(400px,68svh,780px); aspect-ratio:auto; }
.gallery-wide .media-gallery-slide figcaption,.gallery-wide .media-gallery-footer { width:min(1280px,calc(100% - 112px)); margin-inline:auto; }
.division-film { width:100%; margin:0; }
.division-film video { display:block; width:100%; height:clamp(360px,64svh,740px); object-fit:cover; background:var(--paper); }
.division-film figcaption { display:flex; justify-content:space-between; align-items:center; gap:20px; width:min(1280px,calc(100% - 112px)); margin:auto; padding-block:15px; font-size:11px; color:var(--muted); }
.film-motion-control { border:0; border-bottom:1px solid var(--line); background:none; color:var(--ink); font:inherit; font-size:10px; padding:4px 0; white-space:nowrap; }
.film-motion-control[hidden] { display:none; }
.film-motion-control:hover { color:var(--accent); }
.film-preview { display:block; position:relative; overflow:hidden; border-radius:14px; }
.film-preview img { width:100%; object-fit:cover; transition:transform 1.1s var(--ease-out); }
.film-preview:hover img { transform:scale(1.04); }
.film-preview-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:68px; height:68px; display:grid; place-items:center; padding-left:4px; border:1px solid rgba(255,255,255,.7); border-radius:50%; color:white; background:rgba(16,30,28,.45); backdrop-filter:blur(12px); font-size:28px; }
@media(max-width:860px) {
 .gallery-wide .media-gallery-slide figcaption,.gallery-wide .media-gallery-footer,.division-film figcaption { width:calc(100% - 56px); }
}
@media(max-width:600px) {
 .gallery-wide .media-gallery-slide figcaption,.gallery-wide .media-gallery-footer,.division-film figcaption { width:calc(100% - 40px); }
 .gallery-wide .media-gallery-slide img { height:53svh; min-height:340px; }
 .media-gallery-slide img { aspect-ratio:1.2; }
 .media-gallery-footer { gap:12px; }
 .gallery-label { max-width:170px; font-size:10px; }
 .media-gallery-controls { gap:7px; }
 .media-gallery-controls .arrow-button { width:35px; height:35px; }
 .division-film video { height:auto; min-height:0; aspect-ratio:16/10; }
}
@media(prefers-reduced-motion:reduce) { .film-preview img { transition:none; } }
