/* GEOWINGS — Klanten & Partners carousel */
.gw-partners {
  --gw-partners-cyan: #00d6dc;
  position: relative;
  overflow: hidden;
  padding: 58px 0 54px;
  border-top: 1px solid rgba(0,214,220,.22);
  background: linear-gradient(180deg, #061b20 0%, #031115 100%);
}
.gw-partners * { box-sizing: border-box; }
.gw-partners-heading { margin: 0 20px 34px; text-align: center; }
.gw-partners-heading .gw-eyebrow {
  margin: 0 0 10px;
  color: var(--gw-partners-cyan);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .28em;
}
.gw-partners-heading h2 {
  margin: 0;
  color: #f5fbfc;
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.15;
  font-weight: 750;
}
.gw-partners-heading h2 span { color: var(--gw-partners-cyan); }
.gw-partners-window {
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 4%, #000 96%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 4%, #000 96%, transparent 100%);
}
.gw-partners-track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: gw-partners-marquee 58s linear infinite;
  will-change: transform;
}
.gw-partners-window:hover .gw-partners-track,
.gw-partners-window:focus-within .gw-partners-track { animation-play-state: paused; }
.gw-partner-logo {
  display: flex;
  flex: 0 0 190px;
  width: 190px;
  height: 100px;
  align-items: center;
  justify-content: center;
  margin: 0 13px;
  padding: 12px 16px;
  border: 1px solid rgba(0,214,220,.22);
  border-radius: 12px;
  background: rgba(255,255,255,.97);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.gw-partner-logo:hover {
  transform: translateY(-4px);
  border-color: var(--gw-partners-cyan);
  box-shadow: 0 8px 24px rgba(0,214,220,.17);
}
.gw-partner-logo a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.gw-partner-logo img {
  display: block;
  max-width: 100%;
  max-height: 72px;
  width: auto;
  height: auto;
  object-fit: contain;
}
@keyframes gw-partners-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (max-width: 700px) {
  .gw-partners { padding: 44px 0 40px; }
  .gw-partners-heading { margin-bottom: 26px; }
  .gw-partner-logo { flex-basis: 150px; width: 150px; height: 82px; margin: 0 9px; padding: 10px 12px; }
  .gw-partner-logo img { max-height: 60px; }
  .gw-partners-track { animation-duration: 48s; }
}
@media (prefers-reduced-motion: reduce) {
  .gw-partners-track { animation: none; }
  .gw-partners-window { overflow-x: auto; }
}
