/* Vector icons inherit monochrome ink; no system emoji font is involved. */
.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  overflow: visible;
  vertical-align: -.125em;
  color: inherit;
  fill: none;
  pointer-events: none;
}

/* Keep the existing span wrappers, their sizes and hover transitions. */
.button > span:has(> .icon),
.text-link > span:has(> .icon),
.header-cta > span:has(> .icon),
.scroll-cue > span:has(> .icon),
.project-open,
.crosshair,
.client-flower,
.monogram-star,
.contact-star,
.contact-arrow,
.intro-star,
.method-register,
.method-center-mark {
  line-height: 1;
}
.dialog-close,
.dialog-image-controls > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mobile-nav > a > .icon { font-size: 18px; }
.footer-top > .icon { margin-left: .3em; }
.photo-mark > .icon { margin-left: .025em; }
