/* ── GOOD COMPANY — partner wave (light theme) ────────── */
.partners-section { padding-bottom: 0; }

.pw-container {
  width: 100%; height: 460px; overflow: hidden;
  position: relative; background: #f4f2ec; margin-top: 12px;
}
.pw-container::before,
.pw-container::after {
  content: ""; position: absolute; top: 0; bottom: 0;
  width: 16%; z-index: 10; pointer-events: none;
}
.pw-container::before { left:  0; background: linear-gradient(to right, #f4f2ec 30%, transparent 100%); }
.pw-container::after  { right: 0; background: linear-gradient(to left,  #f4f2ec 30%, transparent 100%); }

.pw-stage {
  --pointer-x: 50%; --pointer-y: 50%;
  position: relative; width: 100%; height: 100%;
  overflow: hidden; isolation: isolate;
  background: #f4f2ec;
  perspective: 1100px; touch-action: none; cursor: crosshair;
}
/* Cream top/bottom fade (replaces black vignette) */
.pw-stage::before {
  content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none;
  background: linear-gradient(to bottom, #f4f2ec 0%, transparent 14%, transparent 86%, #f4f2ec 100%);
}

.pw-deck { position: absolute; inset: 0; z-index: 2; transform-style: preserve-3d; }

/* Cards keep their dark colours — looks great on cream */
.pw-card {
  --focus: 0;
  position: absolute; top: 50%; left: 50%;
  width: clamp(150px, 13vw, 200px); aspect-ratio: .69;
  padding: clamp(8px, .78vw, 12px);
  border: 0; border-radius: clamp(10px, 1.05vw, 16px);
  color: #f3f0e9;
  background: linear-gradient(145deg, rgba(255,255,255,.045), transparent 34%), var(--card-color);
  box-shadow:
    0 calc(7px + var(--focus)*20px) calc(13px + var(--focus)*40px) rgba(0,0,0,calc(.18 + var(--focus)*.28)),
    inset 0 1px rgba(255,255,255,.06), inset 0 0 0 1px rgba(0,0,0,.18);
  appearance: none; outline: none;
  transform-style: preserve-3d; will-change: transform, opacity, filter; cursor: pointer;
}
.pw-card::after {
  content: ""; position: absolute; inset: 0;
  border: 1px solid rgba(255,255,255,calc(.035 + var(--focus)*.12));
  border-radius: inherit; pointer-events: none;
}
.pw-card:focus-visible::after { border-color: rgba(255,255,255,.72); box-shadow: 0 0 0 3px rgba(255,255,255,.12); }

.pw-portrait {
  position: relative; width: 100%; aspect-ratio: 1; overflow: hidden;
  border-radius: clamp(7px, .75vw, 11px);
  background: rgba(0,0,0,.22);
  box-shadow: inset 0 1px rgba(255,255,255,.04), inset 0 -16px 28px rgba(0,0,0,.1);
  transform: translateZ(7px);
  display: flex; align-items: center; justify-content: center; padding: 14%;
}
.pw-portrait img { width: 100%; height: 100%; max-height: 80%; object-fit: contain; filter: brightness(1.08) saturate(.9); }

.pw-identity {
  display: grid; place-items: center; gap: clamp(2px,.25vw,4px);
  margin-top: clamp(7px,.72vw,11px); text-align: center; transform: translateZ(8px);
}
.pw-name {
  max-width: 100%; overflow: hidden; color: rgba(255,255,255,.93);
  font-size: clamp(8px,.72vw,11px); font-weight: 500; line-height: 1.15;
  letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap;
  font-family: Montserrat, Arial, sans-serif;
}
.pw-role {
  max-width: 100%; overflow: hidden; color: rgba(255,255,255,.48);
  font-size: clamp(4px,.37vw,6px); line-height: 1.15; letter-spacing: -.01em;
  text-overflow: ellipsis; white-space: nowrap;
  font-family: Montserrat, Arial, sans-serif;
}
.pw-follow {
  margin-top: clamp(3px,.35vw,6px);
  padding: clamp(3px,.28vw,4px) clamp(9px,.85vw,13px);
  border: 1px solid rgba(255,255,255,.055); border-radius: 999px;
  color: rgba(255,255,255,.82); background: rgba(0,0,0,.82);
  box-shadow: 0 1px 2px rgba(0,0,0,.38);
  font-size: clamp(3px,.29vw,5px); font-weight: 700; line-height: 1;
  letter-spacing: .04em; text-transform: uppercase;
  font-family: Montserrat, Arial, sans-serif;
}

@media (max-width: 680px) {
  .pw-container { height: 520px; }
  .pw-card { width: clamp(135px,37vw,165px); }
}
