/* Meaningful, local vector icons; accessible labels remain in the link text. */
.action-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  align-self: center;
  vertical-align: middle;
  color: inherit;
  background-color: currentColor;
  -webkit-mask: var(--action-icon) center / contain no-repeat;
  mask: var(--action-icon) center / contain no-repeat;
}
.icon-phone { --action-icon: url("/assets/icons/phone.svg"); }
.icon-whatsapp { --action-icon: url("/assets/icons/whatsapp.svg"); }
.icon-mail { --action-icon: url("/assets/icons/mail.svg"); }
.icon-location { --action-icon: url("/assets/icons/location.svg"); }
.icon-chat { --action-icon: url("/assets/icons/chat.svg"); }
.icon-read { --action-icon: url("/assets/icons/read.svg"); }
.icon-play { --action-icon: url("/assets/icons/play.svg"); }
.icon-services { --action-icon: url("/assets/icons/services.svg"); }
.button { justify-content: center; gap: 12px; }
.text-link, .hero-consult-link { gap: 10px; }
.hero .hero-actions .button, .header-contact .button { justify-content: center; gap: 12px; }
.contact-form .button { justify-content: center; gap: 12px; }
.contact-direct > a { gap: 12px; }
.hero-bottom .scroll-link { width: 44px; height: 44px; justify-content: center; }
.mobile-contact > a { justify-content: center; gap: 10px; }
.footer-links > a { display: inline-flex; align-items: center; }
.social-links > a > span:not(.action-icon) { font-size: inherit; color: inherit; }
@media (max-width: 760px) {
  .hero-portrait-led .hero-actions .button { gap: 8px; }
  .hero-actions .action-icon { width: 18px; height: 18px; flex-basis: 18px; }
}
