
.gallery-link{cursor:zoom-in}
.gallery-intro{padding-top:50px;padding-bottom:48px}
.gallery-back{display:inline-block;margin-bottom:30px;font-size:14px;color:var(--muted)}
.gallery-intro h1{max-width:1000px;font-size:clamp(38px,6vw,82px);line-height:1.08;letter-spacing:-.05em;color:var(--blue)}
.gallery-intro p{font-size:18px;max-width:650px;margin-top:24px}
.gallery-collection{padding-top:0;padding-bottom:80px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.photo-grid figure{margin:0;min-width:0}
.photo-grid .gallery-link{display:block;background:var(--wash);overflow:hidden;aspect-ratio:3/2}
.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.photo-grid figure:has(img[width="1067"]) .gallery-link,.photo-grid figure:has(img[width="1066"]) .gallery-link{background:#e8edf2}
@media(hover:hover){.gallery-link:hover img{transform:scale(1.025)}}
.photo-viewer{width:min(1200px,96vw);max-width:96vw;max-height:96dvh;padding:54px 20px 16px;border:0;background:#10151c;color:#fff;overflow:auto}
.photo-viewer::backdrop{background:rgba(0,0,0,.88)}
.photo-viewer .photo-stage{display:flex;align-items:center;justify-content:center;min-height:120px}
.photo-viewer img{width:auto;height:auto;max-width:100%;max-height:calc(96dvh - 140px);object-fit:contain;margin:auto}
.photo-controls{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:24px}
.photo-controls button{background:transparent;border:1px solid #77818d;color:#fff;min-height:44px;padding:8px 20px;border-radius:2px}
.photo-controls button:hover{background:#26303b}
.photo-counter{font-size:14px;min-width:55px;text-align:center}
.photo-viewer .gallery-close{top:4px;right:12px}
html.photo-viewer-open{overflow:hidden;scrollbar-gutter:stable}
@media(max-width:1000px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.photo-grid{grid-template-columns:1fr;gap:22px}.photo-grid .gallery-link{aspect-ratio:auto}.photo-grid img{height:auto;object-fit:contain}.gallery-intro{padding-top:32px;padding-bottom:32px}.gallery-intro p{font-size:16px;margin-top:20px}.gallery-back{margin-bottom:24px}.gallery-collection{padding-bottom:55px}.photo-viewer{padding:52px 10px 14px}.photo-controls{gap:12px}.photo-controls button{padding-inline:14px}.photo-viewer img{max-height:calc(96dvh - 140px)}}
@media(prefers-reduced-motion:reduce){.photo-grid img{transition:none}}

.photo-grid .is-portrait img{object-fit:contain}

/* Keep the home collage; the complete viewer lives on /galerija/. */
.training-photos>.section-heading>.photo-intro{align-self:end}
.photo-intro p{font-size:17px;margin:0}
.photo-archive-link{display:inline-block;margin-top:22px;color:var(--blue);font-size:16px;font-weight:600;text-decoration-thickness:1px;text-underline-offset:6px;padding-block:8px}
.photo-archive-link:hover{text-decoration-thickness:2px}
.photo-archive-link:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
@media(max-width:800px){.photo-intro p{font-size:16px}.photo-archive-link{margin-top:14px}}
