.listing-gallery{display:grid;grid-template-columns:1fr 144px;gap:16px}.hero-photo{position:relative;margin:0;overflow:hidden;aspect-ratio:3/2;background:#000}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:opacity 300ms ease}.hero-photo img.is-changing{opacity:0}.hero-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.4);color:#fff;border:0;border-radius:9999px;cursor:pointer;transition:background 200ms ease}.hero-nav:hover{background:rgba(0,0,0,.6)}.hero-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}.hero-nav--prev{left:16px}.hero-nav--next{right:16px}.hero-nav svg{width:24px;height:24px;pointer-events:none}.hero-caption{position:absolute;left:16px;bottom:16px;max-width:60%;padding:16px 20px;background:rgba(0,0,0,.55);color:#fff;border-radius:var(--radius-lg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hero-caption h2{margin:0 0 4px 0;font-size:1.125rem}.hero-caption p{margin:0;font-size:.875rem;line-height:1.4;opacity:.85}.thumbnail-rail{display:flex;flex-direction:column;gap:8px}.thumbnail{position:relative;width:100%;aspect-ratio:3/2;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;background:transparent;opacity:.6;transition:opacity 200ms ease,transform 200ms ease,border-color 200ms ease}.thumbnail:hover{opacity:1;transform:scale(1.02)}.thumbnail:focus-visible{outline:2px solid #b0001e;outline-offset:2px}.thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.thumbnail--active{opacity:1;border-color:#fff;box-shadow:0 0 0 2px #b0001e}.thumbnail__more-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);color:#fff;font-size:1rem;font-weight:600;letter-spacing:.05em;backdrop-filter:blur(2px)}.pswp-gallery[hidden]{display:none}.pswp__custom-caption{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(720px,90%);padding:12px 16px;background:rgba(0,0,0,.6);color:#fff;font-size:.875rem;line-height:1.4;border-radius:6px;text-align:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@media(max-width:767px){.listing-gallery{grid-template-columns:1fr}.thumbnail-rail{display:none}.hero-caption{max-width:calc(100% - 32px)}}