/* ── PARTNERS — fullwidth view ───────────────────────── */

/* Header */
.partners--fullwidth .partners-fw-header {
  padding: 80px var(--page-px) 48px;
}
.partners-fw-header__inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.partners-fw-header__content { flex: 1; min-width: 260px; }
.partners--fullwidth .partners-title { margin-bottom: 12px; }
.partners--fullwidth .partners-sub   { margin-bottom: 24px; max-width: 560px; }
.partners--fullwidth .partners-cta-secondary { margin-bottom: 0; }
.partners--fullwidth .partners-filter { align-self: flex-end; flex-shrink: 0; }

/* Full-width map */
.partners-map--fw {
  position: relative;
  width: 100%;
  height: clamp(360px, 48vh, 520px);
}

/* Card grid */
.partners-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--gray-70);
}
.partner-card {
  padding: 28px 28px 32px;
  border-right: 1px solid var(--gray-70);
  border-bottom: 1px solid var(--gray-70);
  cursor: pointer;
  transition: background 0.18s;
  outline: none;
}
.partner-card:nth-child(4n) { border-right: none; }
.partner-card:hover,
.partner-card:focus-visible { background: rgba(255, 255, 255, 0.03); }
.partner-card:focus-visible { box-shadow: inset 0 0 0 2px var(--yellow); }

/* Badge row */
.partner-card__badge {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}
.partner-card__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.partner-card__dot--office  { background: var(--yellow); }
.partner-card__dot--partner { background: var(--white); }
.partner-card__type-label {
  font-family: 'Space Mono', monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gray-40);
  flex: 1;
}
.partner-card__cc {
  font-family: 'Space Mono', monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gray-20);
}

/* Card content */
.partner-card__name {
  font-family: 'Geist', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--white);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 10px;
}
.partner-card__address {
  font-size: 12px;
  font-weight: 300;
  color: var(--gray-40);
  line-height: 1.6;
  margin-bottom: 16px;
}
.partner-card__links {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.partner-card__links a {
  font-size: 12px;
  font-weight: 400;
  color: var(--yellow);
  text-decoration: none;
}
.partner-card__links a:hover { text-decoration: underline; }

/* Responsive */
@media (max-width: 1199px) {
  .partners-grid { grid-template-columns: repeat(3, 1fr); }
  .partner-card:nth-child(4n) { border-right: 1px solid var(--gray-70); }
  .partner-card:nth-child(3n) { border-right: none; }
}
@media (max-width: 1023px) {
  .partners--fullwidth .partners-fw-header { padding: 64px 40px 40px; }
  .partners-fw-header__inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
  .partners-grid { grid-template-columns: repeat(2, 1fr); }
  .partner-card:nth-child(3n) { border-right: 1px solid var(--gray-70); }
  .partner-card:nth-child(2n) { border-right: none; }
}
@media (max-width: 599px) {
  .partners--fullwidth .partners-fw-header { padding: 56px clamp(18px, 5vw, 32px) 32px; }
  .partners-grid { grid-template-columns: 1fr; }
  .partner-card { border-right: none; }
  .partners-map--fw { height: 260px; }
}
