.contacts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(var(--space-5), 2vw, var(--space-7));
}

.contacts__card {
  border-top: 4px solid var(--color-border);
}

.contacts__card:hover {
  transform: none;
  border-color: var(--color-border);
  border-top-color: var(--color-border);
  box-shadow: var(--shadow-sm);
}

.contacts__card--primary,
.contacts__card--primary:hover {
  border-color: var(--color-teal);
  border-top-color: var(--color-teal);
  box-shadow: var(--shadow-md);
}

.contacts__card .card__title {
  margin-bottom: var(--space-3);
  font-family: var(--font-body);
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-teal);
}

.contacts__number,
.contacts__link,
.contacts__address {
  display: block;
  margin-bottom: var(--space-4);
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--color-petrol-deep);
}

.contacts__number {
  font-size: clamp(1.45rem, 1.2rem + 0.9vw, 1.85rem);
}

.contacts__link {
  font-size: clamp(1.1rem, 1.02rem + 0.4vw, 1.32rem);
  overflow-wrap: anywhere;
}

.contacts__address {
  font-size: clamp(1.05rem, 1rem + 0.3vw, 1.22rem);
}

.contacts__card--primary .card__text {
  margin-bottom: var(--space-6);
}

.contacts__action {
  margin-top: auto;
}
