.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-9);
  align-items: start;
}

.contact-block__title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-body-strong);
  margin-bottom: var(--space-4);
}

.contact-block__desc {
  color: var(--color-body-strong);
  margin-bottom: var(--space-6);
  max-width: 460px;
  line-height: var(--line-height-relaxed);
}

.contact-list { display: grid; gap: var(--space-4); }
.contact-list__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  color: var(--color-body-strong);
}
.contact-list__icon {
  color: var(--color-orange);
  margin-top: 4px;
}
.contact-list__address { font-style: normal; line-height: var(--line-height-relaxed); }
.contact-list a:hover { color: var(--color-pink); }

.contact-map {
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  background: var(--color-bg-shaded);
}

.contact-section__title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-body-strong);
  margin-bottom: var(--space-4);
}
.contact-section__intro {
  color: var(--color-body-strong);
  max-width: 880px;
  margin-bottom: var(--space-5);
  line-height: var(--line-height-relaxed);
}

.hubs-grid {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  column-gap: var(--space-9);
  row-gap: var(--space-2);
  margin-top: var(--space-2);
}
.hub__label {
  font-weight: var(--font-weight-bold);
  color: var(--color-body-strong);
}
.hub__value { color: var(--color-body-strong); }

.contact-social {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-3);
}

@media (max-width: 900px) {
  .contact-layout { grid-template-columns: 1fr; }
  .hubs-grid { grid-template-columns: max-content max-content; }
}
