/* Shared public-site buttons. Both sites load this component directly. */
.btn, .btn-link {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: var(--fs-sm);
  letter-spacing: -0.005em;
}
.btn {
  padding: 10px 18px;
  border: 1px solid var(--fg);
  background: var(--fg);
  color: var(--bg);
  border-radius: var(--r-1);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  position: relative;
  overflow: hidden;
  text-decoration: none;
  white-space: nowrap;
}
.btn-link {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  min-height: var(--s-7);
  color: var(--fg);
  text-decoration: none;
}
.btn-link .link-arrow { color: var(--fg-3); }
.btn::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1px solid transparent;
  border-radius: inherit;
  pointer-events: none;
  transition:
    inset 220ms var(--ease-out),
    border-color 180ms linear;
}
.btn:hover::after {
  inset: var(--s-1);
  border-color: var(--bg);
}

@media (prefers-reduced-motion: reduce) {
  .btn::after { transition: none; }
}
