.btn{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);text-align:center;cursor:pointer;transition:background var(--transition-base), transform var(--transition-base);font-size:var(--font-size-base);border:none;text-decoration:none;display:inline-block}.cta-button,.btn-primary,.service-button{background:var(--color-accent);color:var(--text-white);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-base);border:none;padding:1.25rem 2.5rem}.cta-button:hover,.btn-primary:hover{background:var(--color-accent-hover);color:var(--text-white)}.email-button{background:var(--color-accent);color:var(--text-white);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-base);border:none;align-items:center;gap:.75rem;padding:1.25rem 2.5rem;display:inline-flex}.email-button:hover{background:var(--color-accent-hover)}.btn-secondary{color:var(--color-primary);border:2px solid var(--color-primary);background:0 0}.btn-secondary:hover{background:var(--color-primary);color:var(--text-white)}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active{transform:translateY(1px)}