#contacts { scroll-margin-top: 2rem; }
.contact-details {
  display: grid;
  grid-template-columns: 1fr .8fr 1.5fr;
  gap: 2rem;
  margin: 3rem 0 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
  font-style: normal;
}
.contact-details > div { min-width: 0; }
.contact-label {
  display: block;
  margin-bottom: .7rem;
  color: var(--muted);
  font-size: .875rem;
}
.contact-details strong, .contact-details a {
  font-size: clamp(1rem, 1.4vw, 1.4rem);
  line-height: 1.5;
  font-weight: 700;
}
.contact-details a {
  display: inline-block;
  padding-block: .3rem;
  color: var(--red);
  text-decoration-thickness: 1px;
  text-underline-offset: .3rem;
  overflow-wrap: anywhere;
}
.contact-details a:hover { color: var(--wine); }
.contact-details a:focus-visible { outline: 2px solid var(--red); outline-offset: 5px; }
#contacts .location { position: static; margin-top: 2rem; }
@media (min-width: 861px) and (max-width: 1100px) {
  .site-header { padding-inline: 3vw; }
  .site-header nav { gap: 1rem; }
  .contact-details { grid-template-columns: 1fr 1fr; }
  .contact-details > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .contact-details { grid-template-columns: 1fr; gap: 1.5rem; }
  .contact-details strong, .contact-details a { font-size: 1.125rem; }
}
