.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  padding: 0.9rem 2rem;
  transition: background var(--duration-base) var(--ease),
              color var(--duration-base) var(--ease),
              border-color var(--duration-base) var(--ease),
              opacity var(--duration-fast) var(--ease);
  white-space: nowrap;
  line-height: 1;
}
.btn--primary { background: var(--black); color: var(--white); border-color: var(--black); }
.btn--primary:hover { background: var(--gray-800); border-color: var(--gray-800); }
.btn--outline-white { background: transparent; color: var(--white); border-color: var(--white); }
.btn--outline-white:hover { background: var(--white); color: var(--black); }
.btn--outline-dark { background: transparent; color: var(--black); border-color: var(--black); }
.btn--outline-dark:hover { background: var(--black); color: var(--white); }
.btn--ghost-white { background: transparent; color: var(--white); border: none; border-bottom: 1px solid rgba(255,255,255,0.3); padding: 0.9rem 0; opacity: 0.75; }
.btn--ghost-white:hover { opacity: 1; border-bottom-color: var(--white); }
.btn--link { background: transparent; color: var(--black); border: none; padding: 0; text-decoration: underline; text-underline-offset: 4px; letter-spacing: 0.08em; }
.btn--link:hover { opacity: 0.6; }
.btn--lg { padding: 1.1rem 2.75rem; font-size: 0.78rem; }
.btn--sm { padding: 0.6rem 1.25rem; font-size: 0.68rem; }
