/* Shared contact cue: a compact brand-purple chevron with soft, downward echoes. */
.contact-jump-wrap { max-width: 1240px; margin: -30px auto 0; padding: 0 40px 19px; }
/* Halve the measured artwork-to-contact gap: 136→68 px desktop, 81→40.5 px mobile. */
.contact-jump-wrap + #contacts.contact-section-refresh { margin-top: 45px; }
.contact-jump {
  /* Final approved cue color; the email glyph keeps its separate gold accent. */
  --contact-cue-accent: #905BFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 13px;
  min-height: 0;
  padding: 18px 0 4px;
  border-radius: 20px;
  color: var(--contact-cue-accent);
  text-align: center;
  text-decoration: none;
}
.contact-jump__label { color: #7542c8; font-size: 15px; line-height: 1.6; font-weight: 500; letter-spacing: -.2px; }
/* Exactly one third of the former 58% width; click area remains generous. */
.contact-jump__art { display: block; width: calc(58% / 3); max-width: 240px; height: auto; overflow: visible; }
.contact-jump__art path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform-box: view-box;
  transform-origin: 50% 0;
}
.contact-jump__main { opacity: 1; }
.contact-jump__art .contact-jump__wave { opacity: 0; stroke-width: 1.25; }
.contact-jump.is-visible .contact-jump__wave { animation: contact-cue-echo 2.8s ease-out infinite; }
.contact-jump.is-visible .contact-jump__wave--second { animation-delay: .24s; }
.contact-jump.is-visible .contact-jump__wave--third { animation-delay: .48s; }
.contact-jump:hover .contact-jump__label { color: #6c3cdd; text-decoration: underline; text-underline-offset: 5px; }
.contact-jump:focus-visible { outline: 2px solid #905BFF; outline-offset: 5px; }
/* The handset's sequential signal effect, without moving or blinking the main sign. */
@keyframes contact-cue-echo {
  0% { opacity: 0; transform: translateY(3px) scaleX(.96); }
  16% { opacity: .46; }
  70%, 100% { opacity: 0; transform: translateY(104px) scaleX(1.06); }
}
@media (max-width:1100px) { .contact-jump-wrap { padding-left: 30px; padding-right: 30px; } }
@media (min-width:2400px) { .contact-jump-wrap + #contacts.contact-section-refresh { margin-top: 60px; } }
@media (max-width:800px) { .contact-jump-wrap + #contacts.contact-section-refresh { margin-top: 22.5px; } }
@media (max-width:600px) {
  .contact-jump-wrap { margin-top: -20px; padding-bottom: 14px; }
  .contact-jump { gap: 14px; min-height: 0; }
  .contact-jump__label { font-size: 14px; }
  .contact-jump__art { width: calc(76% / 3); min-height: 44px; }
}
@media (max-width:520px) { .contact-jump-wrap { padding-left: 18px; padding-right: 18px; } }
@media (prefers-reduced-motion:reduce) {
  .contact-jump .contact-jump__wave { animation: none!important; opacity: 0; transform: none; }
}
