/* Buttons — one primary, one outline. No third variant unless content needs it. */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  font-family: var(--font-body);
  font-size: var(--text-support);
  font-weight: var(--weight-semibold);
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-sm);
  border: var(--border-width) solid transparent;
  cursor: pointer;
  transition: background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast);
  min-height: 44px; /* touch target */
  text-decoration: none;
  line-height: 1;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }

.btn--primary {
  background: var(--color-navy-900);
  color: var(--color-white);
}
.btn--primary:hover { background: var(--color-navy-800); }

.btn--outline {
  background: transparent;
  color: var(--color-navy-900);
  border-color: var(--color-navy-900);
}
.btn--outline:hover { background: var(--color-navy-900); color: var(--color-white); }

.btn--on-dark.btn--outline {
  color: var(--color-white);
  border-color: rgba(255,255,255,0.5);
}
.btn--on-dark.btn--outline:hover { background: var(--color-white); color: var(--color-navy-900); }
