.hv-media-gallery .hv-gallery-photo { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.hv-media-gallery .thumbnail-mary-title { font-size: 1.05rem; line-height: 1.4; text-transform: none; }
.hv-house-gallery { max-width: 100%; min-width: 0; }
.hv-house-large { display: flex; align-items: center; justify-content: center; width: 100%; height: 440px; background: #f2f1ee; border-radius: 10px; overflow: hidden; }
.hv-house-large .hv-house-photo { width: 100%; height: 100%; object-fit: contain; }
.hv-house-controls { display: flex; align-items: center; gap: 12px; margin: 12px 0; }
.hv-house-controls button { flex: 0 0 44px; height: 44px; border: 1px solid #161616; border-radius: 50%; background: #fff; color: #161616; font-size: 24px; cursor: pointer; }
.hv-house-controls button:hover { background: #ffbb02; }
.hv-house-caption { flex: 1; margin: 0; font-size: 13px; line-height: 1.5; }
.hv-house-thumbs { display: flex; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; padding: 5px 2px 12px; scroll-snap-type: x proximity; }
.hv-house-thumb { flex: 0 0 80px; display: block; border: 3px solid transparent; border-radius: 6px; overflow: hidden; scroll-snap-align: center; padding: 0; background: transparent; cursor: pointer; }
.hv-house-thumb[aria-current="true"] { border-color: #161616; outline: 2px solid #ffbb02; }
.hv-house-thumb img { display: block; width: 80px; height: 64px; object-fit: cover; }
.hv-house-gallery :focus-visible { outline: 3px solid #161616; outline-offset: 3px; }
.hv-house-video-section { margin-top: 64px; }
.hv-house-video { display: block; width: 100%; max-width: 340px; height: auto; margin: 0 auto; aspect-ratio: 9 / 16; border-radius: 10px; background: #161616; }
@media (max-width: 575px) { .hv-house-large { height: 380px; } .hv-house-video-section { margin-top: 40px; } }
