/* One measured logo system, arranged by the kind of host we support.
   Original artwork and colors are retained; all sizing is presentation-only. */
.section-client-logos--grouped { scroll-margin-top: 145px; }
.section-client-logos--grouped .client-logo-groups { margin-top: 30px; display: grid; gap: 24px; }
.section-client-logos--grouped .client-logo-group { min-width: 0; }
.section-client-logos--grouped .client-group-title {
  display: flex; align-items: center; gap: 16px; margin: 0 0 12px;
  color: var(--gallery-ink, #272578); font: 600 14px/1.5 var(--font-body);
  letter-spacing: .025em; text-align: left;
}
.section-client-logos--grouped .client-group-title::after {
  content: ""; flex: 1; height: 1px; background: var(--gallery-line, #dedde5);
}
.section-client-logos--grouped .client-guest-list {
  grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch;
  gap: 12px; margin: 0;
}
.section-client-logos--grouped .client-guest {
  display: flex; min-width: 0; perspective: none; transition: none;
  --logo-width: 168px; --logo-height: 54px;
}
.section-client-logos--grouped .client-guest-turn,
.section-client-logos--grouped .client-guest.is-flipped .client-guest-turn {
  display: flex; flex: 1 1 auto; flex-direction: column; justify-content: center;
  height: auto; min-height: 104px; border-radius: 10px;
  border: 1px solid #e5e3e9; background: #fff; transition: border-color .18s ease;
}
.section-client-logos--grouped .client-guest-turn:hover { border-color: #aaa8c6; }
.section-client-logos--grouped .client-guest:not(.is-flipped) .client-guest-turn:is(:hover, :focus-visible) .client-guest-mark {
  box-shadow: none; animation: none; transform: none;
}
.section-client-logos--grouped .client-guest-turn:focus-visible { outline: 3px solid #6663b1; outline-offset: 3px; }
.section-client-logos--grouped .client-guest-rotor,
.section-client-logos--grouped .client-guest.is-flipped .client-guest-rotor {
  display: block; height: auto; transform: none; transition: none;
}
.section-client-logos--grouped .client-guest-face {
  position: relative; inset: auto; min-height: 102px; padding: 16px;
  border-radius: 9px; transform: none; backface-visibility: visible;
}
.section-client-logos--grouped .client-guest-face--front .client-guest-mark {
  display: flex; align-items: center; justify-content: center; width: 100%; height: 70px;
  background: transparent; border-radius: 0; box-shadow: none; animation: none;
}
.section-client-logos--grouped .client-guest-logo {
  position: static; inset: auto; display: block; width: 100%; height: var(--logo-height);
  max-width: var(--logo-width); max-height: none; object-fit: contain; object-position: center;
  filter: none; transform: none;
}
/* Tall seals occupy more height; heavy wordmarks get a little more breathing room. */
.section-client-logos--grouped .client-guest:is([data-logo="doubletree"], [data-logo="washington-university"]) { --logo-height: 66px; }
.section-client-logos--grouped .client-guest:is([data-logo="missouri-botanical-garden"], [data-logo="glass-factory"]) { --logo-height: 68px; }
.section-client-logos--grouped .client-guest[data-logo="wtc-stl"] { --logo-height: 78px; }
.section-client-logos--grouped .client-guest[data-logo="lockton"] { --logo-width: 126px; --logo-height: 58px; }
.section-client-logos--grouped .client-guest:is([data-logo="clayco"], [data-logo="lewis-rice"]) { --logo-width: 148px; }
.section-client-logos--grouped .client-guest[data-logo="husch-blackwell"] { --logo-width: 176px; }
.section-client-logos--grouped .client-guest-face--back { display: none; background: #fff; gap: 8px; }
.section-client-logos--grouped .client-guest.is-flipped .client-guest-face--front { display: none; }
.section-client-logos--grouped .client-guest.is-flipped .client-guest-face--back { display: flex; }
.section-client-logos--grouped .client-guest-face--back .client-guest-name { color: #272578; font-size: 14px; overflow-wrap: anywhere; }
.section-client-logos--grouped .client-spot-note {
  display: block; overflow: visible; -webkit-line-clamp: unset; max-width: none;
  color: #474451; font-size: 14px; font-weight: 400; line-height: 1.45; overflow-wrap: anywhere;
}
/* Opening one note never dims or enlarges unrelated organizations. */
.section-client-logos--grouped.section.section-client-logos::after { display: none; }
.section-client-logos--grouped.section.section-client-logos:has(.client-guest.is-flipped) :is(.section-head, .client-logos-actions, .client-guest),
.section-client-logos--grouped .client-guest.is-flipped { opacity: 1; transform: none; filter: none; }
.section-client-logos--grouped .client-logos-actions { margin-top: 28px; }
/* Groups of four or eight always form complete rows, including tablets. */
@media (max-width: 759px) {
  .section-client-logos--grouped .client-guest-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-client-logos--grouped .client-guest-list > .client-guest:nth-child(n + 7) { display: flex; }
}
@media (max-width: 599px) {
  .section-client-logos--grouped .client-guest-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .section-client-logos--grouped .client-logo-groups { gap: 22px; }
  .section-client-logos--grouped .client-group-title { gap: 10px; }
  .section-client-logos--grouped .client-guest-face { padding: 12px; }
  .section-client-logos--grouped .client-guest-face--front .client-guest-mark { height: 70px; }
}
@media (prefers-reduced-motion: reduce) {
  .section-client-logos--grouped .client-guest-turn { transition: none; }
}
