.velo-gallery{padding:110px 0;background:var(--surface);border-block:1px solid var(--border)}
.velo-gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:42px}
.velo-gallery-intro{max-width:650px}.velo-gallery-intro h2{max-width:570px;margin-bottom:20px}.velo-gallery-intro>p:last-child{max-width:520px;font-size:15px;margin-bottom:0}
.velo-gallery-filters{display:flex;gap:7px;flex-wrap:wrap;flex-shrink:0;padding-bottom:3px}
.velo-gallery-filter{min-height:44px;border:1px solid var(--border);border-radius:999px;padding:9px 15px;background:transparent;color:var(--muted);font-size:12px}
.velo-gallery-filter:hover{color:var(--ink);border-color:var(--accent)}.velo-gallery-filter[aria-pressed=true]{background:var(--secondary,#183d33);color:var(--ink);border-color:var(--accent)}
.velo-gallery-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:34px 28px;align-items:start}
.velo-gallery-photo{margin:0;min-width:0}.velo-gallery-photo--portrait{grid-row:span 2}.velo-gallery-photo--panorama{grid-column:1 / -1}
.velo-gallery-open{display:block;position:relative;width:100%;padding:0;border:0;background:var(--sage);overflow:hidden;text-align:left}
.velo-gallery-open img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.velo-gallery-photo--portrait .velo-gallery-open{aspect-ratio:3 / 4.65}.velo-gallery-photo--landscape .velo-gallery-open{aspect-ratio:4 / 3}.velo-gallery-photo--wide .velo-gallery-open{aspect-ratio:16 / 9}.velo-gallery-photo--panorama .velo-gallery-open{aspect-ratio:2.65 / 1}
.velo-gallery-open:hover img{transform:scale(1.035)}.velo-gallery-zoom{position:absolute;bottom:18px;right:18px;background:var(--surface);color:var(--ink);padding:7px 13px;border-radius:2px;font-size:11px;letter-spacing:.02em;box-shadow:0 3px 20px #35271f20}
.velo-gallery-caption{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:16px}.velo-gallery-caption h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:0}.velo-gallery-caption p{font-size:11px;margin:0;text-align:right}
.velo-gallery-status{margin:28px 0 5px;font-size:12px;color:var(--accent)}.velo-gallery-note{font-size:11px;margin:0;max-width:600px}.velo-gallery-grid--single{max-width:600px;grid-template-columns:1fr}.velo-gallery-grid--single .velo-gallery-photo{grid-row:auto}
.velo-lightbox{padding:64px 32px 24px;width:min(1050px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:5px;box-shadow:0 24px 100px #35271f35}
.velo-lightbox::backdrop{background:#211811dc;backdrop-filter:blur(7px)}.velo-lightbox-close{position:absolute;right:22px;top:13px;min-height:44px;padding:9px 13px;border:0;background:transparent;color:var(--ink);font-size:13px}
.velo-lightbox-figure{margin:0}.velo-lightbox-image{width:100%;height:min(61dvh,650px);object-fit:contain;background:var(--sage)}
.velo-lightbox-caption{margin-top:20px;text-align:center}.velo-lightbox-caption h3{font-family:Georgia,serif;font-weight:400;font-size:26px;margin:0 0 5px}.velo-lightbox-caption p{font-size:13px;margin:0}
.velo-lightbox-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:12px}.velo-lightbox-arrow{width:48px;min-height:44px;border:1px solid var(--border);background:transparent;color:var(--ink);font-size:22px}.velo-lightbox-arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.velo-lightbox-arrow:disabled{opacity:.3;cursor:default}.velo-lightbox-counter{font-size:12px;min-width:44px;text-align:center}
@media(max-width:1050px){.velo-gallery-heading{display:block}.velo-gallery-filters{margin-top:27px}.velo-gallery-caption{display:block}.velo-gallery-caption p{text-align:left;margin-top:3px}.velo-gallery-photo--portrait .velo-gallery-open{aspect-ratio:3 / 5.15}}
@media(max-width:600px){.velo-gallery{padding:65px 0}.velo-gallery-heading{margin-bottom:28px}.velo-gallery-intro h2{font-size:39px}.velo-gallery-grid{grid-template-columns:1fr;gap:28px}.velo-gallery-photo--portrait{grid-row:auto}.velo-gallery-photo--panorama{grid-column:auto}.velo-gallery-photo--portrait .velo-gallery-open{aspect-ratio:3 / 4}.velo-gallery-photo--panorama .velo-gallery-open{aspect-ratio:4 / 3}.velo-gallery-caption{display:flex}.velo-gallery-caption h3{font-size:21px}.velo-gallery-caption p{max-width:135px;text-align:right;font-size:10px}.velo-gallery-filter{padding:9px 13px}.velo-gallery-zoom{right:12px;bottom:12px}.velo-lightbox{padding:62px 14px 18px}.velo-lightbox-image{height:55dvh}.velo-lightbox-caption h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){.velo-gallery-open img{transition:none}.velo-gallery-open:hover img{transform:none}}
