.btn{--_bg:var(--color-cta);--_fg:var(--color-cta-contrast);justify-content:center;align-items:center;gap:var(--space-2xs);min-height:2.75rem;padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-weight-black);text-align:center;cursor:pointer;transition:transform var(--duration) var(--ease-lift), box-shadow var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out);border:2px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn>svg{flex:none;width:1.2em;height:1.2em}.btn--lg{min-height:3.25rem;padding:var(--space-sm) var(--space-xl);font-size:var(--text-lg)}.btn--block{width:100%}.btn:focus-visible{outline:2px solid var(--ring-focus);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--_bg);color:var(--_fg);box-shadow:var(--shadow-cta)}.btn--primary:hover{box-shadow:var(--shadow-cta-hover);transform:translateY(-2px)}.btn--primary:active{transform:translateY(0)}.btn--secondary{color:var(--color-ink);border-color:var(--color-line);background:0 0}.btn--secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn--ghost{color:var(--color-primary);padding-inline:var(--space-sm);background:0 0}.btn--ghost:hover{background:var(--color-primary-soft)}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn--primary:hover{transform:none}}
