    .page {
      max-width: 1200px;
      margin: 0 auto;
      padding: 40px 20px 60px;
    }

    h1 {
      font-size: 28px;
      margin-bottom: 32px;
      font-weight: 600;
    }

    h2 {
      font-size: 22px;
      margin: 48px 0 24px;
      font-weight: 600;
      text-align: center;
    }

    /* Grid */
    .contacts-row {
      display: flex;
      flex-wrap: wrap;
      margin: 0 -12px 24px;
    }

    .contact-col {
      padding: 0 12px;
      box-sizing: border-box;
      width: 100%;
      margin-bottom: 20px;
    }

/* 2 per row on screens 600px and above, 1 per row below 600px */
@media (min-width: 600px) {
  .contact-col { width: 50%; }
}

@media (max-width: 599px) {
  .contact-col { width: 100%; }
}



    /* Card */
    .contact-card {
      display: flex;
      align-items: center;
      gap: 14px;
      background: #ffffff;
      border-radius: 12px;
      padding: 14px;
	  position: relative;
      box-shadow: 0 6px 18px rgba(18, 28, 45, 0.06);
      transition: transform .18s ease, box-shadow .18s ease;
      border: 1px solid rgba(18,28,45,0.04);
	  z-index: 1;
    }

    .contact-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 30px rgba(18, 28, 45, 0.09);
	  z-index: 1000;
    }

    /* Photo */
    .contact-photo-wrap {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      overflow: hidden;
      background: #e5e7eb;
      flex-shrink: 0;
    }

    .contact-photo {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    /* Text */
    .contact-body {
      min-width: 0;
    }

    .contact-name {
      margin: 0 0 6px;
      font-size: 16px;
      font-weight: 600;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .contact-email {
      font-size: 13px;
      color: #0b66c2;
      text-decoration: none;
      display: block;
      word-break: break-all;
    }

    .contact-email:hover {
      text-decoration: underline;
    }

    .contact-phone {
      margin: 2px 0 0;
      font-size: 14px;
      color: #4b5563;
      font-weight: 500;
    }

    /* Divider */
    .divider {
      margin: 50px auto 10px;
      max-width: 700px;
      border-top: 2px solid rgba(18,28,45,0.08);
    }

    .city {
      text-align: center;
      margin: 12px 0 32px;
      font-size: 20px;
      font-weight: 600;
    }
	
	/* --- Hover image preview --- */

	/* Ensure hover previews are not clipped */
	.contacts-row,
	.contact-col {
	  overflow: visible;
	}

	/* Card stacking context */
	.contact-card {
	  position: relative;
	  z-index: 1;
	}

	/* Hover preview */
	.contact-photo-preview {
	  position: absolute;
	  top: 100%;
	  left: 90px;
	  transform: translateY(-50%) scale(0.95);
	  opacity: 0;
	  pointer-events: none;
	  z-index: 9999;
	  transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.contact-photo-preview img {
	  width: 300px;
	  max-width: 300px;
	  height: auto;
	  border-radius: 12px;
	  background: #fff;
	  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
	  border: 1px solid rgba(0,0,0,0.08);
	}

	/* Show on hover */
	.contact-card:hover .contact-photo-preview {
	  opacity: 1;
	  transform: translateY(-4px) scale(1);
	}

	/* Disable on small screens */
	@media (max-width: 900px) {
	  .contact-photo-preview {
		display: none;
	  }
	}
