.contact-main {
  padding-block: clamp(28px, 4vw, 58px) clamp(44px, 7vw, 96px);
}

.contact-intro { margin-bottom: clamp(20px, 3vw, 38px); }
.contact-intro p { margin-top: 12px; color: var(--muted); }
.contact-intro .contact-residency { color: var(--wine); }

.contact-channels { font-style: normal; }
.contact-channels a {
  display: grid;
  grid-template-columns: minmax(85px, .48fr) minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: clamp(12px, 1.5vw, 20px) 0;
  border-top: 1px solid var(--line);
  text-decoration: none;
}
.contact-channels a:last-child { border-bottom: 1px solid var(--line); }
.contact-channels a:is(:hover, :focus-visible) { color: var(--wine); }
.contact-channels strong {
  font-size: clamp(16px, 1.8vw, 24px);
  font-weight: 500;
  letter-spacing: -.02em;
  overflow-wrap: anywhere;
}

.contact-order {
  margin-top: clamp(28px, 4vw, 54px);
  padding: clamp(16px, 4vw, 48px);
  border-radius: 20px;
  scroll-margin-top: calc(var(--header-row-height) + 12px);
}

.contact-order h2 { margin-bottom: clamp(16px, 3vw, 28px); }

@media (prefers-reduced-motion: no-preference) {
  .contact-intro, .contact-channels a {
    animation: contact-arrive 620ms cubic-bezier(.2,.7,.25,1) both;
  }

  .contact-channels a:nth-child(2) { animation-delay: 90ms; }
  .contact-channels a:nth-child(3) { animation-delay: 180ms; }
  .contact-channels a:nth-child(4) { animation-delay: 270ms; }

  @keyframes contact-arrive {
    from { opacity: 0; transform: translateY(13px); }
    to { opacity: 1; transform: none; }
  }
}
