.graduates-map {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 20px;
  text-align: center;
}

.title {
  font-size: 42px;
  font-weight: 800;
  margin-bottom: 50px;
}

.title span {
  color: #1aa3d9;
}

.map-wrapper {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.map {
  width: 100%;
  height: auto;
}

.marker {
  position: absolute;
  background: #ffc83d;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  padding: 6px 14px;
  border-radius: 20px;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  animation: pulse 2s infinite;
  cursor: default;
}

.marker::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  background: #ffc83d;
  border-radius: 50%;
}

@keyframes pulse {
  0% { transform: translate(-50%, -50%) scale(1); }
  50% { transform: translate(-50%, -50%) scale(1.05); }
  100% { transform: translate(-50%, -50%) scale(1); }
}

/* ===== Позиционирование ===== */

.canada { top: 25%; left: 30%; }
.russia { top: 18%; left: 77%; }
.turkey { top: 30%; left: 58%; }
.china { top: 30%; left: 75%; }

.australia { top: 70%; left: 88%; }
.germany { top: 23%; left: 50%; }
.netherlands { top: 29%; left: 48%; }
.israel { top: 36%; left: 57%; }

/* ===== Адаптив ===== */

@media (max-width: 768px) {
  .title {
    font-size: 26px;
  }

  .marker {
    font-size: 11px;
    padding: 5px 10px;
  }
}