/* Stage 4: photo frames only; original hero and shared layout remain unchanged. */
.vehicle-photo { margin: 0; min-width: 0; }
.vehicle-photo__link,
.gallery-grid__item .vehicle-photo__link {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--color-dark-surface);
}
.vehicle-photo__link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vehicle-photo__link:focus-visible { outline: 3px solid var(--color-primary); outline-offset: -4px; }
.why-us__image.vehicle-photo-wrap { aspect-ratio: auto; overflow: visible; align-self: center; }
.why-us__image.vehicle-photo-wrap::after { display: none; }
.about-story__image.vehicle-photo-wrap { max-width: 42rem; margin-bottom: var(--space-2xl); }
.vehicle-photo--article { max-width: 45rem; margin: var(--space-2xl) auto; }
.vehicle-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.vehicle-gallery .gallery-grid__item { aspect-ratio: auto; overflow: visible; background: transparent; }
.vehicle-gallery .gallery-grid__item:hover img { transform: none; }
.reviews-source-note { font-size: var(--fs-small); }
.map-address { margin-bottom: var(--space-md); }
.map-section__iframe, .contact-map-iframe { max-width: 100%; min-height: 360px; }
@media (min-width: 1024px) {
  .map-section__iframe, .contact-map-iframe { min-height: 420px; }
}
@media (prefers-reduced-motion: reduce) {
  #baguetteBox-overlay, #baguetteBox-slider, #baguetteBox-overlay .full-image { animation: none; transition: none; }
}

/* Stage 5: reserve the mobile photo frame before the lazy image has loaded. */
.why-us__image.vehicle-photo-wrap { width: 100%; }
/* Keep the existing form button readable at 360px and with enlarged text. */
.contact-form .btn { white-space: normal; line-height: 1.35; padding-inline: 1rem; }
