/* Public client showcase. Images retain their original proportions. */
.clients-section { background: linear-gradient(180deg, #f7faff 0%, #eef4fb 100%); }
.clients-section .clients-heading { align-items: center; gap: 24px; margin-bottom: 32px; }
.clients-section .clients-heading > div:first-child { min-width: 0; }
.clients-section .clients-controls { flex: 0 0 auto; align-self: auto; }
.clients-section .clients-controls button {
  width: 46px; height: 46px; border-color: #d6e1ef;
  box-shadow: 0 3px 8px rgb(23 48 85 / 4%);
}
.clients-section .clients-controls button:disabled {
  opacity: .35; cursor: default; transform: none; background: #fff; color: #1f4b99;
}
.clients-section .clients-slider {
  --clients-per-view: 3;
  --clients-gap: 20px;
  width: 100%; min-width: 0; padding: 4px 0 18px;
  overflow-x: auto; overflow-y: hidden; scroll-padding: 0;
  overscroll-behavior-x: contain; overflow-anchor: none; border-radius: 18px;
}
.clients-section .clients-track {
  display: grid; grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--clients-per-view) - 1) * var(--clients-gap)) / var(--clients-per-view));
  gap: var(--clients-gap); width: 100%; align-items: stretch;
}
.clients-section .client-public-card {
  box-sizing: border-box; width: 100%; min-width: 0; min-height: 0;
  display: flex; flex-direction: column; gap: 0; padding: 6px;
  overflow: hidden; border: 1px solid #dce5f0; border-radius: 16px;
  background: #fff; box-shadow: 0 6px 14px rgb(23 48 85 / 5%);
  scroll-snap-align: start; transition: border-color 180ms ease, box-shadow 180ms ease;
}
.clients-section .client-public-card:hover {
  border-color: #b2c7e3; box-shadow: 0 8px 18px rgb(23 48 85 / 9%);
}
.clients-section .client-public-logo {
  position: relative; display: block; box-sizing: border-box;
  width: 100%; min-width: 0; height: auto; min-height: 0; aspect-ratio: 16 / 9;
  flex: 0 0 auto; padding: 0; overflow: hidden;
  background: #fff; border: 0; border-radius: 10px;
}
.clients-section .client-public-logo img {
  position: absolute; inset: 0; display: block;
  width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%;
  margin: 0; padding: 0; object-fit: contain; object-position: center;
}
.clients-section [hidden] { display: none; }
.clients-section button:focus-visible { outline: 3px solid #2773db; outline-offset: 3px; }
@media (max-width: 899px) {
  .clients-section .clients-slider { --clients-per-view: 2; --clients-gap: 16px; }
}
@media (max-width: 599px) {
  .clients-section .clients-heading { flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 20px; }
  .clients-section .clients-slider { --clients-per-view: 1; --clients-gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .clients-section .clients-slider { scroll-behavior: auto; }
  .clients-section .client-public-card { transition: none; }
}
