/* brand logo */
.brand {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
}
.brand__logo {
  display: block;
  height: 58px;
  width: auto;
  max-width: min(220px, 42vw);
  object-fit: contain;
  flex: none;
  border-radius: 6px;
}
.brand__mark {
  width: 46px;
  height: 46px;
  flex: none;
  display: block;
  border-radius: 50%;
  box-shadow: 0 6px 16px -6px rgba(36, 33, 38, 0.55);
}
.brand__txt {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}
.site-footer .brand__logo {
  height: 72px;
  max-width: 260px;
  background: #f7f4f0;
  border-radius: 8px;
  padding: 0.2rem;
}
.site-footer .brand__mark {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18);
}
@media (max-width: 640px) {
  .brand__logo {
    height: 46px;
    max-width: 160px;
  }
  .brand__mark {
    width: 38px;
    height: 38px;
  }
}

/* card images: keep faces and subjects in frame, same ratio across a row */
.vendor-card__media img, .real-card img, .blog-card img, .inhouse-card img, .venue-search-card img, .feature-card__img img, .idea-tile img, .category-card__media img, .quick-chip img { object-position: 50% 30%; }
.wmg-hero__img { object-position: 50% 42%; }
.page-hero__media > img { object-position: 50% 38%; }
.feature-card__img { overflow: hidden; }
.feature-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.svc-card .feature-card__img { aspect-ratio: 4 / 3; }
.vendor-card__media { aspect-ratio: 4 / 3; overflow: hidden; }
.vendor-card__media img { width: 100%; height: 100%; object-fit: cover; }
.real-card img, .blog-card img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.inhouse-card img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
@media (max-width: 700px) { .wmg-hero { min-height: 640px; } .wmg-hero__img { object-position: 50% 58%; } }

/* media columns: image defines the height, no empty tinted box beneath */
.split--top .split__media, .split__side .split__media { align-self: start; min-height: 0; background: none; }
.split--top .split__media img, .split__side .split__media img { height: auto; min-height: 0; aspect-ratio: 4 / 3; object-fit: cover; }
.split--top > .split__media { position: sticky; top: 7rem; }
@media (max-width: 900px) { .split--top > .split__media { position: static; } }
