.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.02em;text-decoration:none;padding:var(--space-md) var(--space-xl);border:var(--border-width-thick) solid var(--color-black);border-radius:var(--border-radius);background-color:transparent;color:var(--color-black);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),transform var(--transition-base);-webkit-tap-highlight-color:transparent;white-space:nowrap}.btn:hover{background-color:var(--color-black);color:var(--color-white);transform:scale(1.02)}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-black);border-color:var(--color-black)}.btn-secondary{background-color:transparent;border-color:var(--color-black);color:var(--color-black)}.btn-secondary:hover{background-color:var(--color-black);color:var(--color-white)}.btn-ghost{border:none;background-color:transparent;color:var(--color-text-secondary);padding:var(--space-sm) var(--space-md)}.btn-ghost:hover{color:var(--color-text-primary);background-color:transparent;transform:none}.btn-sm{padding:var(--space-sm) var(--space-lg);font-size:var(--text-small)}.btn-lg{padding:var(--space-lg) var(--space-3xl);font-size:var(--text-body-lg)}.btn svg{width:1em;height:1em;transition:transform var(--transition-base)}.btn:hover svg{transform:translate(4px)}a.btn:after{display:none}.btn-group{display:flex;gap:var(--space-md);flex-wrap:wrap}@media (max-width: 767px){.btn{width:100%;justify-content:center}.btn-group{flex-direction:column}}@media (prefers-reduced-motion: reduce){.btn:hover,.btn:active{transform:none}}
