.contact-section {
  padding: 72px 0;
  background: var(--color-white);
}

.contact-section .contact-section-container .contact-section-heading {
  margin: 0 0 28px;
  text-align: center;
}

.contact-section .contact-section-container .contact-section-heading .contact-section-title {
  margin: 0;
  font-size: var(--font-size-h2);
  line-height: var(--line-height-heading);
}

.contact-section .contact-section-container .contact-section-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(240px, 0.8fr) minmax(280px, 1fr);
  gap: 32px;
  align-items: stretch;
}

.contact-section .contact-section-container .contact-section-grid .contact-section-details {
  display: grid;
  align-content: center;
  gap: 22px;
}

.contact-section .contact-section-container .contact-section-grid .contact-section-details .contact-detail {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: start;
}

.contact-section .contact-section-container .contact-section-grid .contact-section-details .contact-detail .ui-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
}

.contact-section .contact-section-container .contact-section-grid .contact-section-details .contact-detail .ui-icon svg {
  width: 22px;
  height: 22px;
}

.contact-section .contact-section-container .contact-section-grid .contact-section-details .contact-detail .contact-detail-text {
  display: grid;
  gap: 4px;
  margin: 0;
  color: var(--color-ink);
  font-weight: 700;
  line-height: 1.45;
}

.contact-section .contact-section-container .contact-section-grid .contact-section-details .contact-detail .contact-detail-text .contact-detail-link {
  color: var(--color-accent-dark);
}

.contact-section .contact-section-container .contact-section-grid .contact-section-photo,
.contact-section .contact-section-container .contact-section-grid .contact-section-map {
  min-height: 220px;
  border-radius: var(--card-radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.contact-section .contact-section-container .contact-section-grid .contact-section-image {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
}

@media (max-width: 980px) {
  .contact-section .contact-section-container .contact-section-grid {
    grid-template-columns: 1fr;
  }

  .contact-section .contact-section-container .contact-section-grid .contact-section-photo,
  .contact-section .contact-section-container .contact-section-grid .contact-section-map,
  .contact-section .contact-section-container .contact-section-grid .contact-section-image {
    min-height: 260px;
  }
}
