.card-cover:has(.business-photo) {
  overflow: hidden;
  padding: 0;
}

.business-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.card-cover .business-photo {
  min-height: 220px;
  transition: transform 350ms ease;
}

.card:hover .business-photo {
  transform: scale(1.035);
}

.profile-mark:has(.business-photo) {
  display: block;
  overflow: hidden;
  height: auto;
  min-height: 360px;
  margin: 0;
  background: var(--surface);
}

.profile-mark > .business-photo {
  width: 100%;
  height: 390px;
  object-fit: cover;
}

.profile-mark figcaption {
  padding: 11px 14px;
  background: var(--surface);
  color: var(--muted);
  font: 10px/1.55 'DM Sans', sans-serif;
}

.profile-mark figcaption a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 700px) {
  .profile-mark:has(.business-photo) { min-height: 0; }
  .profile-mark > .business-photo { height: 280px; }
  .card-cover .business-photo { min-height: 215px; }
}

@media (prefers-reduced-motion: reduce) {
  .card-cover .business-photo { transition: none; }
  .card:hover .business-photo { transform: none; }
}
