lightbox with prev / // next, arrow keys, Esc and swipe; the repeated copies are hidden from assistive // tech and open the same photo. $files = glob(rtrim($gallery_path, '/') . '/*.jpg'); if (!$files || !is_array($files)) $files = []; // Column span per tile, cycled: w = two columns, s = one. $gal_shapes = ['w', 's', 's', 's', 's', 'w', 's', 's', 's', 's', 's']; $gal_label = $gallery_h2 ?? 'Instalações'; ?>
Galeria

Espaço amplo, equipamento moderno e um ambiente feito para treinar.

= 4); $take = $grid ? 4 : 1; $units[] = ['grid' => $grid, 'idx' => range($i, $i + $take - 1)]; $i += $take; $k++; } // The strip is rendered four times: main.js keeps the scroll position inside // the middle copies and jumps by exactly one copy, so it loops without a seam. $copies = 4; ?>