/* IREO Victory Valley hero collage + photo viewer (ff-vv-gallery.js) */
.hero-visual.vv-collage-wrap{background:none;border:0;padding:0;box-shadow:none;backdrop-filter:none}
.vv-collage{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:420px}
.vv-tile{position:relative;display:block;padding:0;border:0;margin:0;border-radius:18px;overflow:hidden;cursor:zoom-in;background:#0f172a;min-height:0}
.vv-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.vv-tile:hover img{transform:scale(1.03)}
.vv-tile:focus-visible{outline:3px solid #facc15;outline-offset:3px}
.vv-tile-big{grid-row:1 / 3}
.vv-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.45);color:#fff;font:800 18px Manrope,Arial,sans-serif;letter-spacing:.01em}
.vv-lb{position:fixed;inset:0;z-index:9999;background:rgba(8,12,24,.94);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.vv-lb[hidden]{display:none}
.vv-lb figure{margin:0;max-width:min(1400px,92vw);display:flex;flex-direction:column;gap:10px;align-items:center}
.vv-lb img{max-width:100%;max-height:80vh;height:auto;width:auto;border-radius:10px}
.vv-lb figcaption{color:#e2e8f0;font:600 14px Manrope,Arial,sans-serif;text-align:center}
.vv-lb button{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:999px;width:48px;height:48px;font:400 30px/1 Arial,sans-serif;cursor:pointer}
.vv-lb button:hover{background:rgba(255,255,255,.26)}
.vv-lb button:focus-visible{outline:3px solid #facc15;outline-offset:2px}
.vv-lb-x{top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px))}
.vv-lb-prev{left:max(12px,env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%)}
.vv-lb-next{right:max(12px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%)}
@media (max-width:900px){.vv-collage{height:300px;gap:8px}.vv-tile{border-radius:14px}.vv-more{font-size:15px}}
@media (max-width:520px){.vv-collage{height:240px}.vv-lb-prev,.vv-lb-next{top:auto;bottom:max(16px,env(safe-area-inset-bottom,0px));transform:none}}
@media (prefers-reduced-motion:reduce){.vv-tile img{transition:none}.vv-tile:hover img{transform:none}}
