/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.9375rem;font-weight:600;line-height:1;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:all var(--dur-normal) var(--ease-out);white-space:nowrap;-webkit-tap-highlight-color:transparent}
.btn svg{flex-shrink:0;transition:transform var(--dur-fast)}
.btn:hover svg{transform:translateX(3px)}
.btn--primary{background:var(--color-brand-primary);color:#fff;border-color:var(--color-brand-primary);box-shadow:var(--shadow-blue)}
.btn--primary:hover{background:var(--color-blue-700);border-color:var(--color-blue-700);box-shadow:0 8px 28px rgba(41,82,224,.4)}
.btn--accent{background:var(--color-brand-accent);color:var(--color-grey-900);border-color:var(--color-brand-accent)}
.btn--accent:hover{background:var(--color-gold-500);border-color:var(--color-gold-500)}
.btn--secondary{background:transparent;color:var(--color-brand-primary);border-color:var(--color-brand-primary)}
.btn--secondary:hover{background:var(--color-blue-50)}
.btn--ghost{background:transparent;color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.4)}
.btn--ghost:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.7)}
.btn--ghost-dark{background:transparent;color:var(--color-grey-700);border-color:var(--color-grey-300)}
.btn--ghost-dark:hover{background:var(--color-grey-50);color:var(--color-grey-900)}
.btn--sm{padding:.5rem 1.25rem;font-size:.875rem}
.btn--lg{padding:1rem 2.25rem;font-size:1.0625rem}
.btn--xl{padding:1.125rem 2.75rem;font-size:1.125rem}
.btn--full{width:100%;justify-content:center}
