/* ===== Contact ===== */

main > h1{
  font-family: "Cardo", serif;
  font-size: clamp(1.4rem, 3vw, 2rem);
  margin: 10px auto 6px;
  width: min(1120px, 92vw);
}

/* Общие ограничения изображений */
.section img{ max-width: 350px; height: auto; display: block; }

/* Intro */
.c-grid{
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: clamp(14px, 2.4vw, 26px);
  align-items: start;
}
.muted{ color: var(--muted); }

/* Map */
.map-card{
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}
.nl-map{ width: 100%; height: auto; display: block; }
.beacon .pulse{
  transform-origin: center;
  animation: pulseBeacon 2.6s ease-in-out infinite;
}
@keyframes pulseBeacon{
  0%{ transform: scale(1); opacity: .8; }
  100%{ transform: scale(2.2); opacity: 0; }
}

/* Contact points */
.cp-grid{ display: grid; grid-template-columns: 1fr; gap: 10px; }
.cards{
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(12px, 2vw, 20px);
}
.card{
  border: 1px solid var(--line); border-radius: var(--radius-xl);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  padding: 12px;
  cursor: pointer; outline: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover, .card:focus-visible{ transform: translateY(-2px); box-shadow: var(--shadow-md); }
.card h3{ margin: 0 0 6px; font-family: "Cardo", serif; }
.card .value{ margin: 0 0 4px; font-weight: 600; color: var(--ink); }
.card .hint{ margin: 0; color: var(--muted); font-size: .9rem; }

.copy-tip{
  min-height: 1.2em;
  color: var(--muted);
  margin-top: 2px;
}

/* Responsive */
@media (max-width: 992px){
  .c-grid{ grid-template-columns: 1fr; }
  .cards{ grid-template-columns: 1fr; }
}
